diff --git a/client/src/locales/de.json b/client/src/locales/de.json index fe6b32a23..d38496cb4 100644 --- a/client/src/locales/de.json +++ b/client/src/locales/de.json @@ -107,10 +107,52 @@ }, "theme": { "title": "Thema", + "style": { + "label": "Stil", + "hint": "Das Gesamtbild der App. Modus, Akzenten, Ecken und Hintergrund behalten ihre Einstellungen.", + "bookorbit": { + "label": "Buch-Orbit", + "description": "Gefärbte Oberflächen, Glasplatten und Serifenüberschriften." + }, + "nostalgia": { + "label": "Nostalgia", + "description": "Neutraler Boden, Systemtyp, flache Paneele und ein Oberglühen." + } + }, "colorScheme": { "label": "Farbschema", "hint": "Helle oder dunkle Oberfläche" }, + "surfacePalette": { + "label": "Oberfläche", + "hint": "Der neutrale Boden hinter Paneele und Karten.", + "palettes": { + "onyx": "Onyx", + "carbon": "Kohlenstoff", + "neutral": "Neutral", + "zinc": "Zink", + "iron": "Eisen", + "steel": "Stahl", + "ash": "Asche", + "smoke": "Rauch", + "charcoal": "Holzkohle", + "slate": "Schiefer", + "midnight-blue": "Mitternachtsblau", + "ocean": "Ozean", + "pine": "Kiefer", + "olive": "Olivenöl", + "stone": "Stein", + "sepia": "Sepia", + "crimson": "Crimson", + "plum": "Pflaum" + } + }, + "topGlow": { + "label": "Oben leuchten", + "hint": "Wie weit der Akzent die Seite hinunterreicht. Wischen Sie den ganzen Weg nach links, um ihn auszuschalten.", + "value": "{value}%", + "off": "Aus" + }, "accents": { "grey": "Grau", "scarlet": "Scharlachrot", @@ -183,7 +225,13 @@ }, "cornerRadius": { "label": "Eckenradius", - "hint": "Rundung von Karten und UI-Elementen" + "hint": "Rundung von Karten und UI-Elementen", + "options": { + "sharp": "Scharf", + "default": "Standard", + "rounded": "Abgerundet", + "pill": "Pill" + } }, "surfaceBrightness": { "label": "Oberflächenhelligkeit", @@ -202,7 +250,8 @@ "structural": "Strukturell", "ambient": "Ambient", "refractive": "Lichtbrechend" - } + }, + "syncSaveFailed": "Fehler beim Speichern der Theme-Einstellungen" }, "storage": { "title": "Wo Darstellungseinstellungen gespeichert werden sollen", @@ -234,6 +283,21 @@ "loadError": "Fehler beim Laden des Standard-Cover-Suchanbieters", "saveError": "Fehler beim Speichern des Standard-Cover-Suchanbieters" }, + "placeholderStyle": { + "title": "Platzhalterstil", + "hint": "Bücher ohne Cover werden in diesem Stil gezeichnet.", + "options": { + "bauhaus": "Bauhaus", + "constructivist": "Konstruktivist", + "memphis": "Memphis", + "clothbound": "Kleidung", + "poster": "Poster", + "aurora": "Aurora", + "vista": "Antares", + "marbled": "Marmoriert", + "paperback": "Paperback" + } + }, "displayMode": { "title": "Cover-Anzeigemodus", "hint": "Steuert, wie echte Cover in Buchplätze passen, wenn sich die Seitenverhältnisse unterscheiden", @@ -1216,6 +1280,11 @@ "portrait": "2:3 Porträt", "square": "1:1 Quadrat" }, + "gridShape": "Rasterform", + "gridShapeValue": { + "tall": "Hohe Zellen", + "square": "Quadratische Zellen" + }, "none": "Keine", "allSupported": "Alle unterstützt", "patternCount": "{count, plural, one {# Muster} other {# Muster}}", @@ -1518,7 +1587,132 @@ "subtitle": "Hochladen von Schriftarten, die jeder Benutzer im eBook-Reader auswählen kann, ohne eigene hochzuladen.", "listLabel": "Server-Schriftarten", "noFontsYet": "Noch keine Server-Schriftarten", - "noFontsHint": "Schriftarten, die Sie hier hinzufügen, erscheinen in jedem Reader des Benutzers." + "noFontsHint": "Schriftarten, die Sie hier hinzufügen, erscheinen in jedem Reader des Benutzers.", + "addFonts": "Schriftarten hinzufügen", + "filterLabel": "Familien filtern", + "filterPlaceholder": "Familien filtern", + "filterClear": "Filter löschen", + "noMatches": "Keine Familien passend “{query}”", + "previewLabel": "Vorschau des Textes", + "previewPlaceholder": "Geben Sie eine Vorschau in jeder Familie ein", + "previewSize": "Vorschaugröße", + "previewSizeOption": "{size} px", + "familiesUnit": "{count, plural, one {Familie} other {Familien}}", + "filesOfMax": "{count} von {max} Dateien", + "onDisk": "{size} auf der Festplatte", + "columns": { + "family": "Familie", + "specimen": "Exemplare", + "styles": "Styles", + "readers": "Leser" + }, + "fileSummary": "{count, plural, one {# Datei} other {# Dateien}} · {size}", + "newBadge": "Neu", + "styles": { + "single": "Nur {style}", + "many": "{count} styles", + "manyNoItalics": "{count} styles, no italics" + }, + "facts": { + "books": "{count, plural, one {Über # Buch} other {Über # Bücher}}", + "booksDetail": "{books, plural, one {Set on # book} other {Set on # books}} by {readers, plural, one {# reader} other {# readers}}", + "defaults": "{count, plural, one {Standard für # Leser} other {Standard für # Leser}}", + "hidden": "{count, plural, one {Versteckt von # Leser} other {Versteckt von # Lesern}}" + }, + "moreActions": "Mehr für {name}", + "menu": { + "rename": "Familie umbenennen", + "addFiles": "Dateien hinzufügen", + "remove": "Familie entfernen…" + }, + "footerHint": "Jeder Leser sieht diese in der Schriftartenliste des Lesers und kann sie unter Leser › Schriftarten ausblenden.", + "empty": { + "dropHint": "oder Dateien überall auf dieser Seite ablegen", + "tip": "Eine Familie liest am besten vier Dateien: Regular, Italic, Fold und Fold Italic." + }, + "drop": { + "title": "{count, plural, one {Drop um # Datei für jeden Leser hinzuzufügen} other {Drop um # Dateien für jeden Leser hinzuzufügen}}" + }, + "upload": { + "ariaLabel": "Upload-Fortschritt", + "title": "{count, plural, one {Füge # Datei} other {Füge # Dateien hinzu}}", + "progress": "{done} von {total} erledigt", + "addedCount": "{count} hinzugefügt", + "duplicateCount": "{count} bereits hier", + "refusedCount": "{count} nicht hinzugefügt", + "dismiss": "Verwerfen", + "newFamily": "neue Familie", + "states": { + "queued": "Warten", + "uploading": "Hochladen", + "added": "Hinzugefügt", + "duplicate": "Bereits auf dem Server", + "refused": "Nicht hinzugefügt", + "failed": "Fehler" + }, + "reasons": { + "tooLarge": "Größer als {maxMb} MB.", + "unsupportedType": "Keine Schriftdatei. Verwenden Sie TTF, OTF, WOFF oder WOFF2.", + "invalidFile": "Die Datei ist beschädigt oder ist nicht wirklich eine Schriftart.", + "faceTaken": "{familyName} hat bereits eine Datei mit diesem Gewicht und Stil.", + "limitReached": "Der Server enthält bereits {limit} Schriftdateien.", + "failed": "Upload fehlgeschlagen. Versuchen Sie es erneut." + } + }, + "sheet": { + "description": "Vorschau, Umbenennen und Verwalten der Dateien von {name}", + "variable": "Variable", + "preview": "Vorschau", + "pageColour": "Seitenfarbe", + "papers": { + "app": "App-Oberfläche", + "white": "Weiße Seite", + "sepia": "Sepia page", + "night": "Nacht-Seite" + }, + "previewHeading": "Der Garten der lebenden Blumen", + "previewParagraph1": "Alice sah sich höchst erstaunt um. „Aber ich glaube wirklich, wir sind die ganze Zeit unter diesem Baum gewesen! Alles ist genau wie vorher!“", + "previewParagraph2": "„Hier muss man nämlich so schnell rennen, wie man kann, um auf derselben Stelle zu bleiben. Wenn du woanders hinwillst, musst du mindestens doppelt so schnell rennen!“", + "styles": "Styles", + "stylesHint": "Was der Leser-Stil Zeile bietet", + "singleStyleNote": "Ein Stil, so dass die Leser keine Style-Zeile bekommen. Fettgedruckter und kursiver Text in Büchern wird vom Browser von {style} gefälscht.", + "inReader": "Im Leser", + "inReaderHint": "Die Schriftliste, die jeder Leser in den Reader › Einstellungen erhält, wobei {name} ausgewählt wird.", + "pickerLabel": "Vorschau der Leserschriftliste", + "files": "Dateien", + "filesUsed": "{count} von {max} auf diesem Server verwendet", + "fileDetail": "{summary} · {date} hinzugefügt", + "upright": "Aufrecht", + "italic": "Italic", + "fileActions": "Mehr für {name}", + "changeStyle": "Gewicht und Stil ändern", + "removeFile": "Datei entfernen", + "removeFileQuestion": "Diese Datei für jeden Leser löschen?", + "weight": "Gewicht", + "style": "Stil", + "name": "Familienname", + "nameHint": "Leser wählen Schriften mit diesem Namen.", + "nameHiddenWarning": "{count, plural, one {# Leser hat {name} ausgeblendet} other {# Leser haben {name} ausgeblendet}}; unter einem neuen Namen wird die Schriftart ihnen wieder angezeigt.", + "nameBooksWarning": "Ein neuer Name setzt {count, plural, one {das # Buch, das diese Schriftart verwendet} other {die # Bücher, die diese Schriftart verwenden}} auf die eigene Schriftart des Buches zurück.", + "readers": "Leser", + "stats": { + "books": "{count, plural, one {Buch verwendet es} other {Bücher verwenden es}}", + "defaults": "{count, plural, one {Leser Standard} other {Leser Standard}}", + "hidden": "{count, plural, one {Leser versteckten es} other {Leser versteckten es}}" + }, + "readersPrivacy": "Zählt nur. Welche Bücher und welche Leser bleiben privat.", + "removeLabel": "Familie entfernen", + "removeQuestion": "{name} für jeden Leser entfernen?", + "removeConsequenceBooks": "{books, plural, one {Sie ist bei # Buch eingestellt} other {Sie ist bei # Büchern eingestellt}} von {readers, plural, one {# Leser} other {# Lesern}}; diese Bücher wechseln zurück zur eigenen Schriftart des Buches.", + "removeConsequenceFiles": "{count, plural, one {Die zugehörige Datei wird vom Server gelöscht.} other {Alle # Dateien werden vom Server gelöscht.}}", + "loadFailedNote": "Dieser Browser konnte die Schriftartdatei nicht laden, so dass die Vorschaubilder ein Fallback-Gesicht zeigen. Leser-Browser werden es wahrscheinlich auch ablehnen; probieren Sie eine andere Kopie der Schriftart." + }, + "toasts": { + "removed": "{name} entfernt", + "removePartial": "{failed, plural, one {# Datei} other {# Dateien}} von {name} konnte nicht entfernt werden", + "renameTaken": "{name} hat bereits eine Datei mit dem gleichen Gewicht und Stil" + }, + "loadFailed": "Dieser Browser kann ihn nicht laden" } }, "common": { @@ -1672,6 +1866,92 @@ "inheritFromGlobal": "Von global übernehmen", "usingGlobalDefaults": "Verwendet globale Standardwerte.", "saveOverride": "Überschreibung speichern" + }, + "scope": { + "ownSettings": "{count, plural, one {# eigene Einstellung} other {# eigene Einstellungen}}", + "globalIntro": "Jede Bibliothek folgt dieser Regel, es sei denn, sie hat eine eigene Bibliothek.", + "globalCoverage": "{libraryCount, plural, one {Gilt für # Bibliothek} other {Gilt für # Bibliotheken}}, {bookCount, plural, one {# Buch} other {# Bücher}}.", + "ownLibraries": "Für {names} {count, plural, one {gilt eine eigene Regel.} other {gelten eigene Regeln.}}", + "libraryFollows": "{library} folgt der globalen Regel. Ändern Sie hier alles, um ihr zu geben.", + "libraryOwn": "{library} hat seine eigene Regel für {count, plural, one {# Einstellung} other {# Einstellungen}}Alles andere folgt der globalen Regel.", + "lastRun": "Letzter Lauf {when}, {count, plural, one {# Buch} other {# Bücher}} in der Warteschlange.", + "neverRun": "Noch nicht ausgeführt.", + "useGlobalRule": "Globale Regel verwenden", + "loadFailed": "Einstellungen konnten nicht geladen werden. Laden Sie die Seite neu, um es erneut zu versuchen.", + "saved": "Gespeicherter {scope}", + "saveFailed": "{scope} konnte nicht gespeichert werden. Versuche es erneut." + }, + "run": { + "all": "Für jede Bibliothek ausführen", + "library": "Für {library} ausführen", + "saveFirst": "Läuft verwendet die gespeicherte Regel. Speichern Sie zuerst.", + "failed": "Der Run konnte nicht gestartet werden. Versuchen Sie es erneut." + }, + "onImport": { + "label": "Metadaten für neue Bücher abrufen", + "hint": "Scans und Uploads von Warteschlangen, die zu den Büchern passen. Ein Abruf beim Import füllt nur leere Felder. Gesperrte Felder werden nicht geändert.", + "follow": "Global folgen", + "on": "An", + "off": "Aus" + }, + "columns": { + "books": "{count, plural, one {Buch} other {Bücher}}", + "ofTotal": "von {total}", + "off": "Aus", + "own": "Eigene", + "global": "Globale", + "useGlobal": "Globale Nutzung", + "globalValue": "Globale Regel: {value}", + "on": "An", + "scoreBelowValue": "Punktzahl unter {threshold}", + "neverFetchedSplit": "{count, plural, one {# noch nie abgerufen} other {# noch nie abgerufen}}", + "fetchedBeforeSplit": "{count, plural, one {# zuvor abgerufen} other {# zuvor abgerufen}}", + "lowScoreLabel": "Weniger Vertrauenswert", + "lowScoreHint": "Bücher abrufen, deren Konfidenzwert unter der Schlange steht.", + "outOf": "/ 100", + "lowerThreshold": "Untere den Schwellenwert", + "raiseThreshold": "Den Schwellenwert erhöhen", + "missingHint": "Rufe ab, wenn ein ausgewähltes Feld leer ist. Jedes Feld zeigt, wie viele Bücher fehlen.", + "audioGroup": "Bücher mit Audio", + "audioHint": "{count, plural, =0 {Keiner hier hat Audio.} one {Nur das # Buch mit Audio kann fehlen.} other {Nur die # mit Audio können diese fehlen.}}", + "fieldCount": "{field}: {count, plural, one {fehlt bei # Buch} other {fehlt bei # Büchern}}" + }, + "histogram": { + "label": "Vertrauenswert Schwellenwert", + "valueText": "Punktzahl unter {threshold}" + }, + "preview": { + "title": "Was ein Run abrufen würde", + "matching": "{matching, plural, one {# von {total} Büchern stimmt überein} other {# von {total} Büchern stimmen überein}}", + "showing": "{count, plural, one {zeigt die am wenigsten vollständige} other {zeigt die # am wenigsten vollständige}}", + "empty": "Kein Buch entspricht dieser Regel, also würde ein Run nichts in die Warteschlange stellen.", + "unknownAuthor": "Unbekannter Autor", + "score": "Punktzahl {score}", + "more": "+{count}", + "missing": { + "title": "Kein Titel", + "subtitle": "Kein Untertitel", + "description": "Keine Beschreibung", + "cover": "Kein Cover", + "audioCover": "Kein Audio-Cover", + "authors": "Keine Autoren", + "publisher": "Kein Herausgeber", + "isbn": "Keine ISBN", + "publishedYear": "Kein veröffentlichtes Jahr", + "language": "Keine Sprache", + "pageCount": "Keine Seitenanzahl", + "communityRating": "Keine Community-Bewertung", + "seriesName": "Kein Serienname", + "seriesIndex": "Kein Serien-Index", + "genres": "Keine Genres", + "narrators": "Keine Narratoren", + "duration": "Keine Dauer", + "abridged": "Abgebrochen nicht gesetzt" + } + }, + "queue": { + "progress": "{done} von {total}", + "failed": "{count, plural, one {# Buch konnte nicht abgerufen werden} other {# Bücher konnten nicht geholt werden}}" } }, "providers": { @@ -1767,7 +2047,8 @@ "overwriteTerm": "Überschreiben:", "overwriteBody": "Ersetzen, sobald ein Anbieter Daten liefert." }, - "summary": "Anbieter werden von oben nach unten probiert, der erste mit einem Wert zurückgibt wird ausgewählt. Die Merge-Strategie entscheidet, ob der Wert, den das Buch bereits hat, ersetzt wird; Genres können auch neue eindeutige Werte anhängen. Setzen Sie hier die Standardwerte und überschreiben Sie dann einzelne Felder pro Bibliothek." + "summary": "Anbieter werden von oben nach unten probiert, der erste mit einem Wert zurückgibt wird ausgewählt. Die Merge-Strategie entscheidet, ob der Wert, den das Buch bereits hat, ersetzt wird; Genres können auch neue eindeutige Werte anhängen. Setzen Sie hier die Standardwerte und überschreiben Sie dann einzelne Felder pro Bibliothek.", + "summaryByMedium": "Anbieter werden von oben bis unten versucht, und der erste mit einem Wert gewinnt; Genres im Merge-Modus und Community-Bewertungen kombinieren stattdessen jeden Anbieter. Die Merge Strategie entscheidet, ob ein Wert das ersetzt, was das Buch bereits hat. Audible, AudNexus und Libro. m nur Antwort für Bücher mit Audio, Lese-entlang EPUBs eingeschlossen, so dass sie zuerst bevorzugt Hörbuch-Metadaten ohne eBook zu berühren. Cover-Kunst der falschen Form füllt einen Slot nur, wenn nichts anderes kann. Eine Bibliothek ersetzt die gesamte Regel des Feldes." }, "libraryOverrides": { "title": "Bibliotheksüberschreibungen", @@ -1836,6 +2117,7 @@ }, "field": { "noProviders": "Aktiviert, aber ohne Anbieter", + "noUsableProvider": "Aktiviert, aber kein Anbieter kann es hier füllen", "empty": "Leer", "config": "Konfiguration", "custom": "Benutzerdefiniert", @@ -1894,7 +2176,11 @@ "disabled": "Deaktiviert", "notConfigured": "Nicht konfiguriert", "disabledDetail": "{provider} ist ausgeschaltet. Er bleibt in der Reihenfolge erhalten und wird übersprungen.", - "notConfiguredDetail": "{provider} hat noch keine Anmeldedaten. Er bleibt in der Reihenfolge erhalten und wird übersprungen." + "notConfiguredDetail": "{provider} hat noch keine Anmeldedaten. Er bleibt in der Reihenfolge erhalten und wird übersprungen.", + "neverSupplies": "Liefert dies nie", + "neverSuppliesDetail": "{provider} liefert dieses Feld nie, daher wird es hier übersprungen.", + "otherShape": "Andere Coverform", + "otherShapeDetail": "{provider} hat nur Cover der anderen Form, so dass es diesen Slot nur dann füllt, wenn nichts anderes kann." }, "detail": { "priority": "Anbieter-Priorität", @@ -1948,6 +2234,123 @@ "emptyHint": "Fügen Sie genaue Werte wie Hörbuch oder Erwachsene hinzu, um sie aus abgerufenen Metadaten herauszuhalten.", "removeLabel": "{genre} entfernen" }, + "searchCache": { + "loadFailed": "Konnte die Such-Cache-Einstellungen nicht laden.", + "retry": "Erneut versuchen", + "saved": "Suchcache Einstellungen gespeichert", + "saveFailed": "Fehler beim Speichern der Suchcache Einstellungen", + "units": { + "hours": "Stunden", + "days": "Tage" + }, + "general": { + "title": "Gespeicherte Antworten", + "enabled": "Anbieterantworten speichern", + "enabledHint": "Suchen, Massen-Aktualisierungen und Hintergrundabfragen werden gespeicherte Antworten wieder verwendet, anstatt jeden Anbieter erneut zu fragen.", + "resultsTtl": "Ergebnisse behalten für", + "resultsTtlHint": "Wie lange eine Antwort mit Ergebnissen wiederverwendet wird, bevor der Provider erneut gefragt wird.", + "resultsTtlUnit": "Ergebnis-Zeiteinheit", + "emptyTtl": "Leere Antworten behalten für", + "emptyTtlHint": "Wie lange ein Anbieter, der nichts findet, gespeichert wird. Gilt nur für Provider, die als Cache für leere Antworten markiert sind. 0 hält nie leere Antworten.", + "emptyTtlUnit": "Zeiteinheit für leere Antworten", + "staleGrace": "Verwende abgelaufene Antworten für", + "staleGraceHint": "Wenn ein Provider fehlschlägt, wird stattdessen eine Antwort bis zu dieser langen Zeit sein Ablaufdatum verwendet. 0 fällt nie zurück.", + "staleGraceUnit": "Zeiteinheit abgelaufene Antworten", + "storage": "Speicherbudget", + "storageHint": "Die ältesten Antworten werden entfernt, sobald die gespeicherten Antworten diese Größe überschreiten.", + "storageUnit": "MN" + }, + "providers": { + "title": "Per-Provider-Einstellungen", + "hint": "Lassen Sie ein Feld leer, um den obigen Wert zu verwenden. Deaktivieren Sie einen Anbieter, um ihn immer live zu fragen.", + "books": "Bücher", + "authors": "Autoren", + "none": "Keine Anbieter verfügbar.", + "globalOff": "Das Speichern von Antworten ist ausgeschaltet, also gelten diese Einstellungen, sobald sie wieder eingeschaltet sind.", + "on": "An", + "off": "Aus", + "enabledLabel": "Antworten von {provider} speichern", + "resultsTtl": "Ergebnisse behalten für", + "resultsTtlLabel": "{provider} Ergebnisse behalten für", + "resultsTtlUnitLabel": "Zeiteinheit für {provider} Ergebnisse", + "emptyTtl": "Leere Antworten behalten für", + "emptyTtlLabel": "Leere {provider} Antworten behalten für", + "emptyTtlUnitLabel": "Zeiteinheit für leere {provider} Antworten", + "noEmptyCaching": "Leere Antworten von diesem Anbieter werden nie gespeichert.", + "notCacheable": "Antworten von diesem Anbieter werden nie gespeichert.", + "reset": "{provider} auf die Standardwerte zurücksetzen" + }, + "validation": { + "required": "Geben Sie einen Wert ein.", + "wholeNumber": "Geben Sie eine ganze Zahl ein.", + "range": "Geben Sie einen Wert von {min} bis {max} ein.", + "tooManyOverrides": "Zu viele Anbieter haben ihre eigenen Einstellungen. Einige von ihnen zurücksetzen, um zu speichern." + }, + "save": { + "unsaved": "Ungespeicherte Änderungen", + "invalid": "Beheben Sie die markierten Felder zum Speichern", + "upToDate": "Alle Änderungen gespeichert", + "discard": "Verwerfen", + "action": "Speichern" + }, + "stats": { + "group": "Auslastung", + "title": "Gespeicherte Antworten", + "refresh": "Aktualisieren", + "loadFailed": "Konnte die Cache-Nutzung nicht laden.", + "storage": "Verwendeter Speicher", + "storageUsed": "{used} von {budget}", + "storageHint": "Größe der gespeicherten Antworten selbst. Die Tabelle auf der Festplatte ist größer.", + "entries": "Gespeicherte Antworten", + "emptyEntries": "Leere Antworten", + "diskSize": "Tabellengröße auf Festplatte", + "hitRate": "Trefferrate", + "requestsAvoided": "Anfragen vermieden", + "fallbacks": "Fallback", + "skippedWrites": "Übersprungene Schreiboperationen", + "oldest": "Älteste Antwort", + "none": "Noch keine", + "countersHint": "Trefferrate, Anfragen wurden vermieden, fallbacks und die Anzahl der Schreibvorgänge seit dem letzten Start des Servers übersprungen.", + "perProvider": "Gespeicherte Antworten vom Anbieter", + "provider": "Anbieter", + "kind": "Typ", + "size": "Größe", + "empty": "Es ist noch nichts gespeichert." + }, + "clear": { + "group": "Wartung", + "title": "Gespeicherte Antworten löschen", + "regionHint": "Anbieter können anders nach Ort antworten. Leeren Sie den Cache nach dem Verschieben des Servers in eine andere Region oder VPN.", + "action": "Leeren", + "failed": "Fehler beim Löschen der gespeicherten Antworten", + "done": "{count, plural, one {# gespeicherte Antwort entfernt} other {# gespeicherte Antworten entfernt}}", + "donePending": "{count, plural, one {# gespeicherte Antwort entfernt. Der Rest wird im Hintergrund entfernt.} other {# gespeicherte Antworten. Der Rest wird im Hintergrund entfernt.}}", + "empty": { + "label": "Nur leere Antworten löschen", + "hint": "Vergisst, dass Anbieter nichts gefunden haben, daher fragen diese Suchanfragen erneut.", + "confirmTitle": "Leere Antworten leeren?", + "confirmDescription": "Gespeicherte Antworten, bei denen ein Anbieter nichts gefunden hat, werden entfernt. Antworten mit Ergebnissen werden beibehalten." + }, + "book": { + "label": "Buchantworten löschen", + "hint": "Entfernt alles gespeicherte von Buchanbietern.", + "confirmTitle": "Antworten auf das Buch löschen?", + "confirmDescription": "Jede gespeicherte Antwort von Buchanbietern wird entfernt. Bei den nächsten Suchvorgängen werden diese Anbieter erneut gefragt." + }, + "author": { + "label": "Autorenantworten löschen", + "hint": "Entfernt alles gespeicherte von Autorenanbietern.", + "confirmTitle": "Autorenantworten löschen?", + "confirmDescription": "Jede gespeicherte Antwort von Anbietern des Autors wird entfernt. Bei den nächsten Suchvorgängen werden diese Anbieter erneut gefragt." + }, + "all": { + "label": "Alle gespeicherten Antworten löschen", + "hint": "Leert den Cache. Jeder Provider wird bei der nächsten Suche erneut gefragt.", + "confirmTitle": "Alle gespeicherten Antworten löschen?", + "confirmDescription": "Der gesamte Cache ist geleert. Die Suche wird langsamer, bis sie wieder ausgefüllt ist, und es bleibt nichts übrig, auf das ein Anbieter zurückgreifen kann, wenn ein Anbieter nicht mehr erreichbar ist." + } + } + }, "customFields": { "label": "Bezeichnung", "labelPlaceholder": "z. B. Originaltitel", @@ -1996,7 +2399,145 @@ "selectAll": "Alle auswählen", "clear": "Löschen", "noLibraries": "Noch keine Bibliotheken verfügbar.", - "allLibraries": "Alle Bibliotheken" + "allLibraries": "Alle Bibliotheken", + "pageFacts": "{fields, plural, one {# Feld} other {# Felder}} · {values, plural, one {# Wert gespeichert} other {# Werte gespeichert}}", + "newFieldAction": "Neues Feld", + "views": { + "label": "Aktive oder archivierte Felder anzeigen", + "active": "Aktiv", + "archived": "Archiviert" + }, + "columns": { + "order": "Sortierung", + "field": "Feld", + "type": "Typ", + "libraries": "Bibliotheken", + "filled": "Gefüllt", + "valuesKept": "Werte behalten", + "archived": "Archiviert", + "actions": "Aktionen" + }, + "orderHint": "Ziehen Sie, um die Sortierfelder festzulegen, erscheinen in Metadaten bearbeiten, in Tabellenspalten und in Exporten.", + "archivedHint": "Archivierte Felder werden aus Büchern, Filtern und Exporten ausgeblendet. Ihre Werte bleiben bis das Feld gelöscht ist.", + "coverage": "{filled} von {total}", + "coverageAria": "{filled} von {total} Büchern haben einen Wert", + "onNoLibrary": "Keine Bibliotheken", + "onNoLibraryHint": "In keiner Bibliothek, so dass dieses Feld nirgendwo erscheint", + "moreLibraries": "+{count}", + "noValues": "Keine", + "rowActions": { + "edit": "Bearbeiten", + "editField": "Feld bearbeiten", + "moveUp": "Nach oben", + "moveDown": "Nach unten", + "archive": "Archivieren", + "restore": "Wiederherstellen", + "deletePermanently": "Dauerhaft löschen…", + "more": "Weitere Aktionen für {label}" + }, + "toasts": { + "loadFailed": "Konnte benutzerdefinierte Felder nicht laden", + "created": "{label} erstellt", + "createFailed": "Konnte {label} nicht erstellen", + "saved": "{label} gespeichert", + "saveFailed": "Konnte {label} nicht speichern", + "archived": "{label} archiviert", + "archiveFailed": "Konnte {label} nicht archivieren", + "restored": "{label} wiederhergestellt", + "restoreFailed": "Konnte {label} nicht wiederherstellen", + "deleted": "{label} gelöscht", + "deleteFailed": "Konnte {label} nicht löschen", + "reorderFailed": "Konnte die neue Bestellung nicht speichern" + }, + "empty": { + "body": "Erfasse Angaben, für die BookOrbit kein Feld hat, etwa wo ein Buch im Regal steht oder wer es ausgeliehen hat. Felder erscheinen unter Metadaten bearbeiten, in Tabellenspalten und in Filtern.", + "examples": "Von einem Beispiel starten", + "shelfNumber": "Regalnummer", + "acquiredOn": "Erhalten am", + "signedCopy": "Signierte Kopie", + "loanedTo": "Ausliehen an" + }, + "types": { + "text": { + "label": "Text", + "hint": "Alle Wörter", + "example": "Erster Druck, signierte Buchplatte" + }, + "url": { + "label": "Link", + "hint": "Öffnet einen neuen Tab", + "example": "https://example.com/book" + }, + "number": { + "label": "Nummer", + "hint": "Sortiert nach Wert", + "example": "42" + }, + "date": { + "label": "Datum", + "hint": "Ein Kalendertag", + "example": "2024-03-09" + }, + "boolean": { + "label": "Ja / Nein", + "hint": "Ein Kontrollkästchen", + "example": "Ja" + } + }, + "sheet": { + "newTitle": "Neues Feld", + "editDescription": "Bearbeite das Label und die Bibliotheken eines benutzerdefinierten Feldes und schaue, wo es erscheint.", + "newDescription": "Benenne ein neues benutzerdefiniertes Feld, wähle seinen Typ aus und wähle seine Bibliotheken.", + "archivedDescription": "Ein archiviertes benutzerdefiniertes Feld. Wiederherstellen oder löschen mit seinen Werten.", + "statusFilled": "{filled} von {total, plural, one {# Buch} other {# Bücher}}", + "statusNone": "Nicht in einer Bibliothek", + "statusHidden": "{count} hidden", + "statusCreated": "erstellte {date}", + "labelHint": "Wird bei Metadaten bearbeitet, in Tabellenspalten und in Filtern.", + "renameHint": "Das Umbenennen hält alle gespeicherten Werte und den Dateischlüssel {key}.", + "keyHint": "In Dateien gespeichert und exportiert als {key}, was beim Umbenennen des Feldes unverändert bleibt.", + "typeLocked": "Setze wenn erstellt", + "typeLockedHint": "Der Typ kann später nicht geändert werden, daher stimmen die gespeicherten Werte immer mit ihm überein.", + "libraries": "Bibliotheken", + "books": "{count, plural, one {# buchen} other {# Bücher}}", + "filledOfBooks": "{filled} von {total, plural, one {# Buch} other {# Bücher}}", + "hiddenCount": "{count} hidden", + "leavingNote": "{count, plural, one {# Wert in {libraries} bleibt gespeichert, aber versteckt, während das Feld aus ist.} other {# Werte in {libraries} Bleiben Sie gespeichert, aber versteckt, während das Feld aus ist.}} Das Zurückdrehen bringt sie zurück.", + "noLibraryWarning": "Ohne Bibliotheken erscheint dieses Feld nirgendwo: nicht auf Metadaten bearbeiten, in Filtern oder im Export.", + "appears": { + "title": "Wo es erscheint", + "editMetadata": "Metadaten bearbeiten", + "details": "Details tab", + "filters": "Filter", + "table": "Tabelle und Sortierung", + "tableBody": "Verfügbar als Tabellenspalte und Sortieroption", + "files": "Dateien", + "filesWritten": "Geschrieben in EPUB und FB2 Dateien in {libraries}, wo das Schreiben von Metadaten in Dateien eingeschaltet ist.", + "filesNotWritten": "Nicht in Dateien geschrieben: Keine dieser Bibliotheken schreibt Metadaten in EPUB oder FB2 Dateien.", + "exports": "Exporte" + }, + "archiveAction": "Archivfeld", + "archiveConfirm": "{label} archivieren?", + "archiveConsequence": "{count, plural, =0 {Das Feld verschwindet aus Metadaten bearbeiten, Filtern und Exporten. Du kannst es jederzeit aus dem Archiv wiederherstellen.} one {Das Feld verschwindet aus Metadaten bearbeiten, Filtern und Exporten. # Wert bleibt gespeichert, bis das Feld gelöscht wird.} other {Das Feld verschwindet aus Metadaten bearbeiten, Filtern und Exporten. # Werte bleiben gespeichert, bis das Feld gelöscht wird.}}", + "create": "Feld erstellen", + "onLibraries": "Auf {count} von {total} Bibliotheken", + "onAllLibraries": "Auf allen {total} Bibliotheken", + "archivedBadge": "Archiviert", + "archivedTitle": "Archivierte {when}.", + "archivedBody": "{count, plural, =0 {Dieses Feld ist aus Büchern, Filtern und Exportieren ausgeblendet. Es enthält keine Werte.} one {Dieses Feld ist aus Büchern, Filtern und Exporten ausgeblendet. # gespeicherter Wert bleibt erhalten und kommt bei der Wiederherstellung zurück.} other {Dieses Feld ist aus Büchern, Filtern und Exporten ausgeblendet. # gespeicherte Werte bleiben erhalten und kommen Sie zur Wiederherstellung zurück.}}", + "facts": { + "type": "Typ", + "libraries": "Bibliotheken", + "valuesKept": "Werte behalten", + "fileKey": "Dateischlüssel", + "created": "Erstellt", + "archived": "Archiviert" + }, + "deleteQuestion": "{label} für gut löschen?", + "deleteConsequence": "{count, plural, =0 {Es enthält keine Werte. Dies kann nicht rückgängig gemacht werden.} one {Sein # gespeicherter Wert wird aus jedem Buch entfernt. Bereits geschriebene Dateien behalten ihre Kopie. Dies kann nicht rückgängig gemacht werden.} other {Seine # gespeicherten Werte werden aus jedem Buch entfernt. Bereits geschriebene Dateien behalten ihre Kopie. Dies kann nicht rückgängig gemacht werden.}}", + "deleteConfirmLabel": "Zum Bestätigen den Feldnamen eingeben", + "deleteConfirmPlaceholder": "Geben Sie {label} ein, um zu bestätigen" + } }, "tabs": { "providers": "Anbieter", @@ -2005,7 +2546,8 @@ "genre-blocklist": "Genre-Sperrliste", "score": "Bewertung", "auto-fetch": "Bücher", - "authors": "Autoren" + "authors": "Autoren", + "search-cache": "Cache suchen" }, "tabTitles": { "providers": "Anbieter", @@ -2014,7 +2556,8 @@ "genre-blocklist": "Genre-Sperrliste", "score": "Vertrauenswert", "auto-fetch": "Automatischer Bücherabruf", - "authors": "Automatischer Autorenabruf" + "authors": "Automatischer Autorenabruf", + "search-cache": "Cache suchen" }, "tabSubtitles": { "providers": "Externe Metadatenquellen aktivieren und deren Zugangsdaten konfigurieren.", @@ -2023,7 +2566,8 @@ "genre-blocklist": "Verhindern Sie, dass unerwünschte Genre-Werte von Anbietern in Bücher geschrieben werden.", "score": "Weisen Sie Metadatenfeldern Gewichtungen zu, um zu berechnen, wie sehr abgerufenen Ergebnissen vertraut werden soll.", "auto-fetch": "Rufen Sie automatisch Cover, Beschreibungen und weitere Details ab, wenn neue Bücher zu Ihrer Bibliothek hinzugefügt werden.", - "authors": "Rufen Sie automatisch Biografien und Profilfotos ab, wenn neue Autoren in Ihrer Bibliothek erscheinen." + "authors": "Rufen Sie automatisch Biografien und Profilfotos ab, wenn neue Autoren in Ihrer Bibliothek erscheinen.", + "search-cache": "Antworten des Anbieters wiederverwenden, so dass wiederholte Suchen schnell sind und immer noch funktionieren, wenn ein Anbieter nicht aktiv ist." }, "preferences": { "toast": { @@ -2239,7 +2783,25 @@ "serverFontsHint": "Diese Schriftarten kommen von Ihrem Server-Administrator. Einzelne Schriftarten ausschalten, um sie vom Reader fernzuhalten.", "serverFontsShown": "{count} von {total} angezeigt", "serverFontsAllHidden": "Alle Server-Schriftarten sind versteckt. Ihr Reader bietet nur eingebaute und eigene Schriften an.", - "serverFontVisibilityFailed": "Fehler beim Aktualisieren der Schriftart-Sichtbarkeit" + "serverFontVisibilityFailed": "Fehler beim Aktualisieren der Schriftart-Sichtbarkeit", + "library": { + "columns": { + "use": "In Verwendung" + }, + "yourDefault": "Ihr Standard", + "hiddenBadge": "Hidden", + "emptyHint": "Schriften oben hinzufügen oder Dateien irgendwo auf dieser Seite ablegen.", + "dropTitle": "{count, plural, one {Ablegen, um # Datei zu deinen Schriftarten hinzuzufügen} other {Ablegen, um # Dateien zu deinen Schriftarten hinzuzufügen}}", + "limitReached": "Sie haben bereits {limit} Schriftdateien.", + "filesUsed": "{count} deines {max} verwendet", + "nameHint": "Dies ist der Name in der Schriftartenliste Ihres Lesers.", + "inReaderHint": "Ihre Schriftartenliste in den Reader › Einstellungen, mit {name} ausgewählt.", + "showInReader": "In meinem Reader anzeigen", + "showFamily": "{name} in meinem Reader anzeigen", + "removeConsequenceBooks": "{count, plural, one {Es ist auf # deiner Bücher gesetzt; dieses Buch geht zurück in seine eigene Schrift.} other {Es ist auf # deiner Bücher gesetzt; sie gehen zurück zu ihren eigenen Schriften.}}", + "removeConsequenceDefault": "Es ist Ihre Standardschrift; Bücher ohne eigene Einstellung gehen zurück auf die Standardeinstellung des Buches.", + "removeQuestion": "{name} aus Ihren Schriften entfernen?" + } }, "bookDock": { "title": "Bücherablage", @@ -2525,7 +3087,8 @@ "tagShortened": "Auf 255 Bytes gekürzt", "tagEmptyName": "Leerer Name", "levelSkipped": "Übersprungen, weil {token} leer ist", - "levelEmptyName": "Leerer Ordnername. Weisen Sie diesem Ordner einen Ausweichnamen zu, sodass er immer einen hat." + "levelEmptyName": "Leerer Ordnername. Weisen Sie diesem Ordner einen Ausweichnamen zu, sodass er immer einen hat.", + "renameNote": "Bücher, die bereits auf der Festplatte sind, behalten ihre Pfade. Bibliotheken, die Dateien umbenennen, wenden dieses Muster an, wenn die Details eines Buches das nächste Mal gespeichert werden: {libraries}." }, "kobo": { "title": "Kobo-Synchronisierung", @@ -2886,7 +3449,13 @@ "unmatchedDismissed": "Nicht zugeordnetes Buch verworfen", "dismissFailed": "Verwerfen des nicht zugeordneten Buches fehlgeschlagen", "allDismissed": "{count, plural, =0 {0 nicht zugeordnete Bücher verworfen} one {# nicht zugeordnetes Buch verworfen} other {# nicht zugeordnete Bücher verworfen}}", - "dismissAllFailed": "Verwerfen aller nicht zugeordneten Bücher fehlgeschlagen" + "dismissAllFailed": "Verwerfen aller nicht zugeordneten Bücher fehlgeschlagen", + "reviewRefreshed": "Bücher zum Überprüfen aktualisiert", + "reviewRefreshFailed": "Fehler beim Aktualisieren der Bücher zum Überprüfen", + "reviewDismissed": "Buch wurde von der Überprüfung abgewiesen", + "reviewDismissFailed": "Fehler beim Verwerfen des Buches", + "reviewAllDismissed": "{count, plural, =0 {Keine Bücher aus der Rezension abgewiesen} one {# Buch aus der Rezension} other {Verworfen # Bücher aus der Rezension}}", + "reviewDismissAllFailed": "Fehler beim Verwerfen aller Bücher aus der Überprüfung" }, "modal": { "linkTitle": "KOReader-Buch verknüpfen", @@ -2939,7 +3508,15 @@ "syncedStatsNote": "Bereits synchronisierte Statistiken bleiben bei ihrem aktuellen BookOrbit-Buch.", "chooseDifferent": "Anderes wählen", "saving": "Wird gespeichert ...", - "confirmLink": "Verknüpfung bestätigen" + "confirmLink": "Verknüpfung bestätigen", + "reviewTitle": "KOReader Bücher zum Überprüfen", + "reviewHint": "Bücher ohne automatisches Match und Bücher, die Sie nicht verlinkt haben, erscheinen hier. Nicht verlinkte Bücher können immer noch durch ein automatisches Match synchronisiert werden. Verknüpfen Sie ein Buch, um dieses Match zu überschreiben oder schließen Sie es aus, um es aus dieser Liste zu entfernen.", + "loadingReview": "Lade Bücher zum Überprüfen...", + "noReview": "Keine KOReader Bücher zu überprüfen.", + "manualUnlinkConfirmBody": "Entferne den manuellen Link zu {title} und bringe dieses Buch an die Überprüfungsliste zurück. Künftige Synchronisationen verwenden ein automatisches Spiel, falls eine existiert. Bereits synchronisierte Statistiken bleiben in ihrem aktuellen BookOrbit-Buch.", + "reviewDismissConfirmBody": "Dies entfernt es aus Ihren Büchern, um es zu überprüfen. Automatische Übereinstimmung und bestehende Synchronisationsdaten werden beibehalten. Wenn ein Gerät den Hash ohne Übereinstimmung erneut meldet, kann er wieder erscheinen.", + "reviewDismissAllConfirmTitle": "{count, plural, =0 {Keine Bücher zum Überprüfen} one {Verwerfen Sie alle # Buch?} other {Verwerfen Sie alle # Bücher zum Überprüfen?}}", + "reviewDismissAllConfirmBody": "Dies löscht Ihre gesamten Bücher zur Überprüfungsliste, einschließlich der Einträge auf anderen Seiten. Automatische übereinstimmende und existierende Sync-Daten werden beibehalten. Wenn ein Gerät einen Hash ohne Übereinstimmung meldet, kann er wieder erscheinen." }, "remove": "Entfernen", "removing": "Wird entfernt ...", @@ -3589,6 +4166,7 @@ "nav": { "title": "Einstellungen", "ariaLabel": "Einstellungsbereiche", + "breadcrumbLabel": "Breadcrumb", "searchPlaceholder": "Sucheinstellungen", "clearSearch": "Suche zurücksetzen", "noResults": "Keine Einstellungen entsprechen {query}.", @@ -3635,9 +4213,58 @@ "serverFonts": "Für jeden Leser auf diesem Server installierte Schriftarten.", "bookDock": "Auf Buchseiten angezeigte Schnellaktionen.", "auditLog": "Wer was wann geändert hat.", - "requests": "Quellen, Download-Clients und was mit einem Buch passiert, wenn es heruntergeladen wird." + "requests": "Quellen, Download-Clients und was mit einem Buch passiert, wenn es heruntergeladen wird.", + "readerTts": "Voreingestellte Sprach-, Geschwindigkeits- und Narrationsvorgaben.", + "adminTts": "Text-zu-Sprache-Engines stehen jedem Leser auf diesem Server zur Verfügung." }, - "backToApp": "Zurück zur Bibliothek" + "backToApp": "Zurück zur Bibliothek", + "pageDescriptions": { + "profile": "Ihr Name, Foto, Zeitzone und Erfolgsverfolgung plus Ihr Passwort und die mit diesem Konto verknüpften Anmeldeanbieter.", + "appearance-theme": "Wählen Sie aus, wo Ihre Einstellungen gespeichert werden, dann setzen Sie den Stil, Farbschema, Akzent, Ecken, Oberflächenhelligkeit und das Muster hinter Ihrer Bibliothek.", + "appearance-book-covers": "Wie sieht die Cover über die App aus: Platzhalterkunst für Bücher ohne einen Wie die Cover zu ihren Slots, Wirbelsäule und Glanzeffekten passen, und das Cover auf Buchseiten.", + "appearance-icons": "Laden Sie Ihre eigenen Icons hoch und verwenden Sie neben dem eingebauten Set für Bibliotheken, Smart scopes und Sammlungen.", + "appearance-layout": "Abdeckungen und Abstände für das Bibliotheksraster, das Cover für eine einklappbare Serie und wie das Autorenraster angelegt ist.", + "appearance-behavior": "Was das Öffnen eines Buches aus einem Raster oder einer Liste bewirkt, unabhängig davon, ob eine Serie in eine Karte einklappt und ob Buchanfragen in diesem Konto erscheinen.", + "appearance-language": "Die Sprache BookOrbit verwendet für Menüs, Labels und Nachrichten und die regionalen Formate für Daten und Zahlen.", + "reader-ebook": "Standardwerte für den eBook-Leser: Ob neue Bücher mit Ihren Einstellungen, Seitenfluss und Spalten, Thema und Typographie wie Schriftart, Größe und Abstand beginnen.", + "reader-pdf": "Wie sich PDFs öffnen: Seite für Seite oder eine kontinuierliche Scroll, welche Seite startet eine zweiseitige Ausbreitung, und die Standard-Zoom-Anpassung.", + "reader-comics": "Wie Comics lesen: Lesemodus und Richtung, einfache oder zweiseitige Spreads, Passform, Weitseitige Handhabung und Weiterführung zum nächsten Buch der Serie.", + "reader-audio": "Die Startgeschwindigkeit und Lautstärke für neue Hörbücher und wie weit die Tasten zurückspringen und vorwärts springen.", + "reader-fonts": "Laden Sie Ihre eigenen Schriften für den Leser hoch und wählen Sie aus, welche Schriften von Ihrem Server-Administrator geteilt werden.", + "reader-general": "Wo Ihre Lesereinstellungen gespeichert werden und die Standardwerte für jeden Lesemodus freigegeben werden.", + "tts": "Ihre Standard-Stimme und Geschwindigkeit, wenn BookOrbit ein Buch vorliest.", + "notifications": "Wählen Sie aus, welche Ereignisse Sie benachrichtigen, von fertigen Scans und Metadaten zu Dateiumbenennungen, Importen und Buchdock-Ergebnissen.", + "privacy": "Entscheiden Sie, wie viel Ihrer Lese-Aktivitätsadministratoren sehen können, eine Vorschau Ihres geteilten Profils und überprüfen Sie, wer es angesehen hat.", + "restrictions": "Auf diesem Konto festgelegte Inhaltsbeschränkungen wie Altersbewertungen und versteckte Inhalte, und was sie aus Ihren Bibliotheken heraushalten.", + "libraries": "Jede Bibliothek auf einen Blick: ihre Ordner, was sie enthält, wie sie gescannt wird und wann sie zuletzt rangiert. Bibliotheken hier hinzufügen, bearbeiten oder neu durchsuchen.", + "metadata-providers": "Schalten Sie Metadaten-Quellen ein oder aus, fügen Sie API-Schlüssel oder Cookies hinzu, wenn eine Quelle sie benötigt, und testen Sie die Zugangsdaten gegen den Live-Service.", + "metadata-field-rules": "Wählen Sie, welche Anbieter jedes Metadatenfeld ausfüllen und in welcher Reihenfolge, wie Werte zusammengeführt werden und wie Genres und Provider-IDs gesammelt werden.", + "metadata-custom-fields": "Erstellen Sie Ihre eigenen Metadatenfelder, wählen Sie den Typ und die Bibliotheken, die sie verwenden, und ordnen Sie sie neu oder archivieren.", + "metadata-score": "Legen Sie fest, wieviel jedes Metadatenfeld für die Vollständigkeit der Ergebnisse in jedem Buch zählt.", + "metadata-auto-fetch": "Buch-Metadaten automatisch abrufen, wenn Bücher importiert werden oder fehlende Details sind, mit Überschreibungen für jede Bibliothek.", + "metadata-authors": "Abrufen der Autoren Biografien und Fotos automatisch, wählen Sie die Bestellquellen aus, und entscheiden Sie, welche Autoren sich qualifizieren.", + "metadata-search-cache": "Halten Sie die Antworten des Anbieters so, dass wiederholte Suchen schnell sind und immer noch funktionieren, wenn ein Anbieter nicht aktiv ist, und kontrollieren Sie, wie lange und wie lange und wie viel gehalten wird.", + "metadata-genre-blocklist": "Genre Werte, die hier aufgelistet sind, werden von den Anbieterergebnissen entfernt, bevor Metadaten geschrieben werden, so dass Etiketten wie Audiobook aus Ihren Büchern herausbleiben.", + "metadata-reminders": "Wählen Sie, welche fehlenden Felder in Buch-Erinnerungen angezeigt werden. Dies ändert nur die Erinnerungen, nicht die Metadatenpunkte.", + "file-naming": "Ordner- und Dateinamensmuster, die verwendet werden, wenn BookOrbit Bücher auf der Festplatte umbenennt, mit einer Vorschau des Ergebnisses und was passiert, wenn ein Wert fehlt.", + "maintenance": "Server Housekeeping: das Uploadgrößenlimit, vergangene Importe, Empfehlungen zum erneuten Wiederherstellen von Erfolgen und die Suche nach Updates.", + "kobo": "Verbinden Sie Kobo E-Reader, wählen Sie wie Bücher, Regale und Lesen des Fortschritts synchronisiert werden und verfolgen Sie die letzte Synchronisierung der Geräte.", + "koreader": "Synchronisationsfortschritt, Leseaktivität und Highlights mit KOReader, laden Sie die Sync-URL und das Plugin und verwalten Sie die Geräte, die sich verbinden.", + "opds": "Schalten Sie den OPDS-Katalog ein und erstellen Sie Konten, damit Apps von Drittanbietern Ihre Bücher durchsuchen und herunterladen können.", + "email": "Verwalte die Adressen, an die Bücher gesendet werden, etwa Kindle-Postfächer. Markiere die Standardadresse mit einem Stern und gruppiere Empfänger, um an mehrere zugleich zu senden.", + "hardcover": "Verbinden Sie Ihr Hardcover-Konto und wählen Sie aus, wenn Sie Status, Fortschritt und Bewertungen synchronisieren und wie synchronisierte Bücher dort erscheinen.", + "readwise": "Verbinden Sie Ihren Readwise Account, um Ihre Highlights dort automatisch zu senden.", + "storygraph": "Verbinden Sie Ihr StoryGraph Konto mit Ihren Browser-Session-Cookies, um den Lesefortschritt und den Status zu synchronisieren.", + "users": "Erstellen und verwalten Sie Konten, ihre Rollen, Berechtigungen und Bibliothekszugriff und sehen Sie, welche Konten Aufmerksamkeit benötigen.", + "account-activity": "Sehen Sie, wann jedes Konto zuletzt aktiv war und wie es sich anmeldet, und öffnen Sie Lese- und Session-Einsichten.", + "magic-links": "Erstellen Sie teilbare Links, die sich ohne Passwort einloggen und widerrufen, wenn sie nicht mehr benötigt werden.", + "oidc": "Verbinden Sie einen einzigen Anmeldeanbieter wie Keycloak, ordnen Sie seine Ansprüche und entscheiden Sie, wie neue Konten erstellt werden.", + "requests": "Wo BookOrbit nach angeforderten Büchern sucht, welche Clients sie herunterladen und was passiert, sobald ein Download abgeschlossen ist.", + "admin-tts": "Die Leser der Text-zu-Sprache-Engines können die Leser für Lese-Aloud, die jeweils angebotenen Stimmen und die Reihenfolge verwenden, in der sie erscheinen.", + "book-dock": "Das Buch Dock Drop-Ordner, automatische Metadaten, die für neue Dateien abgerufen werden, und die Punktzahl, bei der die Dateien alleine fertig gestellt werden.", + "server-fonts": "Laden Sie Schriftarten einmal für jeden Leser auf diesem Server hoch. Jeder Leser kann diese beliebig ausblenden.", + "audit-log": "Eine durchsuchbare Aufzeichnung, wer was und wann, filterbar nach Ereignis, Person, betroffener Artikel und Datum." + } }, "field": { "required": "(erforderlich)" @@ -3672,6 +4299,201 @@ "earned": "Erreicht ({count})", "inProgress": "In Bearbeitung ({count})", "locked": "Gesperrt ({count})" + }, + "tiersEarnedFact": "{earned} von {total} Stufen", + "loading": "Lade Errungenschaften", + "filters": { + "label": "Errungenschaften filtern", + "all": "Alle", + "earned": "Verdiente", + "inProgress": "In Bearbeitung", + "locked": "Gesperrt" + }, + "showcase": { + "label": "Highlights", + "latest": "Letztes Entsperren", + "newToday": "{count, plural, one {# neu heute} other {# neu heute}}", + "secretRevealed": "Geheimnis aufgedeckt", + "categoryAndDate": "{category} · {date}", + "alsoNew": "Auch neu", + "openMedal": "{name} öffnen", + "emptyTitle": "Deine erste Medaille wartet", + "emptyBody": "Beenden Sie ein Buch, bewerten Sie eines oder markieren Sie eine Passage, und es landet hier.", + "collection": "Sammlung", + "shareOfTiers": "{percent} jeder Stufe", + "tiersEarned": "{earned} von {total} Stufen verdient", + "closest": "Am meisten zum Entsperren", + "allInProgress": "Alle {count}", + "tierOfSet": "Stufe {tier} von {set}", + "nothingCounting": "Bis jetzt zählt nichts auf eine Medaille." + }, + "shelf": { + "tiers": "{earned} / {total}", + "progressLabel": "{category} Stufen verdient" + }, + "medal": { + "label": "{name}, {rarity}, {status}", + "tier": "Stufe {tier}", + "allTiers": "{count, plural, one {Der einzige Rang} other {Alle # Stufen}}", + "keepReading": "Weiter lesen", + "notStarted": "Nicht gestartet" + }, + "progress": { + "generic": "{current} / {threshold}", + "toGo": "{count, plural, one {noch #} other {noch #}}" + }, + "hints": { + "howToGetIt": "Wie man es bekommt", + "readingPace": "{count, plural, one {Du hast in den letzten {days} Tagen # Stunde gelesen.} other {Du hast in den letzten {days} Tagen # Stunden gelesen.}}", + "etaDays": "{count, plural, one {Bei diesem Tempo etwa # Tag.} other {Bei diesem Tempo etwa # Tage.}}", + "etaWeeks": "{count, plural, one {Bei diesem Tempo etwa # Woche.} other {Bei diesem Tempo etwa # Wochen.}}", + "etaMonths": "{count, plural, one {Bei diesem Tempo etwa # Monat.} other {Bei diesem Tempo etwa # Monate.}}", + "decadeUnread": "{count, plural, one {# Buch aus dem {decade}s wartet in deinen Regalen.} other {# Bücher aus dem {decade}s warten in deinen Regalen.}}", + "centuryUnread": "{count, plural, one {# Buch aus dem {century}s wartet in deinen Regalen.} other {# Bücher aus dem {century}s warten in deinen Regalen.}}", + "stalled": "{title} ist {percent} gelesen und wurde auf {date} gestartet.", + "stalledNoProgress": "{title} wurde auf {date} gestartet.", + "untitledBook": "Ein Buch im Gange", + "nearlyFinished": "{count, plural, one {# begonnenes Buch ist zu mehr als {percent} gelesen.} other {# begonnene Bücher sind zu mehr als {percent} gelesen.}}", + "unratedFinished": "{count, plural, one {# von dir beendetes Buch hat noch keine Bewertung.} other {# von dir beendete Bücher haben noch keine Bewertung.}}", + "shortBooks": "{count, plural, one {# Buch unter {pages} Seiten warten in deinem Regal.} other {# Bücher unter {pages} Seiten warten in deinem Regal.}}", + "alreadyStarted": "{count, plural, one {# wurde bereits begonnen.} other {# wurden bereits begonnen.}}", + "longBooks": "{count, plural, one {# Buch mit mindestens {pages} Seiten wartet in deinen Regalen.} other {# Bücher mit mindestens {pages} Seiten warten in deinen Regalen.}}", + "oldBooks": "{count, plural, one {# vor {year} veröffentlichtes Buch wartet in deinen Regalen.} other {# vor {year} veröffentlichte Bücher warten in deinen Regalen.}}", + "authorUnread": "{author}: {finished, plural, one {# beendet} other {# beendet}}, {count, plural, one {noch # in deinen Regalen} other {noch # in deinen Regalen}}.", + "languageUnread": "{count, plural, one {# Buch in {language} wartet in deinem Regal.} other {# Bücher in {language} warten in deinem Regal.}}", + "monthsRead": "{count, plural, one {Du hast bisher in # Monat des Jahres {year} gelesen.} other {Du hast bisher in # Monaten des Jahres {year} gelesen.}}", + "monthsLeft": "{count, plural, one {{months} ist links.} other {{months} sind links.}}", + "noLongBook": "Kein Buch in Ihren Regalen hat {pages} oder mehr Seiten.", + "nothingBeforeYear": "Vor {year} wurde nichts in Ihren Regalen veröffentlicht.", + "tooFewDecades": "{count, plural, one {Deine Regale umfassen bisher nur # Jahrzehnt.} other {Deine Regale umfassen bisher nur # Jahrzehnte.}}", + "tooFewCenturies": "{count, plural, one {Deine Regale umfassen bisher nur # Jahrhundert.} other {Deine Regale umfassen bisher nur # Jahrhunderte.}}", + "missedMonth": "Du hast im {month} nicht gelesen, daher ist {year} nicht mehr erreichbar. Die Zählung beginnt im Januar von vorn.", + "continueReading": "Lesen fortsetzen", + "rateFinished": "Bewerte ein fertiges Buch", + "viewAuthor": "Autor ansehen", + "openBook": "{title} öffnen", + "openUntitledBook": "Buch öffnen" + }, + "sets": { + "booksFinished": "Bücher abgeschlossen", + "pagesRead": "Gelesene Seiten", + "hoursRead": "Stunden gelesen", + "longestBook": "Längstes Buch abgeschlossen", + "librarySize": "Bibliotheksgröße", + "annotations": "Anmerkungen", + "booksRated": "Bücher bewertet", + "genresFinished": "Genres beendet", + "languagesFinished": "Sprachen beendet", + "readingStreak": "Leseserie" + }, + "units": { + "books": { + "progress": "{current} / {threshold} Bücher", + "toGo": "{count, plural, one {# Buchen Sie} other {# Bücher um zu gehen}}" + }, + "pages": { + "progress": "{current} / {threshold} Seiten", + "toGo": "{count, plural, one {# Seite für} other {# Seiten für}}" + }, + "hours": { + "progress": "{current} / {threshold} Stunden", + "toGo": "{count, plural, one {# Stunde zu gehen} other {# Stunden zu gehen}}" + }, + "annotations": { + "progress": "{current} / {threshold} Anmerkungen", + "toGo": "{count, plural, one {# Anmerkung zu gehen} other {# Anmerkungen zu gehen}}" + }, + "ratings": { + "progress": "{current} / {threshold} Bewertungen", + "toGo": "{count, plural, one {# Bewertung für} other {# Bewertungen für}}" + }, + "genres": { + "progress": "{current} / {threshold} genres", + "toGo": "{count, plural, one {# Genre zu gehen} other {# Genres zu gehen}}" + }, + "languages": { + "progress": "{current} / {threshold} Sprachen", + "toGo": "{count, plural, one {# Sprache zu gehen} other {# Sprachen zu gehen}}" + }, + "days": { + "progress": "{current} / {threshold} Tage", + "toGo": "{count, plural, one {# Tag für} other {# Tage für}}" + } + }, + "moments": { + "nthBook": "Buch {number} war {title}", + "pagesAtUnlock": "{count, plural, one {# Seite} other {# Seiten}} wenn sie entsperrt", + "hoursAtUnlock": "{count, plural, one {# Stunde} other {# Stunden}} wenn es freigeschaltet", + "titleWithPages": "{title}, {count, plural, one {# Seite} other {# Seiten}}", + "booksAtUnlock": "{count, plural, one {# buchen} other {# Bücher}} in deiner Bibliothek, wenn sie freigeschaltet wird", + "annotationsAtUnlock": "{count, plural, one {# Anmerkung} other {# Anmerkungen}} wenn sie freigeschaltet", + "ratingsAtUnlock": "{count, plural, one {# Bewertung} other {# Bewertungen}} wenn freigeschaltet", + "genresAtUnlock": "{count, plural, one {# Genre} other {# Genres}} wenn es freigeschaltet", + "languagesAtUnlock": "{count, plural, one {# Sprache} other {# Sprachen}} wenn sie entsperrt wird", + "streakAtUnlock": "{count, plural, one {# Tag} other {# Tage}}", + "longSession": "Eine Sitzung lief {duration}", + "durationHours": "{hours} h {minutes} min", + "durationMinutes": "{minutes} min", + "sessionStartedAt": "Eine Sitzung, die um {time} gestartet wurde", + "oneDayBook": "{title}, beginnen Sie an einem Tag zu beenden", + "booksInWeek": "{count, plural, one {# Buch} other {# Bücher}} fertig in einer Woche", + "booksInMonth": "{count, plural, one {# Buch} other {# Bücher}} fertig in {month}", + "booksInYear": "{count, plural, one {# Buch} other {# Bücher}} fertig in {year}", + "wholeBookOneSession": "Ein ganzes Buch in einer Sitzung", + "pagesInSession": "{count, plural, one {# Seite} other {# Seiten}} in einer Sitzung", + "pagesInDay": "{count, plural, one {# Seite} other {# Seiten}} an einem Tag", + "slowBurn": "{title}, beendet nach {count, plural, one {# Tag} other {# Tage}}", + "formatsOwned": "{count, plural, one {# Format} other {# Formate}} in deinen Regalen", + "annotationsWithNote": "{count, plural, one {# Anmerkung} other {# Anmerkungen}} mit einer Notiz", + "annotationsInDay": "{count, plural, one {# Anmerkung} other {# Anmerkungen}} an einem Tag", + "everyStar": "Jede Bewertung von einem Stern bis fünf", + "everyColour": "Jede verwendete Hervorhebungsfarbe", + "titlePublished": "{title}, veröffentlicht {year}", + "booksInGenre": "{count, plural, one {# Buch} other {# Bücher}} in einem Genre", + "firstInSeries": "{title}, aus der {series} Serie", + "centuries": "Bücher von {count, plural, one {# Jahrhundert} other {# Jahrhunderte}}", + "booksBySameAuthor": "{count, plural, one {# Buch} other {# Bücher}} von einem Autor", + "decades": "Bücher von {count, plural, one {# Dekade} other {# Jahrzehnte}}", + "shortBooks": "{count, plural, one {# kurzes Buch} other {# kurze Bücher}} fertig", + "allSeasons": "Alle vier Jahreszeiten von {year}", + "consistentDays": "{count, plural, one {# Tag} other {# Tage}} ab 30 Minuten", + "weekendsInRow": "{count, plural, one {# Wochenende} other {# Wochenenden}}", + "weekendHours": "{count, plural, one {# Stunde} other {# Stunden}} am Wochenende von {date}", + "categoriesCovered": "{count, plural, one {# Kategorie} other {# Kategorien}} mit einem Erfolg", + "readingSources": "{count, plural, one {# Lektüre Quelle} other {# Lektüre Quellen}}", + "oneBookSources": "Ein Buch von {count, plural, one {# Quelle} other {# Quellen}}" + }, + "records": { + "title": "Buch aufzeichnen", + "subtitle": "Die Zahlen hinter deinen Medaillen, wie sie stehen, wenn jede freigeschaltet wird", + "value": "{value}", + "oneSession": "Eine Lesesession", + "pagesInSession": "Seiten in einer Sitzung", + "pagesInDay": "Seiten an einem Tag", + "booksInWeek": "Bücher in einer Woche", + "booksInMonth": "Bücher in {month}", + "booksInYear": "Bücher abgeschlossen in {year}", + "annotations": "Anmerkungen", + "genresFinished": "Genres beendet", + "daysInRow": "Tage in Folge", + "booksInLibrary": "Bücher in Ihrer Bibliothek" + }, + "detail": { + "categoryTierSet": "{category} · Stufe gesetzt", + "secretHint": "Lesen Sie weiter, um diesen aufzudecken.", + "tierOf": "Stufe {earned} von {total}", + "current": "Aktuell", + "noneYet": "Noch keine", + "progress": "Fortschritt", + "allTiersEarned": "Jede Stufe verdient", + "tiers": "Stufen", + "earned": "Verdiente", + "status": "Status", + "hidden": "Hidden", + "rarity": "Seltenheit", + "category": "Kategorie", + "theSet": "Das Set", + "theMoment": "Der Moment" } }, "adminFeature": { @@ -4403,7 +5225,13 @@ "user": "Benutzer", "action": "Aktion", "description": "Beschreibung", - "ip": "IP" + "ip": "IP", + "time": "Zeit", + "person": "Person", + "source": "Quelle", + "open": "Öffnen", + "network": "Netzwerk", + "activity": "Aktivität" }, "categories": { "authentication": "Authentifizierung", @@ -4413,7 +5241,10 @@ "collections": "Sammlungen", "integrations": "Integrationen", "settings": "Einstellungen", - "other": "Andere" + "other": "Andere", + "access": "Anmelden & Zugriff", + "requests": "Anfragen", + "devices": "Geräte & E-Mail" }, "resourceLabels": { "User": "Benutzer", @@ -4577,10 +5408,178 @@ "MaintenanceMissingBooksClean": "Fehlende Bücher gelöscht", "MaintenanceBrokenCoversClean": "Defekte Cover bereinigt", "MaintenanceOrphanedCoversClean": "Bereinigte verwaiste Cover-Ordner" - } + }, + "views": { + "label": "Zeigen", + "changes": "Änderungen", + "signins": "Anmeldungen", + "security": "Sicherheit", + "all": "Alle" + }, + "search": { + "label": "Events durchsuchen", + "placeholder": "Personen, Ziele oder IP-Adressen suchen", + "placeholderShort": "Events durchsuchen" + }, + "range": { + "label": "Date range: {range}", + "today": "Heute", + "7d": "Letzte 7 Tage", + "30d": "Letzte 30 Tage", + "all": "Alles behalten", + "custom": "Eigener Bereich", + "from": "Von", + "to": "An", + "between": "{from} zu {to}", + "since": "Seit {date}", + "until": "Bis {date}", + "sinceOldest": "Seit {date}" + }, + "filterMenu": { + "button": "Filter", + "category": "Kategorie", + "person": "Person", + "findPerson": "Finde eine Person", + "noPeople": "Keine passenden Personen", + "clear": "Leeren", + "done": "Fertig" + }, + "activeFilters": { + "target": "{type}: {name}", + "clearAll": "Alles löschen" + }, + "securityGroups": { + "label": "Sicherheitsereignis-Typ", + "all": "Alles", + "failed": "Fehler beim Anmelden", + "accounts": "Konten", + "passwords": "Passwörter", + "permissions": "Berechtigungen", + "access": "Zugriff auf die Bibliothek", + "links": "Anmelde-Links" + }, + "day": { + "today": "Heute", + "yesterday": "Gestern", + "changes": "{count, plural, one {# ändere} other {# Änderungen}}", + "events": "{count, plural, one {# Ereignis} other {# Ereignisse}}" + }, + "person": { + "system": "System", + "deleted": "Gelöschtes Konto", + "automation": "Automatisierung" + }, + "source": { + "server": "Dieser Server", + "local": "Lokales Netzwerk", + "internet": "Internet", + "job": "Hintergrundjob", + "unknown": "Nicht aufgezeichnet" + }, + "target": { + "none": "No target", + "more": "+{count}", + "sinceDeleted": "Seit gelöscht", + "withId": "{type} #{id}" + }, + "openEvent": "Details öffnen: {event}", + "signIns": { + "signIns": "{count, plural, one {# Anmelden} other {# Anmeldungen}}", + "signOuts": "{count, plural, one {# abmelden} other {# abmelden}}", + "failed": "{count, plural, one {# fehlgeschlagener Versuch} other {# fehlgeschlagene Versuche}}", + "failedAs": "{count, plural, one {# fehlgeschlagen als {names}} other {# fehlgeschlagen als {names}}}", + "range": "{from} – {to}", + "footer": "{count, plural, one {{events} Anmeldevorgänge, eingeklappt in # Zeile nach Person, Tag und Netzwerk} other {{events} Anmeldevorgänge, eingeklappt in # Zeilen nach Person, Tag und Netzwerk}}" + }, + "pager": { + "label": "Seiten", + "previous": "Vorherige Seite", + "next": "Nächste Seite", + "page": "Seite {page}", + "changes": "{from}–{to} von {count, plural, one {# ändere} other {# ändere}}", + "events": "{from}–{to} von {count, plural, one {# Ereignis} other {# Ereignisse}}" + }, + "drawer": { + "description": "Details eines Audit-Ereignisses", + "close": "Schließen", + "subtitle": "{category} · {day}, {time}", + "when": "Wann", + "person": "Person", + "source": "Quelle", + "target": "Target", + "usernameTried": "Benutzername versucht", + "deletedHere": "{type} · von diesem Ereignis gelöscht", + "deletedSince": "{type} · seit gelöscht", + "inThisRow": "{count, plural, one {# Event in dieser Reihe} other {# Ereignisse in dieser Reihe}}", + "around": "Rund um dieses Ereignis", + "aroundHint": "{name}, 40 Minuten je Seite", + "aroundEmpty": "Nichts anderes von {name} innerhalb von 40 Minuten.", + "history": "Verlauf", + "historyCount": "{count, plural, one {# Ereignis} other {# Ereignisse}}", + "historyMeta": "{name} · {date}, {time}", + "thisEvent": "Dieses Ereignis", + "raw": "Rohereignis", + "rawEventId": "Event-ID", + "rawAction": "Aktion", + "rawTarget": "Target type", + "rawNote": "Server-Notiz", + "only": "Nur {name}" + }, + "facts": { + "format": "Format", + "size": "Größe", + "download": "Download", + "dockFile": "Buchdock-Datei", + "rejected": "Abgelehnt", + "failed": "Fehler", + "cleaned": "Bereinigt", + "skipped": "Übersprungen", + "remaining": "Verbleibend", + "sharingLevel": "Freigabelevel", + "sharing": { + "private": "Nicht geteilt", + "summary": "Summary", + "detailed": "Detailliert" + } + }, + "retention": { + "button": "{count, plural, one {Kept für # Tag} other {Kept für # Tage}}", + "title": "Events behalten für", + "days": "{count, plural, one {# Tag} other {# Tage}}", + "hint": "Ältere Events werden jede Nacht um Mitternacht gelöscht.", + "hintWithOldest": "Ältere Ereignisse werden jede Nacht um Mitternacht gelöscht. Das älteste aufbewahrte Ereignis stammt vom {date}.", + "readOnly": "Nur Personen, die die App-Einstellungen ändern können, können dies ändern.", + "saved": "{count, plural, one {Audit-Ereignisse werden jetzt # Tag aufbewahrt.} other {Audit-Ereignisse werden jetzt # Tage aufbewahrt.}}", + "saveFailed": "Konnte nicht ändern, wie lange Ereignisse gehalten werden." + }, + "export": { + "button": "Exportieren", + "title": "Exportieren was angezeigt wird", + "hint": "Verwendet die aktuelle Ansicht, Filter und Datumsbereich.", + "csv": "CSV", + "json": "JSON", + "failed": "Konnte das Audit-Log nicht exportieren." + }, + "emptyFiltered": "Keine Ereignisse entsprechen diesen Filtern." }, "auth": { "backToSignIn": "Zurück zur Anmeldung", + "plate": { + "exLibris": "Ex Libris" + }, + "endpaper": { + "change": "Endpapier ändern", + "options": { + "seigaiha": "Wellen", + "shippo": "Verknüpfte Kreise", + "asanoha": "Hanfblatt", + "quatrefoil": "Quatrefolie", + "ogee": "Ogee", + "harlequin": "Harlequin", + "greekKey": "Griechischer Schlüssel", + "plain": "Einfache" + } + }, "themePicker": { "switchToLight": "Zu Hell wechseln", "switchToDark": "Zu Dunkel wechseln", @@ -4598,7 +5597,10 @@ "confirmPassword": "Passwort bestätigen", "confirmNewPassword": "Neues Passwort bestätigen", "currentPassword": "Aktuelles Passwort", - "passwordHint": "Mind. 8 Zeichen mit Groß-, Kleinbuchstaben und einer Ziffer" + "passwordHint": "Mind. 8 Zeichen mit Groß-, Kleinbuchstaben und einer Ziffer", + "showPassword": "Passwort anzeigen", + "hidePassword": "Passwort ausblenden", + "capsLockOn": "Caps Lock ist an" }, "errors": { "generic": "Etwas ist schiefgelaufen. Bitte versuchen Sie es erneut.", @@ -4610,9 +5612,11 @@ "signingIn": "Anmeldung läuft...", "orDivider": "oder", "forgotPassword": "Passwort vergessen?", + "resetPasswordAction": "Passwort zurücksetzen", "noAccount": "Sie haben kein Konto?", "signUp": "Registrieren", "registeredNotice": "Konto erstellt. Melden Sie sich an, um fortzufahren. Ein Administrator muss Berechtigungen erteilen, bevor Sie auf die Bibliothek zugreifen können.", + "resetNotice": "Passwort aktualisiert. Melden Sie sich mit Ihrem neuen Passwort an.", "errors": { "invalidCredentials": "Ungültiger Benutzername oder ungültiges Passwort", "tooManyAttempts": "Zu viele Anmeldeversuche. Bitte warten Sie eine Minute und versuchen Sie es erneut.", @@ -4784,6 +5788,8 @@ "selectVisible": "Sichtbare auswählen", "refreshMetadata": "Metadaten aktualisieren", "refreshingMetadata": "Metadaten werden aktualisiert ...", + "confirmRefreshCount": "{count, plural, one {Aktualisiere Metadaten für # Autor?} other {Aktualisiere Metadaten für # Autoren?}}", + "refreshAction": "Aktualisieren", "deleteSelected": "Ausgewählte löschen", "deleting": "Wird gelöscht ...", "exitSelection": "Auswahl beenden", @@ -4887,6 +5893,19 @@ }, "book": { "untitled": "Ohne Titel", + "placeholder": { + "volume": "Vol. {number}", + "genre": { + "horror": "Horror", + "romance": "Romantik", + "fantasy": "Fantasy", + "scifi": "Sci-fi", + "mystery": "Mysterium", + "classic": "Klassiker", + "nonfiction": "Nicht-Fiktion", + "young": "Junge Leser" + } + }, "unknownFormat": "unbekannt", "collapsedSeries": { "label": "Reihe", @@ -4901,6 +5920,7 @@ "audiobook": "Hörbuch" }, "formats": { + "djvu": "DjVu Dokument", "epub": "EPUB E-Book", "kepub": "KEPUB E-Book", "pdf": "PDF Dokument", @@ -4943,6 +5963,10 @@ "openAs": "Als {format} öffnen", "openReadAlong": "Mitlesen öffnen EPUB" }, + "refreshMetadata": { + "success": "Metadaten aktualisiert", + "failed": "Metadaten-Aktualisierung fehlgeschlagen" + }, "coverRegeneration": { "failed": "Das Cover konnte nicht neu erzeugt werden", "bulkInProgress": "Cover werden erneut extrahiert", @@ -4972,7 +5996,11 @@ "exportFailed": "Export fehlgeschlagen", "audiolessEpub": "KOReader EPUB", "audiolessEpubHint": "Laden Sie EPUB für KOReader herunter, wobei die Audiodateien entfernt wurden", - "noAudio": "kein Ton" + "noAudio": "kein Ton", + "textOnlyEpub": "Nur Text-EPUB", + "textOnlyEpubHint": "Laden Sie sich ein narrationsfreies EPUB herunter und behalten Sie dabei Lesefunktionen.", + "originalNarrated": "Original EPUB mit Erzählung", + "originalNarratedEpub": "Original EPUB mit Erzählung" }, "sort": { "moveUp": "Nach oben verschieben", @@ -5268,7 +6296,8 @@ }, "header": { "previousBook": "Vorheriges Buch", - "nextBook": "Nächstes Buch" + "nextBook": "Nächstes Buch", + "backToLibrary": "Zurück zu {library}" }, "tabs": { "details": "Details", @@ -5716,6 +6745,9 @@ }, "searchDrawer": { "searchTitle": "Metadaten suchen", + "autoSearchOnOpen": "Beim Öffnen automatisch suchen", + "autoSearchOnOpenHint": "Verwendet die Details des Buches beim nächsten Öffnen dieses Fensters. Erinnert sich an Ihren Account in diesem Browser.", + "searchOptions": "Suchoptionen", "compareTitle": "Metadaten vergleichen", "searchSubtitle": "Finden Sie die beste Anbieterübereinstimmung für dieses Buch.", "compareSubtitle": "Prüfen Sie Unterschiede und übernehmen Sie nur, was Sie möchten." @@ -5935,6 +6967,8 @@ "score": "Bewertung", "scoreTooltip": "Metadaten-Score {score} von 100", "emptyFields": "{count, plural, one {leeres Feld} other {leere Felder}}", + "emptyFieldsCount": "{count, plural, one {# leeres Feld} other {# leere Felder}}", + "emptyFieldsHeading": "Leere Metadatenfelder", "emptyFieldsTooltip": "Noch nicht ausgefüllt: {fields}. Suchen Sie online, um sie nachzuschlagen.", "libraryRow": "Bibliothek", "primaryRow": "Primär", @@ -6036,6 +7070,12 @@ "resume": "Fortsetzen", "audiobook": "Hörbuch", "writeTarget": "Ziel schreiben", + "notWritten": { + "formatNotSupported": "Nicht geschrieben: Nicht unterstütztes Format", + "formatDisabled": "Nicht geschrieben: Format deaktiviert", + "fileExceedsSizeLimit": "Nicht geschrieben: Übergrößenlimit", + "notContentFile": "Nicht geschrieben: Kein Buchinhalt" + }, "enabled": "Aktiviert", "disabled": "Aus", "notSet": "nicht festgelegt", @@ -6837,6 +7877,22 @@ "nFailed": "{count} fehlgeschlagen", "nTotal": "{count} gesamt" }, + "uploadFailures": { + "heading": "{count, plural, one {# Datei konnte nicht hochgeladen werden} other {# Dateien konnten nicht hochgeladen werden}}", + "dismissAll": "Alle verwerfen", + "retry": "Hochladen von {name} wiederholen", + "dismiss": "{name} verwerfen", + "reason": { + "unsupported": "Nicht unterstützter Dateityp: .{extension}", + "noExtension": "Die Datei hat keine Erweiterung, daher ist ihr Format unbekannt", + "tooLarge": "Größer als das {limit} Upload-Limit", + "tooLargeServer": "Größer als das Upload-Limit des Servers", + "tooLargeProxy": "Abgelehnt als zu groß bevor es BookOrbit erreicht hat, wahrscheinlich durch einen umgekehrten Proxy", + "storageFull": "Der Server ist nicht mehr Speicherplatz", + "network": "Server konnte nicht erreicht werden", + "status": "Upload fehlgeschlagen (HTTP {status})" + } + }, "fileList": { "emptyTitle": "Keine Dateien in der Bücherablage", "emptyMessageDefault": "Dateien hochladen oder in den Bücherablage-Ordner ablegen", @@ -7096,7 +8152,40 @@ "moreOptions": "Weitere Optionen", "fewerOptions": "Weniger Optionen", "optionsSummary": "{formats} · Hinweis hinzugefügt", - "formatToggleAria": "Bevorzugen Sie {format}" + "formatToggleAria": "Bevorzugen Sie {format}", + "pair": { + "choice": "Beides", + "choiceHint": "Fragen Sie nach dem E-Book und dem Hörbuch zusammen", + "ebookLibraryLabel": "E-Book-Bibliothek", + "audiobookLibraryLabel": "Audiobook-Bibliothek", + "audiobookFolderLabel": "Audiobook-Ordner", + "landsTogether": "Beide Formate kommen in {library} als ein Buch an.", + "landsSeparately": "{library} hält ein Buch pro Datei, so dass jedes Format als eigenes Buch kommt.", + "landsApart": "Das E-Book und das Hörbuch gehen in verschiedene Bibliotheken, so dass sie als zwei Bücher kommen.", + "preferredEbookFormats": "Bevorzugte E-Book-Formate", + "preferredAudiobookFormats": "Bevorzugte Audioformate", + "state": { + "owned": "In Ihrer Bibliothek", + "following": "Du hast dies angefordert", + "joinable": "Angefragt", + "new": "Nicht angefordert" + }, + "requestBoth": "Beide anfordern", + "getBoth": "Erhalte beides", + "chooseReleases": "Releases auswählen", + "joinBoth": "Zu beiden hinzufügen", + "requestEbook": "E-Book anfordern", + "requestAudiobook": "Audiobuch anfordern", + "getEbook": "E-Book abrufen", + "getAudiobook": "Hörbuch abrufen", + "joinEbook": "Füge mich zur E-Book-Anfrage hinzu", + "joinAudiobook": "Füge mich zur audiobook-Anfrage hinzu", + "haveBoth": "In Ihrer Bibliothek", + "requestedBoth": "Angefragt", + "submitted": "Das E-Book und das Hörbuch wurden angefordert", + "submittedPartlyJoined": "Beides angefordert. Einer war bereits unterwegs und du wurdest zu dieser Anfrage hinzugefügt", + "submittedJoinsBook": "Angefragt. Es wird der Kopie bereits in Ihrer Bibliothek beitreten" + } }, "card": { "details": "Details", @@ -7155,7 +8244,10 @@ "forbidden": "Diese Anfrage gehört jemand anderem.", "loadFailed": "Diese Anfrage konnte nicht geladen werden" }, - "entityName": "Anfrage" + "entityName": "Anfrage", + "pairSwitchLabel": "Formatiert in dieser Anfrage", + "joinsBook": "Tretet einem Buch bei, das du hast", + "joinsBookHint": "Wenn dies eintrifft, wird es dem Buch bereits in Ihrer Bibliothek hinzugefügt" }, "actions": { "approve": "Genehmigen", @@ -7170,7 +8262,29 @@ "grab": "Finden Sie eine Veröffentlichung", "goToBook": "Zum Buch gehen", "retryRelease": "Versuchen Sie es mit einer anderen Version", - "leave": "Urlaubsantrag" + "leave": "Urlaubsantrag", + "pair": { + "approveBoth": "Beide genehmigen", + "approveEbook": "E-Book genehmigen", + "approveAudiobook": "Hörbuch genehmigen", + "rejectBoth": "Beide ablehnen", + "rejectEbook": "E-Book ablehnen", + "rejectAudiobook": "Hörbuch ablehnen", + "cancelBoth": "Beide abbrechen", + "cancelEbook": "E-Book abbrechen", + "cancelAudiobook": "Hörbuch abbrechen", + "dismissBoth": "Beide verwerfen", + "dismissEbook": "E-Book verwerfen", + "dismissAudiobook": "Hörbuch schließen", + "restoreBoth": "Beide wiederherstellen", + "restoreEbook": "E-Book wiederherstellen", + "restoreAudiobook": "Hörbuch wiederherstellen", + "grabEbook": "Eine E-Book-Version finden", + "grabAudiobook": "Hörbuch-Version finden", + "chooseReleases": "Releases auswählen", + "openEbook": "Öffne die e-Book-Anfrage", + "openAudiobook": "Öffne die Audiobuch-Anfrage" + } }, "filters": { "status": "Status", @@ -7213,7 +8327,9 @@ "left": "Sie haben diese Anfrage verlassen", "bulkRejected": "{count, plural, one {# Anfrage abgelehnt} other {# Anfragen abgelehnt}}", "bulkRejectedPartial": "{done} abgelehnt, {failed} konnte nicht sein", - "importDiscarded": "Die importierte Datei wurde verworfen" + "importDiscarded": "Die importierte Datei wurde verworfen", + "pairApproved": "Beide genehmigt", + "pairRejected": "Abgelehnt beide" }, "errors": { "loadFailed": "Anfragen konnten nicht geladen werden", @@ -7233,7 +8349,9 @@ "languageChangeFailed": "Die Anfragesprache konnte nicht geändert werden", "leaveFailed": "Diese Anfrage konnte nicht verlassen werden", "bulkRejectFailed": "Diese Auswahl konnte nicht abgelehnt werden", - "discardImportFailed": "Dieser Import konnte nicht verworfen werden" + "discardImportFailed": "Dieser Import konnte nicht verworfen werden", + "approveCompanionFailedEbook": "Bestätigte diese, aber das E-Buch konnte nicht genehmigt werden", + "approveCompanionFailedAudiobook": "Genehmigte diese, aber das Hörbuch konnte nicht genehmigt werden" }, "grab": { "title": "An ein Download Programm senden", @@ -7279,6 +8397,18 @@ "releases": { "title": "Wähle eine Version", "retryTitle": "Versuchen Sie es mit einer anderen Version", + "pairTitle": "Releases auswählen", + "pair": { + "tabsLabel": "Formate für die Freigaben ausgewählt werden", + "releaseCount": "{count, plural, one {# Release} other {# veröffentlicht}}", + "searching": "Suche", + "toChoose": "Zu wählen", + "sent": "Gesendet", + "finishedTitle": "Nichts übrig zu wählen", + "finishedHint": "Beide Formate haben nun ihre Veröffentlichung. Sie können jedem von der Anfrage folgen.", + "backToRequest": "Zurück zur Anfrage", + "done": "Fertig" + }, "subtitle": "Gerankt für jeden aktivierten Indexer.", "summaryCount": "{count, plural, one {# Veröffentlichung} other {# Veröffentlichungen}}", "allFreeleech": "alles Freeleech", @@ -7568,7 +8698,8 @@ "decidedBy": "Entschieden von", "decisionNote": "Entscheidungsnotiz", "requestNote": "Notiz anfordern", - "openDetail": "Vollständiges Detail öffnen" + "openDetail": "Vollständiges Detail öffnen", + "pairMedia": "E-Book und Audiobook" }, "confirm": { "cancelDownloadTitle": "Diesen Download abbrechen?", @@ -7624,7 +8755,9 @@ "SUBMIT_DESTINATION_REQUIRED": "Ihre Anfragen werden genehmigt, sobald Sie sie stellen. Wählen Sie also die Bibliothek aus, in der das Buch landen soll", "SUBMIT_SELF_SERVE_LIMIT": "Beenden oder brechen Sie zuerst einige Downloads ab: Sie können {limit} gleichzeitig in Betrieb haben", "SUBMIT_ON_BEHALF_FORBIDDEN": "Es ist Ihnen nicht gestattet, Bücher für andere Personen anzufordern", - "SUBMIT_ON_BEHALF_UNKNOWN_USER": "Für diesen Benutzer kann keine Buchanfrage gestellt werden" + "SUBMIT_ON_BEHALF_UNKNOWN_USER": "Für diesen Benutzer kann keine Buchanfrage gestellt werden", + "SUBMIT_TARGET_BOOK_NOT_FOUND": "Dieses Buch ist nicht in einer Bibliothek, die Sie erreichen können", + "SUBMIT_TARGET_BOOK_HAS_MEDIUM": "Dieses Buch hat bereits dieses Format" }, "actionError": { "BOOK_REQUEST_NOT_PENDING": "Nur eine ausstehende Anfrage unterstützt diese Aktion; Diese Anfrage ist derzeit {status}", @@ -7710,7 +8843,22 @@ "reviewSources": "Überprüfen Sie die Quellen" }, "selfServeBadge": "Eigennützig", - "selfServeBadgeHint": "Direkt vom Antragsteller heruntergeladen, ohne Genehmigungsschritt" + "selfServeBadgeHint": "Direkt vom Antragsteller heruntergeladen, ohne Genehmigungsschritt", + "missingFormat": { + "labelAudiobook": "Audiobook für dieses Buch", + "labelEbook": "E-Book für dieses Buch", + "noAudiobook": "Noch kein Hörbuch", + "noEbook": "Noch kein E-Book", + "requestAudiobook": "Audiobuch anfordern", + "requestEbook": "E-Book anfordern", + "requested": "Angefragt", + "requestedBySomeone": "Angefragt von jemand anderem", + "ownedElsewhere": "In Ihrer Bibliothek als separates Buch", + "open": "Öffnen", + "viewRequest": "Anfrage anzeigen", + "submittedAudiobook": "Angefragt. Das Audiobook wird diesem Buch beitreten, wenn es eintrifft", + "submittedEbook": "Angefragt. Das E-Book wird diesem Buch beitreten, wenn es eintrifft" + } }, "collection": { "visibleToAll": "Für alle Benutzer sichtbar", @@ -7787,6 +8935,9 @@ "uploadBooks": "Bücher hochladen", "appearance": "Erscheinungsbild", "appearanceDescription": "Wählen Sie Themen-, Akzent-, Eckradius-, Oberflächen- und Hintergrundoptionen.", + "style": "Stil", + "surfacePalette": "Oberfläche", + "topGlow": "Oben leuchten", "theme": "Design", "accent": "Akzent", "radius": "Rundung", @@ -7884,7 +9035,8 @@ "updateTooltip": "{version} Update verfügbar", "openUpdateRelease": "Öffnen Sie die Version {version} auf GitHub", "zones": { - "browse": "Durchsuchen" + "browse": "Durchsuchen", + "reading": "Lesen" }, "reorder": { "gripAria": "Neu anordnen {name}", @@ -7915,6 +9067,8 @@ "moreActions": "Weitere Aktionen", "setField": "Feld festlegen", "refreshMetadata": "Metadaten aktualisieren", + "refreshConfirm": "{count, plural, one {Aktualisiere Metadaten für # Buch?} other {Aktualisiere Metadaten für # Bücher?}}", + "refreshConfirmAction": "Aktualisieren", "reExtractCover": "Cover erneut extrahieren", "metadataLock": "Metadatensperre", "lockAll": "Alle sperren", @@ -7976,6 +9130,69 @@ "table": "Tabellen-Ansicht" } }, + "browseHeader": { + "eyebrow": { + "library": "Bibliothek", + "smartScope": "Intelligenter Bereich", + "collection": "Sammlung", + "browse": "Durchsuchen" + }, + "facts": { + "books": "{count, plural, one {# buchen} other {# Bücher}}", + "booksOf": "{matching} von {total, plural, one {# Buch} other {# Bücher}}", + "authors": "{count, plural, one {# Autor} other {# Autoren}}", + "series": "{count, plural, one {# Serie} other {# Serie}}", + "scanned": "{time} gescannt", + "scanningProgress": "Scanne {processed} / {total}", + "syncsToKobo": "Synchronisationen mit Kobo" + }, + "switcher": { + "open": "Von {name} wechseln", + "jumpTo": "Springe zu...", + "libraries": "Bibliotheken", + "smartScopes": "Intelligente Bereiche", + "collections": "Sammlungen", + "empty": "Nichts passt" + }, + "search": { + "removeToken": "Filter {label} entfernen", + "clearAll": "Suche und Filter löschen", + "save": "Speichern", + "summaryToken": "{count, plural, one {# Filter} other {# Filter}}" + }, + "tokens": { + "anyOf": "Jede von {count, plural, one {# Regel} other {# Regeln}}", + "allOf": "Alles {count, plural, one {# Regel} other {# Regeln}}" + }, + "sort": { + "sortBy": "Nach {field} sortieren", + "ascending": "Aufsteigend. Wechseln zu absteigend", + "descending": "Absteigend. Wechseln zu aufsteigend" + }, + "facets": { + "format": "Format", + "rules": "Regeln", + "show": "Zeigen", + "library": "Bibliothek", + "status": "Status", + "ruleCount": "{count, plural, one {# Regel} other {# Regeln}}" + }, + "menu": { + "more": "Mehr für {name}", + "editRules": "Regeln bearbeiten", + "deleteSmartScope": "Smart Scope löschen", + "deleteCollection": "Sammlung löschen", + "confirmDelete": "Löschen \"{name}\"? Dies kann nicht rückgängig gemacht werden.", + "upload": "Bücher hochladen" + }, + "scan": { + "scanning": "Scannen", + "started": "Scanne {name}", + "finished": "Scan von {name} beendet" + }, + "viewModes": "Ansichtsmodus", + "legend": "Lautstärke-Farben" + }, "iconPicker": { "clearSelectionAria": "Ausgewähltes Symbol löschen", "searchLucide": "Lucide-Symbole suchen...", @@ -8084,6 +9301,28 @@ "discardTitle": "Änderungen verwerfen?", "discardDescription": "Ihre nicht gespeicherten Änderungen gehen verloren.", "discardConfirm": "Verwerfen" + }, + "backgroundPicker": { + "none": "Keine", + "dots": "Punkte", + "cross": "Kreuz", + "millimeter": "Millimeter", + "blueprint": "Blaupause", + "brushed": "Gebürstet", + "scanlines": "Scanlines", + "vinyl": "Vinyl", + "carbon": "Kohlenstoff", + "perforated": "Perforiert", + "aurora": "Aurora", + "horizon": "Horizont", + "glow": "Glühen", + "mesh": "Mesh", + "elevation": "Höhe", + "prism": "Prisma", + "spectrum": "Zuschauer", + "spectrum-x": "Spektrum-X", + "spectrum-plus": "Spektrum-Plus", + "eclipse": "Eclipse" } }, "customIcons": { @@ -8141,6 +9380,7 @@ }, "settings": { "title": "Dashboard anpassen", + "preferencesTitle": "Dashboard-Einstellungen", "tabs": { "widgets": "Widgets", "shelves": "Regale" @@ -8177,6 +9417,11 @@ "twoColumns": "Zwei Spalten", "twoColumnsDescription": "Zeigt zwei Regale pro Reihe." }, + "shelfSync": { + "label": "Synchronisiere Regale über Sitzungen", + "description": "Speichern Sie die Sortierreihenfolge, Sichtbarkeit, Zeilenanzahl und Layout auf Ihrem Konto. Wenn ausgeschaltet, bleiben die Einstellungen in diesem Browser." + }, + "saveFailed": "Dashboard-Einstellungen konnten nicht gespeichert werden. Überprüfen Sie Ihre Verbindung und versuchen Sie es erneut.", "libraryScope": { "title": "Dashboard-Bibliotheken", "description": "Wählen Sie aus, welche Bibliotheken Bücher und Lesedaten zu diesem Dashboard beitragen.", @@ -8323,6 +9568,7 @@ }, "tabs": { "providers": "Anbieter", + "servers": "Mail-Server", "recipients": "Empfänger", "groups": "Gruppen", "templates": "Vorlagen", @@ -8491,6 +9737,306 @@ "sending": "Wird gesendet...", "queued": "{count, plural, =0 {keine E-Mails in der Warteschlange} one {eine E-Mail in der Warteschlange} other {# E-Mails in der Warteschlange}}", "failed": "Senden fehlgeschlagen" + }, + "page": { + "addRecipient": "Empfänger hinzufügen", + "recipients": "Empfänger", + "groups": "Gruppen", + "newGroup": "Neue Gruppe", + "servers": "Mail-Server", + "addServer": "Mail-Server hinzufügen", + "templates": "Vorlagen", + "newTemplate": "Neue Vorlage", + "noServersReadonly": "Es wird noch kein Mailserver mit Ihnen geteilt. Bitten Sie einen Administrator, einen hinzuzufügen.", + "roleShared": "Mit allen geteilt", + "roleSystem": "Passwort zurücksetzen", + "cantConnect": "Kann nicht verbinden", + "builtIn": "Eingebaut in", + "recipientsEmptyTitle": "Fügen Sie den E-Reader oder den Posteingang hinzu, an den Sie Bücher senden", + "recipientsEmptyBody": "Die Adresse eines Kindle endet in {kindle} und wird unter Geräte in Ihrem Amazon-Konto aufgelistet. Ein Pocketbook endet in {pocketbook}. Jeder gewöhnliche Posteingang funktioniert auch.", + "kindleNote": "Kindle nimmt nur E-Mails von zugelassenen Absendern. Fügen Sie {address} unter persönlichen Dokumenteneinstellungen in Ihrem Amazon-Konto hinzu.", + "copyAddress": "Adresse kopieren", + "addressCopied": "Adresse kopiert", + "editServer": "{name} bearbeiten", + "editTemplate": "{name} bearbeiten", + "editGroup": "{name} bearbeiten", + "groupCount": "{count, plural, one {# recipient} other {# recipients}}", + "recipientsHint": "Das Sternchen wird beim Absenden ausgewählt.", + "groupsHint": "An mehrere Empfänger auf einmal senden.", + "groupsEmpty": "Noch keine Gruppen.", + "serversHint": "Das Sternchen sendet Ihre Bücher.", + "templatesHint": "Der Betreff und die Nachricht, die mit jedem Buch gesendet werden.", + "kindleTemplateNote": "Ein Kindle zeigt nie die Vorlage: seine E-Mail geht immer mit dem Betreff {subject} aus.", + "test": "Testen", + "testServer": "{name} testen", + "testOk": "{name} verbunden", + "testFailed": "{name} kann nicht verbinden", + "defaultRecipient": "Standard-Empfänger", + "makeDefaultRecipient": "{name} zum Standard-Empfänger machen", + "defaultServer": "Standardserver", + "makeDefaultServer": "{name} zum Standardserver machen", + "defaultTemplate": "Standardvorlage", + "makeDefaultTemplate": "{name} zur Standardvorlage machen", + "editRecipient": "{name} bearbeiten", + "serversEmptyTitle": "Noch kein Mail-Server", + "serversEmptyBody": "Bücher gehen über ein SMTP-Konto. Gmail, Outlook, iCloud und Fastmail sind ein Klick; jeder andere Server funktioniert auch.", + "needServerTitle": "Füge einen Mailserver hinzu, bevor du senden kannst", + "needServerBody": "BookOrbit sendet Bücher über ein eigenes SMTP-Konto, wie z. B. Google Mail mit einem App-Passwort.", + "needServerAsk": "Bitten Sie einen Administrator, einen Mailserver mit Ihnen zu teilen.", + "goToServers": "Zu Mail-Servern wechseln", + "noEncryption": "Keine Verschlüsselung" + }, + "route": { + "defaultSaved": "Standard aktualisiert" + }, + "attention": { + "title": "Benötigt Aufmerksamkeit", + "count": "{count, plural, one {# Eintrag} other {# Elemente}}", + "hide": "Verstecken", + "show": "Zeigen", + "serverDown": "{name} kann nicht verbinden", + "notDelivered": "{book} erreichte {recipient} nicht", + "maybeDelivered": "{book} hat {recipient} möglicherweise nicht erreicht", + "testedAgo": "getestete {time}", + "editServer": "Server bearbeiten", + "editRecipient": "Empfänger bearbeiten", + "resend": "Erneut senden" + }, + "reason": { + "tooLarge": "{size} ist mehr als {server} akzeptiert.", + "tooLargeGmail": "{size} ist über das Limit von 25 MB Anhängen von Google Mail.", + "tooLargeFix": "Senden Sie eine kleinere Ausgabe oder setzen Sie den Empfänger auf nur Text-EPUB.", + "signIn": "{server} hat die Anmeldung abgelehnt.", + "signInFix": "Überprüfen Sie Benutzername und Passwort auf dem Mail-Server.", + "unreachable": "{server} antwortete nicht.", + "unconfirmed": "Die Verbindung wurde abgebrochen, nachdem die Nachricht übergeben wurde, so dass sie möglicherweise eingetroffen ist.", + "unconfirmedFix": "Überprüfen Sie den Posteingang bevor Sie ihn erneut senden oder er kann zweimal ankommen.", + "interrupted": "BookOrbit wurde neu gestartet, während diese E-Mail ausging.", + "interruptedFix": "Aktivieren Sie den Posteingang bevor Sie ihn erneut senden.", + "preparation": "Die Datei konnte nicht zum Senden vorbereitet werden.", + "other": "Der Mail-Server hat es heruntergefahren.", + "server": "der Mail-Server", + "serverMessage": "Server-Nachricht", + "retryAt": "Nächster Versuch {time}." + }, + "status": { + "sent": "Gesendet", + "sending": "Senden", + "retrying": "Wiederholung · {attempt} von {total}", + "unconfirmed": "Unbestätigt", + "failed": "Fehler" + }, + "recent": { + "moreActions": "Weitere Aktionen für {title}", + "deletedBook": "Gelöschtes Buch", + "openBook": "Buch öffnen", + "resend": "Erneut senden", + "delete": "Eintrag löschen" + }, + "log": { + "all": "Alle", + "attention": "Benötigt Aufmerksamkeit", + "active": "In Bearbeitung", + "book": "Buch", + "sentTo": "Gesendet an", + "file": "Datei", + "status": "Status", + "when": "Wann", + "sentMeans": "Gesendet bedeutet, dass Ihr Mail-Server es akzeptiert hat", + "emptyFilter": "Nichts hier im Moment.", + "loadMore": "Mehr laden", + "showing": "{shown} von {total} anzeigen", + "emptyTitle": "Noch nichts gesendet", + "emptyBody": "Bücher, die Sie per E-Mail hier anzeigen, wohin sie gingen und ob der Mailserver sie nahm." + }, + "card": { + "nothingSent": "Noch nichts gesendet", + "failed": "fehlgeschlagen", + "retrying": "wiederhole erneut", + "unconfirmed": "unbestätigt", + "sending": "senden", + "narration": "Erzählung", + "narrationTitle": "Lese-Mit-Bücher behalten ihre Erzählung" + }, + "device": { + "kindle": "Lila", + "kobo": "Kobo", + "other": "Anderer E-Reader", + "otherShort": "E-Reader", + "none": "Person oder Postfach" + }, + "sheet": { + "title": "Per E-Mail senden", + "sendTo": "Senden an", + "groups": "Gruppen", + "templateName": "{name} Vorlage", + "eachFormat": "Format jedes Empfängers", + "formatForAll": "{format} für alle", + "file": "Datei", + "mailServer": "Mail-Server", + "template": "Vorlage", + "yourDefault": "dein Standard", + "emails": "{count, plural, one {# email} other {# emails}}", + "noOnePicked": "Niemand ausgewählt", + "total": "{size} insgesamt", + "send": "{count, plural, one {Senden Sie} other {Senden Sie # E-Mails}}", + "noFormat": "Kein {format}, bekommt {got}", + "readAlong": "Vorlesen, {size}", + "overKindle": "{size}, über das 50-MB-Limit von Kindle", + "overGmail": "{size}, über das 25 MB Limit von Google Mail", + "kindleRejects": "Kindle lehnt {format} ab", + "blockedKindle": "{name} kann {format} nicht empfangen. Wähle EPUB oder PDF oder entferne das Häkchen.", + "books": "{count, plural, one {# buchen} other {# Bücher}}", + "notReadyTitle": "E-Mail ist noch nicht eingerichtet", + "notReadyBody": "Bevor ein Buch überall hingehen kann, benötigt dieses Konto einen Mailserver und einen Empfänger.", + "addServer": "Mail-Server hinzufügen", + "addServerHint": "Gmail, Outlook, iCloud, Fastmail oder ein SMTP-Konto.", + "askForServer": "Bitten Sie einen Administrator, einen Mailserver zu teilen.", + "addRecipient": "Empfänger hinzufügen", + "addRecipientHint": "Ihr Kindle, PocketBook oder jeder Posteingang.", + "openSettings": "E-Mail-Einstellungen öffnen", + "sendingTitle": "Senden von {title}", + "closeHint": "Sie können dies schließen. Fehler werden auch in Ihren Benachrichtigungen und in Ihrer E-Mail-Chronik angezeigt.", + "openHistory": "Verlauf öffnen", + "done": "Fertig", + "acceptedBy": "{server} {time} akzeptiert", + "handingOver": "Übergabe an {server}" + }, + "editor": { + "kindleSubject": "konvertieren", + "recipient": { + "newTitle": "Neuer Empfänger", + "description": "Name, Adresse, Gerät und was er erhält.", + "sectionRecipient": "Empfänger", + "sectionReceives": "Was er erhält", + "name": "Name", + "email": "E-Mail-Adresse", + "device": "Gerät", + "deviceHint": "Kindle ändert den Inhalt von {subject} und beschränkt die folgenden Formate.", + "format": "Format", + "formatPrimary": "Primär des Buches", + "formatHint": "Ein Buch ohne dieses Format erhält seine primäre Ausgabe.", + "kindleFormatHint": "Amazon hat 2023 aufgehört, MOBI und AZW3 per E-Mail zu akzeptieren, so dass sie nicht für ein Kindle angeboten werden. Ein Buch ohne dieses Format erhält seine primäre Ausgabe.", + "kindleLegacyFormat": "Kindle akzeptiert {format} nicht mehr per E-Mail. Wählen Sie EPUB oder PDF.", + "readAlong": "Lese-Mit-Bücher", + "readAlongAutomatic": "Automatisch", + "readAlongAutomaticHint": "Nur Text-, wenn eine sichere Kopie gemacht werden kann, andernfalls das Original.", + "readAlongTextOnly": "Nur Text-EPUB", + "readAlongTextOnlyHint": "Erzählung gestrichen. Klein genug für E-Mail.", + "readAlongOriginal": "Original mit Erzählung", + "readAlongOriginalHint": "Beendet die Erzählung. Oft 100 MB oder mehr über die Grenzen der meisten Mail-Server.", + "notForKindle": "Nicht für Kindle", + "template": "Vorlage", + "templateDefault": "Ihr Standard ({name})", + "templateKindleHint": "Ignoriert für Kindle, die nie die Nachricht zeigt.", + "approveTitle": "Absender in Amazon genehmigen", + "approveBody": "Kindle zieht E-Mails von Adressen, die es nicht kennt, ohne einen Zustellfehler. Fügen Sie in {path} {address} hinzu", + "approvePath": "Verwalten Sie Ihre Inhalte und Geräte › Einstellungen für persönliche Dokumente", + "approveNoServer": "Fügen Sie zuerst einen Mailserver hinzu, um die Adresse zu sehen, die Kindle genehmigen muss.", + "lastSent": "Letztes Buch gesendet {time}", + "sendTest": "Test-E-Mail senden", + "testSubject": "BookOrbit Test-E-Mail", + "testBody": "Dies ist ein Test von BookOrbit. Wenn Sie ihn lesen können, werden auch Bücher an {name} hier eintreffen.", + "testSent": "Test-E-Mail gesendet an {name}", + "testFailed": "Die Test-E-Mail ging nicht aus: {error}", + "makeDefault": "Schneller Empfänger senden", + "remove": "Empfänger löschen", + "removeConfirm": "{name} löschen?", + "removeConsequence": "Es schickt Geschichte Aufenthalte.", + "removeDefaultConsequence": "Seine Geschichtsschreibung bleibt und Schnelle Haltestellen, bis Sie einen anderen Empfänger markieren.", + "required": "Name und E-Mail-Adresse sind erforderlich.", + "sectionLastSent": "Zuletzt gesendet" + }, + "server": { + "newTitle": "Neuer Mailserver", + "description": "Der SMTP-Server, sein Anmeldevorgang und wer ihn durchsenden kann.", + "sectionProvider": "Anbieter", + "sectionServer": "Server", + "sectionSignIn": "Anmelden", + "sectionSender": "Absender", + "sectionWho": "Wer verwendet es", + "presetGmail": "Gmail", + "presetOutlook": "Outlook", + "presetIcloud": "iCloud Mail", + "presetFastmail": "Fastmail", + "presetOther": "Anderes SMTP", + "presetHint": "Eine Voreinstellung füllt den Host, Port und die Sicherheit. Du kannst sie trotzdem ändern.", + "name": "Name", + "host": "Host", + "port": "Port", + "security": "Sicherheit", + "securityStarttls": "STARTTLS", + "securitySsl": "SSL/TLS", + "securityNone": "Keine", + "securityHint": "STARTTLS auf 587, SSL/TLS auf 465.", + "needsPassword": "Dieser Server benötigt ein Passwort", + "username": "Benutzername", + "password": "Passwort", + "appPassword": "App-Passwort", + "passwordKeep": "Gespeichert. Tippe um es zu ersetzen", + "appPasswordHint": "Google Mail und iCloud benötigen ein App-Passwort, nicht Ihr Konto-Passwort.", + "fromName": "Absendername", + "fromAddress": "Absenderadresse", + "fromAddressHint": "Kindle Besitzer müssen diese Adresse bestätigen.", + "share": "Mit allen teilen", + "shareHint": "Andere Personen können Bücher über diesen Server versenden, ohne das Passwort zu sehen.", + "system": "Passwort zurücksetzen und Login-Links senden", + "systemHint": "Der eine Server verwendet BookOrbit selbst. Nur ein Superuser kann dies ändern.", + "verifyTls": "Serverzertifikat überprüfen", + "verifyTlsHint": "Deaktivieren Sie nur für einen Server in Ihrem eigenen Netzwerk mit einem selbstsignierten Zertifikat.", + "test": "Verbindung testen", + "testDirty": "Zuerst speichern und dann testen", + "testOk": "Verbunden", + "testFailed": "Verbindung fehlgeschlagen: {error}", + "remove": "Server löschen", + "removeConfirm": "{name} löschen?", + "removeConsequence": "Jeder, mit dem es geteilt wird, verliert es.", + "removeSystemFirst": "Deaktivieren Sie das Zurücksetzen des Passworts auf diesem Server, bevor Sie es löschen.", + "makeDefault": "Als Standard verwenden", + "required": "Name und Host sind erforderlich." + }, + "template": { + "newTitle": "Neue Vorlage", + "description": "Der Betreff und die Nachricht, die mit jedem Buch gesendet werden.", + "sectionTemplate": "Vorlage", + "sectionInsert": "Insert", + "sectionPreview": "Vorschau", + "name": "Name", + "subject": "Betreff", + "message": "Nachricht", + "groupBook": "Buch", + "groupFile": "Datei", + "groupOther": "Andere", + "insertHint": "Gehe am Cursor, im Betreff oder in der Nachricht. Leere Werte drucken nichts.", + "insertVariable": "Insert {variable}", + "previewWith": "Vorschau mit", + "previewEmpty": "Senden Sie einmal ein Buch, um eine Vorlage mit diesem zu vorschlagen.", + "previewFailed": "Die Vorschau konnte nicht dargestellt werden.", + "previewTo": "An", + "builtInReadonly": "Erstellt in. Nur ein Superuser kann ihn ändern.", + "kindleNote": "Kindle zeigt nie ein Template: Es bekommt immer den Betreff {subject}.", + "makeDefault": "Meinen Standard", + "remove": "Vorlage löschen", + "removeConfirm": "{name} löschen?", + "removeConsequence": "Empfänger, die es verwenden, gehen zurück zu Ihrer Standardvorlage.", + "required": "Name und Betreff sind erforderlich.", + "attachment": "Angehängt: {name}" + }, + "group": { + "newTitle": "Neue Gruppe", + "description": "Eine Reihe von Empfängern, an die ein Buch gleichzeitig gesendet werden kann.", + "sectionGroup": "Gruppe", + "sectionMembers": "Mitglieder", + "name": "Name", + "memberCount": "{count} von {total}", + "noRecipientsTitle": "Keine Empfänger zum Auswählen", + "noRecipientsBody": "Eine Gruppe ist eine Gruppe von Empfängern. Fügen Sie zuerst einen Empfänger hinzu.", + "remove": "Gruppe löschen", + "removeConfirm": "{name} löschen?", + "removeConsequence": "Die Empfänger bleiben.", + "required": "Eine Gruppe benötigt einen Namen.", + "updated": "Gruppe aktualisiert" + } } }, "errors": { @@ -8785,6 +10331,14 @@ "squareTitle": "Quadrat 1:1", "squareHint": "Nur-Hörbuch-Bibliotheken", "slotsHint": "Ein Buch mit sowohl einem E-Book als auch einem Hörbuch zeigt das Cover, das zu dieser Form passt." + }, + "gridShape": { + "title": "Rasterform", + "tallTitle": "Hohe Zellen", + "tallHint": "Am besten für ebooks oder gemischte Bibliotheken", + "squareTitle": "Quadratische Zellen", + "squareHint": "Am besten für Audio-Bibliotheken", + "hint": "Jedes Buch zeigt das Titelbild seines primären Formats, quadratisch für ein Audiobuch. Ein Cover, der nicht mit der Kachel übereinstimmt, folgt der Einstellung der Cover-Anzeige." } }, "folders": { @@ -8981,6 +10535,68 @@ "opfHint": "Neben dem Buch gespeichert von Calibre", "swap": "Tauschen Sie die Bestellung", "hint": "BookOrbit verwendet das erste, das ein Buch hat, und ignoriert das andere. Calibre-Bibliotheken benötigen normalerweise zuerst metadata.opf." + }, + "regex": { + "title": "Regex-Metadaten konfigurieren", + "sourceTitle": "Regex", + "description": "Extrahieren Sie Metadaten aus dem primären Dateipfad relativ zum Bibliotheksordner. Die Dateiendung wird vor dem Abgleich entfernt. Die erste Regel mit nutzbaren Feldern gewinnt.", + "enable": "Regex-Metadaten aktivieren", + "primaryFileHint": "Für ein Buch aus mehreren Dateien, wie Hörbuch-Tracks, lesen die Regeln den Pfad der primären Datei.", + "groups": "Benannte Gruppen:", + "valuesHint": "Verwenden Sie Autor für einen Autor oder durch Semikolone getrennte Autoren. Daten verwenden YYYY-MM-DD. Flags: i ignores case, u aktiviert Unicode.", + "rules": "Bestellte Extraktionsregeln", + "rule": "Regel- {number}", + "moveUp": "Regel nach oben verschieben", + "moveDown": "Regel nach unten bewegen", + "remove": "Regel entfernen", + "basePath": "Bibliotheksverzeichnis", + "extensionHint": "Die Dateierweiterung wird automatisch ignoriert. Der Endanker entspricht dem Dateinamen ohne dessen Erweiterung.", + "flags": "Flaggen", + "add": "Neue Regel", + "examplePath": "Beispiel relativer Dateipfad, inklusive Endung", + "examplePlaceholder": "Autor/Series/08 - My.Book.epub", + "exampleTitle": "Beispiel mit einer Autoren-Rückreferenz", + "exampleTestPath": "Testpfad (inklusive Erweiterung)", + "validating": "Prüfe Regeln…", + "validationSuccess": "Regelsyntax und Gruppen sind gültig. Verwenden Sie die Vorschau, um Übereinstimmungen auf einen Dateipfad zu überprüfen.", + "validationError": "Regeln konnten nicht überprüft werden. Versuchen Sie es noch einmal, bevor Sie sie anwenden.", + "validationRetry": "Erneut prüfen", + "validationRuleCount": "Zwischen {min} und {max} Regeln hinzufügen.", + "preview": "Vorschau", + "previewing": "Testregeln…", + "previewError": "Konnte die Regeln nicht vorschlagen. Überprüfen Sie den relativen Pfad und die Konfiguration und versuchen Sie es erneut.", + "actualInput": "Pfad getestet:", + "matched": "{number} übereinstimmende Regel", + "noMatch": "Keine verwendbare Übereinstimmung. Datei-Metadaten werden verwendet.", + "scanHint": "Änderungen gelten für die zukünftige Extraktion von Metadaten für neue oder geänderte Dateien. Speichern startet keinen Scan oder Update unveränderter Bücher.", + "apply": "Auf Bibliotheksformular anwenden", + "configure": "Konfigurieren", + "enabledHint": "Entpacken Sie Felder aus relativen Pfaden ohne Dateiendungen.", + "disabledHint": "Deaktiviert. Regeln konfigurieren, um sie zu aktivieren.", + "moveSourceUp": "{source} nach oben verschieben", + "moveSourceDown": "{source} nach unten verschieben", + "diagnostics": { + "pattern_required": "Geben Sie einen regulären Ausdruck ein.", + "pattern_too_long": "Der Ausdruck darf {count} Zeichen nicht überschreiten.", + "invalid_flags": "Nur ich und u sind erlaubt, jeweils höchstens einmal.", + "invalid_pattern": "Ungültiger regulärer Ausdruck.", + "missing_group": "Mindestens eine unterstützte benannte Gruppe einschließen.", + "conflicting_authors": "Verwenden Sie entweder Autor oder Autor, nicht beides.", + "invalid_value": "Ein ungültiger Feldwert wurde übersprungen.", + "timeout": "Der Ausdruck hat zu lange gedauert. Vereinfachen Sie das Muster.", + "busy": "Alle Vorschauarbeiter sind beschäftigt. Versuchen Sie es in Kürze erneut.", + "worker_failed": "Der Ausdruck konnte nicht ausgewertet werden. Versuchen Sie es erneut." + }, + "precedenceHint": "Die erste verfügbare Dateiquelle liefert Metadaten. Regex-Felder folgen dieser Reihenfolge und fehlende Werte werden aus der anderen Quelle gefüllt.", + "summary": "{format} zuerst, regex Metadaten bevorzugt", + "fields": { + "title": "Titel", + "authors": "Autoren", + "series": "Serie", + "seriesIndex": "Seriennummer", + "publishedYear": "Veröffentlichtes Jahr", + "publishedDate": "Veröffentlichungsdatum" + } } }, "fileWrite": { @@ -8996,13 +10612,23 @@ }, "cover": { "title": "Cover-Bild einschließen", - "hint": "Schreibt das gespeicherte Cover zurück in unterstützte Dateiformate." + "hint": "Schreibt das gespeicherte Cover zurück in unterstützte Dateiformate.", + "mediumHint": "Schreibt das gespeicherte Cover auch in die Datei. Ebook-Dateien erhalten das Buchcover und Audio-Dateien erhalten das Audiobook-Cover; eine Datei, deren Cover fehlt, behält sich das eigene." + }, + "allFiles": { + "title": "In jede Datei eines Buches schreiben", + "hint": "Auch schreibt er in die anderen Buchdateien, wie ein Audiobook, das neben seinem eBook oder einem PDF im selben Ordner gehalten wird. Jedes Buchformat ist dort geschrieben, also geben Sie eine Begleitdatei wie ein Arbeitsbuch einen eigenen Ordner, um es nicht zu verpassen. Format-Schalter und Größenbeschränkungen unten gelten noch. Wenn Sie diese Option deaktivieren, stoppen Sie zukünftige Schreiben; es werden nicht bereits geschriebene Dateien rückgängig gemacht." }, "epub": { "title": "EPUB", "hint": "Schreibt Metadaten in die OPF-Datei innerhalb des EPUB-Archivs.", "toggleAria": "EPUB-Metadaten schreiben" }, + "readAlong": { + "title": "EPUB lesen", + "hint": "EPUBs mit synchronisierten Erzählungen, wie zum Beispiel Storyteller Lesen, tragen ihr Audio, sie sind also groß und benötigen mehr Speicher, um neu zu schreiben.", + "toggleAria": "EPUB Metadaten lesen" + }, "fb2": { "title": "Belletristik (FB2)", "hint": "Schreibt den Beschreibungsblock in FB2-Dateien neu und lässt den Buchtext unberührt.", @@ -9026,7 +10652,9 @@ "audio": { "title": "Audio", "hint": "Bettet das gespeicherte Cover in M4B-, M4A-, MP3- und FLAC-Dateien ein.", - "toggleAria": "Audio-Cover schreiben" + "toggleAria": "Audio-Cover schreiben", + "tagsHint": "Schreibt Tags wie Titel, Autoren, Erzähler und Serien in M4B, M4A, MP3 und FLAC Dateien.", + "tagsToggleAria": "Audio-Metadaten schreiben" }, "coverAudioHint": "Schreibt auch das gespeicherte Cover in die Datei. Audiodateien können nur ein Cover annehmen.", "audioNeedsCover": "„Titelbild einbeziehen“ muss aktiviert sein.", @@ -9120,6 +10748,7 @@ "add": "Hinzufügen", "emptyCreate": "Noch niemand sonst. Personen, die Sie hier hinzufügen, erhalten Zugriff, sobald die Bibliothek existiert.", "superusers": "Superuser haben immer vollen Zugriff.", + "levelsHint": "Betrachter können durchsuchen und lesen. Redakteure und Eigentümer können auch Metadaten bearbeiten, wenn ihr Konto über die Berechtigung Metadaten bearbeiten verfügt.", "levelFor": "Zugriffsebene für {name}", "revokeFor": "Zugriff für {name} entfernen", "revokeQuestion": "Zugriff entfernen?", @@ -9239,6 +10868,13 @@ "createFolder": "Ordner konnte nicht erstellt werden" } }, + "destination": { + "loadFailed": "Zielbibliotheken konnten nicht geladen werden. Schließen und erneut öffnen, um es erneut zu versuchen.", + "noLibraries": "Keine Buchbibliotheken verfügbar. Erstellen Sie eine Bibliothek oder fragen Sie einen Administrator nach Zugriff.", + "noFolders": "Diese Bibliothek hat keine Zielordner. Fügen Sie einen Ordner in die Bibliothekseinstellungen ein.", + "unavailable": "Die ausgewählte Bibliothek ist nicht mehr verfügbar.", + "selectFolder": "Ordner auswählen..." + }, "upload": { "library": "Bibliothek", "selectLibrary": "Bibliothek auswählen...", @@ -9266,6 +10902,85 @@ } } }, + "metadataReminders": { + "title": "Erinnerungen an fehlende Felder", + "navDescription": "Wählen Sie die fehlenden Metadatenfelder aus, die Sie sehen möchten", + "personal": "Ihre Einstellungen", + "description": "Wählen Sie, welche fehlenden Felder in Buch-Erinnerungen angezeigt werden. Diese Einstellungen gelten in Ihrer Bibliothek und ändern keine Metadatenpunkte.", + "sheetDescription": "Wählen Sie die Felder, die Ihnen wichtig sind, ohne dieses Buch zu verlassen.", + "fieldsHeading": "Zu prüfende Felder", + "autoSave": "Änderungen werden automatisch in Ihrem Konto gespeichert.", + "saving": "Einstellungen speichern...", + "saved": "Einstellungen gespeichert.", + "reset": "Auf Standardwerte zurücksetzen", + "disabled": "Keine Felder ausgewählt. Fehlende Erinnerungen an das Feld sind ausgeblendet.", + "saveFailed": "Ihre Einstellungen konnten nicht gespeichert werden. Ihre vorherigen Einstellungen wurden wiederhergestellt.", + "customize": "Erinnerungen anpassen...", + "missingHeading": "Fehlende Metadaten", + "missingDescription": "Fehlende Felder, die Sie verfolgen möchten.", + "missingCount": "{count, plural, one {# fehlendes Feld} other {# fehlende Felder}}", + "missingFields": "{count, plural, one {Fehlendes Feld} other {Fehlende Felder}}", + "fields": { + "publisher": { + "label": "Herausgeber", + "hint": "Der Verlag ist ausgefüllt." + }, + "language": { + "label": "Sprache", + "hint": "Die Sprache ist ausgefüllt." + }, + "publication": { + "label": "Veröffentlichungsjahr", + "hint": "Ein Veröffentlichungsjahr oder ein vollständiges Datum reicht aus." + }, + "pageCount": { + "label": "Seitenanzahl", + "hint": "Die Seitenanzahl wird ausgefüllt. Audio-Nur-Bücher werden übersprungen." + }, + "isbn": { + "label": "ISBN", + "hint": "Entweder ISBN-10 oder ISBN-13 reicht aus." + }, + "genres": { + "label": "Genres", + "hint": "Mindestens ein Genre wird ausgefüllt." + }, + "tags": { + "label": "Tags", + "hint": "Mindestens ein Tag ist ausgefüllt." + }, + "description": { + "label": "Beschreibung", + "hint": "Die Beschreibung ist ausgefüllt." + } + } + }, + "metadataCache": { + "badge": { + "cached": "Zwischengespeichert", + "stale": "Alt", + "cachedHint": "Gespeichertes Ergebnis von {when}", + "cachedHintUndated": "Gespeichertes Ergebnis", + "staleHint": "Der Provider war nicht verfügbar, daher wurde ein gespeichertes Ergebnis von {when} verwendet", + "staleHintUndated": "Der Provider war nicht verfügbar, daher wurde ein gespeichertes Ergebnis verwendet" + }, + "notice": { + "someCached": "Einige Ergebnisse kamen von gespeicherten Suchen (älter: {when}).", + "someCachedUndated": "Einige Ergebnisse kamen aus gespeicherten Suchen.", + "someStale": "Einige Anbieter waren nicht verfügbar, so dass gespeicherte Ergebnisse angezeigt wurden (älter: {when}).", + "someStaleUndated": "Einige Anbieter waren nicht verfügbar, daher wurden gespeicherte Ergebnisse angezeigt.", + "searchFresh": "Neu suchen", + "searchFreshHint": "Bitten Sie jeden Anbieter erneut anstatt gespeicherte Antworten zu verwenden" + }, + "fallback": { + "usedSaved": "{count, plural, one {{providers} war nicht verfügbar, daher wurden gespeicherte Ergebnisse verwendet.} other {{providers} waren nicht verfügbar, daher wurden gespeicherte Ergebnisse verwendet.}}" + }, + "ignoreCache": { + "label": "Cache-Ergebnisse ignorieren", + "hint": "Bitten Sie jeden Provider erneut anstatt gespeicherte Antworten erneut zu verwenden. Langsamer und verwendet mehr von der Anforderungszulage jedes Anbieters.", + "runHint": "Gilt für den Start, den Sie hier starten. Jeder Anbieter wird erneut gefragt, anstatt gespeicherte Antworten erneut zu verwenden, was langsamer ist." + } + }, "metadataScore": { "missingFields": "{count, plural, =0 {keine fehlenden Felder - Metadaten bearbeiten} one {# fehlendes Feld - Metadaten bearbeiten} other {# fehlende Felder - Metadaten bearbeiten}}" }, @@ -9706,6 +11421,22 @@ } }, "reader": { + "pageImages": { + "loadFailed": "Dieses Dokument konnte nicht geöffnet werden. Überprüfen Sie Ihren Zugriff oder versuchen Sie es erneut.", + "pageFailed": "Diese Seite konnte nicht geladen werden. Erneut wiederholen, wenn der Server verfügbar ist.", + "pageAlt": "Seite {page}", + "previousPage": "Vorherige Seite", + "nextPage": "Nächste Seite", + "goToPage": "Gehe zur Seite", + "pin": "Lesermenü anheften", + "unpin": "Lesermenü lösen" + }, + "djvu": { + "pageText": "Eingebetteter Seitentext", + "textDescription": "Text im DjVu Dokument. OCR kann Fehler enthalten.", + "noText": "Diese Seite hat keinen eingebetteten Text.", + "textFailed": "Der eingebettete Text dieser Seite konnte nicht geladen werden." + }, "retry": "Erneut versuchen", "pdf": { "openError": "Diese PDF-Datei kann nicht geöffnet werden", @@ -9776,6 +11507,7 @@ }, "loadingBook": "Buch wird geladen…", "failedToLoadBook": "Laden des Buches fehlgeschlagen", + "bookLoadTimeout": "Das Buch hat zu lange gedauert. Aktualisieren Sie die Seite.", "chapterNumber": "Kapitel {number}", "peek": { "badge": "Vorschau", @@ -11355,6 +13087,7 @@ "pinnedHint": "Angepinnte Episoden sind vor der Entfernung der Speicheraufbewahrung geschützt.", "explicit": "Explizit", "lastListened": "{time} angehört", + "timeLeft": "{time} verbleibend", "remainingClock": "-{time}", "pinnedEpisode": "Angepinnte Folge", "newEpisodeCount": "{count} neu", @@ -11524,18 +13257,26 @@ }, "import": { "title": "Lokale Dateien importieren", + "description": "Ordne Audiodateien, die bereits im Ordner dieser Bibliothek liegen, Episoden aus deinen abonnierten Feeds zu.", + "placementHint": "Lege die Dateien zuerst im Ordner dieser Bibliothek ab. BookOrbit übernimmt sie an ihrem vorhandenen Ort: Nichts wird kopiert, umbenannt oder verschoben.", "scan": "Suche nach Dateien", "running": "Durchsuche...", "progress": "{current} of {total} files scanned", "apply": "Passende Dateien importieren", "applyWithChoices": "Importiere passende Dateien und deine Auswahl", "applied": "{count} Dateien angenommen.", + "quota": "{adopt} zu übernehmen, {headroom} des Kontingents noch frei", + "truncated": "Einige Listen sind gekürzt. Die oben angegebenen Zahlen sind vollständig.", "chooseEpisode": "Wähle die Episode", "leaveUnresolved": "Für später lassen", "noDate": "Kein Datum", "fileCount": "{count} Dateien", "subscribe": "Abonnieren", "subscribed": "Abonniert", + "suggestedFeedsHint": "Diese Ordner tragen den Namen eines Feeds, den du noch nicht abonniert hast. Abonniere ihn und scanne erneut, um die Dateien zuzuordnen.", + "rescanHint": "Scanne erneut, um die Dateien in den Ordnern zuzuordnen, die du gerade abonniert hast.", + "duplicateDiffers": "Dieser Episode ist bereits eine andere Datei zugeordnet", + "duplicateSame": "Dieser Episode ist diese Datei bereits zugeordnet", "unreadableFolders": "{count} Ordner konnten nicht gelesen werden.", "groups": { "matched": "Übereinstimmend", @@ -11549,6 +13290,7 @@ "signals": { "episode_guid": "Episoden-ID in Datei-Tags", "episode_id_suffix": "BookOrbit-ID im Dateinamen", + "enclosure_file_name": "Der Dateiname stimmt mit dem des Feeds überein", "title_and_date": "Titel und Datum", "title_and_duration": "Titel und Länge", "manual": "Deine Entscheidung" @@ -11556,15 +13298,23 @@ "scopes": { "request": "Ausgewählte anzeigen", "folder_suffix": "Ordnernamen anzeigen", + "feed_url_tag": "Feed-Adresse in den Tags der Datei", "feed_sidecar": "Feed im Ordner gespeichert", "title_similarity": "Ähnlicher Serientitel", "library": "Keine Sendung gefunden" }, "reasons": { "show_unresolved": "Keine Sendung konnte für diese Datei identifiziert werden", + "no_episode_candidate": "Die Sendung stimmte überein, aber keine Episode", + "single_fuzzy_signal": "Nur ein Signal wies auf eine Episode hin", + "multiple_candidates": "Mehrere Episoden passen gleich gut", "empty_file": "Die Datei ist leer", "unsupported_format": "Keine unterstützte Audiodatei", - "unreadable": "Die Datei konnte nicht gelesen werden" + "symlink": "Symbolische Links werden nicht importiert", + "unreadable": "Die Datei konnte nicht gelesen werden", + "outside_library_root": "Die Datei wird in einen Pfad außerhalb des Bibliotheksordners aufgelöst", + "attach_conflict": "Der Episode wurde während des Scans eine Datei zugeordnet", + "quota_exceeded": "Der Import dieser Dateien würde das Speicherkontingent dieser Bibliothek überschreiten. Erhöhe das Kontingent oder importiere weniger Dateien." }, "sources": { "feed_sidecar": "Feed-Datei gespeichert", @@ -11603,6 +13353,12 @@ "feedsRefreshQueued": "Aktualisierung für {count} Feeds eingereiht", "finishedQueueCleared": "Gehörte Episoden aus der Warteschlange entfernt", "bulkQueueActionCompleted": "{count} ausgewählte Episoden aktualisiert", + "bulkQueueActionFailed": "{completed} Episoden aktualisiert, {failed} fehlgeschlagen", + "bulkQueued": "{completed} Episoden in die Warteschlange gestellt; {skipped} waren bereits eingereiht oder überschritten das Warteschlangenlimit", + "bulkMarkedPlayed": "{count} Episoden als abgespielt markiert", + "bulkDownloadsQueued": "Downloads für {count} Episoden in die Warteschlange gestellt", + "bulkDownloadsRemoved": "Downloads für {count} Episoden entfernt", + "bulkDownloadsRemovedWithFailures": "{completed} Downloads entfernt; {failed} fehlgeschlagen", "queueRestored": "{count} Episoden in der Warteschlange wiederhergestellt", "playlistSaved": "Wiedergabeliste gespeichert", "playlistDeleted": "Wiedergabeliste gelöscht", @@ -12083,6 +13839,7 @@ }, "email": { "providers": "Anbieter", + "servers": "Mail-Server", "recipients": "Empfänger", "groups": "Gruppen", "templates": "Vorlagen", @@ -12096,7 +13853,8 @@ "genre-blocklist": "Genre-Sperrliste", "score": "Vertrauenswert", "auto-fetch": "Automatischer Buchabruf", - "authors": "Automatischer Autorenabruf" + "authors": "Automatischer Autorenabruf", + "search-cache": "Cache suchen" }, "admin": { "users": "Benutzer", @@ -12207,5 +13965,92 @@ "errors": { "generic": "TTS Fehler" } + }, + "delivery": { + "readAloud": { + "label": "EPUB-Lieferung vorlesen", + "automatic": "Automatisch: Vorziehen Sie nur Text-, erlauben Sie Original-Fallback.", + "textOnly": "Nur Text-EPUB", + "original": "Original EPUB mit Erzählung", + "hint": "Gilt für zukünftige Lieferungen. Originale bewahren bestehende Erzählungen und können viel größer sein. Textvorbereitung scheitert, wenn keine sichere Kopie erstellt werden kann.", + "koboHint": "Originale EPUBs umgehen KEPUB Konvertierung. Native Kobo Firmware kann keine Erzählung abspielen, und genaue Position und Highlight-Synchronisation sind für diese Kopie nicht verfügbar.", + "profileHint": "Verwenden Sie separate OPDS-Profile für Leser, die unterschiedliche EPUB-Varianten benötigen.", + "replacementTitle": "Kobo-Kopie ersetzen", + "bookId": "Buch-ID", + "device": "Gerät", + "prepare": "Ersatz vorbereiten", + "offer": "Ich habe nur die Gerätekopie entfernt; biete den Ersatz an", + "confirm": "Ich habe den Ersatz installiert", + "cancel": "Ersatz abbrechen", + "replacementHint": "Bereiten und überprüfen Sie zuerst. Das Entfernen einer Gerätekopie löscht das Bibliotheksbuch nicht. Sichern Sie selbst Geräte-lokale Notizen. BookOrbit bewahrt kanonische Fortschritte und Server-Anmerkungen. Verzögerte Ereignisse können die genaue Synchronisation begrenzen.", + "prepared": "Ersatz vorbereitet: {format}, {size}. Entferne dieses Buch nur aus dem ausgewählten Gerät, dann biete den vorbereiteten Ersatz und synchronisiere an.", + "offered": "Ersetzung angeboten. Synchronisieren und Herunterladen auf dem Gerät, bestätigen Sie die Installation. Ein abgeschlossener HTTP-Transfer belegt keine Installation.", + "cancelled": "Ersatz abgebrochen. Stornierung stellt keine entfernte oder teilweise ersetzte Gerätekopie wieder her. Wählen Sie dasselbe Buch aus, um einen Wiederherstellungs-Download vorzubereiten.", + "alreadyOnDevice": "Das Gerät hat bereits diese exakte Kopie, so dass es nichts zu ersetzen gibt.", + "failed": "Dieser Ersatz konnte nicht vorbereitet oder aktualisiert werden.", + "searchBook": "Nach einem Buch suchen", + "chooseBook": "Buch auswählen", + "moreResults": "Mehr Bücher anzeigen", + "noResults": "Keine passenden Bücher gefunden.", + "refresh": "Aktualisiere Zustellstatus", + "confirmed": "Sie haben die Installation bestätigt. Dies speichert Ihre Bestätigung, nicht die Geräteüberprüfung.", + "transferred": "Die Übertragung abgeschlossen. Öffnen Sie den Austausch auf dem Gerät bevor Sie die Installation bestätigen.", + "koreaderDefaultTitle": "KOReader EPUB Lieferung", + "koreaderDefaultHint": "Die Standardeinstellung gilt für zukünftige Downloads auf Geräten, die diese Zugangsdaten verwenden. Geräteeinstellungen können diese überschreiben. Bestehende Kopien und unterbrochene Downloads bleiben unverändert.", + "koreaderUseDefault": "Anmeldedaten verwenden", + "koreaderSaveFailed": "Die KOReader EPUB Zustellung Einstellung konnte nicht gespeichert werden. Versuchen Sie es erneut.", + "koreaderSaved": "KOReader EPUB Liefereinstellung gespeichert." + } + }, + "commandPalette": { + "title": "Suchen", + "description": "Suchen Sie Bücher, Autoren, Serien und Einstellungen, springen Sie an einen Ort oder führen Sie eine Aktion.", + "placeholder": "Suche Bücher, Autoren, Serien oder gehe zu…", + "close": "Suche schließen", + "clear": "Suche löschen", + "tabs": { + "all": "Alle", + "books": "Bücher", + "authors": "Autoren", + "series": "Serie", + "settings": "Einstellungen" + }, + "sections": { + "continueReading": "Lesen fortsetzen", + "goTo": "Gehe zu", + "actions": "Aktionen", + "books": "Bücher", + "authors": "Autoren", + "series": "Serie", + "settings": "Einstellungen" + }, + "kinds": { + "author": "Autor", + "series": "Serie", + "library": "Bibliothek", + "smartScope": "Intelligenter Bereich", + "collection": "Sammlung", + "page": "Seite", + "setting": "Einstellung" + }, + "showAllBooks": "{count, plural, one {Zeige # Buch} other {Zeige alle # Bücher}}", + "showAllAuthors": "{count, plural, one {Zeige # Autor} other {Zeige alle # Autoren}}", + "showAllSeries": "{count, plural, one {Zeige # Serie} other {Zeige alle # Serien}}", + "showAllSettings": "{count, plural, one {Zeige # Einstellung} other {Zeige alle # Einstellungen}}", + "actions": { + "lightTheme": "Zum hellen Theme wechseln", + "darkTheme": "Zum dunklen Theme wechseln" + }, + "hints": { + "navigate": "Navigate", + "open": "Öffnen", + "filter": "Filtern", + "close": "Schließen" + }, + "keys": { + "escape": "esc", + "tab": "tab" + }, + "resultCount": "{count, plural, =0 {Keine Ergebnisse} one {# Ergebnis} other {# Ergebnisse}}" } } diff --git a/client/src/locales/el.json b/client/src/locales/el.json index 2eeb09715..cc1e10881 100644 --- a/client/src/locales/el.json +++ b/client/src/locales/el.json @@ -14,7 +14,17 @@ "previous": "Προηγούμενο", "retry": "Επανάληψη", "yes": "Ναι", - "no": "Όχι" + "no": "Όχι", + "show": "Εμφάνιση", + "hide": "Απόκρυψη", + "undo": "Αναίρεση", + "pagination": { + "label": "Σελιδοποίηση", + "pageOf": "Σελίδα {page} του {totalPages}", + "previousPage": "Προηγούμενη σελίδα", + "nextPage": "Επόμενη σελίδα", + "goToPage": "Μετάβαση στη σελίδα {page}" + } }, "settings": { "privacySharing": { @@ -48,7 +58,9 @@ "narrators": "Κορυφαίοι αφηγητές" }, "confirm": { + "shareTitle": "Ενεργοποίηση {level}?", "shareDescription": "Οι διαχειριστές με άδεια θα είναι σε θέση να δουν τις ακόλουθες πληροφορίες.", + "stopTitle": "Σταματήστε να μοιράζεστε πληροφορίες ανάγνωσης?", "stopDescription": "Η πρόσβαση στον διαχειριστή θα αποκλειστεί αμέσως. Οι εγγραφές υπάρχουσας πρόσβασης παραμένουν στο ιστορικό σας.", "recordedNotice": "Κάθε προβολή προφίλ διαχειριστή καταγράφεται και εμφανίζεται στο ιστορικό πρόσβασης σας." }, @@ -95,10 +107,52 @@ }, "theme": { "title": "Θέμα", + "style": { + "label": "Στυλ", + "hint": "Η συνολική εμφάνιση της εφαρμογής. Λειτουργία, έμφαση, γωνίες και φόντο διατηρεί τις ρυθμίσεις τους.", + "bookorbit": { + "label": "BookOrbit", + "description": "Επικαλυμμένες επιφάνειες, γυάλινα πάνελ και serif κλάσεις." + }, + "nostalgia": { + "label": "Nostalgia", + "description": "Ουδέτερο έδαφος, τύπος συστήματος, επίπεδες πλάκες και μια λάμψη." + } + }, "colorScheme": { "label": "Συνδυασμός χρωμάτων", "hint": "Φωτεινή ή σκοτεινή διεπαφή" }, + "surfacePalette": { + "label": "Επιφάνεια", + "hint": "Το ουδέτερο έδαφος πίσω από πάνελ και κάρτες.", + "palettes": { + "onyx": "Ονυξ", + "carbon": "Άνθρακας", + "neutral": "Ουδέτερο", + "zinc": "Ψευδάργυρος", + "iron": "Σίδηρος", + "steel": "Χάλυβας", + "ash": "Τέφρα", + "smoke": "Καπνός", + "charcoal": "Κάρβουνο", + "slate": "Πλασμός", + "midnight-blue": "Μπλε μεσάνυχτα", + "ocean": "Ωκεανός", + "pine": "Πεύκο", + "olive": "Ελιές", + "stone": "Πέτρα", + "sepia": "Sepia", + "crimson": "Crimson", + "plum": "Δαμάσκηνο" + } + }, + "topGlow": { + "label": "Πάνω λάμψη", + "hint": "Πόσο μακριά φτάνει η λάμψη έμφασης κάτω από τη σελίδα. Σύρετε προς τα αριστερά για να την απενεργοποιήσετε.", + "value": "{value}%", + "off": "Ανενεργό" + }, "accents": { "grey": "Γκρι", "scarlet": "Scarlet", @@ -166,11 +220,18 @@ "blush": "Blush" }, "accentColor": { - "label": "Χρώμα έμφασης" + "label": "Χρώμα έμφασης", + "hint": "Σημεία ελέγχου και διαδραστικά στοιχεία" }, "cornerRadius": { "label": "Corner radius", - "hint": "Στρογγυλή ικανότητα των καρτών και στοιχείων UI" + "hint": "Στρογγυλή ικανότητα των καρτών και στοιχείων UI", + "options": { + "sharp": "Σταθερή", + "default": "Προεπιλογή", + "rounded": "Στρογγυλεμένο", + "pill": "Pill" + } }, "surfaceBrightness": { "label": "Φωτεινότητα επιφάνειας", @@ -189,7 +250,8 @@ "structural": "Διαρθρωτικά", "ambient": "Περιβάλλον", "refractive": "Διαθλαστική" - } + }, + "syncSaveFailed": "Αποτυχία αποθήκευσης προτιμήσεων θέματος" }, "storage": { "title": "Πού να αποθηκεύσετε τις προτιμήσεις εμφάνισης", @@ -221,6 +283,21 @@ "loadError": "Αποτυχία φόρτωσης του προεπιλεγμένου παρόχου αναζήτησης καλύμματος", "saveError": "Αποτυχία αποθήκευσης του προεπιλεγμένου παρόχου αναζήτησης καλύμματος" }, + "placeholderStyle": { + "title": "Στυλ τοποθέτησης", + "hint": "Τα βιβλία χωρίς εξώφυλλο σχεδιάζονται σε αυτό το στυλ.", + "options": { + "bauhaus": "Bauhaus", + "constructivist": "Κατασκευαστής", + "memphis": "Memphis", + "clothbound": "Ρούχα", + "poster": "Αφίσα", + "aurora": "Aurora", + "vista": "Vista", + "marbled": "Μάρμαρα", + "paperback": "Paperback" + } + }, "displayMode": { "title": "Λειτουργία προβολής εξωφύλλου", "hint": "Ελέγχει πώς τα πραγματικά καλύμματα ταιριάζουν στο εσωτερικό του βιβλίου υποδοχές όταν οι αναλογίες διαστάσεων διαφέρουν", @@ -415,6 +492,11 @@ "collapseSeries": { "label": "Σύμπτυξη σειράς από προεπιλογή", "hint": "Ομαδικά βιβλία στην ίδια σειρά σε μια ενιαία κάρτα στη βιβλιοθήκη και προβολές συλλογής" + }, + "bookRequests": { + "label": "Εμφάνιση Αιτημάτων Βιβλίου", + "hint": "Εμφάνιση σελίδων αιτήσεων, ερωτήσεων και ρυθμίσεων σε αυτόν τον λογαριασμό. Οι υπάρχουσες αιτήσεις εξακολουθούν να εκτελούνται όταν κρύβονται.", + "saveFailed": "Αδύνατη η ενημέρωση της ορατότητας αιτημάτων βιβλίου" } }, "icons": { @@ -444,7 +526,8 @@ "smartScopes": "{count, plural, =0 {Κανένα έξυπνο πεδίο εφαρμογής} one {# έξυπνο πεδίο εφαρμογής} other {# έξυπνο πεδίο εφαρμογής}}" }, "confirm": { - "deleteOne": "Διαγραφή \"{name}\"? Οι υπάρχουσες χρήσεις θα πέσουν πίσω στο προεπιλεγμένο εικονίδιο." + "deleteOne": "Διαγραφή \"{name}\"? Οι υπάρχουσες χρήσεις θα πέσουν πίσω στο προεπιλεγμένο εικονίδιο.", + "deleteMany": "{count, plural, =0 {Διαγράψτε κανένα εικονίδιο?} one {Διαγραφή # εικονιδίου? Οι υπάρχουσες χρήσεις θα επιστρέψουν στο προεπιλεγμένο εικονίδιο.} other {Διαγραφή # εικονιδίων? Οι υπάρχουσες χρήσεις θα επιστρέψουν στο προεπιλεγμένο εικονίδιό τους.}}" }, "toasts": { "saved": "Το εικονίδιο αποθηκεύτηκε", @@ -538,6 +621,7 @@ "removed": "Η εικόνα προφίλ αφαιρέθηκε", "removeFailed": "Αποτυχία κατάργησης εικόνας προφίλ", "removeConfirm": { + "title": "Κατάργηση εικόνας προφίλ?", "description": "Το avatar σας θα αφαιρεθεί και θα αντικατασταθεί με αρχικά.", "confirm": "Αφαίρεση" } @@ -547,6 +631,7 @@ "unlink": "Αποσύνδεση", "unlinking": "Αποσύνδεση...", "linkAdditional": "Σύνδεσμος πρόσθετων παρόχων:", + "linkProvider": "Σύνδεσμος {provider}", "redirecting": "Ανακατεύθυνση...", "noneConfigured": "Δεν έχουν ρυθμιστεί πάροχοι OIDC. Ζητήστε από τον διαχειριστή να ρυθμίσει το SSO.", "linkStateFailed": "Αποτυχία δημιουργίας κατάστασης συνδέσμου", @@ -555,10 +640,12 @@ "unlinked": "Μη συνδεδεμένη ταυτότητα", "unlinkIdentityFailed": "Αποτυχία αποσύνδεσης ταυτότητας", "unlinkDialog": { + "title": "Αποσύνδεση ταυτότητας {provider};", "description": "Εισάγετε τον κωδικό πρόσβασής σας για επιβεβαίωση. Δεν θα μπορείτε πλέον να συνδεθείτε με αυτόν τον πάροχο.", "currentPassword": "Τρέχων κωδικός πρόσβασης" }, - "description": "Συνδεθείτε με έναν εξωτερικό πάροχο ταυτότητας συνδεδεμένο με αυτόν τον λογαριασμό." + "description": "Συνδεθείτε με έναν εξωτερικό πάροχο ταυτότητας συνδεδεμένο με αυτόν τον λογαριασμό.", + "unlinkAria": "Αποσύνδεση {provider}" }, "tour": { "title": "Περιήγηση Με Ξενάγηση", @@ -608,6 +695,9 @@ "never": "Καμία καταγεγραμμένη δραστηριότητα", "noExpiry": "Καμία λήξη", "expired": "Έληξε", + "expiresOn": "Λήγει {date}", + "revokedOn": "Ανακλήθηκε το {date}", + "expiredOn": "Έληξε {date}", "usesCount": "{count, plural, =0 {Δεν χρησιμοποιεί} one {μία χρήση} other {# χρησιμοποιεί}}", "copied": "Αντιγράφηκε!", "copyLink": "Αντιγραφή συνδέσμου", @@ -615,6 +705,7 @@ "resume": "Συνέχιση", "revoke": "Revoke", "revoking": "Ανάκληση...", + "emptyState": "Δεν έχουν δημιουργηθεί ακόμη μαγικοί σύνδεσμοι. Κάντε κλικ στο \"{action}\" για να δημιουργήσετε μια κοινή διεύθυνση URL σύνδεσης.", "columns": { "label": "Ετικέτα", "account": "Λογαριασμός", @@ -639,6 +730,7 @@ "creating": "Δημιουργία..." }, "revokeDialog": { + "title": "Ανάκληση μαγικού συνδέσμου?", "description": "Αυτό θα ακυρώσει αμέσως το σύνδεσμο και θα τερματίσει όλες τις ενεργές συνεδρίες για το συνδεδεμένο λογαριασμό." }, "errors": { @@ -653,6 +745,7 @@ "noActiveTitle": "Δεν υπάρχουν ενεργοί σύνδεσμοι μαγείας", "noActiveHint": "Όλοι οι μαγικοί σύνδεσμοι που δημιουργούνται για αυτή τη σελίδα έχουν λήξει ή έχουν ανακληθεί.", "copyLinkAria": "Αντιγραφή του συνδέσμου για το {label}", + "pauseAria": "Παύση {label}", "resumeAria": "Συνέχιση {label}", "revokeAria": "Revoke {label}", "lastUsedLabel": "Τελευταία χρήση {date}" @@ -664,6 +757,7 @@ "addProvider": "Προσθήκη Παρόχου", "editProvider": "Επεξεργασία Παρόχου", "configureNew": "Ρύθμιση ενός νέου παρόχου OIDC.", + "editing": "Επεξεργασία {slug}", "enabled": "Ενεργοποιημένο", "disabled": "Απενεργοποιημένο", "empty": { @@ -714,7 +808,10 @@ "deleting": "Διαγραφή..." }, "test": { + "connected": "Συνδεδεμένο - {issuer}", "connectionFailed": "Αποτυχία σύνδεσης", + "privateIssuerAddress": "Το URL του εκδότη επιλύει σε μια διεύθυνση ιδιωτικού ή τοπικού δικτύου, οπότε ο διακομιστής αρνήθηκε να συνδεθεί. Ορίστε OIDC_ALLOW_LOCAL_ISSUERS=true στο διακομιστή BookOrbit για να το επιτρέψετε.", + "tlsCertificateUntrusted": "Το BookOrbit δεν μπόρεσε να επαληθεύσει το πιστοποιητικό TLS του παρόχου OIDC. Εάν ο πάροχος χρησιμοποιεί μια ιδιωτική αρχή πιστοποιητικού, προσαρμόστε το πακέτο PEM CA του, ορίστε το NODE_EXTRA_CA_CERTS στη διαδρομή του πακέτου εντός του δοχείου και επανεκκινήστε το BookOrbit.", "hide": "Απόκρυψη", "details": "Λεπτομέρειες", "supported": "υποστηρίζεται", @@ -722,6 +819,7 @@ }, "groupMappings": { "title": "Αντιστοιχίσεις Ομάδων", + "description": "Η ομάδα OIDC ισχυρίζεται ότι έχει δικαιώματα BookOrbit. Συγχρονίζεται σε κάθε σύνδεση.", "noPermission": "Δεν υπάρχει άδεια", "empty": "Δεν έχουν ρυθμιστεί αντιστοιχίσεις ομάδας.", "addMapping": "Προσθήκη χαρτογράφησης", @@ -763,6 +861,7 @@ "recommendationsGroup": "Συστάσεις", "achievementsGroup": "Επιτεύγματα", "updatesGroup": "Ενημερώσεις", + "importFromBooklore": "Εισαγωγή από Booklore", "bookloreImportConfigured": "Ρυθμίστηκε εισαγωγή σελιδοδείκτη", "importLibraryData": "Εισαγωγή δεδομένων βιβλιοθήκης", "migrationConfigured": "Ρυθμίστηκε πηγή μετανάστευσης", @@ -772,6 +871,8 @@ "importDescription": "Εφάπαξ εισαγωγή βιβλίων, μεταδεδομένων και ανάγνωση προόδου από μια προηγούμενη εγκατάσταση Booklore.", "migrationDescription": "Εφάπαξ εισαγωγή βιβλίων, μεταδεδομένων και ανάγνωσης προόδου από μια άλλη εφαρμογή βιβλιοθήκης.", "configuredDescription": "Πηγή: {name}. No migration run yet - continue setup to run the import.", + "runningDescription": "Στάδιο: {stage} - ξεκίνησε {started}", + "completedDescription": "Από {name} - ολοκληρωμένο {date}", "migrationErrorGeneric": "Παρουσιάστηκε σφάλμα κατά τη μετεγκατάσταση.", "stageInitializing": "αρχικοποίηση", "recently": "πρόσφατα", @@ -795,8 +896,11 @@ "booksQueuedForEmbedding": "{count, plural, =0 {Κανένα βιβλίο δεν βρέθηκε στην ουρά για ενσωμάτωση} one {# βιβλίο στην ουρά για ενσωμάτωση} other {# βιβλία στην ουρά για ενσωμάτωση}}", "failed": "Απέτυχε", "unknownError": "Άγνωστο σφάλμα", + "rebuildEmbeddingsFailed": "Αποτυχία αναδόμησης ενσωματώσεων: {error}", "achievementBackfillConfirm": "Εκτελέστε backfill επιτευγμάτων για όλα τα επιτεύγματα σε όλους τους χρήστες? Αυτό μπορεί να διαρκέσει λίγο.", + "achievementBackfillComplete": "Ολοκληρώθηκε η συμπλήρωση επιτευγμάτων: Χορηγήθηκαν βραβεία {count}", "backfillRunFailed": "Αποτυχία εκτέλεσης backfill", + "achievementBackfillFailed": "Αποτυχία εκτέλεσης συμπλήρωσης επιτευγμάτων: {error}", "uploadsGroup": "Μεταφορτώσεις", "maxUploadSize": "Μέγιστο όριο μεγέθους αρχείου ανεβάσματος", "maxUploadSizeHint": "Ρυθμίστε το μέγιστο όριο μεγέθους για μεταφόρτωση αρχείων σε όλο το σύστημα.", @@ -842,8 +946,10 @@ "issueFreshDryRun": "Εκτελέστε ένα νέο ξηρό τρέξιμο", "issueResolveDuplicates": "Επίλυση διπλότυπων αγώνων στο βιβλίο στόχων σε ξηρή εκτέλεση", "issueWaitActiveRun": "Αναμονή για ολοκλήρωση ενεργού τρεξίματος", + "sourceRecordId": "Αναγνωριστικό εγγραφής πηγής #{id}", "byAuthorWithId": "από {author} (ID: {id})", "filePathWithId": "{path} (ID: {id})", + "bookloreSourceId": "Αναγνωριστικό πηγής βιβλιαρίου: {id}", "libraryBookNum": "Βιβλιοθήκη βιβλίο #{id}", "errorInitialize": "Αποτυχία αρχικοποίησης ρυθμίσεων μετανάστευσης", "errorLoadSourceTypes": "Αποτυχία φόρτωσης υποστηριζόμενων τύπων πηγής μετανάστευσης", @@ -854,7 +960,9 @@ "errorLoadSuggestions": "Αποτυχία φόρτωσης των προτάσεων αντιστοίχισης χρήστη", "requiredFields": "Ο υπολογιστής, ο χρήστης, η βάση δεδομένων και το όνομα προέλευσης απαιτούνται", "connectionTestPassedWithWarnings": "Δοκιμή σύνδεσης που πέρασε με προειδοποιήσεις", + "connectionTestPassedWithCount": "Η δοκιμή σύνδεσης πέρασε με προειδοποίηση(εις) {count}. Πρώτον: {first}", "connectionTestPassed": "Δοκιμή σύνδεσης πέρασε", + "connectionOkMissingTables": "Η σύνδεση είναι εντάξει, αλλά λείπουν οι απαιτούμενοι πίνακες {count}", "cannotTestMediaPathActiveRun": "Δεν είναι δυνατός ο έλεγχος διαδρομής πολυμέσων όσο εκτελείται είναι ενεργός", "mediaRootPathRequiredCover": "Η διαδρομή πολυμέσων Root απαιτείται για την εισαγωγή εξωφύλλου.", "useAbsolutePath": "Χρήση απόλυτης διαδρομής (για παράδειγμα: /books).", @@ -875,6 +983,7 @@ "errorSaveMappings": "Αποτυχία αποθήκευσης χαρτογραφήσεων", "cannotRunDryRunActiveRun": "Αδύνατη η εκτέλεση του dry-run όσο είναι ενεργή", "saveMappingsFirst": "Αποθήκευση χαρτογραφήσεων πρώτα", + "dryRunCompleted": "Ολοκληρώθηκε η ξηρή εκτέλεση: {matched} αντιστοιχίστηκε, {unresolved} δεν επιλύθηκε", "dryRunFailed": "Αποτυχημένη εκτέλεση", "selectSourceForAllGroups": "Επιλέξτε ένα βιβλίο πηγαίου κώδικα για όλες τις ομάδες {count} διπλότυπες", "duplicatesResolved": "Διπλές αντιστοιχίες επιλύθηκαν", @@ -891,6 +1000,7 @@ "startMigrationFirst": "Ξεκινήστε τη μετεγκατάσταση πρώτα", "reportRefreshed": "Εκτέλεση αναφοράς ανανεωμένη", "errorLoadReport": "Αποτυχία φόρτωσης αναφοράς εκτέλεσης", + "reportExported": "Η αναφορά εξήχθη ως {format}", "errorExportReport": "Αποτυχία εξαγωγής αναφοράς μετανάστευσης", "reasonNoTitleAuthorMatch": "Δεν βρέθηκε αντίστοιχο βιβλίο ανά τίτλο ή συγγραφέα", "reasonNoFilePathMatch": "Η διαδρομή αρχείου δεν ταιριάζει με κανένα βιβλίο σε αυτή τη βιβλιοθήκη", @@ -936,6 +1046,7 @@ "lastValidationSnapshot": "Τελευταίο στιγμιότυπο επικύρωσης", "sourceVersion": "Έκδοση πηγαίου κώδικα: {version}", "unknown": "Άγνωστο", + "missingRequiredTables": "Λείπουν απαιτούμενοι πίνακες: {tables}", "suggestionsAutoLoad": "Οι προτάσεις χρήστη φορτώνονται αυτόματα μετά την επικύρωση πηγής.", "refresh": "Ανανέωση", "sourceUser": "Πηγαίος Χρήστης", @@ -965,6 +1076,8 @@ "resolveDuplicateMatches": "Επίλυση διπλότυπων αντιστοιχιών στόχων", "resolveDuplicateHint": "Για κάθε βιβλίο-στόχο, επιλέξτε ένα βιβλίο προέλευσης για να κρατήσετε. Οι συνιστώμενες επιλογές είναι προεπιλεγμένες όταν υπάρχει ένα μόνο ισχυρότερο ταίριασμα.", "remainingGroups": "Υπόλοιπες ομάδες:", + "ofCount": "του {count}", + "targetBookNum": "Βιβλίο-στόχος #{id}", "recommended": "Προτεινόμενο", "resolveDuplicatesButton": "{count, plural, =0 {Επίλυση # διπλότυπων} one {Επίλυση # διπλότυπων} other {Επίλυση # διπλότυπων}}", "preflightChecks": "Προκαταρκτικοί έλεγχοι", @@ -978,19 +1091,23 @@ "checkSavePathMappings": "Αποθήκευση αντιστοιχιών διαδρομής για επικύρωση", "checkDryRunUpToDate": "Ξηρό τρέξιμο είναι ενημερωμένο", "checkFreshDryRun": "Εκτελέστε ένα νέο ξηρό τρέξιμο", + "startConfirmPrompt": "Αυτό θα ξεκινήσει τη ζωντανή μετανάστευση. Είσαι σίγουρος?", "confirmStart": "Επιβεβαίωση Έναρξης", "startMigration": "Έναρξη Μετανάστευσης", "cancelRun": "Ακύρωση Εκτέλεσης", "refreshStatus": "Ανανέωση Κατάστασης", "statusPollingStopped": "Η ψηφοφορία κατάστασης σταμάτησε λόγω σφάλματος.", "retry": "Επανάληψη", + "stageLabel": "Στάδιο: {stage}", "stageInitializing": "αρχικοποίηση", + "endedLabel": "Έληξε {date}", "stageCompleted": "Ολοκληρώθηκε", "stageInit": "Αρχικοποίηση", "stageSharedOverlays": "Εισαγωγή μεταδεδομένων", "stageBookCovers": "Εισαγωγή καλυμμάτων", "stageUserState": "Εισαγωγή δεδομένων χρήστη", "noRunYet": "Δεν εκτελείται καμία μεταφορά ακόμα. Ολοκληρώστε τα παραπάνω βήματα για να ξεκινήσετε.", + "runNum": "Εκτελέστε το #{id}", "notStarted": "Δεν ξεκίνησε", "reloadReport": "Επαναφόρτωση Αναφοράς", "loadFullReport": "Φόρτωση Πλήρους Αναφοράς", @@ -1018,9 +1135,13 @@ "completedNoIssues": "Η μετανάστευση ολοκληρώθηκε χωρίς ανεπίλυτα βιβλία ή αποτυχίες.", "matchedBooksHeading": "Ταιριασμένα βιβλία ({count})", "matchedBooksHint": "Αυτοί οι ξηροί αγώνες χρησιμοποιήθηκαν για να αποφασίσουν ποια βιβλία βιβλιοθηκών έλαβαν εισαγόμενα δεδομένα.", + "sourceBookFallback": "Πηγαίο βιβλίο {id}", "libraryBookFallback": "Βιβλιοθήκη βιβλίο {id}", + "unresolvedBooksHeading": "Μη επιλυμένα βιβλία ({count})", "unresolvedBooksHint": "Αυτά τα βιβλία υπάρχουν στην πηγή αλλά δεν θα μπορούσαν να ταιριάζουν με οποιοδήποτε βιβλίο στη βιβλιοθήκη σας.", + "mappedUsersHeading": "Χαρτογραφημένοι χρήστες ({count})", "mappedUsersHint": "Τα σύνολα των χρηστών προέρχονται από την προεπισκόπηση dry-run cached με το σχέδιο μετανάστευσης.", + "coverImportsFailed": "Αποτυχία εισαγωγής εξωφύλλου {count}. Οι λεπτομερείς σειρές αποτυχίας δεν αποθηκεύονται.", "backToSetup": "Πίσω στην εγκατάσταση" }, "libraries": { @@ -1035,16 +1156,19 @@ "syncMetadataToFiles": "Συγχρονισμός μεταδεδομένων σε αρχεία", "deleteLibrary": "Διαγραφή βιβλιοθήκης", "bookCount": "{count, plural, =0 {Δεν υπάρχουν βιβλία} one {# βιβλίο} other {# βιβλία}}", + "booksUnit": "{count, plural, one {βιβλίο} other {Βιβλία}}", "folderCount": "{count, plural, =0 {Δεν υπάρχουν φάκελοι} one {# φάκελος} other {# φάκελοι}}", "fileMode": "Λειτουργία αρχείου", "folderMode": "Λειτουργία φακέλου", "emptyTitle": "Δεν υπάρχουν ακόμη βιβλιοθήκες", "emptyHint": "Προσθέστε μια βιβλιοθήκη για να ξεκινήσετε την οργάνωση των βιβλίων σας.", "addFirstLibrary": "Προσθέστε την πρώτη σας βιβλιοθήκη", + "deleteConfirmTitle": "Διαγραφή \"{name}\"?", "deleteConfirmBody": "Αυτό θα αφαιρέσει μόνιμα όλα τα βιβλία, τα μεταδεδομένα, την ανάγνωση της προόδου, τους σελιδοδείκτες και τους σχολιασμούς σε αυτήν τη βιβλιοθήκη. Αυτό δεν μπορεί να αναιρεθεί.", "deleteConfirmTypeName": "Πληκτρολογήστε το όνομα της βιβλιοθήκης για επιβεβαίωση:", "deleting": "Διαγραφή...", "deleteLibraryButton": "Διαγραφή Βιβλιοθήκης", + "syncConfirmTitle": "Συγχρονισμός μεταδεδομένων σε αρχεία?", "syncFiles": "Συγχρονισμός αρχείων", "metadataSynced": "Τα μεταδεδομένα συγχρονίστηκαν σε αρχεία για το \"{name}\"", "fileWriteNotEnabled": "Η εγγραφή αρχείου μεταδεδομένων δεν είναι ενεργοποιημένη για αυτήν τη βιβλιοθήκη. Ενεργοποιήστε την στις ρυθμίσεις βιβλιοθήκης.", @@ -1055,10 +1179,168 @@ "scanStartedAll": "Η σάρωση ξεκίνησε για όλες τις βιβλιοθήκες", "librariesFailedToStart": "{count, plural, =0 {Καμία βιβλιοθήκη δεν κατάφερε να ξεκινήσει} one {# βιβλιοθήκη απέτυχε να ξεκινήσει} other {# βιβλιοθήκες απέτυχαν να ξεκινήσουν}}", "scansStartFailed": "Αποτυχία εκκίνησης σαρώσεων", + "libraryCreated": "Δημιουργήθηκε η βιβλιοθήκη \"{name}\".", + "libraryUpdated": "Η βιβλιοθήκη \"{name}\" ενημερώθηκε", "libraryDeleted": "\"{name}\" διαγράφηκε", "deleteFailed": "Αποτυχία διαγραφής βιβλιοθήκης", "refreshingCovers": "Αναζωογονητικά καλύμματα {pct}% ({processed}/{total})", - "coversRefreshed": "Εξώφυλλα ανανεωμένα ({count} επεξεργασμένα)" + "coversRefreshed": "Εξώφυλλα ανανεωμένα ({count} επεξεργασμένα)", + "onDiskUnit": "{size} στο δίσκο", + "noFilesIndexed": "Κανένα αρχείο στο ευρετήριο", + "formatEntry": "{format} {count}", + "formatOverflow": "{count, plural, one {+# περισσότερη μορφή} other {+# περισσότερες μορφές}}", + "extraFolders": "{count, plural, one {+# φάκελος} other {+# φάκελοι}}", + "openLibrary": "Ανοίξτε το {name}", + "moreActions": "Περισσότερες ενέργειες για το {name}", + "statsFailed": "Αδύνατη η φόρτωση του αριθμού βιβλιοθήκης. Όλα τα άλλα σε αυτή τη σελίδα λειτουργούν ακόμα.", + "filterLabel": "Φιλτράρισμα βιβλιοθηκών", + "filterPlaceholder": "Φιλτράρισμα κατά όνομα ή διαδρομή", + "filterClear": "Καθαρισμός φίλτρου", + "sortLabel": "Ταξινόμηση", + "noMatchesTitle": "Καμία βιβλιοθήκη δεν ταιριάζει με αυτό το φίλτρο", + "noMatchesHint": "Τίποτα δεν ταιριάζει \"{query}\" κατά όνομα ή διαδρομή φακέλου.", + "totalLibraries": "{count, plural, one {# βιβλιοθήκη} other {# βιβλιοθήκες}}", + "neverScanned": "Ποτέ δεν σαρώθηκε", + "neverScannedHint": "Εκτέλεση σάρωσης για ευρετήριο φακέλων", + "scanFailedAt": "Αποτυχία {time}", + "scanningPercent": "Σάρωση {pct}%", + "scanCounting": "Καταμέτρηση αρχείων", + "scanCounts": "{processed} του {total}", + "scanAdded": "{count, plural, one {+# προστέθηκαν} other {+# προστέθηκαν}}", + "scanUpdated": "{count, plural, one {# ενημερώθηκε} other {# ενημερώθηκε}}", + "scanMissing": "{count, plural, one {# λείπουν} other {# λείπουν}}", + "scanNoChange": "καμία αλλαγή", + "outcomeSeparator": ", ", + "scanOutcome": "{trigger} · {outcome}", + "syncConfirmBody": "Αυτό θα αντικαταστήσει τα μεταδεδομένα μέσα σε κάθε υποστηριζόμενο αρχείο στο {name} απευθείας στο δίσκο. Αυτό δεν μπορεί να αναιρεθεί.", + "columns": { + "library": "Βιβλιοθήκη", + "contents": "Περιεχόμενα", + "onDisk": "Στο δίσκο", + "automation": "Αυτοματισμός", + "lastScan": "Τελευταία σάρωση", + "actions": "Ενέργειες" + }, + "sort": { + "default": "Προεπιλεγμένη παραγγελία", + "name": "Όνομα", + "books": "Βιβλία", + "size": "Μέγεθος στο δίσκο", + "lastScan": "Τελευταία σάρωση", + "sidebar": "Sidebar order" + }, + "trigger": { + "manual": "Χειροκίνητα", + "watcher": "Παρατηρητής", + "schedule": "Χρονοδιάγραμμα" + }, + "capability": { + "watch": "Παρακολούθηση φακέλων", + "schedule": "Προγραμματισμένη σάρωση", + "fileWrite": "Εγγραφή σε αρχείο", + "fileRename": "Μετονομασία αρχείων", + "on": "{name}: ενεργό", + "off": "{name}: απενεργοποιημένο", + "legendHint": "Διακεκομμένα μέσα απενεργοποιημένα" + }, + "stateOn": "Ενεργό", + "stateOff": "Ανενεργό", + "toggleDetail": "Εμφάνιση λεπτομερειών για το {name}", + "durationMs": "{ms} ms", + "durationSeconds": "{seconds}s", + "durationMinutes": "{minutes}m {seconds}s", + "history": { + "when": "Πότε", + "trigger": "Ενεργοποίηση", + "duration": "Διάρκεια", + "result": "Αποτέλεσμα", + "status": "Κατάσταση", + "statusValue": { + "running": "Εκτελείται", + "completed": "Ολοκληρώθηκε", + "failed": "Απέτυχε" + } + }, + "detail": { + "foldersTitle": "& Διάταξη φακέλων", + "metadataTitle": "Μεταδεδομένα & ανάγνωση", + "accessTitle": "Πρόσβαση", + "historyTitle": "Ιστορικό σάρωσης", + "path": "Μονοπάτι {index}", + "organization": "Οργανισμός", + "excludePatterns": "Εξαίρεση προτύπων", + "precedence": "Προτεραιότητα πηγής", + "allowedFormats": "Επιτρεπόμενες μορφές", + "countsAsStarted": "Μετράει ως ξεκίνησε", + "countsAsFinished": "Μετρά ως τελικό", + "peopleWithAccess": "Άτομα με πρόσβαση", + "added": "Προστέθηκε", + "coverShape": "Σχήμα εξώφυλλου", + "coverShapeValue": { + "portrait": "2:3 πορτρέτο", + "square": "1:1 τετράγωνο" + }, + "gridShape": "Σχήμα πλέγματος", + "gridShapeValue": { + "tall": "Ψηλά κύτταρα", + "square": "Τετραγωνικά κελιά" + }, + "none": "Κανένα", + "allSupported": "Όλες οι υποστηριζόμενες", + "patternCount": "{count, plural, one {# μοτίβο} other {# μοτίβα}}", + "peopleCount": "{count, plural, =0 {Καμία ρητή επιχορήγηση} one {# άτομο} other {# άνθρωποι}}", + "historyEmpty": "Αυτή η βιβλιοθήκη δεν έχει ποτέ σαρωθεί.", + "historyFailed": "Δεν ήταν δυνατή η φόρτωση του ιστορικού σάρωσης για αυτήν τη βιβλιοθήκη.", + "manageAccess": "Διαχείριση", + "peopleMore": "{count, plural, one {+# περισσότερο} other {+# περισσότερο}}" + }, + "scannedAt": "Σαρωμένο {time}", + "detailRegion": "Λεπτομέρειες για το {name}", + "scanTrigger": { + "manual": "Χειροκίνητα", + "watcher": "Παρατηρητής", + "schedule": "Προγραμματισμένο" + }, + "schedule": { + "at": "{preset} · {time}", + "weeklyAt": "{preset} · {day} {time}" + }, + "librariesUnit": "{count, plural, one {βιβλιοθήκη} other {βιβλιοθήκες}}", + "foldersUnit": "{count, plural, one {φάκελος} other {φάκελοι}}", + "copyPath": "Αντιγραφή διαδρομής", + "pathCopied": "Η διαδρομή αντιγράφηκε", + "pathCopyFailed": "Αδυναμία αντιγραφής της διαδρομής", + "problem": { + "neverTitle": "Ποτέ δεν σαρώθηκε.", + "neverBody": "{count, plural, one {Τίποτα στο φάκελο του δεν έχει καταχωριστεί ακόμα.} other {Τίποτα στους # φακέλους του δεν έχει καταχωριστεί ακόμα.}}", + "failedTitle": "Η τελευταία σάρωση απέτυχε {time}.", + "scanNow": "Σάρωση τώρα", + "retry": "Επανάληψη σάρωσης" + }, + "quick": { + "watchAria": "Παρακολούθηση φακέλων για το {name}", + "scheduleAria": "Προγραμματισμένη σάρωση για {name}: {value}", + "customSchedule": "Προσαρμοσμένο πρόγραμμα…", + "watchOn": "Παρακολούθηση φακέλων για το \"{name}\"", + "watchOff": "Σταματημένοι φάκελοι παρακολούθησης για το \"{name}\"", + "scheduleSet": "Προγραμματισμένη σάρωση για \"{name}\": {value}", + "scheduleOff": "Η προγραμματισμένη σάρωση απενεργοποιήθηκε για το \"{name}\"", + "saveFailed": "Αδύνατη η ενημέρωση του \"{name}\"", + "fileWriteAria": "Εγγραφή σε αρχείο για {name}", + "renameAria": "Μετονομασία αρχείων για το {name}", + "fileWriteOn": "\"{name}\" θα γράψει λεπτομέρειες στα αρχεία του την επόμενη φορά που θα αποθηκευτούν", + "fileWriteOff": "\"{name}\" δεν θα γράφει πλέον λεπτομέρειες στα αρχεία του", + "renameOn": "\"{name}\" θα μετονομάσει τα αρχεία στο μοτίβο ονομασίας την επόμενη φορά που θα αποθηκευτούν τα στοιχεία τους", + "renameOff": "\"{name}\" δεν θα μετονομάζουν πλέον αρχεία" + }, + "historyFor": "Ιστορικό σάρωσης για {name}", + "scanNothingNew": "τίποτα νέο ακόμα", + "scanTimeLeftSeconds": "{count, plural, one {περίπου # δευτερόλεπτο έμεινε} other {περίπου # δευτερόλεπτα έφυγε}}", + "scanTimeLeftMinutes": "{count, plural, one {περίπου # λεπτά απομένουν} other {περίπου # λεπτά απομένουν}}", + "scanFinished": "Η σάρωση ολοκληρώθηκε για το \"{name}\": {outcome}", + "scanFinishedFailed": "Η σάρωση απέτυχε για το \"{name}\"", + "viewChanges": "Προβολή αλλαγών", + "duplicateSettings": "Αντίγραφο ρυθμίσεων" }, "authorEnrichment": { "configuration": "Διαμόρφωση", @@ -1079,6 +1361,7 @@ "missingPhotoTitle": "Λείπει φωτογραφία", "missingPhotoHint": "Εμπλουτίστε αν ο συγγραφέας δεν έχει φωτογραφία προφίλ.", "runForEligibleAuthors": "Εκτέλεση για επιλέξιμους συγγραφείς", + "eligibleCount": "~{count} κατάλληλο", "runForAllAuthors": "Εκτέλεση για όλους τους συγγραφείς", "saved": "Οι ρυθμίσεις εμπλουτισμού συγγραφέα αποθηκεύτηκαν", "saveFailed": "Αποτυχία αποθήκευσης ρυθμίσεων εμπλουτισμού συγγραφέα", @@ -1107,30 +1390,329 @@ "scoreWeights": { "groupLabel": "Βάρος Βαθμού", "assignHintPrefix": "Ανάθεση βάρους σε κάθε πεδίο. Συνολικό βάρος:", + "areYouSure": "Είσαι σίγουρος?", "resetToDefaultsButton": "Επαναφορά στις προεπιλογές", "recalculateAll": "Επανυπολογισμός όλων", "confirmReset": "Επιβεβαίωση επαναφοράς", + "resetDialog": { + "title": "Επαναφορά κάθε βάρους στις προεπιλεγμένες?", + "description": "Και τα 24 πεδία πηγαίνουν πίσω στα βάρη με τα πλοία BookOrbit. Τίποτα δεν αποθηκεύεται μέχρι να επιλέξετε Αποθήκευση και επανακτήση." + }, "reset": "Reset", "recalculate": "Επανυπολογισμός", + "subtotal": "υποσύνολο: {count}", "savedRecalculating": "Τα βάρη αποθηκεύτηκαν. Επανυπολογισμός βαθμολογιών βιβλιοθήκης...", "saveFailed": "Απέτυχε η αποθήκευση σταθμών", "recalcStarted": "Ο επανυπολογισμός βαθμολογίας ξεκίνησε στο παρασκήνιο", "recalcFailed": "Επανυπολογισμός απέτυχε", - "resetToDefaults": "Επαναφορά βαρών στις προεπιλογές. Αποθηκεύστε για να εφαρμόσετε." + "resetToDefaults": "Επαναφορά βαρών στις προεπιλογές. Αποθηκεύστε για να εφαρμόσετε.", + "howItWorks": { + "title": "Πώς λειτουργεί αυτό.", + "summary": "Κάθε βιβλίο λαμβάνει βαθμολογία από 100 για το πόσο ολοκληρωμένα είναι τα μεταδεδομένα του. Ένα βάρος έχει νόημα μόνο δίπλα στους άλλους, έτσι ώστε κάθε πεδίο κάτω δείχνει το μερίδιο ενός τελικού σκορ για το οποίο είναι υπεύθυνος. Ο διπλασιασμός κάθε βάρους δεν αλλάζει τίποτα." + }, + "readOnly": "Μπορείτε να δείτε πώς υπολογίζονται οι βαθμολογίες, αλλά η αλλαγή βαρών χρειάζεται την άδεια ρυθμίσεων εφαρμογής.", + "compositionTitle": "Όπου ένα σκορ προέρχεται από", + "compositionHint": "Τα ποσοστά προσθέτουν πάντα έως και 100.", + "searchFields": "Φίλτρο πεδίων", + "clearSearch": "Εκκαθάριση αναζήτησης", + "noMatches": "Κανένα πεδίο δεν ταιριάζει με αυτή την αναζήτηση.", + "totalSummary": "{scoring} από 24 πεδία βαθμολογίας, {total} συνολικά πόντους", + "countGroups": "Μέτρηση προς το σκορ", + "notScored": "Δεν βαθμολογήθηκε", + "notScoredHeading": "Χωρίς βαθμολογία ({count})", + "notScoredHint": "Ένα πεδίο στο μηδέν αφήνει και το σύνολο, οπότε τα βιβλία που λείπουν δεν είναι σημειωμένα.", + "decreaseWeight": "Μείωση του βάρους του {field}", + "increaseWeight": "Αυξήστε το βάρος του {field}", + "revertField": "Επαναφορά {field} στο αποθηκευμένο βάρος", + "table": { + "field": "Πεδίο", + "weight": "Βάρος", + "share": "Μερίδιο της βαθμολογίας", + "versusDefault": "Αλλαγή" + }, + "groups": { + "core": "Πυρήνας", + "publishing": "Δημοσίευση", + "classification": "Κατάταξη", + "enrichment": "Εμπλουτισμός", + "providers": "Αναγνωριστικά Παρόχου" + }, + "rules": { + "text": "Μετρά όταν δεν είναι κενό", + "positive": "Μετρά όταν είναι πάνω από το μηδέν", + "count": "Μετρά όταν έχει οριστεί τουλάχιστον ένα", + "cover": "Μετρά όταν αποθηκεύεται μια εικόνα εξωφύλλου", + "providerId": "Μετρά όταν το ID αποθηκεύεται", + "seriesIndex": "Μετρά όταν είναι πάνω από το μηδέν, έτσι ο όγκος 0 δεν μετράει ποτέ" + }, + "rail": { + "title": "Όπου προσγειώνονται τα βιβλία σας", + "description": "Το σήμα χρώμα που βλέπει ένας αναγνώστης σε μια κάρτα βιβλίου, ενάντια σε κάθε βιβλίο που μπορείτε να δείτε σήμερα.", + "bandsLabel": "Ζώνες χρωμάτων εμβλημάτων", + "bands": { + "poor": "ΠΑΝΤΑ 50", + "fair": "50-69", + "good": "70-89", + "great": "90+" + }, + "median": "Διάμεση", + "belowFifty": "Κάτω από 50", + "ninetyPlus": "90 και πάνω", + "noBooks": "Δεν έχουν σκοραριστεί ακόμα βιβλία. Εκτελέστε ένα rescore μόλις ολοκληρωθεί η εισαγωγή της βιβλιοθήκης σας.", + "scopeNote": "Απέναντι από {count, plural, one {# βιβλίο} other {# βιβλία}} στις βιβλιοθήκες που μπορείς να προσπελάσεις, με τα βάρη που αποθηκεύονται αυτή τη στιγμή." + }, + "progress": { + "running": "Ανανέωση βιβλιοθήκης", + "failed": "Η επανεκκίνηση απέτυχε", + "count": "Επεξεργασία βιβλίων {processed}", + "countOf": "{processed} από τα βιβλία {total}", + "failedCount": "({count} απέτυχε)", + "safeToLeave": "Ασφαλής έξοδος από αυτή τη σελίδα.", + "dismiss": "Απόρριψη" + }, + "save": { + "upToDate": "Όλες οι αλλαγές αποθηκεύτηκαν.", + "unsaved": "{count, plural, one {# το πεδίο άλλαξε} other {# τα πεδία άλλαξαν}}", + "totalShift": "σύνολο πόντων {from} έως {to}", + "rescores": "Αποθήκευση rescores {count, plural, one {# βιβλίο} other {# βιβλία}} στο παρασκήνιο.", + "rescoresUnknown": "Η αποθήκευση επανεξειδικεύει τη βιβλιοθήκη σας στο παρασκήνιο.", + "action": "Αποθήκευση και επανεκκίνηση", + "discard": "Απορρίψτε", + "leaveWarning": "Έχετε μη αποθηκευμένες αλλαγές βάρους. Αφήστε τη σελίδα και χάσετε?" + } }, "tabs": { "users": "Χρήστες", "account-activity": "Δραστηριότητα Λογαριασμού", "magic-links": "Magic Links", "oidc": "OIDC / SSO", + "tts": "Κείμενο- σε- ομιλία", "server-fonts": "Γραμματοσειρές Διακομιστή" }, + "tts": { + "title": "Πάροχοι", + "subtitle": "Οι φωνητικές μηχανές είναι διαθέσιμες στους αναγνώστες. Οι φωνές επιμελείται ανά πάροχο.", + "summary": "{providers, plural, one {# πάροχος} other {# πάροχοι}} · {enabled} ενεργοί · {voices, plural, one {# επιλεγμένη φωνή} other {# επιλεγμένες φωνές}}", + "addProvider": "Προσθήκη παρόχου", + "loadFailed": "Απέτυχε η φόρτωση της ρύθμισης παραμέτρων κειμένου-σε-ομιλία", + "empty": "Δεν έχουν ρυθμιστεί πάροχοι ομιλίας.", + "reorderHint": "Σύρετε για να αλλάξετε την παραγγελία. Οι αναγνώστες βλέπουν τους παρόχους με αυτή τη σειρά.", + "dragHandle": "Αναπαραγγελία {name}", + "moveUp": "Μετακίνηση {name} πάνω", + "moveDown": "Μετακίνηση {name} κάτω", + "reorderFailed": "Αποτυχία αποθήκευσης της παραγγελίας του παρόχου", + "expand": "Εμφάνιση λεπτομερειών για το {name}", + "collapse": "Απόκρυψη λεπτομερειών για το {name}", + "toggleEnabled": "Ενεργοποιήστε το {name}", + "enableFailed": "Αποτυχία ενημέρωσης {name}", + "statusConnected": "Συνδεδεμένο", + "statusUnreachable": "Απροσπέλαστο", + "statusUnchecked": "Δεν ελέγχθηκε", + "voiceCount": "{count, plural, one {# φωνή} other {# φωνές}}", + "configuration": "Διαμόρφωση", + "fieldType": "Τύπος", + "fieldTypeOpenAi": "OpenAI-συμβατό", + "fieldApiKey": "API κλειδί", + "apiKeySet": "Ορισμός", + "apiKeyNotSet": "Δεν έχει οριστεί", + "fieldModel": "Προεπιλεγμένο μοντέλο", + "fieldModelNone": "Προεπιλογή παρόχου", + "fieldDiscovery": "Φωνητική ανακάλυψη", + "discoverySupported": "Υποστηριζόμενο", + "discoveryUnsupported": "Δεν υποστηρίζεται", + "voices": "Φωνές", + "voicesCurated": "Επιμέλεια {count}", + "voicesTapToPreview": "Αγγίξτε μια φωνή για προεπισκόπηση", + "voicesNone": "Δεν έχουν ρυθμιστεί φωνές ακόμα", + "manageVoices": "Διαχείριση φωνών", + "previewVoice": "Προεπισκόπηση {name}", + "previewStop": "Διακοπή προεπισκόπησης", + "previewFailed": "Αδυναμία αναπαραγωγής προεπισκόπησης για το {name}", + "previewNeedsEnabled": "Ενεργοποίηση αυτού του παρόχου για προεπισκόπηση των φωνών του", + "editConfiguration": "Επεξεργασία διαμόρφωσης", + "testConnection": "Δοκιμή σύνδεσης", + "testPassed": "Συνδέθηκε · {count, plural, one {# βρέθηκε φωνή} other {# φωνές βρέθηκαν}}", + "testFailed": "Αποτυχία σύνδεσης", + "delete": "Διαγραφή", + "deleteConfirm": "Διαγράψτε τον πάροχο \"{name}\"? Οι αναγνώστες που χρησιμοποιούν τις φωνές του επιστρέφουν σε έναν άλλο πάροχο.", + "deleteFailed": "Αποτυχία διαγραφής {name}", + "deleted": "Ο πάροχος διαγράφηκε", + "saveFailed": "Απέτυχε η αποθήκευση του {name}", + "saved": "Ο πάροχος αποθηκεύτηκε", + "formAddTitle": "Νέος πάροχος", + "formEditTitle": "Επεξεργασία παρόχου", + "formName": "Όνομα", + "formNamePlaceholder": "Kokoro", + "formBaseUrl": "Βασικό URL", + "formBaseUrlPlaceholder": "http://localhost:8880/v1", + "formApiKey": "API κλειδί", + "formApiKeyOptional": "Προαιρετικό", + "formApiKeyPlaceholder": "sk-...", + "formApiKeyKeep": "Αφήστε κενό για να διατηρήσετε το τρέχον κλειδί", + "formModel": "Προεπιλεγμένο μοντέλο", + "formModelPlaceholder": "tts-1", + "formDiscovery": "Αυτός ο πάροχος μπορεί να απαριθμήσει τις δικές του φωνές", + "formRequired": "Το όνομα και η βασική διεύθυνση URL απαιτούνται", + "curation": { + "title": "Διαχείριση φωνών - {provider}", + "summary": "{count, plural, one {# Η φωνή ρυθμίστηκε} other {# φωνές ρυθμισμένες}}", + "summaryUnsaved": "{count, plural, one {# Η φωνή ρυθμίστηκε} other {# φωνές ρυθμισμένες}} - Μη αποθηκευμένες αλλαγές", + "importFromProvider": "Εισαγωγή από πάροχο", + "loadPreset": "Load {preset} preset", + "importUnsupported": "Αυτός ο πάροχος δεν υποστηρίζει την ανακάλυψη φωνής.", + "importUnsupportedWithPreset": "Αυτός ο πάροχος δεν υποστηρίζει φωνητική εύρεση. Χρησιμοποιήστε αντί αυτού το κουμπί «Φόρτωση προεπιλογής {preset}».", + "discoveryUnsupported": "Αυτός ο πάροχος δεν εκθέτει ένα τελικό σημείο φωνητικής λίστας.", + "discoverFailed": "Αποτυχία εντοπισμού φωνών", + "emptyImportOrPreset": "Δεν έχουν ρυθμιστεί φωνές. Εισαγωγή από τον πάροχο ή φόρτωση προκαθορισμένου.", + "emptyImport": "Δεν έχουν ρυθμιστεί φωνές. Εισαγωγή από τον πάροχο.", + "emptyPreset": "Δεν έχουν ρυθμιστεί φωνές. Φορτώστε μια προκαθορισμένη ρύθμιση για να ξεκινήσετε.", + "emptyManual": "Δεν έχουν ρυθμιστεί φωνές. Προσθέστε φωνές χειροκίνητα.", + "columnId": "ID", + "columnName": "Όνομα", + "columnLocale": "Τοπική", + "columnGender": "Φύλο", + "genderMale": "Άντρας", + "genderFemale": "Γυναίκα", + "genderUnknown": "Άγνωστο", + "cancelEdit": "Ακύρωση επεξεργασίας", + "editVoice": "Επεξεργασία {name}", + "deleteVoice": "Διαγραφή {name}", + "previewVoice": "Προεπισκόπηση {name}", + "stopPreview": "Διακοπή προεπισκόπησης για το {name}", + "saveVoices": "{count, plural, one {Αποθήκευση # φωνής} other {Αποθηκεύστε # φωνές}}" + } + }, "serverFonts": { "title": "Γραμματοσειρές Διακομιστή", "subtitle": "Ανεβάστε γραμματοσειρές που κάθε χρήστης μπορεί να επιλέξει στον αναγνώστη του eBook, χωρίς να ανεβάσετε τις δικές του.", "listLabel": "Γραμματοσειρές διακομιστή", "noFontsYet": "Καμία γραμματοσειρά διακομιστή ακόμα", - "noFontsHint": "Γραμματοσειρές που προσθέτετε εδώ εμφανίζονται σε κάθε αναγνώστη του χρήστη." + "noFontsHint": "Γραμματοσειρές που προσθέτετε εδώ εμφανίζονται σε κάθε αναγνώστη του χρήστη.", + "addFonts": "Προσθήκη γραμματοσειρών", + "filterLabel": "Φίλτρο οικογενειών", + "filterPlaceholder": "Φίλτρο οικογενειών", + "filterClear": "Καθαρισμός φίλτρου", + "noMatches": "Καμία οικογένεια δεν ταιριάζει με το “{query}”", + "previewLabel": "Προεπισκόπηση κειμένου", + "previewPlaceholder": "Πληκτρολογήστε για προεπισκόπηση σε κάθε οικογένεια", + "previewSize": "Μέγεθος προεπισκόπησης", + "previewSizeOption": "{size} px", + "familiesUnit": "{count, plural, one {οικογένεια} other {οικογένειες}}", + "filesOfMax": "{count} από τα αρχεία {max}", + "onDisk": "{size} στο δίσκο", + "columns": { + "family": "Οικογένεια", + "specimen": "Δείγμα", + "styles": "Styles", + "readers": "Αναγνώστες" + }, + "fileSummary": "{count, plural, one {# αρχείο} other {# αρχεία}} · {size}", + "newBadge": "Νέο", + "styles": { + "single": "{style} μόνο", + "many": "{count} styles", + "manyNoItalics": "{count} styles, no italics" + }, + "facts": { + "books": "{count, plural, one {Στο # βιβλίο #} other {Σε # βιβλία}}", + "booksDetail": "{books, plural, one {Ορίσατε σε # βιβλίο} other {Ορίσατε σε # βιβλία}} από {readers, plural, one {# αναγνώστης} other {# αναγνώστες}}", + "defaults": "{count, plural, one {Προεπιλογή για # αναγνώστη} other {Προεπιλογή για # αναγνώστες}}", + "hidden": "{count, plural, one {Κρυμμένο από # αναγνώστη} other {Κρυμμένο από # αναγνώστες}}" + }, + "moreActions": "Περισσότερα για το {name}", + "menu": { + "rename": "Μετονομασία οικογένειας", + "addFiles": "Προσθήκη αρχείων", + "remove": "Κατάργηση οικογένειας…" + }, + "footerHint": "Κάθε αναγνώστης τα βλέπει αυτά στη λίστα γραμματοσειράς του αναγνώστη και μπορεί να κρύψει οποιοδήποτε από αυτά κάτω από Reader › Γραμματοσειρές.", + "empty": { + "dropHint": "ή να αποθέσετε αρχεία οπουδήποτε σε αυτή τη σελίδα", + "tip": "Μια οικογένεια διαβάζει τα καλύτερα ως τέσσερα αρχεία: Regular, Italic, Bold και Bold Italic. Ένα μεταβλητό αρχείο μπορεί να σταθεί για κάθε βάρος." + }, + "drop": { + "title": "{count, plural, one {Drop to add # file for every reader} other {Drop to add # files for every reader}}" + }, + "upload": { + "ariaLabel": "Πρόοδος μεταφόρτωσης", + "title": "{count, plural, one {Προσθήκη # αρχείου} other {Προσθήκη # αρχείων}}", + "progress": "Το {done} του {total} έγινε", + "addedCount": "Προστέθηκε {count}", + "duplicateCount": "{count} είναι ήδη εδώ", + "refusedCount": "Το {count} δεν προστέθηκε", + "dismiss": "Απόρριψη", + "newFamily": "νέα οικογένεια", + "states": { + "queued": "Αναμονή", + "uploading": "Μεταφόρτωση", + "added": "Προστέθηκε", + "duplicate": "Ήδη στο διακομιστή", + "refused": "Δεν προστέθηκε", + "failed": "Απέτυχε" + }, + "reasons": { + "tooLarge": "Μεγαλύτερο από το {maxMb} MB.", + "unsupportedType": "Δεν είναι αρχείο γραμματοσειρών. Χρησιμοποιήστε TTF, OTF, WOFF ή WOFF2.", + "invalidFile": "Το αρχείο είναι κατεστραμμένο ή δεν είναι πραγματικά μια γραμματοσειρά.", + "faceTaken": "Το {familyName} έχει ήδη ένα αρχείο σε αυτό το βάρος και το στυλ.", + "limitReached": "Ο διακομιστής διαθέτει ήδη αρχεία γραμματοσειράς {limit}.", + "failed": "Η μεταφόρτωση απέτυχε. Δοκιμάστε ξανά." + } + }, + "sheet": { + "description": "Προεπισκόπηση, μετονομασία και διαχείριση των αρχείων του {name}", + "variable": "Μεταβλητή", + "preview": "Προεπισκόπηση", + "pageColour": "Χρώμα σελίδας", + "papers": { + "app": "Επιφάνεια εφαρμογής", + "white": "Λευκή σελίδα", + "sepia": "Sepia page", + "night": "Νυχτερινή σελίδα" + }, + "previewHeading": "Ο κήπος των ζωντανών λουλουδιών", + "previewParagraph1": "Η Αλίκη την κοίταξε με μεγάλη έκπληξη: «Γιατί, πιστεύω ότι ήμασταν κάτω από αυτό το δέντρο όλη την ώρα! Όλα είναι ακριβώς όπως ήταν!»", + "previewParagraph2": "“Τώρα, εδώ, βλέπετε, παίρνει όλα τα τρεξίματα που μπορείτε να κάνετε, για να κρατήσει στο ίδιο μέρος. Αν θέλετε να φτάσετε κάπου αλλού, πρέπει να τρέξετε τουλάχιστον δύο φορές πιο γρήγορα από αυτό!»", + "styles": "Styles", + "stylesHint": "Τι προσφέρει η σειρά στυλ του αναγνώστη", + "singleStyleNote": "Ένα στυλ, έτσι οι αναγνώστες δεν παίρνουν σειρά στυλ. Έντονο και πλάγιο κείμενο στα βιβλία είναι faked από το πρόγραμμα περιήγησης από {style}.", + "inReader": "Στον αναγνώστη", + "inReaderHint": "Η λίστα γραμματοσειρών κάθε αναγνώστης παίρνει στο Reader › Ρυθμίσεις, με τον {name} επιλεγμένο.", + "pickerLabel": "Προεπισκόπηση της λίστας γραμματοσειράς του αναγνώστη", + "files": "Αρχεία", + "filesUsed": "{count} του {max} που χρησιμοποιείται σε αυτόν τον διακομιστή", + "fileDetail": "{summary} · Προστέθηκε {date}", + "upright": "Όρθια", + "italic": "Italic", + "fileActions": "Περισσότερα για το {name}", + "changeStyle": "Αλλαγή βάρους και στυλ", + "removeFile": "Αφαίρεση αρχείου", + "removeFileQuestion": "Αφαίρεση αυτού του αρχείου για κάθε αναγνώστη?", + "weight": "Βάρος", + "style": "Στυλ", + "name": "Οικογενειακό όνομα", + "nameHint": "Οι αναγνώστες επιλέγουν γραμματοσειρές με αυτό το όνομα.", + "nameHiddenWarning": "{count, plural, one {# Ο αναγνώστης έκρυψε {name}} other {# οι αναγνώστες έκρυψαν {name}}}; ένα νέο όνομα το δείχνει και πάλι.", + "nameBooksWarning": "Ένα νέο όνομα στέλνει {count, plural, one {Το # βιβλίο που το χρησιμοποιεί} other {τα # βιβλία που το χρησιμοποιούν}} πίσω στη δική του γραμματοσειρά του βιβλίου.", + "readers": "Αναγνώστες", + "stats": { + "books": "{count, plural, one {Το βιβλίο το χρησιμοποιεί} other {τα βιβλία το χρησιμοποιούν}}", + "defaults": "{count, plural, one {Προεπιλογή ανάγνωσης} other {Προεπιλογή αναγνωστών}}", + "hidden": "{count, plural, one {Ο αναγνώστης το έκρυψε} other {οι αναγνώστες το έκρυψαν}}" + }, + "readersPrivacy": "Μετρά μόνο. Ποια βιβλία και ποιοι αναγνώστες παραμένουν ιδιωτικοί σε αυτά.", + "removeLabel": "Αφαίρεση οικογένειας", + "removeQuestion": "Αφαίρεση {name} για κάθε αναγνώστη?", + "removeConsequenceBooks": "{books, plural, one {Έχει οριστεί σε # βιβλίο} other {Έχει οριστεί σε # βιβλία}} από {readers, plural, one {# αναγνώστη} other {# αναγνώστες}}· αυτά τα βιβλία επιστρέφουν στη δική τους γραμματοσειρά.", + "removeConsequenceFiles": "{count, plural, one {Το αρχείο του διαγράφεται από το διακομιστή.} other {Όλα τα # αρχεία διαγράφονται από το διακομιστή.}}", + "loadFailedNote": "Αυτός ο περιηγητής δεν μπόρεσε να φορτώσει το αρχείο γραμματοσειράς, οπότε οι προεπισκοπήσεις εμφανίζουν μια εφεδρική όψη. Τα προγράμματα περιήγησης των αναγνωστών πιθανότατα θα το αρνηθούν επίσης. Δοκιμάστε ένα διαφορετικό αντίγραφο της γραμματοσειράς." + }, + "toasts": { + "removed": "Το {name} καταργήθηκε", + "removePartial": "{failed, plural, one {# αρχείο} other {# αρχεία}} του {name} δεν μπορούν να αφαιρεθούν", + "renameTaken": "Το {name} έχει ήδη ένα αρχείο με το ίδιο βάρος και στυλ" + }, + "loadFailed": "Δεν είναι δυνατή η φόρτωση αυτού του προγράμματος περιήγησης" } }, "common": { @@ -1139,15 +1721,18 @@ "display": "Εμφάνιση", "reader": "Αναγνώστης", "metadata": "Μεταδεδομένα", + "usersAccess": "& Πρόσβαση Χρηστών", "email": "E-mail", "opds": "OPDS", "kobo": "Kobo", "koreader": "KOReader", + "tts": "Κείμενο- σε- ομιλία", "integrations": "Ενσωματώσεις", "hardcover": "Σκληρό", "admin": "Διαχειριστής", "system": "Σύστημα", - "account": "Λογαριασμός" + "account": "Λογαριασμός", + "podcasts": "Podcasts" } }, "integrations": { @@ -1173,31 +1758,52 @@ "subtitle": "Υπότιτλος", "description": "Περιγραφή", "cover": "Εξώφυλλο", + "audioCover": "Εξώφυλλο ήχου", "authors": "Συντάκτες", "publisher": "Εκδότης", "publishedYear": "Δημοσιευμένο έτος", "language": "Γλώσσα", "pageCount": "Αριθμός σελίδων", + "isbn": "ISBNs", "communityRating": "Κοινοτική αξιολόγηση", "seriesName": "Όνομα σειράς", "seriesIndex": "Δείκτης σειράς", "genres": "Genres", "narrators": "Αφηγητές", "duration": "Διάρκεια", - "abridged": "Εγκατάλειψη" + "abridged": "Εγκατάλειψη", + "tags": "Ετικέτες", + "isbn13": "ISBN-13", + "isbn10": "ISBN-10", + "googleBooksId": "Αναγνωριστικό Google Books", + "goodreadsId": "Αναγνωριστικό Εμπορευμάτων", + "amazonId": "Αναγνωριστικό Amazon", + "hardcoverId": "Σκληρό Αναγνωριστικό", + "openLibraryId": "Άνοιγμα Αναγνωριστικού Βιβλιοθήκης", + "itunesId": "Id iTunes", + "koboId": "Kobo ID", + "aladinId": "Aladin ID" }, "mergeStrategy": { "fillMissing": { "label": "Λείπει η συμπλήρωση", - "description": "Γράψτε μόνο αν το πεδίο είναι προς το παρόν κενό" + "description": "Γράψτε μόνο αν το πεδίο είναι προς το παρόν κενό", + "short": "Γέμισμα κενών" + }, + "mergeExisting": { + "label": "Συγχώνευση με υπάρχοντα", + "description": "Διατήρηση αποθηκευμένων ειδών και προσθήκη νέων ειδών παροχής", + "short": "Συγχώνευση" }, "overwriteIfProvided": { "label": "Αντικατάσταση εάν παρέχεται", - "description": "Γράψτε αν ο πάροχος επέστρεψε μια τιμή" + "description": "Γράψτε αν ο πάροχος επέστρεψε μια τιμή", + "short": "Εάν παρέχεται" }, "overwrite": { "label": "Πάντα αντικατάσταση", - "description": "Πάντα αντικατάσταση υπάρχουσας τιμής" + "description": "Πάντα αντικατάσταση υπάρχουσας τιμής", + "short": "Πάντα" } }, "autoFetch": { @@ -1217,7 +1823,8 @@ }, "status": { "inQueuePaused": "{count} σε ουρά - σε παύση", - "remaining": "{count} απομένουν" + "remaining": "{count} απομένουν", + "eligible": "~{count} κατάλληλο" }, "trigger": { "queued": "{count, plural, one {Σε αναμονή # βιβλίο} other {Σε αναμονή # βιβλία}}", @@ -1230,6 +1837,7 @@ "yesterday": "χθες", "daysAgo": "{count, plural, one {# μέρα πριν από} other {# ημέρες πριν}}", "label": "Τελευταία εκτέλεση: {when}", + "labelQueued": "Τελευταία εκτέλεση: {when} - βιβλία {count} σε ουρά", "labelNoneEligible": "Τελευταία εκτέλεση: {when} - δεν υπάρχουν επιλέξιμα βιβλία" }, "conditions": { @@ -1244,7 +1852,8 @@ "scoreThreshold": { "label": "Χαμηλή βαθμολογία μεταδεδομένων", "hint": "Λήψη αν η βαθμολογία μεταδεδομένων είναι κάτω από ένα όριο.", - "scoreBelow": "Βαθμολογία παρακάτω" + "scoreBelow": "Βαθμολογία παρακάτω", + "summary": "Βαθμολογία < {threshold}" }, "missingFields": { "label": "Λείπουν πεδία", @@ -1257,20 +1866,129 @@ "inheritFromGlobal": "Κληρονόμηση από την παγκόσμια", "usingGlobalDefaults": "Χρήση καθολικών προεπιλογών.", "saveOverride": "Αποθήκευση παράκαμψης" + }, + "scope": { + "ownSettings": "{count, plural, one {# δική της ρύθμιση} other {# δικές της ρυθμίσεις}}", + "globalIntro": "Κάθε βιβλιοθήκη ακολουθεί αυτόν τον κανόνα εκτός αν έχει τον δικό της.", + "globalCoverage": "{libraryCount, plural, one {Ισχύει για # βιβλιοθήκη} other {Ισχύει για # βιβλιοθήκες}}, {bookCount, plural, one {# βιβλίο} other {# βιβλία}}.", + "ownLibraries": "{names} {count, plural, one {έχει τον δικό του κανόνα.} other {έχει τους δικούς τους κανόνες.}}", + "libraryFollows": "{library} ακολουθεί τον παγκόσμιο κανόνα. Αλλάξτε οτιδήποτε εδώ για να του δώσετε τη δική του.", + "libraryOwn": "Ο {library} έχει τον δικό του κανόνα για {count, plural, one {# ρύθμιση} other {# ρυθμίσεις}}. Όλα τα υπόλοιπα ακολουθούν τον γενικό κανόνα.", + "lastRun": "Τελευταία εκτέλεση {when}, σε αναμονή {count, plural, one {# βιβλίο} other {# βιβλία}}.", + "neverRun": "Δεν εκτελέστηκε ακόμα.", + "useGlobalRule": "Χρήση του καθολικού κανόνα", + "loadFailed": "Δεν ήταν δυνατή η φόρτωση των ρυθμίσεων αυτόματης ανάκτησης. Επαναφόρτωση της σελίδας για να προσπαθήσετε ξανά.", + "saved": "Αποθηκεύτηκε {scope}", + "saveFailed": "Δεν ήταν δυνατή η αποθήκευση του {scope}. Δοκιμάστε ξανά." + }, + "run": { + "all": "Εκτέλεση για κάθε βιβλιοθήκη", + "library": "Εκτέλεση για {library}", + "saveFirst": "Εκτελεί χρήση του αποθηκευμένου κανόνα. Αποθήκευση πρώτα.", + "failed": "Δεν ήταν δυνατή η εκκίνηση της εκτέλεσης. Δοκιμάστε ξανά." + }, + "onImport": { + "label": "Λήψη μεταδεδομένων για νέα βιβλία", + "hint": "Σαρώνει και φορτώνει την ουρά που ταιριάζουν στα βιβλία αμέσως. Μια λήψη κατά την εισαγωγή γεμίζει μόνο άδεια πεδία. Τα κλειδωμένα πεδία δεν αλλάζουν ποτέ.", + "follow": "Ακολουθήστε καθολικά", + "on": "Ενεργό", + "off": "Ανενεργό" + }, + "columns": { + "books": "{count, plural, one {βιβλίο} other {Βιβλία}}", + "ofTotal": "του {total}", + "off": "Ανενεργό", + "own": "Ίδια", + "global": "Καθολικό", + "useGlobal": "Χρήση καθολικής", + "globalValue": "Παγκόσμιος κανόνας: {value}", + "on": "Ενεργό", + "scoreBelowValue": "Βαθμολογία κάτω από το {threshold}", + "neverFetchedSplit": "{count, plural, one {# δεν ανακτήθηκε ποτέ} other {# δεν ανακτήθηκε ποτέ}}", + "fetchedBeforeSplit": "{count, plural, one {# ανακτήθηκε πριν από} other {# ανακτήθηκε πριν από}}", + "lowScoreLabel": "Βαθμός χαμηλής εμπιστοσύνης", + "lowScoreHint": "Λήψη βιβλίων των οποίων η βαθμολογία εμπιστοσύνης είναι κάτω από τη γραμμή.", + "outOf": "/ 100", + "lowerThreshold": "Χαμηλώστε το όριο", + "raiseThreshold": "Αύξηση του ορίου", + "missingHint": "Ανάκτηση αν κάποιο επιλεγμένο πεδίο είναι κενό. Κάθε πεδίο εμφανίζει πόσα βιβλία λείπουν.", + "audioGroup": "Βιβλία με ήχο", + "audioHint": "{count, plural, =0 {Κανένας εδώ δεν έχει ήχο.} one {Μόνο το # βιβλίο με ήχο μπορεί να τα λείψει.} other {Μόνο το # με ήχο μπορεί να τα λείψει.}}", + "fieldCount": "{field}: {count, plural, one {# το βιβλίο στερείται} other {# βιβλία δεν έχουν}}" + }, + "histogram": { + "label": "Βαθμολογία εμπιστοσύνης", + "valueText": "Βαθμολογία κάτω από το {threshold}" + }, + "preview": { + "title": "Τι θα έφερνε ένα τρέξιμο", + "matching": "{matching, plural, one {# του {total} Τα βιβλία ταιριάζουν} other {# του {total} Τα βιβλία ταιριάζουν}}", + "showing": "{count, plural, one {δείχνοντας το λιγότερο ολοκληρωμένο} other {δείχνοντας τους # λιγότερο ολοκληρωμένους}}", + "empty": "Κανένα βιβλίο δεν ταιριάζει με αυτόν τον κανόνα, έτσι ένα τρέξιμο δεν θα ουρά τίποτα.", + "unknownAuthor": "Άγνωστος συγγραφέας", + "score": "Βαθμολογία {score}", + "more": "+{count}", + "missing": { + "title": "Χωρίς τίτλο", + "subtitle": "Χωρίς υπότιτλο", + "description": "Χωρίς περιγραφή", + "cover": "Χωρίς εξώφυλλο", + "audioCover": "Δεν υπάρχει εξώφυλλο audiobook", + "authors": "Κανένας συγγραφέας", + "publisher": "Κανένας εκδότης", + "isbn": "Δεν Υπάρχει ISBN", + "publishedYear": "Δεν υπάρχει δημοσιευμένο έτος", + "language": "Καμία γλώσσα", + "pageCount": "Χωρίς αριθμό σελίδων", + "communityRating": "Χωρίς κοινοτική αξιολόγηση", + "seriesName": "Χωρίς όνομα σειράς", + "seriesIndex": "Χωρίς δείκτη σειράς", + "genres": "Δεν υπάρχουν είδη", + "narrators": "Δεν υπάρχουν αφηγητές", + "duration": "Καμία διάρκεια", + "abridged": "Δεν έχει οριστεί σε" + } + }, + "queue": { + "progress": "{done} του {total}", + "failed": "{count, plural, one {# το βιβλίο δεν μπορεί να παραληφθεί} other {# τα βιβλία δεν μπόρεσαν να παραληφθούν}}" } }, "providers": { "availableSources": "Διαθέσιμες Πηγές", "saveChanges": "Αποθήκευση Αλλαγών", + "discard": "Απορρίψτε", + "configure": "Ρύθμιση", "test": "Δοκιμή", "testing": "Δοκιμή...", + "testHint": "Ελέγχει αυτά τα διαπιστευτήρια σε σχέση με τη ζωντανή υπηρεσία. Τίποτα δεν αποθηκεύτηκε.", "enabled": "Ενεργοποιημένο", + "retryIn": "Δοκιμάστε ξανά στο {duration}", "runTestBeforeEnabling": "Εκτέλεση δοκιμής πριν την ενεργοποίηση", "hardcoverEnableHint": "Εκτέλεση δοκιμής με το τρέχον διακριτικό για ξεκλείδωμα του διακόπτη ενεργοποίησης.", + "searchPlaceholder": "Πηγές φίλτρου", + "sourcesEnabled": "{enabled} των πηγών {total} ενεργοποιημένες", + "groupEnabled": "{enabled} του {total} ενεργό", + "unsavedChanges": "{count, plural, one {# μη αποθηκευμένη αλλαγή} other {# μη αποθηκευμένες αλλαγές}}", + "noMatches": "Καμία πηγή δεν ταιριάζει με αυτό το φίλτρο.", + "clearFilters": "Εκκαθάριση φίλτρων", + "filter": { + "label": "Φιλτράρισμα πηγών ανά κατάσταση", + "all": "Όλα", + "enabled": "Ενεργοποιημένο", + "needsSetup": "Χρειάζεται ρύθμιση" + }, + "groups": { + "books": "Γενικοί κατάλογοι βιβλίων", + "audiobooks": "Audiobooks", + "comics": "Κόμικς & ελαφριά μυθιστορήματα", + "regional": "Περιφερειακοί κατάλογοι" + }, "badge": { "setupRequired": "Απαιτείται Εγκατάσταση", "throttled": "Στιλβωμένο", - "ready": "Έτοιμο" + "ready": "Έτοιμο", + "active": "Ενεργό" }, "fields": { "apiKey": "Κλειδί API", @@ -1294,6 +2012,7 @@ "kobo": "Αποτρίβει τις δημόσιες σελίδες βιβλίων του Kobo. Η χώρα και η γλώσσα πρέπει να ταιριάζουν με τις διαδρομές URL του Kobo. Η προστασία bot μπορεί να αποκλείσει αιτήσεις.", "audible": "Τραβήξτε μεταδεδομένα ήχου από Audible. Δεν απαιτείται πρόσθετη ρύθμιση.", "audnexus": "Κοινότητα-οδηγούμενα από audiobook μεταδεδομένα. Δεν απαιτείται ρύθμιση.", + "librofm": "Μεταδεδομένα καταλόγου ήχου χωρίς DRM. Χρησιμοποιεί ένα μη τεκμηριωμένο τελικό σημείο Libro.fm και είναι απενεργοποιημένο από προεπιλογή.", "comicvine": "Comic βιβλίο μεταδεδομένα από ComicVine. Ένα δωρεάν κλειδί API απαιτείται από comicvine.gamespot.com.", "ranobedb": "Ιαπωνικό φως νέα μεταδεδομένα από RanobeDB. Δεν απαιτείται ρύθμιση.", "lubimyczytac": "Πολωνικά κατάλογος βιβλίων (lubimyczytac.pl). Αποκλείει δημόσιες σελίδες βιβλίων. Δεν απαιτείται εγκατάσταση.", @@ -1311,6 +2030,7 @@ "clearAllProviders": "Εκκαθάριση Όλων Των Παρόχων", "clearAll": "Εκκαθάριση Όλων", "resetToDefault": "Επαναφορά προεπιλογών", + "bookCover": "Βιβλίο εξώφυλλο", "reset": "Reset", "dragProvidersHint": "Σύρετε τους παρόχους από εδώ σε οποιοδήποτε πεδίο για να τους προσθέσετε", "dragProviderHere": "σύρετε εδώ έναν πάροχο", @@ -1326,7 +2046,9 @@ "fillMissingBody": "Εγγραφή μόνο αν η τρέχουσα τιμή είναι κενή.", "overwriteTerm": "Αντικατάσταση:", "overwriteBody": "Αντικατάσταση κάθε φορά που ένας πάροχος έχει δεδομένα." - } + }, + "summary": "Οι πάροχοι δοκιμάζονται από πάνω προς τα κάτω και ο πρώτος που επιστρέφει μια τιμή κερδίζει. Η στρατηγική συγχώνευσης αποφασίζει αν αυτή η τιμή μπορεί να αντικαταστήσει αυτό που έχει ήδη το βιβλίο· τα είδη μπορούν επίσης να προσαρτήσουν νέες μοναδικές αξίες. Ορίστε εδώ προεπιλογές, στη συνέχεια παρακάμψτε μεμονωμένα πεδία ανά βιβλιοθήκη.", + "summaryByMedium": "Οι πάροχοι δοκιμάζονται από πάνω προς τα κάτω, και ο πρώτος με μια τιμή κερδίζει. Τα είδη σε λειτουργία συγχώνευσης και οι πιστοποιήσεις κοινότητας συνδυάζουν κάθε πάροχο. Η στρατηγική συγχώνευσης αποφασίζει αν μια αξία μπορεί να αντικαταστήσει αυτό που έχει ήδη το βιβλίο. Audible, AudNexus και Libro. m απάντηση μόνο για βιβλία με ήχο, ανάγνωση κατά μήκος EPUBs περιλαμβάνονται, έτσι βάζοντας τα πρώτα προτιμά audiobook μετα-δεδομένα χωρίς να αγγίξει ebook-μόνο βιβλία. Εξώφυλλο τέχνης του λάθος σχήμα γεμίζει μια υποδοχή μόνο όταν τίποτα άλλο δεν μπορεί. Μια βιβλιοθήκη αντικαθιστά ολόκληρο τον κανόνα του πεδίου." }, "libraryOverrides": { "title": "Αναπροσδιορισμοί Βιβλιοθήκης", @@ -1348,11 +2070,16 @@ "maxGenres": { "label": "Μέγιστος αριθμός ειδών ανά βιβλίο", "hint": "Εφαρμόζεται μετά από εξαιρέσεις και διπλή αφαίρεση. Αφήστε κενό για απεριόριστα. Αυτό επηρεάζει μελλοντικές επαναλήψεις μεταδεδομένων.", - "unlimited": "Απεριόριστο" + "unlimited": "Απεριόριστο", + "error": "Εισαγάγετε έναν ακέραιο αριθμό από το 1 έως το {max} ή αφήστε το πεδίο κενό." }, "storeProviderIds": { "label": "Αποθήκευση αναγνωριστικών παρόχου σε βιβλία", "hint": "Κατά τη λήψη μεταδεδομένων, αποθηκεύστε τα αναγνωριστικά του επιστρεφόμενου παρόχου (ISBN, ASIN, Goodreads ID κλπ.) στην εγγραφή του βιβλίου για πιο ακριβείς μελλοντικές αναζητήσεις." + }, + "existingProviderIdsOnly": { + "label": "Χρήση μόνο αναγνωριστικών υπάρχοντος παρόχου", + "hint": "Για βιβλία που βρίσκονται ήδη στη βιβλιοθήκη, αναζήτηση μόνο παρόχους με αποθηκευμένο αναγνωριστικό και ποτέ δεν πέφτουν πίσω σε αναζήτηση όταν αποτύχει μια αναζήτηση ταυτότητας. Η χειρωνακτική αναζήτηση και η ανακάλυψη νέου βιβλίου δεν επηρεάζονται." } }, "library": { @@ -1361,9 +2088,11 @@ "unsavedSuffix": "(μη αποθηκευμένο)", "unsavedChanges": "Μη αποθηκευμένες αλλαγές", "globalDefaults": "Καθολικές Προεπιλογές", + "overriding": "Παράκαμψη: {fields}", "inheritingAll": "Κληρονόμηση όλων των καθολικών κανόνων μεταδεδομένων", "subHint": "Τα πεδία δεν παρακάμπτουν τις καθολικές προεπιλογές.", "resetTooltip": "Αφαιρέστε όλες τις παρακάμψεις και κληρονομήστε τις καθολικές προεπιλογές", + "clearAllConfirm": "Κατάργηση όλων των ενεργών παρόχων από κάθε πεδίο στο \"{library}\"?", "resetConfirm": "Επαναφορά \"{library}\" στις καθολικές προεπιλογές? Όλες οι παρακάμψεις της βιβλιοθήκης θα αφαιρεθούν." }, "groups": { @@ -1375,21 +2104,37 @@ "audiobook": "Audiobook" }, "groupSummary": { - "base": "{fields} πεδία · {enabled} ενεργοποιημένα" + "base": "{fields} πεδία · {enabled} ενεργοποιημένα", + "withOverrides": "{base} · {overrides} παρακάμπτει", + "enabledOf": "{enabled} του {fields} ενεργοποιημένο" }, "table": { "field": "Πεδίο", "activeProviders": "Ενεργοί πάροχοι (κατά προτεραιότητα)", "mergeStrategy": "Στρατηγική Συγχώνευσης", - "status": "Κατάσταση" + "status": "Κατάσταση", + "noMatches": "Κανένα πεδίο δεν ταιριάζει με αυτά τα φίλτρα." }, "field": { "noProviders": "Ενεργοποιημένο αλλά δεν έχει παρόχους", + "noUsableProvider": "Ενεργοποίηση, αλλά κανένας πάροχος δεν μπορεί να το συμπληρώσει εδώ", "empty": "Κενό", "config": "Ρύθμιση", "custom": "Προσαρμοσμένο", "default": "Προεπιλογή", - "resetToDefault": "Επαναφορά προεπιλογών" + "resetToDefault": "Επαναφορά προεπιλογών", + "toggle": "Λήψη {field} κατά την ανανέωση των μεταδεδομένων", + "configure": "Διαμόρφωση {field}", + "add": "Προσθήκη", + "addHint": "Προστέθηκε στο τέλος της παραγγελίας. Σύρετε μια μάρκα για να την μετακινήσετε νωρίτερα.", + "addProviderTo": "Προσθήκη παρόχου στο {field}", + "removeProvider": "Αφαιρέστε το {provider}", + "noProvidersYet": "Κανένας πάροχος ακόμα", + "skippedCount": "{count, plural, one {# παραλείφθηκαν} other {# παραλείφθηκαν}}", + "unsaved": "Μη Αποθηκευμένα", + "override": "Παράκαμψη", + "inherited": "Κληρονόμησε", + "morePreview": "+{count} περισσότερα" }, "reservoir": { "disabled": "{provider} - απενεργοποιημένο", @@ -1403,6 +2148,74 @@ "statusDisabled": "απενεργοποιημένο", "statusNotConfigured": "δεν έχει ρυθμιστεί", "done": "Ολοκληρώθηκε" + }, + "scope": { + "label": "Πεδίο εφαρμογής κανόνα", + "global": "Καθολικές προεπιλογές", + "overrideCount": "{count, plural, one {# overridden field} other {# overridden fields}}", + "unsavedMarker": "Έχει μη αποθηκευμένες αλλαγές" + }, + "toolbar": { + "searchFields": "Πεδία αναζήτησης", + "clearSearch": "Εκκαθάριση αναζήτησης", + "provider": "Πάροχος", + "anyProvider": "Οποιαδήποτε", + "providerMenuTitle": "Φιλτράρισμα και μαζική επεξεργασία ανά πάροχο", + "usedIn": "{count, plural, =0 {αχρησιμοποίητο} one {# πεδίο} other {# πεδία}}", + "showOnlyThese": "Εμφάνιση μόνο των πεδίων με χρήση", + "bulkLabel": "Εφαρμογή σε όλα τα {count} πεδία που το χρησιμοποιούν", + "makeFirst": "Κάντε το πρώτο παντού", + "makeLast": "Κάντε το τελευταίο παντού", + "removeEverywhere": "Αφαίρεση από όλα τα πεδία", + "audioCoverOrderKept": "Η αναδιάταξη παραλείπει τον κανόνα κάλυψης Audiobook, ο οποίος κρατά τις πηγές audiobook πρώτες.", + "allFields": "Όλα τα πεδία", + "overridesOnly": "Παρακάμπτει μόνο", + "clearFilters": "Εκκαθάριση φίλτρων" + }, + "providerState": { + "disabled": "Απενεργοποιημένο", + "notConfigured": "Δεν έχει ρυθμιστεί", + "disabledDetail": "Το {provider} είναι απενεργοποιημένο, έτσι ώστε να μένει στη σειρά αλλά παραλείπεται.", + "notConfiguredDetail": "{provider} δεν έχει ακόμη διαπιστευτήρια, έτσι ώστε να παραμένει με τη σειρά αλλά παραλείπεται.", + "neverSupplies": "Ποτέ δεν το προμηθεύει", + "neverSuppliesDetail": "Το {provider} ποτέ δεν προμηθεύει αυτό το πεδίο, οπότε παραλείπεται εδώ.", + "otherShape": "Άλλα σχήματα κάλυψης", + "otherShapeDetail": "{provider} έχει μόνο εξώφυλλα του άλλου σχήματος, έτσι γεμίζει αυτή την υποδοχή μόνο όταν τίποτα άλλο δεν μπορεί." + }, + "detail": { + "priority": "Προτεραιότητα παρόχου", + "priorityHint": "Ο πρώτος πάροχος που επιστρέφει μια τιμή κερδίζει.", + "moveUp": "Μετακίνηση {provider} νωρίτερα", + "moveDown": "Μετακινήστε το {provider} αργότερα", + "result": "Αποτέλεσμα", + "resultHint": "Στην επόμενη ανανέωση το πεδίο αυτό επιλύεται με αυτή τη σειρά:", + "noUsableProviders": "Κανένας χρησιμοποιήσιμος πάροχος - αυτό το πεδίο δεν θα συμπληρωθεί.", + "skippedSummary": "{count, plural, one {{providers} είναι με τη σειρά αλλά θα παραλειφθεί.} other {{providers} είναι στη σειρά αλλά θα παραληφθεί.}}", + "appliesTo": "Ισχύει για {scope}.", + "inheritGlobal": "Κληρονόμηση παγκόσμιου κανόνα", + "inheritingGlobal": "Κληρονίζοντας τον παγκόσμιο κανόνα.", + "collapse": "Σύμπτυξη" + }, + "save": { + "upToDate": "Καμία μη αποθηκευμένη αλλαγή", + "unsaved": "{count, plural, one {# μη αποθηκευμένη αλλαγή} other {# μη αποθηκευμένες αλλαγές}} στο {scope}", + "discard": "Απορρίψτε", + "action": "Αποθήκευση {scope}" + }, + "confirm": { + "clearProviders": { + "title": "Αφαίρεση κάθε παρόχου?", + "description": "Αυτό αδειάζει τη λίστα παροχής και στα 16 πεδία του {scope}. Τίποτα δεν αποθηκεύεται μέχρι να επιλέξετε Αποθήκευση." + }, + "resetScope": { + "title": "Επαναφορά στις προεπιλογές?", + "globalDescription": "Αυτό αντικαθιστά τους καθολικούς κανόνες του πεδίου σας με τις προεπιλογές του συστήματος και αποθηκεύει αμέσως.", + "libraryDescription": "Αυτό αφαιρεί κάθε παράκαμψη στο {scope} έτσι κληρονομεί ξανά τους παγκόσμιους κανόνες και σώζει αμέσως." + }, + "removeProvider": { + "title": "Αφαίρεση {provider} από κάθε πεδίο?", + "description": "Αυτό παίρνει το {provider} από την παραγγελία παρόχου σε κάθε πεδίο στο {scope}. Τίποτα δεν αποθηκεύεται μέχρι να επιλέξετε Save." + } } }, "genreBlocklist": { @@ -1415,9 +2228,128 @@ "add": "Προσθήκη", "filterPlaceholder": "Φιλτράρισμα λίστας αποκλεισμών", "entryCount": "{count, plural, one {# καταχώρηση} other {# καταχωρήσεις}}", + "filteredCount": "{shown} του {total}", "noFilterMatch": "Κανένα μπλοκαρισμένο είδος δεν ταιριάζει με το τρέχον φίλτρο.", "emptyTitle": "Δεν υπάρχουν μπλοκαρισμένα είδη", - "emptyHint": "Προσθέστε ακριβείς τιμές όπως το Audiobook ή ο Ενήλικας για να τις κρατήσετε μακριά από τα μεταδεδομένα που παίρνετε." + "emptyHint": "Προσθέστε ακριβείς τιμές όπως το Audiobook ή ο Ενήλικας για να τις κρατήσετε μακριά από τα μεταδεδομένα που παίρνετε.", + "removeLabel": "Αφαιρέστε το {genre}" + }, + "searchCache": { + "loadFailed": "Αδύνατη η φόρτωση των ρυθμίσεων της προσωρινής μνήμης αναζήτησης.", + "retry": "Προσπαθήστε ξανά", + "saved": "Οι ρυθμίσεις της κρύπτης αναζήτησης αποθηκεύτηκαν", + "saveFailed": "Απέτυχε η αποθήκευση των ρυθμίσεων της κρύπτης αναζήτησης", + "units": { + "hours": "Ώρες", + "days": "Ημέρες" + }, + "general": { + "title": "Αποθηκευμένες απαντήσεις", + "enabled": "Αποθήκευση απαντήσεων παρόχου", + "enabledHint": "Αναζητήσεις, μαζικές ανανεώσεις και ανάκτηση φόντου επαναχρησιμοποιούν τις αποθηκευμένες απαντήσεις αντί να ρωτούν ξανά κάθε πάροχο.", + "resultsTtl": "Διατήρηση αποτελεσμάτων για", + "resultsTtlHint": "Πόσο καιρό επαναχρησιμοποιείται μια απάντηση με αποτελέσματα πριν ζητηθεί και πάλι από τον πάροχο.", + "resultsTtlUnit": "Μονάδα χρόνου αποτελεσμάτων", + "emptyTtl": "Κρατήστε κενές απαντήσεις για", + "emptyTtlHint": "Πόσο καιρό ένας πάροχος βρίσκει τίποτα δεν θυμόμαστε. Ισχύει μόνο για τους παρόχους που σημειώνονται ως προσωρινή αποθήκευση κενών απαντήσεων. 0 ποτέ δεν κρατά κενές απαντήσεις.", + "emptyTtlUnit": "Κενή μονάδα χρόνου απαντήσεων", + "staleGrace": "Χρήση ληγμένων απαντήσεων για", + "staleGraceHint": "Όταν ένας πάροχος αποτύχει, αντ' αυτού χρησιμοποιείται μια απάντηση μέχρι τόσο μεγάλο παρελθόν. 0 ποτέ δεν πέφτει πίσω.", + "staleGraceUnit": "Μονάδα χρόνου απαντήσεων που έχει λήξει", + "storage": "Προϋπολογισμός αποθήκευσης", + "storageHint": "Οι παλαιότερες απαντήσεις αφαιρούνται όταν οι αποθηκευμένες απαντήσεις περάσουν αυτό το μέγεθος. Στο δίσκο ο πίνακας μπορεί να πάρει περίπου 1,5 με 2 φορές τον προϋπολογισμό.", + "storageUnit": "MB" + }, + "providers": { + "title": "Ρυθμίσεις παρόχου", + "hint": "Αφήστε ένα πλαίσιο κενό για να χρησιμοποιήσετε την παραπάνω τιμή. Απενεργοποιήστε έναν πάροχο για να τον ρωτήσετε πάντα ζωντανά.", + "books": "Βιβλία", + "authors": "Συντάκτες", + "none": "Δεν υπάρχουν διαθέσιμοι πάροχοι.", + "globalOff": "Η αποθήκευση απαντήσεων είναι απενεργοποιημένη, οπότε αυτές οι ρυθμίσεις ισχύουν μόλις ενεργοποιηθεί ξανά.", + "on": "Ενεργό", + "off": "Ανενεργό", + "enabledLabel": "Αποθήκευση απαντήσεων από το {provider}", + "resultsTtl": "Διατήρηση αποτελεσμάτων για", + "resultsTtlLabel": "Διατηρήστε τα αποτελέσματα {provider} για", + "resultsTtlUnitLabel": "Μονάδα χρόνου για τα αποτελέσματα {provider}", + "emptyTtl": "Κρατήστε κενές απαντήσεις για", + "emptyTtlLabel": "Κρατήστε κενές απαντήσεις {provider} για", + "emptyTtlUnitLabel": "Μονάδα χρόνου για κενές απαντήσεις {provider}", + "noEmptyCaching": "Οι κενές απαντήσεις από αυτόν τον πάροχο δεν αποθηκεύονται ποτέ.", + "notCacheable": "Οι απαντήσεις από αυτόν τον πάροχο δεν αποθηκεύονται ποτέ.", + "reset": "Επαναφορά {provider} στις προεπιλογές" + }, + "validation": { + "required": "Εισάγετε μια τιμή.", + "wholeNumber": "Εισάγετε έναν ακέραιο αριθμό.", + "range": "Εισάγετε μια τιμή από το {min} στο {max}.", + "tooManyOverrides": "Πάρα πολλοί πάροχοι έχουν τις δικές τους ρυθμίσεις. Επαναφέρετε μερικούς από αυτούς για αποθήκευση." + }, + "save": { + "unsaved": "Μη αποθηκευμένες αλλαγές", + "invalid": "Διόρθωση των επιλεγμένων πεδίων για αποθήκευση", + "upToDate": "Όλες οι αλλαγές αποθηκεύτηκαν", + "discard": "Απορρίψτε", + "action": "Αποθήκευση" + }, + "stats": { + "group": "Χρήση", + "title": "Αποθηκευμένες απαντήσεις", + "refresh": "Ανανέωση", + "loadFailed": "Αδύνατη η φόρτωση της χρήσης προσωρινής μνήμης.", + "storage": "Αποθηκευτικός χώρος που χρησιμοποιείται", + "storageUsed": "{used} του {budget}", + "storageHint": "Μέγεθος των αποθηκευμένων απαντήσεων. Ο πίνακας στο δίσκο είναι μεγαλύτερος.", + "entries": "Αποθηκευμένες απαντήσεις", + "emptyEntries": "Κενές απαντήσεις", + "diskSize": "Μέγεθος τραπεζιού στο δίσκο", + "hitRate": "Ρυθμός επιτυχίας", + "requestsAvoided": "Αποκλείονται αιτήματα", + "fallbacks": "Φθινόπωρο", + "skippedWrites": "Παράλειψη εγγραφών", + "oldest": "Παλαιότερη απάντηση", + "none": "Κανένα ακόμα", + "countersHint": "Χτύπημα ρυθμού, τα αιτήματα αποφεύγονται, πέφτουν και παραλείπονται εγγραφές μετράνε από την τελευταία εκκίνηση του διακομιστή.", + "perProvider": "Αποθηκευμένες απαντήσεις από τον πάροχο", + "provider": "Πάροχος", + "kind": "Τύπος", + "size": "Μέγεθος", + "empty": "Τίποτα δεν έχει αποθηκευτεί ακόμα." + }, + "clear": { + "group": "Συντήρηση", + "title": "Εκκαθάριση αποθηκευμένων απαντήσεων", + "regionHint": "Οι πάροχοι μπορούν να απαντήσουν διαφορετικά ανά τοποθεσία. Καθαρίστε την προσωρινή μνήμη μετά τη μετακίνηση του διακομιστή σε άλλη περιοχή ή VPN.", + "action": "Εκκαθάριση", + "failed": "Αποτυχία εκκαθάρισης αποθηκευμένων απαντήσεων", + "done": "{count, plural, one {Αφαιρέθηκε # αποθηκευμένη απάντηση} other {Αφαιρέθηκε # αποθηκευμένες απαντήσεις}}", + "donePending": "{count, plural, one {Αφαιρέθηκε # αποθηκευμένη απάντηση. Τα υπόλοιπα αφαιρούνται στο παρασκήνιο.} other {Αφαιρέθηκε # αποθηκευμένες απαντήσεις. Τα υπόλοιπα αφαιρούνται στο παρασκήνιο.}}", + "empty": { + "label": "Καθαρισμός κενών απαντήσεων μόνο", + "hint": "Ξεχάζει ότι οι πάροχοι δεν βρήκαν τίποτα, οπότε αυτές οι αναζητήσεις ρωτούν ξανά.", + "confirmTitle": "Καθαρισμός κενών απαντήσεων?", + "confirmDescription": "Αποθηκευμένες απαντήσεις όπου ένας πάροχος δεν βρήκε τίποτα δεν έχει αφαιρεθεί. Οι απαντήσεις με αποτελέσματα τηρούνται." + }, + "book": { + "label": "Εκκαθάριση απαντήσεων βιβλίου", + "hint": "Αφαιρεί τα πάντα αποθηκευμένα από παρόχους βιβλίων.", + "confirmTitle": "Εκκαθάριση απαντήσεων στο βιβλίο?", + "confirmDescription": "Κάθε αποθηκευμένη απάντηση από παρόχους βιβλίων έχει αφαιρεθεί. Η επόμενη αναζήτηση ρωτήστε ξανά αυτούς τους παρόχους." + }, + "author": { + "label": "Εκκαθάριση απαντήσεων συγγραφέα", + "hint": "Αφαιρεί τα πάντα αποθηκευμένα από παρόχους συγγραφέων.", + "confirmTitle": "Εκκαθάριση απαντήσεων συγγραφέα?", + "confirmDescription": "Κάθε αποθηκευμένη απάντηση από παρόχους συγγραφέων έχει αφαιρεθεί. Η επόμενη αναζήτηση ρωτήστε ξανά αυτούς τους παρόχους." + }, + "all": { + "label": "Εκκαθάριση όλων των αποθηκευμένων απαντήσεων", + "hint": "Εκκενώνει την προσωρινή μνήμη. Κάθε πάροχος ερωτάται ξανά στην επόμενη αναζήτηση.", + "confirmTitle": "Εκκαθάριση όλων των αποθηκευμένων απαντήσεων?", + "confirmDescription": "Ολόκληρη η κρύπτη είναι άδεια. Οι αναζητήσεις θα είναι πιο αργές μέχρι να γεμίσει ξανά, και τίποτα δεν μένει να πέσει πίσω όταν ένας πάροχος είναι κάτω." + } + } }, "customFields": { "label": "Ετικέτα", @@ -1448,6 +2380,7 @@ "archive": "Αρχειοθέτηση", "archivedFields": "Αρχειοθετημένο Πεδίο", "archivedSummary": "{count, plural, one {# αρχειοθετημένο πεδίο - επαναφορά ή μόνιμη διαγραφή.} other {# αρχειοθετημένα πεδία - επαναφορά ή μόνιμη διαγραφή.}}", + "archivedAt": "Αρχειοθετήθηκε {when}", "restore": "Επαναφορά", "deleteForever": "Διαγραφή για πάντα", "deleteDialog": { @@ -1462,10 +2395,149 @@ "preview": "Προεπισκόπηση", "sampleValue": "Τιμή δείγματος", "enabledLibraries": "Ενεργοποιημένες Βιβλιοθήκες", + "countOf": "{selected} του {total}", "selectAll": "Επιλογή όλων", "clear": "Εκκαθάριση", "noLibraries": "Δεν υπάρχουν ακόμα διαθέσιμες βιβλιοθήκες.", - "allLibraries": "Όλες οι βιβλιοθήκες" + "allLibraries": "Όλες οι βιβλιοθήκες", + "pageFacts": "{fields, plural, one {# πεδίο} other {# πεδία}} · {values, plural, one {# η τιμή αποθηκεύτηκε} other {# αποθηκευμένες τιμές}}", + "newFieldAction": "Νέο πεδίο", + "views": { + "label": "Εμφάνιση ενεργών ή αρχειοθετημένων πεδίων", + "active": "Ενεργό", + "archived": "Αρχειοθετημένο" + }, + "columns": { + "order": "Σειρά", + "field": "Πεδίο", + "type": "Τύπος", + "libraries": "Βιβλιοθήκες", + "filled": "Συμπληρώθηκε", + "valuesKept": "Διατήρηση τιμών", + "archived": "Αρχειοθετημένο", + "actions": "Ενέργειες" + }, + "orderHint": "Σύρετε για τον ορισμό των πεδίων παραγγελίας που εμφανίζονται στην Επεξεργασία Μεταδεδομένων, στις στήλες πίνακα και στις εξαγωγές.", + "archivedHint": "Τα αρχειοθετημένα πεδία αποκρύπτονται από βιβλία, φίλτρα και εξαγωγές. Οι τιμές τους παραμένουν αποθηκευμένες μέχρι να διαγραφεί το πεδίο.", + "coverage": "{filled} του {total}", + "coverageAria": "{filled} των {total} βιβλίων έχουν αξία", + "onNoLibrary": "Δεν υπάρχουν βιβλιοθήκες", + "onNoLibraryHint": "Σε καμία βιβλιοθήκη, έτσι αυτό το πεδίο δεν εμφανίζεται πουθενά", + "moreLibraries": "+{count}", + "noValues": "Κανένα", + "rowActions": { + "edit": "Επεξεργασία", + "editField": "Επεξεργασία πεδίου", + "moveUp": "Μετακίνηση πάνω", + "moveDown": "Μετακίνηση κάτω", + "archive": "Αρχειοθέτηση", + "restore": "Επαναφορά", + "deletePermanently": "Οριστική διαγραφή…", + "more": "Περισσότερες ενέργειες για το {label}" + }, + "toasts": { + "loadFailed": "Αδυναμία φόρτωσης προσαρμοσμένων πεδίων", + "created": "Το {label} δημιουργήθηκε", + "createFailed": "Δεν ήταν δυνατή η δημιουργία του {label}", + "saved": "Το {label} αποθηκεύτηκε", + "saveFailed": "Αδυναμία αποθήκευσης του {label}", + "archived": "Το {label} αρχειοθετήθηκε", + "archiveFailed": "Δεν ήταν δυνατή η αρχειοθέτηση του {label}", + "restored": "Το {label} αποκαταστάθηκε", + "restoreFailed": "Δεν ήταν δυνατή η επαναφορά του {label}", + "deleted": "Το {label} διαγράφηκε", + "deleteFailed": "Αδυναμία διαγραφής του {label}", + "reorderFailed": "Δεν ήταν δυνατή η αποθήκευση της νέας παραγγελίας" + }, + "empty": { + "body": "Παρακολουθήστε τι BookOrbit δεν έχει πεδίο για, όπως για το πού κάθεται ένα βιβλίο στο ράφι σας ή ποιος το έχει δανειστεί. Τα πεδία εμφανίζονται στην Επεξεργασία Μεταδεδομένων, στις στήλες πίνακα και στα φίλτρα.", + "examples": "Ξεκινήστε από ένα παράδειγμα", + "shelfNumber": "Αριθμός Ράφι", + "acquiredOn": "Αποκτήθηκε Στις", + "signedCopy": "Υπογεγραμμένη Αντιγραφή", + "loanedTo": "Δάνειο Σε" + }, + "types": { + "text": { + "label": "Κείμενο", + "hint": "Οποιεσδήποτε λέξεις", + "example": "Πρώτη εκτύπωση, υπογεγραμμένη βιβλιοθήκη" + }, + "url": { + "label": "Σύνδεσμος", + "hint": "Άνοιγμα σε νέα καρτέλα", + "example": "https://example.com/book" + }, + "number": { + "label": "Αριθμός", + "hint": "Ταξινόμηση κατά τιμή", + "example": "42" + }, + "date": { + "label": "Ημερομηνία", + "hint": "Μια ημερολογιακή ημέρα", + "example": "2024-03-09" + }, + "boolean": { + "label": "Ναι / Όχι", + "hint": "Ένα πλαίσιο ελέγχου", + "example": "Ναι" + } + }, + "sheet": { + "newTitle": "Νέο πεδίο", + "editDescription": "Επεξεργαστείτε την ετικέτα και τις βιβλιοθήκες ενός προσαρμοσμένου πεδίου, και δείτε πού εμφανίζεται.", + "newDescription": "Ονομάστε ένα νέο προσαρμοσμένο πεδίο, επιλέξτε τον τύπο του και επιλέξτε τις βιβλιοθήκες του.", + "archivedDescription": "Ένα αρχειοθετημένο προσαρμοσμένο πεδίο. Το επαναφέρετε ή διαγράψτε το με τις τιμές του.", + "statusFilled": "{filled} του {total, plural, one {# βιβλίο} other {# βιβλία}} γεμίζουν", + "statusNone": "Όχι σε καμία βιβλιοθήκη", + "statusHidden": "{count} hidden", + "statusCreated": "δημιούργησε το {date}", + "labelHint": "Εμφανίζεται στην Επεξεργασία Μεταδεδομένων, σε στήλες πινάκων και σε φίλτρα.", + "renameHint": "Η μετονομασία διατηρεί κάθε αποθηκευμένη τιμή και το κλειδί αρχείου {key}.", + "keyHint": "Αποθηκεύτηκε σε αρχεία και εξαγωγές ως {key}, το οποίο παραμένει το ίδιο αν μετονομάσετε το πεδίο.", + "typeLocked": "Ορισμός κατά τη δημιουργία", + "typeLockedHint": "Ο τύπος δεν μπορεί να αλλάξει αργότερα, οπότε οι αποθηκευμένες τιμές ταιριάζουν πάντα με αυτόν.", + "libraries": "Βιβλιοθήκες", + "books": "{count, plural, one {# βιβλίο} other {# βιβλία}}", + "filledOfBooks": "{filled} του {total, plural, one {# βιβλίο} other {# βιβλία}}", + "hiddenCount": "{count} hidden", + "leavingNote": "{count, plural, one {# τιμή σε {libraries} παραμένει αποθηκευμένη αλλά κρυμμένη όσο το πεδίο είναι απενεργοποιημένο.} other {# τιμές σε {libraries} παραμένουν αποθηκευμένες αλλά κρυμμένες όσο το πεδίο είναι απενεργοποιημένο.}} Επιστρέφοντας το πίσω σε τους φέρνει πίσω.", + "noLibraryWarning": "Χωρίς βιβλιοθήκες, αυτό το πεδίο δεν εμφανίζεται πουθενά: όχι στην Επεξεργασία Μεταδεδομένων, στα φίλτρα ή στις εξαγωγές.", + "appears": { + "title": "Όπου εμφανίζεται", + "editMetadata": "Επεξεργασία Μεταδεδομένων", + "details": "Details tab", + "filters": "Φίλτρα", + "table": "Πίνακας και ταξινόμηση", + "tableBody": "Διαθέσιμο ως στήλη πίνακα και μια επιλογή ταξινόμησης", + "files": "Αρχεία", + "filesWritten": "Γράφτηκε στο EPUB και το FB2 αρχεία στο {libraries}, όπου η εγγραφή μεταδεδομένων στα αρχεία είναι ενεργοποιημένη.", + "filesNotWritten": "Δεν έχει γραφτεί σε αρχεία: καμία από αυτές τις βιβλιοθήκες δεν γράφει μεταδεδομένα στα αρχεία EPUB ή FB2.", + "exports": "Εξαγωγές" + }, + "archiveAction": "Πεδίο αρχειοθέτησης", + "archiveConfirm": "Αρχειοθέτηση {label};", + "archiveConsequence": "{count, plural, =0 {Αφήνει Επεξεργασία Μεταδεδομένων, φίλτρα και εξαγωγές. Αποκατέστησε το από Αρχειοθετημένο ανά πάσα στιγμή.} one {Αφήνει Επεξεργασία Μεταδεδομένων, φίλτρα και εξαγωγές. # η τιμή παραμένει αποθηκευμένη μέχρι να διαγραφεί το πεδίο.} other {Αφήνει την Επεξεργασία Μεταδεδομένων, φίλτρων και εξαγωγών. # τιμές παραμένουν αποθηκευμένες μέχρι να διαγραφεί το πεδίο.}}", + "create": "Δημιουργία πεδίου", + "onLibraries": "Στο {count} των {total} βιβλιοθηκών", + "onAllLibraries": "Σε όλες τις βιβλιοθήκες {total}", + "archivedBadge": "Αρχειοθετημένο", + "archivedTitle": "Αρχειοθετήθηκε {when}.", + "archivedBody": "{count, plural, =0 {Αυτό το πεδίο είναι κρυμμένο από βιβλία, φίλτρα και εξαγωγές. Δεν έχει αξίες.} one {Αυτό το πεδίο είναι κρυμμένο από βιβλία, φίλτρα και εξαγωγές. # η αποθηκευμένη τιμή διατηρείται και επανέρχεται στην επαναφορά.} other {Αυτό το πεδίο είναι κρυμμένο από βιβλία, φίλτρα και εξαγωγές. # αποθηκευμένες τιμές διατηρούνται και επιστρέφουν στην επαναφορά.}}", + "facts": { + "type": "Τύπος", + "libraries": "Βιβλιοθήκες", + "valuesKept": "Διατήρηση τιμών", + "fileKey": "Πλήκτρο αρχείου", + "created": "Δημιουργήθηκε", + "archived": "Αρχειοθετημένο" + }, + "deleteQuestion": "Διαγραφή {label} για καλό?", + "deleteConsequence": "{count, plural, =0 {Δεν περιέχει τιμές. Αυτό δεν μπορεί να αναιρεθεί.} one {Η # αποθηκευμένη τιμή του αφαιρείται από κάθε βιβλίο. Τα αρχεία που έχουν ήδη γραφτεί διατηρούν το αντίγραφό τους. Αυτό δεν μπορεί να αναιρεθεί.} other {Οι # αποθηκευμένες τιμές του αφαιρούνται από κάθε βιβλίο. Τα αρχεία που έχουν ήδη γραφτεί διατηρούν το αντίγραφό τους. Αυτό δεν μπορεί να αναιρεθεί.}}", + "deleteConfirmLabel": "Πληκτρολογήστε το όνομα του πεδίου για επιβεβαίωση", + "deleteConfirmPlaceholder": "Πληκτρολογήστε {label} για επιβεβαίωση" + } }, "tabs": { "providers": "Πάροχοι", @@ -1474,7 +2546,8 @@ "genre-blocklist": "Genre Blocklist", "score": "Βαθμολογία", "auto-fetch": "Βιβλία", - "authors": "Συντάκτες" + "authors": "Συντάκτες", + "search-cache": "Αναζήτηση Προσωρινής Μνήμης" }, "tabTitles": { "providers": "Πάροχοι", @@ -1483,7 +2556,8 @@ "genre-blocklist": "Genre Blocklist", "score": "Βαθμολογία Εμπιστοσύνης", "auto-fetch": "Βιβλίο Αυτόματης Πρόσβασης", - "authors": "Auto-Fetch Συγγραφέα" + "authors": "Auto-Fetch Συγγραφέα", + "search-cache": "Αναζήτηση Προσωρινής Μνήμης" }, "tabSubtitles": { "providers": "Ενεργοποιήστε τις εξωτερικές πηγές μεταδεδομένων και ρυθμίστε τα διαπιστευτήριά τους.", @@ -1492,7 +2566,17 @@ "genre-blocklist": "Αποτροπή ανεπιθύμητων τιμών είδους παρόχου από το να γράφονται σε βιβλία.", "score": "Αντιστοιχίστε βάρη σε πεδία μεταδεδομένων για να υπολογίσετε πόσο να εμπιστευθείτε τα ληφθέντα αποτελέσματα.", "auto-fetch": "Αυτόματη λήψη εξώφυλλων, περιγραφών και άλλων λεπτομερειών όταν προστίθενται νέα βιβλία στη βιβλιοθήκη σας.", - "authors": "Αυτόματη λήψη βιογραφιών και φωτογραφιών προφίλ όταν εμφανίζονται νέοι συγγραφείς στη βιβλιοθήκη σας." + "authors": "Αυτόματη λήψη βιογραφιών και φωτογραφιών προφίλ όταν εμφανίζονται νέοι συγγραφείς στη βιβλιοθήκη σας.", + "search-cache": "Επαναχρησιμοποίηση απαντήσεων παρόχου, έτσι ώστε οι επαναλαμβανόμενες αναζητήσεις να είναι γρήγορες και να λειτουργούν όταν ο πάροχος είναι κάτω." + }, + "preferences": { + "toast": { + "saved": "Οι προτιμήσεις μεταδεδομένων αποθηκεύτηκαν", + "saveFailed": "Δεν ήταν δυνατή η αποθήκευση των προτιμήσεων μεταδεδομένων. Ελέγξτε τη σύνδεσή σας και προσπαθήστε ξανά.", + "globalReset": "Επαναφορά γενικών κανόνων πεδίου στις προεπιλογές συστήματος", + "libraryReset": "Επαναφορά της βιβλιοθήκης στους καθολικούς κανόνες", + "resetFailed": "Δεν ήταν δυνατή η επαναφορά των προτιμήσεων των μεταδεδομένων. Ελέγξτε τη σύνδεσή σας και προσπαθήστε ξανά." + } } }, "reader": { @@ -1540,12 +2624,26 @@ "typography": "Τυπογραφία", "font": "Font", "fontHint": "Typeface που χρησιμοποιείται για το κυρίως κείμενο", + "fontStyle": "Στυλ γραμματοσειράς", + "fontStyleHint": "Βάρος και κλίση του κειμένου του σώματος. Έντονη και πλάγια στο βιβλίο παραμονή σε σχέση με αυτό.", "builtInFonts": "Ενσωματωμένες γραμματοσειρές", "yourFonts": "Οι Γραμματοσειρές Σας", "fontSize": "Font size", "fontSizeHint": "Μέγεθος κειμένου βάσης σε pixel", "lineHeight": "Ύψος γραμμής", "lineHeightHint": "Κατακόρυφη απόσταση μεταξύ γραμμών", + "paragraphSpacing": "Απόσταση παραγράφου", + "paragraphSpacingHint": "Χώρος μεταξύ παραγράφων. Προεπιλογή βιβλίου διατηρεί την απόσταση του εκδότη.", + "paragraphSpacingDefault": "Βιβλίο προκαθορισμένο", + "paragraphSpacingValue": "{value} em", + "letterSpacing": "Απόσταση επιστολών", + "letterSpacingHint": "Χώρος μεταξύ γραμμάτων. Κάντε κράτηση προεπιλογή διατηρεί την απόσταση του εκδότη.", + "wordSpacing": "Κενό λέξεων", + "wordSpacingHint": "Χώρος μεταξύ λέξεων. Κάντε κράτηση προεπιλογή διατηρεί την απόσταση του εκδότη.", + "textIndent": "Πρώτη γραμμή εσοχή", + "textIndentHint": "Εσοχή στην αρχή των συνήθων παραγράφων. Βιβλίο προεπιλογή διατηρεί την εσοχή του εκδότη.", + "custom": "Προσαρμοσμένο", + "emValue": "{value} em", "justify": "Στοίχιση κειμένου", "justifyHint": "Στοίχιση κειμένου και στα δύο περιθώρια", "hyphenation": "Σύλληψη", @@ -1614,6 +2712,8 @@ "widePageDisable": "Απενεργοποίηση", "forceTwoPage": "Επιβολή δύο σελίδων σε μικρές οθόνες", "forceTwoPageHint": "Παράκαμψη αυτόματης επαναφοράς κινητής συσκευής όταν είναι επιλεγμένη η σελιδοποιημένη λειτουργία δύο σελίδων", + "autoAdvance": "Αυτόματη προώθηση στο επόμενο βιβλίο", + "autoAdvanceHint": "Στρίψτε την τελευταία σελίδα για να ανοίξετε το επόμενο βιβλίο της σειράς", "off": "Ανενεργό", "on": "Ενεργό", "display": "Εμφάνιση", @@ -1659,6 +2759,9 @@ "deleteVariant": "Διαγραφή παραλλαγής", "styleNormal": "Κανονικό", "styleItalic": "Italic", + "weightItalicOf": "{weight} Italic", + "variableRange": "Μεταβλητή {min}-{max}", + "variableStyles": "{count, plural, one {# style} other {# styles}}", "weightThin": "Λεπτό", "weightExtraLight": "Επιπλέον Φωτεινό", "weightLight": "Φωτεινό", @@ -1669,6 +2772,7 @@ "weightExtraBold": "Extra Bold", "weightBlack": "Μαύρο", "renameFamilyFailed": "Αποτυχία μετονομασίας οικογένειας γραμματοσειρών", + "renamedTo": "Μετονομάστηκε σε \"{name}\"", "updateVariantFailed": "Αποτυχία ενημέρωσης της παραλλαγής γραμματοσειράς", "deleteFontFailed": "Αποτυχία διαγραφής γραμματοσειράς", "deleteFamilyFailed": "Αποτυχία διαγραφής οικογένειας γραμματοσειρών", @@ -1677,8 +2781,27 @@ "uploadFailed": "Η αποστολή απέτυχε", "serverFontsTitle": "Γραμματοσειρές διακομιστή (κοινόχρηστες από το διαχειριστή)", "serverFontsHint": "Αυτές οι γραμματοσειρές προέρχονται από το διαχειριστή του διακομιστή σας. Απενεργοποιήστε μία για να τις κρατήσετε έξω από τον αναγνώστη σας.", + "serverFontsShown": "Εμφανίζεται το {count} του {total}", "serverFontsAllHidden": "Όλες οι γραμματοσειρές του διακομιστή είναι κρυμμένες. Ο αναγνώστης σας θα προσφέρει μόνο ενσωματωμένες και τις δικές σας γραμματοσειρές.", - "serverFontVisibilityFailed": "Αποτυχία ενημέρωσης ορατότητας γραμματοσειράς διακομιστή" + "serverFontVisibilityFailed": "Αποτυχία ενημέρωσης ορατότητας γραμματοσειράς διακομιστή", + "library": { + "columns": { + "use": "Σε χρήση" + }, + "yourDefault": "Η προεπιλογή σας", + "hiddenBadge": "Hidden", + "emptyHint": "Προσθήκη γραμματοσειρών παραπάνω, ή απόθεση αρχείων οπουδήποτε σε αυτή τη σελίδα.", + "dropTitle": "{count, plural, one {Ρίξτε για να προσθέσετε # αρχείο στις γραμματοσειρές σας} other {Ρίξτε για να προσθέσετε # αρχεία στις γραμματοσειρές σας}}", + "limitReached": "Έχετε ήδη {limit} αρχεία γραμματοσειρών.", + "filesUsed": "Χρησιμοποιείται {count} του {max}", + "nameHint": "Αυτό είναι το όνομα στη λίστα γραμματοσειρών του αναγνώστη σας.", + "inReaderHint": "Η λίστα γραμματοσειρών σας στο Reader › Settings, με επιλεγμένο το {name}.", + "showInReader": "Εμφάνιση στον αναγνώστη μου", + "showFamily": "Εμφάνιση {name} στον αναγνώστη μου", + "removeConsequenceBooks": "{count,plural,one{Έχει ρυθμιστεί στο # των βιβλίων σας. αυτό το βιβλίο επιστρέφει στη δική του γραμματοσειρά.} other{Έχει ρυθμιστεί στο # των βιβλίων σας. επιστρέφουν στις δικές τους γραμματοσειρές.}}", + "removeConsequenceDefault": "Είναι η προεπιλεγμένη γραμματοσειρά σας. Βιβλία χωρίς τη δική τους ρύθμιση επιστρέφουν στην προεπιλογή του βιβλίου.", + "removeQuestion": "Αφαιρέστε το {name} από τις γραμματοσειρές σας?" + } }, "bookDock": { "title": "Βάση Βιβλίου", @@ -1695,6 +2818,7 @@ "autoFinalize": "Αυτόματη-οριστικοποίηση", "enableAutoFinalize": "Ενεργοποίηση αυτόματης οριστικοποίησης", "enableAutoFinalizeHint": "Αρχεία με βαθμολογία εμπιστοσύνης μεταδεδομένων σε ή πάνω από το όριο θα οριστικοποιηθεί αυτόματα.", + "confidenceThreshold": "Όριο εμπιστοσύνης: {value}%", "thresholdIgnored": "(αγνοείται σε κατάσταση Ενσωματωμένης μόνο λειτουργίας)", "destinationLibrary": "Βιβλιοθήκη προορισμού", "selectLibrary": "Επιλέξτε μια βιβλιοθήκη...", @@ -1738,12 +2862,14 @@ "resetToDefault": "Επαναφορά προεπιλογών", "tokens": "Ενδείξεις", "clickTokenHint": "Κάντε κλικ σε οποιοδήποτε διακριτικό για να το αντιγράψετε στο πρόχειρο σας.", + "copyValue": "Αντιγράψτε το {value}", "modifiers": "Τροποποιητές", "modifiersExplain": "Προσάρτηση ενός τροποποιητή μέσα σε ένα διακριτικό για να μετατρέψει την αξία του:", "modFirst": "Μόνο η πρώτη τιμή", "modSort": "Τελευταία, πρώτη μορφή", "modInitial": "Μόνο πρώτο γράμμα", "modFixed2": "Δύο δεκαδικά ψηφία", + "modMax3": "Μέχρι και τρεις τιμές, διαφορετικά τίποτα", "folderOnlyPrefix": "Τερματισμός ενός μοτίβου με", "folderOnlySuffix": "για να καθορίσετε ένα φάκελο μόνο. Το αρχικό όνομα αρχείου θα διατηρηθεί μέσα του.", "conditionalLogic": "Υπό Προϋποθέσεις Λογική", @@ -1781,6 +2907,7 @@ "copyLabelFailed": "Αποτυχία αντιγραφής {label}", "patternHelp": "Βοήθεια μοτίβου", "patternHelpDescription": "Tokens, τροποποιητές και έτοιμα μοτίβα μπορείτε να αντιγράψετε σε οποιοδήποτε πεδίο.", + "copyPreview": "Αντιγράψτε το {label}", "copyExample": "Αντιγραφή του μοτίβου {label}", "invalidCharacters": "Το μοτίβο περιέχει μη έγκυρους χαρακτήρες", "fileAsBookSaved": "Το αρχείο ως προεπιλεγμένο βιβλίο αποθηκεύτηκε", @@ -1798,6 +2925,7 @@ "tokenTitle": "Τίτλος βιβλίου", "tokenSubtitle": "Βιβλίο υπότιτλου", "tokenAuthors": "Συγγραφέας(-ές), διαχωρισμένες με κόμμα", + "tokenNarrators": "Αφηγητής(-ές), διαχωρισμένα με κόμμα", "tokenYear": "Έτος δημοσίευσης", "tokenSeries": "Όνομα σειράς", "tokenSeriesIndex": "Δείκτης σειράς (zero-padded)", @@ -1807,8 +2935,160 @@ "tokenLibrary": "Όνομα βιβλιοθήκης", "tokenOriginalFilename": "Αρχικό όνομα αρχείου (χωρίς επέκταση)", "tokenExtension": "Επέκταση αρχείου (χωρίς τελείωση)", + "tokenReadaloud": "Η λέξη readaloud για ένα EPUB με επικαλύψεις μέσων ενημέρωσης", "patternHelpIntro": "Τα μοτίβα χρησιμοποιούν tokens όπως {titleToken} και {authorsToken}, συν τροποποιητές και προαιρετικά τμήματα.", - "browseTokensAndExamples": "Περιήγηση tokens και παραδείγματα" + "browseTokensAndExamples": "Περιήγηση tokens και παραδείγματα", + "subtitleShort": "Πρότυπα ονομάτων φακέλων και αρχείων για αποθηκευμένα αρχεία.", + "rule": { + "fileAsBook": "Αρχείο ως προεπιλογή βιβλίου", + "folderAsBook": "Φάκελος ως προεπιλογή βιβλίου", + "download": "Λήψη ονόματος αρχείου" + }, + "howItWorks": { + "title": "Πώς επιλέγεται ένα μονοπάτι.", + "summary": "Μια βιβλιοθήκη με ένα μοτίβο δικών της κερδών. Κάθε άλλη βιβλιοθήκη ακολουθεί την καθολική προεπιλογή για τη λειτουργία οργάνωσης. Η αλλαγή ενός μοτίβου δεν μετακινεί βιβλία ήδη στο δίσκο. Οι νέες μεταφορτώσεις το ακολουθούν από την επόμενη μεταφόρτωση." + }, + "filterRules": "Κανόνες φίλτρου", + "librariesGroup": "Βιβλιοθήκες", + "customCount": "Προσαρμοσμένο {custom}/{total}", + "noRuleMatches": "Κανένας κανόνας δεν ταιριάζει με το \"{query}\".", + "unsavedMarker": "Έχει μη αποθηκευμένες αλλαγές", + "backToRules": "Πίσω στους κανόνες ονομασίας", + "appliesToLibraries": "{count, plural, =0 {Καμία βιβλιοθήκη δεν χρησιμοποιεί αυτήν την προεπιλεγμένη} one {Ισχύει για # βιβλιοθήκη} other {Εφαρμόζει σε # βιβλιοθήκες}}", + "downloadScope": "Λήψεις και εξαγωγή ZIP", + "badgeInherits": "Κληρονομιά προεπιλογή", + "badgeUnsaved": "Μη Αποθηκευμένα", + "patternLabel": "Μοτίβο", + "readOnlyFromGlobal": "Μόνο για ανάγνωση, από την καθολική προεπιλογή", + "useGlobalDefault": "Χρησιμοποιήστε το καθολικό προκαθορισμένο", + "resetToShipped": "Επαναφορά στην προεπιλογή αποστολής", + "addOverride": "Προσθήκη παράκαμψης", + "inheritsNotice": "Αυτή η βιβλιοθήκη ακολουθεί το {base}. Προσθέστε μια παράκαμψη για να της δώσετε ένα δικό της μοτίβο.", + "libraryRuleHint": "Αντικαθιστά το {base} μόνο για αυτή τη βιβλιοθήκη.", + "scopeLibrary": "Ισχύει μόνο για μεταφορτώσεις στο {name}.", + "scopeDownload": "Ισχύει για κάθε λήψη ενός αρχείου και κάθε αρχείο μέσα σε ένα ZIP εξαγωγής.", + "scopeGlobal": "{count, plural, one {Ισχύει για # βιβλιοθήκη που δεν έχει δικό της μοτίβο.} other {Εφαρμόζει σε # βιβλιοθήκες που δεν έχουν δικό τους μοτίβο.}}", + "scopeGlobalNone": "Καμία βιβλιοθήκη δεν χρησιμοποιεί αυτήν την προεπιλογή. Κάθε βιβλιοθήκη σε αυτή τη λειτουργία έχει το δικό της μοτίβο.", + "unbalancedOptional": "Μια προαιρετική ομάδα λείπει το στήριγμα γωνίας κλεισίματος", + "unbalancedToken": "Ένα διακριτικό λείπει το στήριγμα κλεισίματος", + "structure": "Δομή", + "paletteOptional": "προαιρετικό", + "paletteOptionalHint": "Τυλίγει ένα τμήμα, έτσι ώστε να πέφτει όταν ένα διακριτικό μέσα είναι άδειο", + "paletteFallback": "fallback", + "paletteFallbackHint": "Μέσα σε μια προαιρετική ομάδα, το κείμενο που χρησιμοποιείται όταν η αριστερή πλευρά δεν μπορεί να γεμίσει", + "paletteSeparator": "φάκελος", + "paletteSeparatorHint": "Ξεκινά ένα νέο επίπεδο φακέλου", + "modUpper": "ΕΝΕΡΓΕΙΑ", + "modLower": "πεζά", + "recipesLabel": "Ή ξεκινήστε από μια συνταγή", + "recipe": { + "seriesShelf": "Ράφι σειράς", + "calibre": "Calibre style", + "alphabetical": "Αλφαβητικά", + "flat": "Επίπεδη, χωρίς φακέλους", + "originalName": "Αρχικό όνομα αρχείου", + "authorTitle": "Συγγραφέας και τίτλος", + "titleOnly": "Μόνο τίτλος", + "seriesOrdered": "Σειρά που παραγγέλθηκε" + }, + "resultPanel": "Επιλυμένο αποτέλεσμα", + "resultFor": "Αποτέλεσμα: {rule}", + "copyResult": "Αντιγραφή του επιλυμένου αποτελέσματος", + "resultCopied": "Το αποτέλεσμα επιλύθηκε αντιγράφηκε στο πρόχειρο", + "resultCopyFailed": "Αποτυχία αντιγραφής του επιλυμένου αποτελέσματος", + "sampleBookNote": "Δείγμα βιβλίο που χρησιμοποιείται για κάθε προεπισκόπηση", + "missingMetadata": "Εάν λείπουν μεταδεδομένα", + "readaloudComparison": "Read-aloud σύγκριση", + "readaloudEpub": "Read-aloud EPUB", + "plainEpub": "Απλό EPUB", + "caseNoSeriesLabel": "Καμία σειρά", + "caseNoYearLabel": "Χωρίς έτος", + "caseNoAuthorLabel": "Κανένας συγγραφέας", + "previewEmpty": "Αυτό το μοτίβο δεν επιλύει σε τίποτα, οπότε θα χρησιμοποιηθεί το αρχικό όνομα αρχείου.", + "previewEmptyShort": "Αποφασίζει σε τίποτα", + "crossPlatformShortHint": "Αντικατάσταση χαρακτήρων Τα Windows απορρίπτουν. Οι προεπισκοπήσεις αντανακλούν αυτή τη ρύθμιση.", + "rulesSaved": "{count, plural, one {# ο κανόνας ονομασίας αποθηκεύτηκε} other {# κανόνες ονομασίας αποθηκεύτηκαν}}", + "rulesSaveFailed": "{count, plural, one {Αποτυχία αποθήκευσης # ορισμού κανόνα} other {Αποτυχία αποθήκευσης # κανόνων ονομασίας}}", + "rulesPartiallySaved": "Αποθηκεύτηκε {saved}, απέτυχε το {failed}. Οι κανόνες που απέτυχαν, ωστόσο, δεν έχουν αποθηκευμένες αλλαγές.", + "save": { + "unsaved": "{count, plural, one {# μη αποθηκευμένη αλλαγή} other {# μη αποθηκευμένες αλλαγές}}", + "upToDate": "Καμία μη αποθηκευμένη αλλαγή", + "discard": "Απορρίψτε", + "action": "Αποθήκευση αλλαγών", + "blocked": "Διόρθωση μη έγκυρου μοτίβου πριν την αποθήκευση" + }, + "examplesDescription": "Τα Idioms τα συνταγές δεν καλύπτουν. Ένα μοτίβο που καταλήγει σε μια κάθετο επιλύει σε ένα φάκελο και διατηρεί το όνομα αρχείου που έχει φορτωθεί μέσα του.", + "examplesApply": "Εφαρμογή", + "examplesApplyAria": "Εφαρμογή του μοτίβου {label}", + "examplesUploadOnly": "Αυτά είναι μοτίβα μεταφόρτωσης, εμφανίζονται εδώ για αναφορά. Αλλάξτε σε ένα αρχείο ως βιβλίο ή φάκελος ως κανόνα βιβλίου για να εφαρμόσετε ένα.", + "examplesFileModeOnly": "Φάκελος ως Βιβλίο χρειάζεται ένα τμήμα ονόματος αρχείου του δικού του, έτσι αυτό το ιδίωμα ισχύει μόνο για Αρχείο ως βιβλιοθήκες βιβλίων.", + "example": { + "seriesOrStandalone": "Σειρά, ή μεμονωμένος φάκελος", + "optionalSubtitle": "Προαιρετικός υπότιτλος", + "languageFolder": "Φάκελος γλώσσας", + "publisherFolder": "Φάκελος εκδόσεων", + "stackedOptional": "Συσσωρευμένοι προαιρετικοί φάκελοι", + "folderDrop": "Φάκελος μόνο, διατήρηση του αρχείου που φορτώθηκε" + }, + "exampleCase": { + "complete": "Complete", + "noSeries": "Καμία σειρά", + "noSubtitle": "Χωρίς υπότιτλο", + "noLanguage": "Καμία γλώσσα", + "noPublisher": "Κανένας εκδότης" + }, + "unknownModifier": "Άγνωστος τροποποιητής \"{modifier}\". Θα αγνοηθεί, αφήνοντας την τιμή αμετάβλητη.", + "rulesNav": "Κανόνες ονοματοδοσίας", + "railFoot": "Μια βιβλιοθήκη χωρίς δικό της μοτίβο ακολουθεί την προεπιλογή που κάθεται κάτω.", + "usedBy": "Χρησιμοποιείται από {libraries}", + "followsBase": "Ακολουθεί το {base}.", + "copyPattern": "Αντιγραφή μοτίβου", + "recipes": "Συνταγές", + "recipesTitle": "Ξεκινήστε από μια συνταγή", + "recipesReplace": "Αντικαθιστά ολόκληρο το μοτίβο", + "recipeInUse": "Σε χρήση", + "insert": "Insert", + "insertToolbar": "Εισαγωγή στο μοτίβο", + "insertOptional": "Προαιρετικό", + "insertFallback": "Fallback", + "insertFolder": "Φάκελος", + "lineHint": "Πατήστε {enter} για να ξεκινήσετε ένα νέο φάκελο ή πληκτρολογήστε {brace} για να επιλέξετε ένα token. Κάντε κλικ σε ένα εικονίδιο φακέλου για να παραλείψετε αυτόν τον φάκελο όταν λείπει η τιμή του.", + "downloadLineHint": "Οι λήψεις δεν έχουν φακέλους, οπότε χρησιμοποιείται μόνο το τελευταίο μέρος του μοτίβου.", + "tokenSuggestions": "Ταίριασμα μαρκών", + "noTokenMatch": "Δεν υπάρχει ένδειξη ταιριάζει \"{query}\".", + "uploadedNameKept": "Συνέχισε το φορτωμένο όνομα αρχείου", + "level": { + "folder": "Φάκελος {n}", + "bookFolder": "Φάκελος βιβλίου", + "file": "Όνομα αρχείου", + "skipWhenEmpty": "Παράλειψη {level} όταν λείπει η τιμή του", + "skippedWhenEmpty": "Παράλειψη όταν λείπει η τιμή του. Κάντε κλικ για να δημιουργήσετε πάντα αυτόν το φάκελο.", + "alwaysCreated": "Δημιουργείται πάντα. Κάντε κλικ για να παρακάμψετε αυτόν τον φάκελο όταν λείπει η τιμή του." + }, + "result": "Αποτέλεσμα", + "previewWith": "Προεπισκόπηση με", + "previewWithAria": "Προεπισκόπηση με {title}", + "previewBook": { + "sample": "Δείγμα βιβλίου", + "longTitle": "Μακροχρόνιος τίτλος και σειρές", + "longSubtitle": "Μεγάλος υπότιτλος", + "manyAuthors": "Πέντε συγγραφείς", + "audiobook": "Audiobook", + "standalone": "Καμία σειρά" + }, + "previewingCase": "Προεπισκόπηση: {case}", + "showComplete": "Εμφάνιση ολοκληρώθηκε", + "previewStale": "Η προεπισκόπηση καλύπτει μόλις το μοτίβο είναι σταθερό.", + "noChange": "Καμία αλλαγή", + "tagSkipped": "παραλείφθηκε", + "tagFallback": "fallback", + "tagBookFolder": "φάκελος βιβλίου", + "tagUploadedName": "μεταφορτωμένο όνομα", + "tagShortened": "μικρότερη στα 255 bytes", + "tagEmptyName": "κενό όνομα", + "levelSkipped": "Παραλείφθηκε επειδή το {token} είναι άδειο", + "levelEmptyName": "Κενό όνομα φακέλου. Δώστε σε αυτόν το φάκελο μια εναλλακτική επιλογή, έτσι ώστε να έχει πάντα ένα.", + "renameNote": "Τα βιβλία που βρίσκονται ήδη στο δίσκο διατηρούν τις διαδρομές τους. Οι βιβλιοθήκες που μετονομάζουν αρχεία εφαρμόζουν αυτό το μοτίβο την επόμενη φορά που θα αποθηκευτούν τα στοιχεία ενός βιβλίου: {libraries}." }, "kobo": { "title": "Kobo Sync", @@ -1818,6 +3098,7 @@ "justNow": "Μόλις τώρα", "minutesAgo": "{count}m πριν", "hoursAgo": "{count}h πριν", + "daysAgo": "{count}d πριν", "loadFailed": "Αποτυχία φόρτωσης", "devicePaired": "Επιτυχής σύζευξη συσκευής", "devicePairedHint": "Είστε έτοιμοι να ρυθμίσετε το Kobo. Ακολουθήστε τις παρακάτω οδηγίες.", @@ -1833,6 +3114,7 @@ "deviceRegistered": "Καταχωρημένη συσκευή \"{name}\"", "noDevicesYet": "Δεν υπάρχουν συσκευές ακόμα", "noDevicesHint": "Προσθέστε μια συσκευή για να ξεκινήσετε το συγχρονισμό των βιβλίων σας στο Kobo.", + "lastSync": "Τελευταίος συγχρονισμός: {time}", "renameDevice": "Μετονομασία συσκευής", "revokeAccess": "Ανάκληση πρόσβασης", "deviceRenamed": "Η συσκευή μετονομάστηκε", @@ -1849,6 +3131,8 @@ "syncHighlightsHint": "Στείλτε στιγμιότυπα που έγιναν στο BookOrbit ή το KOReader στο Kobo. Τα στιγμιότυπα Kobo εισάγονται στο BookOrbit ακόμα και όταν αυτό είναι απενεργοποιημένο. Οι συνδεδεμένες αλλαγές συγχρονισμού σημειώσεων και διαγράφουν και τις δύο κατευθύνσεις. Απαιτεί την παράδοση του KEPUB. Το βιβλίο στο Kobo πρέπει να είναι το KEPUB που λαμβάνεται από το BookOrbit.", "storeSync": "Συμπερίληψη τίτλων καταστήματος Kobo", "storeSyncHint": "Επίσης παραδώστε βιβλία από τον λογαριασμό σας Kobo, συμπεριλαμβανομένου του Kobo Plus και των αγορών, μαζί με τη βιβλιοθήκη BookOrbit. Χωρίς αυτό, μόνο βιβλία BookOrbit φτάνουν στη συσκευή. Οι τίτλοι καταστήματος κατεβαίνουν από το Kobo απευθείας και δεν προστίθενται στη βιβλιοθήκη BookOrbit σας.", + "fullSizeCovers": "Καλύμματα πλήρους μεγέθους", + "fullSizeCoversHint": "Στείλτε κάθε κάλυμμα στην ανάλυση οθόνης του Kobo, έτσι ώστε οι οθόνες ύπνου και η πλήρης οθόνη να είναι απότομες. Απενεργοποιήστε το για να στείλετε μικρότερα καλύμματα που συγχρονίζουν γρηγορότερα. Ένα εξώφυλλο ήδη σε ένα Kobo αλλάζει μόνο όταν αλλάζει το εξώφυλλο του βιβλίου.", "convertKepub": "Μετατροπή σε KEPUB", "convertKepubHint": "Αποστολή επιλέξιμων EPUB ως KEPUB. Αυτό παραμένει όταν είναι ενεργοποιημένος ο συγχρονισμός προόδου ή τα στιγμιότυπα BookOrbit-to-Kobo. Στον επόμενο συγχρονισμό Kobo, τα βιβλία που επηρεάζονται προσφέρονται ξανά ως λήψεις KEPUB, αφαιρέστε οποιοδήποτε παλιό αντίγραφο EPUB αν το Kobo συνεχίσει να το ανοίγει.", "forceHyphenation": "Επιβολή συλλαβισμού", @@ -1877,6 +3161,7 @@ "unknown": "Άγνωστο", "failureCount": "{count, plural, one {# αποτυχία} other {# αποτυχίες}}", "noActivityRecorded": "Δεν έχει καταγραφεί δραστηριότητα συγχρονισμού Kobo.", + "lastSuccess": "Τελευταία επιτυχία {time}", "lastFailure": "Τελευταία αποτυχία {time}", "noFailedActivity": "Καμία αποτυχημένη δραστηριότητα Kobo στο πρόσφατο ιστορικό.", "noActivityYet": "Καμία δραστηριότητα Kobo ακόμα.", @@ -1909,10 +3194,17 @@ "morePending": "Περισσότερα σε αναμονή", "noUpdatesPending": "Δεν εκκρεμούν ενημερώσεις", "bookCount": "{count, plural, one {# βιβλίο} other {# βιβλία}}", + "deletedAnnotations": "{count} διαγραμμένοι σχολιασμοί", "deviceAlreadyCurrent": "Συσκευή ήδη τρέχουσα", - "freshHighlightData": "Φρέσκα δεδομένα επισήμανσης" + "freshHighlightData": "Φρέσκα δεδομένα επισήμανσης", + "created": "Το {count} δημιουργήθηκε", + "updated": "Το {count} ενημερώθηκε", + "deleted": "Το {count} διαγράφηκε", + "unchanged": "{count} αμετάβλητο" }, + "readingPositionSyncedTitle": "Θέση ανάγνωσης συγχρονισμένη: {title}", "readingPositionSynced": "Η ανάγνωση θέσης συγχρονίστηκε", + "labelWithTitle": "{label}: {title}", "updateCount": "{count, plural, one {# ενημέρωση} other {# ενημερώσεις}}", "directionToKobo": "BookOrbit -> Kobo", "directionToBookOrbit": "Kobo -> BookOrbit", @@ -1925,15 +3217,18 @@ "booksDownloaded": "{count, plural, one {# το βιβλίο κατέβηκε} other {# τα βιβλία κατέβηκαν}}", "progressUpdatesSyncedFor": "{count, plural, one {# η ενημέρωση προόδου συγχρονίστηκε για {title}} other {# οι ενημερώσεις προόδου συγχρονίστηκαν για {title}}}", "progressUpdatesSynced": "{count, plural, one {# η πρόοδος ενημερώθηκε συγχρονίστηκε} other {# οι ενημερώσεις προόδου συγχρονίστηκαν}}", + "newReadingPositionFor": "Ο Kobo ανέφερε μια νέα θέση ανάγνωσης για το {title}", "newReadingPosition": "Ο Kobo ανέφερε μια νέα θέση ανάγνωσης", "noHighlightChangesNeededFor": "Δεν απαιτούνται αλλαγές επισήμανσης για το {title}", "noHighlightChangesNeeded": "Δεν απαιτούνται αλλαγές επισήμανσης", "highlightsSentToKoboFor": "{count, plural, one {# επισημάνετε ότι στάλθηκε στο Kobo για {title}} other {# στιγμιότυπα στάλθηκαν στο Kobo για {title}}}", "highlightsSentToKobo": "{count, plural, one {# τονίστε που στάλθηκε στο Kobo} other {# στιγμιότυπα που στάλθηκαν στο Kobo}}", + "noKoboHighlightChangesFor": "Δεν υπάρχουν αλλαγές επισήμανσης Kobo για το {title}", "noKoboHighlightChanges": "Καμία αλλαγή επισήμανσης Kobo", "highlightsImportedFromKoboFor": "{count, plural, one {# επισημάνετε ότι εισήχθησαν από το Kobo για {title}} other {# επισημάνσεις που εισήχθησαν από το Kobo για {title}}}", "highlightsImportedFromKobo": "{count, plural, one {# τονίζουν τα εισαγόμενα από το Kobo} other {# στιγμιότυπα που εισάγονται από το Kobo}}" }, + "timeRange": "{from} έως {to}", "eventsGrouped": "{count, plural, one {# το γεγονός ομαδοποιήθηκε} other {# τα γεγονότα ομαδοποιήθηκαν}}", "removedDevice": "Συσκευή που αφαιρέθηκε", "loadMoreFailed": "Αποτυχία φόρτωσης περισσότερου ιστορικού", @@ -2007,6 +3302,7 @@ "justNow": "Μόλις τώρα", "minutesAgo": "{count}m πριν", "hoursAgo": "{count}h πριν", + "daysAgo": "{count}d πριν", "unknown": "Άγνωστο", "updateAvailable": "Διαθέσιμη ενημέρωση", "manualUpdateRequired": "Απαιτείται χειροκίνητη ενημέρωση", @@ -2074,6 +3370,7 @@ "noneYet": "Κανένα ακόμα", "pluginActivity": "Δραστηριότητα Πρόσθετων", "noPluginActivity": "Καμία δραστηριότητα πρόσθετου δεν έχει αναφερθεί ακόμα.", + "lastFullSync": "Τελευταίος πλήρης συγχρονισμός: {time}", "latestPluginSuffix": "- τελευταίο plugin v{version}", "matchedBooks": "Ταιριασμένα βιβλία", "readingEvents": "Εκδηλώσεις ανάγνωσης", @@ -2096,6 +3393,7 @@ "stockGuideTitle": "Πρόσθετο συγχρονισμού προόδου προθέματος", "stockStep1Prefix": "Στη συσκευή KOReader, μεταβείτε στο", "stockStep1Suffix": ".", + "stockStep2": "Ρυθμίστε τον προσαρμοσμένο διακομιστή συγχρονισμού στη διεύθυνση URL που εμφανίζεται παραπάνω.", "stockStep2InlineUrl": "Ορίστε τον προσαρμοσμένο εξυπηρετητή συγχρονισμού στο ακόλουθο URL:", "stockStep3": "Εισάγετε το όνομα χρήστη και τον κωδικό πρόσβασης που δημιουργήσατε και μετά αγγίξτε «Σύνδεση».", "locationNote": "Το BookOrbit αποθηκεύει τοποθεσίες EPUB συμβατές με το KOReader από τον αναγνώστη ιστού. Η επαναφορά θα πρέπει να προσγειωθεί κοντά στην ίδια θέση, αν και η ακριβής τοποθέτηση γραμμής μπορεί να διαφέρει από τον αναγνώστη και τη διάταξη EPUB.", @@ -2104,6 +3402,7 @@ "deleteCredentialsHint": "Αφαίρεση διαπιστευτηρίων συγχρονισμού και αποσύνδεση όλων των συσκευών. Τα δεδομένα προόδου θα διατηρηθούν.", "credentialsDeleted": "Τα διαπιστευτήρια KOReader διαγράφηκαν", "deleteCredentialsFailed": "Αποτυχία διαγραφής διαπιστευτηρίων", + "deleteConfirmTitle": "Διαγραφή διαπιστευτηρίων KOReader;", "deleteConfirmBody": "Αυτό θα καταργήσει τα διαπιστευτήρια συγχρονισμού και θα αποσυνδέσει όλες τις συσκευές KOReader. Θα διατηρηθούν τα υπάρχοντα δεδομένα προόδου.", "syncEnabled": "Ενεργοποίηση συγχρονισμού KOReader", "syncDisabled": "Ο συγχρονισμός KOReader απενεργοποιήθηκε", @@ -2135,8 +3434,10 @@ "noManual": "Δεν υπάρχουν χειροκίνητοι σύνδεσμοι KOReader.", "pageOf": "Σελίδα {page} του {total}", "showingRange": "Εμφάνιση {start}-{end} του {total}", + "unknownFile": "Άγνωστο αρχείο KOREader {hash}", "unknownAuthor": "Άγνωστος συγγραφέας", "noTitleOrAuthor": "Δεν αναφέρθηκε τίτλος ή συγγραφέας", + "bookNumber": "Βιβλίο BookOrbit #{id}", "toast": { "unmatchedRefreshed": "Αντιστοιχισμένα βιβλία ανανεωμένα", "unmatchedRefreshFailed": "Αποτυχία ανανέωσης μη αντιστοιχισμένων βιβλίων", @@ -2149,7 +3450,14 @@ "unlinkFailed": "Αποτυχία αποσύνδεσης του βιβλίου", "unmatchedDismissed": "Το ασυναγώνιστο βιβλίο απορρίφθηκε", "dismissFailed": "Αποτυχία απόρριψης μη αντιστοιχισμένου βιβλίου", - "dismissAllFailed": "Αποτυχία απόρριψης όλων των μη αντιστοιχισμένων βιβλίων" + "allDismissed": "{count,plural,one{Το βιβλίο # απορρίφθηκε χωρίς ταίρι} other{Απαράμιλλα βιβλία #} =0{Δεν απορρίφθηκαν απαράμιλλα βιβλία}}", + "dismissAllFailed": "Αποτυχία απόρριψης όλων των μη αντιστοιχισμένων βιβλίων", + "reviewRefreshed": "Βιβλία για αναθεώρηση ανανεωμένη", + "reviewRefreshFailed": "Αποτυχία ανανέωσης βιβλίων για αναθεώρηση", + "reviewDismissed": "Το βιβλίο απορρίφθηκε από την αναθεώρηση", + "reviewDismissFailed": "Αποτυχία απόρριψης βιβλίου από την κριτική", + "reviewAllDismissed": "{count, plural, =0 {Απορρίφθηκε κανένα βιβλίο από την κριτική} one {Απορρίφθηκε # βιβλίο από την κριτική} other {Απορρίφθηκε # βιβλία από την κριτική}}", + "reviewDismissAllFailed": "Αποτυχία απόρριψης όλων των βιβλίων από την κριτική" }, "modal": { "linkTitle": "Βιβλίο KOReader συνδέσεων", @@ -2166,10 +3474,12 @@ "confirmTitle": "Επιβεβαίωση συνδέσμου KOReader", "koreader": "KOReader", "bookOrbit": "BookOrbit", + "bookId": "Αναγνωριστικό βιβλίου: {id}", "syncedStatsNote": "Τα ήδη συγχρονισμένα στατιστικά θα παραμείνουν στο τρέχον βιβλίο BookOrbit.", "chooseDifferent": "Επιλέξτε διαφορετικά", "saving": "Αποθηκεύεται...", "confirmLink": "Επιβεβαίωση συνδέσμου", + "unlinkTitle": "Αποσύνδεση του βιβλίου KOREader;", "unlinkBody": "Μελλοντικοί συγχρονισμοί για αυτό το hash θα σταματήσουν να επιλύονται στο {title} μέχρι να συνδεθεί ξανά. Τα ήδη συγχρονισμένα στατιστικά θα παραμείνουν στο τρέχον BookOrbit βιβλίο.", "unlinking": "Αποσύνδεση..." }, @@ -2177,8 +3487,11 @@ "dismissAll": "Παράβλεψη όλων", "dismissing": "Απορρίφθηκε...", "unlinking": "Αποσύνδεση...", + "unlinkConfirmTitle": "Αποσύνδεση του βιβλίου KOREader;", "unlinkConfirmBody": "Μελλοντικοί συγχρονισμοί για αυτό το hash θα σταματήσουν να επιλύονται στο {title} μέχρι να συνδεθεί ξανά. Τα ήδη συγχρονισμένα στατιστικά θα παραμείνουν στο τρέχον BookOrbit βιβλίο.", + "dismissConfirmTitle": "Παράβλεψη {title};", "dismissConfirmBody": "Αυτό το αφαιρεί από τη λίστα μη αντιστοιχισμένων βιβλίων. Αν οποιαδήποτε συσκευή αναφέρει ξανά αυτό το hash, θα εμφανιστεί ξανά ως νέα καταχώρηση.", + "dismissAllConfirmTitle": "{count,plural,one{Παράβλεψη όλων των βιβλίων # που δεν έχουν ταίρι;} other{Παράβλεψη όλων των βιβλίων # που δεν ταιριάζουν;} =0{κανένα απαράμιλλο βιβλίο}}", "dismissAllConfirmBody": "Αυτό καθαρίζει ολόκληρη τη λίστα μη αντιστοιχισμένων βιβλίων, όχι μόνο την τρέχουσα σελίδα. Εάν οποιαδήποτε συσκευή αναφέρει ξανά ένα από αυτά τα hashs, θα επανεμφανιστεί ως νέα καταχώρηση.", "changeLinkTitle": "Αλλαγή συνδέσμου KOReader", "linkBookTitle": "Βιβλίο KOReader συνδέσεων", @@ -2193,17 +3506,28 @@ "loadMore": "Φόρτωση περισσότερων", "loadingMore": "Φόρτωση...", "confirmLinkTitle": "Επιβεβαίωση συνδέσμου KOReader", + "bookId": "Αναγνωριστικό βιβλίου: {id}", "syncedStatsNote": "Τα ήδη συγχρονισμένα στατιστικά θα παραμείνουν στο τρέχον βιβλίο BookOrbit.", "chooseDifferent": "Επιλέξτε διαφορετικά", "saving": "Αποθηκεύεται...", - "confirmLink": "Επιβεβαίωση συνδέσμου" + "confirmLink": "Επιβεβαίωση συνδέσμου", + "reviewTitle": "KOReader Βιβλία για αναθεώρηση", + "reviewHint": "Τα βιβλία χωρίς αυτόματο ταίριασμα και τα βιβλία που αποσυνδέεστε εμφανίζονται εδώ. Τα μη συνδεδεμένα βιβλία μπορούν ακόμα να συγχρονιστούν μέσω αυτόματου αγώνα. Συνδέστε ένα βιβλίο για να παρακάμψετε αυτό το ταίριασμα, ή απορρίψτε το για να το αφαιρέσετε από αυτή τη λίστα.", + "loadingReview": "Φόρτωση βιβλίων για επανεξέταση...", + "noReview": "Δεν υπάρχουν βιβλία KOReader για επανεξέταση.", + "manualUnlinkConfirmBody": "Αφαιρέστε το σύνδεσμο για το εγχειρίδιο {title} και επιστρέψτε αυτό το βιβλίο στη λίστα αξιολόγησης. Οι μελλοντικοί συγχρονισμοί θα χρησιμοποιούν ένα αυτόματο ταίριασμα, αν υπάρχει. Τα ήδη συγχρονισμένα στατιστικά θα παραμείνουν στο τρέχον βιβλίο BookOrbit.", + "reviewDismissConfirmBody": "Αυτό το αφαιρεί από τα βιβλία σας για να το αναθεωρήσετε. Η αυτόματη αντιστοίχιση και τα υπάρχοντα δεδομένα συγχρονισμού διατηρούνται. Εάν μια συσκευή αναφέρει ξανά το κατακερματισμό χωρίς αγώνα, μπορεί να επανεμφανιστεί.", + "reviewDismissAllConfirmTitle": "{count,plural,one{Παράβλεψη όλων των βιβλίων # για έλεγχο;} other{Παράβλεψη όλων των βιβλίων # για έλεγχο;} =0{Δεν υπάρχουν βιβλία για κριτική}}", + "reviewDismissAllConfirmBody": "Αυτό καθαρίζει ολόκληρο το βιβλίο σας για να αναθεωρήσει τη λίστα, συμπεριλαμβανομένων καταχωρήσεων σε άλλες σελίδες. Η αυτόματη αντιστοίχιση και τα υπάρχοντα δεδομένα συγχρονισμού διατηρούνται. Αν μια συσκευή αναφέρει ένα κατακερματισμό ξανά χωρίς να ταιριάζει, μπορεί να επανεμφανιστεί." }, "remove": "Αφαίρεση", "removing": "Κατάργηση...", "unmatchedBooks": "Μη αντιστοιχισμένα βιβλία", "deviceRemoved": "Η συσκευή αφαιρέθηκε", "removeDeviceFailed": "Αποτυχία κατάργησης συσκευής", + "removeDeviceConfirmTitle": "Κατάργηση {device};", "removeDeviceConfirmBody": "Αυτό διαγράφει μόνιμα την πρόοδο συγχρονισμού αυτής της συσκευής, τη δραστηριότητα ανάγνωσης και τυχόν καταχωρήσεις χωρίς αντιστοίχιση βιβλίων που δεν αναφέρονται πλέον από άλλη συσκευή. Αν η συσκευή συγχρονιστεί ξανά αργότερα, θα εμφανιστεί ξανά ως μια νέα καταχώρηση.", + "deleteDeviceDataConfirmTitle": "Διαγραφή συγχρονισμένων δεδομένων από το {device};", "deleteDeviceDataConfirmBody": "Αυτό διαγράφει μόνιμα την πρόοδο συγχρονισμού αυτής της συσκευής, τη δραστηριότητα ανάγνωσης σελίδων ανά σελίδα, καθώς και τυχόν καταχωρήσεις μη αντιστοιχισμένων βιβλίων που δεν αναφέρονται πλέον από άλλη συσκευή. Οι συνεδρίες ανάγνωσης που έχουν ήδη καταγραφεί στα στατιστικά σας διατηρούνται. Αν η συσκευή συγχρονιστεί ξανά αργότερα, θα εμφανιστεί ξανά ως νέα καταχώρηση.", "devicesHint": "Η απόσυρση μιας συσκευής την αποκρύπτει και διατηρεί όλα όσα έχει συγχρονισθεί. Η διαγραφή των συγχρονισμένων δεδομένων της δεν μπορεί να αναιρεθεί.", "retire": "Συνταξιοδότηση", @@ -2246,6 +3570,7 @@ "copyUsername": "Αντιγραφή ονόματος χρήστη", "notes": "Σημειώσεις OPDS", "notesBody": "Χρησιμοποιήστε λογαριασμούς OPDS σε εφαρμογές ανάγνωσης. Κρατήστε τα διαπιστευτήρια ιδιωτικά και περιστρέψτε τους κωδικούς πρόσβασης, αν μοιραστείτε τυχαία.", + "deleteConfirmTitle": "Διαγραφή λογαριασμού OPDS;", "deleteConfirmBody": "Διαγραφή του \"{username}\". Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.", "sortRecent": "Προστέθηκαν Πρόσφατα", "sortTitleAsc": "Τίτλος (Α-Ω)", @@ -2281,21 +3606,581 @@ "tabs": { "file-naming": "Ονομασία Αρχείου", "book-dock": "Βάση Βιβλίου", + "requests": "Αιτήματα", "maintenance": "Συντήρηση", "audit-log": "Αρχείο Ελέγχου" + }, + "requests": { + "title": "Αιτήματα", + "subtitle": "Όπου βρίσκονται οι κυκλοφορίες, αυτό που τους φέρει, και τι συμβαίνει μόλις προσγειωθούν.", + "tabs": { + "sources": "Πηγές", + "clients": "Λήψη πελατών", + "automation": "Αυτοματισμός" + }, + "loading": "Φόρτωση πελατών λήψης...", + "clients": "Λήψη πελατών", + "addClient": "Προσθήκη πελάτη", + "editClient": "Επεξεργασία πελάτη", + "deleteClient": "Διαγραφή {name}", + "clientsEmpty": { + "title": "Δεν υπάρχει πελάτης λήψης ακόμα", + "body": "Μια άμεση λήψη HTTP δεν χρειάζεται υπολογιστή-πελάτη. Συνδέστε ένα έτσι BookOrbit μπορεί να φέρει εκδόσεις που παραδίδονται από torrent ή Usenet πάρα πολύ.", + "note": "Υποστηρίζονται qBittorrent, Transmission, Deluge, NZBGet και SABnzbd." + }, + "summary": "{type} - κατηγορία {category}, προτεραιότητα {priority}", + "disabled": "Απενεργοποιημένο", + "test": "Δοκιμή σύνδεσης", + "testSaveFirst": "Αποθηκεύστε τις αλλαγές σας πριν δοκιμάσετε", + "testOk": "Συνδέθηκε στο {client} {version}", + "testOkNoVersion": "Συνδέθηκε στο {client}", + "lastTestOk": "Τελευταία δοκιμή {time}: συνδεδεμένο", + "lastTestFailed": "Τελευταία δοκιμή {time}: {error}", + "saved": "Λήψη πελάτη αποθηκεύτηκε", + "deleted": "Η λήψη του πελάτη αφαιρέθηκε", + "clientTypes": { + "qbittorrent": "qBittorrent", + "transmission": "Μετάδοση", + "deluge": "Deluge", + "nzbget": "NZBGet", + "sabnzbd": "SABnzbd" + }, + "color": { + "label": "Χρώμα", + "hint": "Σημαίνει αυτόν τον πελάτη στις λεπτομέρειες μεταφοράς. Το πρωτόκολλο μεταφοράς διατηρεί το δικό του χρώμα.", + "none": "Χωρίς χρώμα" + }, + "fields": { + "name": "Όνομα", + "type": "Τύπος πελάτη", + "baseUrl": "Βασικό URL", + "username": "Όνομα Χρήστη", + "password": "Κωδικός", + "apiKey": "API κλειδί", + "passwordKeep": "Αφήστε κενό για να διατηρήσετε τον αποθηκευμένο κωδικό πρόσβασης", + "apiKeyKeep": "Αφήστε κενό για να διατηρήσετε το αποθηκευμένο κλειδί API", + "passwordClear": "Εκκαθάριση", + "passwordKeepAction": "Διατήρηση", + "passwordWillClear": "Ο αποθηκευμένος κωδικός πρόσβασης έχει αφαιρεθεί όταν αποθηκεύετε", + "apiKeyWillClear": "Το αποθηκευμένο κλειδί API αφαιρείται όταν αποθηκεύετε", + "category": "Κατηγορία", + "categoryHint": "Tags the downloads BookOrbit adds, έτσι ώστε να ενεργεί μόνο από μόνη της.", + "priority": "Προτεραιότητα", + "enabled": "Ενεργοποιημένο", + "useHardlinks": "Χρήση hardlinks", + "allowPrivateAddress": "Να επιτρέπονται ιδιωτικές διευθύνσεις", + "allowPrivateAddressHint": "Απαιτείται όταν ο πελάτης τρέχει στο τοπικό σας δίκτυο ή στον ίδιο υπολογιστή.", + "passwordBrief": "Αποθηκευμένα κρυπτογραφημένα.", + "apiKeyBrief": "Βρέθηκε στο SABnzbd υπό Ρύθμιση > Γενικά. Αποθηκεύτηκε κρυπτογραφημένα.", + "useHardlinksBrief": "Εισάγει χωρίς να χρησιμοποιεί το δίσκο δύο φορές. Επιστρέφει πίσω σε ένα αντίγραφο μέσω συστημάτων αρχείων." + }, + "mappings": { + "title": "Αντιστοιχίσεις διαδρομής", + "hint": "Μεταφράστε τις διαδρομές που αναφέρονται από τον πελάτη σε μονοπάτια Το BookOrbit μπορεί να ανοίξει. Απαιτείται όταν τα δύο τρέχουν σε ξεχωριστά δοχεία.", + "add": "Προσθήκη χαρτογράφησης", + "remove": "Αφαίρεση χαρτογράφησης", + "remotePath": "Διαδρομή πελάτη", + "localPath": "Διαδρομή BookOrbit", + "brief": "Απαιτείται. Δηλώνει τον κατάλογο BookOrbit μπορεί να εισάγει από. Όταν ο πελάτης βλέπει τα ίδια αρχεία στις ίδιες διαδρομές, χαρτογραφεί τον κατάλογο λήψεων στον εαυτό του.", + "identityExample": "Ίδιο σύστημα αρχείων? Χρησιμοποιήστε την ίδια διαδρομή και στις δύο πλευρές, για παράδειγμα /downloads στα αριστερά και /downloads στα δεξιά." + }, + "hardlink": { + "test": "Δοκιμή hardlink", + "checking": "Έλεγχος...", + "works": "Hardlinks εργασία εδώ: οι εισαγωγές δεν θα χρησιμοποιήσουν το δίσκο δύο φορές.", + "unavailable": "Hardlinks δεν είναι διαθέσιμα εδώ: οι εισαγωγές θα αντιγράψουν, χρησιμοποιώντας το χώρο δύο φορές.", + "link_refused": "Αυτό το σύστημα αρχείων αρνήθηκε το σύνδεσμο ({code}): οι εισαγωγές θα αντιγράψουν, χρησιμοποιώντας το χώρο δύο φορές.", + "download_dir_unwritable": "Το BookOrbit δεν μπορεί να γράψει στον κατάλογο λήψης ({code}), οπότε δεν ήταν δυνατή η δοκιμή hardlining.", + "localMissing": "Το BookOrbit δεν μπορεί να δει αυτό το μονοπάτι.", + "dockMissing": "Ο φάκελος Dock του Book δεν είναι αναγνώσιμος." + }, + "reconciliation": { + "action": "Επανασύνδεση", + "clean": "Κάθε στοιχείο πελάτη που ανήκει ταιριάζει με μια προσπάθεια λήψης της BookOrbit που έχει κρατηθεί.", + "unsupported": "Αυτός ο πελάτης δεν μπορεί να απαριθμήσει στοιχεία από τον δείκτη ιδιοκτησίας της BookOrbit. Για το Deluge, ενεργοποιήστε το πρόσθετο Label για τη Μετάδοση, ρυθμίστε ένα φάκελο κατηγορίας.", + "truncated": "Ο πελάτης επέστρεψε περισσότερα από 1.000 ιδιόκτητα αντικείμενα. Επίλυσε τις ορατές καταχωρήσεις, και έπειτα συμφιλίωσε ξανά.", + "orphan": "Καμία προσπάθεια BookOrbit δεν κατέχει αυτό το στοιχείο πελάτη.", + "failedAttempt": "Ο πελάτης εξακολουθεί να διατηρεί αυτό το στοιχείο, αλλά η προσπάθειά του για το \"{title}\" είναι σημειωμένη απέτυχε.", + "missing": "Αυτή η προσπάθεια {status} δεν είναι πλέον παρούσα στον πελάτη λήψης.", + "adopt": "Σύνδεση σε {title}", + "adopted": "Επισυνάψτε το στοιχείο πελάτη στο {title}", + "remove": "Αφαίρεση από τον πελάτη", + "removed": "Αφαιρέθηκε το ορφανά στοιχείο πελάτη", + "removeTitle": "Να καταργηθεί αυτό το ορφανό στοιχείο πελάτη;", + "removeDescription": "Το {name} αφαιρείται από τον πελάτη λήψης. Τα ληφθέντα αρχεία του φυλάσσονται.", + "notOrphan": "Αυτό το στοιχείο πελάτη εξακολουθεί να συνδέεται με μια προσπάθεια λήψης της BookOrbit.", + "notAdoptable": "Αυτό το στοιχείο πελάτη ή η αποτυχημένη προσπάθεια άλλαξε και δεν μπορεί πλέον να συνδεθεί. Επανασύνδεση ξανά." + }, + "errors": { + "loadFailed": "Αδύνατη η φόρτωση των πελατών λήψης", + "saveFailed": "Δεν ήταν δυνατή η αποθήκευση αυτού του πελάτη λήψης", + "deleteFailed": "Δεν ήταν δυνατή η αφαίρεση αυτού του πελάτη λήψης", + "testFailed": "Δεν ήταν δυνατή η πρόσβαση σε αυτόν τον πελάτη λήψης", + "nameAndUrlRequired": "Απαιτείται ένα όνομα και ένα URL βάσης", + "nameTaken": "Υπάρχει ήδη λήψη πελάτη με αυτό το όνομα", + "urlUnsafe": "Αυτό το βασικό URL δεν μπόρεσε να επιτευχθεί. Ελέγξτε τη διεύθυνση και ότι χρησιμοποιεί http ή https.", + "urlPrivate": "Αυτή η διεύθυνση βρίσκεται σε ιδιωτικό ή τοπικό δίκτυο. Ενεργοποιήστε την επιλογή \"Να επιτρέπονται ιδιωτικές διευθύνσεις\" αν ο πελάτης τρέχει εκεί.", + "encryptionKeyMissing": "Ορίστε BOOK_REQUEST_ENCRYPTION_KEY πριν αποθηκεύσετε ένα διαπιστευτήριο πελάτη. Δημιουργήστε ένα με: openssl rand -hex 32", + "encryptionKeyChanged": "Δεν ήταν δυνατή η ανάγνωση των αποθηκευμένων διαπιστευτηρίων του πελάτη. Το BOOK_REQUEST_ENCRYPTION_KEY μπορεί να έχει αλλάξει από τότε που αποθηκεύτηκε.", + "pathNotAbsolute": "Οι αντιστοιχίσεις διαδρομής πρέπει να χρησιμοποιούν απόλυτες διαδρομές και στις δύο πλευρές", + "nameRequired": "Δώστε σε αυτόν τον πελάτη ένα όνομα.", + "urlRequired": "Εισάγετε τη διεύθυνση BookOrbit θα πρέπει να φτάσετε σε αυτόν τον πελάτη.", + "mappingRequired": "Προσθέστε τουλάχιστον μία αντιστοίχιση διαδρομής, έτσι ώστε η BookOrbit να γνωρίζει από ποιον κατάλογο μπορεί να εισάγει.", + "apiKeyRequired": "Εισάγετε το κλειδί SABnzbd API από το Config > Γενικά." + }, + "encryptionKeyMissing": "BOOK_REQUEST_ENCRYPTION_KEY δεν έχει οριστεί, έτσι ένα διαπιστευτήριο πελάτη δεν μπορεί να αποθηκευτεί. Δημιουργήστε ένα με: openssl rand -hex 32", + "confirmDelete": { + "title": "Κατάργηση αυτού του προγράμματος-πελάτη λήψης;", + "description": "Η διεύθυνση και τα αποθηκευμένα διαπιστευτήρια του {name} διαγράφονται και τα αιτήματα λήψης από εκεί σταματούν να ενημερώνονται. Απενεργοποιήστε το για να διατηρήσετε τις λεπτομέρειες.", + "confirm": "Κατάργηση πελάτη" + }, + "indexers": { + "title": "Άμεσες ροές", + "hint": "Συνδέστε μια ατομική τροφοδοσία Torznab για torrents ή Newznab feed για Usenet απελευθερώσεις.", + "allDisabled": "Κάθε παρακάτω πηγή είναι απενεργοποιημένη, οπότε καμία αναζήτηση αιτήματος δεν θα βρει τίποτα. Αλλάξτε τουλάχιστον μία ανάποδα.", + "loading": "Φόρτωση δεικτών...", + "empty": { + "title": "Καμία πηγή ακόμα", + "body": "Το BookOrbit δεν περιέχει δικές του πηγές, οπότε μια αναζήτηση αιτήματος δεν βρίσκει τίποτα μέχρι να προσθέσετε μία. Επιλέξτε τη ρύθμιση που ταιριάζει στα ευρετήριά σας.", + "bodyOneWay": "Το BookOrbit δεν περιέχει δικές του πηγές, οπότε μια αναζήτηση αιτήματος δεν βρίσκει τίποτα μέχρι να προσθέσετε μία.", + "responsibility": "Τι πηγή προσθέτετε ευρετήρια είναι η ευθύνη σας.", + "prowlarrTitle": "Σύνδεση Του Prowlarr", + "prowlarrBody": "Διαχείριση αρκετών δεικτών torrent και Usenet μέσω μιας σύνδεσης.", + "recommended": "Προτεινόμενο", + "pluginTitle": "Εγκατάσταση ενός πρόσθετου", + "pluginBody": "Ένα αρχείο που διδάσκει BookOrbit για να αναζητήσετε μια συγκεκριμένη τοποθεσία. Το παρέχετε, στη συνέχεια, συμπληρώστε τις ρυθμίσεις του.", + "torznabTitle": "Προσθήκη ευρετηρίου Torznab", + "torznabBody": "Βάλτε ένα Prowlarr, Jackett ή NZBHydra feed που ήδη τρέχετε. Ένα ανά ροή.", + "builtInTitle": "Προσθήκη ευρετηρίου", + "builtInBody": "Σημειώστε σε μια τροφοδοσία Torznab ή Newznab που ήδη χρησιμοποιείτε. Μία διαμόρφωση ανά τροφοδοσία." + }, + "add": "Προσθήκη ευρετηρίου", + "edit": "Επεξεργασία ευρετηρίου", + "delete": "Διαγραφή {name}", + "none": "Δεν υπάρχει ευρετήριο ακόμα.", + "disabled": "Απενεργοποιημένο", + "test": "Δοκιμή σύνδεσης", + "testSaveFirst": "Αποθηκεύστε τις αλλαγές σας πριν δοκιμάσετε", + "testOk": "Συνδέθηκε στο {name}", + "toggleAria": "Αναζήτηση με {name}", + "enabledNotice": "Θα γίνει αναζήτηση για το {name}", + "disabledNotice": "Το {name} δεν θα γίνει αναζήτηση", + "lastTestOk": "Τελευταία δοκιμή {time}: συνδεδεμένο", + "lastTestFailed": "Τελευταία δοκιμή {time}: {error}", + "saved": "Το ευρετήριο αποθηκεύτηκε", + "deleted": "Η πηγή διαγράφηκε", + "unavailable": "Αυτή η εγκατάσταση δεν έχει τύπο ευρετηρίου \"{type}\". Αλλάξτε τον τύπο ή διαγράψτε το πρόσθετο και τις αποθηκευμένες ρυθμίσεις του.", + "pluginFailed": "Το πρόσθετο στο \"{directory}\" δεν φορτώθηκε: {reason}", + "sources": { + "title": "Πηγές", + "hint": "Τα πάντα BookOrbit μπορούν να αναζητήσουν, ομαδοποιούνται ανά σύνδεση.", + "add": "Προσθήκη πηγής", + "prowlarr": "Σύνδεση Του Prowlarr", + "prowlarrHint": "Διαχειριστείτε πολλά torrent και ευρετήρια Usenet μαζί.", + "direct": "Προσθήκη Torznab ή Newznab", + "directHint": "Συνδέστε άμεσα μία συμβατή τροφοδοσία.", + "plugin": "Εγκατάσταση ενός πρόσθετου", + "pluginHint": "Προσθέστε μια εξειδικευμένη εφαρμογή πηγής.", + "activeSummary": "{count, plural, one {# ενεργού πηγαίου κώδικα} other {# ενεργών πηγών}}: {torrent} torrent, {usenet} Usenet, {direct} direct" + }, + "network": { + "title": "Προηγμένο δίκτυο", + "hint": "Απαιτείται μόνο όταν η προεπιλεγμένη διαδρομή για αυτή την πηγή δεν λειτουργεί. Αυτό που επιτρέπεται δεν αλλάζει: όποια διεύθυνση και αν επιτευχθεί εξακολουθεί να ελέγχεται με τον ίδιο τρόπο.", + "resolvers": "Διακομιστές DNS", + "proxyUrl": "URL Διακομιστή Μεσολάβησης", + "proxyHint": "Ένας proxy http ή https για την αποστολή των αιτημάτων μέσω αυτής της πηγής. Το SOCKS δεν υποστηρίζεται.", + "brief": "Απαιτείται μόνο όταν η προεπιλεγμένη διαδρομή για αυτή την πηγή δεν λειτουργεί.", + "resolversBrief": "Διαχωρισμένο με κόμμα. Χρησιμοποιείται αντί του αναλυτή συστήματος μόνο για αυτήν την πηγή. Κενό χρησιμοποιεί το σύστημα.", + "proxyBrief": "Ένας μεσολαβητής http ή https για αυτήν την πηγή. Το SOCKS δεν υποστηρίζεται." + }, + "types": { + "torznab": "Torznab (Jackett, Prowlarr, NZBHydra)", + "newznab": "Newznab" + }, + "fields": { + "name": "Όνομα", + "type": "Τύπος ευρετηρίου", + "baseUrl": "Βασικό URL", + "baseUrlHint": { + "torznab": "Το Torznab feed URL, χωρίς τη συμβολοσειρά ερωτήματος. Jackett το δείχνει σε κάθε ευρετήριο ως \"Torznab Feed\".", + "newznab": "Το URL ιστότοπου Newznab ή το τελικό σημείο API, χωρίς ερώτημα αναζήτησης." + }, + "credential": { + "apiKey": "API κλειδί", + "sessionId": "Αναγνωριστικό Συνεδρίας" + }, + "credentialKeep": "Αφήστε κενό για να διατηρήσετε τα αποθηκευμένα διαπιστευτήρια", + "credentialClear": "Εκκαθάριση", + "credentialKeepAction": "Διατήρηση", + "credentialWillClear": "Τα αποθηκευμένα διαπιστευτήρια καταργούνται όταν αποθηκεύετε", + "enabled": "Ενεργοποιημένο", + "allowPrivateAddress": "Να επιτρέπονται ιδιωτικές διευθύνσεις", + "credentialBrief": "Αποθηκευμένα κρυπτογραφημένα.", + "allowPrivateAddressBrief": "Ανενεργό από προεπιλογή. Απαιτείται μόνο όταν η πηγή βρίσκεται στο τοπικό σας δίκτυο.", + "searchByIsbn": "Αναζήτηση με ISBN", + "searchByIsbnBrief": "Ενεργή από προεπιλογή. Απενεργοποιήστε το αν αυτή η πηγή επιστρέψει λάθος βιβλίο για ένα ακριβές ISBN, και θα αναζητηθεί βάσει τίτλου και συγγραφέα." + }, + "color": { + "label": "Χρώμα", + "hint": "Σημαίνει αυτή την πηγή σε κάθε έκδοση που επιστρέφει, ώστε να μπορείτε να πείτε από πού προήλθε το αποτέλεσμα πριν διαβάσετε το όνομά της. Πρωτόκολλα παράδοσης διατηρούν τα δικά τους χρώματα, γι 'αυτό αυτά τα χρώματα δεν προσφέρονται εδώ.", + "none": "Χωρίς χρώμα", + "options": { + "blue": "Μπλε", + "indigo": "Indigo", + "purple": "Μωβ", + "pink": "Ροζ", + "red": "Κόκκινο", + "orange": "Πορτοκαλί", + "yellow": "Κίτρινο", + "lime": "Άσβεστος", + "green": "Πράσινο", + "teal": "Τιρκουάζ" + } + }, + "mediaKinds": { + "label": "Αναζήτηση αυτής της πηγής για", + "hint": "Απενεργοποιήστε ένα μέσο που αυτή η πηγή δεν αξίζει να ρωτήσετε. Ένα audiobook-only tracker πίσω από ένα γενικό proxy εξακολουθεί να λέει ότι μεταφέρει τα πάντα, και η αναζήτηση για ebooks κοστίζει ένα αίτημα σε κάθε αναζήτηση.", + "notCarried": "Αυτή η πηγή δεν την φέρει." + }, + "categories": { + "title": "Κατηγορίες", + "brief": "Αριθμοί κατηγοριών του ευρετηρίου, διαχωρισμένοι με κόμματα." + }, + "settings": { + "restoreDefault": "Επαναφορά προεπιλογών" + }, + "seeding": { + "applyTracker": "Εφαρμογή στόχων σπόρων ιχνηλάτη", + "applyTrackerBrief": "Όταν μια χειροκίνητη τιμή είναι κενή, χρησιμοποιήστε έναν έγκυρο στόχο που αναφέρεται από τον ιχνηλάτη. Όταν αυτό είναι απενεργοποιημένο, οι κενές τιμές χρησιμοποιούν τις προεπιλογές λήψης του πελάτη. Χειροκίνητες τιμές εξακολουθούν να ισχύουν.", + "ratio": "Αναλογία σπόρων", + "ratioBrief": "Ένα θετικό δεκαδικό. Το κενό κληρονομεί από τον ιχνηλάτη ή τον πελάτη.", + "time": "Χρόνος σποράς (λεπτά)", + "timeBrief": "Ένα θετικό ακέραιο αριθμό. Το κενό κληρονομεί από τον ιχνηλάτη ή τον πελάτη.", + "clientSupport": "Το qBittorrent δέχεται αναλογία και συνολικό χρόνο σπόρου. Αποδέχεται την αναλογία Deluge και Transmission μόνο. Οι παγκόσμιοι κανόνες του πελάτη και όποιο όριο και αν επιτευχθεί αρχικά μπορούν να σταματήσουν το seeding, έτσι ώστε αυτές οι τιμές δεν εγγυώνται ότι κάθε ανιχνευτής ελάχιστο πληρούνται.", + "futureGrabs": "Οι αλλαγές ισχύουν για μελλοντικές αρπαγές. Τα υπάρχοντα ή υιοθετημένα torrents μπορούν να διατηρήσουν τα όρια που αφορούν τον πελάτη. Η επαναφορά του ιχνηλάτη αφήνει ενεργά τις προεπιλογές του πελάτη, δεν σημαίνει απεριόριστη σπορά.", + "reset": "Επαναφορά ρυθμίσεων seeding", + "summary": { + "title": "Περίληψη πολιτικής", + "ratio": "Αναλογία", + "time": "Ώρα σπόρου", + "manual": "Εγχειρίδιο: {value}", + "tracker": "Tracker fallback", + "client": "Προεπιλογή πελάτη" + }, + "errors": { + "ratio": "Εισάγετε έναν πεπερασμένο αριθμό μεγαλύτερο του μηδέν, ή αφήστε το κενό.", + "minutes": "Εισάγετε έναν ακέραιο αριθμό από 1 έως 2,147,483,647, ή αφήστε αυτό το κενό." + } + }, + "confirmDelete": { + "title": "Διαγραφή αυτής της πηγής;", + "description": "Η διεύθυνση, οι ρυθμίσεις και τα αποθηκευμένα διαπιστευτήρια του {name} διαγράφονται. Απενεργοποιήστε το για να σταματήσετε να το αναζητάτε χωρίς να τα χάσετε.", + "confirm": "Διαγραφή πηγής" + }, + "errors": { + "loadFailed": "Αδύνατη η φόρτωση των ευρετηρίων", + "saveFailed": "Δεν ήταν δυνατή η αποθήκευση αυτού του ευρετηρίου", + "deleteFailed": "Δεν ήταν δυνατή η διαγραφή αυτής της πηγής", + "testFailed": "Δεν ήταν δυνατή η επίτευξη αυτού του ευρετηρίου", + "nameAndUrlRequired": "Απαιτείται ένα όνομα και ένα URL βάσης", + "nameTaken": "Υπάρχει ήδη ευρετήριο με αυτό το όνομα", + "urlUnsafe": "Αυτό το βασικό URL δεν μπόρεσε να επιτευχθεί. Ελέγξτε τη διεύθυνση και ότι χρησιμοποιεί http ή https.", + "urlPrivate": "Αυτή η διεύθυνση βρίσκεται σε ιδιωτικό ή τοπικό δίκτυο. Ενεργοποιήστε το \"Να επιτρέπονται ιδιωτικές διευθύνσεις\" αν ο ευρετηριαστής τρέχει εκεί.", + "credentialRequired": "Αυτός ο ευρετηριαστής χρειάζεται ένα διαπιστευτήριο για να μπορεί να χρησιμοποιηθεί", + "invalidSettings": "Μία ή περισσότερες πηγαίες ρυθμίσεις δεν είναι έγκυρες. Εξετάστε τις διαθέσιμες επιλογές.", + "nameRequired": "Δώστε σε αυτό το ευρετήριο ένα όνομα.", + "urlRequired": "Εισάγετε τη διεύθυνση BookOrbit θα πρέπει να αναζητήσετε στο." + }, + "editName": "Επεξεργασία {name}", + "editorDescription": "Ρυθμίσεις για αυτό το ευρετήριο.", + "chooseType": "Επιλέξτε έναν τύπο ευρετηρίου", + "chooseTypeHint": "Επιλέξτε όπου το BookOrbit θα πρέπει να αναζητήσει. Η φόρμα στη συνέχεια ρωτά μόνο για το τι χρειάζεται αυτή η πηγή.", + "builtIn": "Χτισμένο σε", + "plugin": "Πρόσθετο", + "typeDescriptions": { + "torznab": "Το δικό σας Jackett, Prowlarr ή NZBHydra. Χρησιμοποιεί κατηγορίες και στόχους σπόρων.", + "newznab": "Ένας δείκτης Usenet συμβατός με το Newznab. Χρησιμοποιεί τις κατηγορίες και απαιτεί ένα κλειδί API." + }, + "plugins": { + "title": "Πρόσθετα", + "hint": "Ένα site BookOrbit μπορεί να αναζητήσει, προστίθεται ως ένα αρχείο πρόσθετο.", + "directoryLink": "Αναζήτηση πρόσθετων ανοιχτών βιβλιοθηκών", + "none": "Δεν υπάρχει εγκατεστημένο πρόσθετο. Εγκαταστήστε ένα για να αναζητήσετε σε έναν ιστότοπο τα ενσωματωμένα πρωτόκολλα δεν καλύπτουν.", + "install": "Εγκατάσταση αρθρώματος", + "installed": "Εγκατεστημένο {label}.", + "installFailed": "Δεν ήταν δυνατή η εγκατάσταση αυτού του πρόσθετου.", + "inspectFailed": "Αυτό το αρχείο δεν μπορεί να διαβαστεί ως πρόσθετο.", + "removeAction": "Διαγραφή πρόσθετης λειτουργίας", + "removed": "Διαγράφηκε το {type} και οι πηγές του.", + "removeFailed": "Αυτό το πρόσθετο δεν μπορεί να διαγραφεί.", + "confirmRemove": "Διαγραφή της προσθήκης {label};", + "replaces": "Αυτό αντικαθιστά το πρόσθετο {type} ήδη εγκατεστημένο.", + "restartRequired": "Επανεκκίνηση του BookOrbit για να τεθεί σε ισχύ η αλλαγή του πρόσθετου.", + "confirmInstall": "Εγκατάσταση αρθρώματος", + "configure": "Ρύθμιση", + "notSetUp": "Δεν έχει ρυθμιστεί ακόμα", + "brokenTitle": "Ένα πρόσθετο δεν φορτώθηκε", + "managedHint": "Εγκατεστημένο σε αυτόν τον διακομιστή. Η ενημέρωση αντικαθιστά τον κώδικά της. Η διαγραφή αφαιρεί μόνιμα το πρόσθετο και κάθε πηγή αυτού του τύπου.", + "missingHint": "Το αρχείο πρόσθετου έχει ήδη φύγει. Διαγράψτε αυτήν την καταχώρηση πρόσθετου για να αφαιρέσετε κάθε εναπομένουσα πηγή, ρύθμιση και αποθηκευμένα διαπιστευτήρια για τον τύπο του.", + "removeWarning": "{count, plural, one {# πηγή και οι αποθηκευμένες ρυθμίσεις και διαπιστευτήρια του θα διαγραφούν οριστικά με αυτό το πρόσθετο.} other {# πηγές και οι αποθηκευμένες ρυθμίσεις και διαπιστευτήριά τους θα διαγραφούν οριστικά με αυτό το plugin.}}", + "configureAria": "Ρυθμίστε το {label}", + "usedBy": "{count, plural, one {χρησιμοποιείται από # πηγή} other {που χρησιμοποιείται από # πηγές}}", + "unused": "καμία πηγή δεν το χρησιμοποιεί ακόμα", + "update": "Ενημέρωση αρθρώματος", + "checkUpdates": "Έλεγχος ενημερώσεων", + "updateCheckComplete": "Ο έλεγχος ενημερώσεων του πρόσθετου ολοκληρώθηκε.", + "updateCheckFailed": "Αδύνατος ο έλεγχος για ενημερώσεις πρόσθετων.", + "updateInspectFailed": "Δεν ήταν δυνατή η επαλήθευση της δημοσιευμένης ενημέρωσης του πρόσθετου.", + "reviewUpdate": "Αναθεώρηση ενημέρωσης", + "updated": "Ενημερώθηκε {label} στο {version}.", + "autoUpdate": "Αυτόματη εγκατάσταση υπογεγραμμένων ενημερώσεων", + "autoUpdateFailed": "Δεν ήταν δυνατή η αλλαγή των αυτόματων ενημερώσεων για αυτό το πρόσθετο.", + "installedVersion": "Εγκατεστημένη έκδοση", + "updateChannel": "Υπογεγραμμένο κανάλι ενημέρωσης", + "signatureVerified": "Ο κατεβασμένος πηγαίος κώδικας αντιστοιχεί στην υπογραφή του Ed25519 του εκδότη.", + "updateStates": { + "unsupported": "Χειροκίνητες ενημερώσεις", + "unchecked": "Δεν έχει ελεγχθεί ακόμα", + "current": "Μέχρι σήμερα", + "available": "Έκδοση {version} διαθέσιμη", + "custom": "Προσαρμοσμένη κατασκευή", + "failed": "Ο έλεγχος ενημέρωσης απέτυχε" + }, + "wrongType": "Αυτό το αρχείο είναι το πρόσθετο {found} όχι {expected}.", + "replaceTitle": "Αντικατάσταση αυτής της προσθήκης;", + "replace": "Αντικατάσταση πρόσθετης λειτουργίας", + "reviewTitle": "Εγκατάσταση αυτής της προσθήκης;", + "reviewDescription": "Τι δηλώνει το αρχείο για τον εαυτό του, και τον κώδικα που θα εκτελέσει.", + "declares": "Τι δηλώνει", + "source": "Τι θα τρέξει", + "type": "Τύπος", + "version": "Έκδοση", + "versionLabel": "Έκδοση προσθήκης {version}", + "versionUnknown": "Άγνωστη έκδοση πρόσθετου", + "versionUnknownValue": "Άγνωστο", + "media": "Πολυμέσα", + "credential": "Διαπιστευτήριο", + "credentialRequired": "Απαιτείται", + "credentialNone": "Κανένα", + "trustWarning": "Ένα πρόσθετο εκτελείται μέσα στο BookOrbit με την πρόσβαση στη βάση δεδομένων σας, τα αρχεία βιβλιοθήκης και το κλειδί κρυπτογράφησης. Εγκαταστήστε ένα μόνο από μια πηγή που εμπιστεύεστε, και διαβάστε το πρώτα.", + "sectionTitle": "Πρόσθετο", + "removeUnusedWarning": "Το πρόσθετο θα διαγραφεί οριστικά από το διακομιστή." + }, + "posture": "Το BookOrbit δεν παρέχει ή εγκρίνει πηγές ευρετηρίου. Κάθε πηγή εδώ είναι μια πηγή που έχετε ρυθμίσει, και είστε υπεύθυνοι για αυτό που ψάχνετε και κατεβάζετε μέσω της." + }, + "managers": { + "add": "Προσθήκη Prowlarr", + "loading": "Φόρτωση Prowlarr συνδέσεων...", + "managedSources": "{count, plural, one {# διαχειριζόταν ευρετήριο} other {# διαχειριζόταν ευρετήρια}}", + "protocol": { + "torrent": "Torrent", + "usenet": "Usenet" + }, + "saved": "Οι ρυθμίσεις Prowlarr αποθηκεύτηκαν", + "deleted": "Το Prowlarr αφαιρέθηκε", + "synced": "Συγχρονισμένες πηγές Prowlarr", + "test": "Δοκιμή σύνδεσης", + "sync": "Synchronize", + "testOk": "Συνδέθηκε στο Prowlarr {version}. Βρέθηκε {count, plural, one {# πηγή} other {# πηγές}}.", + "unavailable": "Unavailable", + "priority": "Prowlarr priority {priority}", + "toggleSource": "Αναζήτηση με {name}", + "changeColor": "Αλλαγή χρώματος για {name}", + "sourceColor": "Χρώμα πηγής", + "sourceColorHint": "Marks κυκλοφορίες επέστρεψε από τον {name} σε όλη την BookOrbit.", + "noSources": "Δεν βρέθηκαν συμβατά torrent ή ευρετήρια Usenet. Συγχρονίστε μετά την προσθήκη ενός στο Prowlarr.", + "unknown": "Άγνωστο", + "editorDescription": "Ρυθμίσεις συγχρονισμού σύνδεσης και πηγής για το Prowlarr.", + "confirmDelete": "Κατάργηση αυτής της σύνδεσης Prowlarr;", + "deleteConsequence": "Η σύνδεση, το κρυπτογραφημένο κλειδί API και όλες οι συγχρονισμένες πηγές διαγράφονται. Οι λήψεις που βρίσκονται ήδη σε εξέλιξη δεν διαγράφονται.", + "fields": { + "name": "Όνομα", + "color": "Χρώμα σύνδεσης", + "colorHint": "Χαρακτηρίζει αυτή τη σύνδεση Prowlarr εδώ. Κάθε διαχειριζόμενο ευρετήριο έχει το δικό του χρώμα κυκλοφορίας.", + "baseUrl": "Βασικό URL", + "apiKey": "API κλειδί", + "apiKeyHint": "Βρέθηκε στο Prowlarr κάτω από τις Ρυθμίσεις> Γενικά> Ασφάλεια. Αποθηκεύτηκε κρυπτογραφημένα.", + "syncNew": "Ενεργοποίηση πηγών που ανακαλύφθηκαν πρόσφατα", + "syncNewHint": "Οι νέοι δείκτες Prowlarr είναι αναζητήσιμοι αμέσως. Πηγές που απενεργοποιείτε εδώ παραμένουν απενεργοποιημένες μετά από μεταγενέστερους συγχρονισμούς.", + "autoExpand": "Επανάληψη χωρίς φίλτρα κατηγορίας", + "autoExpandHint": "Όταν ένα ευρετήριο απαντά με επιτυχία χωρίς αποτελέσματα, προσπαθήστε ξανά μια φορά χωρίς φίλτρο κατηγορίας βιβλίου του BookOrid.", + "inheritSeedLimits": "Χρήση ορίων σπόρων Prowlarr", + "inheritSeedLimitsHint": "Εφαρμόστε κάθε αναλογία σπόρων ευρετηρίου torrent και χρόνο σπόρων προς σπορά σε μελλοντικές λήψεις όταν δεν υπάρχει καμία αντικατάσταση BookOrbit.", + "perIndexerTimeout": "Χρονικό όριο ευρετηρίου (δευτερόλεπτα)", + "perIndexerTimeoutHint": "Το αργό FlareSolverr-backed indexers μπορεί να χρειαστεί περισσότερο χρόνο.", + "overallBudget": "Prowlarr προϋπολογισμός (δευτερόλεπτα)", + "overallBudgetHint": "Μέγιστος χρόνος τοίχου-ρολογιού κοινόχρηστο με όλες τις πηγές από αυτή τη σύνδεση Prowlarr κατά τη διάρκεια μιας αναζήτησης." + }, + "errors": { + "load": "Αδύνατη η φόρτωση των διαχειριστών ευρετηρίου", + "nameTaken": "Υπάρχει ήδη σύνδεση Prowlarr με αυτό το όνομα", + "urlPrivate": "Αυτή η διεύθυνση βρίσκεται σε ιδιωτικό ή τοπικό δίκτυο. Ενεργοποιήστε την επιλογή \"Να επιτρέπονται ιδιωτικές διευθύνσεις\" αν το Prowlarr τρέχει εκεί.", + "required": "Εισάγετε όνομα, βασικό URL και κλειδί API.", + "save": "Αδυναμία αποθήκευσης της σύνδεσης Prowlarr", + "delete": "Δεν ήταν δυνατή η αφαίρεση της σύνδεσης Prowlarr", + "test": "Αδυναμία πρόσβασης στο Prowlarr", + "sync": "Αδυναμία συγχρονισμού πηγών Prowlarr", + "source": "Δεν ήταν δυνατή η αλλαγή αυτής της πηγής" + } + }, + "automation": { + "title": "Αυτοματισμός", + "pipeline": "Όταν μια λήψη τελειώνει περνάει μέσα από το Βιβλίο, όπου ο τίτλος και ο συγγραφέας του διαβάζονται έτσι ώστε το αρχείο να μπορεί να ονομαστεί και να κατατεθεί σωστά, και στη συνέχεια κινείται στη βιβλιοθήκη προορισμού του αιτήματος από μόνη της. Αυτό σταματά μόνο για εσάς αν ο έλεγχος εισαγωγής είναι ενεργοποιημένος και το αρχείο δεν ταιριάζει με αυτό που ζητήθηκε.", + "groupDownloads": "Αυτόματες λήψεις", + "groupImports": "Έλεγχοι εισαγωγής", + "stateOn": "Ενεργό", + "stateOff": "Ανενεργό", + "summaryOff": "Κάθε εγκεκριμένο αίτημα περιμένει ένα άτομο να ανοίξει τον επιλογέα απελευθέρωσης και να επιλέξει.", + "summaryNoRetry": "Μια εγκεκριμένη αίτηση κατεβάζει την καλύτερη απελευθέρωσή του από μόνη της, εφ 'όσον αυτό σκοράρει {score} ή περισσότερο. Εάν αποτύχει, η αίτηση περιμένει ένα άτομο.", + "summaryRetry": "Μια εγκεκριμένη αίτηση κατεβάζει την καλύτερη απελευθέρωσή της από μόνη της, εφ 'όσον αυτή η βαθμολογία κυκλοφορίας {score} ή περισσότερο. {count, plural, one {Είναι η μόνη έκδοση που δοκιμάστηκε πριν το αίτημα περιμένει για ένα άτομο.} other {Μέχρι και # κυκλοφορίες έχουν δοκιμαστεί πριν το αίτημα περιμένει για ένα άτομο.}}", + "howDownloads": "Πώς λειτουργούν οι αυτόματες λήψεις", + "howImports": "Πώς λειτουργούν οι έλεγχοι εισαγωγής", + "minScoreShort": "Τίποτα κάτω από αυτό έχει ληφθεί χωρίς παρακολούθηση.", + "autoRetryShort": "Μια αποτυχημένη λήψη πέφτει στον δρομέα.", + "maxAttemptsShort": "Η πρώτη προσπάθεια και κάθε επανάληψη μετράει σε αυτό.", + "verificationShort": "Κάτω από αυτό, το αρχείο περιμένει στη Βάση Βιβλίου για κριτική.", + "loading": "Φόρτωση των ρυθμίσεων αυτοματισμού...", + "loadFailed": "Αδύνατη η φόρτωση των ρυθμίσεων αυτοματισμού", + "saveFailed": "Αδυναμία αποθήκευσης αυτής της ρύθμισης", + "saved": "Οι ρυθμίσεις αυτοματισμού αποθηκεύτηκαν", + "autoGrab": "Κατεβάστε την καλύτερη έκδοση αυτόματα", + "noSourcesConfigured": "Δεν έχουν δημιουργηθεί πηγές αναζήτησης, οπότε τίποτα δεν θα γίνει αναζήτηση και κάθε εγκεκριμένο αίτημα θα επιστραφεί αμέσως. Προσθέστε μία από τις Πηγές.", + "noSourcesEnabled": "Κάθε πηγή αναζήτησης είναι απενεργοποιημένη, οπότε τίποτα δεν θα γίνει αναζήτηση και κάθε εγκεκριμένο αίτημα θα παραδοθεί αμέσως. Ενεργοποιήστε ένα πίσω κάτω από τις πηγές.", + "autoGrabHint": "Όταν ένα αίτημα εγκρίνεται, η μεγαλύτερη βαθμολογία του πηγαίνει κατευθείαν στον πελάτη λήψης και κανείς δεν έχει να ανοίξει τον επιλογέα απελευθέρωσης. Απενεργοποιημένη από προεπιλογή, επειδή το ταίριασμα ενός βιβλίου με τη σωστή κυκλοφορία είναι δύσκολο και ένα άτομο είναι συνήθως η καλύτερη κριτική.", + "autoGrabEnabled": "Οι αυτόματες λήψεις είναι ενεργές", + "autoGrabDisabled": "Οι αυτόματες λήψεις είναι απενεργοποιημένες", + "minScore": "Ελάχιστη βαθμολογία για αυτόματη λήψη", + "minScoreHint": "Μια βαθμολογία κυκλοφορίας κάτω από αυτό δεν είναι ποτέ κατεβάσει αυτόματα. Βαθμολογία τρέχει σε 100, και πόσο καλά ο τίτλος και ο συγγραφέας ταιριάζουν αποτελούν το μεγαλύτερο μέρος του ένα, με μορφή, μέγεθος αρχείου, σπερματοδότες και προτεραιότητα πηγής πίσω από αυτό. Αν τίποτα δεν σκοράρει αρκετά υψηλό, το αίτημα περιμένει κάποιος να πάρει μια απελευθέρωση με το χέρι και λέει γιατί σταμάτησε.", + "minScoreHintV2": "Μια βαθμολογία κυκλοφορίας κάτω από αυτό δεν είναι ποτέ κατεβάσει αυτόματα. Βαθμοί τρέχει σε 100. Ο τίτλος και η συνάφεια συγγραφέα συμβάλλει τους περισσότερους, ακολουθούμενη από τη μορφή και το εύλογο μέγεθος αρχείου, με την υγεία σμήνους και freeleech που χρησιμοποιούνται όταν μια πηγή τους παρέχει. Αν τίποτα δεν σκοράρει αρκετά υψηλό, το αίτημα περιμένει κάποιος να πάρει μια απελευθέρωση με το χέρι και λέει γιατί σταμάτησε.", + "autoRetry": "Δοκιμάστε την επόμενη κυκλοφορία μετά από μια αποτυχία", + "autoRetryHint": "Όταν μια αυτόματη λήψη αποτύχει, η επόμενη καλύτερη έκδοση δοκιμάζεται αντί να παραιτηθεί. Αυτό καλύπτει μια πηγή που αρνείται να παραδώσει το αρχείο και μια λήψη που πεθαίνει partway μέσω. Ισχύει μόνο για τις κυκλοφορίες της BookOrbit: ένας από τους εγκεκριμένους που επιλέγονται με το χέρι παραμένει αποτυχημένος και περιμένει γι 'αυτούς.", + "maxAttempts": "Προσπάθειες ανά αίτηση", + "maxAttemptsHint": "Κάθε έκδοση BookOrbit στέλνει σε έναν πελάτη λήψης για αυτό το αίτημα μετρά προς αυτό το όριο: την πρώτη αυτόματη προσπάθεια, οτιδήποτε δοκιμάστηκε μετά από μια πηγή γύρισε ένα προς τα κάτω, και οτιδήποτε δοκιμάστηκε μετά από μια λήψη απέτυχε. Ρυθμίστε το σε 1 για να σταματήσει μετά την πρώτη προσπάθεια.", + "autoSearch": "Η αναζήτηση αιτήσεων δεν βρέθηκε για", + "autoSearchShort": "Ένα εγκεκριμένο αίτημα δεν ταιριάζει τίποτα αναζητείται ξανά αργότερα.", + "autoSearchHint": "Ένα αίτημα αναζητείται μία φορά όταν εγκρίνεται. Αν δεν υπάρχει τίποτα αρκετά καλό εμφανίζεται, ή το βιβλίο δεν έχει κυκλοφορήσει ακόμα, αυτό το αίτημα περιμένει στο εγκεκριμένο και τίποτα δεν ψάχνει για αυτό ξανά. Ενεργοποιήστε αυτήν την επιλογή και το BookOrbit συνεχίζει να ελέγχει μόνοι του, έτσι μια έκδοση που δημοσιεύεται τον επόμενο μήνα εξακολουθεί να βρέθηκε. Τρέχει μόνο ενώ οι αυτόματες λήψεις είναι ενεργοποιημένες, καθώς μια αναζήτηση δεν έχει καμία σχέση με αυτό που βρίσκει κοστίζει μόνο την επισκεψιμότητα πηγών σας.", + "autoSearchEnabledToast": "Τα αιτήματα θα αναζητηθούν ξανά", + "autoSearchDisabledToast": "Τα αιτήματα θα αναζητηθούν μόνο όταν εγκριθούν", + "autoSearchInterval": "Αναζήτηση ξανά μετά", + "autoSearchIntervalShort": "Καταμετρήθηκε από την τελευταία αναζήτηση, και τεντώθηκε ως ηλικίες αιτήματος.", + "autoSearchIntervalHint": "Πόσο καιρό να περιμένετε πριν ψάξετε ξανά για ένα αίτημα δεν βρέθηκε τίποτα. Η αναμονή διπλασιάζει για κάθε εβδομάδα ένα αίτημα έχει περιμένει, έως και οκτώ φορές αυτό το ποσό, έτσι μια μακρά καθυστέρηση των παλιών αιτημάτων δεν μετατρέπεται σε καθημερινή κυκλοφορία σε σχέση με κάθε πηγή που έχετε.", + "autoSearchIntervalUnit": "ώρες", + "autoSearchMaxAge": "Σταματήστε την αναζήτηση", + "autoSearchMaxAgeShort": "Καταμετρήθηκε από τον χρόνο υποβολής της αίτησης.", + "autoSearchMaxAgeHint": "Ένα αίτημα παλαιότερο από αυτό παραμένει μόνο. Μένει εγκεκριμένη και μπορεί να έχει ακόμα μια απελευθέρωση που επιλέγεται με το χέρι ανά πάσα στιγμή. Τίποτα δεν ψάχνει για αυτό αυτόματα πια.", + "autoSearchMaxAgeUnit": "ημέρες", + "verify": "Ελέγξτε τις εισαγωγές με βάση το αίτημα", + "verifyOnHint": "Κάθε κατεβασμένο αρχείο συγκρίνεται με το βιβλίο που ζητήθηκε πριν κατατεθεί. Οτιδήποτε δεν ταιριάζει στενά με αρκετές αναμονές στη Βάση Βιβλίου για να κοιτάξει κάποιος.", + "verifyOffHint": "Τίποτα δεν κρατιέται για αναθεώρηση. Κάθε λήψη κατατίθεται μόλις ο τίτλος και ο συγγραφέας του έχουν διαβαστεί, έτσι μια λανθασμένη έκδοση προσγειώνεται στη βιβλιοθήκη σας χωρίς προειδοποίηση.", + "verificationEnabled": "Ο έλεγχος εισαγωγής είναι ενεργός", + "verificationDisabled": "Ο έλεγχος εισαγωγής είναι απενεργοποιημένος. Οι λήψεις θα αρχειοθετηθούν χωρίς κριτική", + "verification": "Όριο επαλήθευσης", + "verificationHint": "Πόσο στενά πρέπει ένα κατεβασμένο αρχείο να ταιριάζει με το αίτημα πριν να κατατεθεί από μόνο του. Οτιδήποτε κάτω από αυτό περιμένει στο Βιβλίο Dock για αναθεώρηση. Αυτό ισχύει για κάθε αίτημα, συμπεριλαμβανομένων των κυκλοφοριών που επιλέγονται με το χέρι.", + "destinations": "Προεπιλεγμένοι προορισμοί", + "destinationsHint": "Όπου ένα βιβλίο αρχειοθετείται όταν κανείς δεν επέλεξε μια βιβλιοθήκη για αυτό. Υπάρχει μια προεπιλογή ανά μέσο, επειδή το μέσο επιλέγεται πριν γίνει αναζήτηση και είναι το μόνο πράγμα που είναι γνωστό για το αρχείο που νωρίς. Ένας προορισμός που ο αιτών καρφιτσώθηκε ή ένας επιλεγμένος κατά την έγκριση, χρησιμοποιείται μπροστά από αυτά.", + "destinationUnset": "Χωρίς προεπιλογή", + "destinationHiddenLibrary": "Μια βιβλιοθήκη που δεν μπορείτε να δείτε", + "destinationHiddenFolder": "Ένας φάκελος που δεν μπορείτε να δείτε", + "selectFolder": "Επιλέξτε ένα φάκελο", + "destinationLibraryFor": "Προεπιλεγμένη βιβλιοθήκη για αιτήματα {medium}", + "destinationFolderFor": "Προεπιλεγμένος φάκελος για αιτήματα {medium}", + "destinationClearFor": "Διαγράψτε τον προεπιλεγμένο προορισμό για αιτήματα {medium}", + "importFormats": "Εισαγωγή μορφών", + "importFormatsHint": "Τι να κρατήσει όταν μία έκδοση φέρει το ίδιο βιβλίο σε περισσότερες από μία μορφές, όπως ένα EPUB και ένα PDF μαζί. Αυτό ποτέ δεν ισχύει για ένα multipart audiobook, επειδή τα μέρη του είναι ένα βιβλίο και όχι ανταγωνιστικές εκδόσεις.", + "importFormatsOption": { + "all": "Όλα τα διαθέσιμα", + "allHint": "Κρατήστε κάθε μορφή που ήρθε με την έκδοση.", + "preferred": "Προτιμώμενο μόνο", + "preferredHint": "Διατηρήστε μόνο τη μορφή που είναι υψηλότερη στην προτεραιότητα της βιβλιοθήκης προορισμού." + } + }, + "profiles": { + "title": "Απελευθέρωση προφίλ", + "effectiveRule": "Κανόνας αυτόματης λήψης: πρώτη βαθμίδα που ταιριάζει, στη συνέχεια, υψηλότερη βαθμολογία (ελάχιστη {score}).", + "summary": "Εκδόσεις έξω από το προφίλ παραμένουν διαθέσιμες για χειροκίνητη επιλογή. Χωρίς κατηγορίες, απελευθερώνει κατάταξη μόνο με βαθμολογία.", + "howProfiles": "Πώς λειτουργούν τα προφίλ έκδοσης", + "hint": "Μια απελευθέρωση ταιριάζει με βαθμίδες από πάνω προς τα κάτω και παίρνει την πρώτη βαθμίδα που ταιριάζει. Οι αυτόματες λήψεις λαμβάνουν υπόψη μόνο τις κουραστικές κυκλοφορίες όταν υπάρχει ένα προφίλ.", + "bitrateNote": "Ένα bitrate πάτωμα γυρίζει μια απελευθέρωση που δηλώνει χαμηλότερη. Οι περισσότερες πηγές μετρούν πολύ λίγες από τις απελευθερώσεις τους, και μια αμέτρητη απελευθέρωση δεν είναι γυρισμένη, έτσι αυτό στενεύει λιγότερο από ό, τι φαίνεται.", + "empty": "Δεν υπάρχει προφίλ. Οι κυκλοφορίες για αυτό το μέσο κατατάσσονται μόνο με βαθμολογία.", + "addTier": "Προσθήκη βαθμίδας", + "removeTier": "Αφαίρεση αυτής της βαθμίδας", + "moveUp": "Μετακίνηση αυτής της βαθμίδας πάνω", + "moveDown": "Μετακίνηση αυτής της βαθμίδας κάτω", + "tierName": "Όνομα κατηγορίας", + "newTier": "Βαθμίδα {position}", + "formats": "Μορφές", + "files": "Αρχεία", + "anyLayout": "Οποιαδήποτε", + "minBitrate": "Ελάχιστα kbps", + "minSeeders": "Ελάχιστοι σπόροι", + "torrentConditions": "Συνθήκες torrent", + "nonTorrentConditions": "Οι συνθήκες Seeder, freeleech και VIP δεν ισχύουν για τις επιλεγμένες πηγές.", + "incompatibleTorrentConditions": "Αυτή η βαθμίδα μη-torrent εξακολουθεί να έχει αποθηκεύσει συνθήκες torrent. Μπορεί να αγνοηθεί ή να αποτρέψει την αντιστοίχιση της βαθμίδας.", + "removeTorrentConditions": "Αφαίρεση συνθηκών torrent", + "channels": "Κανάλια", + "anyChannels": "Οποιαδήποτε", + "mono": "Μονόχρωμο", + "stereo": "Stereo", + "maxSize": "Μέγιστο MB", + "languages": "Γλώσσες", + "indexers": "Πηγές", + "multiSelectHint": "Επιλέξτε ένα ή περισσότερα ή αφήστε το κενό για να επιτρέψετε οποιαδήποτε", + "multiSelectAny": "Οποιαδήποτε" + }, + "health": { + "ok": "Συνδεδεμένο", + "failed": "Μη προσπελάσιμο", + "untested": "Ποτέ δεν δοκιμάστηκε", + "disabled": "Απενεργοποιημένο", + "testedAt": "δοκιμασμένο {time}", + "failedAt": "απέτυχε {time}" + }, + "categoryLabel": "κατηγορία {category}", + "priorityLabel": "προτεραιότητα {priority}", + "editClientName": "Επεξεργασία {name}", + "sections": { + "connection": "Σύνδεση", + "search": "Τι να ψάξετε", + "access": "Πρόσβαση", + "seeding": "Διαμοιρασμός", + "availability": "Διαθεσιμότητα", + "behaviour": "Συμπεριφορά" + }, + "continueWithType": "Συνέχεια", + "external": "Εξωτερικό", + "editorDescription": "Ρυθμίσεις για αυτό το πρόγραμμα λήψης.", + "chooseClientType": "Επιλέξτε έναν τύπο πελάτη", + "chooseClientTypeHint": "Επιλέξτε σε ποιο πρόγραμμα κατεβάσετε τα χέρια της BookOrbit να.", + "clientTypeDescriptions": { + "qbittorrent": "Το δικό σας qBittorrent. Χρειάζεται μια διεύθυνση και έναν λογαριασμό.", + "transmission": "Η δική σας Μετάδοση. Δεν έχει κατηγορίες, οπότε η κατηγορία γίνεται υποφάκελος του καταλόγου λήψης.", + "deluge": "Ο δικός σας Deluge. Συνδεθείτε με τον κωδικό πρόσβασης Web UI. Η κατηγορία χρειάζεται το πρόσθετο ετικέτας ενεργοποιημένο.", + "nzbget": "Η BookOrbit στέλνει αρχεία NZB μέσω του JSON-RPC API.", + "sabnzbd": "Το δικό σας SABnzbd. Το BookOrbit στέλνει αρχεία NZB χρησιμοποιώντας το κλειδί API." + }, + "searchHealth": { + "failingOnce": "Η τελευταία αναζήτηση απέτυχε", + "failingStreak": "Οι αναζητήσεις {count} απέτυχε σε μια γραμμή", + "lastSearchAt": "τελευταία αναζήτηση {time}" + } } }, "nav": { "title": "Ρυθμίσεις", "ariaLabel": "Τομείς ρυθμίσεων", + "breadcrumbLabel": "Breadcrumb", "searchPlaceholder": "Ρυθμίσεις αναζήτησης", "clearSearch": "Εκκαθάριση αναζήτησης", "noResults": "Καμία ρύθμιση δεν ταιριάζει με το {query}.", "shortcutHint": "Πατήστε {shortcut} για να μεταβείτε σε οποιαδήποτε ρύθμιση", + "status": { + "scanning": "Σάρωση" + }, "groups": { "you": "Εσείς", "library": "Βιβλιοθήκη", "devices": "& Συγχρονισμός συσκευών", + "accounts": "Λογαριασμοί", "server": "Διακομιστής" }, "descriptions": { @@ -2324,13 +4209,74 @@ "email": "Αποστολή SMTP και διευθύνσεις αποστολής σε συσκευή.", "hardcover": "Συγχρονισμός κατάστασης ανάγνωσης και κριτικών με Hardcover.", "users": "Λογαριασμοί, ρόλοι, δικαιώματα και προσκλήσεις.", + "accountActivity": "Ανάγνωση και δραστηριότητα συνεδρίας ανά χρήστη.", "magicLinks": "Σύνδεσμοι κοινής χρήσης και σύνδεσης χωρίς κωδικό.", "oidc": "Πάροχος ενιαίου σήματος, αξιώσεις και πρόβλεψη.", "serverFonts": "Εγκατεστημένες γραμματοσειρές για κάθε αναγνώστη σε αυτόν το διακομιστή.", "bookDock": "Γρήγορες ενέργειες που εμφανίζονται στις σελίδες του βιβλίου.", - "auditLog": "Ποιος άλλαξε τι, και πότε." + "auditLog": "Ποιος άλλαξε τι, και πότε.", + "requests": "Πηγές, κατεβάστε πελάτες, και τι συμβαίνει σε ένα βιβλίο μόλις κατεβάσει.", + "readerTts": "Προεπιλογή φωνής, ταχύτητας, και αφήγησης.", + "adminTts": "Μηχανές κειμένου σε ομιλία διαθέσιμες σε κάθε αναγνώστη σε αυτόν το διακομιστή." }, - "backToApp": "Πίσω στη βιβλιοθήκη" + "backToApp": "Πίσω στη βιβλιοθήκη", + "pageDescriptions": { + "profile": "Το όνομά σας, η φωτογραφία, η ζώνη ώρας και η παρακολούθηση επιτευγμάτων, καθώς και ο κωδικός πρόσβασής σας και οι πάροχοι εισόδου που συνδέονται με αυτόν τον λογαριασμό.", + "appearance-theme": "Επιλέξτε που θα αποθηκεύονται οι ρυθμίσεις εμφάνισης και στη συνέχεια ρυθμίστε το στυλ, το χρωματικό σχήμα, την έμφαση, τις γωνίες, τη φωτεινότητα της επιφάνειας και το μοτίβο πίσω από τη βιβλιοθήκη σας.", + "appearance-book-covers": "Πώς καλύπτει την εμφάνιση σε όλη την εφαρμογή: placeholder τέχνη για τα βιβλία χωρίς ένα, πώς τα καλύμματα ταιριάζουν στις αυλακώσεις, τη σπονδυλική στήλη και τα γυαλιστερά τους, καθώς και την απόχρωση καλύμματος στις σελίδες του βιβλίου.", + "appearance-icons": "Ανεβάστε τα δικά σας εικονίδια για να χρησιμοποιήσετε παράλληλα με το ενσωματωμένο σετ για βιβλιοθήκες, έξυπνα πεδία και συλλογές.", + "appearance-layout": "Μεγέθη κάλυψης και διάστημα για το πλέγμα βιβλιοθήκης, το εξώφυλλο που εμφανίζεται για μια σειρά που καταρρέει, και πώς σχεδιάζεται το πλέγμα συγγραφέα.", + "appearance-behavior": "Τι ανοίγει ένα βιβλίο από ένα πλέγμα ή μια λίστα, είτε η σειρά καταρρέει σε μια κάρτα, και αν τα αιτήματα βιβλίων εμφανίζονται σε αυτόν τον λογαριασμό.", + "appearance-language": "Η γλώσσα BookOrbit χρησιμοποιεί για μενού, ετικέτες και μηνύματα, και τις περιφερειακές μορφές για ημερομηνίες και αριθμούς.", + "reader-ebook": "Προεπιλογές για τον αναγνώστη του eBook: αν τα νέα βιβλία ξεκινούν με τις ρυθμίσεις, τη ροή σελίδων και τις στήλες, το θέμα και την τυπογραφία όπως γραμματοσειρά, μέγεθος και διαστήματα.", + "reader-pdf": "Πώς ανοίγουν τα PDF: σελίδα ανά σελίδα ή ένα συνεχές κύλιση, ποια σελίδα ξεκινά ένα εξώφυλλο δύο σελίδων, και η προεπιλεγμένη εφαρμογή ζουμ.", + "reader-comics": "Πώς τα κόμικς διαβάζουν: λειτουργία ανάγνωσης και κατεύθυνση, απλώνεται μία ή δύο σελίδες, ταιριάζει, χειρισμός ευρείας σελίδας, και κινείται στο επόμενο βιβλίο της σειράς.", + "reader-audio": "Η ταχύτητα εκκίνησης και η ένταση για νέα audiobooks, και πόσο μακριά η παράλειψη πίσω και παραλείψτε προς τα εμπρός κουμπιά άλμα.", + "reader-fonts": "Ανεβάστε τις δικές σας γραμματοσειρές για τον αναγνώστη και επιλέξτε ποιες γραμματοσειρές μοιράζονται από τον διαχειριστή του διακομιστή σας θα εμφανίζονται σε αυτό.", + "reader-general": "Όπου αποθηκεύονται οι προτιμήσεις του αναγνώστη και οι προεπιλογές μοιράζονται σε κάθε λειτουργία ανάγνωσης.", + "tts": "Η προεπιλεγμένη σας φωνή και ταχύτητα όταν η BookOrbit διαβάζει δυνατά ένα βιβλίο.", + "notifications": "Επιλέξτε ποια γεγονότα σας ειδοποιούν, από ολοκληρωμένες σαρώσεις και μεταδεδομένα φέρνουν σε μετονομασίες αρχείων, εισαγωγές και αποτελέσματα Book Dock.", + "privacy": "Αποφασίστε πόσοι από τους διαχειριστές δραστηριότητας ανάγνωσης μπορούν να δουν, προεπισκόπηση του κοινόχρηστου προφίλ σας και ελέγξτε ποιος το έχει δει.", + "restrictions": "Όρια περιεχομένου που καθορίζονται σε αυτόν τον λογαριασμό, όπως ηλικιακές αξιολογήσεις και κρυφό περιεχόμενο, και τι κρατούν έξω από τις βιβλιοθήκες σας.", + "libraries": "Κάθε βιβλιοθήκη με μια ματιά: οι φάκελοι της, τι κρατάει, πώς σαρώνεται και όταν έτρεξε τελευταία. Προσθήκη, επεξεργασία ή επανασάρωση βιβλιοθηκών εδώ.", + "metadata-providers": "Ενεργοποιήστε ή απενεργοποιήστε τις πηγές μεταδεδομένων, προσθέστε κλειδιά API ή cookie όπου τα χρειάζεται μια πηγή και δοκιμάστε τα διαπιστευτήρια σε σχέση με τη ζωντανή υπηρεσία.", + "metadata-field-rules": "Επιλέξτε ποιοι πάροχοι συμπληρώνουν κάθε πεδίο μεταδεδομένων και σε ποια σειρά, πώς συγχωνεύονται οι τιμές, καθώς και πώς συλλέγονται τα είδη και τα αναγνωριστικά παρόχου.", + "metadata-custom-fields": "Δημιουργήστε τα δικά σας πεδία μεταδεδομένων, επιλέξτε τον τύπο τους και τις βιβλιοθήκες που τα χρησιμοποιούν, και αναδιάταξη ή αρχειοθέτηση τους.", + "metadata-score": "Αποφασίστε πόσο κάθε πεδίο μεταδεδομένων μετράει προς το σκορ πληρότητας που εμφανίζεται σε κάθε βιβλίο.", + "metadata-auto-fetch": "Λήψη μεταδεδομένων βιβλίου αυτόματα όταν εισάγονται βιβλία ή λείπουν λεπτομέρειες, με παρακάμψεις για κάθε βιβλιοθήκη.", + "metadata-authors": "Λήψη βιογραφιών συγγραφέα και φωτογραφίες αυτόματα, επιλέξτε τις πηγές παραγγελίας δοκιμάζονται, και να αποφασίσει ποιοι συγγραφείς πληρούν τις προϋποθέσεις.", + "metadata-search-cache": "Κρατήστε τις απαντήσεις παροχής, έτσι ώστε οι επαναληπτικές αναζητήσεις να είναι γρήγορες και να λειτουργούν όταν ένας πάροχος είναι κάτω, και να ελέγχουν πόσο χρόνο και πόσα τηρούνται.", + "metadata-genre-blocklist": "Οι τιμές ειδών που παρατίθενται εδώ αφαιρούνται από τα αποτελέσματα παρόχου πριν γραφτούν τα μεταδεδομένα, έτσι ώστε οι ετικέτες όπως το Audiobook να μείνουν έξω από τα βιβλία σας.", + "metadata-reminders": "Επιλέξτε τα πεδία που λείπουν εμφανίζονται στις υπενθυμίσεις του βιβλίου. Αυτό αλλάζει μόνο τις υπενθυμίσεις, όχι τις βαθμολογίες μεταδεδομένων.", + "file-naming": "Μοτίβα ονομάτων φακέλων και αρχείων που χρησιμοποιούνται όταν η BookOrbit μετονομάζει βιβλία στο δίσκο, με μια προεπισκόπηση του αποτελέσματος και τι συμβαίνει όταν λείπει μια τιμή.", + "maintenance": "Οικιακή συντήρηση διακομιστή: το όριο μεγέθους μεταφορτώσεων, τις προηγούμενες εισαγωγές, τις συστάσεις ανακατασκευής, τα επιτεύγματα backfilling και τον έλεγχο για ενημερώσεις.", + "kobo": "Συνδέστε Kobo e-readers, επιλέξτε πώς βιβλία, ράφια και ανάγνωση συγχρονισμού προόδου, και ακολουθήστε την πρόσφατη δραστηριότητα συγχρονισμού κάθε συσκευής.", + "koreader": "Συγχρονισμός προόδου, ανάγνωσης δραστηριότητας και τονισμού με το KOReader, λήψη του URL και του πρόσθετου συγχρονισμού και διαχείριση των συσκευών που συνδέονται.", + "opds": "Ενεργοποιήστε τον κατάλογο OPDS και δημιουργήστε λογαριασμούς, ώστε οι εφαρμογές ανάγνωσης τρίτων να μπορούν να περιηγούνται και να κατεβάζουν τα βιβλία σας.", + "email": "Διαχείριση των βιβλίων διευθύνσεων αποστέλλονται σε, όπως Kindle inboxes, αστέρι το προεπιλεγμένο, και ομάδα παραλήπτες για να στείλετε σε πολλούς ταυτόχρονα.", + "hardcover": "Συνδέστε το λογαριασμό Hardcover σας και επιλέξτε κατά την ανάγνωση κατάστασης, την πρόοδο και το συγχρονισμό αξιολογήσεων, και πώς εμφανίζονται συγχρονισμένα βιβλία εκεί.", + "readwise": "Συνδέστε τον Readwise λογαριασμό σας για να στείλετε αυτόματα τα highlights σας εκεί.", + "storygraph": "Συνδέστε τον λογαριασμό StoryGraph σας χρησιμοποιώντας τα cookies της περιόδου περιήγησης για να συγχρονίσετε την πρόοδο και την κατάσταση ανάγνωσης.", + "users": "Δημιουργήστε και διαχειριστείτε λογαριασμούς, τους ρόλους, τα δικαιώματα και την πρόσβαση στη βιβλιοθήκη, και δείτε ποιοι λογαριασμοί χρειάζονται προσοχή.", + "account-activity": "Δείτε πότε κάθε λογαριασμός ήταν τελευταία ενεργή και πώς υπογράφει, και ανοίξτε την ανάγνωση ανά χρήστη και τη συνεδρία insights.", + "magic-links": "Δημιουργήστε κοινόχρηστους συνδέσμους που υπογράφουν κάποιον χωρίς κωδικό πρόσβασης και ανακαλέστε τους όταν δεν είναι πλέον απαραίτητοι.", + "oidc": "Συνδέστε έναν πάροχο σύνδεσης όπως το Keycloak, χαρτογραφήστε τις αξιώσεις του και αποφασίστε πώς δημιουργούνται νέοι λογαριασμοί.", + "requests": "Όπου η BookOrbit ψάχνει για τα ζητούμενα βιβλία, τα οποία τα κατεβάζουν οι πελάτες και τι συμβαίνει μόλις τελειώσει η λήψη.", + "admin-tts": "Οι αναγνώστες κειμένου-σε-ομιλία μπορούν να χρησιμοποιήσουν για ανάγνωση, τις φωνές που προσφέρονται από κάθε μία, και τη σειρά στην οποία εμφανίζονται.", + "book-dock": "Ο φάκελος Αποβάθρα βιβλίου, αυτόματη λήψη μεταδεδομένων για νέα αρχεία, και το σκορ στο οποίο τα αρχεία οριστικοποιούνται από μόνα τους.", + "server-fonts": "Ανεβάστε τις γραμματοσειρές μια φορά για κάθε αναγνώστη σε αυτόν τον διακομιστή. Κάθε αναγνώστης μπορεί ακόμα να κρύψει οποιαδήποτε από αυτές.", + "audit-log": "Μια αναζήτηση του ποιος άλλαξε τι και πότε, φιλτράρεται από το γεγονός, πρόσωπο, επηρεάζεται στοιχείο και ημερομηνία." + } + }, + "field": { + "required": "(απαιτείται)" + }, + "editor": { + "discardTitle": "Απόρριψη των αλλαγών σας;", + "discardDescription": "Αυτός ο επεξεργαστής έχει αλλαγές που δεν αποθηκεύτηκαν ποτέ. Κλείσιμο τώρα τους πετάει μακριά.", + "discardConfirm": "Απόρριψη αλλαγών", + "moreActions": "Περισσότερες ενέργειες", + "removeQuestion": "Να καταργηθεί αυτό;" } }, "achievements": { @@ -2340,6 +4286,7 @@ "tryAgain": "Προσπαθήστε ξανά", "noMatchFilter": "Κανένα επίτευγμα δεν ταιριάζει με αυτό το φίλτρο", "secretAchievement": "Μυστικό Επιτεύγμα", + "earnedOn": "Κέρδισε {date}", "whileReading": "Κατά την ανάγνωση του “{title}”", "tierProgress": "Βαθμίδα {earned} του {total}", "progressToNext": "{current} / {threshold} έως {name}", @@ -2351,8 +4298,204 @@ }, "filter": { "all": "Όλα", + "earned": "Κερδισμένα ({count})", "inProgress": "Σε Εξέλιξη ({count})", "locked": "Κλειδωμένο ({count})" + }, + "tiersEarnedFact": "{earned} από {total} βαθμίδες", + "loading": "Φόρτωση επιτευγμάτων", + "filters": { + "label": "Φιλτράρισμα επιτευγμάτων", + "all": "Όλα", + "earned": "Κερδισμένα", + "inProgress": "Σε εξέλιξη", + "locked": "Κλειδωμένο" + }, + "showcase": { + "label": "Επισήμανση", + "latest": "Τελευταίο ξεκλείδωμα", + "newToday": "{count, plural, one {# νέο σήμερα} other {# νέο σήμερα}}", + "secretRevealed": "Μυστικό αποκάλυψε", + "categoryAndDate": "{category} · {date}", + "alsoNew": "Επίσης νέο", + "openMedal": "Ανοίξτε το {name}", + "emptyTitle": "Το πρώτο σας μετάλλιο είναι σε αναμονή", + "emptyBody": "Ολοκληρώστε ένα βιβλίο, βαθμολογήστε ένα ή επισημάνετε ένα πέρασμα, και προσγειώνεται εδώ.", + "collection": "Συλλογή", + "shareOfTiers": "{percent} κάθε επιπέδου", + "tiersEarned": "{earned} από {total} βαθμίδες κερδισμένα", + "closest": "Κοντά στο ξεκλείδωμα", + "allInProgress": "Όλα {count}", + "tierOfSet": "Βαθμίδα {tier} του {set}", + "nothingCounting": "Τίποτα δεν μετράει προς ένα μετάλλιο ακόμα." + }, + "shelf": { + "tiers": "{earned} / {total}", + "progressLabel": "Κερδισμένα επίπεδα {category}" + }, + "medal": { + "label": "{name}, {rarity}, {status}", + "tier": "Βαθμίδα {tier}", + "allTiers": "{count, plural, one {Η μόνη βαθμίδα} other {Όλες οι # βαθμίδες}}", + "keepReading": "Συνεχίστε να διαβάζετε", + "notStarted": "Δεν ξεκίνησε" + }, + "progress": { + "generic": "{current} / {threshold}", + "toGo": "{count, plural, one {# για να πάμε} other {# για να πάμε}}" + }, + "hints": { + "howToGetIt": "Πώς να το αποκτήσετε", + "readingPace": "{count, plural, one {Διαβάζετε # ώρα τις τελευταίες {days} Ημέρες.} other {Διαβάζετε # ώρες τις τελευταίες {days} Ημέρες.}}", + "etaDays": "{count, plural, one {Περίπου # μέρα με αυτόν τον ρυθμό.} other {Περίπου # ημέρες με αυτόν τον ρυθμό.}}", + "etaWeeks": "{count, plural, one {Περίπου # εβδομάδα με αυτόν τον ρυθμό.} other {Περίπου # εβδομάδες με αυτόν τον ρυθμό.}}", + "etaMonths": "{count, plural, one {Περίπου # μήνα με αυτόν τον ρυθμό.} other {Περίπου # μήνες με αυτόν τον ρυθμό.}}", + "decadeUnread": "{count, plural, one {# το βιβλίο από το {decade}s περιμένει στα ράφια σας.} other {# τα βιβλία από το {decade}s περιμένουν στα ράφια σας.}}", + "centuryUnread": "{count, plural, one {# το βιβλίο από το {century}s περιμένει στα ράφια σας.} other {# τα βιβλία από το {century}s περιμένουν στα ράφια σας.}}", + "stalled": "Το {title} είναι {percent} διαβασμένο και ξεκίνησε στο {date}.", + "stalledNoProgress": "Ο {title} ξεκίνησε στο {date}.", + "untitledBook": "Ένα βιβλίο σε εξέλιξη", + "nearlyFinished": "{count, plural, one {# το βιβλίο που βρίσκεται σε εξέλιξη έχει περάσει {percent}.} other {# τα βιβλία που βρίσκονται σε εξέλιξη έχουν περάσει από {percent}.}}", + "unratedFinished": "{count, plural, one {# το βιβλίο που έχετε τελειώσει δεν έχει ακόμα βαθμολογία.} other {# βιβλία που έχετε τελειώσει δεν έχουν ακόμα βαθμολογία.}}", + "shortBooks": "{count, plural, one {# βιβλίο κάτω από το {pages} Οι σελίδες περιμένουν στα ράφια σας.} other {# βιβλία κάτω από το {pages} Οι σελίδες περιμένουν στα ράφια σας.}}", + "alreadyStarted": "{count, plural, one {# είναι ήδη σε εξέλιξη.} other {# βρίσκονται ήδη σε εξέλιξη.}}", + "longBooks": "{count, plural, one {# βιβλίο του {pages} σελίδες ή περισσότερες περιμένουν στα ράφια σας.} other {# βιβλία των {pages} σελίδες ή περισσότερες περιμένουν στα ράφια σας.}}", + "oldBooks": "{count, plural, one {# βιβλίο που δημοσιεύθηκε πριν από {year} περιμένει στα ράφια σας.} other {# βιβλία που έχουν δημοσιευθεί πριν από {year} περιμένουν στα ράφια σας.}}", + "authorUnread": "{author}: {finished, plural, one {# τελείωσε} other {# τελείωσε}} {count, plural, one {# περισσότερα στα ράφια σου} other {# περισσότερα στα ράφια σου}}.", + "languageUnread": "{count, plural, one {# βιβλίο σε {language} περιμένει στα ράφια σας.} other {# βιβλία σε {language} περιμένουν στα ράφια σας.}}", + "monthsRead": "{count,plural,one{Έχετε διαβάσει τον # μήνα του {year} μέχρι στιγμής.} other{Έχετε διαβάσει σε # μήνες του {year} μέχρι στιγμής.}}", + "monthsLeft": "{count, plural, one {{months} έχει απομείνει.} other {{months} απομένουν.}}", + "noLongBook": "Κανένα βιβλίο στα ράφια σας δεν έχει {pages} σελίδες ή περισσότερα ακόμα.", + "nothingBeforeYear": "Τίποτα στα ράφια σας δεν δημοσιεύτηκε πριν από τον {year}.", + "tooFewDecades": "{count,plural,one{Τα ράφια σας καλύπτουν μόνο # δεκαετία μέχρι στιγμής.} other{Τα ράφια σας καλύπτουν μόνο # δεκαετίες μέχρι στιγμής.}}", + "tooFewCenturies": "{count,plural,one{Τα ράφια σας καλύπτουν μόνο # αιώνα μέχρι στιγμής.} other{Τα ράφια σας καλύπτουν μόνο # αιώνες μέχρι στιγμής.}}", + "missedMonth": "Δεν έχετε διαβάσει στο {month}, έτσι ο {year} είναι μακριός. Η καταμέτρηση ξεκινά ξανά τον Ιανουάριο.", + "continueReading": "Συνέχεια ανάγνωσης", + "rateFinished": "Βαθμολογήστε ένα ολοκληρωμένο βιβλίο", + "viewAuthor": "Προβολή συγγραφέα", + "openBook": "Ανοίξτε το {title}", + "openUntitledBook": "Άνοιγμα βιβλίου" + }, + "sets": { + "booksFinished": "Τα βιβλία ολοκληρώθηκαν", + "pagesRead": "Αναγνωσμένες σελίδες", + "hoursRead": "Ώρες ανάγνωσης", + "longestBook": "Το μεγαλύτερο βιβλίο τελείωσε", + "librarySize": "Μέγεθος βιβλιοθήκης", + "annotations": "Σημειώσεις", + "booksRated": "Τα βιβλία βαθμολογήθηκαν", + "genresFinished": "Τα είδη ολοκληρώθηκαν", + "languagesFinished": "Οι γλώσσες ολοκληρώθηκαν", + "readingStreak": "Ροδάκινα ανάγνωσης" + }, + "units": { + "books": { + "progress": "{current} / {threshold} βιβλία", + "toGo": "{count, plural, one {# βιβλίο για να πάτε} other {# βιβλία για να πάτε}}" + }, + "pages": { + "progress": "{current} / {threshold} σελίδες", + "toGo": "{count, plural, one {# σελίδα για να πάτε} other {# σελίδες για να πάτε}}" + }, + "hours": { + "progress": "{current} / {threshold} ώρες", + "toGo": "{count, plural, one {# ώρα για να πάμε} other {# ώρες για να πάμε}}" + }, + "annotations": { + "progress": "{current} / {threshold} σημειώσεις", + "toGo": "{count, plural, one {# σημείωση για να πάμε} other {# σχολιασμούς για να πάμε}}" + }, + "ratings": { + "progress": "{current} / {threshold} αξιολογήσεις", + "toGo": "{count, plural, one {# βαθμολογία για να πάμε} other {# βαθμολογίες για να πάμε}}" + }, + "genres": { + "progress": "{current} / {threshold} genres", + "toGo": "{count, plural, one {# είδος για να πάμε} other {# είδη για να πάμε}}" + }, + "languages": { + "progress": "{current} / {threshold} γλώσσες", + "toGo": "{count, plural, one {# γλώσσα για να πάτε} other {# γλώσσες για να πάτε}}" + }, + "days": { + "progress": "{current} / {threshold} ημέρες", + "toGo": "{count, plural, one {# ημέρα για να πάμε} other {# ημέρες για να πάμε}}" + } + }, + "moments": { + "nthBook": "Το βιβλίο {number} ήταν {title}", + "pagesAtUnlock": "{count, plural, one {# σελίδα} other {# σελίδες}} όταν ξεκλειδωθεί", + "hoursAtUnlock": "{count, plural, one {# ώρα} other {# ώρες}} όταν ξεκλειδωθεί", + "titleWithPages": "{title}, {count, plural, one {# σελίδα} other {# σελίδες}}", + "booksAtUnlock": "{count, plural, one {# βιβλίο} other {# βιβλία}} στη βιβλιοθήκη σας όταν ξεκλειδωθεί", + "annotationsAtUnlock": "{count, plural, one {# σημειογραφία} other {# σχολιασμούς}} όταν ξεκλειδωθεί", + "ratingsAtUnlock": "{count, plural, one {# βαθμολογία} other {# βαθμολογίες}} όταν ξεκλειδωθεί", + "genresAtUnlock": "{count, plural, one {# είδος} other {# είδη}} όταν ξεκλειδωθεί", + "languagesAtUnlock": "{count, plural, one {# γλώσσα} other {# γλώσσες}} όταν ξεκλειδωθεί", + "streakAtUnlock": "{count, plural, one {# ημέρα} other {# ημέρες}} διαδοχικά εκείνη την εποχή", + "longSession": "Μία περίοδος λειτουργίας εκτελέστηκε το {duration}", + "durationHours": "{hours} h {minutes} λεπτό", + "durationMinutes": "{minutes} ελάχ", + "sessionStartedAt": "Μια συνεδρία που ξεκίνησε στο {time}", + "oneDayBook": "{title}, ξεκινήστε να τελειώνετε σε μία μέρα", + "booksInWeek": "{count, plural, one {# βιβλίο} other {# βιβλία}} τελείωσε σε μία εβδομάδα", + "booksInMonth": "{count, plural, one {# βιβλίο} other {# βιβλία}} τελείωσε στο {month}", + "booksInYear": "{count, plural, one {# βιβλίο} other {# βιβλία}} τελείωσε στο {year}", + "wholeBookOneSession": "Ένα ολόκληρο βιβλίο σε μία συνεδρία", + "pagesInSession": "{count, plural, one {# σελίδα} other {# σελίδες}} σε μια συνεδρία", + "pagesInDay": "{count, plural, one {# σελίδα} other {# σελίδες}} σε μία μέρα", + "slowBurn": "{title}, τελείωσε μετά από {count, plural, one {# ημέρα} other {# ημέρες}}", + "formatsOwned": "{count, plural, one {# μορφή} other {# μορφές}} στα ράφια σας", + "annotationsWithNote": "{count, plural, one {# σημείωση} other {# σχολιασμούς}} με μια σημείωση", + "annotationsInDay": "{count, plural, one {# σχολιασμός} other {# σχολιασμούς}} σε μία μέρα", + "everyStar": "Κάθε βαθμολογία από ένα αστέρι έως πέντε", + "everyColour": "Χρησιμοποιείται κάθε χρώμα επισήμανσης", + "titlePublished": "{title}, δημοσίευσε το {year}", + "booksInGenre": "{count, plural, one {# βιβλίο} other {# βιβλία}} σε ένα είδος", + "firstInSeries": "{title}, από τη σειρά {series}", + "centuries": "Βιβλία από {count, plural, one {# αιώνα} other {# αιώνες}}", + "booksBySameAuthor": "{count, plural, one {# βιβλίο} other {# βιβλία}} από έναν συγγραφέα", + "decades": "Βιβλία από {count, plural, one {# δεκαετία} other {# δεκαετίες}}", + "shortBooks": "{count, plural, one {# σύντομο βιβλίο} other {# σύντομα βιβλία}} τελείωσε", + "allSeasons": "Και οι τέσσερις εποχές του {year}", + "consistentDays": "{count, plural, one {# ημέρα} other {# ημέρες}} από 30 λεπτά ή περισσότερα", + "weekendsInRow": "{count, plural, one {# Σαββατοκύριακο} other {# Σαββατοκύριακα}}", + "weekendHours": "{count, plural, one {# ώρα} other {# ώρες}} το Σαββατοκύριακο του {date}", + "categoriesCovered": "{count, plural, one {# κατηγορία} other {# κατηγορίες}} με ένα επίτευγμα", + "readingSources": "{count, plural, one {# ανάγνωση πηγαίου κώδικα} other {# ανάγνωση πηγών}}", + "oneBookSources": "Ένα βιβλίο που διαβάστηκε από {count, plural, one {# πηγή} other {# πηγές}}" + }, + "records": { + "title": "Βιβλίο εγγραφών", + "subtitle": "Οι αριθμοί πίσω από τα μετάλλια σας, όπως στάθηκαν όταν ο καθένας ξεκλειδώθηκε", + "value": "{value}", + "oneSession": "Μία συνεδρία ανάγνωσης", + "pagesInSession": "Σελίδες σε μια συνεδρία", + "pagesInDay": "Σελίδες σε μία ημέρα", + "booksInWeek": "Βιβλία σε μία εβδομάδα", + "booksInMonth": "Βιβλία σε {month}", + "booksInYear": "Τα βιβλία ολοκληρώθηκαν στο {year}", + "annotations": "Σημειώσεις", + "genresFinished": "Τα είδη ολοκληρώθηκαν", + "daysInRow": "Ημέρες σε μια σειρά", + "booksInLibrary": "Βιβλία στη βιβλιοθήκη σας" + }, + "detail": { + "categoryTierSet": "{category} · Σετ βαθμίδων", + "secretHint": "Συνεχίστε να διαβάζετε για να αποκαλύψετε αυτό.", + "tierOf": "Βαθμίδα {earned} του {total}", + "current": "Τρέχων", + "noneYet": "Κανένα ακόμα", + "progress": "Πρόοδος", + "allTiersEarned": "Κάθε βαθμίδα κέρδισε", + "tiers": "Βαθμίδες", + "earned": "Κερδισμένα", + "status": "Κατάσταση", + "hidden": "Hidden", + "rarity": "Σπάνια", + "category": "Κατηγορία", + "theSet": "Το σετ", + "theMoment": "Η στιγμή" } }, "adminFeature": { @@ -2423,6 +4566,7 @@ "subtitle": "Διαβάζοντας τις πληροφορίες που αυτός ο χρήστης επέλεξε εθελοντικά να μοιραστεί.", "auditNotice": "Η πρόσβαση σε αυτό το προφίλ καταγράφεται και είναι ορατή στον χρήστη.", "period": "Περίοδος αναφοράς", + "periodDays": "Τελευταίες {count} ημέρες", "durationMinutes": "{count, plural, one {# λεπτό} other {# λεπτά}}", "durationHours": "{count, plural, one {# ώρα} other {# ώρες}}", "metrics": { @@ -2435,8 +4579,12 @@ "trend": "Ημερήσια τάση ανάγνωσης", "emptyTitle": "Καμία δραστηριότητα ανάγνωσης σε αυτήν την περίοδο", "noData": "Δεν έχουν καταγραφεί δεδομένα ανάγνωσης για την περίοδο αυτή.", + "sessionCount": "{count, plural, one {# συνεδρία} other {# συνεδρίες}}", "sourceNames": { "web": "Αναγνώστης ιστού", + "ios": "Εφαρμογή iOS", + "watchos": "Apple Watch", + "android": "Android app", "koreader": "KOReader", "manual": "Χειροκίνητα", "kobo": "Kobo", @@ -2514,14 +4662,47 @@ "presetClearAll": "Εκκαθάριση Όλων", "permissionGroups": { "content": "Περιεχόμενο", + "podcasts": "Podcasts", "devicesAccess": "& Πρόσβαση Συσκευών", "email": "E-mail", "administration": "Χορήγηση", "notifications": "Ειδοποιήσεις", - "restrictions": "Περιορισμοί" + "restrictions": "Περιορισμοί", + "libraryBooks": "Βιβλιοθήκη & Βιβλία", + "bookRequests": "Αιτήσεις Βιβλίου", + "bookDock": "Βάση Βιβλίου", + "devices": "Συσκευές", + "readingIntegrations": "Ανάγνωση Ενσωματώσεων", + "emailNotifications": "Email & Ειδοποιήσεις", + "libraryConfiguration": "Ρύθμιση Βιβλιοθήκης", + "usersSecurity": "Χρήστες & Ασφάλεια", + "system": "Σύστημα" }, + "permissionLevels": { + "use": "Χρήση", + "manage": "Διαχείριση" + }, + "accountRestrictions": "Περιορισμοί Λογαριασμού", + "demoRestrictedHint": "Περιορίζει αυτόν τον λογαριασμό στην περιορισμένη δοκιμαστική εμπειρία.", "superuserTarget": "Superuser Target", "superuserTargetHint": "Οι περιορισμοί περιεχομένου δεν μπορούν να εφαρμοστούν σε υπερχρήστες.", + "superuserAccess": { + "title": "Πρόσβαση υπερχρήστη", + "enabled": "Ενεργοποιημένο", + "disabled": "Απενεργοποιημένο", + "enabledHint": "Αυτός ο λογαριασμός έχει απεριόριστη πρόσβαση στον διακομιστή. Τα αποθηκευμένα του δικαιώματα, οι βιβλιοθήκες και οι περιορισμοί θα εφαρμοστούν ξανά μετά τη δημοτικοποίηση.", + "disabledHint": "Η προώθηση παρέχει απεριόριστη πρόσβαση στο διακομιστή και παρακάμπτει τα δικαιώματα, τις αναθέσεις βιβλιοθηκών και τους περιορισμούς περιεχομένου.", + "selfHint": "Δεν μπορείτε να αλλάξετε τη δική σας πρόσβαση υπερχρήστη.", + "sharedHint": "Οι κοινόχρηστοι λογαριασμοί δεν μπορούν να προωθηθούν σε υπερχρήστη.", + "promote": "Προώθηση σε υπερχρήστη", + "demote": "Αφαίρεση πρόσβασης υπερχρήστη", + "promoteDialogTitle": "Προαγωγή σε υπερχρήστη;", + "promoteDialogBody": "Παραχώρηση {name} απεριόριστη πρόσβαση διακομιστή. Οι ενεργές συνεδρίες τους θα λήξουν και θα πρέπει να εισέλθουν ξανά.", + "demoteDialogTitle": "Κατάργηση πρόσβασης υπερχρήστη;", + "demoteDialogBody": "Αφαιρέστε την απεριόριστη πρόσβαση από το {name}. Τα αποθηκευμένα δικαιώματά τους, οι βιβλιοθήκες και οι περιορισμοί τους θα τεθούν σε ισχύ, και πρέπει να συνδεθούν ξανά.", + "changing": "Ενημέρωση πρόσβασης...", + "changeError": "Αποτυχία ενημέρωσης πρόσβασης υπερχρήστη. Επαναφόρτωση του λογαριασμού και προσπαθήστε ξανά." + }, "noRestrictions": "Δεν υπάρχουν περιορισμοί περιεχομένου", "noRestrictionsHint": "Αυτός ο χρήστης έχει πλήρη πρόσβαση σε όλα τα βιβλία στις βιβλιοθήκες που τους έχουν ανατεθεί.", "addRestrictions": "+ Προσθήκη Περιορισμών Περιεχομένου", @@ -2535,6 +4716,9 @@ "includeGenresHint": "(δείχνουν μόνο βιβλία με αυτά τα είδη)", "excludeGenres": "Εξαίρεση ειδών", "excludeGenresHint": "(απόκρυψη βιβλίων με αυτά τα είδη)", + "seeOwnRequestedBooks": "Αφήστε αυτόν τον χρήστη να δει τα βιβλία που ζήτησε", + "seeOwnRequestedBooksHint": "Τα βιβλία που έφτασαν στα δικά τους αιτήματα αγνοούν τους παραπάνω κανόνες. Απενεργοποιημένα από προεπιλογή.", + "searchTagsPlaceholder": "Αναζήτηση ετικετών...", "searchGenresPlaceholder": "Αναζήτηση ειδών...", "saving": "Αποθηκεύεται...", "errors": { @@ -2544,8 +4728,67 @@ "updateContentFilters": "Αποτυχία ενημέρωσης φίλτρων περιεχομένου", "emailRequired": "Απαιτείται email", "createSharedAccount": "Αποτυχία δημιουργίας κοινόχρηστου λογαριασμού", - "createUser": "Αποτυχία δημιουργίας χρήστη" - } + "createUser": "Αποτυχία δημιουργίας χρήστη", + "nameRequired": "Απαιτείται πλήρες όνομα", + "usernameRequired": "Απαιτείται όνομα χρήστη" + }, + "drawerDescription": "Επεξεργαστείτε το προφίλ αυτού του λογαριασμού, την πρόσβαση, τα δικαιώματα και τους περιορισμούς της βιβλιοθήκης.", + "createHint": "Νέοι λογαριασμοί δεν κατέχουν δικαιώματα μέχρι να τους χορηγήσετε.", + "sectionsLabel": "Ρυθμίσεις λογαριασμού", + "sections": { + "profile": "Προφίλ", + "libraries": "Βιβλιοθήκες", + "permissions": "Δικαιώματα", + "restrictions": "Περιορισμοί" + }, + "sectionSummary": { + "newAccount": "Δεν έχει δημιουργηθεί ακόμα", + "libraries": "{selected} του {total}", + "permissions": "{count, plural, =0 {Δεν χορηγήθηκαν δικαιώματα} one {1} other {# χορηγούνται}}", + "restrictionsNone": "Κανένα", + "restrictionsContent": "Φίλτρα περιεχομένου", + "restrictionsDemo": "Η επίδειξη περιορίστηκε", + "restrictionsBoth": "Φίλτρα και λειτουργία επίδειξης" + }, + "account": "Λογαριασμός", + "status": "Κατάσταση", + "statusHint": "Οι αναρτημένοι χρήστες δεν μπορούν να συνδεθούν ή να συγχρονίσουν συσκευές.", + "signInMethod": "Σύνδεση", + "signInMethods": { + "password": "Κωδικός", + "oidc": "Ενιαία σύνδεση", + "shared": "Magic σύνδεσμος" + }, + "created": "Δημιουργήθηκε", + "lockedUntil": "Κλειδωμένο μέχρι το {time}", + "lockedHint": "Πάρα πολλές αποτυχημένες προσπάθειες σύνδεσης. Ξεκλείδωμα από τη λίστα χρηστών.", + "usernameFixedHint": "Τα ονόματα χρηστών δεν μπορούν να αλλάξουν.", + "emailHint": "Χρησιμοποιείται για επαναφορά κωδικού πρόσβασης και ειδοποιήσεις.", + "libraryAccessHint": "Τα βιβλία έξω από αυτές τις βιβλιοθήκες είναι αόρατα σε αυτόν τον χρήστη.", + "selectAll": "Επιλογή όλων", + "clearAll": "Εκκαθάριση", + "permissionsHint": "Τι επιτρέπεται να κάνει αυτός ο λογαριασμός. Χορηγήθηκε το {granted} του {total}.", + "groupLegend": "{group}: Χορηγήθηκε το {granted} του {total}", + "presets": { + "label": "Προεπιλογή δικαιωμάτων", + "none": "Κανένα", + "standard": "Τυπικό", + "custom": "Προσαρμοσμένο", + "admin": "Διαχειριστής", + "customHint": "Αυτή η επιλογή δεν ταιριάζει με μια προκαθορισμένη ρύθμιση." + }, + "filterPermissions": "Φιλτράρισμα δικαιωμάτων", + "grantedOnly": "Μόνο παραχωρούμενη", + "noPermissionMatches": "Δεν ταιριάζει με αυτό το φίλτρο.", + "clearFilters": "Εκκαθάριση φίλτρων", + "filteredNotice": "Φιλτραρισμένα. Τα δικαιώματα που είναι κρυμμένα διατηρούν την τρέχουσα ρύθμιση τους.", + "contentRestrictionsHint": "Περιορίστε ποια βιβλία μπορεί να δει αυτός ο χρήστης, με ετικέτα ή είδος.", + "contentRestrictionsAfterCreate": "Οι περιορισμοί περιεχομένου μπορούν να οριστούν μόλις ο λογαριασμός υπάρχει.", + "unsavedChanges": "{count, plural, one {1 μη αποθηκευμένη αλλαγή} other {# μη αποθηκευμένες αλλαγές}}", + "libraryBookCount": "{count, plural, =0 {Κανένα βιβλίο} one {1 βιβλίο} other {# βιβλία}}", + "dangerZone": "Ζώνη κινδύνου", + "deleteUserHint": "Αφαιρέστε μόνιμα αυτόν τον λογαριασμό και τα δεδομένα ανάγνωσης του. Τα βιβλία στη βιβλιοθήκη δεν επηρεάζονται.", + "libraryReach": "Αυτός ο λογαριασμός μπορεί να δει τα βιβλία {selected} {total}." }, "usersPage": { "usersTitle": "Χρήστες", @@ -2557,7 +4800,10 @@ "email": "E-mail", "access": "Πρόσβαση", "status": "Κατάσταση", - "actions": "Ενέργειες" + "actions": "Ενέργειες", + "user": "Χρήστης", + "libraries": "Βιβλιοθήκες", + "lastActive": "Τελευταία ενεργή" }, "adminBadge": "Διαχειριστής", "permissionCount": "{count, plural, =0 {Δεν υπάρχουν δικαιώματα} one {ένα δικαίωμα} other {# δικαιώματα}}", @@ -2574,7 +4820,10 @@ "resetPasswordSharedHint": "Οι κοινόχρηστοι λογαριασμοί δεν έχουν κωδικούς πρόσβασης", "resetPasswordOidcHintFull": "Οι χρήστες OIDC επαναφέρουν τους κωδικούς πρόσβασης στον πάροχο ταυτότητάς τους.", "resetPasswordSharedHintFull": "Οι κοινόχρηστοι λογαριασμοί δεν έχουν κωδικούς πρόσβασης.", + "resetPasswordDisabledHintFull": "Η ταυτοποίηση κωδικού πρόσβασης είναι απενεργοποιημένη από τις ρυθμίσεις του διακομιστή.", "deleteUserAction": "Διαγραφή χρήστη", + "deleteDialogTitle": "Διαγραφή χρήστη;", + "deleteDialogBody": "Διαγραφή χρήστη \"{username}\". Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.", "deleting": "Διαγραφή...", "errors": { "load": "Αποτυχία φόρτωσης", @@ -2618,10 +4867,66 @@ }, "pagination": { "label": "Σελιδοποίηση χρηστών", - "page": "Σελίδα {page} του {totalPages}" + "page": "Σελίδα {page} του {totalPages}", + "showing": "Εμφάνιση {shown} του {total} λογαριασμούς" }, + "editUserAria": "Επεξεργασία {name}", "resetPasswordAria": "Επαναφορά κωδικού πρόσβασης για το {name}", - "moreActionsAria": "Περισσότερες ενέργειες για το {name}" + "deleteUserAria": "Διαγραφή {name}", + "moreActionsAria": "Περισσότερες ενέργειες για το {name}", + "headerSummary": "{count, plural, =0 {Κανένας λογαριασμός} one {# λογαριασμός} other {# λογαριασμοί}} · {admins} με πρόσβαση διαχειριστή", + "noEmail": "Καμία διεύθυνση", + "editAccount": "Επεξεργασία λογαριασμού", + "cardMeta": "{access} · {libraries} · {lastActive}", + "accessTier": { + "superuser": "Υπερχρήστης", + "admin": "Διαχειριστής", + "standard": "Τυπικό", + "custom": "Προσαρμοσμένο", + "none": "Καμία πρόσβαση" + }, + "libraries": { + "all": "Όλα {total}", + "some": "{granted} του {total}" + }, + "statusLocked": "Κλειδωμένο", + "status": { + "never": "Ποτέ", + "neverSignedIn": "Δεν έχετε συνδεθεί", + "defaultPassword": "Προεπιλεγμένος κωδικός πρόσβασης", + "contentFiltered": "Φιλτραρισμένο περιεχόμενο", + "unlocksIn": "Ξεκλειδώνει το {when}" + }, + "attention": { + "title": "Χρειάζεται προσοχή", + "count": "{count, plural, one {# λογαριασμός} other {# λογαριασμοί}}", + "filter": "{count, plural, one {# χρειάζεται προσοχή} other {# χρειάζονται προσοχή}}", + "more": "{count} περισσότερα δεν εμφανίζονται εδώ", + "reason": { + "locked": "Το {name} είναι κλειδωμένο μετά από πάρα πολλές αποτυχημένες υπογραφές", + "neverSignedIn": "Το {name} δεν έχει συνδεθεί ποτέ", + "defaultPassword": "Το {name} εξακολουθεί να χρησιμοποιεί τον κωδικό πρόσβασης με τον οποίο ο λογαριασμός δημιουργήθηκε" + }, + "detail": { + "unlocksIn": "Ξεκλειδώνει αυτόματα {when}", + "created": "Δημιουργήθηκε το {when}", + "linkExpired": "Δημιουργήθηκε {when} · ο σύνδεσμος σύνδεσης έχει λήξει", + "linkValid": "Δημιουργήθηκε {when} · σύνδεση σύνδεσμος ισχύει μέχρι {expiry}" + }, + "action": { + "unlock": "Ξεκλείδωμα τώρα", + "sendResetLink": "Αποστολή συνδέσμου επαναφοράς", + "sendNewLink": "Αποστολή νέου συνδέσμου" + }, + "collapse": "Απόκρυψη", + "expand": "Εμφάνιση" + }, + "defaults": { + "title": "Προεπιλογές για νέους λογαριασμούς", + "appliesTo": "Ισχύει για αυτο-εγγραφή και OIDC", + "startingLibraries": "Εκκίνηση βιβλιοθηκών", + "startingLibrariesHint": "Η πρόσβαση του προβολέα χορηγείται αυτόματα σε κάθε νέο λογαριασμό." + } } }, "annotations": { @@ -2645,10 +4950,12 @@ "pageSelected": "Επιλέχθηκε σελίδα", "selectPage": "Επιλέξτε σελίδα", "clear": "Εκκαθάριση", + "recolorTo": "Επαναχρωμία σε {color}", "restyleTo": "Restyle στο {style}" }, "chips": { "active": "Ενεργό:", + "removeFilter": "Αφαιρέστε το φίλτρο {label}", "clearAll": "Εκκαθάριση όλων" }, "filters": { @@ -2676,6 +4983,8 @@ "noStoredPositions": "Δεν υπάρχουν αποθηκευμένες θέσεις.", "notSynced": "Δεν έχει συγχρονιστεί σε καμία συσκευή ακόμα.", "upToDate": "Μέχρι σήμερα", + "pendingVersion": "Εκκρεμεί v{version}", + "syncedAt": "συγχρονισμένο {date}", "format": { "webReader": "Αναγνώστης ιστού", "koreader": "KOReader", @@ -2699,6 +5008,8 @@ "comfortableView": "Άνετη προβολή" }, "listItem": { + "pageNumber": "σελ. {page}", + "chapterNumber": "κεφάλαιο {chapter}", "selectAnnotation": "Επιλογή σημείωσης", "collapse": "Σύμπτυξη", "expand": "Ανάπτυξη", @@ -2720,6 +5031,7 @@ }, "hub": { "title": "Σημειώσεις", + "totalCount": "{count} σύνολο", "bookCount": "{count, plural, =0 {Δεν υπάρχουν βιβλία} one {# βιβλίο} other {# βιβλία}}", "noteCount": "{count, plural, =0 {Δεν υπάρχουν σημειώσεις} one {# σημειώστε} other {# σημειώσεις}}", "export": "Εξαγωγή", @@ -2739,7 +5051,16 @@ "noMatch": "Δεν υπάρχουν επισημάνσεις ταιριάζουν με τα φίλτρα σας.", "resetFilters": "Επαναφορά φίλτρων", "trashEmpty": "Ο κάδος απορριμμάτων είναι άδειος", - "noAnnotations": "Δεν υπάρχουν σχολιασμοί ακόμα. Τα κύρια σημεία που δημιουργείτε στο διαδίκτυο ή το e-reader σας εμφανίζονται εδώ." + "noAnnotations": "Δεν υπάρχουν σχολιασμοί ακόμα. Τα κύρια σημεία που δημιουργείτε στο διαδίκτυο ή το e-reader σας εμφανίζονται εδώ.", + "noMatchHint": "Δοκιμάστε μια μικρότερη φράση, ή καθαρίστε το χρώμα και τα φίλτρα βιβλίων.", + "noAnnotationsBody": "Όλα όσα σημειώνετε, σε οποιοδήποτε βιβλίο και σε οποιαδήποτε συσκευή, συλλέγουν εδώ.", + "readHere": "Διαβάστε εδώ", + "readHereBody": "Επιλέξτε κείμενο στον αναγνώστη και επιλέξτε ένα χρώμα.", + "syncKobo": "Sync a Kobo", + "syncKoboBody": "Σημάδια που έγιναν στη συσκευή φθάνουν στον επόμενο συγχρονισμό.", + "syncKoreader": "Συγχρονισμός KOReader", + "syncKoreaderBody": "Το πρόσθετο φορτώνει σημειώσεις με τις θέσεις του.", + "goToLibrary": "Μετάβαση στη βιβλιοθήκη" }, "toast": { "movedToTrash": "Μεταφέρθηκε στον κάδο απορριμμάτων", @@ -2749,8 +5070,70 @@ "bulkTrashed": "{count, plural, =0 {Δεν μετακινήθηκαν σχολιασμοί στα σκουπίδια} one {Μετακινήθηκε # σχολιασμός στα σκουπίδια} other {Μετακινήθηκε # σχολιασμοί στα σκουπίδια}}", "bulkRestored": "{count, plural, =0 {Δεν επαναφέρθηκε καμία σχολιασμό} one {Επαναφορά # σημείωσης} other {Επαναφορά # σχολιασμών}}", "bulkRecolored": "{count, plural, =0 {Δεν έχουν σχολιασμούς} one {Ανακαινισμένο # σχολιασμό} other {Ανακαλυπτόμενες # σχολιασμούς}}", - "bulkRestyled": "{count, plural, =0 {Αποτυπώθηκε καμία σχολιασμό} one {Επαναρτυμένο # σχολιασμό} other {Επανακεντρωμένο # σχολιασμούς}}" - } + "bulkRestyled": "{count, plural, =0 {Αποτυπώθηκε καμία σχολιασμό} one {Επαναρτυμένο # σχολιασμό} other {Επανακεντρωμένο # σχολιασμούς}}", + "noteSaved": "Η σημείωση αποθηκεύτηκε" + }, + "railTitle": "{marks} σημάδια · {books} βιβλία", + "lastTwelveMonths": "Τελευταίοι 12 μήνες", + "colour": "Χρώμα", + "whereFrom": "Από πού προέρχονταν", + "theShelf": "Το ράφι", + "devices": "Συσκευές", + "allBooks": "Όλα τα {count} βιβλία", + "behindCount": "{count, plural, one {# πίσω από} other {# πίσω από}}", + "busiestWeek": "Μεγαλύτερη εβδομάδα", + "longestQuiet": "Μακρύτερο ήσυχο τέντωμα", + "mostMarked": "Πιο σημειωμένο", + "weekCount": "{count, plural, one {# εβδομάδα} other {# εβδομάδες}}", + "anchorsUnplaced": "{count, plural, one {# δεν ήταν δυνατή η τοποθέτηση άγκυρας} other {# δεν ήταν δυνατή η τοποθέτησή τους}}", + "reviewThem": "Εξετάστε τα", + "anchorLost": "Αγκύρωμα χάθηκε", + "anchorRepaired": "Επανασύνδεση", + "notes": "Σημειώσεις", + "review": "Επανεξέταση", + "viewLabel": "Ομάδα και ταξινόμηση", + "views": { + "newest": "Νεότερα πρώτα", + "oldest": "Παλαιότερα πρώτα", + "book": "Κατά βιβλίο", + "color": "Κατά χρώμα", + "source": "Ανά πηγή" + }, + "matchCount": "{shown} του {total}", + "moreActions": "Περισσότερες ενέργειες", + "loadMore": "{count, plural, one {Φορτώστε 1 ακόμα} other {Φορτώστε # περισσότερα}}", + "openBook": "Άνοιγμα βιβλίου", + "noteLabel": "Σημείωση", + "yourNote": "Η σημείωσή σας", + "notePlaceholder": "Πείτε γιατί αυτό ταίριαζε.", + "openAtThisPage": "Άνοιγμα σε αυτή τη σελίδα", + "positionAndSync": "Θέση & συγχρονισμός", + "loadFailed": "Δεν ήταν δυνατή η φόρτωση των επισημάνσεών σας. Δοκιμάστε ξανά σε λίγο.", + "chips": { + "dateBetween": "{from} έως {to}", + "dateFrom": "Από το {from}", + "dateUntil": "Μέχρι το {to}" + }, + "activitySummary": "{count, plural, one {# επισημάνετε μεταξύ {from} και {to}} other {# τονίζει μεταξύ {from} και {to}}}", + "book": "Βιβλίο", + "needsReview": "Χρειάζεται αναθεώρηση" + }, + "sources": { + "web": "Ιστός", + "koreader": "KOReader", + "kobo": "Kobo" + }, + "colors": { + "yellow": "Κίτρινο", + "green": "Πράσινο", + "blue": "Μπλε", + "pink": "Ροζ", + "orange": "Πορτοκαλί", + "red": "Κόκκινο", + "olive": "Ελιές", + "cyan": "Κυανό", + "purple": "Μωβ", + "gray": "Γκρι" } }, "audit": { @@ -2766,6 +5149,7 @@ "hideDetails": "Απόκρυψη λεπτομερειών", "refresh": "Ανανέωση αρχείου καταγραφής ελέγχου", "loadError": "Αδυναμία φόρτωσης συμβάντων ελέγχου.", + "removeFilter": "Αφαιρέστε το φίλτρο: {value}", "allActions": "Όλες οι ενέργειες", "allEventTypes": "Όλοι οι τύποι εκδηλώσεων", "allActors": "Όλοι οι παράγοντες", @@ -2780,6 +5164,8 @@ "today": "Σήμερα", "sevenDays": "7 ημέρες", "thirtyDays": "30 ημέρες", + "userId": "Χρήστης #{id}", + "userIdCompact": "#{id}", "targetAdditional": "και {count, plural, one {# περισσότερο στόχος} other {# περισσότεροι στόχοι}}", "bookImpact": "{count, plural, one {# βιβλίο} other {# βιβλία}}", "entryDetailsLabel": "Λεπτομέρειες για την εκδήλωση ελέγχου #{id}", @@ -2794,12 +5180,26 @@ "detailResourceIdLabel": "Id Πόρου", "detailTargetTypeLabel": "Target type", "detailTargetIdLabel": "Target ID", + "detailAction": "Δράση: {value}", + "detailIp": "IP: {value}", + "detailResource": "Πηγή: {value}", + "detailResourceId": "Αναγνωριστικό πόρου: {value}", "deletedBooks": "Διαγραμμένα βιβλία", + "deletedBookDetail": "{title} (βιβλίο #{id})", "untitledBook": "Άτιτλο", "deletedBooksOmitted": "{count, plural, one {# το πρόσθετο βιβλίο παρέλειψε} other {# επιπλέον βιβλία που παραλείφθηκαν}}", "showing": "Εμφάνιση {from}-{to} του {total}", + "prev": "Προηγ", "chips": { - "targetType": "Target type: {value}" + "search": "Αναζήτηση: {value}", + "action": "Δράση: {value}", + "eventType": "Τύπος εκδήλωσης: {value}", + "actor": "Ηθοποιός: {value}", + "resource": "Πηγή: {value}", + "targetType": "Target type: {value}", + "user": "Χρήστης: {value}", + "from": "Από: {value}", + "to": "Προς: {value}" }, "filterLabels": { "search": "Αναζήτηση συμβάντων", @@ -2807,6 +5207,7 @@ "eventType": "Τύπος συμβάντος (τι συνέβη)", "actor": "Ηθοποιός", "resource": "Πόρος", + "targetType": "Τύπος στόχου (τι επηρεάστηκε)", "userId": "Id Χρήστη", "from": "Από", "to": "Προς" @@ -2826,7 +5227,13 @@ "user": "Χρήστης", "action": "Ενέργεια", "description": "Περιγραφή", - "ip": "IP" + "ip": "IP", + "time": "Ώρα", + "person": "Πρόσωπο", + "source": "Πηγή", + "open": "Άνοιγμα", + "network": "Δίκτυο", + "activity": "Δραστηριότητα" }, "categories": { "authentication": "Ταυτοποίηση", @@ -2836,15 +5243,23 @@ "collections": "Συλλογές", "integrations": "Ενσωματώσεις", "settings": "Ρυθμίσεις", - "other": "Άλλο" + "other": "Άλλο", + "access": "Σύνδεση & πρόσβαση", + "requests": "Αιτήματα", + "devices": "& Email συσκευών" }, "resourceLabels": { "User": "Χρήστης", "Library": "Βιβλιοθήκη", "Book": "Βιβλίο", + "Podcast": "Podcast", + "PodcastEpisode": "επεισόδιο Podcast", "Collection": "Συλλογή", "SmartScope": "Έξυπνο πεδίο εφαρμογής", "BookDockFile": "Αρχείο βάσης δεδομένων", + "BookRequest": "Αίτημα για κράτηση", + "DownloadClient": "Λήψη πελάτη", + "RequestIndexer": "Ευρετήριο", "Author": "Συγγραφέας", "AppSettings": "Ρυθμίσεις εφαρμογής", "Genre": "Είδος", @@ -2902,6 +5317,18 @@ "LibraryAccessRevoke": "Ανάκληση πρόσβασης βιβλιοθήκης", "LibraryWriteMetadataToFiles": "Εγγραφή μεταδεδομένων σε αρχεία", "LibraryBulkRename": "Μετονομασία αρχείων βιβλιοθήκης", + "LibraryRecomputeAddedAt": "Προϋπόθεση ημερομηνίας προστέθηκε", + "PodcastCreate": "Δημιουργία podcast", + "PodcastUpdate": "Ενημέρωση podcast", + "PodcastArchive": "Αρχειοθέτηση podcast", + "PodcastRestore": "Επαναφορά podcast", + "PodcastPurge": "Καθαρισμός podcast", + "PodcastMerge": "Συγχώνευση podcast", + "PodcastDownload": "Λήψη επεισοδίου podcast", + "PodcastDownloadRemove": "Αφαίρεση λήψης podcast", + "PodcastRetentionUpdate": "Ενημέρωση διατήρησης podcast", + "PodcastOpmlImport": "Εισαγωγή podcast OPML", + "PodcastOpmlExport": "Εξαγωγή podcast OPML", "BookUpload": "Μεταφόρτωση βιβλίου", "BookMetadataUpdate": "Ενημέρωση μεταδεδομένων βιβλίου", "BookMetadataLocksUpdate": "Ενημέρωση κλειδαριών μεταδεδομένων", @@ -2927,6 +5354,24 @@ "SmartScopeUpdate": "Ενημέρωση έξυπνου φάσματος", "SmartScopeDelete": "Διαγραφή έξυπνου πεδίου", "BookDockFinalize": "Τελικοποίηση αρχείου προσάρτησης βιβλίου", + "BookRequestCreate": "Δημιουργία αιτήματος βιβλίου", + "BookRequestApprove": "Αίτημα έγκρισης βιβλίου", + "BookRequestReject": "Απόρριψη αιτήματος βιβλίου", + "BookRequestCancel": "Ακύρωση αιτήματος βιβλίου", + "BookRequestFulfill": "Αίτημα πλήρωσης βιβλίου", + "BookRequestGrab": "Στείλτε αίτημα βιβλίου σε έναν πελάτη λήψης", + "BookRequestImport": "Εισαγωγή ενός αιτήματος βιβλίου", + "BookRequestRemoveDownload": "Αφαίρεση αιτήματος βιβλίου από τον πελάτη", + "BookRequestDelete": "Διαγραφή αιτήματος βιβλίου", + "DownloadClientCreate": "Δημιουργία πελάτη λήψης", + "DownloadClientUpdate": "Ενημέρωση πελάτη λήψης", + "DownloadClientDelete": "Διαγραφή πελάτη λήψεων", + "RequestIndexerCreate": "Ο δείκτης προστέθηκε", + "RequestIndexerUpdate": "Το ευρετήριο ενημερώθηκε", + "RequestIndexerDelete": "Η πηγή διαγράφηκε", + "RequestIndexerPluginInspect": "Επιθεωρήθηκε πρόσθετο ευρετηρίου", + "RequestIndexerPluginInstall": "Εγκατεστημένο πρόσθετο ευρετηρίου", + "RequestIndexerPluginRemove": "Το πρόσθετο ευρετηρίου διαγράφηκε", "AuthorUpdate": "Ενημέρωση συγγραφέα", "AuthorDelete": "Διαγραφή συγγραφέα", "AuthorMerge": "Συγχώνευση συγγραφέων", @@ -2961,11 +5406,182 @@ "EmailRecipientGroupUpdate": "Ενημέρωση ομάδας αποδεκτών", "EmailRecipientGroupDelete": "Διαγραφή ομάδας παραληπτών", "EmailRecipientGroupMemberAdd": "Προσθήκη παραλήπτη στην ομάδα", - "EmailRecipientGroupMemberRemove": "Αφαίρεση παραλήπτη από την ομάδα" - } + "EmailRecipientGroupMemberRemove": "Αφαίρεση παραλήπτη από την ομάδα", + "MaintenanceMissingBooksClean": "Καθαρισμένα βιβλία που λείπουν", + "MaintenanceBrokenCoversClean": "Καθαρισμένα σπασμένα καλύμματα", + "MaintenanceOrphanedCoversClean": "Καθαρισμένοι ορφανά φάκελοι κάλυψης" + }, + "views": { + "label": "Εμφάνιση", + "changes": "Αλλαγές", + "signins": "Υπογραφές", + "security": "Ασφάλεια", + "all": "Όλα" + }, + "search": { + "label": "Αναζήτηση συμβάντων", + "placeholder": "Αναζήτηση ατόμων, στόχων ή διευθύνσεων IP", + "placeholderShort": "Αναζήτηση συμβάντων" + }, + "range": { + "label": "Date range: {range}", + "today": "Σήμερα", + "7d": "Τελευταίες 7 ημέρες", + "30d": "Τελευταίες 30 ημέρες", + "all": "Όλα διατηρούνται", + "custom": "Προσαρμοσμένο εύρος", + "from": "Από", + "to": "Προς", + "between": "{from} έως {to}", + "since": "Από {date}", + "until": "Μέχρι το {date}", + "sinceOldest": "Από {date}" + }, + "filterMenu": { + "button": "Φίλτρα", + "category": "Κατηγορία", + "person": "Πρόσωπο", + "findPerson": "Βρείτε ένα άτομο", + "noPeople": "Δεν υπάρχουν ταιριαστά άτομα", + "clear": "Εκκαθάριση", + "done": "Ολοκληρώθηκε" + }, + "activeFilters": { + "target": "{type}: {name}", + "clearAll": "Εκκαθάριση όλων" + }, + "securityGroups": { + "label": "Τύπος συμβάντος ασφαλείας", + "all": "Όλα", + "failed": "Αποτυχημένες συνδέσεις", + "accounts": "Λογαριασμοί", + "passwords": "Κωδικοί", + "permissions": "Δικαιώματα", + "access": "Πρόσβαση βιβλιοθήκης", + "links": "Σύνδεση συνδέσμων" + }, + "day": { + "today": "Σήμερα", + "yesterday": "Χθες", + "changes": "{count, plural, one {# αλλάξτε} other {# αλλάζει}}", + "events": "{count, plural, one {# εκδήλωση} other {# συμβάντα}}" + }, + "person": { + "system": "Σύστημα", + "deleted": "Διαγραμμένος λογαριασμός", + "automation": "Αυτοματισμός" + }, + "source": { + "server": "Αυτός ο διακομιστής", + "local": "Τοπικό δίκτυο", + "internet": "Διαδίκτυο", + "job": "Εργασία παρασκηνίου", + "unknown": "Δεν έχει καταγραφεί" + }, + "target": { + "none": "No target", + "more": "+{count}", + "sinceDeleted": "Από διαγράφηκε", + "withId": "{type} #{id}" + }, + "openEvent": "Ανοιχτές λεπτομέρειες: {event}", + "signIns": { + "signIns": "{count, plural, one {# συνδεθείτε} other {# εγγραφές}}", + "signOuts": "{count, plural, one {# σύνδεση-out} other {# υπογραφές}}", + "failed": "{count, plural, one {# απέτυχε προσπάθεια} other {# αποτυχημένες προσπάθειες}}", + "failedAs": "{count, plural, one {# απέτυχε ως {names}} other {# απέτυχε ως {names}}}", + "range": "{from} – {to}", + "footer": "{count, plural, one {{events} Συμβάντα σύνδεσης, διπλωμένα σε # σειρά ανά άτομο, ημέρα και δίκτυο} other {{events} συμβάντα σύνδεσης, διπλωμένα σε # σειρές κατά άτομο, ημέρα και δίκτυο}}" + }, + "pager": { + "label": "Σελίδες", + "previous": "Προηγούμενη σελίδα", + "next": "Επόμενη σελίδα", + "page": "Σελίδα {page}", + "changes": "{from}–{to} από {count, plural, one {# αλλάξτε} other {# αλλάζει}}", + "events": "{from}–{to} από {count, plural, one {# event} other {# events}}" + }, + "drawer": { + "description": "Λεπτομέρειες ενός γεγονότος ελέγχου", + "close": "Κλείσιμο", + "subtitle": "{category} · {day}, {time}", + "when": "Πότε", + "person": "Πρόσωπο", + "source": "Πηγή", + "target": "Target", + "usernameTried": "Το όνομα χρήστη δοκιμάστηκε", + "deletedHere": "{type} · διαγράφηκε από αυτό το συμβάν", + "deletedSince": "{type} · από τότε που διαγράφηκε", + "inThisRow": "{count, plural, one {# συμβάν σε αυτή τη σειρά} other {# συμβάντα σε αυτή τη σειρά}}", + "around": "Γύρω από αυτό το γεγονός", + "aroundHint": "{name}, 40 λεπτά κάθε πλευρά", + "aroundEmpty": "Τίποτα άλλο από το {name} μέσα σε 40 λεπτά.", + "history": "Ιστορικό", + "historyCount": "{count, plural, one {# εκδήλωση} other {# συμβάντα}}", + "historyMeta": "{name} · {date}, {time}", + "thisEvent": "Αυτό το συμβάν", + "raw": "Ακατέργαστο συμβάν", + "rawEventId": "Id Συμβάντος", + "rawAction": "Ενέργεια", + "rawTarget": "Target type", + "rawNote": "Σημείωση διακομιστή", + "only": "Μόνο {name}" + }, + "facts": { + "format": "Μορφή", + "size": "Μέγεθος", + "download": "Λήψη", + "dockFile": "Αρχείο βάσης δεδομένων", + "rejected": "Απορρίφθηκε", + "failed": "Απέτυχε", + "cleaned": "Εκκαθάριση", + "skipped": "Παράλειψη", + "remaining": "Απομένουν", + "sharingLevel": "Επίπεδο κοινής χρήσης", + "sharing": { + "private": "Δεν μοιράστηκε", + "summary": "Summary", + "detailed": "Λεπτομερής" + } + }, + "retention": { + "button": "{count, plural, one {Απέκλεισε για # ημέρα} other {Απέκτησε για # ημέρες}}", + "title": "Διατήρηση συμβάντων για", + "days": "{count, plural, one {# ημέρα} other {# ημέρες}}", + "hint": "Τα μεγαλύτερα γεγονότα διαγράφονται κάθε βράδυ τα μεσάνυχτα.", + "hintWithOldest": "Τα παλαιότερα συμβάντα διαγράφονται κάθε βράδυ τα μεσάνυχτα. Το παλαιότερο συμβάν που διατηρείται είναι από το {date}.", + "readOnly": "Μόνο άτομα που μπορούν να αλλάξουν τις ρυθμίσεις εφαρμογών μπορούν να τις αλλάξουν.", + "saved": "{count, plural, one {Τα γεγονότα ελέγχου κρατούνται για # μέρα.} other {Τα γεγονότα ελέγχου κρατούνται για # ημέρες.}}", + "saveFailed": "Δεν ήταν δυνατή η αλλαγή του χρόνου διατήρησης των γεγονότων." + }, + "export": { + "button": "Εξαγωγή", + "title": "Εξαγωγή αυτού που εμφανίζεται", + "hint": "Χρησιμοποιεί την τρέχουσα προβολή, φίλτρα και εύρος ημερομηνιών.", + "csv": "CSV", + "json": "JSON", + "failed": "Δεν ήταν δυνατή η εξαγωγή του αρχείου καταγραφής ελέγχου." + }, + "emptyFiltered": "Δεν υπάρχουν συμβάντα που να ταιριάζουν με αυτά τα φίλτρα." }, "auth": { "backToSignIn": "Πίσω για είσοδο", + "plate": { + "exLibris": "Ex Libris" + }, + "endpaper": { + "change": "Αλλαγή endpaper", + "options": { + "seigaiha": "Κύματα", + "shippo": "Συνδεδεμένοι κύκλοι", + "asanoha": "Φύλλο κάνναβης", + "quatrefoil": "Quatrefoil", + "ogee": "Ogee", + "harlequin": "Harlequin", + "greekKey": "Ελληνικό κλειδί", + "plain": "Απλό" + } + }, "themePicker": { "switchToLight": "Εναλλαγή στο φως", "switchToDark": "Εναλλαγή σε σκοτεινό", @@ -2983,7 +5599,10 @@ "confirmPassword": "Επιβεβαίωση κωδικού πρόσβασης", "confirmNewPassword": "Επιβεβαίωση νέου κωδικού πρόσβασης", "currentPassword": "Τρέχων κωδικός πρόσβασης", - "passwordHint": "Ελάχ. 8 χαρακτήρες με κεφαλαία, πεζά, και ένα ψηφίο" + "passwordHint": "Ελάχ. 8 χαρακτήρες με κεφαλαία, πεζά, και ένα ψηφίο", + "showPassword": "Εμφάνιση κωδικού πρόσβασης", + "hidePassword": "Απόκρυψη κωδικού πρόσβασης", + "capsLockOn": "Το Caps Lock είναι ενεργό" }, "errors": { "generic": "Κάτι πήγε στραβά. Παρακαλώ προσπαθήστε ξανά.", @@ -2994,11 +5613,17 @@ "signIn": "Σύνδεση", "signingIn": "Γίνεται σύνδεση...", "orDivider": "ή", + "forgotPassword": "Ξεχάσατε τον κωδικό πρόσβασης;", + "resetPasswordAction": "Επαναφορά κωδικού πρόσβασης", + "noAccount": "Δεν έχετε λογαριασμό;", "signUp": "Εγγραφείτε", "registeredNotice": "Ο λογαριασμός που δημιουργήθηκε. Συνδεθείτε για να συνεχίσετε. Ένας διαχειριστής πρέπει να παραχωρήσει δικαιώματα για να μπορέσετε να αποκτήσετε πρόσβαση στη βιβλιοθήκη.", + "resetNotice": "Ο κωδικός πρόσβασης ενημερώθηκε. Συνδεθείτε με το νέο κωδικό πρόσβασης.", "errors": { "invalidCredentials": "Μη έγκυρο όνομα χρήστη ή κωδικός πρόσβασης", "tooManyAttempts": "Πάρα πολλές προσπάθειες σύνδεσης. Παρακαλώ περιμένετε ένα λεπτό και προσπαθήστε ξανά.", + "passwordDisabled": "Η σύνδεση με τον κωδικό πρόσβασης είναι απενεργοποιημένη. Χρησιμοποιήστε μια υπηρεσία παροχής μόνο για την υπογραφή.", + "optionsUnavailable": "Δεν ήταν δυνατή η φόρτωση των επιλογών σύνδεσης. Ανανεώστε τη σελίδα ή επικοινωνήστε με το διαχειριστή.", "accountLocked": "Ο κωδικός πρόσβασής σας είναι σωστός, αλλά αυτός ο λογαριασμός είναι προσωρινά κλειδωμένος μετά από πάρα πολλές αποτυχημένες προσπάθειες σύνδεσης. Δοκιμάστε ξανά σε {minutes, plural, one {# λεπτό} other {# λεπτά}}ή επαναφέρετε τον κωδικό πρόσβασής σας για να τον ξεκλειδώσετε τώρα." } }, @@ -3045,6 +5670,7 @@ "subtitle": "Εγγραφείτε για να ξεκινήσετε.", "createAccount": "Δημιουργία λογαριασμού", "creatingAccount": "Δημιουργία λογαριασμού...", + "haveAccount": "Έχετε ήδη λογαριασμό;", "signIn": "Σύνδεση", "errors": { "closed": "Η αυτο-εγγραφή δεν είναι ανοιχτή σε αυτόν το διακομιστή.", @@ -3092,15 +5718,25 @@ }, "author": { "card": { + "portraitAlt": "{name} πορτρέτο", "viewDetails": "Προβολή Λεπτομερειών Συγγραφέα", "refreshMetadata": "Ανανέωση Μεταδεδομένων", "deleteAuthor": "Διαγραφή Συγγραφέα" }, "filters": { - "allLibraries": "Όλες Οι Βιβλιοθήκες" + "allLibraries": "Όλες Οι Βιβλιοθήκες", + "chips": { + "groupLabel": "Φιλτράρισμα συγγραφέων", + "all": "Όλα", + "noPortrait": "Χωρίς πορτρέτο", + "multipleBooks": "2+ βιβλία", + "recentlyAdded": "Προστέθηκε αυτή την εβδομάδα", + "noSortName": "Χωρίς όνομα ταξινόμησης" + } }, "header": { "never": "Ποτέ", + "portraitAlt": "{name} πορτρέτο", "actions": "Ενέργειες", "editAuthor": "Επεξεργασία Συγγραφέα", "mergeAuthors": "Συγχώνευση Συγγραφέων", @@ -3145,6 +5781,8 @@ "hint": "Δοκιμάστε να αλλάξετε το φίλτρο κειμένου αναζήτησης, ταξινόμησης ή βιβλιοθήκης." }, "deleteDialog": { + "titleOne": "Διαγραφή συγγραφέα;", + "titleMany": "Διαγραφή συντακτών {count};", "descriptionOne": "Αυτό αφαιρεί τον συγγραφέα από τον κατάλογο και τον αποσυνδέει από τα συνδεδεμένα βιβλία. Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.", "descriptionMany": "Αυτό αφαιρεί τους επιλεγμένους συγγραφείς από τον κατάλογο και τους αποσυνδέει από τα συνδεδεμένα βιβλία. Αυτή η ενέργεια δεν μπορεί να αναιρεθεί." }, @@ -3152,9 +5790,12 @@ "selectVisible": "Επιλογή ορατού", "refreshMetadata": "Ανανέωση μεταδεδομένων", "refreshingMetadata": "Ανανέωση μεταδεδομένων...", + "confirmRefreshCount": "{count,plural,one{Ανανέωση μεταδεδομένων για τον συγγραφέα #;} other{Ανανέωση μεταδεδομένων για συντάκτες #;}}", + "refreshAction": "Ανανέωση", "deleteSelected": "Διαγραφή επιλεγμένων", "deleting": "Διαγραφή...", - "exitSelection": "Έξοδος από επιλογή" + "exitSelection": "Έξοδος από επιλογή", + "confirmDeleteCount": "{count,plural,one{Διαγραφή του συγγραφέα #;} other{Διαγραφή συντακτών #;} =0{Διαγραφή του συγγραφέα #;}}" }, "toast": { "refreshed": "Ανανεώθηκε τα μεταδεδομένα του συγγραφέα", @@ -3170,6 +5811,7 @@ "detail": { "pageTitle": "Συγγραφέας", "pageTitleNamed": "Συγγραφέας · {name}", + "pageTitleId": "Συγγραφέας #{id}", "entityName": "Συγγραφέας", "loadingAuthor": "Φόρτωση συγγραφέα...", "previewError": "Δεν ήταν δυνατή η φόρτωση μεταδεδομένων εξωτερικής προεπισκόπησης συγγραφέα αυτή τη στιγμή.", @@ -3183,21 +5825,26 @@ "uploadImage": "Μεταφόρτωση εικόνας", "removing": "Κατάργηση...", "removeImage": "Remove image", + "imageHint": "PNG/JPEG/WEBP/GIF/BMP έως {size} MB", "saving": "Αποθηκεύεται..." }, "merge": { "searchPlaceholder": "Αναζήτηση συγγραφέων για συγχώνευση σε αυτόν τον συγγραφέα", "searching": "Αναζήτηση...", "bookCount": "{count, plural, =0 {Δεν υπάρχουν βιβλία} one {# βιβλίο} other {# βιβλία}}", + "selectedSummary": "Επιλεγμένοι δημιουργοί {count}, περ. Τα βιβλία {books} επηρεάζονται.", "merging": "Συγχώνευση...", "mergeSelected": "Συγχώνευση Επιλεγμένων", "confirmLabel": "Συγχώνευση" }, "mergeDialog": { + "title": "Συγχώνευση δημιουργών {count} σε \"{name}\";", + "titleFallback": "Συγχώνευση επιλεγμένων συγγραφέων;", "description": "Αυτό θα συγχωνεύσει τους επιλεγμένους συγγραφείς με τον τρέχοντα συγγραφέα και θα επανασυνδέσει τα συνδεδεμένα βιβλία. Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.", "descriptionEmpty": "Αυτή η ενέργεια δεν μπορεί να αναιρεθεί." }, "deleteDialog": { + "title": "Διαγραφή συγγραφέα;", "description": "Αυτό αφαιρεί τον συγγραφέα από τον κατάλογο και τον αποσυνδέει από τα συνδεδεμένα βιβλία. Αυτή η ενέργεια δεν μπορεί να αναιρεθεί." }, "books": { @@ -3229,18 +5876,43 @@ "imageUploadFailed": "Αποτυχία αποστολής εικόνας συγγραφέα", "imageRemoved": "Η εικόνα συγγραφέα αφαιρέθηκε", "imageRemoveFailed": "Αποτυχία αφαίρεσης εικόνας συγγραφέα", + "mergeSuccess": "Συγχωνευμένοι δημιουργοί {count}. επηρέασαν τα βιβλία {books}", "mergeFailed": "Αποτυχία συγχώνευσης συγγραφέων", "deleteSuccess": "Διαγράφηκε συγγραφέας; επηρέασε {books} βιβλία", "deleteFailed": "Αποτυχία διαγραφής συγγραφέα" } + }, + "portrait": { + "fromTheirBook": "Κάλυψη ενός από τα βιβλία τους, χωρίς πορτρέτο στο αρχείο" + }, + "index": { + "bookCount": "{count, plural, =0 {Δεν υπάρχουν βιβλία} one {# βιβλίο} other {# βιβλία}}", + "rowLabel": "{name}, {count, plural, =0 {Δεν υπάρχουν βιβλία} one {# βιβλίο} other {# βιβλία}}", + "actionsFor": "Ενέργειες για το {name}", + "refreshing": "Ανανέωση μεταδεδομένων για {name}", + "deleting": "Διαγραφή {name}" } }, "book": { "untitled": "Άτιτλο", + "placeholder": { + "volume": "Τομ. {number}", + "genre": { + "horror": "Τρόμου", + "romance": "Ρομαντική", + "fantasy": "Fantasy", + "scifi": "Sci-fi", + "mystery": "Μυστήριο", + "classic": "Κλασικά", + "nonfiction": "Μη-μυθοπλασία", + "young": "Νέοι αναγνώστες" + } + }, "unknownFormat": "άγνωστο", "collapsedSeries": { "label": "Σειρά", - "bookCount": "{count, plural, =0 {Δεν υπάρχουν βιβλία} one {# βιβλίο} other {# βιβλία}}" + "bookCount": "{count, plural, =0 {Δεν υπάρχουν βιβλία} one {# βιβλίο} other {# βιβλία}}", + "readCount": "{count} διαβάστε" }, "card": { "missing": "Λείπει" @@ -3249,9 +5921,34 @@ "primary": "Κύριο", "audiobook": "Audiobook" }, + "formats": { + "djvu": "Έγγραφο DjVu", + "epub": "Ηλεκτρονικό βιβλίο EPUB", + "kepub": "Ηλεκτρονικό βιβλίο KEPUB", + "pdf": "PDF έγγραφο", + "cbz": "CBZ κόμικ", + "cbr": "CBR κόμικς", + "cb7": "CB7 κόμικς", + "mobi": "Ηλεκτρονικό βιβλίο MOBI", + "azw3": "Ηλεκτρονικό βιβλίο AZW3", + "azw": "Ηλεκτρονικό βιβλίο AZW", + "fb2": "Βιβλίο FictionBook", + "m4b": "M4B audiobook", + "mp3": "Ήχος MP3", + "m4a": "M4A ήχος", + "opus": "Ήχος Opus", + "ogg": "OGG ήχος", + "flac": "FLAC ήχος", + "readAlong": "Ανάγνωση κατά μήκος EPUB", + "primary": "Κύρια μορφή" + }, "actions": { "read": "Ανάγνωση", "listen": "Ακρόαση", + "startReading": "Αρχίστε να διαβάζετε", + "continueReading": "Συνέχεια ανάγνωσης", + "startListening": "Έναρξη ακρόασης", + "continueListening": "Συνέχεια ακρόασης", "peek": "Ματιά", "quickView": "Γρήγορη Προβολή", "details": "Λεπτομέρειες", @@ -3264,7 +5961,19 @@ "addToCollection": "Προσθήκη στη συλλογή", "setStatus": "Ορισμός Κατάστασης", "sendViaEmail": "Αποστολή μέσω ηλεκτρονικού ταχυδρομείου", - "openAs": "Άνοιγμα ως {format}" + "rate": "Βαθμολογήστε {star}", + "openAs": "Άνοιγμα ως {format}", + "openReadAlong": "Άνοιγμα ανάγνωσης κατά μήκος του EPUB" + }, + "refreshMetadata": { + "success": "Τα μεταδεδομένα ανανεώθηκαν", + "failed": "Αποτυχία ανανέωσης μεταδεδομένων" + }, + "coverRegeneration": { + "failed": "Αδύνατη η αναγέννηση του καλύμματος", + "bulkInProgress": "Καλύμματα εκ νέου εξαγωγής", + "bulkFailed": "Δεν ήταν δυνατή η επανεξαγωγή καλύψεων", + "bulkCompleted": "Επανεκχυλισμένο {updated} του {processed, plural, one {# εξώφυλλο} other {# καλύπτει}}" }, "readStatus": { "unread": "Αδιάβαστο", @@ -3280,7 +5989,20 @@ "action": "Λήψη", "audiobookZip": "Audiobook (ZIP)", "allFormatsZip": "Όλες οι μορφές (ZIP)", - "primaryOnlyZip": "Μόνο κύρια (ZIP)" + "primaryOnlyZip": "Μόνο κύρια (ZIP)", + "preparing": "Προετοιμασία λήψης...", + "preparingExport": "Προετοιμασία {count, plural, one {# βιβλίο} other {# βιβλία}} για λήψη...", + "progressPercent": "Λήψη {percent} του {total}", + "progressBytes": "Λήψη του {transferred}", + "failed": "Αποτυχία λήψης", + "exportFailed": "Η εξαγωγή απέτυχε", + "audiolessEpub": "KOReader EPUB", + "audiolessEpubHint": "Κατεβάστε το EPUB για το KOReader με τα αρχεία ήχου που αφαιρέθηκαν", + "noAudio": "χωρίς ήχο", + "textOnlyEpub": "EPUB Μόνο για Κείμενο", + "textOnlyEpubHint": "Κατεβάστε ένα EPUB χωρίς αφήγηση διατηρώντας παράλληλα άγκυρες ανάγνωσης.", + "originalNarrated": "Πρωτότυπο EPUB με αφήγηση", + "originalNarratedEpub": "Πρωτότυπο EPUB με αφήγηση" }, "sort": { "moveUp": "Μετακίνηση πάνω", @@ -3288,6 +6010,7 @@ "ascending": "Αύξουσα", "descending": "Φθίνουσα", "fields": { + "relevance": "Συνάφεια", "author": "Συγγραφέας", "title": "Τίτλος", "series": "Σειρά", @@ -3314,6 +6037,7 @@ "customFieldsGroup": "Προσαρμοσμένα πεδία", "customFieldFallback": "Προσαρμοσμένο πεδίο", "remove": "Αφαίρεση", + "emptyState": "Δεν έχει διαμορφωθεί είδος. Θα χρησιμοποιηθεί ο αύξων τίτλος.", "addLevel": "Προσθήκη επιπέδου ταξινόμησης" }, "filter": { @@ -3336,18 +6060,21 @@ "collection": "Συλλογή", "library": "Βιβλιοθήκη", "format": "Μορφή", + "fileSize": "Κύριο Μέγεθος Αρχείου", "addedAt": "Ημερομηνία Προσθήκης", "startedAt": "Ημερομηνία Έναρξης", "finishedAt": "Ημερομηνία Λήξης", "fileAvailability": "Διαθεσιμότητα Αρχείου", "rating": "Βαθμολογία", "communityRating": "Αξιολόγηση Κοινότητας", + "communityRatingCount": "Καταμέτρηση Κριτικής Κοινότητας", "readProgress": "Πρόοδος Ανάγνωσης", "readStatus": "Κατάσταση Ανάγνωσης", "description": "Περιγραφή", "isbn": "ISBN", "metadataScore": "Βαθμολογία Μεταδεδομένων", "cover": "Εξώφυλλο", + "audioCover": "Κάλυμμα Audiobook", "lockStatus": "Κατάσταση Κλειδώματος", "seriesStatus": "Κατάσταση Σειράς" }, @@ -3394,7 +6121,8 @@ "unit": { "days": "ημέρες", "weeks": "εβδομάδες", - "months": "μήνες" + "months": "μήνες", + "megabytes": "MB" }, "scorePreset": { "outstanding": "Εκκρεμή", @@ -3403,6 +6131,9 @@ "poor": "Φτωχή" }, "scoreRangePlaceholder": "0-100", + "fileSizePlaceholder": "π.χ. 10", + "fileSizeValueAria": "Μέγεθος κύριου αρχείου σε megabytes", + "fileSizeMaximumAria": "Μέγιστο μέγεθος πρωτεύοντος αρχείου σε megabytes", "valuePlaceholder": "τιμή", "maxPlaceholder": "μέγιστο", "to": "προς", @@ -3412,6 +6143,7 @@ "typeToSearch": "Πληκτρολογήστε για αναζήτηση..." }, "deleteDialog": { + "title": "Διαγραφή βιβλίου;", "description": "Αυτό θα διαγράψει μόνιμα το βιβλίο και όλα τα μεταδεδομένα, τα αρχεία, την πρόοδο ανάγνωσης και τους σελιδοδείκτες. Αυτό δεν μπορεί να αναιρεθεί." }, "bulkEdit": { @@ -3419,6 +6151,7 @@ "instructions": "Εναλλαγή πεδίων για επεξεργασία, και μετά ρύθμιση τιμών. Μόνο εναλλαγή πεδίων θα αλλάξει.", "invalidYear": "Εισάγετε ένα έγκυρο έτος (μόνο αριθμοί)", "clearWarning": "Αυτό θα αφαιρέσει όλα τα {field} από τα επιλεγμένα βιβλία.", + "searchPlaceholder": "Αναζήτηση {field}...", "enterPlaceholder": "Εισάγετε {field}", "yearPlaceholder": "π.χ. 2024", "leaveEmptyHint": "Αφήστε κενό για να καθαρίσετε αυτό το πεδίο σε όλα τα επιλεγμένα βιβλία.", @@ -3435,7 +6168,9 @@ "title": "Εξαγωγή Μεταδεδομένων", "scope": "Πεδίο", "selectedRows": "Επιλεγμένες γραμμές", + "currentlySelected": "Το {count} έχει επιλεγεί αυτήν τη στιγμή", "allMatchingRows": "Όλες οι αντίστοιχες γραμμές", + "rowsInResult": "Σειρές {count} στο τρέχον αποτέλεσμα", "format": "Μορφή", "csvDescription": "Φιλικό προς το φύλλο, UTF-8 BOM περιλαμβάνεται", "jsonDescription": "Δομημένη εξαγωγή με πλαίσιο μεταδεδομένων", @@ -3447,12 +6182,15 @@ "includeFilePaths": "Συμπερίληψη διαδρομών αρχείων (προχωρημένων)", "includeContextMeta": "Συμπερίληψη μεταδεδομένων περιβάλλοντος", "preflight": "Preflight", + "scopeLabel": "Πεδίο εφαρμογής: {summary}", "calculatingSize": "Υπολογισμός μεγέθους εξαγωγής...", "estimatedSize": "Εκτιμώμενο μέγεθος:", + "fileLabel": "Αρχείο: {fileName}", "exportAction": "Εξαγωγή", "selectedRowsSummary": "{count, plural, =0 {# επιλεγμένη σειρά} one {# επιλεγμένη σειρά} other {# επιλεγμένες σειρές}}", "matchingRowsSummary": "{count, plural, =0 {# ταιριάζουν με τη σειρά} one {# ταιριάζουν με τη σειρά} other {# ταιριάζουν με τις σειρές}}", "prepareFailed": "Αποτυχία προετοιμασίας εξαγωγής", + "exportStarted": "Η εξαγωγή μεταδεδομένων ξεκίνησε: {fileName}", "exportFailed": "Η εξαγωγή μεταδεδομένων απέτυχε" }, "columnPanel": { @@ -3516,8 +6254,10 @@ "title": "Κάντε κράτηση για γρήγορη προβολή", "titleFor": "Γρήγορη προβολή για το {title}", "description": "Προεπισκόπηση λεπτομερειών βιβλίου και εκτέλεση γρήγορων ενεργειών.", + "openIn": "Άνοιγμα σε {provider}", "pages": "{count, plural, =0 {# σελίδα} one {# σελίδα} other {# σελίδες}}", "primaryFile": "Κύριο Αρχείο", + "fileNumber": "Αρχείο #{id}", "showLess": "Εμφάνιση λιγότερων", "showMore": "Εμφάνιση περισσότερων", "collections": "Συλλογές", @@ -3538,10 +6278,12 @@ "failedCount": "{count} απέτυχε", "remainingCount": "{count} απομένουν", "readOnlyNotice": "Η επεξεργασία πίνακα είναι απενεργοποιημένη σε μικρότερες οθόνες. Εναλλαγή σε λίστα ή πλέγμα για ταχύτερες ενέργειες.", + "fetching": "Γοητευτικός...", "updated": "Ενημερώθηκε", "failed": "Απέτυχε", "noBooks": "Δεν υπάρχουν βιβλία για εμφάνιση", "scrollToTop": "Κύλιση στην κορυφή", + "selectedStatus": "Επιλέχθηκε το {count}", "filtered": "Φιλτραρισμένο", "loadedStatus": "{loaded} του {total} φορτωμένο", "bookCount": "{count, plural, =0 {# βιβλίο} one {# βιβλίο} other {# βιβλία}}", @@ -3556,7 +6298,8 @@ }, "header": { "previousBook": "Προηγούμενο βιβλίο", - "nextBook": "Επόμενο βιβλίο" + "nextBook": "Επόμενο βιβλίο", + "backToLibrary": "Επιστροφή στο {library}" }, "tabs": { "details": "Λεπτομέρειες", @@ -3573,10 +6316,14 @@ "recommended": { "moreLikeThis": "Περισσότερο Σαν Αυτό" }, + "series": { + "moreInSeries": "Περισσότερα στη σειρά {series}" + }, "writeRename": { "written": "{count, plural, =0 {Κανένα πεδίο δεν γράφτηκε} one {Γράφτηκε (ένα πεδίο)} other {Γράφτηκε (# πεδία)}}", "writeFailed": "Η εγγραφή απέτυχε", "skipped": "Παράλειψη", + "renamedTo": "Μετονομάστηκε σε {name}", "fileRenamed": "Το αρχείο μετονομάστηκε", "renameFailed": "Η μετονομασία απέτυχε", "autoWriteAndRenameDisabled": "Η αυτόματη εγγραφή και μετονομασία είναι απενεργοποιημένη στις ρυθμίσεις της βιβλιοθήκης. Οι αλλαγές δεν θα συγχρονιστούν αυτόματα σε μελλοντικές αποθήκες.", @@ -3590,7 +6337,8 @@ "uploadComplete": "Η αποστολή ολοκληρώθηκε", "title": "Προσθήκη Αρχείου", "dropzone": { - "title": "Ρίξτε αρχεία εδώ ή κάντε κλικ για να περιηγηθείτε" + "title": "Ρίξτε αρχεία εδώ ή κάντε κλικ για να περιηγηθείτε", + "hint": "epub, pdf, mobi, cbz, m4b και άλλα - έως {size} MB το καθένα" }, "addMore": "Προσθέστε περισσότερα αρχεία", "fileCount": "{count, plural, =0 {Δεν υπάρχουν αρχεία} one {ένα αρχείο} other {# αρχεία}}", @@ -3631,7 +6379,32 @@ "saving": "Αποθηκεύεται...", "saveCover": "Αποθήκευση εξωφύλλου", "revertToOriginal": "Επαναφορά στην αρχική", - "regenerateCover": "Αναδημιουργία Κάλυψης" + "regenerateCover": "Αναδημιουργία Κάλυψης", + "slotsLabel": "Εξώφυλλο για επεξεργασία", + "slotEbook": "Βιβλίο", + "slotAudio": "Audiobook", + "slotEbookName": "Βιβλίο εξώφυλλο", + "slotAudioName": "Εξώφυλλο ήχου", + "editingEbook": "Επεξεργασία του εξωφύλλου βιβλίου", + "editingAudio": "Επεξεργασία του εξώφυλλου ήχου", + "lockEbookCover": "Κλείδωμα εξώφυλλου βιβλίου", + "unlockEbookCover": "Ξεκλείδωμα εξώφυλλου βιβλίου", + "lockAudioCover": "Κλείδωμα εξώφυλλου ήχου", + "unlockAudioCover": "Ξεκλείδωμα εξώφυλλου ήχου", + "viewLarger": "Μεγαλύτερη προβολή", + "viewLargerEbook": "Δείτε μεγαλύτερο εξώφυλλο βιβλίου", + "viewLargerAudio": "Προβολή μεγαλύτερου καλύμματος audiobook", + "sourceMode": "Πηγή εικόνας", + "urlLabel": "Url Εικόνας", + "saveFailed": "Δεν ήταν δυνατή η αποθήκευση του εξωφύλλου", + "revertFailed": "Αδυναμία επαναφοράς του εξώφυλλου" + }, + "coverLightbox": { + "title": "Προεπισκόπηση εξώφυλλου", + "description": "Το κάλυμμα πλήρους μεγέθους. Πατήστε Escape για κλείσιμο.", + "switchLabel": "Εξώφυλλο για εμφάνιση", + "ebook": "Βιβλίο", + "audio": "Audiobook" }, "coverSearch": { "title": "Online Αναζήτηση", @@ -3655,6 +6428,7 @@ "by": "από", "narratedBy": "διηγήθηκε από", "ratingLocked": "Η αξιολόγηση είναι κλειδωμένη", + "rateStar": "Βαθμολογήστε {star}", "listen": "Ακρόαση", "read": "Ανάγνωση", "chooseFormat": "Επιλογή μορφής", @@ -3671,12 +6445,39 @@ "cancelEditAria": "Ακύρωση επεξεργασίας προσωπικής αξιολόγησης" }, "editCover": "Επεξεργασία εξωφύλλου", + "viewCover": "Μεγαλύτερο εξώφυλλο", "finished": "Ολοκληρώθηκε", "resetFileProgress": "Επαναφορά προόδου αρχείου", + "resetEditionProgress": "Επαναφορά προόδου για το {format}", "resetting": "Επανεγκατάσταση...", + "resetProgressConfirm": "Επαναφορά της αποθηκευμένης προόδου ανάγνωσης για το {label};", + "moreCount": "+{count} περισσότερα", "untitled": "Άτιτλο", "metadataScore": "Βαθμολογία Μεταδεδομένων", "primaryFormat": "Κύρια μορφή", + "readAloudSync": { + "title": "Συγχρονισμός προόδου", + "state": { + "enabled": "Ενεργοποιημένο", + "disabled": "Απενεργοποιημένο", + "unavailable": "Unavailable", + "epubCopiesOnly": "Μόνο αντίγραφα EPUB" + }, + "enabledDescription": "Οι θέσεις Audiobook, web reader, Kobo, και KOReader παραμένουν συγχρονισμένες.", + "disabledDescription": "Κάθε μορφή διατηρεί τη δική του θέση ανάγνωσης.", + "epubCopiesDescription": "Οι θέσεις Web reader, Kobo, και KOReader παραμένουν συγχρονισμένες στα αντίγραφα του EPUB. Προσθέστε αρχεία ήχου που ταιριάζουν και για να συγχρονίσετε το audiobook.", + "reason": { + "no_media_overlay_epub": "Απαιτείται ένα διαβασμένο EPUB με επικαλύψεις πολυμέσων.", + "no_audio_files": "Απαιτείται η αντιστοίχιση αυτόνομων αρχείων audiobook.", + "missing_duration": "Τα μεταδεδομένα διάρκειας ήχου είναι ελλιπή.", + "durationMismatch": "Οι διάρκειες δεν ταιριάζουν αρκετά στενά: audiobook {audio}, διαβάστε κατά μήκος του EPUB {overlay}." + }, + "enable": "Ενεργοποίηση", + "disable": "Απενεργοποίηση", + "saving": "Αποθηκεύεται...", + "saveFailed": "Αδύνατη η ενημέρωση του συγχρονισμού προόδου για ανάγνωση." + }, + "openIn": "Άνοιγμα σε {provider}", "showLess": "Εμφάνιση λιγότερων", "showMore": "Εμφάνιση περισσότερων", "publisher": "Εκδότης", @@ -3708,6 +6509,7 @@ "dateAddedFutureError": "Η ημερομηνία προσθήκης δεν μπορεί να είναι στο μέλλον.", "dateFinishedFutureError": "Η ημερομηνία λήξης δεν μπορεί να είναι στο μέλλον.", "dateFinishedBeforeStartedError": "Η ημερομηνία λήξης πρέπει να είναι ενεργή ή μετά την ημερομηνία έναρξης.", + "dateFinishedBeforeStartedErrorWithDate": "Η ημερομηνία λήξης πρέπει να είναι κατά ή μετά την ημερομηνία έναρξης ({date}).", "saveReadingDatesError": "Αποτυχία αποθήκευσης των ημερομηνιών ανάγνωσης.", "saveAddedDateError": "Αποτυχία αποθήκευσης ημερομηνίας προστέθηκε.", "koboPendingDelete": "Εκκρεμεί διαγραφή από τη συσκευή", @@ -3717,14 +6519,42 @@ "koboNotSynced": "Δεν συγχρονίστηκε", "koboNotSyncedTooltip": "Στην ουρά για τον επόμενο συγχρονισμό Kobo.", "filesNotFound": "Τα αρχεία δεν βρέθηκαν", + "filesNotFoundDescription": "Τα αρχεία για αυτό το βιβλίο δεν μπορούν πλέον να βρεθούν στο δίσκο. Τα μεταδεδομένα είναι ακόμα διαθέσιμα. Εκτελέστε μια σάρωση βιβλιοθήκης για επιβεβαίωση ή κατάργηση της εγγραφής.", "resetHoldNotice": "{device} still has the old position ({percent})", "resetHoldRelease": "Χρήση θέσης αυτής της συσκευής", "resetHoldReleasing": "Κυκλοφορία...", - "resetHoldReleaseFailed": "Δεν ήταν δυνατή η χρήση αυτής της θέσης. Δοκιμάστε ξανά." + "resetHoldReleaseFailed": "Δεν ήταν δυνατή η χρήση αυτής της θέσης. Δοκιμάστε ξανά.", + "editions": "Εκδόσεις", + "editionsSummary": "{count} · {size}", + "moreFormats": "+{count} περισσότερα", + "filesOnDisk": "Αρχεία στο δίσκο", + "yourReading": "Η ανάγνωσή σας", + "lastRead": "τελευταία ανάγνωση {when}", + "notStarted": "δεν ξεκίνησε", + "noSessionsYet": "Δεν υπάρχουν συνεδρίες ανάγνωσης ακόμα. Άνοιγμα αυτού του βιβλίου στον αναγνώστη παρακολουθεί το χρόνο, το ρυθμό και την πρόοδο ανά συσκευή.", + "activitySessions": "Συνεδρίες", + "activityTime": "Ώρα", + "activityAverage": "Μέσος", + "activityProgress": "Πρόοδος", + "activityDayTooltip": "{day}: {minutes} ελάχ", + "activityReached": "Έφτασε το {percent}", + "durationS": "{seconds}s", + "durationM": "{minutes}m", + "durationHm": "{hours}h {minutes}m", + "yourReview": "Η κριτική σας", + "reviewNotWritten": "Δεν έχει γραφτεί ακόμα", + "writeReview": "Εγγραφή", + "collections": "Συλλογές", + "noCollections": "Κανένα", + "onDisk": "Στο δίσκο", + "detailsHeading": "Λεπτομέρειες", + "percentUnderOne": "<1%", + "percentOverNinetyNine": ">99%" }, "editMetadata": { "fieldCount": "{count, plural, =0 {Κανένα πεδίο} one {ένα πεδίο} other {# πεδία}}", "bookFilesTarget": "αρχεία βιβλίου", + "formatFilesTarget": "Αρχεία {formats}", "noPrimaryFile": "Δεν υπάρχει διαθέσιμο πρωτεύον αρχείο", "formatNotSupported": "Αυτή η μορφή αρχείου δεν υποστηρίζει εγγραφή", "formatDisabled": "Η επιστροφή εγγραφών είναι απενεργοποιημένη για αυτή τη μορφή", @@ -3733,13 +6563,17 @@ "saveInProgress": "Αποθήκευση σε εξέλιξη", "writeManualLibraryDisabled": "Εγγραφή μεταδεδομένων στο αρχείο και μετονομασία στο δίσκο. Η αυτόματη επιστροφή εγγραφής είναι απενεργοποιημένη για αυτή τη βιβλιοθήκη", "writeManualTooltip": "Γράψτε {fields} στο {target} και μετονομάστε στο δίσκο", + "applyResult": "{skipped}, {updated}", "skippedLockedFields": "{count, plural, =0 {Δεν παραλείφθηκαν κλειδωμένα πεδία} one {Παραλείφθηκαν ένα κλειδωμένο πεδίο} other {Παραλήφθηκαν # κλειδωμένα πεδία}}", "updatedFields": "{count, plural, =0 {δεν ενημερώθηκε κανένα πεδίο} one {ενημέρωσε ένα πεδίο} other {ενημέρωσε # πεδία}}", + "wroteFieldsToFile": "Έγραψε το {fields} στο αρχείο", + "fileWriteFailedReason": "Η εγγραφή αρχείου απέτυχε: {reason}", "fileWriteFailed": "Η εγγραφή αρχείου απέτυχε", "fileWriteSkippedReason": "Αρχείο εγγραφή παραλείφθηκε: {reason}", "fileWriteSkipped": "Παράλειψη εγγραφής αρχείου", "metadataSaved": "Τα μεταδεδομένα αποθηκεύτηκαν", "metadataWrittenToFile": "Τα μεταδεδομένα γράφτηκαν στο αρχείο", + "savedButWriteFailedReason": "Τα μεταδεδομένα αποθηκεύτηκαν, αλλά η εγγραφή του αρχείου απέτυχε: {reason}", "savedButWriteFailed": "Τα μεταδεδομένα αποθηκεύτηκαν, αλλά η εγγραφή αρχείου απέτυχε", "savedWriteSkippedReason": "Τα μεταδεδομένα αποθηκεύτηκαν, η εγγραφή αρχείου παραλείφθηκε: {reason}", "savedWriteSkipped": "Τα μεταδεδομένα αποθηκεύτηκαν, η εγγραφή αρχείου παραλείφθηκε", @@ -3752,7 +6586,9 @@ "loadFromFileTooltip": "Φόρτωση μεταδεδομένων από το πρωτεύον αρχείο βιβλίου", "writeToFile": "Εγγραφή σε αρχείο", "autoFill": "Αυτόματη Συμπλήρωση", + "autoFillFailed": "Η αυτόματη συμπλήρωση απέτυχε", "fetchingMetadata": "Λήψη μεταδεδομένων...", + "noExistingProviderIds": "Δεν ανακτήθηκαν μεταδεδομένα: κανένας από τους παρόχους ενεργού κανόνα πεδίου δεν έχει αναγνωριστικό αποθηκευμένο σε αυτό το βιβλίο.", "allFieldsLocked": "Όλα τα πεδία είναι κλειδωμένα", "autoFillTooltip": "Αυτόματη συμπλήρωση πεδίων χρησιμοποιώντας τις προτιμήσεις μεταδεδομένων σας", "lockAll": "Κλείδωμα όλων", @@ -3774,6 +6610,7 @@ "genresLabel": "Genres", "tagsLabel": "Ετικέτες", "ratingLabel": "Βαθμολογία", + "rateStar": "Βαθμολογήστε {star}", "clear": "Εκκαθάριση", "communityRatingsLabel": "Αξιολογήσεις Κοινότητας", "noProviderRatings": "Δεν υπάρχουν αξιολογήσεις παρόχου", @@ -3802,13 +6639,16 @@ "customMetadata": "Προσαρμοσμένα Μεταδεδομένα", "descriptionLabel": "Περιγραφή", "unlockField": "Ξεκλείδωμα {field}", + "lockField": "Κλειδαριά {field}", "diffPanel": { "untitled": "Άτιτλο", "noFieldsSelected": "Δεν επιλέχθηκαν πεδία", "fieldsSelected": "{count, plural, =0 {Δεν επιλέχθηκαν πεδία} one {Ένα πεδίο επιλέχθηκε} other {# επιλεγμένα πεδία}}", "results": "Αποτελέσματα", + "providerMatches": "{provider} ταιριάζει", "selectedOf": "Επιλεγμένο {selected} του {total}", "yearUnknown": "Άγνωστο έτος", + "indexOf": "{index} του {total}", "switchedResult": "Τροποποιημένο αποτέλεσμα. Προηγούμενες επιλογές από αυτόν τον πάροχο εκκαθαρίστηκαν.", "selectFieldsToApply": "Επιλέξτε πεδία για εφαρμογή", "copyMissing": "Η Αντιγραφή Λείπει", @@ -3816,9 +6656,19 @@ "hideUnchanged": "Απόκρυψη αμετάβλητων", "showUnchanged": "Εμφάνιση αμετάβλητων", "current": "Τρέχων", + "new": "Νέο", "noMetadata": "Δεν υπάρχουν διαθέσιμα μεταδεδομένα από αυτήν την πηγή.", "noChangedFields": "Δεν υπάρχουν τροποποιημένα ή ελλείποντα πεδία. Χρησιμοποιήστε την Εμφάνιση για να επιθεωρήσετε τα πάντα.", - "applyToForm": "Εφαρμογή στη φόρμα" + "applyToForm": "Εφαρμογή στη φόρμα", + "secondCover": { + "audioResults": "Αποτελέσματα κάλυψης Audiobook", + "bookResults": "Αποτελέσματα κάλυψης βιβλίων", + "showCover": "Εμφάνιση του {provider} cover, {index} του {total}", + "searchingAudio": "Αναζήτηση επεξεργαστών ήχου...", + "searchingBook": "Αναζήτηση εκδόσεων βιβλίου...", + "noAudio": "Δεν βρέθηκαν εξώφυλλα audiobook.", + "noBook": "Δεν βρέθηκαν εξώφυλλα βιβλίων." + } }, "diff": { "locked": "Κλειδωμένο", @@ -3827,15 +6677,79 @@ "newCoverAlt": "Νέο κάλυμμα", "pickCoverFromProvider": "Επιλογή καλύμματος από άλλο πάροχο", "pickCoverSource": "Διαλέξτε πηγή εξωφύλλου", + "coverShapeHint": { + "portraitForAudio": "Πορτρέτο εικόνα. Audiobook καλύμματα είναι τετράγωνα.", + "squareForBook": "Τετραγωνική εικόνα. Τα καλύμματα βιβλίων είναι πορτρέτο." + }, "pickFromProvider": "Επιλέξτε από άλλο πάροχο", "pickSource": "Διαλέξτε πηγή", + "useNew": "Χρήση του νέου {field}", + "keepCurrent": "Διατηρήστε το τρέχον {field}", + "genreWriteMode": { + "label": "Πώς να εφαρμόσετε είδη", + "merge": "Συγχώνευση", + "replace": "Αντικατάσταση" + }, "empty": "κενό", "showLess": "Εμφάνιση λιγότερων", "showMore": "Εμφάνιση περισσότερων", - "coverPreviewAlt": "Προεπισκόπηση εξώφυλλου" + "coverPreviewAlt": "Προεπισκόπηση εξώφυλλου", + "fields": { + "coverUrl": "Εξώφυλλο", + "bookCover": "Βιβλίο εξώφυλλο", + "audioCover": "Εξώφυλλο ήχου", + "title": "Τίτλος", + "subtitle": "Υπότιτλος", + "authors": "Συντάκτες", + "description": "Περιγραφή", + "publisher": "Εκδότης", + "publishedDate": "Δημοσιεύθηκε", + "language": "Γλώσσα", + "pageCount": "Αριθμός σελίδων", + "communityRating": "Κοινοτική αξιολόγηση", + "seriesName": "Σειρά", + "seriesIndex": "Δείκτης σειράς", + "isbn13": "ISBN-13", + "isbn10": "ISBN-10", + "genres": "Genres", + "narrators": "Αφηγητές", + "durationSeconds": "Διάρκεια (δευτερόλεπτα)", + "abridged": "Εγκατάλειψη", + "hardcoverEditionId": "Αναγνωριστικό έκδοσης υλικού", + "comicIssueNumber": "Αριθμός έκδοσης", + "comicVolumeName": "Όγκος", + "comicPencillers": "Pencillers", + "comicInkers": "Δείκτες", + "comicColorists": "Χρωματιστές", + "comicLetterers": "Επιστολές", + "comicCoverArtists": "Καλλιτέχνες εξώφυλλου", + "comicCharacters": "Χαρακτήρες", + "comicTeams": "Ομάδες", + "comicLocations": "Τοποθεσίες", + "comicStoryArcs": "Story arcs", + "sourceUrl": "Url Πηγής" + }, + "providerIds": { + "google": "Αναγνωριστικό Google Books", + "goodreads": "Αναγνωριστικό Εμπορευμάτων", + "amazon": "Αναγνωριστικό Amazon", + "hardcover": "Σκληρό Αναγνωριστικό", + "openLibrary": "Άνοιγμα Αναγνωριστικού Βιβλιοθήκης", + "itunes": "Id iTunes", + "audible": "Audible ID", + "librofm": "Libro.fm ISBN", + "comicvine": "Αναγνωριστικό ComicVine", + "ranobedb": "RanobeDB ID", + "kobo": "Kobo ID", + "lubimyczytac": "LubimyCzytac ID", + "aladin": "Aladin ID" + } }, "searchDrawer": { "searchTitle": "Αναζήτηση Μεταδεδομένων", + "autoSearchOnOpen": "Αυτόματη αναζήτηση όταν ανοίγει", + "autoSearchOnOpenHint": "Χρησιμοποιεί τα στοιχεία του βιβλίου την επόμενη φορά που θα ανοίξει αυτός ο πίνακας. Θυμηθείτε για το λογαριασμό σας σε αυτό το πρόγραμμα περιήγησης.", + "searchOptions": "Επιλογές αναζήτησης", "compareTitle": "Σύγκριση Μεταδεδομένων", "searchSubtitle": "Βρείτε τον καλύτερο πάροχο για αυτό το βιβλίο.", "compareSubtitle": "Εξετάστε τις διαφορές και να εφαρμόσει μόνο αυτό που θέλετε." @@ -3857,25 +6771,259 @@ "notInFieldRulesText": "{providers}. Συμπεριλαμβάνεται στη χειροκίνητη αναζήτηση με Όλα ενεργοποιημένα, αλλά δεν χρησιμοποιείται από την αυτόματη λήψη μεταδεδομένων.", "noResults": "Δεν βρέθηκαν αποτελέσματα", "noResultsHint": "Δοκιμάστε να προσαρμόσετε τον τίτλο ή τον συγγραφέα", + "searchInterrupted": "Η αναζήτηση δεν ολοκληρώθηκε", + "searchIncomplete": "Ορισμένα αποτελέσματα μπορεί να λείπουν", + "providerTimedOut": "{provider} πήρε πολύ καιρό για να απαντήσει.", + "providerThrottled": "Το {provider} έχει χτυπήσει το όριο ρυθμού. Περιμένετε λίγο και προσπαθήστε ξανά.", + "providerFailed": "Δεν ήταν δυνατή η πρόσβαση στο {provider}.", + "searchInterruptedHint": "Δοκιμάστε ξανά, ή περιορίστε το πεδίο αναζήτησης.", "searchPrompt": "Αναζήτηση παραπάνω, στη συνέχεια, κάντε κλικ σε ένα αποτέλεσμα για να ξεκινήσετε τη σύγκριση μεταδεδομένων." }, + "match": { + "sheetDescription": "Αναζήτηση παρόχων μεταδεδομένων και επιλέξτε τι να αντιγράψετε σε αυτό το βιβλίο.", + "mediumAudiobook": "Audiobook", + "mediumEbook": "Ebook", + "query": { + "label": "Αναζήτηση μεταδεδομένων", + "title": "Τίτλος", + "author": "Συγγραφέας", + "isbn": "ISBN", + "edited": "Το ερώτημα επεξεργάστηκε", + "useBookDetails": "Χρήση λεπτομερειών βιβλίου" + }, + "sources": { + "heading": "Πηγές", + "allEnabledHint": "{count, plural, one {# πηγή. Καλύτερα για χειροκίνητη αναζήτηση.} other {# πηγές. Καλύτερο για χειροκίνητη αναζήτηση.}}", + "fieldRulesHint": "{count, plural, one {# πηγή, αυτή η αυτόματη λήψη χρησιμοποιεί.} other {# πηγές, αυτές που χρησιμοποιεί η αυτόματη ανάκτηση.}}", + "outsideRules": "{providers} {count, plural, one {είναι ενεργοποιημένη αλλά όχι στους Κανόνες Πεδίου, οπότε η αυτόματη λήψη παραλείπει.} other {Είναι ενεργοποιημένα αλλά όχι στους Κανόνες Πεδίου, οπότε η αυτόματη λήψη τους παραλείπει.}}", + "manualOnly": "{providers}: χειροκίνητη αναζήτηση μόνο, δεν χρησιμοποιείται από αυτόματη ανάκτηση.", + "count": "{provider}: {count, plural, =0 {Κανένα αποτέλεσμα} one {# αποτέλεσμα} other {# αποτελέσματα}}", + "searching": "{provider}: αναζήτηση", + "stopped": "{provider}: σταμάτησε πριν τελειώσει" + }, + "results": { + "label": "Ταιριάζει", + "best": "Καλύτεροι αγώνες", + "otherEditions": "Άλλες εκδόσεις", + "otherBooks": "Πιθανώς διαφορετικά βιβλία", + "stillSearching": "Εξακολουθεί να ψάχνει", + "linked": "Συνδεδεμένο", + "linkedHint": "Αυτή η εγγραφή είναι ήδη συνδεδεμένη με το βιβλίο", + "isbn": "Αντιστοίχιση ISBN", + "fills": "+{count} κενό", + "fillsHint": "{count, plural, one {Γεμίζει # κενό πεδίο} other {Γεμίζει # κενά πεδία}}", + "differ": "{count} διαφέρουν", + "differHint": "{count, plural, one {# το πεδίο διαφέρει από το βιβλίο} other {# τα πεδία διαφέρουν από το βιβλίο}}", + "inSync": "Στον συγχρονισμό", + "inSyncHint": "Τίποτα εδώ δεν θα άλλαζε το βιβλίο", + "differentAuthor": "Διαφορετικός συγγραφέας", + "titleDiffers": "Ο τίτλος διαφέρει", + "sparse": "Sparse", + "sparseHint": "{count, plural, one {Μόνο # πεδίο συμπληρώθηκε} other {Μόνο # πεδία συμπληρώθηκαν}}", + "staged": "{count, plural, one {# αλλαγή σκηνοθετήθηκε από αυτό το αποτέλεσμα} other {# αλλαγές από αυτό το αποτέλεσμα}}", + "noMatches": "Δεν υπάρχουν αντιστοιχίες για αυτό το ερώτημα", + "noMatchesHint": "{count, plural, one {Η πηγή απάντησε με τίποτα.} other {# οι πηγές δεν απάντησαν τίποτα.}} Χαλαρώστε την αναζήτηση και προσπαθήστε ξανά.", + "searchTitleOnly": "Αναζήτηση τίτλου μόνο", + "prompt": "Εισάγετε έναν τίτλο ή ISBN για αναζήτηση.", + "mayBeMissing": "Αποτελέσματα από αυτό μπορεί να λείπει.", + "retry": "Δοκιμάστε ξανά το {provider}", + "pages": "{count, plural, one {# σελίδα} other {# σελίδες}}", + "fetched": "Ανάκτηση" + }, + "tier": { + "strong": "Ισχυρός αγώνας", + "possible": "Πιθανό ταίριασμα", + "weak": "Απίστευτο ταίριασμα" + }, + "compare": { + "label": "Σύγκριση", + "backToMatches": "Πίσω στα ταιριάσματα", + "previous": "Προηγούμενο αποτέλεσμα", + "next": "Επόμενο αποτέλεσμα", + "position": "{index} του {total}", + "viewOn": "Προβολή στο {provider}", + "linkedToBook": "Συνδεδεμένο με αυτό το βιβλίο", + "sameTitleAuthor": "Ίδιος τίτλος και συγγραφέας", + "streaming": "Εμφάνιση του καλύτερου αγώνα μέχρι στιγμής. Ακόμα περιμένει στο {providers}.", + "rows": "Γραμμές", + "differences": "Διαφορές", + "allFields": "Όλα τα πεδία", + "fillEmpty": "{count, plural, =0 {Δεν υπάρχουν κενά πεδία} one {Συμπληρώστε # κενό} other {Συμπληρώστε # κενό}}", + "takeAll": "{count, plural, =0 {Τίποτα να χρησιμοποιήσεις} one {Χρησιμοποίησε #} other {Χρησιμοποίησε όλα #}}", + "more": "Περισσότερες ενέργειες", + "clearAll": "Καθαρισμός όλων των επιλογών", + "clearAllHint": "Πίσω στις τρέχουσες τιμές του βιβλίου.", + "field": "Πεδίο", + "pickTitle": "Επιλέξτε ένα ταίριασμα για σύγκριση", + "pickHint": "Επιλέξτε ένα αποτέλεσμα. Τα πεδία του είναι γραμμένα πάνω στο βιβλίο ώστε να μπορείτε να κρατάτε ή να αντικαθιστάτε το κάθε ένα.", + "noneTitle": "Τίποτα για σύγκριση ακόμα", + "noneHint": "Όταν μια αναζήτηση βρίσκει αγώνες, το καλύτερο ανοίγει εδώ δίπλα σε ό, τι {title} έχει σήμερα.", + "allMatch": "Κάθε πεδίο ταιριάζει με το βιβλίο. Αλλάξτε σε Όλα τα πεδία για να τα δείτε.", + "toReview": "{count, plural, =0 {Τίποτα για να δείτε} one {# για να δείτε} other {# για να δείτε}}", + "stagedInSection": "{count} σκηνοθετημένο" + }, + "sections": { + "identity": "Ταυτότητα", + "description": "Περιγραφή", + "publication": "Δημοσίευση", + "series": "Σειρά", + "genres": "Genres", + "comics": "Πιστώσεις κόμικ", + "identifiers": "Αναγνωριστικά", + "ratings": "Κοινοτική αξιολόγηση" + }, + "kind": { + "fill": "Γέμισμα άδειο", + "change": "Διαχωριστικά", + "same": "Ίδιο", + "missing": "Δεν παρέχεται" + }, + "minor": { + "reordered": "Αναπαραγγέλθηκε", + "formatting": "Μορφοποίηση μόνο", + "punctuation": "Στίξη", + "capitalization": "Κεφαλαιοποίηση", + "yearOnly": "Μόνο έτος", + "addsDay": "Προσθέτει την ημέρα", + "languageCode": "Ίδια γλώσσα", + "ratingCount": "Μόνο μέτρηση" + }, + "decision": { + "keep": "Διατήρηση", + "use": "Χρήση", + "merge": "Συγχώνευση", + "replace": "Αντικατάσταση", + "alreadyMatches": "Ήδη ταιριάζουν", + "nothingToApply": "Τίποτα για εφαρμογή", + "lockedHint": "Ξεκλειδώστε το στον επεξεργαστή για να το αλλάξετε.", + "usingFrom": "Χρήση της τιμής από", + "switchTo": "Μετάβαση σε {provider}" + }, + "value": { + "empty": "Κενό", + "notProvided": "Δεν παρέχεται", + "showAll": "Εμφάνιση όλων των {count} λέξεων", + "otherValues": "{count, plural, one {# άλλη τιμή} other {# άλλες τιμές}}", + "otherValuesHeading": "{field} από άλλα αποτελέσματα", + "otherValuesHint": "Επιλέγοντας ένα στάδιο αυτό για αυτό το πεδίο", + "sameAsCurrent": "Ίδιο με το τρέχον", + "useThis": "Χρησιμοποιήστε αυτό", + "using": "Χρησιμοποιώντας" + }, + "providerRating": "Αξιολόγηση {provider}", + "cover": { + "slotAudio": "Ακουστικό κουλοχέρηδες, τετράγωνο", + "slotBook": "Κουλοχέρηδες βιβλίων, πορτρέτο", + "current": "Τρέχων", + "staged": "Βαθμολογημένο", + "size": "{width} × {height}", + "fits": "Ταιριάζει στην υποδοχή", + "portraitInSquare": "Πορτρέτο: letterboxed", + "squareInPortrait": "Τετράγωνο: letterboxed", + "broken": "Φαίνεται σπασμένα", + "unknown": "Άγνωστο σχήμα", + "fitShort": "Ταιριάζει", + "portraitShort": "Πορτραίτο", + "squareShort": "Τετράγωνο", + "brokenShort": "Σπασμένο", + "noCover": "Κανένα εξώφυλλο σε αυτό το αποτέλεσμα", + "noCurrent": "Κανένα εξώφυλλο ακόμα", + "strip": "Καλύμματα από τα αποτελέσματα που ταιριάζουν", + "stripMeta": "{count, plural, one {# εξώφυλλο} other {# καλύπτει}}, ταιριάζει πρώτα", + "choose": "Επιλέξτε ένα εξώφυλλο", + "preview": "Προεπισκόπηση της πλήρους οθόνης καλύμματος", + "previewTitle": "Καλύμματα δίπλα-δίπλα", + "previewDescription": "Το τρέχον κάλυμμα δίπλα σε αυτό που θα το αντικαταστήσει.", + "choice": "{provider} εξώφυλλο", + "choiceSized": "{provider} cover, {width} από τον {height}", + "using": "Χρησιμοποιώντας" + }, + "footer": { + "changes": "{count, plural, one {# αλλάξτε} other {# αλλάζει}}", + "from": "από", + "nothingStaged": "Τίποτα δεν σταμάτησε. Επιλέξτε Χρήση σε ένα πεδίο ή επιλέξτε ένα εξώφυλλο.", + "nothingStagedShort": "Τίποτα στο στάδιο", + "formHint": "Γεμίζει τη φόρμα επεξεργασίας. Αποθηκεύστε εκεί για να τη κρατήσετε.", + "fileHint": "Αποθηκεύει στα μεταδεδομένα αυτού του αρχείου.", + "apply": "{count, plural, =0 {Εφαρμόστε} one {Εφαρμόστε # αλλαγή} other {Εφαρμόστε # αλλαγές}}", + "stagedHeading": "Staged για τη φόρμα", + "clearAll": "Εκκαθάριση όλων", + "undo": "Αναίρεση {field}", + "merged": "συγχωνεύτηκαν", + "live": "{count, plural, =0 {Καμία αλλαγή δεν σκηνοθετήθηκε} one {# αλλαγή σκηνοθετημένη} other {# αλλαγές σκηνοθετήθηκαν}}" + }, + "keyboard": { + "title": "Συντομεύσεις πληκτρολογίου", + "results": "Προηγούμενο ή επόμενο αποτέλεσμα", + "fields": "Μετακίνηση μεταξύ των πεδίων", + "toggle": "Κρατήστε ή χρησιμοποιήστε το πεδίο", + "search": "Επεξεργασία αναζήτησης", + "close": "Κλείσιμο μενού" + } + }, "writeAndRename": "Εγγραφή σε αρχείο & Μετονομασία", - "writeAndRenameShort": "Εγγραφή & Μετονομασία" + "writeAndRenameShort": "Εγγραφή & Μετονομασία", + "identityCard": "Ταυτότητα", + "catalogCard": "Κατάλογος", + "sourceCard": "Πηγή", + "score": "Βαθμολογία", + "scoreTooltip": "Βαθμολογία μεταδεδομένων {score} από 100", + "emptyFields": "{count, plural, one {κενό πεδίο} other {κενά πεδία}}", + "emptyFieldsCount": "{count, plural, one {# κενό πεδίο} other {# κενά πεδία}}", + "emptyFieldsHeading": "Κενά πεδία μεταδεδομένων", + "emptyFieldsTooltip": "Δεν έχει συμπληρωθεί ακόμα: {fields}. Κάντε αναζήτηση στο διαδίκτυο για να τα αναζητήσετε.", + "libraryRow": "Βιβλιοθήκη", + "primaryRow": "Κύριο", + "writeBackRow": "Επανάληψη", + "writeBackOff": "Ανενεργό", + "lastWrittenRow": "Τελευταία εγγραφή", + "neverWritten": "Ποτέ", + "fileCount": "{count, plural, =0 {Δεν υπάρχουν αρχεία} one {ένα αρχείο} other {# αρχεία}}", + "unknownFormat": "Άγνωστο" }, "files": { "title": "Βιβλίο αρχείων", + "stats": { + "files": "Αρχεία", + "total": "Σύνολο", + "runtime": "Χρόνος Εκτέλεσης", + "formats": "Μορφές" + }, + "filesHeading": "Αρχεία", + "allPresent": "Όλα τα παρόντα", + "groupedByReader": "ομαδοποιημένη ανά αναγνώστη", + "thisFile": "Αυτό το αρχείο", + "writeBackShort": "Επανάληψη", + "fieldsSet": "Σετ {filled} / {total}", + "writtenSummary": "{fields} και {count, plural, one {# περισσότερο πεδίο} other {# περισσότερα πεδία}} γράφονται στο {format}.", + "writtenSummaryAll": "{fields} είναι γραμμένα στο {format}.", + "writtenNothing": "Κανένα από τα {total} εγγράψιμα πεδία δεν έχει ακόμα τιμή.", + "writeBackOff": "Η διαγραφή είναι απενεργοποιημένη για αυτό το βιβλίο.", + "editMetadata": "Επεξεργασία μεταδεδομένων", + "showAllTracks": "Εμφάνιση όλων", + "collapseTracks": "Σύμπτυξη", + "moreTracks": "{count, plural, one {# περισσότερο κομμάτι} other {# περισσότερα κομμάτια}}", + "tracksRolled": "{count, plural, one {# κομμάτι} other {# κομμάτια}}", + "fileDetails": "Λεπτομέρειες αρχείου", + "openDetails": "Άνοιγμα λεπτομερειών αρχείου", + "closeDetails": "Κλείσιμο λεπτομερειών αρχείου", + "trackFrom": "Κομμάτι {track} του {total}, από τον {time}", + "throughCopy": "Είστε {percent} μέσω αυτού του αντιγράφου", "fileCount": "{count, plural, =0 {Κανένα αρχείο} one {# αρχείο} other {# αρχεία}}", + "synced": "Συγχρονίστηκε το {time}", "sortAria": "Ταξινόμηση αρχείων", "syncHistory": "Ιστορικό συγχρονισμού", "metadataWriteBack": "Εγγραφή μεταδεδομένων", "relative": { "seconds": "{value}s πριν", "minutes": "{value}m πριν", - "hours": "{value}h πριν" + "hours": "{value}h πριν", + "days": "{value}d πριν" }, "renameFailed": "Αποτυχία μετονομασίας αρχείου", "deleteFailed": "Αποτυχία διαγραφής αρχείου", "addFile": "Προσθήκη Αρχείου", + "lastSynced": "Τελευταίος συγχρονισμός: {time}", "sort": { "label": "Ταξινόμιση:", "name": "Όνομα", @@ -3889,6 +7037,7 @@ "viewSyncLog": "Προβολή αρχείου καταγραφής συγχρονισμού", "noWriteHistory": "Δεν υπάρχει ιστορικό εγγραφής ακόμα.", "fieldsWritten": "{count, plural, =0 {Κανένα πεδίο} one {ένα πεδίο} other {# πεδία}}", + "track": "Κομμάτι {number}", "primary": "Κύριο", "read": "Ανάγνωση", "play": "Αναπαραγωγή", @@ -3907,9 +7056,102 @@ }, "saving": "Αποθηκεύεται...", "deleteModal": { + "title": "Διαγραφή αρχείου;", "description": "Είστε βέβαιοι ότι θέλετε να διαγράψετε το \"{filename}\"? Αυτή η ενέργεια δεν μπορεί να αναιρεθεί." }, - "deleting": "Διαγραφή..." + "deleting": "Διαγραφή...", + "folderAria": "Τοποθεσία φακέλου", + "folderContents": "Περιεχόμενα φακέλου", + "inspectorAria": "Επιλεγμένο αρχείο", + "libraryRoot": "ρίζα βιβλιοθήκης", + "onDisk": "Στο δίσκο", + "missing": "Λείπει", + "backToFolder": "Πίσω στο φάκελο", + "copyPath": "Αντιγραφή πλήρους διαδρομής", + "pathCopied": "Η διαδρομή αντιγράφηκε στο πρόχειρο", + "resume": "Συνέχιση", + "audiobook": "Audiobook", + "writeTarget": "Write target", + "notWritten": { + "formatNotSupported": "Δεν γράφτηκε: μη υποστηριζόμενη μορφή", + "formatDisabled": "Μη εγγράψιμο: η μορφή απενεργοποιήθηκε", + "fileExceedsSizeLimit": "Δεν γράφτηκε: πέρα από το όριο μεγέθους", + "notContentFile": "Δεν γράφεται: δεν είναι περιεχόμενο βιβλίου" + }, + "enabled": "Ενεργοποιημένο", + "disabled": "Ανενεργό", + "notSet": "δεν έχει οριστεί", + "sortAdded": "Προστέθηκε", + "formatCount": "{count, plural, one {# μορφή} other {# μορφές}}", + "trackCount": "{count, plural, one {# κομμάτι} other {# κομμάτια}}", + "formatsInFolder": "{count, plural, one {# μορφή εδώ} other {# μορφές εδώ}}", + "compositionAria": "Κοινή χρήση του μεγέθους του φακέλου κατά μορφή", + "percentRead": "{percent} διαβάστε", + "trackOf": "Κομμάτι {track} του {total}", + "groups": { + "ebook": "Ebook", + "document": "Έγγραφο", + "comic": "Κόμικς", + "audio": "Ήχος", + "extras": "Extras" + }, + "roles": { + "primary": "Κύριο", + "content": "Εναλλακτική", + "supplement": "Συμπλήρωμα", + "cover": "Εξώφυλλο" + }, + "reader": { + "none": "Χωρίς αναγνώστη", + "ebook": "Αναγνώστης βιβλίων", + "document": "Αναγνώστης PDF", + "comic": "Comic reader", + "audio": "Πρόγραμμα αναπαραγωγής ήχου" + }, + "spec": { + "format": "Μορφή", + "role": "Ρόλος", + "size": "Μέγεθος", + "length": "Μήκος", + "added": "Προστέθηκε", + "indexed": "Ευρετήριο", + "opensIn": "Ανοίγει σε", + "writeBack": "Επανάληψη", + "track": "Κομμάτι", + "targetFile": "Αρχείο προορισμού", + "notWritten": "Δεν έχει γραφτεί" + }, + "duration": { + "hoursMinutes": "{hours}h {minutes}m", + "minutes": "{minutes}m", + "minutesSeconds": "{minutes}m {seconds}s", + "seconds": "{seconds}s" + }, + "positionHeading": "Η θέση σας σε αυτό το αντίγραφο", + "copiesStarted": "Ξεκίνησαν τα {started} των αντιγράφων {total}", + "nothingStarted": "Τίποτα δεν ξεκίνησε ακόμα", + "throughFile": "{percent} μέσω αυτού του αρχείου", + "notOpened": "Δεν έχει ανοιχτεί ακόμα", + "lastRead": "Τελευταία ανάγνωση {time}", + "noPosition": "Καμία θέση ανάγνωσης δεν είναι αποθηκευμένη", + "trackPositionHeading": "Όπου αυτό το κομμάτι κάθεται", + "totalRuntime": "{duration} σύνολο", + "startsAt": "Ξεκινά στο {time}", + "trackLength": "{duration} μακρύ", + "switchFileHeading": "Εναλλαγή αρχείου", + "writeBackHeading": "Εγγραφή σε αυτό το αρχείο", + "fieldsWithValue": "{filled} από τα πεδία {total} έχουν μια τιμή", + "lastRun": "Τελευταία εκτέλεση {time}", + "neverRun": "Ποτέ τρέξιμο", + "historyHeading": "Ιστορικό", + "timeline": { + "written": "Μεταδεδομένα που γράφτηκαν στο {format}", + "writtenMany": "Μεταδεδομένα που γράφτηκαν στο {format} ×{count}", + "writeDetail": "{count, plural, one {# πεδίο} other {# πεδία}} · {ms}ms · {trigger}", + "failed": "Η εγγραφή απέτυχε", + "indexed": "{name} ευρετηριασμένο", + "indexedMany": "{count} {format} αρχεία με ευρετήριο" + } }, "highlights": { "note": { @@ -3943,9 +7185,247 @@ "hint": "Επιλέξτε κείμενο κατά την ανάγνωση για να δημιουργήσετε τονίσματα" }, "uncategorized": "Αταξινόμητο", - "paginationUnit": "επισημάνσεις" + "paginationUnit": "επισημάνσεις", + "rail": { + "title": "Marks", + "unit": "{count, plural, one {επισημάνετε} other {τονίζει}}", + "withNotes": "φέρτε μια σημείωση", + "chaptersMarked": "κεφάλαια που σημειώθηκαν", + "ofChaptersMarked": "από τα κεφάλαια {total} που σημειώνονται", + "colour": "Χρώμα", + "showOnly": "Εμφάνιση μόνο {colour}", + "source": "Από πού προέρχονταν", + "health": "Υγεία θέσης", + "needsAttention": "{count, plural, one {# χρειάζεται προσοχή} other {# χρειάζονται προσοχή}}", + "anchorLost": "{count, plural, one {κάποιος έχασε την άγκυρά του όταν το αρχείο άλλαξε} other {# έχασε την άγκυρά του όταν το αρχείο άλλαξε}}", + "reAnchored": "{count, plural, one {Ένας επανα-αγκυροβολημένος αυτόματα,} other {# ξανααγκυροβολούνταν αυτόματα}}", + "reviewPositions": "Θέσεις αναθεώρησης", + "span": "Περιστροφή", + "firstMark": "Πρώτο σημάδι", + "lastMark": "Τελευταίο σήμα", + "markingDays": "Ημέρες σήμανσης", + "exportCount": "Εξαγωγή {count}" + }, + "row": { + "select": "Επιλέξτε αυτήν την επισήμανση", + "showMore": "Εμφάνιση περισσότερων", + "showLess": "Εμφάνιση λιγότερων", + "note": "Σημείωση", + "addNote": "Προσθήκη σημείωσης", + "page": "σ.{page}", + "anchorLost": "Αγκύρωμα χάθηκε", + "reAnchored": "Επαναγκυροβολημένο" + }, + "stream": { + "title": "Το ρεύμα", + "searchPlaceholder": "Αναζήτηση {count} επισημάνσεις και σημειώσεις", + "all": "Όλα", + "notes": "Σημειώσεις", + "review": "Επανεξέταση", + "density": "Εναλλαγή μεταξύ άνετων και συμπαγών γραμμών", + "matchCount": "{shown} του {total} αγώνα", + "textChip": "κείμενο \"{query}\"", + "marks": "{count, plural, one {# σημάδι} other {# σημειώνει}}", + "loadingMore": "Φόρτωση περισσότερων" + }, + "bulk": { + "selected": "Επιλέχθηκε το {count}", + "selectAll": "Επιλέξτε όλα τα {count}", + "recolour": "Ανακτήστε την επιλογή", + "recolourTo": "Χρωματίστε ξανά σε {colour}", + "clear": "Καθαρισμός της επιλογής" + }, + "index": { + "title": "Δείκτης", + "groupBy": "Ομαδοποίηση ροής κατά", + "byChapter": "Κεφάλαια", + "byColour": "Χρώματα", + "byDay": "Ημέρες" + }, + "activity": { + "title": "Δραστηριότητα σήμανσης", + "days": "{count, plural, one {# ημέρα} other {# ημέρες}}", + "showAll": "Εμφάνιση όλων των ημερών {count}", + "showFewer": "Εμφάνιση λιγότερων" + }, + "inspector": { + "title": "Επισήμανση λεπτομερειών", + "back": "Πίσω στο ευρετήριο", + "counter": "Mark {position} του {total}", + "previous": "Προηγούμενο σημάδι", + "next": "Επόμενο σημάδι", + "notePrompt": "Γιατί αυτό το ένα θέμα? Οι σημειώσεις είναι αναζητημένες και ταξιδεύουν με την εξαγωγή.", + "style": "Στυλ", + "position": "Θέση και συγχρονισμός", + "openHere": "Άνοιγμα εδώ" + }, + "band": { + "title": "Όπου τα σήματα είναι", + "subtitle": "κάθε σημειωμένο κεφάλαιο με σειρά ανάγνωσης, χρωματισμένο όπως το σημειώσατε", + "barTitle": "{chapter}, {count} marks", + "start": "Έναρξη", + "densest": "Densest", + "marks": "{count, plural, one {# σημάδι} other {# σημειώνει}}", + "longestGap": "Μακρύτερη εκτέλεση χωρίς σήμα", + "chapters": "{count, plural, one {# κεφάλαιο} other {# κεφάλαια}}", + "end": "Τέλος" + }, + "emptyStage": { + "title": "Δεν υπάρχουν επισημάνσεις στο {title} ακόμα", + "body": "Στιγμιότυπα φθάνουν από τρία μέρη, και αυτή η σελίδα συλλέγει όλα αυτά σε μια σπονδυλική στήλη.", + "openReader": "Άνοιγμα του αναγνώστη", + "web": { + "title": "Διαβάστε το εδώ", + "body": "Επιλέξτε κείμενο στον ενσωματωμένο αναγνώστη και επιλέξτε ένα χρώμα." + }, + "kobo": { + "title": "Sync a Kobo", + "body": "Στιγμιότυπα που γίνονται στη συσκευή σας στον επόμενο συγχρονισμό." + }, + "koreader": { + "title": "Συγχρονισμός KOReader", + "body": "Το plugin ανεβάζει σημειώσεις με τις ακριβείς θέσεις τους." + } + }, + "shortcuts": { + "title": "Keyboard", + "description": "Συντομεύσεις πληκτρολογίου για τη λίστα επισημάνσεων.", + "move": "Επόμενο / προηγούμενο σημάδι", + "open": "Άνοιγμα του επιθεωρητή", + "back": "Πίσω στο ευρετήριο", + "search": "Αναζήτηση", + "note": "Γράψτε μια σημείωση", + "recolour": "Recolour", + "select": "Επιλέξτε αυτό το σημάδι", + "regroup": "Αναδιάταξη της ροής", + "copy": "Αντιγραφή προσφοράς", + "reader": "Άνοιγμα στον αναγνώστη" + }, + "railTitle": "Σημεία {marks} · Κεφάλαια {chapters}", + "whenMarked": "Όταν σημειώθηκαν", + "chapters": "Κεφάλαια", + "noChapter": "Χωρίς κεφάλαιο", + "views": { + "position": "Κατά σειρά ανάγνωσης", + "newest": "Νεότερα πρώτα", + "oldest": "Παλαιότερα πρώτα", + "colour": "Κατά χρώμα", + "source": "Ανά πηγή" + } }, "readingLog": { + "resetReadingState": "Επαναφορά κατάστασης ανάγνωσης", + "vitals": { + "aria": "Περίληψη ανάγνωσης", + "notSet": "Δεν έχει οριστεί", + "started": "Ξεκίνησε", + "finished": "Ολοκληρώθηκε", + "editStarted": "Επεξεργασία της ημερομηνίας που ξεκινήσατε αυτό το βιβλίο", + "editFinished": "Επεξεργαστείτε την ημερομηνία που ολοκληρώσατε αυτό το βιβλίο", + "totalTime": "Συνολικός χρόνος", + "sessions": "Συνεδρίες", + "avgSession": "Μέσος όρος συνεδρίας", + "activeDays": "Ενεργές ημέρες", + "activeDaysOf": "{active} του {total}", + "pace": "Ρυθμός", + "pacePerHour": "{percent}%/h", + "lastRead": "Τελευταία ανάγνωση", + "whereYouRead": "Όπου το διαβάζετε", + "addSession": "Προσθήκη συνεδρίας", + "durationHm": "{hours}h {minutes}m", + "durationM": "{minutes}m", + "durationS": "{seconds}s" + }, + "ledger": { + "title": "Συνεδρίες", + "none": "κανένα", + "colDay": "Ημέρα", + "colTime": "Ώρα", + "colLength": "Μήκος", + "colChange": "Αλλαγή", + "colPosition": "Θέση στο βιβλίο", + "colReached": "Έφτασε", + "colSource": "Πηγή", + "colFormat": "Μορφή", + "gapDays": "{count,plural,one{# ημέρα χωρίς διάβασμα} other{# ημέρες χωρίς ανάγνωση}}", + "attemptBegan": "Ξεκίνησε η προσπάθεια {index}", + "attemptOutsideAny": "Έξω από οποιαδήποτε προσπάθεια", + "empty": "Δεν έχουν καταγραφεί ακόμα συνεδρίες", + "emptyHint": "Ανοίξτε το βιβλίο στον αναγνώστη, συγχρονίστε μια συσκευή ή προσθέστε μια συνεδρία με το χέρι." + }, + "attempts": { + "title": "Προσπάθειες", + "none": "κανένα", + "ordinal": "Προσπάθεια {index}", + "addPast": "Προσθήκη προηγούμενης προσπάθειας", + "reread": "Αναγνωσμένο", + "rereadPrompt": "Να ξεκινήσετε μια νέα προσπάθεια ανάγνωσης;", + "rereadResetProgress": "Επαναφορά της θέσης ανάγνωσης στην αρχή. Οι συγχρονισμένες συσκευές μπορεί να λάβουν αυτήν την επαναφορά.", + "rereadConfirm": "Αρχίστε να ξαναδιαβάζετε", + "fieldStarted": "Ξεκίνησε", + "fieldEnded": "Τελείωσε", + "fieldOutcome": "Αποτέλεσμα", + "outcome": { + "completed": "Ολοκληρώθηκε", + "skimmed": "Αποκορυφωμένο", + "abandoned": "Εγκαταλειμμένο", + "inProgress": "Σε εξέλιξη" + }, + "spanRange": "{from} έως {to}", + "spanSince": "από το {from}", + "spanEnded": "έληξε {to}", + "spanUnknown": "Δεν έχουν καταγραφεί ημερομηνίες", + "sessionCount": "{count, plural, one {# συνεδρία} other {# συνεδρίες}}", + "endBeforeStart": "Η ημερομηνία λήξης πρέπει να είναι στην ή μετά την ημερομηνία έναρξης.", + "editAria": "Επεξεργασία αυτής της προσπάθειας", + "deleteAria": "Διαγραφή αυτής της προσπάθειας", + "cancelDeleteAria": "Ακύρωση διαγραφής αυτής της προσπάθειας", + "confirmDeleteAria": "Επιβεβαίωση διαγραφής αυτής της προσπάθειας", + "empty": "Δεν καταγράφηκαν προσπάθειες", + "emptyHint": "Ξεκινήστε μια νέα ανάγνωση ή προσθέστε μια προσπάθεια που ολοκληρώσατε πριν αυτή η βιβλιοθήκη υπάρχει." + }, + "records": { + "title": "Εγγραφές", + "longestSession": "Μεγαλύτερη συνεδρία", + "bestDay": "Καλύτερη μέρα", + "longestStreak": "Μακρύτερο σερί", + "streakDays": "{count, plural, one {# ημέρα} other {# ημέρες}}", + "pace": "Ρυθμός ανάγνωσης", + "jumpedBack": "Μετάβαση πίσω", + "jumpedBackTimes": "{count, plural, one {# χρόνος} other {# φορές}}", + "firstOpened": "Πρώτο άνοιγμα", + "empty": "Οι εγγραφές εμφανίζονται μόλις το βιβλίο έχει συνεδρίες." + }, + "band": { + "curve": "Καμπύλη", + "trace": "Ίχνος", + "switchAria": "Προβολή γραφήματος", + "curveTitle": "Πρόοδος με το χρόνο", + "traceTitle": "Πού ήσασταν στο βιβλίο", + "curveSubDays": "{active} ενεργές ημέρες σε όλο το {total}", + "curveSubSitting": "μία συνεδρίαση, συνεδρία ανά συνεδρία", + "traceSub": "κάθε μπαρ είναι το τέντωμα μία συνεδρία που καλύπτεται", + "traceSubWithBacktracks": "{count, plural, one {Κάθε μπάρα είναι μια συνεδρία, # πήδηξε πίσω} other {κάθε μπάρα είναι μια συνεδρία, # πήδηξε πίσω}}", + "legendPosition": "Η θέση επιτεύχθηκε", + "legendMinutes": "Λεπτά διαβασμένα", + "legendBacktrack": "Μετάβαση πίσω", + "traceEmpty": "Κανένα ίχνος ακόμα", + "traceEmptyHint": "Μόλις υπάρχουν συνεδρίες αυτό δείχνει το τέντωμα του βιβλίου κάθε ένα καλύπτεται, και όπου διπλασιάστηκε.", + "tooltipCovered": "Καλυμμένο {from}% σε {to}%", + "tooltipMinutes": "{minutes} ελάχ" + }, + "emptyStage": { + "title": "Τίποτα δεν έχει καταγραφεί για αυτό το βιβλίο ακόμα", + "description": "Ένα αρχείο καταγραφής ανάγνωσης είναι χτισμένο από συνεδρίες. Το BookOrbit καταγράφει ένα κάθε φορά που διαβάζετε στον αναγνώστη ιστού και παίρνει τα υπόλοιπα από τις συσκευές που συγχρονίζετε.", + "readerTitle": "Διαβάστε το εδώ", + "readerBody": "Κάθε λεπτό στον αναγνώστη BookOrbit καταγράφεται αυτόματα.", + "koreaderTitle": "Συγχρονισμός KOReader", + "koreaderBody": "Το plugin σπρώχνει κάθε κάθισμα πίσω, με τη σελίδα που φτάσατε.", + "koboTitle": "Sync a Kobo", + "koboBody": "Συνδέστε τη συσκευή και η BookOrbit διαβάζει τον δικό της μετρητή χρόνου ανάγνωσης.", + "addSession": "Προσθέστε μια συνεδρία στο χέρι", + "recordPast": "Καταγράψτε μια προηγούμενη ανάγνωση" + }, "moreActionsAria": "Περισσότερα ανάγνωση ενεργειών αρχείου καταγραφής", "export": { "button": "Εξαγωγή" @@ -3986,6 +7466,7 @@ "seconds": "{count}s πριν", "minutes": "{count}m πριν", "hours": "{count}h πριν", + "days": "{count}d πριν", "months": "{count, plural, =0 {# μήνας πριν από} one {# μήνας πριν από} other {# μήνες πριν}}", "years": "{count, plural, =0 {# πριν από χρόνο} one {# χρόνο πριν} other {# χρόνια πριν}}" }, @@ -3994,6 +7475,7 @@ "startFuture": "Η ημερομηνία έναρξης δεν μπορεί να είναι στο μέλλον.", "finishFuture": "Η ημερομηνία λήξης δεν μπορεί να είναι στο μέλλον.", "finishBeforeStart": "Η ημερομηνία λήξης πρέπει να είναι ενεργή ή μετά την ημερομηνία έναρξης.", + "finishBeforeStartWithDate": "Η ημερομηνία λήξης πρέπει να είναι κατά ή μετά την ημερομηνία έναρξης ({date}).", "saveFailed": "Αποτυχία αποθήκευσης των ημερομηνιών ανάγνωσης." }, "eta": { @@ -4047,6 +7529,8 @@ "table": { "title": "Συνεδρίες", "sourceWeb": "Ιστός", + "sourceIos": "Εφαρμογή iOS", + "sourceWatchos": "Apple Watch", "sourceManual": "Χειροκίνητα", "colDate": "Ημερομηνία", "colDateMobile": "Ημερομηνία", @@ -4056,6 +7540,7 @@ "colProgressChangeMobile": "Δέλτα", "colEndProgress": "Τέλος Προόδου", "colEndProgressMobile": "Τέλος", + "jumpToProgress": "Μετάβαση στο {progress}%", "empty": "Δεν έχουν καταγραφεί συνεδρίες ανάγνωσης ακόμα.", "emptyHint": "Προσθέστε μια συνεδρία για να ξεκινήσετε τη δημιουργία του ιστορικού ανάγνωσης αυτού του βιβλίου.", "colPace": "Ρυθμός", @@ -4105,6 +7590,7 @@ "moveDown": "Μετακίνηση κάτω", "removeSeries": "Αφαίρεση σειράς", "seriesIndexLabel": "Θέση στη σειρά", + "invalidSeriesIndex": "Εισάγετε ψηφία με το πολύ ένα δεκαδικό ψηφίο, όπως 5.10.", "totalLabel": "Βιβλία στη σειρά", "totalPlaceholder": "από", "totalHint": "Συνολικά βιβλία σε αυτή τη σειρά. Μοιράζονται με όλους όσους έχουν αυτή τη σειρά." @@ -4127,6 +7613,15 @@ "chips": { "addPlaceholder": "Προσθήκη..." }, + "quickFilter": { + "presentFiles": "Φιλτράρισμα για την παρουσίαση αρχείων", + "missingFiles": "Φίλτρο σε αρχεία που λείπουν", + "withCovers": "Φίλτρο σε βιβλία με εξώφυλλα", + "missingCovers": "Φιλτράρισμα σε βιβλία που λείπουν", + "missingAudioCovers": "Φίλτρο σε βιβλία που λείπουν audiobook καλύπτει", + "withValues": "Φιλτράρισμα σε γραμμές με τιμές", + "emptyRows": "Φίλτρο σε κενές γραμμές" + }, "cover": { "previewDescription": "Προεπισκόπηση εξώφυλλου βιβλίων", "editDescription": "Επεξεργασία εξώφυλλου βιβλίου", @@ -4162,6 +7657,9 @@ "clickToLock": "Κλικ για κλείδωμα", "clickToUnlock": "Κλικ για ξεκλείδωμα" }, + "progress": { + "complete": "Το {percent} ολοκληρώθηκε" + }, "rating": { "label": "Βαθμολογία", "remove": "Αφαίρεση βαθμολογίας", @@ -4170,7 +7668,10 @@ "read": { "play": "Αναπαραγωγή", "read": "Ανάγνωση", + "readFormat": "Διαβάστε το {format}", + "playFormat": "Παίξτε {format}", "primary": "Κύριο", + "peekFormat": "Κοιτάξτε {format}", "chooseFormat": "Επιλέξτε μορφή για ανάγνωση ή αναπαραγωγή", "fileFallback": "ΑΡΧΕΙΟ" }, @@ -4178,7 +7679,9 @@ "unread": "Αδιάβαστο" }, "series": { - "bookCount": "{count, plural, =0 {(όχι βιβλία)} one {(# βιβλίο)} other {(# βιβλία)}}" + "seriesRow": "Σειρά σειρών", + "bookCount": "{count, plural, =0 {(όχι βιβλία)} one {(# βιβλίο)} other {(# βιβλία)}}", + "readOfCount": "{read} από {total} διαβάστηκε" }, "text": { "openDetails": "Άνοιγμα λεπτομερειών" @@ -4195,10 +7698,13 @@ "confirm": "{count, plural, one {Μετακίνησε # βιβλίο} other {Μετακίνησε # βιβλία}}", "action": "Μετακίνηση στη βιβλιοθήκη", "review": { + "ready": "{count} έτοιμο", "collisions": "{count, plural, one {# σύγκρουση ονόματος} other {# το όνομα συγκρούεται}}", + "ineligible": "Το {count} δεν μπορεί να μετακινηθεί", "alreadyThere": "{count} ήδη εκεί", "collisionsHeading": "Διενέξεις ονόματος", - "ineligibleHeading": "Αδυναμία μετακίνησης" + "ineligibleHeading": "Αδυναμία μετακίνησης", + "moreCollisions": "και {count} περισσότερα" }, "policy": { "suggested": "Χρήση προτεινόμενων", @@ -4222,7 +7728,9 @@ }, "warning": { "accessLoss": "{user} θα σταματήσει να βλέπει {count} από αυτά τα βιβλία", + "koboImpact": "Τα βιβλία {count} θα αφήσουν το Kobo του {user} στον επόμενο συγχρονισμό", "layout": { + "wrap_into_folder": "Τα βιβλία {count} θα τοποθετηθούν το καθένα στον δικό του φάκελο", "dissolve_folder": "Οι φάκελοι {count} βιβλίου θα διαλυθούν σε μονά αρχεία" }, "crossDevice": "Τα αρχεία μετακινούνται σε άλλη μονάδα δίσκου, οπότε αντιγράφονται, επαληθεύονται και στη συνέχεια αφαιρούνται." @@ -4233,6 +7741,8 @@ }, "done": { "summary": "Μετακινήθηκε {count} βιβλία στο {library}", + "merged": "Το {count} συγχωνεύτηκε με αντίγραφα που υπάρχουν ήδη", + "skipped": "Το {count} παραβλέφθηκε", "failed": "{count} απέτυχε" }, "toast": { @@ -4276,6 +7786,7 @@ "label": { "paused": "Παύση", "remaining": "{count} απομένουν", + "processing": "Επεξεργασία {count}", "failed": "{count} απέτυχε", "rateLimited": "Περιορισμένη τιμή {count}" }, @@ -4285,6 +7796,7 @@ "noFailedItems": "Κανένα αποτυχημένο αντικείμενο.", "retryAllFailed": "Επανάληψη όλων απέτυχε", "bookFallback": "Κράτηση #{id}", + "authorFallback": "Συγγραφέας #{id}", "columns": { "title": "Τίτλος", "library": "Βιβλιοθήκη", @@ -4299,6 +7811,8 @@ "failedToCancel": "Αποτυχία ακύρωσης", "failedToRetry": "Αποτυχία επανάληψης", "failedItemsRequeued": "Αποτυχημένα αντικείμενα στην ουρά", + "bookComplete": "Η λήψη μεταδεδομένων ολοκληρώθηκε - Τα βιβλία {done} ενημερώθηκαν", + "bookDoneWithFailures": "Η ανάκτηση μεταδεδομένων ολοκληρώθηκε - Επεξεργάστηκε το {done}, το {failed} απέτυχε", "authorComplete": "Ο εμπλουτισμός του συγγραφέα ολοκληρώθηκε - ενημερώθηκε ο {done} συγγραφέας", "authorDoneWithFailures": "Ο εμπλουτισμός συγγραφέα ολοκληρώθηκε - Ο {done} επεξεργάστηκε το {failed} απέτυχε" } @@ -4307,6 +7821,7 @@ "apply": "Εφαρμογή", "done": "Ολοκληρώθηκε", "discard": "Απορρίψτε", + "deselect": "Αποεπιλογή", "finalize": "Ολοκλήρωση", "rescan": "Επανασάρωση", "uploadAction": "Ανέβασμα", @@ -4316,11 +7831,19 @@ "bulkEditAction": "Μαζική Επεξεργασία", "applyFetched": "Εφαρμογή Ανάκτησης", "retryErrors": "Επανάληψη Σφάλματος", + "discardDialog": { + "title": "{count,plural,one{Απόρριψη του επιλεγμένου αρχείου;} other{Απόρριψη των επιλεγμένων αρχείων #;} =0{Απόρριψη αρχείων;}}", + "description": "{count, plural, =0 {Δεν έχουν επιλεγεί αρχεία.} one {Αυτό διαγράφει μόνιμα το επιλεγμένο αρχείο από το δίσκο. Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.} other {Αυτό διαγράφει μόνιμα τα # επιλεγμένα αρχεία από το δίσκο. Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.}}", + "confirm": "{count, plural, one {Διαγραφή αρχείου} other {Διαγραφή # αρχείων}}", + "failed": "Τα επιλεγμένα αρχεία δεν μπόρεσαν να διαγραφούν. Δοκιμάστε ξανά." + }, "commaSeparated": "διαχωρισμένα με κόμμα", "destinationLibrary": "Βιβλιοθήκη Προορισμού", "destinationFolder": "Φάκελος Προορισμού", "nFailed": "{count} απέτυχε", "updatedOfFiles": "Ενημερώθηκε το {updated} από τα αρχεία {total}", + "errorStatus": "Σφάλμα {status}", + "invalidSeriesIndex": "Εισάγετε ψηφία με το πολύ ένα δεκαδικό ψηφίο, όπως 5.10.", "tab": { "all": "Όλα", "pending": "Εκκρεμεί", @@ -4352,7 +7875,25 @@ "description": "Περιγραφή" }, "upload": { - "nFailed": "{count} απέτυχε" + "nDone": "{count} έγινε", + "nFailed": "{count} απέτυχε", + "nTotal": "{count} σύνολο" + }, + "uploadFailures": { + "heading": "{count, plural, one {Δεν ήταν δυνατή η μεταφόρτωση # αρχείου} other {Δεν ήταν δυνατή η μεταφόρτωση # αρχείων}}", + "dismissAll": "Παράβλεψη όλων", + "retry": "Επανάληψη μεταφόρτωσης {name}", + "dismiss": "Παράβλεψη {name}", + "reason": { + "unsupported": "Μη υποστηριζόμενος τύπος αρχείου: .{extension}", + "noExtension": "Το αρχείο δεν έχει επέκταση, οπότε η μορφή του είναι άγνωστη", + "tooLarge": "Μεγαλύτερο από το όριο μεταφόρτωσης {limit}", + "tooLargeServer": "Μεγαλύτερο από το όριο μεταφορτώσεων του διακομιστή", + "tooLargeProxy": "Απορρίφθηκε ως πολύ μεγάλο πριν φτάσει στην BookOrbit, πιθανώς από έναν αντίστροφο διακομιστή μεσολάβησης", + "storageFull": "Ο διακομιστής είναι εκτός χώρου αποθήκευσης", + "network": "Δεν ήταν δυνατή η πρόσβαση στο διακομιστή", + "status": "Αποτυχία μεταφόρτωσης (HTTP {status})" + } }, "fileList": { "emptyTitle": "Δεν υπάρχουν αρχεία στη Βάση Βιβλίων", @@ -4368,6 +7909,7 @@ "applyFetchedMetadata": "Εφαρμογή ληφθέντων μεταδεδομένων", "coverPreview": "Προεπισκόπηση εξώφυλλου", "coverPreviewDescription": "Διευρυμένο διάλογο προεπισκόπησης εξωφύλλου.", + "currentCoverAlt": "{title} τρέχον κάλυμμα", "newCoverAlt": "{title} νέο εξώφυλλο", "unknownLibrary": "Άγνωστη βιβλιοθήκη", "unassigned": "Ανεκχώρησε", @@ -4392,6 +7934,7 @@ "failed": "Η μαζική επεξεργασία απέτυχε" }, "setDestination": { + "title": "{count,plural,one{Ορίστε τον προορισμό για το αρχείο #} other{Ορίστε τον προορισμό για αρχεία #} =0{Ορίστε τον προορισμό για κανένα αρχείο}}", "resultTitle": "Ο Προορισμός Ενημερώθηκε", "failed": "Αποτυχία ορισμού προορισμού" }, @@ -4403,6 +7946,7 @@ "defaultDestinationLibrary": "Προεπιλεγμένη Βιβλιοθήκη Προορισμού", "defaultDestinationFolder": "Προεπιλεγμένος Φάκελος Προορισμού", "renamePreview": "Μετονομασία προεπισκόπησης", + "moreFiles": "+{count} περισσότερα αρχεία", "start": "Έναρξη", "filesFinalized": "{succeeded} από {total} αρχεία οριστικοποιήθηκε", "checking": "Έλεγχος επιλεγμένων αρχείων...", @@ -4411,6 +7955,7 @@ "conflictCount": "{count, plural, =0 {Κανένα όνομα αρχείου δεν συγκρούεται} one {# σύγκρουση ονόματος αρχείου} other {# το όνομα αρχείου συγκρούεται}}", "missingDestinationCount": "{count, plural, =0 {Δεν λείπουν προορισμοί} one {# λείπει ο προορισμός} other {# λείπουν προορισμοί}}", "blockedCount": "{count, plural, =0 {Κανένα αρχείο μπλοκάρει} one {# το αρχείο μπλοκάρει} other {# τα αρχεία μπλοκαρισμένα}}", + "moreDuplicates": "+{count} περισσότερα ήδη στη βιβλιοθήκη", "discardDuplicates": "Απόρριψη διπλότυπων", "failedCount": "{count, plural, =0 {Κανένα αρχείο απέτυχε} one {# το αρχείο απέτυχε} other {# τα αρχεία απέτυχε}}", "failedWithDuplicates": "{count, plural, =0 {{failed} απέτυχε (# διπλότυπα)} one {{failed} απέτυχε (# διπλότυπο)} other {{failed} απέτυχε (# διπλότυπα)}}", @@ -4434,9 +7979,14 @@ "ready": "Έτοιμο", "error": "Σφάλμα" }, + "working": { + "label": "Το {count} λειτουργεί" + }, "row": { + "select": "Επιλέξτε {title}", "setDestination": "Ορισμός προορισμού", "file": "Αρχείο", + "match": "{percent}% αντιστοιχία", "noAuthor": "Κανένας συγγραφέας ακόμα", "proposedChanges": "Προτεινόμενες αλλαγές", "noChanges": "Δεν έχουν ληφθεί μεταδεδομένα ακόμα", @@ -4445,16 +7995,21 @@ "applied": "Εφαρμοσμένο", "refetch": "Επανανάκτηση μεταδεδομένων", "clickToZoom": "Κάντε κλικ σε ένα εξώφυλλο για μεγέθυνση", - "changedFields": "{count, plural, one {# πεδίο} other {# πεδία}}" + "changedFields": "{count, plural, one {# πεδίο} other {# πεδία}}", + "needMore": "Θέλετε να αναζητήσετε παρόχους ή να επεξεργαστείτε άλλα πεδία;" }, "selection": { - "fileToLibrary": "{count, plural, =0 {Αρχείο στη βιβλιοθήκη} one {Αρχείο # στη βιβλιοθήκη} other {Αρχείο # στη βιβλιοθήκη}}" + "fileToLibrary": "{count, plural, =0 {Αρχείο στη βιβλιοθήκη} one {Αρχείο # στη βιβλιοθήκη} other {Αρχείο # στη βιβλιοθήκη}}", + "nSelected": "Επιλέχθηκε το {count}", + "nReadyToFile": "{count} έτοιμο για αρχειοθέτηση" }, "empty": { "nothingToReview": "Κάθε έτοιμο αρχείο έχει προορισμό και μια σίγουρη αντιστοιχία.", + "nothingReadyToFile": "Κανένα αρχείο δεν είναι έτοιμο για αρχείο.", "dropHint": "Ή αποθέστε αρχεία οπουδήποτε σε αυτή τη σελίδα." }, "selectAllOnPage": "Επιλογή όλων των αρχείων σε αυτή τη σελίδα", + "showingOf": "{shown} του {total}", "keyboardHint": "J / K για να μετακινήσετε · χώρο για να επιλέξετε · εισάγετε για να επεκτείνετε", "allOnPageSelected": "Όλοι οι {count} σε αυτή τη σελίδα είναι επιλεγμένοι.", "selectAllMatching": "Επιλογή όλων των {count} ταιριάσματος", @@ -4475,10 +8030,841 @@ "access_denied": "Καμία πρόσβαση", "invalid_format": "Κακή μορφή", "error": "Θα αποτύχει" + }, + "unit": { + "fileCount": "{count, plural, one {# αρχείο} other {# αρχεία}}", + "filesHeading": "{count, plural, one {Αρχείο σε αυτήν την καταχώρηση} other {# αρχεία σε αυτήν την καταχώρηση}}", + "role": { + "content": "Βιβλίο", + "cover": "Εξώφυλλο", + "metadata": "Μεταδεδομένα", + "supplement": "Επιπλέον" + } } } }, + "bookRequests": { + "title": "Αιτήματα (Beta)", + "subtitle": "Ερώτηση για βιβλία που δεν έχει ακόμη η βιβλιοθήκη. Αυτή η λειτουργία είναι πειραματική, αναμένει μικρά σφάλματα.", + "tabs": { + "search": "Ζητήστε ένα βιβλίο", + "mine": "Τα αιτήματά μου", + "all": "Όλα τα αιτήματα" + }, + "mediaKind": { + "ebook": "E-book", + "audiobook": "Audiobook", + "comic": "Κόμικς" + }, + "status": { + "pending": "Εκκρεμεί", + "approved": "Εγκρίθηκε", + "rejected": "Απορρίφθηκε", + "cancelled": "Ακυρώθηκε", + "searching": "Αναζήτηση", + "grabbed": "Άρπαξε", + "downloading": "Λήψη", + "importing": "Εισαγωγή", + "needs_review": "Χρειάζεται αναθεώρηση", + "available": "Διαθέσιμο", + "failed": "Απέτυχε" + }, + "search": { + "titleLabel": "Τίτλος", + "titlePlaceholder": "Τίτλος βιβλίου", + "authorLabel": "Συγγραφέας", + "authorPlaceholder": "Όνομα συγγραφέα", + "mediaKindLabel": "Μορφή", + "libraryLabel": "Προσθήκη στη βιβλιοθήκη", + "libraryAny": "Αφήστε την έγκριση να αποφασίσει", + "libraryDefault": "Προεπιλογή ({library})", + "libraryChoose": "Επιλέξτε μια βιβλιοθήκη", + "libraryRequired": "Τα αιτήματά σας εγκρίνονται μόλις τα κάνετε, έτσι ώστε να επιλέξετε τη βιβλιοθήκη στο οποίο θα πρέπει να προσγειωθεί το βιβλίο.", + "fulfillmentLabel": "Εκπλήρωση", + "fulfillmentAutomatic": "Αυτόματο", + "fulfillmentChooseRelease": "Επιλέξτε μια έκδοση", + "folderLabel": "Φάκελος", + "languageLabel": "Αίτηση γλώσσας", + "languageAny": "Οποιαδήποτε γλώσσα", + "languageDefaultToggleLabel": "Χρησιμοποιήστε αυτή τη γλώσσα για νέες αιτήσεις", + "languageDefaultSetHint": "Ερώτηση για αυτή τη γλώσσα σε κάθε νέα αίτηση", + "languageDefaultClearHint": "Σταματήστε να ζητάτε αυτή τη γλώσσα από προεπιλογή", + "languageDefaultSaved": "Νέες αιτήσεις θα ζητήσουν {language}", + "languageDefaultCleared": "Τα νέα αιτήματα θα ακολουθήσουν τη διεπαφή σας", + "languageDefaultFailed": "Δεν ήταν δυνατή η αποθήκευση των προτιμήσεων γλώσσας σας", + "submit": "Αναζήτηση", + "searching": "Αναζήτηση παρόχων...", + "noResultsTitle": "Δεν βρέθηκαν βιβλία που να ταιριάζουν", + "noResultsHint": "Δοκιμάστε διαφορετικό τίτλο ή συγγραφέα.", + "noResultsIndexerHint": "Δοκιμάστε έναν διαφορετικό τίτλο ή συγγραφέα, ή αναζητήστε τα ευρετήρια για \"{title}\" και να επιλέξετε μόνοι σας μια κυκλοφορία.", + "freeTextAction": "Αναζήτηση ευρετηρίων", + "manualSearchAction": "Χειροκίνητη αναζήτηση ευρετηρίων", + "yearUnknown": "Άγνωστο έτος", + "sourceCount": "{count, plural, one {# πηγή} other {# πηγές}}", + "sourcesLabel": "Πηγές: {sources}", + "sourcesUnavailable": "Ορισμένες πηγές δεν απάντησαν, επομένως τα αποτελέσματα ενδέχεται να είναι ελλιπή: {sources}", + "identifiers": { + "none": "Δεν Υπάρχει ISBN", + "one": "1 ISBN", + "confirmed": "Το ISBN επιβεβαιώθηκε", + "count": "{count} ISBNs", + "sourcesTitle": "Πηγές μεταδεδομένων", + "provider": "Πάροχος", + "providerTitle": "Τίτλος παρόχου", + "isbn": "ISBN", + "year": "Έτος", + "language": "Γλώσσα", + "notProvided": "Δεν παρέχεται", + "searchScope": "Επιλέξτε ένα από τα {count, plural, one {# ISBN} other {# ISBNs}} για αναζήτηση ή αναζήτηση με βάση τον τίτλο και τον συγγραφέα.", + "searchScopeLimited": "Επιλέξτε ένα ISBN για αναζήτηση.", + "titleAuthorOnly": "Δεν δόθηκε ISBN. Το BookOrbit θα ψάξει μία φορά με τίτλο και συγγραφέα.", + "chooseSearch": "Επιλέξτε μια έκδοση για αναζήτηση", + "searchByEdition": "Βρείτε μια έκδοση για μια έκδοση", + "findRelease": "Εύρεση κυκλοφορίας", + "primaryIsbn": "ISBN {isbn}", + "primaryTitleAuthor": "Τίτλος και συγγραφέας", + "recommended": "Προτεινόμενο", + "recommendationHelpLabel": "Πώς η BookOrbit επιλέγει το συνιστώμενο ISBN", + "recommendationTitle": "Πώς επιλέγεται η προτεινόμενη αναζήτηση", + "recommendationLanguage": "Προτιμήστε την ζητούμενη γλώσσα, έπειτα μια άγνωστη γλώσσα, πριν από μια γνωστή αναντιστοιχία.", + "recommendationAgreement": "Προτιμήστε ένα ISBN που επιβεβαιώνεται από περισσότερους ανεξάρτητους παρόχους μεταδεδομένων.", + "recommendationProvider": "Χρήση σταθερής προτεραιότητας παρόχου μεταδεδομένων της BookOrbit.", + "recommendationRelevance": "Χρησιμοποιήστε τη θέση της έκδοσης στα αποτελέσματα αυτού του παρόχου.", + "recommendationYear": "Προτιμήστε ένα έτος πιο κοντά στο έργο νωρίτερα γνωστή χρονιά.", + "recommendationStable": "Χρησιμοποιήστε το ίδιο το ISBN ως τον τελικό σταθερό διακόπτη ισοπαλίας.", + "recommendationFallback": "Αν δεν υπάρχει διαθέσιμο έγκυρο ISBN, η BookOrbit αναζητά μία φορά ανά τίτλο και συγγραφέα. Επιλέγοντας μια έκδοση από το μενού αντικαθιστά πάντα αυτή τη σύσταση.", + "withoutIsbn": "Αναζήτηση με τίτλο και συγγραφέα", + "action": "Ενέργεια" + }, + "request": "Αίτημα", + "download": "Λήψη", + "getAutomatically": "Αυτόματη λήψη", + "chooseRelease": "Επιλέξτε έκδοση", + "joinRequest": "Πρόσθεσέ με επίσης", + "submitted": "Το αίτημα υποβλήθηκε", + "joinedExisting": "Σας προσέθεσε στο υπάρχον αίτημα", + "submitFailed": "Δεν ήταν δυνατή η υποβολή αυτού του αιτήματος", + "alreadyInLibrary": "Ήδη στη βιβλιοθήκη σας", + "alreadyRequested": "Ζητήθηκε ήδη από κάποιον άλλο", + "alreadyRequestedByYou": "Το ζητήσατε ήδη", + "preferredFormatsLabel": "Προτιμώμενες μορφές", + "preferredFormatsHint": "Οι κυκλοφορίες σε αυτές τις μορφές κατατάσσονται υψηλότερα. Άλλες μορφές εξακολουθούν να προσφέρονται.", + "noteLabel": "Σημείωση για την έγκριση", + "notePlaceholder": "Οτιδήποτε αξίζει να γνωρίζετε για αυτό το αίτημα", + "moreOptions": "Περισσότερες επιλογές", + "fewerOptions": "Λιγότερες επιλογές", + "optionsSummary": "{formats} · προστέθηκε σημείωση", + "formatToggleAria": "Προτιμήστε το {format}", + "pair": { + "choice": "Αμφότερα", + "choiceHint": "Ρωτήστε για το ηλεκτρονικό βιβλίο και το audiobook μαζί", + "ebookLibraryLabel": "Βιβλιοθήκη ηλεκτρονικού βιβλίου", + "audiobookLibraryLabel": "Βιβλιοθήκη ήχου", + "audiobookFolderLabel": "Φάκελος ήχου", + "landsTogether": "Και οι δύο μορφές φτάνουν ως ένα βιβλίο στο {library}.", + "landsSeparately": "{library} κρατά ένα βιβλίο ανά αρχείο, έτσι ώστε κάθε μορφή φτάνει ως δικό του βιβλίο.", + "landsApart": "Το ηλεκτρονικό βιβλίο και το audiobook πηγαίνουν σε διαφορετικές βιβλιοθήκες, έτσι ώστε να φτάνουν ως δύο βιβλία.", + "preferredEbookFormats": "Προτιμώμενες μορφές ηλεκτρονικού βιβλίου", + "preferredAudiobookFormats": "Προτιμώμενες μορφές ήχου", + "state": { + "owned": "Στη βιβλιοθήκη σας", + "following": "Το ζητήσατε", + "joinable": "Ζητήθηκε", + "new": "Δεν ζητήθηκε" + }, + "requestBoth": "Ζητήστε και τα δύο", + "getBoth": "Λήψη και των δύο", + "chooseReleases": "Επιλογή εκδόσεων", + "joinBoth": "Πρόσθεσέ με και στα δύο", + "requestEbook": "Αίτηση e-book", + "requestAudiobook": "Αίτηση audiobook", + "getEbook": "Λήψη e-book", + "getAudiobook": "Λήψη audiobook", + "joinEbook": "Πρόσθεσέ με στο αίτημα e-book", + "joinAudiobook": "Πρόσθεσέ με στο αίτημα audiobook", + "haveBoth": "Στη βιβλιοθήκη σας", + "requestedBoth": "Ζητήθηκε", + "submitted": "Ζητήθηκε το ηλεκτρονικό βιβλίο και το audiobook", + "submittedPartlyJoined": "Ζήτησε και τα δύο. Κάποιος ήταν ήδη στο δρόμο του, έτσι σας προστέθηκαν σε αυτό το αίτημα", + "submittedJoinsBook": "Ζητήθηκε. Θα εγγραφεί στο αντίγραφο ήδη στη βιβλιοθήκη σας" + } + }, + "card": { + "details": "Λεπτομέρειες", + "mediaKind": "Μορφή", + "library": "Βιβλιοθήκη", + "requestedBy": "Ζητήθηκε από", + "requestedByAt": "{name} στο {time}", + "alsoWanted": "Επίσης ήθελε από", + "alsoWantedCount": "{count, plural, one {# άλλος άνθρωπος θέλει αυτό} other {# άλλοι θέλουν αυτό}}", + "moreActions": "Περισσότερες ενέργειες για το {title}", + "settledIn": "Κατατίθενται στο {library}, {time}", + "settledAt": "Κλειστό {time}", + "dismissedBadge": "Απορρίφθηκε" + }, + "detail": { + "unknownAuthor": "Άγνωστος συντάκτης", + "requestedBy": "Ζητήθηκε από", + "requestedOn": "Ζητήθηκε στις", + "library": "Βιβλιοθήκη", + "series": "Σειρά", + "isbn": "ISBN", + "decidedBy": "Αποφασίστηκε από", + "requesterNote": "Σημείωση από τον αιτούντα", + "decisionNote": "Σημείωση απόφασης", + "statusReason": "Τι το σταμάτησε", + "alsoWanted": "Επίσης ήθελε από", + "decisionNoteLabel": "Σημείωση (προαιρετικό)", + "decisionNotePlaceholder": "Εξηγήστε την απόφαση", + "destinationLibraryLabel": "Βιβλιοθήκη προορισμού", + "destinationLibraryPlaceholder": "Επιλέξτε μια βιβλιοθήκη", + "destinationFolderLabel": "Φάκελος προορισμού", + "languageLabel": "Η γλώσσα ζητήθηκε", + "languageAny": "Οποιαδήποτε γλώσσα", + "destinationRequired": "Έγκριση αρχείων του βιβλίου σε μια βιβλιοθήκη, οπότε επιλέξτε ένα πριν εγκρίνετε.", + "fulfilTitle": "Κλείσιμο αυτού του αιτήματος", + "fulfilHint": "Υποδείξτε το αίτημα στο βιβλίο που προσθέσατε, ή στο αρχείο Book Dock που περιμένει να κατατεθεί.", + "bookIdLabel": "Αναγνωριστικό Βιβλίου", + "bookIdPlaceholder": "π.χ. 128", + "dockFileIdLabel": "Αναγνωριστικό αρχείου βάσης δεδομένων", + "dockFileIdPlaceholder": "π.χ. 42", + "backToList": "Όλα τα αιτήματα", + "loading": "Φόρτωση αιτήματος...", + "transfer": "Μεταφορά", + "requestSection": "Αίτημα", + "decideTitle": "Έγκριση ή απόρριψη", + "fulfilSourceLabel": "Τι κλείνει αυτό το αίτημα", + "fulfilFromLibrary": "Ένα βιβλίο στη βιβλιοθήκη", + "fulfilFromDock": "Ένα αρχείο βάσης βιβλίων", + "fulfilSearchLabel": "Αναζήτηση για το αρχείο που κλείνει αυτό το αίτημα", + "fulfilSearchBooks": "Αναζήτηση στη βιβλιοθήκη σας με τίτλο ή συγγραφέα", + "fulfilSearchDock": "Αναζήτηση στο Βιβλίο Dock με όνομα αρχείου", + "fulfilSearching": "Αναζήτηση...", + "fulfilNoResults": "Τίποτα δεν ταιριάζει. Δοκιμάστε μια διαφορετική αναζήτηση.", + "errors": { + "notFound": "Το αίτημα αυτό δεν υπάρχει πλέον.", + "forbidden": "Το αίτημα αυτό ανήκει σε κάποιον άλλο.", + "loadFailed": "Αδύνατη η φόρτωση του αιτήματος" + }, + "entityName": "Αίτημα", + "pairSwitchLabel": "Μορφές σε αυτό το αίτημα", + "joinsBook": "Συμμετέχει σε ένα βιβλίο που έχετε", + "joinsBookHint": "Όταν αυτό φτάσει, προστίθεται στο βιβλίο ήδη στη βιβλιοθήκη σας" + }, + "actions": { + "approve": "Έγκριση", + "approveAndNext": "Έγκριση και επόμενη", + "reject": "Απόρριψη", + "cancel": "Ακύρωση αιτήματος", + "cancelDownload": "Ακύρωση λήψης", + "dismiss": "Απόρριψη", + "restore": "Επαναφορά", + "delete": "Διαγραφή αιτήματος", + "markFulfilled": "Επιτυχής σήμανση", + "grab": "Βρείτε μια έκδοση", + "goToBook": "Μεταβείτε στο βιβλίο", + "retryRelease": "Δοκιμάστε μια άλλη έκδοση", + "leave": "Αφήστε αίτημα", + "pair": { + "approveBoth": "Έγκριση και των δύο", + "approveEbook": "Έγκριση ηλεκτρονικού βιβλίου", + "approveAudiobook": "Έγκριση audiobook", + "rejectBoth": "Απόρριψη και των δύο", + "rejectEbook": "Απόρριψη e-book", + "rejectAudiobook": "Απόρριψη audiobook", + "cancelBoth": "Ακύρωση και των δύο", + "cancelEbook": "Ακύρωση e-book", + "cancelAudiobook": "Ακύρωση audiobook", + "dismissBoth": "Απόρριψη και των δύο", + "dismissEbook": "Απόρριψη e-book", + "dismissAudiobook": "Απόρριψη audiobook", + "restoreBoth": "Επαναφορά και των δύο", + "restoreEbook": "Επαναφορά ηλεκτρονικού βιβλίου", + "restoreAudiobook": "Επαναφορά αρχείου ήχου", + "grabEbook": "Βρείτε μια έκδοση e-book", + "grabAudiobook": "Βρείτε μια audiobook έκδοση", + "chooseReleases": "Επιλογή εκδόσεων", + "openEbook": "Άνοιγμα αιτήματος ηλεκτρονικού βιβλίου", + "openAudiobook": "Άνοιγμα του αιτήματος audiobook" + } + }, + "filters": { + "status": "Κατάσταση", + "anyStatus": "Οποιαδήποτε κατάσταση", + "mediaKind": "Μορφή", + "anyMediaKind": "Οποιαδήποτε μορφή", + "requester": "Αιτών", + "anyRequester": "Οποιοσδήποτε αιτών", + "showDismissed": "Εμφάνιση απορριφθέντων", + "fulfilment": "Ολοκλήρωση", + "anyFulfilment": "Οποιαδήποτε ολοκλήρωση", + "selfServeOnly": "Αυτοεξυπηρετούμενο", + "approvedOnly": "Πήγαινε με έγκριση" + }, + "list": { + "loading": "Φόρτωση αιτήσεων...", + "emptyMine": "Δεν έχετε ακόμη ζητήσει βιβλία.", + "emptyAll": "Δεν υπάρχουν ακόμα αιτήματα βιβλίου.", + "pagination": "Αίτηση σελίδων", + "pageOf": "Σελίδα {page} του {total}", + "emptyHint": "Αναζητήστε ένα βιβλίο και θα εμφανιστεί εδώ μόλις το ζητήσετε." + }, + "toasts": { + "approved": "Το αίτημα εγκρίθηκε", + "rejected": "Το αίτημα απορρίφθηκε", + "cancelled": "Το αίτημα ακυρώθηκε", + "downloadCancelled": "Η λήψη ακυρώθηκε", + "dismissed": "Κρυφό από τη λίστα σας", + "restored": "Επιστροφή στη λίστα σας", + "deleted": "Το αίτημα διαγράφηκε", + "fulfilled": "Το αίτημα έχει επισημανθεί", + "grabbed": "Η λήψη ξεκίνησε", + "downloadRemoved": "Αφαιρέθηκε από τον πελάτη λήψης", + "bulkApproved": "{count, plural, one {# αίτηση εγκρίθηκε} other {# οι αιτήσεις εγκρίθηκαν}}", + "bulkApprovedPartial": "Το {done} εγκρίθηκε, το {failed} δεν μπορούσε να είναι", + "bulkDismissed": "{count, plural, one {# αίτημα κρυμμένο} other {# αιτήματα κρυμμένα}}", + "bulkDismissedPartial": "{done} hidden, {failed} δεν μπορούσε να είναι", + "unitChosen": "Εισαγωγή του βιβλίου που επιλέξατε", + "languageChanged": "Η αίτηση γλώσσας ενημερώθηκε", + "left": "Έχετε αφήσει αυτό το αίτημα", + "bulkRejected": "{count, plural, one {# το αίτημα απορρίφθηκε} other {# οι αιτήσεις απορρίφθηκαν}}", + "bulkRejectedPartial": "Το {done} απορρίφθηκε, το {failed} δεν μπορούσε να είναι", + "importDiscarded": "Το εισαγόμενο αρχείο απορρίφθηκε", + "pairApproved": "Εγκρίθηκε και", + "pairRejected": "Απορρίφθηκε και τα δύο" + }, + "errors": { + "loadFailed": "Αδύνατη η φόρτωση αιτήσεων", + "approveFailed": "Δεν ήταν δυνατή η έγκριση αυτού του αιτήματος", + "rejectFailed": "Δεν ήταν δυνατή η απόρριψη αυτού του αιτήματος", + "cancelFailed": "Δεν ήταν δυνατή η ακύρωση αυτού του αιτήματος", + "cancelDownloadFailed": "Δεν ήταν δυνατή η ακύρωση της λήψης", + "dismissFailed": "Δεν ήταν δυνατή η απόκρυψη αυτού του αιτήματος", + "restoreFailed": "Δεν ήταν δυνατή η επαναφορά αυτού του αιτήματος", + "deleteFailed": "Δεν ήταν δυνατή η διαγραφή αυτού του αιτήματος", + "fulfilFailed": "Δεν ήταν δυνατό να κλείσει αυτό το αίτημα", + "grabFailed": "Αδυναμία εκκίνησης αυτής της λήψης", + "removeDownloadFailed": "Δεν ήταν δυνατή η αφαίρεση αυτού του torrent από τον πελάτη λήψης", + "bulkApproveFailed": "Δεν ήταν δυνατή η έγκριση των επιλεγμένων αιτήσεων", + "bulkDismissFailed": "Δεν ήταν δυνατή η απόκρυψη των επιλεγμένων αιτήσεων", + "selectUnitFailed": "Αυτό το βιβλίο δεν μπόρεσε να εισαχθεί.", + "languageChangeFailed": "Δεν ήταν δυνατή η αλλαγή της γλώσσας αιτήματος", + "leaveFailed": "Αυτό το αίτημα δεν μπορεί να μείνει", + "bulkRejectFailed": "Αυτή η επιλογή δεν μπορεί να απορριφθεί", + "discardImportFailed": "Αυτή η εισαγωγή δεν μπόρεσε να απορριφθεί", + "approveCompanionFailedEbook": "Εγκρίθηκε αυτό, αλλά το ηλεκτρονικό βιβλίο δεν μπορούσε να εγκριθεί", + "approveCompanionFailedAudiobook": "Εγκρίθηκε αυτό, αλλά το audiobook δεν μπορούσε να εγκριθεί" + }, + "grab": { + "title": "Αποστολή σε ένα πρόγραμμα λήψης", + "subtitle": "Επικολλήστε έναν σύνδεσμο μαγνήτη ή ανεβάστε ένα .torrent για το \"{title}\".", + "singleFileNote": "Μια έκδοση μπορεί να είναι ένα βιβλίο σε διάφορες μορφές, ένα audiobook σε μέρη, ή ένα αρχείο - όλες αυτές οι εισαγωγές ως ένα μόνο βιβλίο. Μια κυκλοφορία που κρατά πολλά ξεχωριστά βιβλία σας ζητά ποια να κρατήσετε.", + "magnet": "Magnet link", + "torrentFile": ".torrent αρχείο", + "client": "Λήψη πελάτη", + "submit": "Αποστολή", + "errors": { + "pickOne": "Δώστε είτε έναν σύνδεσμο μαγνήτη είτε ένα αρχείο .torrent, όχι και οι δύο", + "fileTooLarge": "Αυτό το αρχείο είναι μεγαλύτερο από το {limit}, έτσι δεν είναι ένα αρχείο .torrent", + "fileUnreadable": "Δεν ήταν δυνατή η ανάγνωση αυτού του αρχείου" + }, + "noClientList": "Το BookOrbit θα χρησιμοποιήσει τον υπολογιστή-πελάτη λήψης με την υψηλότερη προτεραιότητα." + }, + "attempts": { + "title": "Προηγούμενες προσπάθειες", + "loading": "Φόρτωση προηγούμενων προσπαθειών...", + "loadFailed": "Αδύνατη η φόρτωση των προηγούμενων προσπαθειών", + "refused": "Απορρίφθηκε, τίποτα δεν λήφθηκε", + "handPicked": "Αποστολή με το χέρι" + }, + "download": { + "source": { + "automatic": "Αυτόματη αρπαγή", + "manual": "Επιλέχθηκε από έναν εγκριτή", + "pasted": "Επικόλληση με το χέρι" + }, + "transferred": "{done} του {total}", + "transferredUnknown": "Έγινε λήψη του {done}", + "progressLabel": "Πρόοδος λήψης για {title}", + "status": { + "queued": "Σε αναμονή για λήψη", + "downloading": "Λήψη", + "completed": "Η λήψη ολοκληρώθηκε", + "importing": "Εισαγωγή στη βιβλιοθήκη σας", + "needs_review": "Αναμονή για κριτική στην Βάση Βιβλίου", + "imported": "Προστέθηκε στη βιβλιοθήκη σας", + "failed": "Αποτυχία λήψης" + } + }, + "releases": { + "title": "Διαλέξτε μια έκδοση", + "retryTitle": "Δοκιμάστε μια άλλη έκδοση", + "pairTitle": "Διαλέξτε εκδόσεις", + "pair": { + "tabsLabel": "Μορφές για να διαλέξετε εκδόσεις για", + "releaseCount": "{count, plural, one {# κυκλοφορεί} other {# κυκλοφορεί}}", + "searching": "Αναζήτηση", + "toChoose": "Για να επιλέξετε", + "sent": "Απεσταλμένα", + "finishedTitle": "Τίποτα δεν απέμεινε για να επιλέξετε", + "finishedHint": "Και οι δύο μορφές έχουν τώρα την κυκλοφορία τους. Μπορείτε να ακολουθήσετε κάθε μία από το αίτημα.", + "backToRequest": "Πίσω στο αίτημα", + "done": "Ολοκληρώθηκε" + }, + "subtitle": "Κατατάχθηκε σε κάθε ενεργοποιημένο ευρετήριο.", + "summaryCount": "{count, plural, one {# κυκλοφορεί} other {# κυκλοφορεί}}", + "allFreeleech": "όλα τα freeleech", + "allLanguage": "όλα {language}", + "allFormat": "όλα {format}", + "allIndexer": "όλα από το {name}", + "criteria": { + "label": "Ενεργή αναζήτηση", + "searched": "Αναζητήθηκε", + "searchedTitleAuthor": "Αναζήτηση τίτλου και συγγραφέα", + "nothingFound": "Τίποτα δεν βρέθηκε για {key}", + "changeSearch": "Αλλαγή αναζήτησης", + "closeSearch": "Κλείσιμο", + "sources": "Πηγές", + "sourceSearchedIsbn": "αναζήτηση στο ISBN", + "sourceSearchedTitleAuthor": "έψαξε τον τίτλο και τον συγγραφέα", + "sourceNoAdapter": "δεν υπάρχει αντίστοιχος προσαρμογέας", + "sourceReleases": "{count, plural, one {# κυκλοφορεί} other {# κυκλοφορεί}}", + "sourceNone": "δεν υπάρχουν αντιστοιχίες", + "sourceFiltered": "Το {count} φιλτραρίστηκε", + "sourcesSearched": "{count, plural, one {# αναζήτηση πηγαίου κώδικα} other {# αναζήτησαν πηγές}}", + "showEachSource": "Εμφάνιση κάθε", + "uncovered": "{count, plural, one {# η ενεργοποιημένη πηγή κάνει} other {# οι ενεργοποιημένες πηγές κάνουν}} δεν μεταφέρουν αυτό το είδος βιβλίου", + "fixSource": "Διόρθωση στις ρυθμίσεις", + "searchInstead": "Αναζήτηση αντ' αυτού", + "keyTried": "δοκιμάστηκε, δεν βρέθηκε τίποτα", + "keyTriedCount": "προσπάθησε, {count, plural, one {# απελευθέρωση} other {# κυκλοφορίες}}", + "searchWithoutIsbn": "Τίτλος και συγγραφέας", + "customIsbnSource": "Προσαρμοσμένο ISBN", + "filteredLocally": "Φιλτραρισμένο τοπικά:", + "title": "Τίτλος", + "author": "Συγγραφέας", + "additionalAuthors": "Πρόσθετοι συντάκτες", + "isbn10": "ISBN-10", + "isbn13": "ISBN-13", + "isbns": "ISBNs", + "mediaKind": "Πολυμέσα", + "language": "Γλώσσα", + "formats": "Προτιμώμενες μορφές", + "editFields": "Επεξεργασία πεδίων", + "closeEditor": "Κλείσιμο επεξεργαστή", + "authorsEditor": "Συγγραφείς, ένας ανά γραμμή", + "authorsPlaceholder": "Ένας συγγραφέας ανά γραμμή", + "authorsInvalid": "Χρησιμοποιήστε όχι περισσότερα από 50 συγγραφείς, με 255 χαρακτήρες ή λιγότερα ανά συγγραφέα.", + "languagePlaceholder": "Οποιαδήποτε γλώσσα", + "formatsPlaceholder": "epub, azw3", + "formatsInvalid": "Χρησιμοποιήστε όχι περισσότερες από 20 μορφές, με 20 χαρακτήρες ή λιγότερες ανά μορφή.", + "isbnSelection": "Μέθοδος αναζήτησης", + "isbnSelectionHint": "Επιλέξτε ένα ISBN, τίτλο και συγγραφέα, ή προσθέστε ένα προσαρμοσμένο ISBN.", + "noIsbnSelected": "Τίτλος και συγγραφέας, χωρίς ISBN", + "customIsbn": "Προσαρμοσμένο ISBN", + "customIsbnPlaceholder": "ISBN-10 ή ISBN-13", + "addIsbn": "Προσθήκη ISBN", + "invalidIsbn": "Το {isbn} δεν είναι έγκυρο ISBN-10 ή ISBN-13.", + "titleRequired": "Εισάγετε έναν τίτλο για αναζήτηση.", + "fixedMedia": "Τα μέσα ενημέρωσης παραμένουν {media} επειδή ελέγχουν συμβατές πηγές και τη διαδρομή εκπλήρωσης.", + "useRequestFields": "Χρήση πεδίων αιτήσεων", + "runSearch": "Αναζήτηση με αυτά τα πεδία" + }, + "previousFailure": "Η τελευταία προσπάθεια απέτυχε: {reason}", + "refused": { + "sourceRefused": "Αυτή η πηγή απέρριψε μια προηγούμενη έκδοση", + "sourceUnavailable": "Αυτή η πηγή δεν απάντησε", + "vipRequired": "Χρειάζεται έναν λογαριασμό VIP σε αυτή την πηγή", + "clientRefused": "Ο πελάτης λήψης αρνήθηκε μια προηγούμενη έκδοση", + "clientUnavailable": "Ο πελάτης λήψης δεν απάντησε σε προηγούμενη έκδοση" + }, + "singleFileNote": "Μια έκδοση μπορεί να είναι ένα βιβλίο σε διάφορες μορφές, ένα audiobook σε μέρη, ή ένα αρχείο - όλες αυτές οι εισαγωγές ως ένα μόνο βιβλίο. Μια κυκλοφορία που κρατά πολλά ξεχωριστά βιβλία σας ζητά ποια να κρατήσετε.", + "searching": "Αναζήτηση ευρετηρίων...", + "refresh": "Αναζήτηση ξανά", + "cached": "Εμφάνιση της τελευταίας αναζήτησης. Αναζητήστε ξανά φρέσκα αποτελέσματα.", + "sortBy": "Ταξινόμηση κατά", + "sort": { + "score": "Καλύτερο ταίριασμα", + "seeders": "Σπόροι", + "size": "Μέγεθος", + "bitrate": "Ρυθμός Bit", + "added": "Ημερομηνία προσθήκης" + }, + "freeleechOnly": "Μόνο Freeleech ({count})", + "clearFilters": "Εκκαθάριση φίλτρων", + "filteredEmpty": "Καμία έκδοση δεν ταιριάζει με αυτά τα φίλτρα.", + "grab": "Λήψη έκδοσης", + "viewFiles": "Προβολή αρχείων", + "hideFiles": "Απόκρυψη αρχείων", + "viewDetails": "Σχετικά με τα περιεχόμενα", + "hideDetails": "Απόκρυψη λεπτομερειών", + "inspectingFiles": "Ανάγνωση λίστας αρχείων έκδοσης...", + "inspectingNzb": "Λήψη και επικύρωση NZB...", + "inspectingShort": "Έλεγχος αρχείων...", + "inspectionFailed": "Δεν ήταν δυνατή η ανάγνωση της λίστας αρχείων αυτής της έκδοσης.", + "manifest": { + "ready": "{count, plural, one {Αυτή η έκδοση περιέχει # αρχείο. Το αρχείο που υποστηρίζεται μπορεί να εισαχθεί.} other {Αυτή η έκδοση περιέχει # αρχεία. Το υποστηριζόμενο αρχείο βιβλίου μπορεί να εισαχθεί.}}", + "noSupported": "Αυτή η έκδοση δεν έχει άμεσα υποστηριζόμενο αρχείο βιβλίου, έτσι δεν μπορεί να αποσταλεί.", + "contentsUnknown": "Αυτή η έκδοση συσκευάζεται ως αρχείο (RAR, ZIP ή 7z). BookOrbit θα εξάγει μετά τη λήψη, έτσι ώστε το περιεχόμενό της δεν είναι ακόμη γνωστό.", + "multipleBooks": "Αυτή η έκδοση περιέχει ξεχωριστά βιβλία {count} αφού γίνει λήψη, θα σας ζητηθεί να εισαγάγετε.", + "multiPartBook": "{count, plural, one {Αυτή η έκδοση είναι ένα βιβλίο από # αρχείο.} other {Αυτή η έκδοση είναι ένα βιβλίο από # αρχεία, που εισάγονται μαζί ως ένα μόνο βιβλίο.}}", + "metadataUnavailable": "Αυτός είναι ένας σύνδεσμος μαγνήτη. Η λίστα αρχείων του δεν είναι διαθέσιμη έως ότου ένας πελάτης torrent φέρει τα μεταδεδομένα από το σμήνος.", + "usenetMetadataUnavailable": "Αυτή είναι μια έκδοση Usenet. Η λίστα τελικών αρχείων της δεν είναι διαθέσιμη μέχρι να κατεβάσετε το NZBGet και μετά την επεξεργασία.", + "bookFile": "Αρχείο βιβλίου", + "extraFile": "Επιπλέον", + "truncated": "Εμφάνιση {shown} των αρχείων {total}.", + "untitledUnit": "Άτιτλο", + "unitFiles": "{count, plural, one {# αρχείο} other {# αρχεία}}", + "unitsTruncated": "Εμφάνιση {shown} του {total} βιβλία.", + "ignored": "{count, plural, one {Αγνοώντας # δείγμα ή γεμίζοντας αρχείο.} other {Αγνοώντας # δείγματα και γεμίζοντας αρχεία.}}", + "mediaKind": { + "ebook": "E-book", + "audiobook": "Audiobook", + "comic": "Κόμικς" + } + }, + "manual": "Επικόλληση συνδέσμου αντ' αυτού", + "manualTorrent": "Χρήση magnet ή .torrent", + "indexer": "Ευρετήριο", + "size": "Μέγεθος", + "seeders": "Σπόροι", + "language": "Γλώσσα", + "seederCountPlural": "{count, plural, one {# Seeder} other {# seeders}}", + "seederCountUnknown": "Άγνωστοι σπόροι", + "format": "Μορφή", + "files": "Αρχεία", + "fileLayout": { + "single": "Ένα αρχείο λίστας", + "multi": "Πολλαπλά αρχεία λίστας" + }, + "fileCount": "{count, plural, one {# αρχείο} other {# αρχεία}}", + "audio": "Ήχος", + "bitrateAtLeast": "{rate}k+", + "channels": { + "mono": "Μονόχρωμο", + "stereo": "Stereo" + }, + "chapterCountPlural": "{count, plural, one {# κεφάλαιο} other {# κεφάλαια}}", + "durationHm": "{hours}h {minutes}m", + "durationM": "{minutes}m", + "freeleech": "Freeleech", + "vipOnly": "VIP μόνο", + "hideVipOnly": "Απόκρυψη μόνο VIP", + "noneMatchedProfile": "Καμία έκδοση εδώ δεν ταιριάζει με το προφίλ σας για αυτό το μέσο, έτσι κανένας από αυτούς δεν θα κατέβει αυτόματα. Μπορείτε ακόμα να στείλετε ένα προς το χέρι. Για να το διευρύνετε, προσθέστε μια βαθμίδα με λιγότερες συνθήκες κάτω από αυτές που έχετε.", + "profileMismatch": { + "summary": "{count, plural, one {# έκδοση βρέθηκε, αλλά η αυτόματη λήψη θα την παραλείψει επειδή δεν ταιριάζει με οποιαδήποτε {medium} βαθμίδα προφίλ.} other {# κυκλοφορίες βρέθηκαν, αλλά η αυτόματη λήψη θα τις παραλείψει, επειδή καμία δεν ταιριάζει με ένα {medium} επίπεδο προφίλ.}} Βαθμολογία αγώνα και κανόνες προφίλ είναι ξεχωριστοί έλεγχοι. Μπορείτε ακόμα να κάνετε κλικ στην Αποστολή.", + "review": "Ελέγξτε το προφίλ {medium}", + "row": "Η αυτόματη λήψη θα το παρακάμψει. Πλησιέστερο επίπεδο: {tier}. {reasons}", + "failures": { + "formatUnknown": "Το {source} δεν ανέφερε μια μορφή. Αυτή η βαθμίδα απαιτεί {expected}.", + "format": "Format is {actual}; αυτή η βαθμίδα απαιτεί {expected}.", + "fileLayoutUnknown": "Το {source} δεν ανέφερε την καταμέτρηση αρχείων. Αυτή η βαθμίδα απαιτεί {expected}.", + "fileLayout": "Η διάταξη του αρχείου είναι {actual}· αυτή η βαθμίδα απαιτεί {expected}.", + "bitrate": "Το Bitrate είναι {actual} kbps. Αυτή η βαθμίδα απαιτεί τουλάχιστον {expected} kbps.", + "channels": "Ο ήχος είναι {actual}; αυτή η βαθμίδα απαιτεί {expected}.", + "languageUnknown": "Το {source} δεν ανέφερε γλώσσα. Αυτή η βαθμίδα απαιτεί {expected}.", + "language": "Η γλώσσα είναι {actual}. αυτό το επίπεδο απαιτεί {expected}.", + "source": "Αυτή η πηγή δεν περιλαμβάνεται στην βαθμίδα.", + "seeders": "Αυτή η έκδοση έχει {actual} seeders. Αυτή η βαθμίδα απαιτεί τουλάχιστον {expected}.", + "sizeUnknown": "Το {source} δεν ανέφερε μέγεθος. Αυτή η βαθμίδα επιτρέπει μέχρι τον {expected}.", + "size": "Το μέγεθος είναι {actual}· αυτή η βαθμίδα επιτρέπει μέχρι το {expected}.", + "freeleech": "Αυτή η βαθμίδα απαιτεί freeleech.", + "vipOnly": "Αυτή η βαθμίδα αποκλείει εκδόσεις VIP-μόνο." + } + }, + "alreadyGrabbed": "Ήδη άρπαξαν", + "freeleechLabel": "Freeleech", + "published": "Δημοσιεύθηκε", + "scoreLabel": "Βαθμολογία αγώνα {score} από 100", + "scoreBreakdown": "Πώς σκόραρε αυτή την έκδοση", + "whyThisScore": "Γιατί αυτό το σκορ", + "failures": { + "unauthorized": "η σύνδεση έληξε", + "throttled": "περιοριζόμενο ποσοστό", + "timeout": "έληξε το χρονικό όριο", + "unreachable": "απρόσιτο", + "unsupportedMedium": "δεν φέρει αυτό το είδος βιβλίου", + "error": "η αναζήτηση απέτυχε" + }, + "reasons": { + "isbnMatch": "Αγώνες ISBN", + "titleMatch": "Ταίριασμα τίτλου", + "authorMatch": "Τίτλος και συγγραφέας ταιριάζουν", + "preferredFormat": "Προτιμώμενη μορφή {detail}", + "knownFormat": "Μορφοποίηση {detail}", + "unknownFormat": "Μορφή που δεν αναφέρεται", + "expectedSize": "Διαθέσιμο μέγεθος", + "suspiciousSize": "Απίθανο μέγεθος {detail}", + "seeders": "{detail} σπαρτήρες", + "freeleech": "Freeleech", + "likelySeveralBooks": "{detail} αρχεία, μπορεί να είναι πολλά βιβλία" + }, + "errors": { + "loadFailed": "Αδύνατη η αναζήτηση για εκδόσεις" + }, + "backToRequest": "Πίσω στο αίτημα", + "bestMatch": "Καλύτερο ταίριασμα", + "flags": "Σημαίες", + "score": "Βαθμολογία", + "release": "Κυκλοφορία", + "send": "Αποστολή", + "tableCaption": "Κυκλοφορίες, κατατάχθηκαν", + "onlyBestMatch": "Αυτή είναι η μόνη απελευθέρωση που ταιριάζει.", + "tiedWithBest": "{count, plural, one {# άλλη κυκλοφορία σκόραρε το ίδιο} other {# άλλες κυκλοφορίες σκόραρε το ίδιο}}", + "inspectionFailedHint": "Δεν στάλθηκε σε έναν πελάτη λήψης. Δοκιμάστε ξανά, ή χρησιμοποιήστε Επικόλληση ενός συνδέσμου αντί αυτού.", + "inspectionFailedHintGeneric": "Δεν στάλθηκε σε πρόγραμμα λήψης. Δοκιμάστε ξανά, ή επιλέξτε μια άλλη έκδοση.", + "mediumUncovered": "Καμία πηγή δεν φέρει αυτό το είδος βιβλίου.", + "mediumUncoveredHint": "Κανένα από τα ενεργοποιημένα ευρετήρια σας δεν καλύπτει. Προσθέστε ένα που κάνει, ή επικολλήστε έναν σύνδεσμο μόνοι σας.", + "noSourcesConfigured": "Δεν έχουν ρυθμιστεί ακόμα πηγές αναζήτησης.", + "noSourcesEnabled": "Κάθε πηγή αναζήτησης είναι απενεργοποιημένη.", + "noSourcesConfiguredHint": "Τίποτα δεν αναζητήθηκε. Προσθέστε ένα ευρετήριο ή εγκαταστήστε ένα πρόσθετο πηγής, ή επικολλήστε έναν σύνδεσμο σε μια απελευθέρωση μόνοι σας.", + "noSourcesEnabledHint": "Τίποτα δεν έγινε αναζήτηση. Ενεργοποιήστε ένα ξανά ή επικολλήστε έναν σύνδεσμο σε μια έκδοση μόνοι σας.", + "noSourcesAskAdmin": "Τίποτα δεν έγινε αναζήτηση. Ζητήστε από τον διαχειριστή να δημιουργήσει μια πηγή αναζήτησης, ή επικολλήστε έναν σύνδεσμο για μια απελευθέρωση.", + "addSource": "Προσθήκη πηγής", + "reviewSources": "Πηγές αναθεώρησης", + "protocol": { + "torrent": "Torrent", + "usenet": "Usenet", + "direct": "Άμεση λήψη", + "directPill": "Άμεση" + } + }, + "seed": { + "title": "Λήψη πελάτη", + "automated": "Η BookOrbit επέλεξε αυτή την κυκλοφορία αυτόματα.", + "loading": "Ανάγνωση του πελάτη λήψης...", + "loadFailed": "Δεν ήταν δυνατή η πρόσβαση στον πελάτη λήψης για αυτό το αίτημα.", + "notInClient": "Ο πελάτης λήψης δεν έχει πλέον αυτό το torrent.", + "state": "Κατάσταση", + "seeding": "Διαμοιρασμός", + "stopped": "Διακόπηκε", + "client": "Πελάτης", + "ratio": "Αναλογία", + "time": "Χρόνος σποράς", + "uploaded": "Ανέβηκε", + "hours": "{value} h", + "ofGoal": "{value} του {goal}", + "deleteFiles": "Επίσης να διαγράψετε τα ληφθέντα αρχεία", + "remove": "Αφαίρεση από τον πελάτη", + "removeHint": "Το BookOrbit δεν σταματά ποτέ έναν σπόρο από μόνο του. Το εισαγόμενο βιβλίο παραμένει στη βιβλιοθήκη σας με οποιονδήποτε τρόπο.", + "confirm": { + "title": "Να καταργηθεί αυτό το torrent;", + "description": "Το torrent σταματά το seeding. Τα κατεβασμένα αρχεία παραμένουν στο δίσκο.", + "descriptionWithFiles": "Το torrent σταματά την σπορά και τα κατεβασμένα αρχεία του διαγράφονται. Το εισαγόμενο βιβλίο παραμένει στη βιβλιοθήκη σας." + } + }, + "pipeline": { + "label": "Πρόοδος", + "steps": { + "asked": "Ερωτηθείς", + "approved": "Εγκρίθηκε", + "release": "Βρέθηκε έκδοση", + "downloading": "Λήψη", + "filed": "Filed" + }, + "summary": { + "waiting": "Αναμονή σε: {step}", + "progress": "Σε εξέλιξη στο: {step}", + "done": "Αρχείο στη βιβλιοθήκη σας", + "failed": "Σταμάτησε από μια αποτυχία στο: {step}", + "stopped": "Σταμάτησε στο: {step}" + } + }, + "density": { + "label": "Πυκνότητα λίστας", + "comfortable": "Άνετο", + "compact": "Συμπαγής" + }, + "drawer": { + "label": "Λεπτομέρειες αιτήματος", + "description": "Το αίτημα, το στάδιο στο οποίο κατέληξε και οι αποφάσεις που είναι ανοικτές επ' αυτού.", + "previous": "Προηγούμενο αίτημα", + "next": "Επόμενο αίτημα", + "position": "{position} του {total}", + "shortcuts": "J / K για να κινηθεί, Α για να εγκρίνει, Esc για να κλείσει" + }, + "table": { + "caption": "Αιτήματα βιβλίου, με το στάδιο που έχει φτάσει κάθε ένα", + "cover": "Εξώφυλλο", + "title": "Τίτλος", + "mediaKind": "Μορφή", + "requestedBy": "Ζητήθηκε από", + "age": "Ηλικία", + "state": "Κατάσταση", + "outcome": "Αποτέλεσμα", + "actions": "Ενέργειες", + "selectAll": "Επιλέξτε κάθε αίτημα σε αναμονή για έγκριση", + "selectRow": "Επιλέξτε {title}", + "toggleDetail": "Δείτε τι συνέβη στο {title}", + "release": "Κυκλοφορία", + "decidedBy": "Αποφασίστηκε από", + "decisionNote": "Σημείωση απόφασης", + "requestNote": "Αίτηση σημείωσης", + "openDetail": "Άνοιγμα πλήρους λεπτομέρειας", + "pairMedia": "Ηλεκτρονικό βιβλίο και audiobook" + }, + "confirm": { + "cancelDownloadTitle": "Ακύρωση αυτής της λήψης;", + "cancelDownloadDescription": "Οι στάσεις ενεργής μεταφοράς και το αίτημα παραμένει ανοικτό ώστε να μπορεί να επιλεγεί μια άλλη έκδοση. Τα δεδομένα που διαχειρίζεται ο πελάτης τηρούνται. Η μερική σκηνοθέτηση απευθείας λήψης διαγράφεται.", + "cancelTitle": "Διακοπή αυτού του αιτήματος;", + "cancelDescription": "Κανένας δεν περιμένει σε αυτό θα πάρει το βιβλίο.", + "cancelDescriptionWithDownload": "Η ενεργή μεταφορά διακόπτεται. Τα δεδομένα στον πελάτη λήψης φυλάσσονται· διαγράφεται η μερική σκηνοθέτηση άμεσης λήψης.", + "deleteTitle": "Διαγραφή αυτού του αιτήματος;", + "deleteDescription": "Το αίτημα και τα πρακτικά για το ποιος το ζήτησε πηγαίνουν καλά, για όλους. Οποιαδήποτε σπορά torrent εξακολουθεί να αφαιρείται από τον πελάτη λήψης με τα αρχεία του να διατηρούνται. Η σκηνοθέτηση απευθείας λήψης καθαρίζεται αυτόματα. Απόρριψη της αίτησης, αντ' αυτού, την αποκρύπτει μόνο από τη δική σας λίστα.", + "discardImportTitle": "Απόρριψη αυτής της εισαγωγής;", + "discardImportDescription": "Τα κατεβασμένα αρχεία αφαιρούνται από την Αποθήκη Βιβλίου και το αίτημα επισημαίνεται απέτυχε. Το torrent διατηρεί το σπορό: σταματήστε το ξεχωριστά αν θέλετε να φύγει.", + "leaveTitle": "Αφήστε αυτό το αίτημα;", + "leaveDescription": "Μπορείτε να σταματήσετε να το ακολουθείτε και να σταματήσετε να ενημερώνεστε γι 'αυτό. Όποιος το ζητήσει κρατά το αίτημά τους.", + "rejectDescription": "Όλοι όσοι περιμένουν σε αυτά τα αιτήματα ενημερώνονται ότι έχουν απορριφθεί. Τίποτα δεν είναι κατεβασμένο." + }, + "outcome": { + "filedIn": "Κατατίθενται στο {library} {time}", + "filed": "Κατατέθηκε {time}", + "rejected": "Απορρίφθηκε {time}", + "cancelled": "Ακυρώθηκε το {time}", + "awaitingApproval": "Αναμονή για έγκριση", + "awaitingReview": "Αναμονή για χειροκίνητο έλεγχο", + "failedUnknown": "Διακόπηκε χωρίς λόγο από το ευρετήριο", + "atStage": { + "asked": "Μόλις ζητήθηκε", + "approved": "Εγκρίθηκε, δεν ζητήθηκε ακόμα", + "release": "Ψάχνετε για μια απελευθέρωση", + "downloading": "Λήψη της έκδοσης", + "filed": "Αρχείο στη βιβλιοθήκη" + } + }, + "handback": { + "AUTOMATION_DISABLED": "Η αυτόματη αρπαγή είναι απενεργοποιημένη, έτσι ώστε αυτό χρειάζεται μια απελευθέρωση που επιλέγεται με το χέρι", + "NO_DESTINATION": "Αυτό το αίτημα δεν έχει καμία βιβλιοθήκη προορισμού, οπότε δεν υπάρχει πουθενά να υποβάλετε το βιβλίο", + "ATTEMPT_LIMIT": "Η αυτόματη εκπλήρωση σταμάτησε μετά από προσπάθειες {attempts}", + "SEARCH_FAILED": "Δεν ήταν δυνατή η αναζήτηση για μια έκδοση: {detail}", + "NO_SOURCES_CONFIGURED": "Δεν έχουν οριστεί πηγές αναζήτησης, οπότε τίποτα δεν έγινε αναζήτηση για αυτό το αίτημα", + "NO_SOURCES_ENABLED": "Κάθε πηγή αναζήτησης είναι απενεργοποιημένη, οπότε τίποτα δεν έγινε αναζήτηση για αυτό το αίτημα", + "MEDIUM_UNCOVERED": "Καμία ενεργοποιημένη πηγή αναζήτησης δεν μεταφέρει αυτό το είδος βιβλίου, οπότε τίποτα δεν έγινε αναζήτηση για αυτό το αίτημα", + "PROFILE_EXCLUDED_ALL": "Καμία απελευθέρωση δεν ταιριάζει με το προφίλ για αυτό το μέσο, έτσι ώστε αυτό χρειάζεται μια απελευθέρωση που επιλέγεται με το χέρι", + "ALL_TRIED": "Κάθε κυκλοφορία αρκετά καλή για να αρπάξει έχει ήδη δοκιμαστεί, έτσι ώστε αυτό χρειάζεται μια απελευθέρωση που επιλέγεται με το χέρι", + "BELOW_SCORE_FLOOR": "Καμία κυκλοφορία που βαθμολογήθηκε με {floor} ή καλύτερα, έτσι ώστε αυτό χρειάζεται μια κυκλοφορία που επιλέγεται με το χέρι", + "ALL_BLOCKED": "Κάθε κυκλοφορία αρκετά καλή για να αρπάξει αποκλείστηκε από μια προηγούμενη αποτυχία, έτσι ώστε αυτό χρειάζεται μια απελευθέρωση που επιλέχθηκε με το χέρι", + "ABANDONED": "Δεν επιλέχθηκε καμία έκδοση, οπότε αυτή η λήψη δεν ξεκίνησε" + }, + "submitError": { + "SUBMIT_TITLE_REQUIRED": "Δώστε έναν τίτλο στο βιβλίο πριν το ζητήσετε", + "SUBMIT_SELF_FULFIL_FORBIDDEN": "Δεν επιτρέπεται να εκπληρώσετε τα δικά σας αιτήματα", + "SUBMIT_LIBRARY_FORBIDDEN": "Δεν έχετε πρόσβαση σε αυτή τη βιβλιοθήκη", + "SUBMIT_FOLDER_NEEDS_LIBRARY": "Επιλέξτε μια βιβλιοθήκη προορισμού πριν επιλέξετε ένα φάκελο", + "SUBMIT_FOLDER_NOT_IN_LIBRARY": "Αυτός ο φάκελος δεν αποτελεί μέρος της βιβλιοθήκης προορισμού", + "SUBMIT_DEFAULT_LIBRARY_UNREACHABLE": "Επιλέξτε μια βιβλιοθήκη προορισμού που μπορείτε να φτάσετε: η προεπιλογή αυτής της περίπτωσης δεν είναι δική σας", + "SUBMIT_DESTINATION_REQUIRED": "Τα αιτήματά σας εγκρίνονται μόλις τα κάνετε, έτσι ώστε να επιλέξετε τη βιβλιοθήκη το βιβλίο θα πρέπει να προσγειωθεί", + "SUBMIT_SELF_SERVE_LIMIT": "Ολοκληρώστε ή ακυρώστε πρώτα μερικές λήψεις: μπορείτε να έχετε {limit} κατά την πτήση ταυτόχρονα", + "SUBMIT_ON_BEHALF_FORBIDDEN": "Δεν επιτρέπεται να ζητάτε βιβλία για άλλους ανθρώπους", + "SUBMIT_ON_BEHALF_UNKNOWN_USER": "Αυτός ο χρήστης δεν μπορεί να ζητήσει ένα βιβλίο", + "SUBMIT_TARGET_BOOK_NOT_FOUND": "Αυτό το βιβλίο δεν είναι σε μια βιβλιοθήκη που μπορείτε να φτάσετε", + "SUBMIT_TARGET_BOOK_HAS_MEDIUM": "Αυτό το βιβλίο έχει ήδη αυτή τη μορφή" + }, + "actionError": { + "BOOK_REQUEST_NOT_PENDING": "Μόνο ένα αίτημα σε εκκρεμότητα υποστηρίζει αυτήν την ενέργεια. αυτό το αίτημα είναι επί του παρόντος {status}", + "BOOK_REQUEST_NOT_CANCELLABLE": "Ένα αίτημα που είναι {status} δεν μπορεί πλέον να ακυρωθεί", + "BOOK_REQUEST_DESTINATION_REQUIRED": "Επιλέξτε μια βιβλιοθήκη προορισμού πριν από την έγκριση αυτής της αίτησης", + "BOOK_REQUEST_ACTION_FORBIDDEN": "Δεν επιτρέπεται να {action} αυτό το αίτημα", + "BOOK_REQUEST_STALE_TRANSITION": "Αυτό το αίτημα άλλαξε κατά την εφαρμογή της ενέργειας. Τώρα είναι {status}." + }, + "bulk": { + "selected": "{count, plural, one {# αίτημα επιλέχθηκε} other {# επιλεγμένα αιτήματα}}", + "approveSelected": "{count, plural, one {Εγκρίνετε # αίτημα} other {Εγκρίνετε όλα #}}", + "clear": "Εκκαθάριση", + "dismissSelected": "{count, plural, one {Απόκρυψη # αιτήματος} other {Απόκρυψη όλων #}}", + "rejectSelected": "{count, plural, one {Απόρριψη # αιτήματος} other {Απόρριψη όλων #}}", + "rejectNoteLabel": "Λόγος (προαιρετικό)", + "rejectNotePlaceholder": "Γιατί αυτά απορρίπτονται", + "rejectTitle": "{count,plural,one{Απόρριψη αιτήματος #;} other{Απόρριψη αιτημάτων #;}}", + "rejectConfirm": "Απόρριψη" + }, + "chooser": { + "title": "Επιλέξτε το βιβλίο που θα εισαχθεί", + "hint": "Αυτή η έκδοση αποδείχθηκε ότι περιέχει {count} ξεχωριστά βιβλία. Η λήψη έχει ολοκληρωθεί, επιλέξτε αυτό που ζητήθηκε και τα υπόλοιπα μένουν πίσω.", + "untitled": "Άτιτλο", + "files": "{count, plural, one {# αρχείο} other {# αρχεία}}", + "import": "Εισαγωγή αυτού του βιβλίου", + "mediaKind": { + "ebook": "E-book", + "audiobook": "Audiobook", + "comic": "Κόμικς" + } + }, + "review": { + "title": "Γιατί αυτό είναι σε αναμονή", + "scoreShort": "Το εισαγόμενο αρχείο σκόραρε {score} ενάντια σε αυτό το αίτημα, κάτω από το {threshold} που απαιτείται για να το αρχείο αυτόματα.", + "scoreClears": "Το εισαγόμενο αρχείο σκόραρε {score}, το οποίο καθαρίζει το {threshold} χρειάζεται για να το αρχείο αυτόματα.", + "verificationOff": "Ο έλεγχος εισαγωγής είναι απενεργοποιημένος, οπότε αυτό το αρχείο δεν βαθμολογήθηκε ποτέ με την αίτηση.", + "reason": { + "isbn_match": "Το ISBN της είναι αυτό που ζητήθηκε.", + "above_threshold": "Μοιάζει με το βιβλίο που ζητήθηκε.", + "below_threshold": "Ελέγξτε τα παρακάτω πεδία και αποφασίστε αν είναι το σωστό βιβλίο.", + "author_mismatch": "Ο τίτλος είναι κοντά, αλλά ο συγγραφέας είναι κάποιος άλλος.", + "no_title": "Το αρχείο δεν φέρει αναγνώσιμο τίτλο, οπότε δεν υπήρχε τίποτα για σύγκριση." + }, + "field": { + "title": "Τίτλος", + "authors": "Συγγραφέας", + "isbn13": "ISBN" + }, + "verdict": { + "match": "Ταιριάζει", + "mismatch": "Δεν ταιριάζει", + "unknown": "Δεν συγκρίνεται" + }, + "requested": "Ζητήθηκε", + "imported": "Εισήχθησαν", + "absent": "Ούτε το αίτημα ούτε το αρχείο έχει ένα.", + "notSet": "Δεν έχει οριστεί", + "filesTitle": "Τι προσγειώθηκε", + "fileCount": "{count, plural, one {# αρχείο} other {# αρχεία}}", + "role": { + "cover": "Εξώφυλλο", + "metadata": "Μεταδεδομένα", + "supplement": "Επιπλέον" + }, + "fileAnyway": "Αρχείο ούτως ή άλλως", + "fileAnywayHint": "Αρχεία αυτό στη βιβλιοθήκη προορισμού και σηματοδοτεί το διαθέσιμο αίτημα, ακριβώς όπως ένα πέρασμα σκορ θα έχει.", + "noDestination": "Αυτό το αίτημα δεν έχει καμία βιβλιοθήκη προορισμού με ένα φάκελο σε αυτό, έτσι δεν υπάρχει πουθενά να αρχείο το βιβλίο ακόμα.", + "openDock": "Άνοιγμα της βάσης βιβλίου", + "missingEntry": "Το αρχείο που κρατήθηκε αυτό το αίτημα δεν είναι πλέον στη Βάση Βιβλίου. Κατατέθηκε ή απορρίφθηκε με το χέρι, οπότε δεν έχει μείνει τίποτα εδώ για να επανεξετάσετε.", + "missingEntryNext": "Αν το βιβλίο βρίσκεται ήδη στη βιβλιοθήκη σας, κλείστε αυτό το αίτημα εναντίον του παρακάτω. Αν δεν είναι, ακυρώστε την αίτηση και να αναζητήσετε μια άλλη έκδοση.", + "filed": "Καταχωρήθηκε στη βιβλιοθήκη σας.", + "fileFailed": "Αδυναμία αρχείου αυτής της εισαγωγής", + "discard": "Απόρριψη αυτής της εισαγωγής", + "discardHint": "Χρησιμοποιήστε αυτό όταν η έκδοση αποδείχθηκε ότι είναι λάθος βιβλίο. Τα αρχεία αφαιρούνται από την Αποβάθρα Βιβλίου και η αίτηση είναι σημειωμένη απέτυχε." + }, + "sources": { + "noneConfigured": "Δεν έχουν οριστεί πηγές αναζήτησης.", + "allDisabled": "Κάθε πηγή αναζήτησης είναι απενεργοποιημένη.", + "noneConfiguredHint": "Τα αιτήματα μπορούν να κατατεθούν, αλλά τίποτα δεν θα γίνει αναζήτηση για αυτά μέχρι να προσθέσετε ένα ευρετήριο ή να εγκαταστήσετε ένα πρόσθετο πηγής.", + "allDisabledHint": "Τα αιτήματα μπορούν να κατατεθούν, αλλά τίποτα δεν θα γίνει αναζήτηση για αυτά μέχρι να ενεργοποιήσετε ένα ξανά.", + "askAdmin": "Τα αιτήματα μπορούν να κατατεθούν, αλλά τίποτα δεν θα γίνει αναζήτηση για αυτά μέχρι να δημιουργηθεί ένας διαχειριστής.", + "addSource": "Προσθήκη πηγής", + "reviewSources": "Πηγές αναθεώρησης" + }, + "selfServeBadge": "Αυτοεξυπηρετούμενο", + "selfServeBadgeHint": "Κατέβασμα απευθείας από τον αιτούντα, χωρίς βήμα έγκρισης", + "missingFormat": { + "labelAudiobook": "Audiobook για αυτό το βιβλίο", + "labelEbook": "E-book για αυτό το βιβλίο", + "noAudiobook": "Κανένα audiobook ακόμα", + "noEbook": "Κανένα ηλεκτρονικό βιβλίο ακόμα", + "requestAudiobook": "Αίτηση audiobook", + "requestEbook": "Αίτηση e-book", + "requested": "Ζητήθηκε", + "requestedBySomeone": "Ζητήθηκε από κάποιον άλλο", + "ownedElsewhere": "Στη βιβλιοθήκη σας ως ξεχωριστό βιβλίο", + "open": "Άνοιγμα", + "viewRequest": "Προβολή αιτήματος", + "submittedAudiobook": "Ζητήθηκε. Το audiobook θα ενταχθεί σε αυτό το βιβλίο όταν φτάσει", + "submittedEbook": "Ζητήθηκε. Το e-book θα εγγραφεί σε αυτό το βιβλίο όταν φτάσει" + } + }, "collection": { + "visibleToAll": "Ορατό σε όλους τους χρήστες", + "visibleToAllHint": "Κάθε χρήστης μπορεί να δει αυτή τη συλλογή, αλλά μόνο εσείς μπορείτε να αλλάξετε τα βιβλία του", "dialog": { "name": "Όνομα", "icon": "Εικονίδιο", @@ -4490,6 +8876,7 @@ }, "createDialog": { "title": "Νέα Συλλογή", + "podcastTitle": "Νέα Συλλογή Podcast", "namePlaceholder": "π.χ. Αγαπημένα" }, "editDialog": { @@ -4497,6 +8884,7 @@ "syncToKobo": "Συγχρονισμός στο Kobo", "syncToKoboHint": "Τα βιβλία αυτής της συλλογής θα εμφανίζονται στη συσκευή σας Kobo", "deleteCollection": "Διαγραφή συλλογής", + "confirmDelete": "Επιβεβαιώνω;", "deleting": "Διαγραφή...", "saving": "Αποθηκεύεται...", "deleted": "\"{name}\" διαγράφηκε", @@ -4513,6 +8901,7 @@ "empty": "Καμία συλλογή ακόμα. Δημιουργήστε μία παραπάνω.", "done": "Ολοκληρώθηκε", "added": "Προστέθηκε", + "allAdded": "Προστέθηκαν όλα τα {total}", "inCollection": "Σε αυτή τη συλλογή", "allInCollection": "Όλο το {total} σε αυτή τη συλλογή", "partialInCollection": "{partial} του {total} σε αυτή τη συλλογή", @@ -4524,6 +8913,7 @@ "addedNewWithExisting": "{count, plural, =0 {Προστέθηκε ένα νέο βιβλίο στο \"{name}\" ({alreadyHad} Ήδη εκεί)} one {Προστέθηκε ένα νέο βιβλίο στο \"{name}\" ({alreadyHad} Ήδη εκεί)} other {Προστέθηκαν # νέα βιβλία στο \"{name}\" ({alreadyHad} Ήδη εκεί)}}", "addedToCollection": "{count, plural, =0 {Δεν προστέθηκαν βιβλία στο \"{name}\"} one {Προστέθηκε ένα βιβλίο στο \"{name}\"} other {Προστέθηκε # βιβλία στο \"{name}\"}}", "addFailed": "Αποτυχία προσθήκης στη συλλογή", + "removedFromCollection": "{count,plural,one{Καταργήθηκε ένα βιβλίο από το \"{name}\"} other{Καταργήθηκαν τα βιβλία # από το \"{name}\"} =0{Δεν καταργήθηκε κανένα βιβλίο από το \"{name}\"}}", "removeFailed": "Αποτυχία κατάργησης από τη συλλογή" } }, @@ -4547,6 +8937,9 @@ "uploadBooks": "Μεταφόρτωση βιβλίων", "appearance": "Εμφάνιση", "appearanceDescription": "Επιλέξτε τις επιλογές θέματος, έμφασης, γωνιακής ακτίνας, επιφάνειας και φόντου.", + "style": "Στυλ", + "surfacePalette": "Επιφάνεια", + "topGlow": "Πάνω λάμψη", "theme": "Θέμα", "accent": "Απόχρωση", "radius": "Radius", @@ -4562,10 +8955,13 @@ "changePassword": "Αλλαγή Κωδικού Πρόσβασης", "signOut": "Αποσύνδεση", "githubStar": { + "title": "Σας αρέσει το BookOrbit;", "body": "Αν το BookOrbit βοηθά στη βιβλιοθήκη σας, παρακαλούμε σκεφτείτε με πρωταγωνιστή το έργο στο GitHub. Βοηθά περισσότερους ανθρώπους να ανακαλύψουν την εφαρμογή και υποστηρίζει την εξελισσόμενη ανάπτυξη.", "cta": "Star BookOrbit στο GitHub" }, - "surfaceOpacity": "Αδιαφάνεια επιφάνειας" + "surfaceOpacity": "Αδιαφάνεια επιφάνειας", + "surfaceOpacityValue": "{value}%", + "surfaceBrightnessValue": "{value}%" }, "sidebar": { "dashboard": "Ταμπλό", @@ -4582,11 +8978,20 @@ "newCollection": "Νέα Συλλογή", "noCollections": "Δεν υπάρχουν ακόμη συλλογές", "newReleaseNotes": "Διαθέσιμες νέες σημειώσεις έκδοσης", + "requestBadge": { + "allActive": "{count, plural, one {# ενεργό αίτημα για όλους τους χρήστες} other {# ενεργά αιτήματα σε όλους τους χρήστες}}", + "mineActive": "{count, plural, one {# ενεργό αίτημα του δικού σας} other {# ενεργά αιτήματα του δικού σας}}" + }, "support": "Υποστήριξη BookOrbit", "supportAria": "Υποστήριξη BookOrbit στο Ko-fi", + "appLinks": { + "ios": "Αποκτήστε την εφαρμογή iOS", + "android": "Android app έρχεται σύντομα" + }, "sectionHeader": { "add": "Προσθήκη", "showAll": "Εμφάνιση όλων", + "showCount": "Εμφάνιση {count}", "rowsShown": "Γραμμές που εμφανίζονται", "menuAria": "Επιλογές ενότητας για {section}", "reorder": "Αναδιάταξη", @@ -4594,6 +8999,7 @@ }, "noLibraries": "Δεν υπάρχουν ακόμη βιβλιοθήκες", "clearFilter": "Καθαρισμός φίλτρου", + "filterSummary": "Εμφανίζεται το {shown} του {total}", "filterLibraries": "Φιλτράρισμα βιβλιοθηκών", "filterLibrariesPlaceholder": "Φιλτράρισμα βιβλιοθηκών...", "filterSmartScopes": "Φιλτράρισμα έξυπνων πεδίων", @@ -4603,17 +9009,53 @@ "seeAllLibraries": "Δείτε όλες τις βιβλιοθήκες ({count})", "seeAllSmartScopes": "Δείτε όλα τα έξυπνα πεδία ({count})", "seeAllCollections": "Δείτε όλες τις συλλογές ({count})", + "podcasts": "Podcasts", + "newPodcastLibrary": "Νέα Βιβλιοθήκη Podcast", + "noPodcastLibraries": "Δεν υπάρχουν ακόμη βιβλιοθήκες podcast", + "filterPodcastLibraries": "Φίλτρο βιβλιοθηκών podcast", + "filterPodcastLibrariesPlaceholder": "Φίλτρο βιβλιοθηκών podcast...", + "seeAllPodcastLibraries": "Δείτε όλες τις βιβλιοθήκες podcast ({count})", + "podcastScopes": "Εμβέλεια Podcast", + "newPodcastScope": "Νέο Πεδίο Εκπομπής Podcast", + "noPodcastScopes": "Κανένα podcast πεδίο ακόμα", + "filterPodcastScopes": "Φίλτρα podcast εμβαδού", + "filterPodcastScopesPlaceholder": "Φίλτρο podcast εμβέλειες...", + "seeAllPodcastScopes": "Δείτε όλα τα πεδία podcast ({count})", + "podcastCollections": "Συλλογές Podcast", + "newPodcastCollection": "Νέα Συλλογή Podcast", + "noPodcastCollections": "Δεν υπάρχουν ακόμη συλλογές podcast", + "filterPodcastCollections": "Φιλτράρισμα συλλογών podcast", + "filterPodcastCollectionsPlaceholder": "Φίλτρο συλλογών podcast...", + "seeAllPodcastCollections": "Δείτε όλες τις συλλογές podcast ({count})", + "queue": "Ουρά", + "mode": { + "books": "Βιβλία", + "podcasts": "Podcasts", + "switcherAria": "Εναλλαγή μεταξύ βιβλίων και podcast" + }, + "updateAvailable": "Ενημέρωση {version}", "updateTooltip": "Διαθέσιμη ενημέρωση {version}", "openUpdateRelease": "Ανοίξτε την έκδοση {version} στο GitHub", "zones": { - "browse": "Περιήγηση" + "browse": "Περιήγηση", + "reading": "Ανάγνωση" }, "reorder": { + "gripAria": "Αναπαραγγελία {name}", "lifted": "{name} lifted, position {position} of {total}. Χρησιμοποιήστε τα πλήκτρα βέλους για να το μετακινήσετε.", "moved": "{name}, θέση {position} του {total}", "dropped": "{name} έπεσε στη θέση {position} του {total}", + "cancelled": "Η αναδιάταξη ακυρώθηκε. Το {name} επέστρεψε στη θέση {position} του {total}.", "filteredHint": "Καθαρισμός φίλτρου για αναδιάταξη" - } + }, + "podcastImportProgress": "{processed} / {total} αρχεία", + "podcastImportCounting": "Καταμέτρηση αρχείων…", + "playlists": "Έξυπνες Λίστες", + "newPlaylist": "Νέα Έξυπνη Λίστα Αναπαραγωγής", + "noPlaylists": "Καμία έξυπνη λίστα αναπαραγωγής ακόμα", + "filterPlaylists": "Φίλτρο έξυπνων λιστών αναπαραγωγής", + "filterPlaylistsPlaceholder": "Φιλτράρισμα έξυπνων λιστών αναπαραγωγής...", + "seeAllPlaylists": "Δείτε όλες τις έξυπνες λίστες αναπαραγωγής ({count})" }, "selectionActionBar": { "setReadingStatus": "Ορισμός κατάστασης ανάγνωσης", @@ -4627,6 +9069,8 @@ "moreActions": "Περισσότερες ενέργειες", "setField": "Ορισμός πεδίου", "refreshMetadata": "Ανανέωση μεταδεδομένων", + "refreshConfirm": "{count,plural,one{Ανανέωση μεταδεδομένων για το βιβλίο #;} other{Ανανέωση μεταδεδομένων για βιβλία #;}}", + "refreshConfirmAction": "Ανανέωση", "reExtractCover": "Κάλυμμα επανεκχύλισης", "metadataLock": "Κλείδωμα μεταδεδομένων", "lockAll": "Κλείδωμα όλων", @@ -4644,6 +9088,7 @@ "apply": "Εφαρμογή", "fieldPlaceholder": "Αφήστε κενό για εκκαθάριση", "fieldPlaceholderArray": "Διαχωρισμένο με κόμματα (αφήστε κενό για καθαρισμό)", + "deleteConfirm": "{count,plural,one{Διαγραφή βιβλίου #;} other{Διαγραφή βιβλίων #;} =0{Διαγραφή βιβλίου #;}}", "typeDelete": "Τύπος ΔΙΑΓΡΑΦΗ" }, "viewHeader": { @@ -4653,6 +9098,8 @@ "columnVisibilityHint": "Χρησιμοποιήστε τον πίνακα ορατότητας στήλης στην κεφαλίδα του πίνακα για εμφάνιση ή απόκρυψη στηλών.", "columnVisibilityMobileHint": "Η ορατότητα της στήλης μπορεί να αντιμετωπιστεί από την κεφαλίδα του πίνακα.", "searchPlaceholder": "Αναζήτηση τίτλου, συγγραφέας, σειρά, αφηγητής...", + "clearSearch": "Εκκαθάριση αναζήτησης", + "closeSearch": "Κλείσιμο αναζήτησης", "mobileSearch": { "description": "Αναζήτηση στοιχείων ανά τίτλο, συγγραφέα, σειρά ή αφήγηση.", "done": "Ολοκληρώθηκε" @@ -4667,13 +9114,87 @@ "display": "Εμφάνιση", "coverSize": "Μέγεθος κάλυψης", "gridGap": "Κενό πλέγματος", + "pixelValue": "{value} pixel", "showJumpRails": "Εμφάνιση ράγων άλματος", "columnsHint": "Χρησιμοποιήστε τον πίνακα ορατότητας στήλης στην κεφαλίδα του πίνακα για εμφάνιση ή απόκρυψη στηλών.", "coverShape": "Σχήμα εξώφυλλου", "circle": "Κύκλος", - "square": "Τετράγωνο" + "square": "Τετράγωνο", + "rowDensity": "Ύψος γραμμής", + "densityCompact": "Συμπαγής", + "densityComfortable": "Cosy", + "densityRoomy": "Ευρύχωρο", + "coverFallback": "Χρησιμοποιήστε τα καλύμματα βιβλίων για τα ελλείποντα πορτρέτα" + }, + "viewModes": { + "grid": "Προβολή πλέγματος", + "list": "Προβολή λίστας", + "table": "Προβολή πίνακα" } }, + "browseHeader": { + "eyebrow": { + "library": "Βιβλιοθήκη", + "smartScope": "Έξυπνο πεδίο εφαρμογής", + "collection": "Συλλογή", + "browse": "Περιήγηση" + }, + "facts": { + "books": "{count, plural, one {# βιβλίο} other {# βιβλία}}", + "booksOf": "{matching} του {total, plural, one {# βιβλίο} other {# βιβλία}}", + "authors": "{count, plural, one {# συγγραφέας} other {# συγγραφείς}}", + "series": "{count, plural, one {# σειρά} other {# σειρά}}", + "scanned": "Σαρωμένο {time}", + "scanningProgress": "Σάρωση {processed} / {total}", + "syncsToKobo": "Συγχρονισμός σε Kobo" + }, + "switcher": { + "open": "Εναλλαγή από το {name}", + "jumpTo": "Μετάβαση σε...", + "libraries": "Βιβλιοθήκες", + "smartScopes": "Έξυπνα πεδία", + "collections": "Συλλογές", + "empty": "Τίποτα δεν ταιριάζει" + }, + "search": { + "removeToken": "Αφαιρέστε το φίλτρο {label}", + "clearAll": "Εκκαθάριση αναζήτησης και φίλτρων", + "save": "Αποθήκευση", + "summaryToken": "{count, plural, one {# φίλτρο} other {# φίλτρα}}" + }, + "tokens": { + "anyOf": "Οποιοδήποτε από {count, plural, one {# κανόνας} other {# κανόνες}}", + "allOf": "Όλα {count, plural, one {# Κανόνες} other {# κανόνες}}" + }, + "sort": { + "sortBy": "Ταξινόμηση κατά {field}", + "ascending": "Αύξοντας. Εναλλαγή σε φθίνουσα", + "descending": "Φθίνει. Εναλλαγή σε αύξουσα" + }, + "facets": { + "format": "Μορφή", + "rules": "Κανόνες", + "show": "Εμφάνιση", + "library": "Βιβλιοθήκη", + "status": "Κατάσταση", + "ruleCount": "{count, plural, one {# κανόνας} other {# κανόνες}}" + }, + "menu": { + "more": "Περισσότερα για το {name}", + "editRules": "Επεξεργασία κανόνων", + "deleteSmartScope": "Διαγραφή Έξυπνου Πεδίου", + "deleteCollection": "Διαγραφή συλλογής", + "confirmDelete": "Διαγραφή \"{name}\"? Αυτό δεν μπορεί να αναιρεθεί.", + "upload": "Μεταφόρτωση βιβλίων" + }, + "scan": { + "scanning": "Σάρωση", + "started": "Σάρωση {name}", + "finished": "Η σάρωση του {name} τελείωσε" + }, + "viewModes": "Λειτουργία προβολής", + "legend": "Χρώματα έντασης" + }, "iconPicker": { "clearSelectionAria": "Καθαρισμός επιλεγμένου εικονιδίου", "searchLucide": "Αναζήτηση εικονιδίων Luicet...", @@ -4692,6 +9213,11 @@ "description": "Αυτό το {entity} δεν υπάρχει ή έχει διαγραφεί.", "goBack": "Μετάβαση πίσω" }, + "media": { + "volume": "Όγκος", + "mute": "Σίγαση", + "unmute": "Κατάργηση Σίγασης" + }, "themePicker": { "light": "Φωτεινό", "dark": "Σκοτεινό", @@ -4718,11 +9244,21 @@ "sidebar": { "title": "Sidebar", "mobileDescription": "Εμφανίζει την πλαϊνή μπάρα για κινητά.", - "toggle": "Εναλλαγή Πλευρικής Μπάρας" + "toggle": "Εναλλαγή Πλευρικής Μπάρας", + "collapse": "Σύμπτυξη πλαϊνής μπάρας", + "expand": "Expand sidebar", + "open": "Άνοιγμα πλαϊνής μπάρας", + "close": "Κλείσιμο πλαϊνής μπάρας" }, "chipInput": { "typeAndEnter": "Πληκτρολογήστε και πατήστε Enter για προσθήκη", - "pressEnter": "Πατήστε Enter για προσθήκη" + "pressEnter": "Πατήστε Enter για προσθήκη", + "remove": "Αφαιρέστε το {value}" + }, + "tokenSelect": { + "remove": "Αφαιρέστε το {value}", + "noMatches": "Δεν υπάρχουν αντιστοιχίες", + "showOptions": "Εμφάνιση επιλογών" } }, "entityIndex": { @@ -4730,16 +9266,65 @@ "sort": { "custom": "Προσαρμοσμένη παραγγελία", "name": "Όνομα", - "bookCount": "Πλήθος βιβλίων" + "bookCount": "Πλήθος βιβλίων", + "showCount": "Εμφάνιση αριθμού" }, "ascending": "Αύξουσα", "descending": "Φθίνουσα", "clearSearch": "Εκκαθάριση αναζήτησης", + "resultCount": "{shown} του {total}", "noMatches": "Δεν υπάρχουν αντιστοιχίες", "noMatchesHint": "Δοκιμάστε έναν διαφορετικό όρο αναζήτησης.", + "bookCount": "Βιβλία: {count}", + "showCount": "Εκπομπές: {count}", "librariesEmptyHint": "Δημιουργήστε μια βιβλιοθήκη για να ξεκινήσετε την προσθήκη βιβλίων.", + "podcastLibrariesEmptyHint": "Δημιουργήστε μια βιβλιοθήκη podcast για να ξεκινήσετε τις παρακάτω εμφανίσεις.", "smartScopesEmptyHint": "Τα έξυπνα πεδία αποθήκευσης αποθηκεύουν ένα σύνολο φίλτρων που χρησιμοποιείτε συχνά.", "collectionsEmptyHint": "Συλλογές ομαδικά βιβλία μπορείτε να επιλέξετε με το χέρι." + }, + "legalNotices": { + "about": "Σχετικά Με BookOrbit", + "trigger": "Νομικές σημειώσεις", + "title": "Σχετικά Με BookOrbit", + "description": "Εκχώρηση BookOrbit, αδειοδότηση και πηγαίος κώδικας.", + "poweredBy": "Τροφοδοτείται από BookOrbit", + "originalDevelopment": "Αυτό το λογισμικό περιέχει υλικό που αρχικά αναπτύχθηκε ως BookOrbit.", + "copyright": "Πνευματικά δικαιώματα (C) 2025- 2026 νέον.", + "contributors": "Πρόσθετα πνευματικά δικαιώματα κατέχουν οι αντίστοιχοι συνεισφέροντες της BookOrbit.", + "licenseSummary": "Αδειοδότηση υπό την GNU Affero General Public License, έκδοση 3, μόνο, με πρόσθετους όρους. Αυτό το λογισμικό παρέχεται χωρίς εγγύηση. Μπορείτε να το αναδιανείμετε και να το τροποποιήσετε υπό αυτούς τους όρους.", + "sourceCode": "Πηγαίος κώδικας", + "license": "Άδεια χρήσης AGPLv3", + "additionalTerms": "Πρόσθετοι όροι" + }, + "confirmDialog": { + "typeToConfirm": "Πληκτρολογήστε “{phrase}” για να επιβεβαιώσετε" + }, + "formSheet": { + "discardTitle": "Απόρριψη αλλαγών;", + "discardDescription": "Οι μη αποθηκευμένες αλλαγές σας θα χαθούν.", + "discardConfirm": "Απορρίψτε" + }, + "backgroundPicker": { + "none": "Κανένα", + "dots": "Τελείες", + "cross": "Σταυρός", + "millimeter": "Millimeter", + "blueprint": "Σχεδιάγραμμα", + "brushed": "Βουρτσισμένο", + "scanlines": "Σάρωση", + "vinyl": "Βινύλιο", + "carbon": "Άνθρακας", + "perforated": "Διάτρητο", + "aurora": "Aurora", + "horizon": "Ορίζοντας", + "glow": "Λάμψη", + "mesh": "Πλέγμα", + "elevation": "Υψόμετρο", + "prism": "Πρίσμα", + "spectrum": "Φάσμα", + "spectrum-x": "Spectrum X", + "spectrum-plus": "Spectrum Plus", + "eclipse": "Έκλειψη" } }, "customIcons": { @@ -4752,6 +9337,7 @@ "nameRequired": "Απαιτείται όνομα", "invalidSvg": "Μη Έγκυρο Svg", "invalidSvgFile": "Μη έγκυρο αρχείο SVG", + "identicalTo": "Πανομοιότυπο με το \"{name}\"", "uploadAnyway": "Ανέβασμα οπωσδήποτε", "skipThisOne": "Παραλείψτε αυτό", "readyToUpload": "{count} ready to upload", @@ -4786,6 +9372,7 @@ "empty": { "continueReading": "Κανένα βιβλίο σε εξέλιξη ακόμα. Ξεκινήστε να διαβάζετε ένα για να το δείτε εδώ.", "continueListening": "Δεν υπάρχει ακόμα audiobooks σε εξέλιξη. Ξεκινήστε να ακούτε κάποιον για να το δείτε εδώ.", + "continuePodcasts": "Δεν υπάρχουν επεισόδια podcast σε εξέλιξη ακόμα. Ξεκινήστε ένα για να το δείτε εδώ.", "wantToRead": "Κανένα βιβλίο δεν θέλει να διαβάσει ακόμα.", "upNextInSeries": "Δεν υπάρχουν ακόμα επιλογές επόμενης σειράς. Τερματίστε έναν όγκο για να τον επιφανείτε.", "recentlyAdded": "Δεν υπάρχουν ακόμα βιβλία στη βιβλιοθήκη σας.", @@ -4795,6 +9382,7 @@ }, "settings": { "title": "Προσαρμογή Πίνακα Ελέγχου", + "preferencesTitle": "Προτιμήσεις ταμπλό", "tabs": { "widgets": "Widget", "shelves": "Ράφια" @@ -4817,6 +9405,7 @@ "recentlyAdded": "Προστέθηκαν Πρόσφατα", "continueReading": "Συνέχεια Ανάγνωσης", "continueListening": "Συνέχεια Ακρόασης", + "continuePodcasts": "Συνέχεια Εκπομπών Podcast", "wantToRead": "Θέλετε να διαβάσετε", "upNextInSeries": "Επάνω στην επόμενη σειρά", "random": "Ανακαλύψτε Κάτι Νέο", @@ -4830,6 +9419,19 @@ "twoColumns": "Δύο στήλες", "twoColumnsDescription": "Εμφάνιση δύο ραφιών ανά γραμμή." }, + "shelfSync": { + "label": "Συγχρονισμός ραφιών στις συνεδρίες", + "description": "Αποθηκεύστε τη σειρά ραφιών, την ορατότητα, τις μετρήσεις γραμμών και τη διάταξη στο λογαριασμό σας. Όταν είναι απενεργοποιημένες, οι ρυθμίσεις ραφιών παραμένουν σε αυτό το πρόγραμμα περιήγησης." + }, + "saveFailed": "Δεν ήταν δυνατή η αποθήκευση των ρυθμίσεων του ταμπλό. Ελέγξτε τη σύνδεσή σας και προσπαθήστε ξανά.", + "libraryScope": { + "title": "Βιβλιοθήκες ταμπλό", + "description": "Επιλέξτε ποιες βιβλιοθήκες συνεισφέρουν βιβλία και ανάγνωση δεδομένων σε αυτόν τον πίνακα ελέγχου.", + "allLibraries": "Όλες οι προσβάσιμες βιβλιοθήκες", + "summaryNone": "Δεν επιλέχθηκαν βιβλιοθήκες", + "summaryCount": "{count, plural, one {# βιβλιοθήκη} other {# βιβλιοθήκες}}", + "required": "Επιλέξτε τουλάχιστον μία βιβλιοθήκη." + }, "shelfRows": { "label": "Σειρές βιβλίων", "option": "{count, plural, one {Μια σειρά από βιβλία} other {# σειρές βιβλίων}}", @@ -4895,6 +9497,8 @@ "neglectedGems": { "title": "Παραμελημένοι πολύτιμοι λίθοι", "empty": "Όλα τα κορυφαία βιβλία σας έχουν διαβαστεί!", + "rating": "{rating}/5", + "daysWaiting": "{count}d αναμονή", "queued": "Σε Αναμονή", "addToQueue": "Προσθήκη στην ουρά", "shuffle": "Τυχαία Αναπαραγωγή" @@ -4912,9 +9516,11 @@ } }, "readingGoal": { + "title": "Στόχος ανάγνωσης {year}", "setGoalPrompt": "Ορίστε ένα στόχο ανάγνωσης για να παρακολουθείτε την πρόοδό σας", "setGoal": "Ορισμός στόχου", "booksPerYear": "Βιβλία ανά έτος", + "ofGoal": "του {goal}", "percentComplete": "{percentage}% complete", "editGoal": "Επεξεργασία στόχου" }, @@ -4922,11 +9528,13 @@ "title": "Ρυθμός Ανάγνωσης", "empty": "Αρχίστε να διαβάζετε για να δείτε τον ρυθμό σας να παίρνει μορφή", "activeDays": "{count, plural, =0 {Δεν υπάρχουν ενεργές ημέρες} one {# ενεργή μέρα} other {# ενεργές ημέρες}}", + "consistency": "{activeDays} · {percent}% συνέπεια", "avgPerDay": "avg {time}/day" }, "readingStreak": { "title": "Σερί Ανάγνωσης", "empty": "Διαβάστε σήμερα για να ξεκινήσετε το σερί σας", + "streakLabel": "{count,plural,one{σερί ημέρας} other{σερί ημερών} =0{σερί ημέρας}}", "best": "{count, plural, =0 {Καλύτερο: # μέρα} one {Καλύτερο: # μέρα} other {Καλύτερο: # ημέρες}}", "lastSevenDays": "Τελευταίες 7 ημέρες" }, @@ -4938,6 +9546,7 @@ "trendSteady": "Σταθερός ρυθμός", "pages": "σελίδες", "hours": "ώρες", + "readCount": "{count} διαβάστε", "daysLeft": "{count}d αριστερά" } } @@ -4961,6 +9570,7 @@ }, "tabs": { "providers": "Πάροχοι", + "servers": "Διακομιστές αλληλογραφίας", "recipients": "Παραλήπτες", "groups": "Ομάδες", "templates": "Πρότυπα", @@ -4995,6 +9605,7 @@ "removeSystemBeforeDelete": "Αφαιρέστε την ονομασία συστήματος πριν από τη διαγραφή", "notesHeading": "Σημειώσεις Παρόχου", "notesBody": "Ο πάροχος {system} (μόνο superuser) χρησιμοποιείται για μηνύματα ηλεκτρονικού ταχυδρομείου επαναφοράς κωδικού πρόσβασης. Ο πάροχος {defaultProvider} χρησιμοποιείται κατά την αποστολή βιβλίων χωρίς συγκεκριμένο πάροχο. Οι πάροχοι με σήμανση {shared} είναι διαθέσιμοι σε όλους τους χρήστες.", + "deleteTitle": "Διαγραφή παρόχου;", "nameHostRequired": "Το όνομα και ο κεντρικός υπολογιστής απαιτούνται", "created": "Ο πάροχος δημιουργήθηκε", "updated": "Ο πάροχος ενημερώθηκε", @@ -5028,6 +9639,7 @@ "kindleNote": "Οι παραλήπτες λαμβάνουν αυτόματα μηνύματα ηλεκτρονικού ταχυδρομείου με θέμα \"Μετατροπή\" για να ενεργοποιήσουν τη μετατροπή μορφής.", "empty": "Κανένας παραλήπτης ακόμα.", "prefersFormat": "προτιμά το {format}", + "deleteTitle": "Διαγραφή παραλήπτη;", "nameEmailRequired": "Απαιτείται όνομα και email", "created": "Ο παραλήπτης δημιουργήθηκε", "updated": "Ο παραλήπτης ενημερώθηκε", @@ -5050,6 +9662,7 @@ "add": "Προσθήκη", "addMember": "Προσθήκη μέλους", "allRecipientsInGroup": "Όλοι οι παραλήπτες είναι ήδη σε αυτήν την ομάδα.", + "deleteTitle": "Διαγραφή ομάδας;", "created": "Η ομάδα δημιουργήθηκε", "createFailed": "Αποτυχία δημιουργίας ομάδας", "deleted": "\"{name}\" διαγράφηκε", @@ -5072,6 +9685,7 @@ "empty": "Δεν υπάρχουν πρότυπα ακόμα.", "notesHeading": "Σημειώσεις Προτύπου", "notesBody": "Τα πρότυπα συστήματος δεν μπορούν να διαγραφούν. Οι διαχειριστές μπορούν να τα επεξεργαστούν. Χρησιμοποιήστε μεταβλητές όπως το {variable} σε θέματα και σώματα - αντικαθίστανται με τα στοιχεία του βιβλίου την ώρα αποστολής.", + "deleteTitle": "Διαγραφή προτύπου;", "nameSubjectRequired": "Όνομα και θέμα απαιτείται", "created": "Το πρότυπο δημιουργήθηκε", "updated": "Το πρότυπο ενημερώθηκε", @@ -5098,6 +9712,7 @@ "noSubject": "(χωρίς θέμα)", "loadMore": "Φόρτωση περισσότερων", "resend": "Επαναποστολή", + "deleteTitle": "Διαγραφή καταχώρισης ιστορικού;", "entryDeleted": "Η καταχώρηση διαγράφηκε", "queuedForResend": "Σε αναμονή για εκ νέου αποστολή", "resendFailed": "Αποτυχία επαναποστολής", @@ -5124,6 +9739,317 @@ "sending": "Αποστολή...", "queued": "{count, plural, =0 {Κανένα μήνυμα ηλεκτρονικού ταχυδρομείου δεν βρέθηκε στην ουρά} one {Ένα μήνυμα ηλεκτρονικού ταχυδρομείου στην ουρά} other {# emails στην ουρά αναμονής}}", "failed": "Αποτυχία αποστολής" + }, + "page": { + "addRecipient": "Προσθήκη παραλήπτη", + "recipients": "Παραλήπτες", + "groups": "Ομάδες", + "newGroup": "Νέα ομάδα", + "servers": "Διακομιστές αλληλογραφίας", + "addServer": "Προσθήκη διακομιστή αλληλογραφίας", + "templates": "Πρότυπα", + "newTemplate": "Νέο πρότυπο", + "noServersReadonly": "Κανένας διακομιστής αλληλογραφίας δεν μοιράζεται μαζί σας ακόμα. Ζητήστε από τον διαχειριστή να προσθέσει ένα.", + "roleShared": "Μοιραστείτε με όλους", + "roleSystem": "Επαναφορά κωδικού πρόσβασης", + "cantConnect": "Αδυναμία σύνδεσης", + "builtIn": "Χτισμένο σε", + "recipientsEmptyTitle": "Προσθέστε το e-reader ή τα εισερχόμενα που στέλνετε βιβλία", + "recipientsEmptyBody": "Η διεύθυνση του Kindle τελειώνει στο {kindle} και είναι καταχωρημένη στις Συσκευές στο λογαριασμό σας στο Amazon. Ένα PocketBook τελειώνει στο {pocketbook}. Όλα τα συνηθισμένα εισερχόμενα λειτουργούν επίσης.", + "kindleNote": "Το Kindle λαμβάνει μόνο μηνύματα από εγκεκριμένους αποστολές. Προσθέστε {address} κάτω από τις Ρυθμίσεις Προσωπικού Εγγράφου στο λογαριασμό σας στο Amazon.", + "copyAddress": "Αντιγραφή διεύθυνσης", + "addressCopied": "Η διεύθυνση αντιγράφηκε", + "editServer": "Επεξεργασία {name}", + "editTemplate": "Επεξεργασία {name}", + "editGroup": "Επεξεργασία {name}", + "groupCount": "{count, plural, one {# recipient} other {# recipients}}", + "recipientsHint": "Το αστέρι επιλέγεται κατά την αποστολή.", + "groupsHint": "Αποστολή σε αρκετούς παραλήπτες ταυτόχρονα.", + "groupsEmpty": "Δεν υπάρχουν ομάδες ακόμα.", + "serversHint": "Ο πρωταγωνιστής στέλνει τα βιβλία σας.", + "templatesHint": "Το θέμα και το μήνυμα αποστέλλονται με κάθε βιβλίο.", + "kindleTemplateNote": "Το Kindle δεν δείχνει ποτέ το πρότυπο: το email του βγαίνει πάντα με το θέμα {subject}.", + "test": "Δοκιμή", + "testServer": "Δοκιμή {name}", + "testOk": "Συνδέθηκε το {name}", + "testFailed": "{name} δεν μπορεί να συνδεθεί", + "defaultRecipient": "Προεπιλεγμένος παραλήπτης", + "makeDefaultRecipient": "Κάντε το {name} τον προεπιλεγμένο παραλήπτη", + "defaultServer": "Προεπιλεγμένος διακομιστής", + "makeDefaultServer": "Κάντε το {name} τον προεπιλεγμένο διακομιστή", + "defaultTemplate": "Προεπιλεγμένο πρότυπο", + "makeDefaultTemplate": "Κάντε το {name} το προεπιλεγμένο πρότυπο", + "editRecipient": "Επεξεργασία {name}", + "serversEmptyTitle": "Δεν υπάρχει ακόμα διακομιστής αλληλογραφίας", + "serversEmptyBody": "Τα βιβλία βγαίνουν έξω από έναν λογαριασμό SMTP. Gmail, Outlook, iCloud και Fastmail είναι ένα κλικ; οποιοσδήποτε άλλος διακομιστής λειτουργεί πάρα πολύ.", + "needServerTitle": "Προσθέστε ένα διακομιστή αλληλογραφίας πριν μπορέσετε να στείλετε", + "needServerBody": "Η BookOrbit στέλνει βιβλία μέσω ενός λογαριασμού SMTP που διαθέτετε, όπως το Gmail με έναν κωδικό πρόσβασης εφαρμογής.", + "needServerAsk": "Ζητήστε από το διαχειριστή να μοιραστεί μαζί σας ένα διακομιστή αλληλογραφίας.", + "goToServers": "Μετάβαση σε διακομιστές αλληλογραφίας", + "noEncryption": "Χωρίς κρυπτογράφηση" + }, + "route": { + "defaultSaved": "Η προεπιλογή ενημερώθηκε" + }, + "attention": { + "title": "Χρειάζεται προσοχή", + "count": "{count, plural, one {# στοιχείο} other {# αντικείμενα}}", + "hide": "Απόκρυψη", + "show": "Εμφάνιση", + "serverDown": "{name} δεν μπορεί να συνδεθεί", + "notDelivered": "Το {book} δεν έφτασε στο {recipient}", + "maybeDelivered": "Το {book} μπορεί να μην έχει φτάσει στο {recipient}", + "testedAgo": "δοκιμασμένο {time}", + "editServer": "Επεξεργασία διακομιστή", + "editRecipient": "Επεξεργασία παραλήπτη", + "resend": "Επαναποστολή" + }, + "reason": { + "tooLarge": "Το {size} είναι περισσότερο από όσο δέχεται ο {server}.", + "tooLargeGmail": "Το {size} ξεπερνά το όριο συνημμένου 25 MB του Gmail.", + "tooLargeFix": "Στείλτε μια μικρότερη έκδοση, ή ορίστε τον παραλήπτη σε EPUBs μόνο κειμένου.", + "signIn": "Ο {server} αρνήθηκε τη σύνδεση.", + "signInFix": "Ελέγξτε το όνομα χρήστη και τον κωδικό πρόσβασης στο διακομιστή αλληλογραφίας.", + "unreachable": "Το {server} δεν απάντησε.", + "unconfirmed": "Η σύνδεση έπεσε μετά την παράδοση του μηνύματος, οπότε μπορεί να έχει φτάσει.", + "unconfirmedFix": "Ελέγξτε τα εισερχόμενα πριν από την επανάληψη ή μπορεί να φτάσει δύο φορές.", + "interrupted": "Το BookOrbit επανεκκινήθηκε ενώ αυτό το email βγήκε.", + "interruptedFix": "Ελέγξτε τα εισερχόμενα πριν από την επανεκκίνηση.", + "preparation": "Δεν ήταν δυνατή η προετοιμασία του αρχείου για αποστολή.", + "other": "Ο διακομιστής αλληλογραφίας τον απέρριψε.", + "server": "ο διακομιστής αλληλογραφίας", + "serverMessage": "Μήνυμα διακομιστή", + "retryAt": "Επόμενη δοκιμή {time}." + }, + "status": { + "sent": "Απεσταλμένα", + "sending": "Αποστολή", + "retrying": "Επανάληψη · {attempt} από {total}", + "unconfirmed": "Ανεπιβεβαίωτες", + "failed": "Απέτυχε" + }, + "recent": { + "moreActions": "Περισσότερες ενέργειες για το {title}", + "deletedBook": "Διαγραφή βιβλίου", + "openBook": "Άνοιγμα βιβλίου", + "resend": "Επαναποστολή", + "delete": "Διαγραφή καταχώρησης" + }, + "log": { + "all": "Όλα", + "attention": "Χρειάζεται προσοχή", + "active": "Σε εξέλιξη", + "book": "Βιβλίο", + "sentTo": "Στάλθηκε σε", + "file": "Αρχείο", + "status": "Κατάσταση", + "when": "Πότε", + "sentMeans": "Αποστολή σημαίνει ότι ο διακομιστής αλληλογραφίας σας τον αποδέχθηκε", + "emptyFilter": "Τίποτα εδώ τώρα.", + "loadMore": "Φόρτωση περισσότερων", + "showing": "Εμφάνιση {shown} του {total}", + "emptyTitle": "Τίποτα δεν έχει σταλεί ακόμα", + "emptyBody": "Βιβλία ηλεκτρονικού ταχυδρομείου εμφανίζονται εδώ με το πού πήγαν και αν το διακομιστή αλληλογραφίας τα πήρε." + }, + "card": { + "nothingSent": "Τίποτα δεν έχει σταλεί ακόμα", + "failed": "απέτυχε", + "retrying": "επανάληψη", + "unconfirmed": "ανεπιβεβαίωτες", + "sending": "αποστολή", + "narration": "Αφήγηση", + "narrationTitle": "Διαβασμένα βιβλία κρατούν την αφήγησή τους" + }, + "device": { + "kindle": "Kindle", + "kobo": "Kobo", + "other": "Άλλος e-reader", + "otherShort": "E-reader", + "none": "Πρόσωπο ή εισερχόμενο" + }, + "sheet": { + "title": "Αποστολή με email", + "sendTo": "Αποστολή σε", + "groups": "Ομάδες", + "templateName": "Πρότυπο {name}", + "eachFormat": "Μορφή κάθε παραλήπτη", + "formatForAll": "{format} για όλους", + "file": "Αρχείο", + "mailServer": "Διακομιστής αλληλογραφίας", + "template": "Πρότυπο", + "yourDefault": "η προεπιλογή σας", + "emails": "{count, plural, one {# email} other {# emails}}", + "noOnePicked": "Κανείς δεν επιλέχθηκε", + "total": "{size} συνολικά", + "send": "{count, plural, one {Στείλτε} other {Στείλτε # emails}}", + "noFormat": "Όχι {format}, παίρνει {got}", + "readAlong": "Ανάγνωση, {size}", + "overKindle": "{size}, πάνω από το όριο 50 MB του Kindle", + "overGmail": "{size}, πάνω από το όριο 25 MB του Gmail", + "kindleRejects": "Το Kindle απορρίπτει το {format}", + "blockedKindle": "{name} δεν μπορεί να πάρει το {format}. Επιλέξτε EPUB ή PDF, ή αποεπιλέξτε το.", + "books": "{count, plural, one {# βιβλίο} other {# βιβλία}}", + "notReadyTitle": "Το email δεν έχει ρυθμιστεί ακόμα", + "notReadyBody": "Πριν ένα βιβλίο μπορεί να πάει οπουδήποτε, αυτός ο λογαριασμός χρειάζεται ένα διακομιστή αλληλογραφίας και έναν παραλήπτη.", + "addServer": "Προσθήκη διακομιστή αλληλογραφίας", + "addServerHint": "Gmail, Outlook, iCloud, Fastmail ή οποιοδήποτε λογαριασμό SMTP.", + "askForServer": "Ζητήστε από το διαχειριστή να μοιραστεί ένα διακομιστή αλληλογραφίας.", + "addRecipient": "Προσθήκη παραλήπτη", + "addRecipientHint": "Το Kindle, το PocketBook σας ή οποιοδήποτε inbox.", + "openSettings": "Άνοιγμα ρυθμίσεων email", + "sendingTitle": "Αποστολή {title}", + "closeHint": "Μπορείτε να κλείσετε αυτό. Αποτυχίες εμφανίζονται επίσης στις ειδοποιήσεις σας και στο ιστορικό email σας.", + "openHistory": "Άνοιγμα ιστορικού", + "done": "Ολοκληρώθηκε", + "acceptedBy": "Αποδεκτή από τον {server} {time}", + "handingOver": "Παράδοση στο {server}" + }, + "editor": { + "kindleSubject": "μετατροπή", + "recipient": { + "newTitle": "Νέος παραλήπτης", + "description": "Το όνομα του παραλήπτη, η διεύθυνση, η συσκευή και τι λαμβάνει.", + "sectionRecipient": "Παραλήπτης", + "sectionReceives": "Τι λαμβάνει", + "name": "Όνομα", + "email": "Διεύθυνση ηλεκτρονικού ταχυδρομείου", + "device": "Συσκευή", + "deviceHint": "Το Kindle αλλάζει το θέμα στο {subject} και περιορίζει τις παρακάτω μορφές.", + "format": "Μορφή", + "formatPrimary": "Βασικό βιβλίο", + "formatHint": "Ένα βιβλίο χωρίς αυτή τη μορφή παίρνει την κύρια έκδοσή του.", + "kindleFormatHint": "Το Amazon σταμάτησε να δέχεται MOBI και AZW3 μέσω ηλεκτρονικού ταχυδρομείου το 2023, έτσι δεν προσφέρονται για ένα Kindle. Ένα βιβλίο χωρίς αυτή τη μορφή παίρνει την κύρια έκδοσή του.", + "kindleLegacyFormat": "Το Kindle δεν δέχεται πλέον {format} μέσω email. Διαλέξτε EPUB ή PDF.", + "readAlong": "Ανάγνωση βιβλίων", + "readAlongAutomatic": "Αυτόματο", + "readAlongAutomaticHint": "Κείμενο μόνο όταν μπορεί να γίνει ασφαλές αντίγραφο, διαφορετικά το πρωτότυπο.", + "readAlongTextOnly": "EPUB Μόνο για Κείμενο", + "readAlongTextOnlyHint": "Αφήγηση απογυμνωθεί. Αρκετά μικρό για email.", + "readAlongOriginal": "Πρωτότυπο με αφήγηση", + "readAlongOriginalHint": "Διατηρεί την αφήγηση. Συχνά 100 MB ή περισσότερο, πάνω από τα όρια των περισσότερων διακομιστών αλληλογραφίας.", + "notForKindle": "Όχι για Kindle", + "template": "Πρότυπο", + "templateDefault": "Η προεπιλογή σας ({name})", + "templateKindleHint": "Αγνοήθηκε για Kindle, η οποία δεν δείχνει ποτέ το μήνυμα.", + "approveTitle": "Εγκρίνετε τον αποστολέα στο Amazon", + "approveBody": "Το Kindle drops email από διευθύνσεις που δεν γνωρίζει, χωρίς αναπήδηση. Στο {path}, προσθέστε {address}", + "approvePath": "Διαχειριστείτε το περιεχόμενο και τις συσκευές σας › Προτιμήσεις › Προσωπικές ρυθμίσεις εγγράφου", + "approveNoServer": "Προσθέστε πρώτα ένα διακομιστή αλληλογραφίας για να δείτε τη διεύθυνση Kindle πρέπει να εγκρίνει.", + "lastSent": "Το τελευταίο βιβλίο στάλθηκε {time}", + "sendTest": "Αποστολή δοκιμαστικού email", + "testSubject": "BookOrbit δοκιμαστικό email", + "testBody": "Αυτό είναι ένα τεστ από το BookOrbit. Αν μπορείτε να το διαβάσετε, τα βιβλία που αποστέλλονται στο {name} θα φτάσουν και εδώ.", + "testSent": "Δοκιμή email στάλθηκε στο {name}", + "testFailed": "Το δοκιμαστικό email δεν σβήνει: {error}", + "makeDefault": "Δημιουργία παραλήπτη γρήγορης αποστολής", + "remove": "Διαγραφή παραλήπτη", + "removeConfirm": "Διαγραφή {name};", + "removeConsequence": "Παραμένει η ιστορία του.", + "removeDefaultConsequence": "Παραμένει η ιστορία του και Γρήγορη αποστολή στάσεις μέχρι να αστέρι ένας άλλος παραλήπτης.", + "required": "Απαιτείται το όνομα και η διεύθυνση ηλεκτρονικού ταχυδρομείου.", + "sectionLastSent": "Τελευταία αποστολή" + }, + "server": { + "newTitle": "Νέος διακομιστής αλληλογραφίας", + "description": "Ο διακομιστής SMTP, η σύνδεσή του και ποιος μπορεί να στείλει μέσω του.", + "sectionProvider": "Πάροχος", + "sectionServer": "Διακομιστής", + "sectionSignIn": "Σύνδεση", + "sectionSender": "Αποστολέας", + "sectionWho": "Ποιος το χρησιμοποιεί", + "presetGmail": "Gmail", + "presetOutlook": "Outlook", + "presetIcloud": "iCloud Mail", + "presetFastmail": "Fastmail", + "presetOther": "Άλλο SMTP", + "presetHint": "Μια προκαθορισμένη πλήρωση του κεντρικού υπολογιστή, της θύρας και της ασφάλειας. Μπορείτε ακόμα να τις αλλάξετε.", + "name": "Όνομα", + "host": "Διακομιστής", + "port": "Θύρα", + "security": "Ασφάλεια", + "securityStarttls": "STARTTLS", + "securitySsl": "SSL/TLS", + "securityNone": "Κανένα", + "securityHint": "STARTTLS για 587, SSL/TLS για 465. Ένα ή το άλλο, ποτέ και τα δύο.", + "needsPassword": "Αυτός ο διακομιστής χρειάζεται έναν κωδικό πρόσβασης", + "username": "Όνομα Χρήστη", + "password": "Κωδικός", + "appPassword": "Κωδικός πρόσβασης εφαρμογής", + "passwordKeep": "Αποθηκεύτηκε. Πληκτρολογήστε για να το αντικαταστήσετε", + "appPasswordHint": "Το Gmail και το iCloud χρειάζονται έναν κωδικό πρόσβασης εφαρμογής, όχι τον κωδικό πρόσβασης του λογαριασμού σας.", + "fromName": "Όνομα χρήστη", + "fromAddress": "Από τη διεύθυνση", + "fromAddressHint": "Kindle ιδιοκτήτες πρέπει να εγκρίνει αυτή τη διεύθυνση.", + "share": "Μοιραστείτε με όλους", + "shareHint": "Άλλοι άνθρωποι μπορούν να στείλουν βιβλία μέσω αυτού του διακομιστή χωρίς να δουν τον κωδικό πρόσβασης.", + "system": "Αποστολή επαναφοράς κωδικού πρόσβασης και συνδέσμων εισόδου", + "systemHint": "Ο μοναδικός διακομιστής BookOrbit χρησιμοποιεί ο ίδιος. Μόνο ένας υπερχρήστης μπορεί να το αλλάξει.", + "verifyTls": "Επαλήθευση πιστοποιητικού διακομιστή", + "verifyTlsHint": "Απενεργοποιήστε μόνο για έναν διακομιστή στο δικό σας δίκτυο με αυτο-υπογεγραμμένο πιστοποιητικό.", + "test": "Δοκιμή σύνδεσης", + "testDirty": "Αποθήκευση πρώτα και μετά δοκιμή", + "testOk": "Συνδεδεμένο", + "testFailed": "Αδύνατη η σύνδεση: {error}", + "remove": "Διαγραφή διακομιστή", + "removeConfirm": "Διαγραφή {name};", + "removeConsequence": "Όλοι μοιράζονται με την απώλεια.", + "removeSystemFirst": "Απενεργοποίηση επαναφοράς κωδικού πρόσβασης σε αυτόν τον διακομιστή πριν από τη διαγραφή του.", + "makeDefault": "Χρήση ως προεπιλογή μου", + "required": "Το όνομα και ο υπολογιστής απαιτούνται." + }, + "template": { + "newTitle": "Νέο πρότυπο", + "description": "Το θέμα και το μήνυμα αποστέλλονται με κάθε βιβλίο.", + "sectionTemplate": "Πρότυπο", + "sectionInsert": "Insert", + "sectionPreview": "Προεπισκόπηση", + "name": "Όνομα", + "subject": "Θέμα", + "message": "Μήνυμα", + "groupBook": "Βιβλίο", + "groupFile": "Αρχείο", + "groupOther": "Άλλο", + "insertHint": "Πηγαίνει στο δρομέα, στο θέμα ή στο μήνυμα. Κενές τιμές δεν εκτυπώνουν τίποτα.", + "insertVariable": "Insert {variable}", + "previewWith": "Προεπισκόπηση με", + "previewEmpty": "Στείλτε ένα βιβλίο μια φορά για να δείτε ένα πρότυπο μαζί του.", + "previewFailed": "Δεν ήταν δυνατή η απόδοση της προεπισκόπησης.", + "previewTo": "Προς", + "builtInReadonly": "Ενσωματωμένος. Μόνο ένας υπερχρήστης μπορεί να το αλλάξει.", + "kindleNote": "Το Kindle δεν εμφανίζει ποτέ ένα πρότυπο: παίρνει πάντα το θέμα {subject}.", + "makeDefault": "Κάντε την προεπιλογή μου", + "remove": "Διαγραφή προτύπου", + "removeConfirm": "Διαγραφή {name};", + "removeConsequence": "Παραλήπτες που το χρησιμοποιούν πηγαίνετε πίσω στο προεπιλεγμένο πρότυπο.", + "required": "Όνομα και θέμα απαιτείται.", + "attachment": "Επισυνάπτεται: {name}" + }, + "group": { + "newTitle": "Νέα ομάδα", + "description": "Ένα σύνολο παραληπτών για να στείλουν ένα βιβλίο ταυτόχρονα.", + "sectionGroup": "Ομάδα", + "sectionMembers": "Μέλη", + "name": "Όνομα", + "memberCount": "{count} του {total}", + "noRecipientsTitle": "Κανένας παραλήπτης για επιλογή", + "noRecipientsBody": "Μια ομάδα είναι ένα σύνολο αποδεκτών. Προσθέστε πρώτα έναν παραλήπτη.", + "remove": "Διαγραφή ομάδας", + "removeConfirm": "Διαγραφή {name};", + "removeConsequence": "Οι αποδέκτες του μένουν.", + "required": "Μια ομάδα χρειάζεται ένα όνομα.", + "updated": "Η ομάδα ενημερώθηκε" + } + } + }, + "errors": { + "network": "Αδυναμία πρόσβασης στο BookOrbit. Ελέγξτε τη σύνδεσή σας και προσπαθήστε ξανά.", + "codes": { + "PODCAST_LOCAL_NO_REFRESH": "Αυτή η παράσταση δεν έχει ροές, οπότε δεν υπάρχει τίποτα για ανανέωση.", + "PODCAST_LOCAL_NO_DOWNLOAD": "Αυτό το επεισόδιο είναι ένα από τα δικά σας αρχεία, οπότε δεν υπάρχει τίποτα για λήψη. Το αντίγραφο σας είναι ήδη το μοναδικό.", + "PODCAST_LOCAL_FILE_NOT_REMOVABLE": "Αυτό το επεισόδιο είναι ένα από τα δικά σας αρχεία, οπότε το BookOrbit δεν θα το διαγράψει. Αφαιρέστε το από το φάκελο μόνοι σας.", + "PODCAST_LOCAL_MEDIA_MISSING": "Το μόνο αντίγραφο αυτού του επεισοδίου δεν είναι πλέον στο δίσκο, έτσι δεν μπορεί να αναπαραχθεί.", + "PODCAST_LOCAL_FOLDER_EMPTY": "Αυτός ο φάκελος δεν περιέχει κανένα ήχο του BookOrbit που μπορεί να εισάγει, οπότε δεν μπορεί να γίνει show.", + "PODCAST_STORAGE_FULL": "Αυτή η βιβλιοθήκη podcast είναι εκτός αποθήκευσης. Απελευθερώστε λίγο χώρο ή αυξήστε το ποσοστό του, και στη συνέχεια προσπαθήστε ξανά. Τα αρχεία που ανήκουν σε τοπικές σειρές δεν αφαιρούνται ποτέ για να φτιάξουν χώρο." } }, "hardcover": { @@ -5199,6 +10125,7 @@ "eligible": "επιλέξιμα βιβλία" }, "checkingPending": "Έλεγχος εκκρεμών αντικειμένων...", + "pendingOf": "{pending} σε εκκρεμότητα των βιβλίων {total}.", "noBooksInScope": "Δεν υπάρχουν βιβλία στο πεδίο συγχρονισμού.", "allSynced": "Όλα τα βιβλία είναι ήδη συγχρονισμένα.", "lastSyncedLabel": "Τελευταία συγχρονισμένη", @@ -5211,7 +10138,8 @@ }, "button": { "unavailable": "Sync unavailable", - "syncNow": "Συγχρονισμός τώρα" + "syncNow": "Συγχρονισμός τώρα", + "syncNowCount": "Συγχρονισμός τώρα ({count})" }, "lastSynced": { "justNow": "Μόλις τώρα", @@ -5244,7 +10172,8 @@ "skipped": "Παράλειψη" }, "result": { - "summary": "Το {applied} εισήχθη{progress}, {failed} απέτυχε" + "summary": "Το {applied} εισήχθη{progress}, {failed} απέτυχε", + "progressUpdated": "Η πρόοδος {count} ενημερώθηκε" }, "toast": { "importFailed": "Αποτυχία εισαγωγής κατάστασης ανάγνωσης Hardcover", @@ -5261,6 +10190,7 @@ "untitled": "Άτιτλο", "blank": "κενό", "noRows": "Δεν υπάρχουν γραμμές που να ταιριάζουν με τα τρέχοντα φίλτρα.", + "selectRowAriaLabel": "Επιλέξτε {title}", "selectionSummary": "Το {count} επιλέχθηκε: {ready} έτοιμο, αναθεωρήθηκε το {reviewed}.", "selectedProgress": "{count, plural, =0 {Δεν υπάρχουν ενημερώσεις προόδου} one {# Ενημέρωση προόδου} other {# ενημερώσεις προόδου}}", "selectReady": "Επιλογή έτοιμου", @@ -5270,6 +10200,7 @@ "importSelected": "Εισαγωγή επιλεγμένων", "previousPage": "Προηγούμενη σελίδα", "nextPage": "Επόμενη σελίδα", + "pageRange": "{start}-{end} του {total}", "tabs": { "all": "Όλα", "ready": "Έτοιμο", @@ -5321,6 +10252,7 @@ "metadata_id": "Ταίριασμα μεταδεδομένων" }, "status": { + "error": "Σφάλμα: {error}", "linked": "Συνδεδεμένο", "linkedWithMethod": "Συνδεδεμένο ({method})", "notLinked": "Δεν έχει συνδεθεί ακόμα" @@ -5330,11 +10262,13 @@ "viewEditions": "Προβολή εκδόσεων", "noEditionsFound": "Δεν βρέθηκαν εκδόσεις.", "booksTruncated": "Εμφανίζονται τα πρώτα βιβλία {count} που διαβάζετε.", + "editionsTruncated": "Εμφάνιση των πρώτων εκδόσεων {count}.", "pages": "{count, plural, one {# σελίδα} other {# σελίδες}}", "isbn": "ISBN {isbn}", "current": "Τρέχων", "useThis": "Χρησιμοποιήστε αυτό", "toast": { + "switched": "Έγινε αλλαγή σε {format}", "switchFailed": "Αποτυχία αλλαγής έκδοσης" } } @@ -5373,12 +10307,40 @@ "title": "Στυλ εξώφυλλου", "portrait": "Πορτραίτο", "square": "Τετράγωνο", - "hint": "Πορτρέτο για ebook ή μικτές βιβλιοθήκες. Πλατεία για ηχογραφημένες βιβλιοθήκες." + "hint": "Πορτρέτο για ebook ή μικτές βιβλιοθήκες. Πλατεία για ηχογραφημένες βιβλιοθήκες.", + "hintSlots": "Πορτρέτο για ebook ή μικτές βιβλιοθήκες, τετράγωνο για ηχογραφημένες βιβλιοθήκες. Ένα βιβλίο με ένα ebook και ένα audiobook δείχνει το εξώφυλλο του βιβλίου σε μια πορτρέτο βιβλιοθήκη και το εξώφυλλο audiobook σε ένα τετράγωνο." }, "icon": { "label": "Εικονίδιο", "placeholder": "Επιλέξτε ένα εικονίδιο...", - "selected": "Επιλεγμένο" + "selected": "Επιλεγμένο", + "more": "Περισσότερα εικονίδια" + }, + "identity": "Ταυτότητα", + "podcastName": "Όνομα βιβλιοθήκης Podcast", + "podcastPlaceholder": "Τα Podcast Μου", + "podcastDefaultName": "Podcasts", + "type": { + "title": "Τύπος βιβλιοθήκης", + "books": "Βιβλία", + "booksHint": "Βιβλία, κόμικς και audiobooks", + "podcasts": "Podcasts", + "podcastsHint": "Ροές RSS και διαχείριση αποθήκευσης επεισοδίων" + }, + "cover": { + "portraitTitle": "Πορτραίτο 2:3", + "portraitHint": "Ηλεκτρονικά βιβλία και μεικτές βιβλιοθήκες", + "squareTitle": "Τετράγωνο 1:1", + "squareHint": "Βιβλιοθήκες μόνο για ακουστικά", + "slotsHint": "Ένα βιβλίο με ένα ebook και ένα audiobook δείχνει το εξώφυλλο που ταιριάζει σε αυτό το σχήμα." + }, + "gridShape": { + "title": "Σχήμα πλέγματος", + "tallTitle": "Ψηλά κύτταρα", + "tallHint": "Καλύτερο για ebooks ή μικτές βιβλιοθήκες", + "squareTitle": "Τετραγωνικά κελιά", + "squareHint": "Καλύτερο για audiobook βιβλιοθήκες", + "hint": "Κάθε βιβλίο εμφανίζει το εξώφυλλο της κύριας μορφής του, τετράγωνο για ένα audiobook. Ένα εξώφυλλο που δεν ταιριάζει με το κεραμίδι ακολουθεί τη ρύθμιση του εξώφυλλου σας." } }, "folders": { @@ -5392,6 +10354,7 @@ "manualEntry": "Χειροκίνητη εισαγωγή διαδρομής", "absolutePath": "Απόλυτη διαδρομή διακομιστή", "addFolder": "Προσθήκη φακέλου", + "removeFolder": "Αφαιρέστε το {folder}", "manualCheckHint": "Οι χειροκίνητες διαδρομές ελέγχονται μαζί με τους υπόλοιπους επιλεγμένους φακέλους.", "pathPlaceholder": "/διαδρομή/προς/βιβλία", "test": "Δοκιμή", @@ -5402,7 +10365,43 @@ "overlapsWith": "Επικάλυψη με το \"{library}\"", "noneAdded": "Κανένας φάκελος δεν προστέθηκε ακόμα", "runPrescanHint": "Εκτέλεση προεπιλογής για επικύρωση διαδρομών πριν από την αποθήκευση.", - "prescan": "Prescan" + "scanning": "Ερευνα…", + "prescan": "Prescan", + "local": { + "title": "Υπάρχοντες φάκελοι podcast", + "optional": "Προαιρετικό", + "description": "Φάκελοι που ήδη κρατάτε τα podcasts in. BookOrbit τους διαβάζει πού βρίσκονται, και ποτέ μετονομάζονται, μετακινήσεις, ή διαγράφει οτιδήποτε μέσα.", + "addTitle": "Προσθήκη ενός υπάρχοντος φακέλου podcast", + "addDescription": "Κάθε φάκελος μέσα γίνεται μια παράσταση.", + "add": "Προσθήκη άλλου φακέλου", + "remove": "Αφαιρέστε το {folder}" + }, + "listTitle": "Φάκελοι", + "storageTitle": "Φάκελος αποθήκευσης", + "matchingFiles": "{count, plural, one {# ταιριάζουν με το αρχείο} other {# ταιριάζουν με αρχεία}}", + "bookCount": "{count, plural, one {# βιβλίο} other {# βιβλία}}", + "checkAll": "Ελέγξτε τους φακέλους ξανά", + "checkAgain": "Ελέγξτε ξανά το {folder}", + "checkHint": "Κάθε φάκελος ελέγχεται μόλις τον προσθέσετε. Ένας φάκελος άλλη βιβλιοθήκη που διαβάζει ήδη είναι flagged, επειδή και οι δύο βιβλιοθήκες θα εισάγουν τα ίδια αρχεία.", + "emptyHint": "Επικόλληση μιας διαδρομής διακομιστή παρακάτω ή αναζήτηση για ένα.", + "emptyPodcastHint": "Επιλέξτε που θα αποθηκεύονται τα κατεβασμένα επεισόδια podcast.", + "pastePlaceholder": "Επικόλληση διαδρομής διακομιστή, π.χ. /books/Sci-Fi", + "pastePodcastPlaceholder": "Επικόλληση διαδρομής διακομιστή, π.χ. /podcasts", + "browse": "Αναζήτηση...", + "status": { + "checking": "Έλεγχος", + "failed": "Ο έλεγχος απέτυχε", + "notAccessible": "Μη προσβάσιμο", + "overlap": "Επίσης στο {library}", + "overlapTitle": "Η βιβλιοθήκη \"{library}\" διαβάζει ήδη αυτόν τον φάκελο.", + "files": "{count, plural, one {# αρχείο} other {# αρχεία}}" + }, + "errors": { + "empty": "Εισάγετε μια διαδρομή φακέλου διακομιστή.", + "notAbsolute": "Εισάγετε μια απόλυτη διαδρομή διακομιστή που αρχίζει με /.", + "duplicate": "Αυτός ο φάκελος έχει ήδη προστεθεί.", + "covered": "Αυτός ο φάκελος καλύπτεται ήδη από τον {path}." + } }, "scanner": { "scanMode": { @@ -5419,6 +10418,49 @@ "hint": "Αντιμετωπίζει κάθε αρχείο ως μεμονωμένο βιβλίο. Κατάλληλο για βιβλιοθήκες με μία μορφή ανά τίτλο. Αποφύγετε αν οι ήχοι σας καλύπτουν πολλά αρχεία." } }, + "addedAt": { + "title": "Ημερομηνία προσθήκης", + "hint": "Επιλέξτε τι αντανακλά η \"ημερομηνία προσθήκης\" ενός βιβλίου. Αυτό ισχύει για τα βιβλία που εισάγονται από δω και στο εξής.", + "options": { + "imported": { + "title": "Κατά την εισαγωγή", + "hint": "Η ημερομηνία BookOrbit εισήγαγε για πρώτη φορά το βιβλίο. Αυτή είναι η προεπιλογή." + }, + "file_modified": { + "title": "Χρόνος τροποποίησης αρχείου", + "hint": "Ο τελευταίος τροποποιημένος χρόνος του αρχείου (mtime), συχνά διατηρείται όταν τα αρχεία αντιγράφονται." + }, + "file_created": { + "title": "Χρόνος δημιουργίας αρχείου", + "hint": "Όταν το αρχείο προσγειώθηκε για πρώτη φορά στο δίσκο (λήψη). Επιστρέφει πίσω στο τροποποιημένο χρόνο σε συστήματα αρχείων που δεν καταγράφουν το χρόνο δημιουργίας τους." + } + }, + "recompute": "Προτείνετε τώρα", + "recomputing": "Προτείνεται...", + "recomputeHint": "Ενημέρωση της ημερομηνίας που προστέθηκε για τα υπάρχοντα βιβλία χρησιμοποιώντας αυτή τη ρύθμιση.", + "recomputeSaveFirst": "Αποθηκεύστε τις αλλαγές σας πρώτα, και στη συνέχεια επανυπολογίστε τα υπάρχοντα βιβλία.", + "backgroundConfirm": "Προτείνετε ημερομηνίες για τα υπάρχοντα βιβλία? Αυτό τρέχει στο παρασκήνιο, και μπορείτε να κλείσετε αυτό το πρόγραμμα επεξεργασίας. Βιβλία με μη αναγνώσιμα αρχεία τηρούν την τρέχουσα ημερομηνία τους.", + "progressSummary": "Επεξεργασμένος {processed} {total}: Ο {updated} ενημερώθηκε, ο {unchanged} αμετάβλητος, {skipped} παραλείφθηκε, ο {failed} απέτυχε.", + "failedBooksHint": "Τα βιβλία απέτυχε κράτησαν τις ημερομηνίες τους. Έλεγξε την πρόσβαση στο αρχείο και εκτέλεσε ξανά υπολογισμούς για να ξαναδοκιμάσεις.", + "jobStatus": { + "running": "Προτείνοντας ημερομηνίες στο παρασκήνιο.", + "completed": "Ημερομηνία επανυπολογισμού ολοκληρώθηκε.", + "failed": "Προετοιμαστείτε να σταματήσετε πριν ολοκληρώσετε. Ολοκληρωμένες αλλαγές κρατήθηκαν. Μπορείτε να το εκτελέσετε ξανά με ασφάλεια." + }, + "errors": { + "sourceImported": "Αποθήκευση πηγής χρονοσήμανσης αρχείου πριν από τον επαναυπολογισμό των ημερομηνιών.", + "alreadyRunning": "Μια επανεκτίμηση εκτελείται ήδη για αυτή τη βιβλιοθήκη.", + "busy": "Εκτελούνται και άλλες επανυπολογισμοί. Δοκιμάστε ξανά σύντομα.", + "requestFailed": "Δεν ήταν δυνατή η πρόσβαση στην υπηρεσία επανυπολογισμού. Κλείστε και ανοίξτε ξανά αυτόν τον επεξεργαστή για να ελέγξετε την κατάστασή του.", + "interrupted": "Η κατάσταση της εργασίας δεν είναι πλέον διαθέσιμη. Μπορεί να έχει διακοπεί από την επανεκκίνηση του διακομιστή. Μπορείτε να εκτελέσετε ξανά υπολογισμούς με ασφάλεια." + }, + "failureSample": "Βιβλίο {bookId}: {reason}", + "failureReasons": { + "file_unavailable": "Δεν ήταν δυνατή η ανάγνωση ενός αρχείου περιεχομένου.", + "unsafe_path": "Ένα αρχείο περιεχομένου είναι εκτός του επιτρεπόμενου φακέλου βιβλιοθήκης.", + "database_error": "Η ενημέρωση της βάσης δεδομένων απέτυχε." + } + }, "allowedFormats": { "title": "Επιτρεπόμενες μορφές", "allowAll": "Επιτρέπονται όλα", @@ -5432,6 +10474,36 @@ "hintAfter": ").", "add": "Προσθήκη", "empty": "Δεν προστέθηκαν μοτίβα." + }, + "mode": { + "title": "Πώς τα αρχεία γίνονται βιβλία", + "locked": "Ορισμός κατά τη δημιουργία", + "cannotChange": "Αυτή είναι η μοναδική ρύθμιση που δεν μπορείτε να αλλάξετε αργότερα.", + "folderHint": "Κάθε φάκελος είναι ένα βιβλίο. Καλύτερα όταν ένας τίτλος διατηρεί διάφορες μορφές μαζί, ή ένα audiobook εκτείνεται πολλά αρχεία.", + "fileHint": "Κάθε αρχείο είναι το δικό του βιβλίο. Καλύτερο για επίπεδους φακέλους με μία μορφή ανά τίτλο.", + "folderResult": "Ένα βιβλίο με δύο μορφές", + "fileResult": "Τρία βιβλία, ένα ανά αρχείο" + }, + "import": { + "title": "Εισαγωγή", + "all": "Όλες οι μορφές", + "some": "Μόνο αυτά", + "groups": { + "ebook": "Βιβλία", + "kindle": "Kindle", + "document": "Έγγραφα", + "comic": "Κόμικς", + "audio": "Ήχος" + } + }, + "skip": { + "title": "Παράλειψη αντιστοίχισης αρχείων", + "count": "{count, plural, one {# μοτίβο} other {# μοτίβα}}", + "hint": "Glob μοτίβα, ταιριασμένα με μονοπάτια μέσα στους φακέλους της βιβλιοθήκης.", + "inputLabel": "Μοτίβο για παράλειψη", + "placeholder": "Πληκτρολογήστε ένα μοτίβο όπως **/samples/** και πατήστε Enter", + "placeholderMore": "Προσθήκη άλλου μοτίβου", + "remove": "Αφαιρέστε το μοτίβο {pattern}" } }, "metadata": { @@ -5442,6 +10514,91 @@ "formatPriority": { "title": "Προτεραιότητα διαμόρφωσης", "hint": "Όταν ένα βιβλίο έχει πολλαπλές μορφές, προτιμάται η υψηλότερη μορφή στη λίστα." + }, + "moveUp": "Μετακίνηση {item} πάνω", + "moveDown": "Μετακίνηση {item} κάτω", + "primary": { + "title": "Κύριο αρχείο", + "hint": "Όταν ένα βιβλίο έχει πολλά αρχεία, η πρώτη μορφή με αυτή τη σειρά γίνεται το κύριο αρχείο του: αυτό που ανοίγει πρώτα και παρέχει τα στοιχεία του βιβλίου. Σύρετε μια σειρά, ή χρησιμοποιήστε τα βέλη.", + "reset": "Επαναφορά παραγγελίας", + "first": "Πρώτη επιλογή", + "notImported": "Δεν εισήχθη", + "notHeld": "{count, plural, one {# διαμορφώσει αυτή η βιβλιοθήκη δεν κρατά την προεπιλεγμένη θέση μετά από αυτά.} other {# μορφές που αυτή η βιβλιοθήκη δεν κρατά την προεπιλεγμένη παραγγελία τους μετά από αυτές.}}", + "moreBelow": "{count, plural, one {# ακολουθεί περισσότερη μορφή με αυτή τη σειρά.} other {# περισσότερες μορφές ακολουθούν με αυτή τη σειρά.}}", + "showingAll": "Εμφάνιση κάθε μορφής.", + "showAll": "Εμφάνιση όλων {count}", + "showFewer": "Εμφάνιση λιγότερων" + }, + "source": { + "title": "Λεπτομέρειες βιβλίου προέρχονται από", + "embeddedTitle": "Ετικέτες στο αρχείο του βιβλίου", + "embeddedHint": "Ανάγνωση από το πρωτεύον αρχείο", + "opfTitle": "metadata.opf αρχείο", + "opfHint": "Αποθηκεύτηκε δίπλα στο βιβλίο από την Calibre", + "swap": "Εναλλαγή παραγγελίας", + "hint": "Το BookOrbit χρησιμοποιεί το πρώτο ένα βιβλίο που έχει και αγνοεί το άλλο. Οι βιβλιοθήκες Calibre συνήθως θέλουν πρώτα το metadata.opf." + }, + "regex": { + "title": "Ρύθμιση μεταδεδομένων regex", + "sourceTitle": "Regex", + "description": "Εξαγωγή μεταδεδομένων από τη διαδρομή του πρωτεύοντος αρχείου σε σχέση με το φάκελο βιβλιοθήκης. Η επέκταση αρχείου διαγράφεται πριν από την αντιστοίχιση. Ο πρώτος κανόνας με χρησιμοποιήσιμα πεδία κερδίζει.", + "enable": "Ενεργοποίηση μεταδεδομένων regex", + "primaryFileHint": "Για ένα βιβλίο που αποτελείται από διάφορα αρχεία, όπως κομμάτια audiobook, οι κανόνες διαβάζουν τη διαδρομή του πρωτεύοντος αρχείου.", + "groups": "Ονομαστικές ομάδες:", + "valuesHint": "Χρήση συγγραφέα για έναν συγγραφέα ή συγγραφείς που διαχωρίζονται με ερωτηματικά. Ημερομηνίες χρήσης ΕΕΕΕ-ΜΜ-ΗΗ. Σημαίες: αγνοεί την περίπτωση, u επιτρέπει Unicode.", + "rules": "Διαταγμένοι κανόνες εξόρυξης", + "rule": "Κανόνας {number}", + "moveUp": "Μετακίνηση κανόνα πάνω", + "moveDown": "Μετακίνηση κανόνα κάτω", + "remove": "Αφαίρεση κανόνα", + "basePath": "Φάκελος βιβλιοθήκης", + "extensionHint": "Η επέκταση αρχείου αγνοείται αυτόματα. Η άγκυρα τέλους ταιριάζει με το όνομα του αρχείου χωρίς την επέκτασή του.", + "flags": "Σημαίες", + "add": "Προσθήκη κανόνα", + "examplePath": "Παράδειγμα σχετικής διαδρομής αρχείου, συμπεριλαμβανομένης της επέκτασης", + "examplePlaceholder": "Συγγραφέας/Σειρά/08 - My.Book.epub", + "exampleTitle": "Παράδειγμα με αναφορά επιστροφής συντάκτη", + "exampleTestPath": "Διαδρομή δοκιμής (συμπεριλαμβανομένης της επέκτασης)", + "validating": "Έλεγχος κανόνων…", + "validationSuccess": "Η σύνταξη του κανόνα και οι ομάδες είναι έγκυρες. Χρησιμοποιήστε την προεπισκόπηση για να ελέγξετε τις αντιστοιχίες μιας διαδρομής αρχείου.", + "validationError": "Δεν ήταν δυνατή η επικύρωση των κανόνων. Δοκιμάστε ξανά πριν την εφαρμογή τους.", + "validationRetry": "Έλεγχος ξανά", + "validationRuleCount": "Προσθήκη μεταξύ {min} και {max} κανόνων.", + "preview": "Προεπισκόπηση", + "previewing": "Κανόνες δοκιμής…", + "previewError": "Δεν ήταν δυνατή η προεπισκόπηση των κανόνων. Ελέγξτε τη σχετική διαδρομή και τη ρύθμιση παραμέτρων, και προσπαθήστε ξανά.", + "actualInput": "Η διαδρομή δοκιμάστηκε:", + "matched": "Αντιστοιχισμένος κανόνας {number}", + "noMatch": "Δεν υπάρχει εύχρηστο ταίριασμα. Θα χρησιμοποιηθούν μεταδεδομένα αρχείων.", + "scanHint": "Οι αλλαγές ισχύουν για μελλοντική εξαγωγή μεταδεδομένων για νέα ή τροποποιημένα αρχεία. Η αποθήκευση δεν ξεκινά σάρωση ή ενημέρωση αμετάβλητων βιβλίων.", + "apply": "Εφαρμογή στη φόρμα βιβλιοθήκης", + "configure": "Ρύθμιση", + "enabledHint": "Εξαγωγή πεδίων από σχετικές διαδρομές χωρίς επεκτάσεις αρχείων.", + "disabledHint": "Απενεργοποιημένη. Ρυθμίστε τους κανόνες για ενεργοποίηση.", + "moveSourceUp": "Μετακίνηση {source} πάνω", + "moveSourceDown": "Μετακίνηση {source} κάτω", + "diagnostics": { + "pattern_required": "Εισάγετε μια κανονική έκφραση.", + "pattern_too_long": "Η έκφραση δεν πρέπει να υπερβαίνει τους {count} χαρακτήρες.", + "invalid_flags": "Μόνο εγώ και u επιτρέπονται, το πολύ μία φορά.", + "invalid_pattern": "Μη έγκυρη κανονική έκφραση.", + "missing_group": "Συμπερίληψη τουλάχιστον μιας υποστηριζόμενης ομάδας.", + "conflicting_authors": "Χρησιμοποιήστε είτε συγγραφέα ή συγγραφείς, όχι και τα δύο.", + "invalid_value": "Μια μη έγκυρη τιμή πεδίου παραλείφθηκε.", + "timeout": "Η έκφραση πήρε πολύ καιρό. Απλοποιήστε το μοτίβο.", + "busy": "Όλοι οι εργαζόμενοι προεπισκόπησης είναι απασχολημένοι. Δοκιμάστε ξανά σύντομα.", + "worker_failed": "Δεν ήταν δυνατή η αξιολόγηση της έκφρασης. Δοκιμάστε ξανά." + }, + "precedenceHint": "Τα πεδία Regex ακολουθούν αυτή τη σειρά και οι τιμές που λείπουν συμπληρώνονται από την άλλη πηγή.", + "summary": "{format} πρώτα, regex μεταδεδομένα προτιμώνται", + "fields": { + "title": "Τίτλος", + "authors": "Συντάκτες", + "series": "Σειρά", + "seriesIndex": "Αριθμός σειράς", + "publishedYear": "Δημοσιευμένο έτος", + "publishedDate": "Ημερομηνία δημοσίευσης" + } } }, "fileWrite": { @@ -5457,13 +10614,23 @@ }, "cover": { "title": "Συμπερίληψη εικόνας εξωφύλλου", - "hint": "Γράφει το αποθηκευμένο εξώφυλλο σε υποστηριζόμενες μορφές αρχείων." + "hint": "Γράφει το αποθηκευμένο εξώφυλλο σε υποστηριζόμενες μορφές αρχείων.", + "mediumHint": "Γράφει το αποθηκευμένο εξώφυλλο και στο αρχείο. Τα αρχεία του Ebook παίρνουν το εξώφυλλο και τα αρχεία ήχου παίρνουν το εξώφυλλο Audiobook; ένα αρχείο του οποίου το εξώφυλλο λείπει κρατά το δικό του." + }, + "allFiles": { + "title": "Εγγραφή σε κάθε αρχείο ενός βιβλίου", + "hint": "Επίσης, γράφει στα άλλα αρχεία του βιβλίου του, όπως ένα audiobook που διατηρείται δίπλα στο ebook του ή ένα PDF στον ίδιο φάκελο. Κάθε μορφή βιβλίου υπάρχει γραμμένο, έτσι δώστε ένα συνοδευτικό αρχείο, όπως ένα βιβλίο εργασίας δικό του φάκελο για να το κρατήσει έξω. Μορφή εναλλαγή και τα όρια μεγέθους κάτω εξακολουθούν να ισχύουν. Η απενεργοποίηση παύει τις μελλοντικές εγγραφές. Δεν αναιρεί τα αρχεία που έχουν ήδη εγγραφεί." }, "epub": { "title": "EPUB", "hint": "Εγγραφή μεταδεδομένων στο αρχείο OPF μέσα στο αρχείο EPUB.", "toggleAria": "Εγγραφή μεταδεδομένων EPUB" }, + "readAlong": { + "title": "Ανάγνωση κατά μήκος EPUB", + "hint": "EPUBs με συγχρονισμένη αφήγηση, όπως Storyteller read-alongs. Φέρνουν τον ήχο τους, έτσι είναι μεγάλες και χρειάζονται περισσότερη μνήμη για να ξαναγράψουν.", + "toggleAria": "Εγγραφή μεταδεδομένων EPUB κατά μήκος" + }, "fb2": { "title": "FictionBook (FB2)", "hint": "Γράφει ξανά το μπλοκ περιγραφής μέσα σε αρχεία FB2, αφήνοντας το κείμενο του βιβλίου ανέγγιχτο.", @@ -5487,8 +10654,20 @@ "audio": { "title": "Ήχος", "hint": "Ενσωματώνει το αποθηκευμένο κάλυμμα σε M4B, M4A, MP3 και αρχεία FLAC.", - "toggleAria": "Γράψτε εξώφυλλα ήχου" - } + "toggleAria": "Γράψτε εξώφυλλα ήχου", + "tagsHint": "Εγγράφει ετικέτες όπως τίτλο, συγγραφείς, αφηγητές και σειρές σε M4B, M4A, MP3 και FLAC αρχεία.", + "tagsToggleAria": "Εγγραφή μεταδεδομένων ήχου" + }, + "coverAudioHint": "Γράφει το αποθηκευμένο εξώφυλλο και στο αρχείο. Τα αρχεία ήχου μπορούν να πάρουν μόνο ένα εξώφυλλο.", + "audioNeedsCover": "Χρειάζεται \"Συμπερίληψη εικόνας εξώφυλλο\" ενεργοποιημένη.", + "table": { + "format": "Μορφή", + "inLibrary": "Εδώ", + "sizeLimit": "Όριο μεγέθους" + }, + "sizeLimitAria": "Όριο μεγέθους {format} σε MB", + "mb": "MB", + "summary": "{count, plural, =0 {Δεν γράφονται τύποι αρχείων.} one {# γράφεται το είδος του αρχείου. Αρχεία πάνω από το όριο μεγέθους τους παραλείπονται.} other {# είδη αρχείων είναι γραμμένα. Τα αρχεία πάνω από το όριο μεγέθους τους παραλείπονται.}}" }, "reading": { "readingStart": { @@ -5497,8 +10676,18 @@ }, "markAsFinished": { "title": "Σήμανση ως τελικό", - "hint": "Ένα βιβλίο επισημαίνεται αυτόματα ως \"διαβάζεται\" όταν αυτό το ποσοστό προόδου έχει επιτευχθεί." - } + "hint": "Ένα βιβλίο επισημαίνεται αυτόματα ως \"διαβάζεται\" όταν αυτό το ποσοστό προόδου έχει επιτευχθεί.", + "invalidThreshold": "Η τελική πρόοδος πρέπει να είναι μεταξύ 90% και 100%." + }, + "statusTitle": "Κατάσταση ανάγνωσης", + "zones": { + "notStarted": "Δεν ξεκίνησε", + "reading": "Ανάγνωση", + "read": "Ανάγνωση" + }, + "range": "Μεταξύ {min} και {max}.", + "startSlider": "Σύρετε για να ορίσετε όταν ένα βιβλίο μετράει ως ξεκίνησε", + "finishSlider": "Σύρετε για ορισμό όταν ένα βιβλίο μετράει ως τελειώσει" }, "schedule": { "fileWatching": "Παρακολούθηση αρχείου", @@ -5535,6 +10724,7 @@ "title": "Έλεγχος πρόσβασης", "description": "Οι Superusers έχουν πάντα πλήρη πρόσβαση. Παραχωρείτε πρόσβαση σε άλλους χρήστες παρακάτω.", "notYetCreated": "Η πρόσβαση μπορεί να ρυθμιστεί μετά τη δημιουργία της βιβλιοθήκης.", + "selectUser": "Επιλέξτε χρήστη…", "grant": "Παραχώρηση", "empty": "Κανένας χρήστης δεν έχει λάβει πρόσβαση ακόμα.", "loading": "Φόρτωση ρυθμίσεων πρόσβασης...", @@ -5552,9 +10742,104 @@ "errors": { "grant": "Αποτυχία χορήγησης πρόσβασης", "updateLevel": "Αποτυχία ενημέρωσης επιπέδου πρόσβασης", - "revoke": "Αποτυχία ανάκλησης πρόσβασης" + "revoke": "Αποτυχία ανάκλησης πρόσβασης", + "load": "Αδυναμία φόρτωσης των ρυθμίσεων πρόσβασης στη βιβλιοθήκη." + }, + "peopleTitle": "Άτομα με πρόσβαση", + "peopleCount": "{count, plural, one {# άτομο} other {# άτομα}}", + "add": "Προσθήκη", + "emptyCreate": "Κανένας άλλος ακόμα. Οι άνθρωποι που προσθέτετε εδώ αποκτούν πρόσβαση μόλις υπάρχει η βιβλιοθήκη.", + "superusers": "Οι Superusers έχουν πάντα πλήρη πρόσβαση.", + "levelsHint": "Οι θεατές μπορούν να περιηγηθούν και να διαβάσουν. Οι συντάκτες και οι ιδιοκτήτες μπορούν επίσης να επεξεργαστούν τα μεταδεδομένα όταν ο λογαριασμός τους έχει άδεια επεξεργασίας μεταδεδομένων.", + "levelFor": "Επίπεδο πρόσβασης για το {name}", + "revokeFor": "Αφαίρεση πρόσβασης για το {name}", + "revokeQuestion": "Κατάργηση πρόσβασης;", + "revoke": "Αφαίρεση", + "keep": "Διατήρηση", + "failed": { + "title": "{count, plural, one {# άτομα δεν μπορούν να προστεθούν} other {# άτομα δεν μπορούν να προστεθούν}}", + "body": "Η βιβλιοθήκη δημιουργήθηκε. Προσπαθήστε να προσθέσετε το {names} ξανά, ή προσθέστε το αργότερα από αυτή την ενότητα." } - } + }, + "optional": "Προαιρετικό", + "nav": { + "details": "Βιβλιοθήκη", + "folders": "Φάκελοι", + "scanner": "Σάρωση", + "metadata": "Μεταδεδομένα", + "reading": "Ανάγνωση", + "schedule": "Αυτοματισμός", + "fileWrite": "Ενημερώσεις αρχείων", + "access": "Πρόσβαση", + "descriptions": { + "details": "Τι ονομάζεται η βιβλιοθήκη και πώς φαίνονται τα καλύμματά της.", + "folders": "Οι φάκελοι διακομιστή από τους οποίους διαβάζει αυτή η βιβλιοθήκη.", + "scanner": "Πώς τα αρχεία ομαδοποιούνται σε βιβλία, και ποια αρχεία παραλείπονται.", + "metadata": "Ποιο αρχείο οδηγεί όταν ένα βιβλίο έχει πολλά, και από πού προέρχονται οι λεπτομέρειες του.", + "reading": "Όταν ένα βιβλίο κινείται από μη αναγνωσμένο σε ανάγνωση για ανάγνωση.", + "schedule": "Διατήρηση τρέχουσας βιβλιοθήκης χωρίς πάτημα σάρωσης.", + "fileWrite": "Προαιρετικές αλλαγές Το BookOrbit μπορεί να κάνει στα αρχεία στο δίσκο.", + "access": "Ποιος άλλος μπορεί να δει και να δουλέψει με αυτή τη βιβλιοθήκη." + } + }, + "sheet": { + "createTitle": "Νέα βιβλιοθήκη", + "createHint": "Ονομάστε το και δείξτε το σε ένα φάκελο. Όλα τα άλλα ξεκινούν με μια λογική προεπιλογή.", + "editFallbackTitle": "Ρυθμίσεις βιβλιοθήκης", + "editSubtitle": "{books, plural, one {# βιβλίο} other {# βιβλία}} · {folders, plural, one {# φάκελος} other {# φάκελοι}} · {mode}", + "editSubtitleNoBooks": "{folders, plural, one {# φάκελος} other {# φάκελοι}} · {mode}", + "readyHint": "Έτοιμο για δημιουργία. Τα υπόλοιπα μπορούν να περιμένουν.", + "needsHint": "Χρειάζεται ένα όνομα, ένα εικονίδιο και ένα φάκελο.", + "discardQuestion": "Να απορριφθούν οι μη αποθηκευμένες αλλαγές σας;", + "discard": "Απορρίψτε", + "keepEditing": "Συνέχιση επεξεργασίας", + "done": "Ολοκληρώθηκε", + "loading": "Φόρτωση ρυθμίσεων...", + "staleWarning": "Δεν ήταν δυνατή η φόρτωση των τελευταίων ρυθμίσεων της βιβλιοθήκης. Μπορείτε ακόμα να επεξεργαστείτε τις προσωρινά αποθηκευμένες ρυθμίσεις που εμφανίζονται εδώ.", + "scanNow": "Σάρωση τώρα" + }, + "summary": { + "needsName": "Χρειάζεται ένα όνομα", + "needsIcon": "Χρειάζεται ένα εικονίδιο", + "needsFolder": "Χρειάζεται ένα φάκελο", + "detailsPortrait": "{name} · Καλύμματα πορτρέτου", + "detailsSquare": "{name} · Τετραγωνικά καλύμματα", + "folders": "{folders, plural, one {# φάκελος} other {# φάκελοι}}", + "foldersFiles": "{folders, plural, one {# φάκελος} other {# φάκελοι}} · {files, plural, one {# αρχείο} other {# αρχεία}}", + "foldersBooks": "{folders, plural, one {# φάκελος} other {# φάκελοι}} · {books, plural, one {# βιβλίο} other {# βιβλία}}", + "scannerAll": "{mode} · Όλες οι μορφές", + "scannerSome": "{mode} · {count, plural, one {# μορφή} other {# μορφές}}", + "metadataFile": "{format} leads · Book file first", + "metadataOpf": "{format} leads · metadata.opf πρώτα", + "reading": "Ξεκίνησε {start} · Ολοκληρώθηκε {finish}", + "watching": "Παρακολούθηση φακέλων", + "notWatching": "Δεν παρακολουθείτε", + "watchingScheduled": "Παρακολούθηση · {schedule}", + "watchingOnly": "Παρακολούθηση · Δεν υπάρχει χρονοδιάγραμμα", + "scheduledOnly": "Δεν παρακολουθώ · {schedule}", + "manualOnly": "Χειροκίνητη σάρωση μόνο", + "customSchedule": "Προσαρμοσμένο πρόγραμμα", + "writesAndRenames": "{count, plural, =0 {Δεν γράφει τίποτα} one {Εγγραφεί # είδος} other {Εγγράφει # είδη}} · Μετονομές", + "writes": "{count, plural, =0 {Δεν γράφει τίποτα} one {Εγγραφεί # είδος αρχείου} other {Εγγραφεί # είδη αρχείων}}", + "renames": "Μετονομασία αρχείων", + "untouched": "Αρχεία που παραμένουν ανέγγιχτα", + "onlySuperusers": "Μόνο υπερχρήστες", + "accessQueued": "{count, plural, one {# άτομο για να προσθέσει} other {# άτομα για να προσθέσουν}}", + "accessPeople": "{count, plural, =0 {Μόνο υπερχρήστες} one {# άτομο} other {# άνθρωποι}}" + }, + "errors": { + "nameRequired": "Εισάγετε ένα όνομα βιβλιοθήκης.", + "iconRequired": "Επιλέξτε ένα εικονίδιο.", + "folderRequired": "Προσθέστε τουλάχιστον έναν φάκελο.", + "podcastStorageFolder": "Επιλέξτε ακριβώς έναν φάκελο αποθήκευσης για podcasts.", + "podcastFolderOverlap": "Οι υπάρχοντες φάκελοι podcast πρέπει να κάθονται έξω από το φάκελο αποθήκευσης.", + "cronInvalid": "Εισάγετε μια έγκυρη έκφραση cron 5 πεδίων.", + "readingStartRange": "Η εκκίνηση της ανάγνωσης πρέπει να είναι μεταξύ 0,05% και 5%.", + "fileSizeRange": "Τα όρια μεγέθους αρχείου πρέπει να είναι ακέραιοι αριθμοί από 1 έως 10. 000 MB.", + "saveFailed": "Αποτυχία αποθήκευσης της βιβλιοθήκης.", + "connection": "Δεν ήταν δυνατή η σύνδεση με το διακομιστή. Ελέγξτε τη σύνδεσή σας και προσπαθήστε ξανά." + }, + "copyName": "Αντίγραφο {name}" }, "folderPicker": { "title": "Αναζήτηση φακέλων διακομιστή", @@ -5564,6 +10849,7 @@ "parentFolder": "Μετάβαση στον γονικό φάκελο", "newFolder": "Νέος φάκελος", "goUp": "Μετάβαση πάνω", + "filterPlaceholder": "Φιλτράρισμα φακέλων…", "clearFilterAria": "Καθαρισμός φίλτρου φακέλου", "newFolderNamePlaceholder": "Νέο όνομα φακέλου", "create": "Δημιουργία", @@ -5573,6 +10859,7 @@ "noMatchesHint": "Δοκιμάστε ένα διαφορετικό φίλτρο.", "empty": "Αυτός ο φάκελος είναι κενός", "emptyHint": "Μπορείτε να επιλέξετε τον τρέχοντα φάκελο ή να δημιουργήσετε έναν νέο.", + "openFolderAria": "Ανοίξτε το {name}", "selectedCount": "{count, plural, =0 {Δεν επιλέχθηκαν φάκελοι} one {# επιλεγμένοι φάκελοι} other {# επιλεγμένοι}}", "noFolders": "Δεν βρέθηκαν φάκελοι", "selectFolder": "Επιλέξτε αυτόν τον φάκελο", @@ -5583,6 +10870,13 @@ "createFolder": "Αδυναμία δημιουργίας φακέλου" } }, + "destination": { + "loadFailed": "Δεν ήταν δυνατή η φόρτωση των βιβλιοθηκών προορισμού. Κλείστε και ανοίξτε ξανά για να προσπαθήσετε ξανά.", + "noLibraries": "Δεν υπάρχουν βιβλιοθήκες βιβλίων διαθέσιμες. Δημιουργήστε μια βιβλιοθήκη ή ζητήστε πρόσβαση από το διαχειριστή.", + "noFolders": "Αυτή η βιβλιοθήκη δεν έχει φακέλους προορισμού. Προσθέστε ένα φάκελο στις ρυθμίσεις βιβλιοθήκης.", + "unavailable": "Η επιλεγμένη βιβλιοθήκη δεν είναι πλέον διαθέσιμη.", + "selectFolder": "Επιλέξτε ένα φάκελο..." + }, "upload": { "library": "Βιβλιοθήκη", "selectLibrary": "Επιλέξτε μια βιβλιοθήκη...", @@ -5610,6 +10904,85 @@ } } }, + "metadataReminders": { + "title": "Υπενθυμίσεις λείπουσες", + "navDescription": "Επιλέξτε τα ελλείποντα πεδία μεταδεδομένων που θέλετε να δείτε", + "personal": "Οι προτιμήσεις σας", + "description": "Επιλέξτε ποια πεδία λείπουν εμφανίζονται στις υπενθυμίσεις του βιβλίου. Αυτές οι προτιμήσεις ισχύουν σε ολόκληρη τη βιβλιοθήκη σας και μην αλλάζετε βαθμολογίες μεταδεδομένων.", + "sheetDescription": "Επιλέξτε τα πεδία που σας ενδιαφέρουν χωρίς να βγείτε από αυτό το βιβλίο.", + "fieldsHeading": "Πεδία για έλεγχο", + "autoSave": "Αλλαγές αποθηκεύονται αυτόματα στο λογαριασμό σας.", + "saving": "Αποθήκευση προτιμήσεων...", + "saved": "Οι προτιμήσεις αποθηκεύτηκαν.", + "reset": "Επαναφορά στις προεπιλογές", + "disabled": "Δεν επιλέχθηκαν πεδία. Οι υπενθυμίσεις στο πεδίο που λείπουν είναι κρυμμένες.", + "saveFailed": "Δεν ήταν δυνατή η αποθήκευση των προτιμήσεών σας. Οι προηγούμενες προτιμήσεις σας έχουν αποκατασταθεί.", + "customize": "Προσαρμογή υπενθυμίσεων...", + "missingHeading": "Λείπουν μεταδεδομένα", + "missingDescription": "Λείπει τα πεδία που επιλέξατε να παρακολουθείτε.", + "missingCount": "{count, plural, one {# λείπει το πεδίο} other {# λείπουν πεδία}}", + "missingFields": "{count, plural, one {λείπει το πεδίο} other {Τα πεδία λείπουν}}", + "fields": { + "publisher": { + "label": "Εκδότης", + "hint": "Ο εκδότης συμπληρώνεται." + }, + "language": { + "label": "Γλώσσα", + "hint": "Η γλώσσα συμπληρώνεται." + }, + "publication": { + "label": "Έτος δημοσίευσης", + "hint": "Ένα έτος δημοσίευσης ή πλήρης ημερομηνία είναι αρκετό." + }, + "pageCount": { + "label": "Αριθμός σελίδων", + "hint": "Ο αριθμός των σελίδων είναι συμπληρωμένος. Τα βιβλία μόνο με ήχο παραλείπονται." + }, + "isbn": { + "label": "ISBN", + "hint": "Είτε ISBN-10 είτε ISBN-13 είναι αρκετό." + }, + "genres": { + "label": "Genres", + "hint": "Τουλάχιστον ένα είδος συμπληρώνεται." + }, + "tags": { + "label": "Ετικέτες", + "hint": "Τουλάχιστον μία ετικέτα συμπληρώνεται." + }, + "description": { + "label": "Περιγραφή", + "hint": "Συμπληρώνεται η περιγραφή." + } + } + }, + "metadataCache": { + "badge": { + "cached": "Cached", + "stale": "Παλιό", + "cachedHint": "Αποθηκευμένο αποτέλεσμα από το {when}", + "cachedHintUndated": "Αποθηκευμένο αποτέλεσμα", + "staleHint": "Ο πάροχος δεν ήταν διαθέσιμος, οπότε χρησιμοποιήθηκε ένα αποθηκευμένο αποτέλεσμα από το {when}", + "staleHintUndated": "Ο πάροχος δεν ήταν διαθέσιμος, οπότε χρησιμοποιήθηκε ένα αποθηκευμένο αποτέλεσμα" + }, + "notice": { + "someCached": "Μερικά αποτελέσματα προήλθαν από αποθηκευμένες αναζητήσεις (παλαιότερες: {when}).", + "someCachedUndated": "Μερικά αποτελέσματα προήλθαν από αποθηκευμένες αναζητήσεις.", + "someStale": "Ορισμένοι πάροχοι δεν ήταν διαθέσιμοι, οπότε εμφανίστηκαν αποθηκευμένα αποτελέσματα (παλαιότερα: {when}).", + "someStaleUndated": "Ορισμένοι πάροχοι δεν ήταν διαθέσιμοι, οπότε εμφανίστηκαν αποθηκευμένα αποτελέσματα.", + "searchFresh": "Αναζήτηση φρέσκου", + "searchFreshHint": "Ζητήστε ξανά από κάθε πάροχο αντί να χρησιμοποιήσετε αποθηκευμένες απαντήσεις" + }, + "fallback": { + "usedSaved": "{count, plural, one {{providers} δεν ήταν διαθέσιμα, οπότε χρησιμοποιήθηκαν αποθηκευμένα αποτελέσματα.} other {{providers} δεν ήταν διαθέσιμα, οπότε χρησιμοποιήθηκαν αποθηκευμένα αποτελέσματα.}}" + }, + "ignoreCache": { + "label": "Αγνόηση προσωρινά αποθηκευμένων αποτελεσμάτων", + "hint": "Ζητήστε από κάθε πάροχο ξανά αντί να ξαναχρησιμοποιείτε αποθηκευμένες απαντήσεις. Αργότερη, και χρησιμοποιεί περισσότερο δικαίωμα αιτήματος κάθε παρόχου.", + "runHint": "Ισχύει για την εκτέλεση που ξεκινάτε. Κάθε πάροχος ζητείται ξανά αντί να επαναχρησιμοποιεί αποθηκευμένες απαντήσεις, η οποία είναι πιο αργή." + } + }, "metadataScore": { "missingFields": "{count, plural, =0 {Δεν λείπουν πεδία - επεξεργασία μεταδεδομένων} one {# λείπει το πεδίο - επεξεργασία μεταδεδομένων} other {# λείπουν τα πεδία - επεξεργασία μεταδεδομένων}}" }, @@ -5746,7 +11119,8 @@ "snapshot": { "title": "Τελευταίο στιγμιότυπο επικύρωσης", "sourceVersion": "Έκδοση πηγαίου κώδικα: {version}", - "unknown": "Άγνωστο" + "unknown": "Άγνωστο", + "missingTables": "Λείπουν απαιτούμενοι πίνακες: {tables}" } }, "mappings": { @@ -5768,6 +11142,7 @@ "pathValidation": { "title": "Επικύρωση διαδρομής", "mappedSummary": "{mapped} του αρχικού βιβλίου {total} έχουν χαρτογραφημένη διαδρομή", + "unmatched": "Οι αντιστοιχισμένες διαδρομές {count} δεν βρέθηκαν στο δίσκο", "allMatched": "Όλα τα {count} χαρτογραφημένα μονοπάτια που βρέθηκαν στο δίσκο" } }, @@ -5782,10 +11157,14 @@ "title": "Επίλυση διπλότυπων αντιστοιχιών στόχων", "explanation": "Για κάθε βιβλίο-στόχο, επιλέξτε ένα βιβλίο προέλευσης για να κρατήσετε. Οι συνιστώμενες επιλογές είναι προεπιλεγμένες όταν υπάρχει ένα μόνο ισχυρότερο ταίριασμα.", "remainingGroups": "Υπόλοιπες ομάδες:", + "ofCount": "του {total}", + "targetBookId": "Βιβλίο-στόχος #{id}", "recommended": "Προτεινόμενο", "resolveButton": "{count, plural, =0 {Επίλυση # διπλότυπων} one {Επίλυση # διπλότυπων} other {Επίλυση # διπλότυπων}}", + "sourceRecordId": "Αναγνωριστικό εγγραφής πηγής #{id}", "byAuthor": "από {author} (ID: {id})", "byFilePath": "{filePath} (ID: {id})", + "bookloreSourceId": "Αναγνωριστικό πηγής βιβλιαρίου: {id}", "libraryBookId": "Βιβλιοθήκη βιβλίο #{id}" }, "preflight": { @@ -5811,16 +11190,20 @@ } }, "run": { + "confirmPrompt": "Αυτό θα ξεκινήσει τη ζωντανή μετεγκατάσταση. Είσαι σίγουρος;", "confirmStart": "Επιβεβαίωση Έναρξης", "startMigration": "Έναρξη Μετανάστευσης", "cancelRun": "Ακύρωση Εκτέλεσης", "refreshStatus": "Ανανέωση Κατάστασης", "pollingStopped": "Η ψηφοφορία κατάστασης σταμάτησε λόγω σφάλματος.", "retry": "Επανάληψη", - "initializing": "αρχικοποίηση" + "stage": "Στάδιο: {stage}", + "initializing": "αρχικοποίηση", + "ended": "Έληξε {time}" }, "report": { "noRunYet": "Δεν εκτελείται καμία μεταφορά ακόμα. Ολοκληρώστε τα παραπάνω βήματα για να ξεκινήσετε.", + "runNumber": "Εκτελέστε το #{id}", "notStarted": "Δεν ξεκίνησε", "reloadReport": "Επαναφόρτωση Αναφοράς", "loadFullReport": "Φόρτωση Πλήρους Αναφοράς", @@ -5849,9 +11232,13 @@ "completedNoIssues": "Η μετανάστευση ολοκληρώθηκε χωρίς ανεπίλυτα βιβλία ή αποτυχίες.", "matchedBooks": "Ταιριασμένα βιβλία ({count})", "matchedBooksExplanation": "Αυτοί οι ξηροί αγώνες χρησιμοποιήθηκαν για να αποφασίσουν ποια βιβλία βιβλιοθηκών έλαβαν εισαγόμενα δεδομένα.", + "sourceBook": "Πηγαίο βιβλίο {id}", "libraryBook": "Βιβλιοθήκη βιβλίο {id}", + "unresolvedBooks": "Μη επιλυμένα βιβλία ({count})", "unresolvedBooksExplanation": "Αυτά τα βιβλία υπάρχουν στην πηγή αλλά δεν θα μπορούσαν να ταιριάζουν με οποιοδήποτε βιβλίο στη βιβλιοθήκη σας.", + "mappedUsers": "Χαρτογραφημένοι χρήστες ({count})", "mappedUsersExplanation": "Τα σύνολα των χρηστών προέρχονται από την προεπισκόπηση dry-run cached με το σχέδιο μετανάστευσης.", + "coverFailures": "Αποτυχία εισαγωγής εξωφύλλου {count}. Οι λεπτομερείς σειρές αποτυχίας δεν αποθηκεύονται.", "userPreviewCounts": "{statuses} statuses, {progress} καταχωρήσεις προόδου, {sessions} συνεδρίες ανάγνωσης, {bookmarks} σελιδοδείκτες, {annotations} σημειώσεις, {collections} καταχωρήσεις συλλογής" }, "unresolvedReason": { @@ -5897,7 +11284,9 @@ "loadSuggestionsFailed": "Αποτυχία φόρτωσης των προτάσεων αντιστοίχισης χρήστη", "sourceFieldsRequired": "Ο υπολογιστής, ο χρήστης, η βάση δεδομένων και το όνομα προέλευσης απαιτούνται", "connectionPassedWithWarnings": "Δοκιμή σύνδεσης που πέρασε με προειδοποιήσεις", + "connectionPassedWithWarningCount": "Η δοκιμή σύνδεσης πέρασε με προειδοποίηση(εις) {count}. Πρώτον: {warning}", "connectionPassed": "Δοκιμή σύνδεσης πέρασε", + "connectionMissingTables": "Η σύνδεση είναι εντάξει, αλλά λείπουν οι απαιτούμενοι πίνακες {count}", "cannotTestMediaWhileRunning": "Δεν είναι δυνατός ο έλεγχος διαδρομής πολυμέσων όσο εκτελείται είναι ενεργός", "mediaPathRequired": "Η διαδρομή πολυμέσων Root απαιτείται για την εισαγωγή εξωφύλλου.", "mediaPathAbsolute": "Χρήση απόλυτης διαδρομής (για παράδειγμα: /books).", @@ -5918,6 +11307,7 @@ "saveMappingsFailed": "Αποτυχία αποθήκευσης χαρτογραφήσεων", "cannotDryRunWhileRunning": "Αδύνατη η εκτέλεση του dry-run όσο είναι ενεργή", "saveMappingsFirst": "Αποθήκευση χαρτογραφήσεων πρώτα", + "dryRunCompleted": "Ολοκληρώθηκε η ξηρή εκτέλεση: {matched} αντιστοιχίστηκε, {unresolved} δεν επιλύθηκε", "dryRunFailed": "Αποτυχημένη εκτέλεση", "selectSourceForDuplicates": "Επιλέξτε ένα βιβλίο πηγαίου κώδικα για όλες τις ομάδες {count} διπλότυπες", "duplicatesResolved": "Διπλές αντιστοιχίες επιλύθηκαν", @@ -5934,6 +11324,7 @@ "startMigrationFirst": "Ξεκινήστε τη μετεγκατάσταση πρώτα", "reportRefreshed": "Εκτέλεση αναφοράς ανανεωμένη", "loadReportFailed": "Αποτυχία φόρτωσης αναφοράς εκτέλεσης", + "reportExported": "Η αναφορά εξήχθη ως {format}", "exportFailed": "Αποτυχία εξαγωγής αναφοράς μετανάστευσης" } }, @@ -5944,6 +11335,9 @@ "clear": "Εκκαθάριση", "empty": "Δεν υπάρχουν ειδοποιήσεις ακόμα", "loadMore": "Φόρτωση περισσότερων ειδοποιήσεων", + "dismiss": "Απόρριψη ειδοποίησης", + "occurrences": "Συνέβη {count} φορές", + "occurrencesShort": "x{count}", "preferences": { "title": "Ειδοποιήσεις", "subtitle": "Επιλέξτε ποιες κατηγορίες ειδοποιήσεων θέλετε να λάβετε.", @@ -5962,6 +11356,20 @@ "app": "Ενημερώσεις εφαρμογών" }, "enabledCount": "{enabled} του {total} ενεργοποιημένο", + "levels": { + "off": { + "short": "Ανενεργό", + "description": "Ποτέ μην με ειδοποιείτε για αυτό." + }, + "problems": { + "short": "Προβλήματα", + "description": "Να με ειδοποιώ μόνο όταν κάτι αποτύχει ή χρειάζεται προσοχή." + }, + "all": { + "short": "Όλα", + "description": "Ειδοποιήστε με κάθε φορά, συμπεριλαμβανομένων των επιτυχιών." + } + }, "categories": { "scanning": { "label": "Σάρωση βιβλιοθήκης", @@ -6006,18 +11414,103 @@ "achievements": { "label": "Επιτεύγματα", "description": "Όταν ξεκλειδώνετε ένα νέο επίτευγμα ανάγνωσης." + }, + "bookRequests": { + "label": "Αιτήσεις βιβλίων", + "description": "Όταν υποβάλλεται ένα αίτημα βιβλίου, αποφασίστηκε ή το βιβλίο γίνεται διαθέσιμο." } } } }, "reader": { + "pageImages": { + "loadFailed": "Αδυναμία ανοίγματος αυτού του εγγράφου. Ελέγξτε την πρόσβασή σας ή προσπαθήστε ξανά.", + "pageFailed": "Αυτή η σελίδα δεν μπόρεσε να φορτωθεί. Προσπαθήστε ξανά όταν ο διακομιστής είναι διαθέσιμος.", + "pageAlt": "Σελίδα {page}", + "previousPage": "Προηγούμενη σελίδα", + "nextPage": "Επόμενη σελίδα", + "goToPage": "Μετάβαση στη σελίδα", + "pin": "Μενού ανάγνωσης καρφιτσών", + "unpin": "Ξεκαρφίτσωμα μενού αναγνώστη" + }, + "djvu": { + "pageText": "Ενσωματωμένο κείμενο σελίδας", + "textDescription": "Κείμενο που αποθηκεύεται στο DjVu. Το OCR μπορεί να περιέχει λάθη.", + "noText": "Αυτή η σελίδα δεν έχει ενσωματωμένο κείμενο.", + "textFailed": "Αδυναμία φόρτωσης του ενσωματωμένου κειμένου αυτής της σελίδας." + }, "retry": "Επανάληψη", "pdf": { "openError": "Αδυναμία ανοίγματος αυτού του PDF", "preparing": "Προετοιμασία ανάγνωσης PDF", - "opening": "Άνοιγμα PDF" + "opening": "Άνοιγμα PDF", + "loading": "Φόρτωση PDF", + "loadFallback": "Δεν ήταν δυνατή η φόρτωση του εγγράφου.", + "requestFailed": "Το αίτημα PDF απέτυχε με κατάσταση {status}.", + "emptyDocument": "Το αίτημα PDF επέστρεψε ένα κενό έγγραφο.", + "managerError": "Ο διαχειριστής εγγράφων PDF δεν μπόρεσε να αρχικοποιηθεί.", + "engineNoPages": "Η μηχανή PDF άνοιξε αυτό το έγγραφο χωρίς σελίδες.", + "engineOpenError": "Το PDF δεν μπορεί να ανοίξει από τη μηχανή εγγράφων.", + "noPages": "Αυτό το PDF άνοιξε χωρίς καμία σελίδα", + "noPagesHint": "Επαναφόρτωση του εγγράφου για ανάκτηση από την ατελή απόκριση του κινητήρα PDF.", + "externalLinkTitle": "Άνοιγμα εξωτερικού συνδέσμου;", + "externalLinkDescription": "Αυτό το PDF θέλει να ανοίξει το {host} σε μια νέα καρτέλα.", + "openLink": "Άνοιγμα συνδέσμου", + "annotationsLoadError": "Αδύνατη η φόρτωση τονισμών για αυτό το PDF.", + "loadingAnnotations": "Φόρτωση επισημάνσεων PDF", + "loadMoreAnnotations": "Φόρτωση περισσότερων επισημάνσεων", + "loadingMoreAnnotations": "Φόρτωση περισσότερων επισημάνσεων…", + "sidebar": { + "pages": "Σελίδες", + "contents": "Περιεχόμενα", + "search": "Αναζήτηση", + "tabsLabel": "PDF navigation", + "closeNavigation": "Κλείσιμο πλοήγησης", + "goToPage": "Μετάβαση στη σελίδα {page}", + "noOutline": "Αυτό το PDF δεν έχει κανένα περίγραμμα.", + "searchPlaceholder": "Αναζήτηση αυτού του PDF", + "clearSearch": "Εκκαθάριση αναζήτησης", + "matchCase": "Ταίριασμα πεζών-κεφαλαίων", + "wholeWord": "Ολόκληρη λέξη", + "resultPosition": "{current} του {total}", + "previousResult": "Προηγούμενο αποτέλεσμα", + "nextResult": "Επόμενο αποτέλεσμα", + "searchingPage": "Αναζήτηση σελίδας {page} του {total}", + "searchPrompt": "Πληκτρολογήστε έναν όρο για αναζήτηση αυτού του PDF.", + "searchTooShort": "Εισαγάγετε τουλάχιστον {min} χαρακτήρες για αναζήτηση σε αυτό το PDF.", + "noSearchResults": "Δεν υπάρχει κείμενο που να μπορεί να αναζητηθεί ταιριάζει με το ερώτημά σας.", + "page": "Σελίδα {page}", + "filterOutline": "Φιλτράρισμα περιγράμματος", + "noOutlineMatch": "Δεν υπάρχουν καταχωρήσεις περιγράμματος που ταιριάζουν με το φίλτρο σας.", + "loadingOutline": "Φόρτωση περιγράμματος", + "expandSection": "Αναπτύξτε το {title}", + "collapseSection": "Σύμπτυξη {title}", + "jumpToPage": "Μετάβαση στη σελίδα", + "resizePanel": "Αλλαγή μεγέθους πίνακα πλοήγησης" + }, + "toolbar": { + "navigation": "Πλοήγηση εγγράφου", + "previousPage": "Προηγούμενη σελίδα", + "currentPage": "Τρέχουσα σελίδα", + "nextPage": "Επόμενη σελίδα", + "zoomOut": "Σμίκρυνση", + "zoomIn": "Μεγέθυνση", + "panTool": "Εργαλείο καρφιτσώματος", + "pan": "Pan", + "selectTool": "Επιλογή εργαλείου κειμένου", + "selectText": "Επιλογή κειμένου", + "pinHeader": "Κεφαλίδα αναγνώστη καρφιτσών", + "unpinHeader": "Ξεκαρφίτσωμα κεφαλίδας αναγνώστη", + "pinHeaderShort": "Καρφίτσωμα κεφαλίδας", + "unpinHeaderShort": "Ξεκαρφίτσωμα κεφαλίδας", + "moreTools": "Περισσότερα εργαλεία PDF", + "settings": "Ρυθμίσεις PDF" + } }, + "loadingBook": "Φόρτωση βιβλίου…", "failedToLoadBook": "Αποτυχία φόρτωσης βιβλίου", + "bookLoadTimeout": "Το βιβλίο πήρε πολύ χρόνο για να ανοίξει. Δοκιμάστε να ανανεώσετε τη σελίδα.", + "chapterNumber": "Κεφάλαιο {number}", "peek": { "badge": "Peeking", "startReading": "Αρχίστε να διαβάζετε" @@ -6034,6 +11527,12 @@ "keyboardShortcutsHint": "Συντομεύσεις πληκτρολογίου (?)", "enterFullscreen": "Εισάγετε πλήρη οθόνη", "exitFullscreen": "Έξοδος πλήρους οθόνης", + "narrationPlaying": "Αναπαραγωγή αφήγησης", + "ttsPlaying": "Αναπαραγωγή TTS", + "listenWithNarrationShort": "Ακούστε (αφήγηση)", + "listen": "Ακρόαση", + "listenWithNarration": "Ακούστε με αφήγηση", + "listenWithTts": "Ακούστε με TTS", "footerMode": { "pageProgress": "Πληροφορίες υποσέλιδου: σελίδα + πρόοδος", "sessionTimeLeft": "Footer info: reading session + time left", @@ -6062,12 +11561,24 @@ "textSizeSmaller": "Μικρότερο κείμενο", "textSizeLarger": "Μεγαλύτερο κείμενο", "pixels": "{value} px", + "percent": "{value}%", "pageColor": "Χρώμα σελίδας", "font": "Font", "fontBuiltIn": "Ενσωματωμένο", "fontServer": "Γραμματοσειρές διακομιστή", "fontYours": "Οι γραμματοσειρές σας", + "fontStyle": "Στυλ", + "fontStyleItalicOf": "{style} Italic", "lineSpacing": "Απόσταση γραμμών", + "paragraphSpacing": "Απόσταση παραγράφου", + "paragraphSpacingDefault": "Προεπιλογή", + "paragraphSpacingValue": "{value} em", + "letterSpacing": "Απόσταση επιστολών", + "wordSpacing": "Κενό λέξεων", + "textIndent": "Πρώτη γραμμή εσοχή", + "bookDefault": "Βιβλίο", + "custom": "Προσαρμοσμένο", + "emValue": "{value} em", "pageWidth": "Πλάτος σελίδας", "pageWidthNarrow": "Στενό", "pageWidthMedium": "Μεσαίο", @@ -6143,6 +11654,7 @@ "searchHighlights": "Αναζήτηση επισημάνσεων...", "bookmarkFallback": "Σελιδοδείκτης", "locationUnavailable": "Μη διαθέσιμη τοποθεσία", + "customColor": "Προσαρμοσμένο ({color})", "allColors": "Όλα τα χρώματα", "allChapters": "Όλα τα κεφάλαια", "notesOnly": "Μόνο σημειώσεις", @@ -6162,10 +11674,19 @@ "translate": "Μετάφραση", "define": "Ορισμός", "deleteAnnotation": "Διαγραφή σημείωσης", - "apply": "Εφαρμογή" + "apply": "Εφαρμογή", + "color": "Χρώμα επισήμανσης: {color}", + "style": "Highlight style: {style}", + "styles": { + "highlight": "Επισήμανση", + "underline": "Υπογράμμιση", + "strikethrough": "Επιγράμμιση", + "squiggly": "Squiggly υπογράμμιση" + } }, "note": { - "title": "Προσθήκη σημείωσης" + "title": "Προσθήκη σημείωσης", + "placeholder": "Γράψτε τη σημείωση σας…" }, "dictionary": { "noDefinition": "Δεν βρέθηκε ορισμός", @@ -6176,6 +11697,7 @@ "translation": "Μετάφραση", "translating": "Μετάφραση...", "noTranslation": "Καμία μετάφραση ακόμα", + "viaProvider": "μέσω {provider}", "copyTranslation": "Αντιγραφή μετάφρασης" }, "shortcuts": { @@ -6202,6 +11724,9 @@ "scrollMode": "Λειτουργία κύλισης", "scrollModeHint": "Χρησιμοποιήστε \"Χωρίς κενά\" για webtoons και κάθετες λωρίδες.", "readingDirection": "Κατεύθυνση ανάγνωσης", + "autoAdvance": "Αυτόματη Προώθηση", + "autoAdvanceHint": "Περνώντας από την τελευταία σελίδα ανοίγει το επόμενο βιβλίο της σειράς.", + "autoAdvancePagedOnly": "Η αυτόματη προκαταβολή ισχύει μόνο σε κατάσταση λειτουργίας σελίδας.", "pageView": "Προβολή σελίδας", "twoPagePagedOnly": "Δύο σελίδες εμφανίζονται μόνο σε λειτουργία σελιδοποίησης.", "spreadSection": "Εξάπλωση δύο σελίδων", @@ -6247,6 +11772,14 @@ "black": "Μαύρο", "gray": "Γκρι", "white": "Λευκό" + }, + "nextIssue": { + "eyebrow": "Επόμενο στη σειρά", + "action": "Ανάγνωση επόμενου", + "open": "Ανάγνωση στη συνέχεια: {title}", + "numbered": "#{index} {title}", + "untitled": "Άτιτλο", + "autoAdvanceHint": "Γυρίστε ξανά τη σελίδα για να συνεχίσετε" } }, "audiobook": { @@ -6274,6 +11807,23 @@ "playerSettings": "Ρυθμίσεις παίκτη", "skipBack": "Παράλειψη πίσω", "skipForward": "Παράλειψη εμπρός" + }, + "sheet": { + "expand": "Ανάπτυξη πίνακα", + "collapse": "Σύμπτυξη πίνακα" + }, + "narration": { + "fallbackTitle": "Αφήγηση", + "meta": "Αφήγηση ήχου - {speed}x", + "openControls": "Άνοιγμα ελέγχων αφηγήσεων", + "previousSentence": "Προηγούμενη πρόταση", + "nextSentence": "Επόμενη πρόταση", + "play": "Αναπαραγωγή αφήγησης", + "pause": "Παύση αφήγησης", + "showControls": "Εμφάνιση στοιχείων ελέγχου", + "hideControls": "Απόκρυψη στοιχείων ελέγχου", + "stop": "Διακοπή αφήγησης", + "error": "Σφάλμα αναπαραγωγής αφήγησης" } }, "scanner": { @@ -6281,12 +11831,18 @@ "booksFound": "{count, plural, =0 {Δεν βρέθηκαν βιβλία} one {# το βιβλίο βρέθηκε} other {# βιβλία που βρέθηκαν}}" }, "series": { + "completion": { + "readOfTotal": "{read} από {total} ανάγνωση ({percentage}%)" + }, "ownership": { "label": "Στη βιβλιοθήκη", "ownedOfExpected": "{owned} του {expected} στη βιβλιοθήκη" }, "gaps": { - "label": "Πιθανά κενά:" + "label": "Πιθανά κενά:", + "missingCount": "{count, plural, one {# λείπουν} other {# λείπουν}}", + "missingList": "Λείπει το {list}", + "previewMore": "{shown} +{count}" }, "filters": { "title": "Φίλτρα Σειράς", @@ -6316,12 +11872,19 @@ "bookCount": "Πλήθος Βιβλίων", "recentAdditions": "Πρόσφατες Προσθήκες", "readingProgress": "Πρόοδος Ανάγνωσης" - } + }, + "clearSearch": "Εκκαθάριση αναζήτησης", + "noMatchHint": "Δοκιμάστε μια άλλη βιβλιοθήκη, ή καθαρίστε τι έχει οριστεί.", + "emptyHint": "Σειρά εμφανίζονται μόλις τα βιβλία σας μεταφέρουν μεταδεδομένα σειράς." }, "detail": { "pageTitle": "Σειρά", + "pageTitleNamed": "Σειρά · {name}", + "pageTitleWithId": "Σειρά #{id}", "entityName": "Σειρά", "bookCount": "{count, plural, =0 {Δεν υπάρχουν βιβλία} one {# βιβλίο} other {# βιβλία}}", + "byAuthors": "από {authors}", + "moreAuthors": "+{count} περισσότερα", "preparingEditor": "Προετοιμασία επεξεργαστή...", "editMetadata": "Επεξεργασία Μεταδεδομένων", "firstInSeries": "Πρώτη στη σειρά", @@ -6329,6 +11892,7 @@ "loadingFirstBook": "Φόρτωση προεπισκόπησης πρώτου βιβλίου...", "showLess": "Εμφάνιση λιγότερων", "showMore": "Εμφάνιση περισσότερων", + "moreGenres": "+{count} περισσότερα", "synopsis": "Σύνοψη", "noDescription": "Δεν υπάρχει διαθέσιμη περιγραφή.", "updatingPreview": "Ενημέρωση προεπισκόπησης...", @@ -6352,6 +11916,66 @@ "ascending": "Αύξουσα", "descending": "Φθίνουσα" } + }, + "authorsPlus": "{authors} +{count}", + "track": { + "readCount": "{count, plural, one {# διαβάστε} other {# διαβάστε}}", + "readingCount": "{count, plural, one {# σε εξέλιξη} other {# σε εξέλιξη}}", + "unreadCount": "{count, plural, one {# μη αναγνωσμένα} other {# μη αναγνωσμένα}}", + "missingCount": "{count, plural, one {# λείπουν} other {# λείπουν}}", + "slotMissing": "Το {number} δεν βρίσκεται στη βιβλιοθήκη", + "untitled": "Άτιτλο" + }, + "legend": { + "read": "Ανάγνωση", + "reading": "Ανάγνωση", + "unread": "Στη βιβλιοθήκη", + "missing": "Λείπει" + }, + "status": { + "label": "Φιλτράρισμα σειράς με βάση την κατάσταση ανάγνωσης", + "all": "Όλα", + "reading": "Ανάγνωση", + "unread": "Αδιάβαστο", + "complete": "Complete", + "gaps": "Κενά", + "read": "Ανάγνωση", + "inProgress": "Σε εξέλιξη", + "hasGaps": "Έχει κενά", + "notStarted": "Δεν ξεκίνησε" + }, + "index": { + "columnSeries": "Σειρά", + "columnVolumes": "Ένταση", + "columnRead": "Ανάγνωση", + "columnNext": "Επάνω επόμενο", + "columnAdded": "Προστέθηκε", + "percent": "{value}%", + "captionReading": "{base} · {count, plural, one {# σε εξέλιξη} other {# σε εξέλιξη}}", + "finished": "Τέλος ανάγνωσης για τέλος", + "reading": "Ανάγνωση", + "next": "Επόμενο", + "start": "Έναρξη" + }, + "grouping": { + "label": "Ομαδοποίηση κατά", + "none": "Χωρίς ομαδοποίηση", + "letter": "Με επιστολή", + "library": "Ανά βιβλιοθήκη", + "status": "Κατά κατάσταση" + }, + "libraries": { + "more": "+{count}" + }, + "card": { + "oneVolume": "Ένας τόμος", + "oneVolumeShort": "1 vol", + "volumeCount": "{count, plural, one {# τόμος} other {# τόμοι}}", + "readSummary": "{base} · {read} ανάγνωση", + "publishedOf": "Δημοσιεύτηκε το {owned} του {total}", + "complete": "Complete", + "moreVolumes": "{count, plural, one {# περισσότερο τόμος} other {# περισσότεροι τόμοι}}", + "label": "{name}, {read} των τόμων {total} που διαβάζονται" } }, "smartScope": { @@ -6372,6 +11996,7 @@ }, "createDialog": { "title": "Νέα Έξυπνη Εμβέλεια", + "podcastTitle": "Νέα Έξυπνη Λίστα Αναπαραγωγής", "createFailed": "Αποτυχία δημιουργίας Έξυπνου Πεδίου" }, "saveAsDialog": { @@ -6399,6 +12024,14 @@ "noGenres": "Χωρίς Είδη", "epubOnly": "Μόνο EPUB" } + }, + "errors": { + "load": "Αποτυχία φόρτωσης των έξυπνων πεδών σας", + "loadEpisodes": "Αποτυχία φόρτωσης επεισοδίων για αυτήν την έξυπνη λίστα αναπαραγωγής", + "save": "Αποτυχία αποθήκευσης της έξυπνης εμβέλειας", + "delete": "Αποτυχία διαγραφής της έξυπνης εμβέλειας", + "reorder": "Αποτυχία αναδιάταξης των έξυπνων πεδίων", + "koboSync": "Αποτυχία ενημέρωσης του συγχρονισμού Kobo για αυτήν την έξυπνη εμβέλεια" } }, "statistics": { @@ -6407,7 +12040,8 @@ "user": "Η Ανάγνωση Μου" }, "filter": { - "allLibraries": "Όλες Οι Βιβλιοθήκες" + "allLibraries": "Όλες Οι Βιβλιοθήκες", + "librarySelection": "{count} των Βιβλιοθηκών {total}" }, "config": { "button": "Ρύθμιση", @@ -6506,50 +12140,64 @@ "title": "Κορυφή 50 Σειρά" }, "booksCompleted": { - "title": "Τα Βιβλία Ολοκληρώθηκαν" + "title": "Τα Βιβλία Ολοκληρώθηκαν", + "notEnoughData": "Χρειάζεστε τουλάχιστον {count} ολοκληρωμένα βιβλία για αυτό το γράφημα." }, "completionLatency": { - "title": "Καθυστέρηση Ολοκλήρωσης" + "title": "Καθυστέρηση Ολοκλήρωσης", + "notEnoughData": "Χρειάζεστε τουλάχιστον {count} ολοκληρωμένα βιβλία για αυτό το γράφημα." }, "completionTimeline": { - "title": "Χρονοδιάγραμμα Ολοκλήρωσης" + "title": "Χρονοδιάγραμμα Ολοκλήρωσης", + "notEnoughData": "Χρειάζεστε τουλάχιστον {count} ολοκληρωμένα βιβλία για αυτό το γράφημα." }, "favoriteReadingDays": { - "title": "Αγαπημένες Ημέρες Ανάγνωσης" + "title": "Αγαπημένες Ημέρες Ανάγνωσης", + "notEnoughData": "Χρειάζεστε τουλάχιστον συμβάντα ανάγνωσης {count} για αυτό το γράφημα." }, "genreReadingTime": { - "title": "Είδος Χρόνος Ανάγνωσης" + "title": "Είδος Χρόνος Ανάγνωσης", + "notEnoughData": "Χρειάζεστε τουλάχιστον είδη {count} με χρόνο ανάγνωσης για αυτό το γράφημα." }, "goalTrajectory": { "title": "Ρυθμός vs στόχος", "noCompletedTitle": "Δεν υπάρχουν ολοκληρωμένα βιβλία ακόμα", - "noCompletedDescription": "Συμπληρώστε ένα βιβλίο σε αυτή την περίοδο για να συγκρίνετε το ρυθμό σας με τον ετήσιο στόχο σας." + "noCompletedDescription": "Συμπληρώστε ένα βιβλίο σε αυτή την περίοδο για να συγκρίνετε το ρυθμό σας με τον ετήσιο στόχο σας.", + "notEnoughData": "Χρειάζεστε τουλάχιστον {count} ολοκληρωμένα βιβλία για αυτό το γράφημα." }, "peakReadingHours": { - "title": "Μέγιστες Ώρες Ανάγνωσης" + "title": "Μέγιστες Ώρες Ανάγνωσης", + "notEnoughData": "Χρειάζεστε τουλάχιστον συμβάντα ανάγνωσης {count} για αυτό το γράφημα." }, "progressFunnel": { "title": "Πρόοδος Εκτέλεσης", "modePercent": "Ποσοστό", "modeCounts": "Μετρήσεις", "modeDropoff": "Παράθεση", + "started": "Ξεκίνησε το {count}", + "notEnoughData": "Χρειάζεστε τουλάχιστον βιβλία {count} που έχουν ξεκινήσει για αυτό το γράφημα.", "noDropOffTitle": "Δεν παρατηρήθηκε εγκατάλειψη", "noDropOffDescription": "Κάθε βιβλίο ξεκίνησε να εξελίσσεται σε όλα τα στάδια χοάνης αυτή την περίοδο." }, "readingClock": { - "title": "Ανάγνωση Ρολογιού" + "title": "Ανάγνωση Ρολογιού", + "notEnoughData": "Χρειάζεστε τουλάχιστον συνεδρίες ανάγνωσης {count} για αυτό το γράφημα." }, "readingHeatmap": { - "title": "Ανάγνωση Χάρτη Κεφαλής" + "title": "Ανάγνωση Χάρτη Κεφαλής", + "notEnoughData": "Χρειάζεστε δραστηριότητα σε τουλάχιστον {count} ημέρες για αυτό το γράφημα." }, "readingPace": { - "title": "Ανάγνωση Ρυθμού" + "title": "Ανάγνωση Ρυθμού", + "notEnoughData": "Χρειάζεστε τουλάχιστον συνεδρίες {count} με δεδομένα προόδου για αυτό το γράφημα." }, "readingSessionTimeline": { "title": "Ανάγνωση Χρονοδιαγράμματος Συνεδρίας", "dragOn": "Σύρεση: Ενεργή", "dragOff": "Drag: Ανενεργό", + "prev": "Προηγ", "next": "Επόμενο", + "week": "Εβδομάδα {week}", "dragHint": "Σύρετε γραμμές για τη μετακίνηση συνεδριών. Η διάρκεια είναι κλειδωμένη και οι συνεδρίες που αλληλεπικαλύπτονται απορρίπτονται.", "noSessionsTitle": "Δεν υπάρχουν συνεδρίες αυτή την εβδομάδα", "noSessionsDescription": "Χρησιμοποιήστε Prev/Next ή τον επιλογέα εβδομάδας για να δείτε μια διαφορετική εβδομάδα.", @@ -6562,7 +12210,9 @@ "sourceDistribution": { "title": "Όπου Διαβάζετε", "emptyTitle": "Καμία δραστηριότητα ανάγνωσης ακόμα", - "emptyDescription": "Διαβάστε στο διαδίκτυο, KOReader, ή Kobo για να δείτε τον πηγαίο διαχωρισμό σας." + "emptyDescription": "Διαβάστε στο διαδίκτυο, KOReader, ή Kobo για να δείτε τον πηγαίο διαχωρισμό σας.", + "emptyDescriptionWithAppleClients": "Διαβάστε στο διαδίκτυο, την εφαρμογή iOS, το Apple Watch, το KOReader, ή το Kobo για να δείτε τον πηγαίο διαχωρισμό σας.", + "emptyDescriptionWithNativeClients": "Διαβάστε στο διαδίκτυο, την εφαρμογή iOS, την εφαρμογή Android, το Apple Watch, το KOReader, ή το Kobo για να δείτε τον διαχωρισμό της πηγής σας." } } }, @@ -6570,7 +12220,8 @@ "header": { "entityManager": "Διαχειριστής Οντότητας", "bulkRename": "Μαζική Μετονομασία", - "duplicateBooks": "Διπλότυπα Βιβλία" + "duplicateBooks": "Διπλότυπα Βιβλία", + "missingResources": "Λείπουν Πόροι" }, "entityTypes": { "authors": "Συντάκτες", @@ -6589,8 +12240,19 @@ "previewFailed": "Αποτυχία φόρτωσης προεπισκόπησης", "executionFailed": "Η μαζική μετονομασία απέτυχε", "openBookDetails": "Άνοιγμα λεπτομερειών βιβλίου", + "openBook": "Άνοιγμα βιβλίου", + "toRenameCount": "{count, plural, =0 {Τίποτα για να μετονομάσετε} one {# για να μετονομάσετε} other {# για να μετονομάσετε}}", + "applyCount": "{count, plural, one {Εφαρμογή # μετονομασίας} other {Εφαρμόστε # μετονομασίες}}", + "search": { + "placeholder": "Βρείτε ένα βιβλίο ή μια διαδρομή", + "label": "Βρείτε ένα βιβλίο", + "clear": "Εκκαθάριση αναζήτησης" + }, "filter": { - "all": "Όλα" + "all": "Όλα", + "changes": "Αλλαγές", + "conflicts": "Συγκρούσεις", + "unchanged": "Αμετάβλητο" }, "status": { "willRename": "Θα Μετονομαστεί", @@ -6599,14 +12261,106 @@ "noPattern": "Χωρίς Μοτίβο", "error": "Σφάλμα" }, + "group": { + "collision": "Διένεξη προορισμού", + "unchanged": "Ήδη σωστή", + "noPattern": "Χωρίς μοτίβο ονομασίας", + "error": "Errored", + "includeAll": "Συμπεριλάβετε κάθε μετονομασία {kind}", + "expand": "Αναπτύξτε το {kind}", + "collapse": "Σύμπτυξη {kind}", + "heldBack": "Αυτές δεν μπορούν να μετονομαστούν" + }, + "changeKind": { + "ungroup": "Η ομαδοποίηση σειράς αφαιρέθηκε", + "flatten": "Διπλό επίπεδο φακέλου αφαιρέθηκε", + "yearRemoved": "Έτος δημοσίευσης αφαιρέθηκε", + "yearAdded": "Προστέθηκε έτος δημοσίευσης", + "yearCorrected": "Έτος δημοσίευσης διορθωμένο", + "authorSpelling": "Ορθογραφικό όνομα συγγραφέα", + "capitalisation": "Κεφαλαιοποίηση και απόσταση", + "unsafeCharacters": "Μη ασφαλείς χαρακτήρες αντικαταστάθηκαν", + "filenameRebuilt": "Το όνομα αρχείου ανακατασκευάστηκε από μεταδεδομένα", + "folderRenamed": "Ο φάκελος μετονομάστηκε", + "rebuilt": "Ανακατασκευή φακέλου και ονόματος αρχείου", + "restructured": "Αναδιάρθρωση διαδρομής", + "multiple": "Πολλαπλές αλλαγές" + }, + "select": { + "ofSelected": "από το {total} επιλεγμένο", + "toggleAll": "Επιλέξτε ή καθαρίστε κάθε μετονομασία", + "toggleGroup": "Επιλέξτε ή διαγράψτε κάθε μετονομασία {kind}", + "toggleBook": "Μετονομασία {title}" + }, + "review": { + "loadMore": "Φόρτωση περισσότερων", + "queue": "Εκκρεμείς μετονομασίες", + "position": "{index} του {total}", + "previous": "Προηγούμενο βιβλίο", + "next": "Επόμενο βιβλίο", + "keyboardHint": "μετακίνηση", + "keyboardSkip": "παράλειψη", + "skip": "Παράλειψη", + "include": "Συμπερίληψη", + "excluded": "Εξαιρούνται", + "back": "Επιστροφή στη λίστα" + }, + "detail": { + "whatChanges": "Τι αλλάζει", + "foldedFolders": "{count, plural, one {# αμετάβλητος φάκελος} other {# αμετάβλητοι φάκελοι}}", + "onDisk": "Στο δίσκο", + "today": "Σήμερα", + "afterRename": "Μετά τη μετονομασία", + "showLibraryFolders": "Εμφάνιση φακέλων βιβλιοθήκης", + "hideLibraryFolders": "Απόκρυψη φακέλων βιβλιοθήκης", + "currentPath": "Τρέχουσα διαδρομή", + "whyItMoves": "Γιατί κινείται", + "levelTop": "Κορυφαίος φάκελος", + "levelFolder": "Φάκελος {depth}", + "levelFilename": "Όνομα Αρχείου", + "levelRemoved": "Αφαιρέθηκε", + "tokenCount": "{count, plural, one {# token} other {# tokens}}", + "optionalLevel": "Ένα προαιρετικό επίπεδο φακέλων, που παράγεται από μια ομάδα στο μοτίβο.", + "removedExplainer": "Το μοτίβο ονομασίας δεν έχει φάκελο σε αυτό το επίπεδο, οπότε το {folder} πέφτει και τα περιεχόμενά του κινούνται πάνω.", + "conflictTitle": "Ένα άλλο αρχείο ισχυρίζεται ήδη αυτόν τον προορισμό.", + "conflictBody": "Η μετονομασία θα το αντικαταστήσει, οπότε αυτό το βιβλίο θα συγκρατηθεί μέχρι να επιλυθεί η σύγκρουση.", + "siblings": "{count, plural, one {# περισσότερα με την ίδια αλλαγή} other {# περισσότερα με την ίδια αλλαγή}}", + "siblingsMore": "+{count} περισσότερα" + }, "empty": { "title": "Επιλέξτε μια βιβλιοθήκη για να ξεκινήσετε", "description": "Επιλέξτε μια παραπάνω βιβλιοθήκη για την προεπισκόπηση των αλλαγών μετονομασίας, φιλτράρετε κατά κατάσταση και εφαρμόστε την εκτέλεση της μαζικής μετονομασίας.", - "chooseLibrary": "Επιλογή Βιβλιοθήκης" + "chooseLibrary": "Επιλογή Βιβλιοθήκης", + "noneTitle": "Τίποτα για αναθεώρηση", + "noneDescription": "Κανένα βιβλίο δεν ταιριάζει με το τρέχον φίλτρο. Καθαρίστε την αναζήτηση ή μεταβείτε σε Όλα.", + "noMatch": "Κανένα βιβλίο δεν ταιριάζει με την αναζήτησή σας." }, "confirmDialog": { "title": "{count, plural, one {Μετονομασία # αρχείου στον δίσκο;} other {Μετονομασία # αρχείων στον δίσκο;}}", - "body": "Αυτό μετακινεί πραγματικά αρχεία μέσα στο {library}. Το BookOrbit καταγράφει κάθε μετακίνηση, αλλά η αναίρεση σημαίνει επαναφορά των ονομάτων." + "body": "Αυτό μετακινεί πραγματικά αρχεία μέσα στο {library}. Το BookOrbit καταγράφει κάθε μετακίνηση, αλλά η αναίρεση σημαίνει επαναφορά των ονομάτων.", + "willRename": "Θα μετονομαστεί", + "skippedByYou": "Παράλειψη από εσάς", + "heldBack": "Κρατείται πίσω ως συγκρούσεις", + "untouched": "Αριστερά ανέγγιχτα", + "confirm": "{count, plural, one {Μετονομασία # αρχείου} other {Μετονομασία # αρχείων}}", + "cannotRename": "Δεν μπορεί να μετονομαστεί" + }, + "run": { + "preparing": "Προετοιμασία…", + "preparingHint": "Έλεγχος κάθε αρχείου ενάντια στο μοτίβο ονομασίας πριν από οτιδήποτε κινείται.", + "title": "Μετονομασία {done} του {total}", + "runningHint": "Τα αρχεία μετονομάζονται. Μπορείτε να σταματήσετε μετά την ολοκλήρωση του τρέχοντος αρχείου.", + "stop": "Διακοπή μετά από αυτό το αρχείο", + "resultTitle": "{done, plural, one {Μετονομάστηκε # από {total} αρχεία} other {Μετονομάστηκαν # από {total} αρχεία}}", + "resultFailed": "{count, plural, one {# απέτυχε} other {# απέτυχε}}", + "resultSkipped": "{count, plural, one {# παραλείφθηκαν} other {# παραλείφθηκαν}}", + "dismiss": "Απόρριψη" + }, + "executionError": { + "http": "Ο διακομιστής απέρριψε το αίτημα (HTTP {status}).", + "noBody": "Ο διακομιστής δεν έστειλε ένα σώμα απόκρισης.", + "incomplete": "Η σύνδεση τελείωσε πριν την ολοκλήρωση της μετονομασίας. Κάποια αρχεία μπορεί να μην έχουν μετονομαστεί.", + "unknown": "Η μετονομασία δεν μπόρεσε να ολοκληρωθεί." } }, "bookDuplicates": { @@ -6636,12 +12390,22 @@ "none": "Κανένα", "accessDenied": "Δεν έχετε άδεια να χρησιμοποιήσετε το εργαλείο διπλότυπων βιβλίων.", "pairDetails": "Λεπτομέρειες ταιριάσματος", + "pairLabel": "{first} και {second}", "fields": { "library": "Βιβλιοθήκη", "isbn": "ISBN", "formats": "Μορφές", "collections": "Συλλογές", - "added": "Προστέθηκε" + "added": "Προστέθηκε", + "size": "Μέγεθος", + "metadata": "Μεταδεδομένα", + "reading": "Ανάγνωση", + "folder": "Φάκελος", + "noIsbn": "Δεν έχει οριστεί", + "notStarted": "Δεν ξεκίνησε", + "outOfHundred": "/100", + "percentRead": "{percent} διαβάστε", + "fileCount": "{count, plural, one {# αρχείο} other {# αρχεία}}" }, "initial": { "title": "Εύρεση διπλότυπων βιβλίων", @@ -6661,11 +12425,101 @@ "status": "Αδυναμία φόρτωσης της προόδου σάρωσης.", "scan": "Η διπλή σάρωση απέτυχε. Δοκιμάστε να την εκτελέσετε ξανά.", "results": "Αδυναμία φόρτωσης διπλότυπων ομάδων.", - "delete": "Δεν ήταν δυνατή η διαγραφή των επιλεγμένων διπλότυπων βιβλίων." + "delete": "Δεν ήταν δυνατή η διαγραφή των επιλεγμένων διπλότυπων βιβλίων.", + "dismiss": "Δεν ήταν δυνατή η απόρριψη αυτής της ομάδας.", + "restore": "Δεν ήταν δυνατή η επαναφορά αυτού του ζεύγους." }, "pagination": { "label": "Αντιγραφή σελίδων ομάδων", "page": "Σελίδα {page} του {total}" + }, + "similarityOption": "{percent} και άνω", + "scannedBooks": "{count} books · checked {when}", + "scanProgress": "{processed} από τα βιβλία {total}", + "recommended": "Προτεινόμενο", + "keeping": "Διατήρηση", + "willDelete": "Διαγραφή", + "keepCopy": "Κρατήστε το {name}", + "selectGroup": "Επιλέξτε {title}", + "selectAll": "Επιλέξτε κάθε ομάδα σε αυτή τη σελίδα", + "compareCopies": "Σύγκριση των αντιγράφων του {title}", + "compareCaption": "Σύγκριση πεδίου με πεδίο αντιγράφων {count}", + "fieldColumn": "Πεδίο", + "filesEach": "{count, plural, one {# αρχείο κάθε} other {# αρχεία κάθε}}", + "moreFilesCount": "{count, plural, one {και # περισσότερο αρχείο} other {και # περισσότερα αρχεία}}", + "identicalAcross": "{count, plural, one {Πανομοιόμορφη και στα δύο αντίτυπα:} other {Πανομοιόμορφη σε όλα τα # αντίτυπα:}}", + "deleteGroup": "{count, plural, one {Διαγραφή # αντιγράφου, δωρεάν {size}} other {Διαγραφή # αντιγράφων, δωρεάν {size}}}", + "confidence": { + "file_hash": "Πανομοιότυπο", + "isbn": "Ίδια ISBN", + "exact_metadata": "Ακριβής αντιστοιχία", + "fuzzy_metadata": "Παρόμοια", + "withSimilarity": "{label} {percent}" + }, + "summary": { + "groups": "{count, plural, one {ομάδα} other {ομάδες}}", + "extraCopies": "{count, plural, one {επιπλέον αντίγραφο} other {επιπλέον αντίγραφα}}", + "reclaimable": "ανακτήσιμο" + }, + "columns": { + "match": "Ταίριασμα", + "book": "Βιβλίο", + "copies": "Αντίγραφα", + "libraries": "Βιβλιοθήκες", + "frees": "Ελεύθερες", + "keeping": "Διατήρηση" + }, + "keepRule": { + "label": "Διατήρηση", + "metadata": "Καλύτερα μεταδεδομένα", + "size": "Μεγαλύτερα αρχεία", + "formats": "Οι περισσότερες μορφές", + "oldest": "Παλαιότερο αντίγραφο", + "newest": "Νεότερο αντίγραφο", + "hint": "Επιλέγει έναν τερματοφύλακα σε κάθε ομάδα. Μπορείτε να παρακάμψετε οποιαδήποτε σειρά." + }, + "sort": { + "label": "Ταξινόμηση", + "reclaimable": "Ο περισσότερος χώρος απελευθερώθηκε", + "copies": "Τα περισσότερα αντίγραφα", + "confidence": "Ισχυρότερο ταίριασμα", + "title": "Τίτλος Α έως Ω" + }, + "keeper": { + "yourChoice": "Η επιλογή σας", + "reading": "είσαι {percent} μέσα από αυτό", + "collection": "είναι σε {name}", + "metadata": "μεταδεδομένα {score}", + "largest": "μεγαλύτερο στο {size}", + "formats": "{count} μορφές", + "isbn": "έχει ISBN", + "added": "προστέθηκε {date}", + "riskReading": "διαγράφει ένα αντίγραφο μέσω του οποίου είστε {percent}", + "riskCollection": "διαγράφει ένα αντίγραφο στο {name}" + }, + "selection": { + "summary": "Επιλέχθηκαν {groups} ομάδες, {copies} αντίγραφα για διαγραφή, frees {size}", + "clear": "Εκκαθάριση", + "review": "{count, plural, one {Επανεξέταση # Αντιγραφή} other {Αξιολόγηση # αντίγραφα}}", + "hint": "Επιλέξτε τις ομάδες που εμπιστεύεστε, ή ανοίξτε ένα για να συγκρίνετε τα αντίγραφα." + }, + "keys": { + "move": "μετακίνηση", + "expand": "επέκταση", + "keep": "διατήρηση", + "select": "επιλογή" + }, + "review": { + "title": "{count, plural, one {Διαγραφή # αντιγράφου} other {Διαγραφή # αντιγράφων}}", + "description": "Σε όλη {groups} ομάδες, απελευθερώνοντας {size}. Τίποτα δεν διαγράφεται μέχρι να επιβεβαιώσετε.", + "riskWarning": "{count, plural, one {# η ομάδα διαγράφει ένα αντίγραφο που μεταφέρει τα δεδομένα σας.} other {# ομάδες διαγράφουν ένα αντίγραφο που μεταφέρει τα δεδομένα σας.}}", + "footer": "Ελευθερώνει το {size}" + }, + "dismissed": { + "show": "{count, plural, one {Δείξε # απορριφθεί το ζεύγος} other {Δείξε # απορριπτόμενα ζεύγη}}", + "hide": "Απόκρυψη παρωχημένων ζευγών", + "restore": "Επαναφορά αυτού του ζεύγους", + "restored": "Το ζευγάρι αποκαταστάθηκε. Μπορεί να ταιριάξει ξανά στην επόμενη σάρωση." } }, "entityManager": { @@ -6682,13 +12536,15 @@ }, "actions": { "rename": "Μετονομασία", - "split": "Διαχωρισμός" + "split": "Διαχωρισμός", + "merge": "Συγχώνευση" }, "duplicates": { "similarity": "Ομοιότητα:", "scan": "Σάρωση", "scanning": "Σάρωση...", "computing": "Υπολογισμός υποψηφίων...", + "computedAt": "Οι υποψήφιοι υπολόγισαν το {date}", "recompute": "Προετοιμασία", "noneComputed": "Κανένας υποψήφιος δεν έχει υπολογιστεί ακόμα.", "computeNow": "Υπολογισμός τώρα", @@ -6701,7 +12557,20 @@ "percentSimilar": "{percent}% παρόμοιο", "pairDetails": "Λεπτομέρειες ζευγαρώματος", "dismissEntityTitle": "Παράβλεψη όλων των ζευγών για αυτήν την οντότητα", - "dismissPairTitle": "Παράβλεψη αυτού του ζεύγους" + "dismissPairTitle": "Παράβλεψη αυτού του ζεύγους", + "groupsLabel": "Πιθανές διπλές ομάδες", + "keepThisOne": "Διατηρήστε αυτό", + "mergeAway": "Συγχώνευση μακριά", + "notAMatch": "Δεν είναι αντιστοιχία", + "notAMatchTitle": "Παράβλεψη κάθε ζεύγους σε αυτήν την ομάδα", + "selectPromptTitle": "Επιλέξτε μια ομάδα για αξιολόγηση", + "selectPromptDescription": "Επιλέξτε μια ομάδα από τη λίστα για να συγκρίνετε τις οντότητές της δίπλα-δίπλα.", + "backToList": "Πίσω στις ομάδες", + "noBookTitles": "Δεν υπάρχουν βιβλία συνδεδεμένα με αυτήν την εγγραφή", + "thresholdLabel": "Ελάχιστη ομοιότητα", + "thresholdValue": "{percent}%+", + "willBeMerged": "{count, plural, one {# οντότητα θα συγχωνευτεί και θα αφαιρεθεί} other {# οι οντότητες θα συγχωνευτούν και θα αφαιρεθούν}}", + "chooseTargetHint": "Επιλέξτε την οντότητα για να κρατήσετε. Όλα τα άλλα στην ομάδα συγχωνεύονται σε αυτήν." }, "dismissed": { "loading": "Φόρτωση απολεσθέντων ζευγαριών...", @@ -6717,13 +12586,52 @@ "clear": "Εκκαθάριση", "noEntities": "Δεν βρέθηκαν οντότητες", "mergeCount": "Συγχώνευση ({count})", + "deleteCount": "Διαγραφή ({count})", + "totalCount": "{count} σύνολο", "sortLabel": "ταξινόμηση: {sortName}", "sort": { "nameAsc": "Όνομα Α-Ω", "nameDesc": "Όνομα Ω-Α", "fewestBooks": "Fewest βιβλία", "mostBooks": "Περισσότερα βιβλία" - } + }, + "sortByLabel": "Ταξινόμηση κατά", + "entityTypeLabel": "Τύπος οντότητας", + "resultCount": "{count, plural, =0 {Δεν υπάρχουν οντότητες} one {# οντότητα} other {# οντότητες}}", + "selectedCount": "{count, plural, one {# επιλεγμένα} other {# επιλεγμένα}}", + "columns": { + "name": "Όνομα", + "sortName": "Ταξινόμηση ονόματος", + "books": "Βιβλία", + "status": "Κατάσταση", + "actions": "Ενέργειες" + }, + "selectAllOnPage": "Επιλέξτε όλες τις οντότητες σε αυτή τη σελίδα", + "selectEntity": "Επιλέξτε {name}", + "actionsFor": "Ενέργειες για το {name}", + "status": { + "noBooks": "Δεν υπάρχουν βιβλία" + }, + "filters": { + "all": "Όλα", + "noBooks": "Δεν υπάρχουν βιβλία" + }, + "density": { + "label": "Ύψος γραμμής", + "comfortable": "Άνετο", + "compact": "Συμπαγής" + }, + "rowsPerPage": "Γραμμές ανά σελίδα", + "range": "Εμφάνιση {from}-{to} του {total}", + "pagination": "Σελιδοποίηση", + "previousPage": "Προηγούμενη σελίδα", + "nextPage": "Επόμενη σελίδα", + "goToPage": "Μετάβαση στη σελίδα {page}", + "morePages": "Περισσότερες σελίδες", + "noEntitiesDescription": "Τίποτα δεν έχει προστεθεί σε αυτόν τον τύπο οντότητας ακόμα.", + "noMatchesTitle": "Δεν υπάρχουν αντιστοιχίες", + "noMatchesDescription": "Καμία οντότητα δεν ταιριάζει με την τρέχουσα αναζήτηση και τα φίλτρα σας.", + "clearFilters": "Εκκαθάριση φίλτρων" }, "deleteMode": { "label": "Λειτουργία διαγραφής", @@ -6740,7 +12648,8 @@ "newName": "Νέο όνομα" }, "deleteModal": { - "title": "Διαγραφή Οντότητας" + "title": "Διαγραφή Οντότητας", + "confirm": "Είστε βέβαιοι ότι θέλετε να διαγράψετε το {name};" }, "splitModal": { "title": "Διαχωρισμός Οντότητας", @@ -6750,12 +12659,96 @@ "addAnother": "Προσθήκη άλλου" }, "bulkDeleteModal": { - "title": "Μαζική Διαγραφή" + "title": "Μαζική Διαγραφή", + "confirm": "{count,plural,one{Είστε βέβαιοι ότι θέλετε να διαγράψετε την επιλεγμένη οντότητα #;} other{Είστε βέβαιοι ότι θέλετε να διαγράψετε τις επιλεγμένες οντότητες #;} =0{Είστε βέβαιοι ότι θέλετε να διαγράψετε την επιλεγμένη οντότητα #;}}", + "deleteButton": "Διαγραφή {count}" }, "mergeModal": { "title": "Συγχώνευση Οντότητες", "description": "Επιλέξτε ποια οντότητα θα κρατήσει. Οι άλλοι θα συγχωνευθούν σε αυτό και θα αφαιρεθούν." } + }, + "missingResources": { + "title": "Λείπουν Πόροι", + "accessDenied": "Δεν έχετε άδεια για να καθαρίσετε τους πόρους που λείπουν.", + "categoriesLabel": "Κατηγορία καθαρισμού", + "untitled": "Άτιτλο", + "clearSelection": "Καθαρισμός επιλογής", + "cleanSelected": "Επιλέχθηκε καθαρισμός του {count}", + "selectAllMatching": "Επιλογή όλων των καταχωρήσεων {count} που ταιριάζουν", + "allSelected": "Επιλέχθηκαν όλες οι καταχωρήσεις {count} που ταιριάζουν.", + "sweep": { + "title": "Έλεγχος εξωφύλλου", + "description": "Ελέγχει κάθε βιβλίο που διεκδικεί ένα εξώφυλλο ενάντια στα αρχεία στο δίσκο, και ψάχνει για τους φακέλους εξώφυλλο που έχουν μείνει πίσω από διαγραμμένα βιβλία. Τίποτα δεν έχει αφαιρεθεί κατά τη διάρκεια του ελέγχου.", + "run": "Εκτέλεση ελέγχου", + "running": "Έλεγχος", + "progress": "Έλεγξε {processed} από {total} βιβλία", + "lastRun": "Τελευταίο έλεγχο {at}", + "truncated": "Εμφανίζονται μόνο τα πρώτα αποτελέσματα. Καθαρίστε αυτά, και μετά εκτελέστε τον έλεγχο ξανά για να δείτε τα υπόλοιπα." + }, + "categories": { + "missing_books": "Λείπουν βιβλία", + "broken_covers": "Σπασμένο εξώφυλλο", + "orphaned_cover_dirs": "Orphaned cover folders" + }, + "found": { + "missing_books": "{count, plural, =0 {Κανένα βιβλίο με αρχεία που λείπουν} one {Ένα βιβλίο με αρχεία που λείπουν} other {# βιβλία με αρχεία που λείπουν}}", + "broken_covers": "{count, plural, =0 {Καμία σπασμένη αναφορά εξώφυλλου} one {Μια σπασμένη αναφορά εξώφυλλου} other {# σπασμένη αναφορά εξώφυλλου}}", + "orphaned_cover_dirs": "{count, plural, =0 {Κανένας ορφανός φάκελος εξώφυλλου} one {Ένας ορφανός εξώφυλλου} other {# ορφανά φάκελοι εξώφυλλου}}" + }, + "empty": { + "missing_books": "Χωρίς βιβλία που λείπουν", + "broken_covers": "Δεν υπάρχουν σπασμένες αναφορές εξωφύλλου", + "orphaned_cover_dirs": "Δεν υπάρχουν ορφανά φάκελοι εξώφυλλου", + "description": "Όλα σε αυτήν την κατηγορία λογοδοτούνται." + }, + "needsSweep": { + "title": "Εκτελέστε πρώτα τον έλεγχο του εξωφύλλου", + "description": "Τα αποτελέσματα κάλυψης προέρχονται από έναν έλεγχο δίσκου. Εκτελέστε το για να δείτε σπασμένα αναφορές και ορφανά φακέλους." + }, + "coverSource": { + "extracted": "Εκχυλισμένο", + "custom": "Προσαρμοσμένο" + }, + "brokenSlot": { + "ebookExtracted": "Εξωθημένη κάλυψη βιβλίου,", + "ebookCustom": "Εξώφυλλο βιβλίου, προσαρμοσμένο", + "audioExtracted": "Εξωθημένο εξώφυλλο ήχου", + "audioCustom": "Εξώφυλλο Audiobook, προσαρμοσμένο" + }, + "table": { + "selectPage": "Επιλέξτε τα πάντα σε αυτή τη σελίδα", + "coverFolder": "Φάκελος εξωφύλλου για το βιβλίο #{bookId}", + "fileCount": "{count, plural, one {# αρχείο} other {# αρχεία}}", + "orphanMedia": { + "ebook": "Βιβλίο εξώφυλλο", + "audio": "Εξώφυλλο ήχου", + "both": "Καλύμματα βιβλίων και audiobook" + } + }, + "confirm": { + "title": "Καθαρίστε τους πόρους που λείπουν;", + "action": "Καθαρισμός", + "missing_books": "{count,plural,one{Διαγράφει την εγγραφή της βάσης δεδομένων για ένα βιβλίο του οποίου τα αρχεία έχουν εξαφανιστεί. Το βιβλίο, τα μεταδεδομένα του, η πρόοδος στην ανάγνωση και το εξώφυλλό του αφαιρούνται. Αυτό δεν μπορεί να αναιρεθεί.} other{Διαγράφει τις εγγραφές της βάσης δεδομένων για βιβλία # των οποίων τα αρχεία έχουν εξαφανιστεί. Τα βιβλία, τα μεταδεδομένα τους, η πρόοδος στην ανάγνωση και τα εξώφυλλά τους αφαιρούνται. Αυτό δεν μπορεί να αναιρεθεί.}}", + "broken_covers": "{count,plural,one{Διαγράφει την αναφορά εξωφύλλου για ένα βιβλίο, ώστε να φαίνεται ότι δεν έχει εξώφυλλο. Τα μεταδεδομένα δεν αλλάζουν διαφορετικά.} other{Διαγράφει τις αναφορές εξωφύλλου για τα βιβλία #, ώστε να εμφανίζονται ότι δεν έχουν εξώφυλλο. Τα μεταδεδομένα δεν αλλάζουν διαφορετικά.}}", + "orphaned_cover_dirs": "{count, plural, one {Διαγράφει ένα φάκελο από το δίσκο. Το βιβλίο του δεν βρίσκεται πλέον στη βάση δεδομένων. Αυτό δεν μπορεί να αναιρεθεί.} other {Διαγράφει # φακέλους εξώφυλλου από το δίσκο. Τα βιβλία τους δεν είναι πλέον στη βάση δεδομένων. Αυτό δεν μπορεί να αναιρεθεί.}}" + }, + "cleaned": { + "missing_books": "{count, plural, =0 {Τίποτα για να καθαρίσετε} one {Αφαιρέθηκε ένα βιβλίο που λείπει} other {Καταργήθηκε # βιβλία που λείπουν}}", + "broken_covers": "{count, plural, =0 {Τίποτα για να καθαρίσετε} one {Καθαρίστηκε μια σπασμένη αναφορά εξώφυλλου} other {Καθαρίστηκε # κατεστραμμένες αναφορές εξώφυλλου}}", + "orphaned_cover_dirs": "{count, plural, =0 {Τίποτα για να καθαρίσετε} one {Αφαιρέθηκε ένας ορφανά φάκελος εξώφυλλου} other {Αφαιρέθηκε # ορφανά φακέλους εξώφυλλου}}" + }, + "pagination": { + "label": "Λείπουν σελίδες πόρων", + "page": "Σελίδα {page} του {total}" + }, + "errors": { + "summary": "Δεν ήταν δυνατή η φόρτωση της περίληψης πόρου που λείπει.", + "sweepStart": "Αδύνατη η εκκίνηση του ελέγχου του εξωφύλλου.", + "sweep": "Ο έλεγχος εξώφυλλου απέτυχε.", + "list": "Αδυναμία φόρτωσης αυτών των καταχωρήσεων.", + "clean": "Αποτυχία εκκαθάρισης." + } } }, "views": { @@ -6772,6 +12765,9 @@ "sort": "Ταξινόμηση", "sortOn": "Ενεργό", "resetSort": "Επαναφορά ταξινόμησης στις προεπιλογές", + "shuffle": "Τυχαία Αναπαραγωγή", + "shuffleAria": "Τυχαία αναπαραγωγή της παραγγελίας βιβλίου", + "shuffleHint": "Σχεδιάστε μια νέα τυχαία σειρά", "filters": "Φίλτρα", "clear": "Εκκαθάριση", "clearAllFilters": "Απαλοιφή όλων των φίλτρων", @@ -6805,7 +12801,12 @@ "title": "Βιβλίο", "titleWithId": "Κράτηση #{id}", "pageTitle": { - "book": "Βιβλίο · {base}" + "book": "Βιβλίο · {base}", + "editMetadata": "Επεξεργασία μεταδεδομένων · {base}", + "edit": "Επεξεργασία · {base}", + "files": "Αρχεία · {base}", + "readingLog": "Ημερολόγιο ανάγνωσης · ​​{base}", + "highlights": "Χαρακτηριστικά · {base}" } }, "bookDock": { @@ -6813,7 +12814,9 @@ "newFilesDetected": "Εντοπίστηκαν νέα αρχεία", "reconnecting": "Επανασύνδεση", "rescanFailed": "Επανασάρωση απέτυχε", + "totalInDock": "{size} στο Book Dock", "dropFiles": "Απόθεση αρχείων στην Αποβάθρα Βιβλίου", + "supportedFormats": "Υποστηρίζεται: {formats}", "empty": { "noSearchMatch": "Κανένα αρχείο δεν ταιριάζει με το \"{query}\"", "noStatusFiles": "Δεν υπάρχουν αρχεία {status}", @@ -6827,11 +12830,14 @@ "applied": "{count, plural, =0 {Εφαρμόζεται σε κανένα αρχείο} one {Εφαρμόζεται σε ένα αρχείο} other {Εφαρμόζεται σε # αρχεία}}", "skippedEdited": "{count, plural, =0 {παραλείφθηκε ένα αρχείο επειδή έχουν χειροκίνητες αλλαγές} one {παραλείφθηκε ένα αρχείο επειδή έχει χειροκίνητες επεξεργασίες} other {παραλείφθηκαν # αρχεία επειδή έχουν χειροκίνητες επεξεργασίες}}", "skippedNoMetadata": "{count, plural, =0 {παραλείφθηκε ένα αρχείο επειδή δεν έχουν ληφθέντα μεταδεδομένα} one {παραλείφθηκε ένα αρχείο επειδή δεν έχει ανακτηθούν μεταδεδομένα} other {παραλείφθηκε # αρχεία επειδή δεν έχουν ανακτηθούν μεταδεδομένα}}", + "noneApplied": "Δεν εφαρμόστηκαν αρχεία. {reasons}", "noneSelected": "Δεν επιλέχθηκαν αρχεία" } }, "collection": { "title": "Συλλογή", + "pageTitle": "Συλλογή · {name}", + "pageTitleWithId": "Συλλογή #{id}", "editCollection": "Επεξεργασία συλλογής", "showControlsAria": "Εμφάνιση στοιχείων ελέγχου συλλογής", "loadError": "Αδυναμία φόρτωσης αυτής της συλλογής", @@ -6848,6 +12854,8 @@ }, "library": { "title": "Βιβλιοθήκη", + "pageTitle": "Βιβλιοθήκη · {name}", + "pageTitleWithId": "Βιβλιοθήκη #{id}", "filterRules": "Κανόνες φίλτρου", "saveAsSmartScope": "Αποθήκευση ως έξυπνο πεδίο εφαρμογής", "saveScope": "Αποθήκευση Εμβέλειας", @@ -6867,12 +12875,14 @@ "emptyLibraryHint": "Μόλις προσθέσετε βιβλία σε αυτή τη βιβλιοθήκη, θα εμφανιστούν εδώ." }, "querySelection": { + "loadedSelected": "Επιλέχθηκαν {selected} από {total} φορτωμένα βιβλία.", "selectAllMatching": "Επιλογή όλων των {total} ταιριαστών βιβλίων" } }, "smartScope": { "title": "SmartScope", "pageTitle": "SmartScope · {name}", + "pageTitleWithId": "SmartScope #{id}", "defaultName": "Έξυπνο πεδίο εφαρμογής", "filter": "Φίλτρο", "edit": "Επεξεργασία Έξυπνης Εμβέλειας", @@ -6884,9 +12894,11 @@ "showControlsAria": "Εμφάνιση αισθητήρων έξυπνης εμβέλειας", "hideFilter": "Απόκρυψη φίλτρου", "showFilter": "Εμφάνιση φίλτρου", + "confirmDelete": "Επιβεβαιώνω;", "loadError": "Αδυναμία φόρτωσης αυτού του SmartScope", "toast": { "deleted": "\"{name}\" διαγράφηκε", + "deleteFailed": "Απέτυχε η διαγραφή του \"{name}\"", "koboSyncEnabled": "\"{name}\" συγχρονίζεται τώρα στο Kobo σας", "koboSyncDisabled": "\"{name}\" δεν συγχρονίζει πλέον το Kobo σας", "koboSyncFailed": "Αποτυχία ενημέρωσης του συγχρονισμού Kobo για το \"{name}\"" @@ -6899,11 +12911,41 @@ "noMatchHint": "Δοκιμάστε να προσαρμόσετε τους κανόνες φίλτρου.", "edit": "Επεξεργασία SmartScope" } + }, + "podcastScope": { + "title": "Έξυπνη λίστα αναπαραγωγής", + "entity": "έξυπνη λίστα αναπαραγωγής", + "loadFailed": "Αδυναμία φόρτωσης επεισοδίων για αυτήν τη λίστα αναπαραγωγής.", + "loadMoreFailed": "Αδυναμία φόρτωσης περισσότερων επεισοδίων.", + "retry": "Επανάληψη", + "editRules": "Επεξεργασία κανόνων", + "saveFailed": "Δεν ήταν δυνατή η αποθήκευση των κανόνων της λίστας αναπαραγωγής.", + "deleteFailed": "Δεν ήταν δυνατή η διαγραφή αυτής της λίστας αναπαραγωγής.", + "empty": { + "title": "Δεν υπάρχουν παρόμοια επεισόδια", + "hint": "Προσαρμόστε τους κανόνες για να ταιριάξετε περισσότερα επεισόδια." + } + }, + "podcastCollection": { + "title": "Συλλογή Podcast", + "entity": "συλλογή podcast", + "loadFailed": "Δεν ήταν δυνατή η φόρτωση δείχνει σε αυτή τη συλλογή.", + "remove": "Αφαίρεση", + "removeAria": "Αφαίρεση {name} από αυτή τη συλλογή", + "removed": "Καταργήθηκε το {name}", + "removeFailed": "Δεν ήταν δυνατή η αφαίρεση αυτής της παράστασης.", + "empty": { + "title": "Δεν υπάρχουν εκπομπές ακόμα", + "hint": "Προσθήκη σειρών σε αυτήν τη συλλογή από μια βιβλιοθήκη podcast." + }, + "loadMoreFailed": "Αδυναμία φόρτωσης περισσότερων εμφανίσεων.", + "retry": "Επανάληψη" } }, "whatsNew": { "title": "Τι Νέο Υπάρχει", "subtitle": "Όλα όσα έχουν αποσταλεί, τα νεότερα πρώτα.", + "versionPrefix": "Έκδοση {version}", "newUpdates": "{count, plural, =0 {Δεν υπάρχουν νέες ενημερώσεις} one {μία νέα ενημέρωση} other {# νέες ενημερώσεις}}", "remindLater": "Υπενθύμιση αργότερα", "gotIt": "Το κατάλαβα", @@ -6913,6 +12955,7 @@ "versions": "Εκδόσεις", "currentVersion": "Τρέχουσα έκδοση", "youreHere": "Είστε εδώ", + "searchPlaceholder": "Αναζήτηση εκδόσεων…", "noReleasesFound": "Δεν βρέθηκαν εκδόσεις.", "noHighlights": "Δεν υπάρχουν επισημάνσεις για αυτήν την έκδοση.", "showChangelog": "Εμφάνιση πλήρους αρχείου αλλαγών", @@ -6929,9 +12972,825 @@ "previousImage": "Προηγούμενη εικόνα", "nextImage": "Επόμενη εικόνα" }, + "podcast": { + "actions": { + "add": "Προσθήκη", + "cancel": "Ακύρωση", + "save": "Αποθήκευση", + "play": "Αναπαραγωγή", + "pause": "Παύση", + "playEpisode": "Αναπαραγωγή επεισοδίου", + "listen": "Ακρόαση", + "remove": "Αφαίρεση", + "episodeActions": "Επεισόδιο ενέργειες", + "removeFromQueue": "Αφαίρεση από την ουρά", + "addToQueue": "Προσθήκη στην ουρά", + "playNext": "Αναπαραγωγή επόμενου", + "retryDownload": "Επανάληψη λήψης", + "download": "Λήψη", + "removeDownload": "Κατάργηση λήψης", + "markUnplayed": "Σήμανση μη αναπαραγμένων", + "markPlayed": "Σημείωση που έχει παιχτεί", + "follow": "Ακολουθήστε", + "unfollow": "Ακολούθηση", + "followPodcast": "Ακολουθήστε podcast", + "unfollowPodcast": "Μη ακολουθείτε το podcast", + "resume": "Συνέχιση", + "playLatest": "Αναπαραγωγή πρόσφατου", + "moveToTop": "Μετακίνηση στην κορυφή", + "playFromHere": "Παίξτε από εδώ", + "moveDown": "Μετακίνηση κάτω", + "clearQueue": "Εκκαθάριση ουράς", + "clearAll": "Εκκαθάριση όλων", + "search": "Αναζήτηση", + "clearPlayed": "Εκκαθάριση αναπαραγόμενων", + "downloadSelected": "Λήψη επιλεγμένων", + "removeSelectedDownloads": "Αφαίρεση επιλεγμένων λήψεων", + "markSelectedPlayed": "Σημείωση επιλεγμένων παιγμένων", + "removeSelectedFromQueue": "Αφαίρεση επιλεγμένων από την ουρά", + "selectEpisode": "Επιλέξτε {title}", + "playNamedEpisode": "Παίξτε {title}", + "listenToEpisode": "Ακούστε το {title}", + "resumeEpisode": "Συνέχιση {title}", + "playLatestEpisode": "Παίξτε το τελευταίο επεισόδιο {title}", + "episodeDetails": "Λεπτομέρειες επεισοδίου", + "episodeDetailsNamed": "Λεπτομέρειες επεισοδίου για το {title}", + "editEpisodeMetadata": "Επεξεργασία μεταδεδομένων", + "openFullPlayer": "Άνοιγμα πλήρους παίκτη", + "reorderEpisode": "Αναπαραγγελία {title}", + "playAll": "Αναπαραγωγή όλων", + "resumeNamed": "Συνέχιση {title}", + "queueAll": "Ουρά όλων", + "markAllPlayed": "Σημείωση όλων που παίχτηκαν", + "latestCount": "Τελευταίο {count}", + "downloadLatest": "Κατεβάστε το τελευταίο", + "removeAllDownloads": "Αφαίρεση όλων των λήψεων", + "pin": "Καρφίτσα", + "unpin": "Unpin", + "pinEpisode": "επεισόδιο καρφίτσας", + "unpinEpisode": "Ξεκαρφίτσωμα επεισοδίου" + }, + "status": { + "nowPlaying": "Παίζεται τώρα", + "paused": "Παύση", + "downloaded": "Λήφθηκε", + "downloadQueued": "Λήψη στην ουρά", + "downloading": "Λήψη", + "downloadFailed": "Αποτυχία λήψης", + "unavailable": "Unavailable", + "played": "Παίχτηκε", + "following": "Ακολουθεί", + "playbackProgress": "Πρόοδος αναπαραγωγής", + "downloadProgress": "Πρόοδος λήψης", + "removedFromFeed": "Δεν υπάρχει πλέον στις ζωοτροφές", + "inQueue": "Σε ουρά", + "feedFailing": "Αποτυχία ροής", + "archived": "Αρχειοθετημένο", + "localShow": "Τοπικό", + "localShowDescription": "Αυτή η παράσταση δεν έχει ροή. Τα επεισόδια του είναι τα αρχεία στο φάκελο του.", + "missing": "Λείπει", + "missingDescription": "Αυτός ο φάκελος δεν είναι πλέον στο δίσκο. Διατηρείται εδώ σε περίπτωση που ο φάκελος επανέλθει, διαγράψτε την παράσταση για να τον αφαιρέσετε για πάντα." + }, + "selection": { + "select": "Επιλογή", + "selectAll": "Επιλογή όλων", + "count": "Επιλέχθηκε το {count}", + "toggleShow": "Επιλέξτε {title}" + }, + "bulkDelete": { + "title": "Διαγραφή επιλεγμένων σειρών", + "action": "Διαγραφή", + "confirmPhrase": "ΔΙΑΓΡΑΦΗ", + "description": "Αυτό διαγράφει μόνιμα το {count} εμφανίζει και όλα όσα γνωρίζει το BookOrbit σχετικά με αυτά, συμπεριλαμβανομένου του ιστορικού ακρόασης σας. Αυτό δεν μπορεί να αναιρεθεί.", + "descriptionWithFiles": "Αυτό διαγράφει μόνιμα το {count} δείχνει, όλα όσα γνωρίζει το BookOrbit γι 'αυτά και το {size} από τα κατεβασμένα αρχεία. Οι φάκελοι σας δεν αγγίζονται ποτέ. Αυτό δεν μπορεί να αναιρεθεί.", + "queued": "Διαγραφή εμφανίσεων {count}", + "queuedWithFailures": "Διαγραφή {count} shows, Δεν ήταν δυνατή η εκκίνηση του {failed}", + "errors": { + "prepare": "Δεν ήταν δυνατή η εύρεση της διαγραφής αυτών των σειρών", + "delete": "Δεν ήταν δυνατή η διαγραφή των επιλεγμένων σειρών" + } + }, + "views": { + "queue": "Ουρά" + }, + "labels": { + "episodeCount": "επεισόδια {count}", + "unknownPublisher": "Άγνωστος εκδότης", + "durationHoursMinutes": "{hours}h {minutes}m", + "durationMinutes": "{minutes}m", + "durationSeconds": "{seconds}s", + "durationUnavailable": "Διάρκεια μη διαθέσιμη", + "unknownDate": "Άγνωστη ημερομηνία", + "seasonEpisode": "S{season} E{episode}", + "season": "S{season}", + "episode": "E{episode}", + "episodeTypeTrailer": "Ρυμουλκούμενο", + "episodeTypeBonus": "Μπόνους", + "pinnedHint": "Τα καρφιτσωμένα επεισόδια προστατεύονται από την αφαίρεση κατακράτησης κατά την αποθήκευση.", + "explicit": "Ακριβής", + "lastListened": "Ακούσατε {time}", + "timeLeft": "{time} αριστερά", + "remainingClock": "-{time}", + "pinnedEpisode": "Καρφιτσωμένο επεισόδιο", + "newEpisodeCount": "{count} νέο", + "unplayedShort": "{count} unplayed" + }, + "acquisition": { + "title": "Αυτόματες λήψεις", + "never": "Ποτέ", + "newEpisodes": "Νέα επεισόδια", + "recentEpisodes": "Πρόσφατα επεισόδια", + "maximumNewest": "Μέγιστα νεότερα επεισόδια", + "publishedWithinDays": "Δημοσιεύθηκε τις τελευταίες (ημέρες)", + "remoteDescription": "Επεισόδια ροής από προεπιλογή. Μπορείτε ακόμα να κατεβάσετε μεμονωμένα επεισόδια για ακρόαση εκτός σύνδεσης.", + "newestDescription": "Αυτόματη λήψη του επιλεγμένου αριθμού των νεότερων επεισοδίων που δεν είναι ήδη αποθηκευμένα ή στην ουρά. Αποθήκευση αυτού του κανόνα ελέγχει επίσης επεισόδια ήδη στη ροή.", + "windowDescription": "Κατεβάστε υπάρχοντα και πρόσφατα ανακαλυφθέντα επεισόδια που δημοσιεύονται σε αυτή την περίοδο. Επεισόδια χωρίς ημερομηνία δημοσίευσης παραλείπονται. Η αλλαγή αυτού του κανόνα δεν καταργεί παλαιότερες λήψεις, αλλά η διατήρηση αποθήκευσης μπορεί να αφαιρέσει τις ακαρφιτσωμένες λήψεις όταν χρειάζεται χώρο." + }, + "cleanup": { + "title": "Διαγραφή μετά την ακρόαση", + "keep": "Διατήρηση λήψεων", + "afterFinished": "Διαγραφή μετά το τέλος", + "delayHours": "Διαγράψτε τόσες ώρες μετά το τέλος του τελευταίου ακροατή", + "keepDescription": "Τα κατεβασμένα επεισόδια παραμένουν στο δίσκο μέχρι η διατήρηση του αποθηκευτικού χώρου να χρειάζεται το χώρο.", + "afterFinishedDescription": "Διαγράψτε ένα κατεβασμένο επεισόδιο μία φορά κάθε ακροατή που το ξεκίνησε έχει τελειώσει και η καθυστέρηση έχει περάσει. Σήμανση χωρίς αναπαραγωγή, καρφίτσωμα ή τοποθέτηση πίσω σε ουρά κατά τη διάρκεια αυτού του παραθύρου ακυρώνει τη διαγραφή." + }, + "player": { + "miniPlayer": "Μίνι παίκτης Podcast", + "openFullPlayer": "Άνοιγμα πλήρους παίκτη", + "expandMiniPlayer": "Επέκταση μίνι παίκτη", + "collapseMiniPlayer": "Σύμπτυξη του συμπαγούς παίκτη", + "stopAndClose": "Σταμάτημα και κλείσιμο παίκτη", + "sleepActive": "Ενεργός χρονοδιακόπτης ύπνου: {value}", + "previousEpisode": "Προηγούμενο επεισόδιο", + "nextEpisode": "Επόμενο επεισόδιο", + "backSeconds": "Πίσω {count} δευτερόλεπτα", + "forwardSeconds": "Προώθηση {count} δευτερόλεπτα", + "episodePosition": "Θέση επεισοδίου", + "toggleTimeDisplay": "Εναλλαγή εναπομείναντος και συνολικού χρόνου", + "positionValue": "{elapsed} πέρασε από {duration}", + "playingAnnouncement": "Παίζοντας {title} από {podcast}", + "pausedAnnouncement": "Σε παύση το {title} από το {podcast}", + "volume": "Όγκος", + "positionValueWithChapter": "{elapsed} παρήλθε από {duration}, κεφάλαιο {chapter}" + }, + "bookmarks": { + "title": "Σελιδοδείκτες", + "empty": "Δεν υπάρχουν σελιδοδείκτες", + "closeForm": "Κλείσιμο φόρμας σελιδοδεικτών", + "saveAt": "Αποθήκευση στο {time}", + "titlePlaceholder": "Τίτλος σελιδοδείκτη", + "notePlaceholder": "Προαιρετική σημείωση", + "save": "Αποθήκευση σελιδοδείκτη", + "edit": "Επεξεργασία σελιδοδείκτη", + "delete": "Διαγραφή σελιδοδείκτη", + "titleLabel": "Τίτλος σελιδοδείκτη", + "noteLabel": "Σελιδοδείκτης σημείωσης", + "editTitleLabel": "Επεξεργασία τίτλου σελιδοδείκτη", + "editNoteLabel": "Επεξεργασία σημείωσης σελιδοδείκτη", + "defaultTitle": "Σελιδοδείκτης στο {time}" + }, + "library": { + "episodes": "Επεισόδια", + "shows": "Δείχνει", + "latest": "Τελευταία", + "inProgress": "Σε εξέλιξη", + "unplayed": "Δεν Βρέθηκε", + "finished": "Ολοκληρώθηκε", + "health": "Υγεία", + "search": "Αναζήτηση podcast", + "clearSearch": "Καθαρισμός αναζήτησης podcast", + "import": "Εισαγωγή", + "importOpml": "Εισαγωγή OPML", + "importDescription": "Εισαγωγή μιας λίστας συνδρομών OPML", + "addFeed": "Προσθήκη ροής", + "settings": "Ρυθμίσεις Podcast", + "views": "Προβολές Podcast", + "loading": "Φόρτωση podcasts...", + "noMatchingShows": "Δεν υπάρχουν αντίστοιχες εκπομπές", + "ready": "Η βιβλιοθήκη podcast είναι έτοιμη", + "tryDifferentSearch": "Δοκιμάστε διαφορετικό τίτλο ή εκδότη.", + "readyDescription": "Προσθέστε μια ροή RSS ή εισαγάγετε ένα αρχείο OPML για να ξεκινήσετε τη δημιουργία της βιβλιοθήκης ακρόασης σας.", + "loadMoreShows": "Φόρτωση περισσότερων σειρών", + "upNext": "Επάνω επόμενο", + "emptyQueue": "Η ουρά σας είναι κενή", + "emptyQueueDescription": "Προσθέστε ένα επεισόδιο από μια εκπομπή για να κρατήσετε την επόμενη ακρόασή σας εύκολα προσβάσιμη.", + "loadMore": "Φόρτωση περισσότερων", + "lastSuccess": "Τελευταία επιτυχία", + "failureCount": "Βλάβες {count}: {error}", + "unknownError": "Άγνωστο σφάλμα", + "healthy": "Υγιείς", + "noFeeds": "Δεν υπάρχουν ροές για παρακολούθηση", + "noFeedsDescription": "Προσθέστε μια ροή podcast για να δείτε την κατάσταση ανανέωσης εδώ.", + "noMatchingEpisodes": "Δεν υπάρχουν παρόμοια επεισόδια", + "noEpisodesLatest": "Δεν υπάρχουν ακόμη επεισόδια", + "noEpisodesDownloaded": "Δεν έχουν ληφθεί επεισόδια", + "noEpisodesInProgress": "Δεν υπάρχουν επεισόδια σε εξέλιξη", + "noEpisodesUnplayed": "Κανένα μη παιγμένο επεισόδιο", + "noEpisodesFinished": "Κανένα τελικό επεισόδιο", + "noEpisodesPinned": "Δεν υπάρχουν καρφιτσωμένα επεισόδια", + "pinned": "Καρφιτσωμένο", + "continueListening": "Συνέχεια ακρόασης", + "viewAllContinue": "Προβολή όλων", + "noEpisodesDescription": "Νέα επεισόδια από τις εκπομπές σας θα εμφανιστούν εδώ.", + "loadMoreEpisodes": "Φόρτωση περισσότερων επεισοδίων", + "addPodcastFeed": "Προσθήκη ροής podcast", + "rssUrl": "RSS feed URL", + "preview": "Προεπισκόπηση", + "addPodcast": "Προσθήκη podcast", + "storage": "Αποθ. χώρος Podcast", + "currentlyUsing": "Χρησιμοποιώντας το {size}", + "libraryQuotaGb": "Ποσοστό βιβλιοθήκης (GB)", + "freeSpaceReserveGb": "Απόθεμα ελεύθερου χώρου (GB)", + "defaultRefreshMinutes": "Προεπιλεγμένη ανανέωση (λεπτά)", + "finishRemainingSeconds": "Ολοκληρώθηκε με τα δευτερόλεπτα που απομένουν", + "exportOpml": "Εξαγωγή OPML", + "exportDescription": "Εξαγωγή αυτής της βιβλιοθήκης ως λίστα συνδρομής OPML", + "importOpmlDescription": "Επιλέξτε ένα αρχείο OPML και την πολιτική λήψεων που θα εφαρμοστεί σε κάθε ροή σε αυτό.", + "opmlFile": "Αρχείο OPML", + "chooseOpmlFile": "Επιλογή αρχείου", + "noOpmlFileChosen": "Δεν επιλέχθηκε αρχείο", + "importPolicyHint": "Αυτό ισχύει για κάθε εισαγόμενη ροή. Μπορείτε να το αλλάξετε ανά εμφάνιση μετά.", + "searchShows": "Αναζήτηση σειρών", + "searchEpisodes": "Αναζήτηση επεισοδίων", + "searchHealth": "Αναζήτηση στην υγεία των ζωοτροφών", + "manageFeeds": "Διαχείριση ροών", + "feedHealth": "Υγεία των ζωοτροφών", + "feedsNeedAttention": "Οι ζωοτροφές χρειάζονται προσοχή", + "episodeFilters": "Φίλτρα επεισοδίων", + "previewing": "Προεπισκόπηση...", + "addingPodcast": "Προσθήκη...", + "openShow": "Ανοίξτε το {title}", + "retryFeed": "Ανανεώστε το {title}", + "reparseFeed": "Ανάλυση της αποθηκευμένης ροής για το {title}", + "confirmClearQueue": "Να καταργηθεί κάθε επεισόδιο στην ουρά;", + "importProgress": "Πρόοδος εισαγωγής", + "jobsQueued": "{count} στην ουρά", + "jobsProcessing": "Επεξεργασία {count}", + "jobsFailed": "{count} απέτυχε", + "retryUnhealthy": "Επανάληψη ανθυγιεινών ζωοτροφών", + "followedOnly": "Μόνο μετά", + "queueDuration": "{duration} σύνολο", + "confirmClearPlayed": "Να καταργηθεί κάθε επεισόδιο που παίζεται από την ουρά;", + "searchQueue": "Αναζήτηση στην ουρά σας", + "noMatchingQueueEpisodes": "Κανένα αντίστοιχο επεισόδιο στην ουρά", + "showAllEpisodes": "Εμφάνιση όλων των επεισοδίων", + "browseShows": "Περιήγηση σειρών", + "browseEpisodes": "Περιήγηση σε επεισόδια", + "allLoaded": "Όλα τα {total} φορτώθηκαν", + "addFeedDescription": "Αναζητήστε τον κατάλογο podcast ή επικολλήστε ένα RSS feed URL, προεπισκόπηση της παράστασης, στη συνέχεια, επιλέξτε πώς αποκτώνται τα επεισόδια της.", + "searchDirectory": "Αναζήτηση στον κατάλογο podcast", + "searchDirectoryPlaceholder": "Εμφάνιση ή όνομα εκδότη", + "searchDirectoryEmpty": "Δεν εμφανίζεται στον κατάλογο που ταιριάζει με αυτή την αναζήτηση.", + "searchDirectoryHint": "Επιλέξτε ένα αποτέλεσμα για προεπισκόπηση ή επικολλήστε μια ροή URL παρακάτω.", + "inLibrary": "Στη βιβλιοθήκη", + "openExistingShow": "Ανοίξτε το {title}, ήδη στη βιβλιοθήκη σας", + "pasteFeedUrl": "Ή επικολλήστε ένα URL ροής", + "selectAllLoaded": "Επιλέξτε κάθε φορτωμένο επεισόδιο", + "reorderLoadedHint": "Η αναδιάταξη ισχύει για τα επεισόδια που έχουν φορτωθεί μέχρι στιγμής.", + "retryUnhealthyLoaded": "Επανάληψη φόρτωσης αποτυχημένων ροών", + "manageFeedsUnhealthy": "Διαχείριση τροφοδοσιών: αποτυχία ροής χρειάζονται προσοχή", + "localImportTitle": "Εισαγωγή podcast από τους φακέλους σας", + "localImportDoneTitle": "Η εισαγωγή ολοκληρώθηκε", + "localImportCounting": "Εξετάζοντας τους φακέλους σας…", + "localImportProgress": "{processed} από τα αρχεία {total}", + "localImportDone": "Εισήχθησαν αρχεία {processed}", + "importingTitle": "Εισαγωγή των podcast σας", + "importingHint": "Εμφανίζει εδώ καθώς διαβάζονται τα αρχεία τους." + }, + "import": { + "title": "Εισαγωγή τοπικών αρχείων", + "description": "Ταίριαξε ήχο ήδη στο φάκελο αυτής της βιβλιοθήκης για επεισόδια από τις ροές που ακολουθείτε.", + "placementHint": "Πρώτα τοποθετήστε τα αρχεία μέσα στο φάκελο αυτής της βιβλιοθήκης. Το BookOrbit τα υιοθετεί όπου είναι: τίποτα δεν αντιγράφεται, μετονομάζεται ή μετακινείται.", + "scan": "Σάρωση για αρχεία", + "running": "Σάρωση...", + "progress": "{current} από {total} αρχεία σαρώθηκαν", + "apply": "Εισαγωγή αντιστοιχισμένων αρχείων", + "applyWithChoices": "Εισαγωγή αντιστοιχισμένων αρχείων και των επιλογών σας", + "applied": "Εγκρίθηκαν αρχεία {count}.", + "quota": "{adopt} για υιοθέτηση, {headroom} της ποσόστωσης εξακολουθεί να είναι δωρεάν", + "truncated": "Ορισμένες λίστες συντομεύονται. Οι παραπάνω μετρήσεις είναι πλήρεις.", + "chooseEpisode": "Επιλέξτε το επεισόδιο", + "leaveUnresolved": "Αφήστε για αργότερα", + "noDate": "Χωρίς ημερομηνία", + "fileCount": "Αρχεία {count}", + "subscribe": "Εγγραφή", + "subscribed": "Εγγεγραμμένος", + "suggestedFeedsHint": "Αυτοί οι φάκελοι ονομάζουν μια ροή που δεν ακολουθείτε ακόμα. Εγγραφείτε και στη συνέχεια σαρώστε ξανά για να ταιριάξετε τα αρχεία τους.", + "rescanHint": "Σαρώστε ξανά για να ταιριάξετε τα αρχεία στους φακέλους στους οποίους μόλις εγγραφήκατε.", + "duplicateDiffers": "Ένα διαφορετικό αρχείο είναι ήδη συνδεδεμένο σε αυτό το επεισόδιο", + "duplicateSame": "Αυτό το επεισόδιο έχει ήδη αυτό το αρχείο", + "unreadableFolders": "Οι φάκελοι {count} δεν μπορούν να διαβαστούν.", + "groups": { + "matched": "Ταιριάζουν", + "ambiguous": "Χρειάζεται μια απόφαση", + "unmatched": "Δεν υπάρχει αντιστοιχία", + "duplicates": "Ήδη συνδεδεμένο", + "skipped": "Παράλειψη", + "suggestedFeeds": "Ροές για να εγγραφείτε σε", + "unclaimedFolders": "Φάκελοι χωρίς τροφοδοσία" + }, + "signals": { + "episode_guid": "Episode ID στις ετικέτες του αρχείου", + "episode_id_suffix": "BookOrbit ID στο όνομα αρχείου", + "enclosure_file_name": "Το όνομα αρχείου ταιριάζει με την ροή", + "title_and_date": "Τίτλος και ημερομηνία", + "title_and_duration": "Τίτλος και μήκος", + "manual": "Η επιλογή σας" + }, + "scopes": { + "request": "Εμφάνιση επιλεγμένων", + "folder_suffix": "Εμφάνιση ονόματος φακέλου", + "feed_url_tag": "Διεύθυνση ροής στις ετικέτες του αρχείου", + "feed_sidecar": "Αποθηκευμένη ροή στο φάκελο", + "title_similarity": "Παρόμοια εμφάνιση τίτλου", + "library": "Δεν εντοπίστηκε εμφάνιση" + }, + "reasons": { + "show_unresolved": "Δεν ήταν δυνατή η αναγνώριση εμφάνισης για αυτό το αρχείο", + "no_episode_candidate": "Η εκπομπή ταιριάζει, αλλά δεν έγινε επεισόδιο", + "single_fuzzy_signal": "Μόνο ένα σήμα έδειχνε σε ένα επεισόδιο", + "multiple_candidates": "Πολλά επεισόδια ταιριάζουν εξίσου καλά", + "empty_file": "Το αρχείο είναι κενό", + "unsupported_format": "Δεν υποστηρίζεται αρχείο ήχου", + "symlink": "Οι συμβολικοί σύνδεσμοι δεν εισάγονται", + "unreadable": "Δεν ήταν δυνατή η ανάγνωση του αρχείου", + "outside_library_root": "Το αρχείο επιλύει έξω από το φάκελο βιβλιοθήκης", + "attach_conflict": "Το επεισόδιο απέκτησε ένα αρχείο κατά τη διάρκεια της σάρωσης", + "quota_exceeded": "Η εισαγωγή αυτών των αρχείων θα υπερέβαινε το όριο αποθήκευσης αυτής της βιβλιοθήκης." + }, + "sources": { + "feed_sidecar": "Αποθηκευμένο αρχείο ροής", + "metadata_json": "metadata.json", + "feed_url_tag": "Ετικέτες αρχείου" + }, + "errors": { + "status": "Αποτυχία ανάγνωσης της κατάστασης εισαγωγής", + "start": "Αποτυχία έναρξης της εισαγωγής", + "subscribe": "Αποτυχία εγγραφής σε αυτήν τη ροή", + "createLocalShow": "Αποτυχία δημιουργίας τοπικής εμφάνισης από αυτόν το φάκελο" + }, + "messages": { + "subscribed": "Το Podcast πρόσθεσε. Σάρωση για να ταιριάζει με τα αρχεία του.", + "localShowCreated": "Δημιουργήθηκε τοπική εκπομπή. Τα επεισόδιά του εισάγονται.", + "localShowUpdated": "Εισαγωγή των νέων αρχείων σε αυτόν το φάκελο." + }, + "createLocalShow": "Δημιουργία τοπικής εμφάνισης", + "addLocalEpisodes": "Προσθήκη νέων επεισοδίων", + "localShowCreated": "Δημιουργήθηκε", + "unclaimedFoldersHint": "Αυτά τα ονόματα φακέλων δεν ροή. Μετατρέψτε έναν σε μια τοπική παράσταση και κάθε αρχείο ήχου σε αυτό γίνεται ένα επεισόδιο.", + "localRescanHint": "Σαρώστε ξανά για να παραλάβετε οτιδήποτε άλλο άλλαξε στους φακέλους που μόλις εισάγατε." + }, + "messages": { + "podcastAdded": "Προστέθηκε Podcast", + "feedsQueued": "Ροές podcast {count} σε ουρά", + "settingsSaved": "Ρυθμίσεις Podcast αποθηκεύτηκαν", + "downloadQueued": "Λήψη επεισοδίου στην ουρά", + "downloadRemoved": "Η λήψη του επεισοδίου αφαιρέθηκε", + "refreshQueued": "Ανανέωση Podcast στην ουρά", + "reparseQueued": "Αναίρεση Podcast στην ουρά", + "mergeQueued": "Αναμονή συγχώνευσης Podcast", + "showDeleted": "Το {title} διαγράφηκε", + "queueCleared": "Η ουρά Podcast εκκαθαρίστηκε", + "playerClosed": "Ο παίκτης έκλεισε", + "feedsRefreshQueued": "Ανανέωση σε αναμονή για {count} feeds", + "finishedQueueCleared": "Τα επεισόδια που παίχτηκαν αφαιρέθηκαν από την ουρά", + "bulkQueueActionCompleted": "Ενημερώθηκε το {count} επιλεγμένα επεισόδια", + "bulkQueueActionFailed": "Ενημέρωση {completed} επεισόδια, {failed} απέτυχε", + "bulkQueued": "Επεισόδια {completed} σε ουρά. Το {skipped} είχε ήδη μπει στην ουρά ή ξεπέρασε το όριο της ουράς", + "bulkMarkedPlayed": "Σήμανση {count} επεισόδια που παίχτηκαν", + "bulkDownloadsQueued": "Σε ουρά λήψεις επεισοδίων {count}", + "bulkDownloadsRemoved": "Καταργήθηκαν οι λήψεις επεισοδίων {count}", + "bulkDownloadsRemovedWithFailures": "Καταργήθηκαν οι λήψεις {completed}. Το {failed} απέτυχε", + "queueRestored": "Έγινε επαναφορά των επεισοδίων {count} στην ουρά", + "playlistSaved": "Η λίστα αποθηκεύτηκε", + "playlistDeleted": "Η λίστα διαγράφηκε", + "playlistQueued": "Σε ουρά επεισοδίων {completed}, παράλειψη {skipped}", + "playlistQueueEmpty": "Δεν βρέθηκαν επεισόδια σε αυτή τη λίστα αναπαραγωγής", + "detailsSaved": "Εμφάνιση λεπτομερειών που αποθηκεύτηκαν", + "episodeDetailsSaved": "Οι λεπτομέρειες του επεισοδίου αποθηκεύτηκαν", + "artworkUpdated": "Το εξώφυλλο ενημερώθηκε", + "artworkRemoved": "Προσαρμοσμένο εξώφυλλο αφαιρέθηκε", + "localFileDeleted": "Το αρχείο επεισόδιο διαγράφηκε", + "opmlOmittedLocalShows": "Left {count} local shows out of the export: OPML can only describe feeds." + }, + "fullPlayer": { + "queueNowPlaying": "Τώρα παίζει #{position} · απομένει ο {count}", + "queuedCount": "{count} στην ουρά", + "mediaUnavailable": "Μη διαθέσιμα μέσα", + "streaming": "Ροή", + "backToPodcast": "Πίσω στο podcast", + "loading": "Φόρτωση επεισοδίου...", + "tryAgain": "Προσπαθήστε ξανά", + "nowListening": "Τώρα ακούτε", + "retry": "Επανάληψη", + "restart": "Επανεκκίνηση", + "durationUnavailable": "Διάρκεια μη διαθέσιμη", + "previousQueued": "Προηγούμενο επεισόδιο στην ουρά", + "nextQueued": "Επόμενο επεισόδιο στην ουρά", + "startingPlayback": "Έναρξη αναπαραγωγής", + "speed": "Ταχύτητα", + "playbackSpeed": "Ταχύτητα αναπαραγωγής", + "sleep": "Αναστολή", + "off": "Ανενεργό", + "endOfChapter": "Τέλος του κεφαλαίου", + "endOfEpisode": "Τέλος επεισοδίου", + "minutesLeft": "{count}m απομένουν", + "aboutEpisode": "Σχετικά με αυτό το επεισόδιο", + "showLess": "Εμφάνιση λιγότερων", + "showMore": "Εμφάνιση περισσότερων", + "chapters": "Κεφάλαια", + "previousChapter": "Προηγούμενο κεφάλαιο", + "nextChapter": "Επόμενο κεφάλαιο", + "removeNamedFromQueue": "Αφαιρέστε το {title} από την ουρά", + "queueClear": "Η ουρά σας είναι σαφής.", + "transcripts": "Απομαγνητοφωνήσεις", + "transcript": "Απομαγνητοφώνηση", + "sleepMinutes": "{count} ελάχ", + "speedValue": "{rate}x", + "cyclePlaybackSpeed": "Ταχύτητα αναπαραγωγής κύκλου", + "choosePlaybackSpeed": "Επιλογή ταχύτητας αναπαραγωγής", + "moreSpeeds": "Περισσότερα", + "showSpeedOverride": "Αυτή η ταχύτητα θυμάται για αυτή την παράσταση.", + "clearSpeedOverride": "Χρήση προεπιλεγμένης ταχύτητας για αυτήν την εμφάνιση", + "extendSleepLabel": "Προσθέστε {count} περισσότερα λεπτά στο χρονόμετρο ύπνου", + "sleepTimer": "Χρονοδιακόπτης ύπνου", + "sleepRemaining": "{count}m", + "fineTuneSpeed": "Ακριβής ρύθμιση", + "decreaseSpeed": "Μείωση ταχύτητας αναπαραγωγής", + "increaseSpeed": "Αύξηση ταχύτητας αναπαραγωγής", + "extendSleep": "Προσθήκη {count} λεπτών", + "bookmarkTooltip": "Σελιδοδείκτης: {title}", + "openQueue": "Άνοιγμα ουράς", + "openChapterLink": "Άνοιγμα συνδέσμου κεφαλαίου για το {title}" + }, + "show": { + "loading": "Φόρτωση podcast...", + "noAlerts": "Δεν υπάρχουν ειδοποιήσεις", + "immediate": "Άμεση", + "dailyDigest": "Ημερήσια σύνοψη", + "weeklyDigest": "Εβδομαδιαία χώνευση", + "refreshFeed": "Ανανέωση ροής", + "refreshInterval": "Χρονικό διάστημα ανανέωσης σε λεπτά", + "restore": "Επαναφορά", + "archive": "Αρχειοθέτηση", + "deletePermanently": "Οριστική διαγραφή", + "mergeSource": "Συγχώνευση άλλου αναγνωριστικού podcast σε αυτήν την εμφάνιση", + "queueMerge": "Συγχώνευση αναμονής", + "confirmMerge": "Συγχώνευση podcast {id} σε αυτό το podcast? Το πηγαίο podcast θα αφαιρεθεί οριστικά.", + "confirmDelete": "Μόνιμη διαγραφή {title}, επεισόδια {episodes} και όλα τα κράτη ακρόασης? Αυτό δεν μπορεί να αναιρεθεί.", + "confirmDeleteWithDownloads": "Μόνιμη διαγραφή {title}, {episodes} επεισόδια, {files} ληφθέντα αρχεία ({size}) και όλα τα στοιχεία ακρόασης? Αυτό δεν μπορεί να αναιρεθεί.", + "back": "Πίσω", + "notificationMode": "Συχνότητα ειδοποίησης", + "readMore": "Διαβάστε περισσότερα", + "searchEpisodes": "Αναζήτηση σε επεισόδια αυτής της επίδειξης", + "clearEpisodeSearch": "Εκκαθάριση αναζήτησης επεισοδίων", + "episodeFilter": "Φίλτρο επεισοδίων", + "episodeSort": "Σειρά ταξινόμησης επεισοδίων", + "newestFirst": "Νεότερα πρώτα", + "oldestFirst": "Παλαιότερα πρώτα", + "noEpisodes": "Δεν υπάρχουν παρόμοια επεισόδια", + "noEpisodesDescription": "Δοκιμάστε μια άλλη αναζήτηση, φίλτρο ή ταξινόμηση παραγγελίας.", + "dangerZone": "Ζώνη κινδύνου", + "dangerZoneActions": "Αρχειοθέτηση, διαγραφή, ή συγχώνευση αυτής της ροής. Η διαγραφή δεν μπορεί να αναιρεθεί.", + "mergeTitle": "Merge duplicate show", + "mergeDescription": "Βρείτε την πηγή που θα συγχωνευτεί σε αυτήν. Η πηγή θα αφαιρεθεί οριστικά.", + "searchMergeSource": "Αναζήτηση για διπλότυπη εμφάνιση", + "mergeSelected": "Συγχώνευση “{title}” σε αυτή την παράσταση", + "fromDate": "Από", + "toDate": "Προς", + "feedFailingTitle": "Ζωοτροφές χρειάζεται προσοχή", + "feedFailingDetail": "{count} διαδοχικές αποτυχίες ανανέωσης. Τελευταία επιτυχημένη ανανέωση: {lastSuccess}", + "archivedTitle": "Αυτή η παράσταση είναι αρχειοθετημένη", + "archivedDescription": "Αρχειοθετημένες σειρές σταματούν την ανανέωση και δεν κατεβάζουν νέα επεισόδια.", + "downloadLatestCount": "Αριθμός των τελευταίων επεισοδίων για λήψη", + "confirmRemoveAllDownloads": "Αφαιρέστε κάθε κατεβασμένο επεισόδιο για αυτή την εμφάνιση? Περιλαμβάνονται επεισόδια και η πρόοδος ακρόασης.", + "refreshCompleted": "Ενημερώθηκε, {count} νέα επεισόδια", + "refreshFailed": "Η ανανέωση απέτυχε: {error}", + "manageTitle": "Διαχείριση εμφάνισης", + "manageActionsDescription": "Η αρχειοθέτηση, η διαγραφή και η συγχώνευση αντιμετωπίζονται ξεχωριστά, έτσι ώστε οι ρυθμίσεις ρουτίνας παραμένουν ασφαλείς για αλλαγή.", + "openManageActions": "Αρχειοθέτηση, διαγραφή, ή συγχώνευση", + "archiveOrDelete": "Η αρχειοθέτηση είναι αναστρέψιμη και διατηρεί κάθε επεισόδιο. Διαγράφει την παράσταση, τα επεισόδιά της και τα αρχεία που έχουν ληφθεί για πάντα.", + "deleteRequiresOwner": "Η αρχειοθέτηση κρύβει αυτό το show και σταματά τις ανανεώσεις του. Μόνο ένας ιδιοκτήτης βιβλιοθήκης με δικαίωμα διαγραφής podcast μπορεί να το αφαιρέσει μόνιμα.", + "settingsDescription": "Επιλέξτε πώς αποκτώνται τα επεισόδια και πόσο συχνά ελέγχεται η τροφοδοσία.", + "updatedAgo": "Ενημερώθηκε το {time}", + "checksEvery": "Ελέγχει κάθε {time}", + "visitWebsite": "Επισκεφθείτε την ιστοσελίδα", + "backToLibrary": "Επιστροφή στο {library}", + "categoryOverflow": "+{count}", + "moreCategories": "Εμφάνιση {count} περισσότερων κατηγοριών", + "allCategories": "Όλες οι κατηγορίες", + "serial": "Σειριακός", + "daysShort": "{count} δ", + "hoursShort": "{count} h", + "minutesShort": "{count} ελάχ", + "moreActions": "Περισσότερες ενέργειες προβολής", + "dates": "Χουρμάδες", + "anyDate": "Οποιαδήποτε", + "dateRange": "{from} - {to}", + "dateFilter": "Ημερομηνίες δημοσίευσης του επεισοδίου", + "clearDates": "Διαγραφή ημερομηνιών", + "seasonHeader": "Σεζόν {season}", + "localSettingsHint": "Αυτή η παράσταση δεν έχει ροές, οπότε δεν έχει ρυθμίσεις ανανέωσης ή λήψης." + }, + "edit": { + "title": "Επεξεργασία λεπτομερειών", + "description": "Οτιδήποτε αλλάζετε εδώ είναι κλειδωμένο, οπότε η επόμενη ανανέωση της ροής δεν μπορεί να την αντικαταστήσει.", + "titleLabel": "Εμφάνιση τίτλου", + "authorLabel": "Εκδότης", + "authorPlaceholder": "Ποιος δημοσιεύει αυτή την παράσταση", + "descriptionLabel": "Περιγραφή", + "descriptionPlaceholder": "Τι είναι αυτή η παράσταση", + "descriptionHint": "Η μορφοποίηση από την τροφοδοσία αντικαθίσταται από το απλό κείμενο που εισάγετε εδώ.", + "siteUrlLabel": "Ιστοσελίδα", + "siteUrlPlaceholder": "https://example.com/show", + "languageLabel": "Γλώσσα", + "languagePlaceholder": "el-us", + "categoriesLabel": "Κατηγορίες", + "categoriesPlaceholder": "Προσθέστε μια κατηγορία και πατήστε Enter", + "removeCategory": "Κατάργηση κατηγορίας {category}", + "categoryLimit": "Μπορείτε να τηρείτε μέχρι τις κατηγορίες {count}.", + "explicitLabel": "Ακριβής", + "explicitHint": "Σημαίνει ότι αυτή η παράσταση περιέχει ρητό περιεχόμενο.", + "artworkTitle": "Γραφικά", + "artworkHint": "PNG, JPEG, WebP, GIF, ή AVIF έως 10 MB. Το προσαρμοσμένο εξώφυλλο αντικαθιστά την εικόνα τροφοδοσίας παντού.", + "artworkUrlLabel": "Διεύθυνση εικόνας", + "artworkUrlPlaceholder": "https://example.com/artwork.png", + "chooseImage": "Επιλογή εικόνας", + "useImage": "Χρήση αυτής της εικόνας", + "removeCustomArtwork": "Αφαίρεση προσαρμοσμένου εξώφυλλου", + "lockField": "Κλειδώστε το {field} ενάντια στην τροφοδοσία ανανεώνεται", + "unlockField": "Ξεκλειδώστε το {field} ώστε η ροή να μπορεί να την ενημερώσει", + "willLockField": "Το {field} θα κλειδωθεί όταν αποθηκεύσετε", + "willLockHint": "Αυτό το πεδίο θα κλειδωθεί όταν αποθηκεύσετε.", + "localDescription": "Αυτή η παράσταση δεν έχει ροή, έτσι οι επεξεργασίες σας είναι μόνιμες και τίποτα δεν μπορεί να τις αντικαταστήσει." + }, + "episodeEdit": { + "title": "Επεξεργασία επεισοδίου", + "description": "Οτιδήποτε αλλάζετε εδώ είναι κλειδωμένο, οπότε η επόμενη ανανέωση της ροής δεν μπορεί να την αντικαταστήσει.", + "lockHint": "Τα επεξεργασμένα πεδία προστατεύονται από ενημερώσεις τροφοδοσίας.", + "titleLabel": "Τίτλος επεισοδίου", + "subtitleLabel": "Υπότιτλος", + "subtitlePlaceholder": "Μια σύντομη γραμμή κάτω από τον τίτλο", + "descriptionLabel": "Περιγραφή", + "descriptionPlaceholder": "Τι καλύπτει αυτό το επεισόδιο", + "descriptionHint": "Η μορφοποίηση από την τροφοδοσία αντικαθίσταται από το απλό κείμενο που εισάγετε εδώ.", + "publishedAtLabel": "Δημοσιεύθηκε", + "seasonLabel": "Σεζόν", + "seasonPlaceholder": "2", + "episodeLabel": "Αριθμός επεισοδίου", + "episodePlaceholder": "14", + "episodeTypeLabel": "Τύπος επεισοδίου", + "episodeTypeNone": "Δεν έχει οριστεί", + "episodeTypeFull": "Πλήρες επεισόδιο", + "episodeTypeTrailer": "Ρυμουλκούμενο", + "episodeTypeBonus": "Μπόνους", + "episodeTypeFromFeed": "{value} (από τη τροφοδοσία)", + "durationLabel": "Διάρκεια", + "durationPlaceholder": "Λεπτά", + "durationHint": "Μέσα σε λίγα λεπτά. Αφήστε το κενό για να αφαιρέσετε τη διάρκεια.", + "durationInvalid": "Εισάγετε διάρκεια σε λεπτά μεγαλύτερη από το μηδέν.", + "explicitLabel": "Ακριβής", + "explicitHint": "Σημαίνει αυτό το επεισόδιο ως περιέχει ρητό περιεχόμενο.", + "localHint": "Αυτό το επεισόδιο προήλθε από ένα αρχείο και όχι από μια ροή, έτσι οι επεξεργασίες σας είναι μόνιμες και τίποτα δεν μπορεί να τις αντικαταστήσει." + }, + "errors": { + "createBookmark": "Αποτυχία δημιουργίας σελιδοδείκτη", + "updateBookmark": "Αποτυχία ενημέρωσης σελιδοδείκτη", + "deleteBookmark": "Αποτυχία διαγραφής σελιδοδείκτη", + "feedPreview": "Η προεπισκόπηση ροής απέτυχε", + "directorySearch": "Η αναζήτηση καταλόγου δεν είναι διαθέσιμη αυτή τη στιγμή. Επικολλήστε το URL της ροής αντί για αυτό.", + "invalidEpisodeLimit": "Εισάγετε έναν έγκυρο μέγιστο αριθμό επεισοδίων", + "invalidEpisodeWindow": "Εισάγετε ένα έγκυρο παράθυρο πρόσφατου επεισοδίου", + "invalidCleanupDelay": "Η καθυστέρηση καθαρισμού πρέπει να είναι από 0 έως 8,760 ώρες", + "addPodcast": "Αποτυχία προσθήκης podcast", + "opmlTooLarge": "Τα αρχεία OPML δεν μπορούν να υπερβαίνουν τα 5 MB", + "opmlImport": "Αποτυχία εισαγωγής OPML", + "opmlExport": "Αποτυχία εξαγωγής OPML", + "loadSettings": "Αποτυχία φόρτωσης ρυθμίσεων podcast", + "invalidStorage": "Οι τιμές αποθήκευσης πρέπει να είναι μη αρνητικοί αριθμοί", + "invalidRefresh": "Η προεπιλεγμένη ανανέωση πρέπει να είναι από 5 έως 10,080 λεπτά", + "invalidCompletion": "Το όριο ολοκλήρωσης πρέπει να είναι από 0 έως 3,600 δευτερόλεπτα", + "saveSettings": "Αποτυχία αποθήκευσης ρυθμίσεων podcast", + "markPlayed": "Αποτυχία σήμανσης επεισοδίου που παίχτηκε", + "restartEpisode": "Αποτυχία επανεκκίνησης επεισοδίου", + "queueDownload": "Αποτυχία λήψης επεισοδίου στην ουρά", + "removeDownload": "Αποτυχία κατάργησης λήψης επεισοδίου", + "addToQueue": "Αποτυχία προσθήκης επεισοδίου στην ουρά", + "removeFromQueue": "Αποτυχία κατάργησης επεισοδίου από την ουρά", + "loadPodcast": "Αποτυχία φόρτωσης podcast", + "loadEpisodes": "Αποτυχία φόρτωσης επεισοδίων podcast", + "queueNext": "Αποτυχία εμφάνισης επεισοδίου στην ουρά", + "follow": "Αποτυχία παρακολούθησης podcast", + "unfollow": "Αποτυχία κατάργησης παρακολούθησης podcast", + "updateEpisode": "Αποτυχία ενημέρωσης επεισοδίου", + "refresh": "Αποτυχία ανανέωσης podcast στην ουρά", + "reparse": "Αποτυχία ανάλυσης podcast στην ουρά", + "reparseNoSnapshot": "Το BookOrbit δεν έχει ακόμα αποθηκευμένο αντίγραφο αυτής της ροής. Ανανεώστε το πρώτα.", + "updatePodcast": "Αποτυχία ενημέρωσης podcast", + "archive": "Αποτυχία αρχειοθέτησης podcast", + "prepareDelete": "Αποτυχία προετοιμασίας της διαγραφής της εμφάνισης", + "deleteShow": "Αποτυχία διαγραφής της εμφάνισης", + "restore": "Αποτυχία επαναφοράς podcast", + "merge": "Αποτυχία συγχώνευσης podcast στην ουρά", + "libraryAccess": "Αποτυχία φόρτωσης πρόσβασης στη βιβλιοθήκη", + "reorderQueue": "Αποτυχία αναδιάταξης της ουράς podcast", + "clearQueue": "Αποτυχία καθαρισμού ουράς podcast", + "podcastNotFound": "Το Podcast δεν βρέθηκε", + "loadPodcasts": "Αποτυχία φόρτωσης podcast", + "loadQueue": "Αποτυχία φόρτωσης της ουράς podcast", + "loadHealth": "Αποτυχία φόρτωσης της υγείας ροής", + "loadPlaybackSettings": "Απέτυχε η φόρτωση των ρυθμίσεων αναπαραγωγής podcast", + "invalidPlaybackRate": "Ο ρυθμός αναπαραγωγής πρέπει να είναι από 0,5 έως 3", + "invalidSkipBackward": "Η παράλειψη προς τα πίσω πρέπει να είναι από 5 έως 120 δευτερόλεπτα", + "invalidSkipForward": "Η μετάβαση προς τα εμπρός πρέπει να είναι από 5 έως 120 δευτερόλεπτα", + "invalidDateRange": "Η ημερομηνία έναρξης πρέπει να είναι πριν από την ημερομηνία λήξης", + "episodeNotFound": "Το επεισόδιο Podcast δεν βρέθηκε", + "loadEpisode": "Αποτυχία φόρτωσης επεισοδίου podcast", + "refreshPlaybackContext": "Αποτυχία ανανέωσης του πλαισίου αναπαραγωγής", + "streamUnavailable": "Αδυναμία φόρτωσης αυτού του επεισοδίου podcast", + "bulkAction": "Αποτυχία ενημέρωσης επεισοδίων podcast", + "invalidVolume": "Ο όγκος πρέπει να είναι από 0 έως 100 τοις εκατό", + "restoreQueue": "Αποτυχία επαναφοράς της ουράς podcast", + "loadPlaylists": "Αποτυχία φόρτωσης των λιστών αναπαραγωγής", + "savePlaylist": "Αποτυχία αποθήκευσης της λίστας αναπαραγωγής", + "deletePlaylist": "Αποτυχία διαγραφής της λίστας αναπαραγωγής", + "queuePlaylist": "Αποτυχία στην ουρά της λίστας αναπαραγωγής", + "playlistNameRequired": "Ονομάστε τη λίστα αναπαραγωγής πριν την αποθηκεύσετε", + "playlistLimitReached": "Έχετε φτάσει το αποθηκευμένο όριο λίστας αναπαραγωγής", + "playlistDurationRange": "Η βραχύτερη διάρκεια πρέπει να είναι μικρότερη από τη μεγαλύτερη διάρκεια", + "updatePinned": "Αποτυχία ενημέρωσης καρφιτσωμένης κατάστασης", + "titleRequired": "Εμφάνιση τίτλου δεν μπορεί να είναι κενός", + "episodeTitleRequired": "Ο τίτλος του επεισοδίου δεν μπορεί να είναι κενός", + "updateArtwork": "Αποτυχία ενημέρωσης εξωφύλλου", + "removeArtwork": "Αποτυχία κατάργησης προσαρμοσμένου εξωφύλλου" + }, + "settingsPage": { + "title": "Ρυθμίσεις Podcast", + "subtitle": "Διαχειριστείτε τις προεπιλογές αναπαραγωγής και τη συμπεριφορά αποθήκευσης για κάθε βιβλιοθήκη podcast.", + "loading": "Φόρτωση ρυθμίσεων podcast...", + "saving": "Αποθηκεύεται...", + "playbackTitle": "Προεπιλογές αναπαραγωγής", + "playbackDescription": "Αυτές οι προτιμήσεις ακολουθούν το λογαριασμό σας σε όλες τις συσκευές. Οι ταχύτητες αναπαραγωγής που θυμόμαστε για μεμονωμένες εκπομπές διατηρούνται.", + "defaultPlaybackRate": "Προεπιλεγμένη ταχύτητα αναπαραγωγής", + "skipBackwardSeconds": "Παράλειψη προς τα πίσω (δευτερόλεπτα)", + "skipForwardSeconds": "Παράλειψη προς τα εμπρός (δευτερόλεπτα)", + "playbackSaved": "Ρυθμίσεις αναπαραγωγής Podcast αποθηκεύτηκαν", + "playbackSaveFailed": "Αποτυχία αποθήκευσης ρυθμίσεων αναπαραγωγής podcast", + "libraryTitle": "Προεπιλογές βιβλιοθήκης και αποθήκευση", + "libraryDescription": "Επιλέξτε μια βιβλιοθήκη podcast για να δείτε τα όρια αποθήκευσης και την προεπιλεγμένη συμπεριφορά ανανέωσης.", + "library": "Βιβλιοθήκη Podcast", + "noLibraries": "Δεν έχετε ακόμα πρόσβαση σε μια βιβλιοθήκη podcast.", + "loadingLibrary": "Φόρτωση ρυθμίσεων βιβλιοθήκης...", + "readOnlyLibrary": "Μόνο οι ιδιοκτήτες βιβλιοθηκών με δικαιώματα διατήρησης podcast μπορούν να αλλάξουν αυτές τις ρυθμίσεις.", + "showSettingsHint": "Οι αυτόματοι κανόνες λήψης και οι αναπροσαρμογές ανανέωσης παραμένουν στις ρυθμίσεις κάθε εμφάνισης.", + "defaultVolume": "Προεπιλεγμένη ένταση ήχου", + "gigabytesUnit": "GB" + }, + "queueReorder": { + "lifted": "{title} ανυψώθηκε στη θέση {position} του {total}", + "moved": "Το {title} μετακινήθηκε στη θέση {position} του {total}", + "dropped": "{title} έπεσε στη θέση {position} του {total}", + "cancelled": "Η αναδιάταξη του {title} ακυρώθηκε" + }, + "sort": { + "label": "Ταξινόμηση", + "showLabel": "Ταξινόμηση σειρών", + "episodeLabel": "Ταξινόμηση επεισοδίων", + "showTitle": "Τίτλος Α έως Ω", + "showRecent": "Πρόσφατα ενημερώθηκαν", + "showUnplayed": "Τα περισσότερα μη παιγμένα", + "shortest": "Κοντινότερο πρώτα", + "longest": "Μεγαλύτερο πρώτα", + "recentlyListened": "Πρόσφατα άκουσα" + }, + "announce": { + "queued": "Το {title} προστέθηκε στην ουρά", + "queuedNext": "Το {title} θα παίξει το επόμενο", + "unqueued": "Το {title} αφαιρέθηκε από την ουρά", + "downloadReady": "Η λήψη του {title} ολοκληρώθηκε", + "downloadFailed": "Αποτυχία λήψης {title}", + "evictedSpace": "Η λήψη {title} αφαιρέθηκε σε δωρεάν χώρο αποθήκευσης", + "evictedPlayed": "Η λήψη {title} αφαιρέθηκε μετά την ακρόαση", + "sleepExpired": "Ο χρονοδιακόπτης ύπνου έληξε, παύση αναπαραγωγής", + "sleepExtended": "Χρονοδιακόπτης ύπνου επεκτάθηκε από {count} λεπτά", + "sleepChapterUnavailable": "Ακύρωση χρονοδιακόπτη ύπνου, αυτό το επεισόδιο δεν έχει κεφάλαια" + }, + "shortcuts": { + "title": "Συντομεύσεις πληκτρολογίου Podcast", + "description": "Αυτά λειτουργούν όσο φορτώνεται ένα επεισόδιο. Ο χώρος και τα πλήκτρα βέλους δρουν στη σελίδα του παίκτη ή του μίνι παίκτη, και οι σελιδοδείκτες μπορούν να προστεθούν μόνο από τη σελίδα του παίκτη.", + "open": "Συντομεύσεις πληκτρολογίου", + "togglePlayback": "Αναπαραγωγή ή παύση", + "skipBackward": "Παράλειψη πίσω", + "skipForward": "Παράλειψη εμπρός", + "next": "Επόμενο επεισόδιο", + "previous": "Προηγούμενο επεισόδιο", + "speedDown": "Μείωση ταχύτητας αναπαραγωγής", + "speedUp": "Αύξηση ταχύτητας αναπαραγωγής", + "mute": "Σίγαση ή κατάργηση σίγασης", + "volumeUp": "Αύξηση έντασης", + "volumeDown": "Μείωση έντασης", + "bookmark": "Προσθήκη σελιδοδείκτη", + "help": "Εμφάνιση αυτής της λίστας", + "spaceKey": "Κενό", + "groups": { + "playback": "Αναπαραγωγή", + "navigation": "Navigation", + "tools": "Εργαλεία" + } + }, + "playlists": { + "title": "Λίστες", + "builtInLabel": "Χτισμένο σε", + "savedLabel": "Αποθηκεύτηκε", + "choose": "Επιλέξτε μια λίστα αναπαραγωγής", + "search": "Αναζήτηση επεισοδίων λίστας αναπαραγωγής", + "summary": "Επεισόδια {count}, {duration}", + "summaryShortest": "Πιο Σύντομο", + "summaryLongest": "Μεγαλύτερο", + "summaryPublishedWithin": "Δημοσιεύθηκε εντός", + "create": "Νέα λίστα αναπαραγωγής", + "createTitle": "Νέα έξυπνη λίστα αναπαραγωγής", + "editTitle": "Επεξεργασία έξυπνης λίστας αναπαραγωγής", + "editorDescription": "Επιλέξτε ποια επεισόδια συλλέγει αυτή η έξυπνη λίστα αναπαραγωγής. Οι κανόνες επαναξιολογούνται κάθε φορά που την ανοίγετε, οπότε νέα επεισόδια εμφανίζονται αυτόματα.", + "edit": "Επεξεργασία κανόνων", + "adjustRules": "Προσαρμογή κανόνων", + "saveAs": "Αποθήκευση ως λίστα αναπαραγωγής", + "save": "Αποθήκευση λίστας αναπαραγωγής", + "delete": "Διαγραφή λίστας αναπαραγωγής", + "deleteConfirmTitle": "Διαγραφή αυτής της λίστας αναπαραγωγής;", + "deleteConfirmDescription": "\"{name}\" και οι κανόνες του θα αφαιρεθούν. Τα επεισόδια που συλλέγει δεν επηρεάζονται.", + "nameLabel": "Όνομα λίστας αναπαραγωγής", + "namePlaceholder": "Πρωινή κίνηση", + "filterLabel": "Επεισόδια", + "sortLabel": "Σειρά", + "minDuration": "Σύντομη (λεπτά)", + "maxDuration": "Μεγαλύτερη (λεπτά)", + "publishedWithin": "Δημοσιεύθηκε εντός (ημέρες)", + "showsLabel": "Δείχνει", + "showsDescription": "Αφήστε αυτό το κενό για να συμπεριλάβετε κάθε εμφάνιση στη βιβλιοθήκη.", + "searchShows": "Αναζήτηση δείχνει για προσθήκη", + "removeShow": "Αφαιρέστε το {title}", + "showLimit": "Μια λίστα αναπαραγωγής μπορεί να στοχεύσει μέχρι το {count} δείχνει.", + "copyOf": "Αντίγραφο {name}", + "empty": "Τίποτα δεν ταιριάζει ακόμα σε αυτήν τη λίστα", + "emptyDescription": "Ρυθμίστε τους κανόνες, ή να επανέλθει μόλις φτάσουν νέα επεισόδια.", + "builtIn": { + "quick": "Γρήγορη ακρόαση", + "continue": "Συνέχεια ακρόασης", + "downloaded": "Λήφθηκε", + "fresh": "Ανοίξτε αυτή την εβδομάδα" + }, + "nameRequired": "Ονομάστε τη λίστα αναπαραγωγής πριν την αποθηκεύσετε" + }, + "downloadWidget": { + "title": "Λήψεις", + "progress": "Έγινε λήψη του {completed} του {total}", + "progressWithFailures": "Ο {completed} {total} κατέβηκε. {failed} απέτυχε", + "progressWithCancelled": "Έγινε λήψη του {completed} του {total}. Το {cancelled} ακυρώθηκε", + "complete": "Ολοκληρώθηκαν οι λήψεις: {count}", + "expand": "Ανάπτυξη προόδου λήψης", + "collapse": "Σύμπτυξη προόδου λήψης", + "overallProgress": "Συνολική πρόοδος λήψης", + "unknownPodcast": "Podcast", + "unknownEpisode": "Επεισόδιο", + "batchProgress": "{completed} του {total} ολοκληρώθηκε", + "dismiss": "Απόρριψη προόδου λήψης", + "bytes": "{received} του {total}", + "episodeProgress": "Πρόοδος λήψης για {title}", + "status": { + "queued": "Σε Αναμονή", + "downloading": "Λήψη", + "completed": "Λήφθηκε", + "failed": "Απέτυχε", + "cancelled": "Ακυρώθηκε" + } + }, + "collections": { + "addAction": "Προσθήκη στη συλλογή", + "addTitle": "Προσθήκη στη συλλογή", + "addDescription": "Επιλέξτε μια συλλογή podcast για τον {title}.", + "added": "Προστέθηκε στο {name}", + "addFailed": "Δεν ήταν δυνατή η προσθήκη της εμφάνισης σε αυτήν τη συλλογή.", + "createFailed": "Δεν ήταν δυνατή η δημιουργία της συλλογής.", + "alreadyIn": "Ήδη σε αυτή τη συλλογή", + "none": "Καμία συλλογή podcast ακόμα. Δημιουργήστε μία παρακάτω.", + "newPlaceholder": "Sci-fi podcast", + "newLabel": "Νέο όνομα συλλογής", + "create": "Δημιουργία", + "newCollection": "Νέα συλλογή", + "existing": "Συλλογές", + "inCollection": "Σε αυτή τη συλλογή", + "showCount": "Το {count} δείχνει", + "removed": "Αφαιρέθηκε από το {name}", + "removeFailed": "Δεν ήταν δυνατή η αφαίρεση της εμφάνισης από αυτή τη συλλογή." + } + }, "titles": { "dashboard": "Ταμπλό", "libraries": "Βιβλιοθήκες", + "podcastLibraries": "Βιβλιοθήκες Podcast", + "podcastScope": "Έξυπνη Λίστα Αναπαραγωγής", + "podcastCollection": "Συλλογή Podcast", "opds": "OPDS", "koboSync": "Kobo Sync", "koreaderSync": "Συγχρονισμός KOReader", @@ -6960,6 +13819,9 @@ "collection": "Συλλογή", "author": "Συγγραφέας", "book": "Βιβλίο", + "podcasts": "Podcasts", + "podcast": "Podcast", + "podcastEpisode": "Επεισόδιο", "seriesItem": "Σειρά", "appearance": { "theme": "Εμφάνιση", @@ -6979,6 +13841,7 @@ }, "email": { "providers": "Πάροχοι", + "servers": "Διακομιστές αλληλογραφίας", "recipients": "Παραλήπτες", "groups": "Ομάδες", "templates": "Πρότυπα", @@ -6992,18 +13855,21 @@ "genre-blocklist": "Genre Blocklist", "score": "Βαθμολογία Εμπιστοσύνης", "auto-fetch": "Βιβλίο Αυτόματης Πρόσβασης", - "authors": "Auto-Fetch Συγγραφέα" + "authors": "Auto-Fetch Συγγραφέα", + "search-cache": "Αναζήτηση Προσωρινής Μνήμης" }, "admin": { "users": "Χρήστες", "account-activity": "Δραστηριότητα Λογαριασμού", "magic-links": "Magic Links", "oidc": "OIDC / SSO", - "server-fonts": "Γραμματοσειρές Διακομιστή" + "server-fonts": "Γραμματοσειρές Διακομιστή", + "tts": "Κείμενο- σε- ομιλία" }, "system": { "file-naming": "Ονομασία Αρχείου", "book-dock": "Βάση Βιβλίου", + "requests": "Αιτήματα", "maintenance": "Συντήρηση", "audit-log": "Αρχείο Ελέγχου" }, @@ -7014,6 +13880,179 @@ "restrictions": "Περιορισμοί Περιεχομένου" }, "smartScopes": "Έξυπνα Πεδία", - "collections": "Συλλογές" + "collections": "Συλλογές", + "missingResources": "Λείπουν Πόροι", + "bookRequests": "Αιτήματα", + "bookRequestDetail": "Αίτημα", + "bookRequestReleases": "Διαλέξτε μια έκδοση", + "tts": "Κείμενο- σε- ομιλία" + }, + "tts": { + "readerControls": { + "listen": "Ακρόαση", + "playing": "Αναπαραγωγή" + }, + "player": { + "fallbackTitle": "Αναπαραγωγή TTS", + "play": "Αναπαραγωγή TTS", + "pause": "Παύση TTS", + "openMiniPlayer": "Άνοιγμα μίνι προγράμματος αναπαραγωγής", + "shrinkPlayer": "Σμίκρυνση παίκτη", + "expandPlayer": "Ανάπτυξη παίκτη", + "collapsePlayer": "Σύμπτυξη παίκτη", + "openDetails": "Άνοιγμα λεπτομερειών παίκτη", + "previousSentence": "Προηγούμενη πρόταση", + "nextSentence": "Επόμενη πρόταση", + "meta": "Ch {chapter} - Sent {sentence} - {voice} - {speed}x", + "metaWithoutVoice": "Ch {chapter} - Στάλθηκε {sentence} - {speed}x", + "position": "Κεφάλαιο {chapter} - Πρόταση {sentence}", + "playbackError": "Σφάλμα αναπαραγωγής - πατήστε αναπαραγωγή για να προσπαθήσετε ξανά", + "voice": "Φωνή", + "sleep": "Αναστολή", + "sleepRemaining": "{count}m", + "currentVoice": "Τρέχουσα Φωνή", + "chooseVoice": "Επιλογή φωνής", + "saveForBook": "Αποθήκευση για αυτό το βιβλίο", + "setAsDefault": "Ορισμός ως καθολικό προκαθορισμένο", + "bookVoiceSaved": "Η φωνή αποθηκεύτηκε για αυτό το βιβλίο", + "bookVoiceSaveFailed": "Αποτυχία αποθήκευσης φωνής στο βιβλίο", + "defaultVoiceSaved": "Η προεπιλεγμένη φωνή TTS ενημερώθηκε", + "defaultVoiceSaveFailed": "Αποτυχία ενημέρωσης προεπιλεγμένης φωνής", + "stop": "Διακοπή" + }, + "speed": { + "label": "Ταχύτητα αναπαραγωγής", + "value": "{speed}x" + }, + "sleepTimer": { + "title": "Χρονόμετρο Ύπνου", + "preset": "{count}m", + "presetLabel": "Σταματήστε την αναπαραγωγή μετά από {count} λεπτά", + "cancel": "Ακύρωση", + "cancelLabel": "Ακύρωση χρονομέτρου ύπνου", + "remaining": "Διακοπές στο {minutes}m {seconds}δ" + }, + "resume": { + "title": "Συνέχιση του TTS;", + "description": "Έχετε μια αποθηκευμένη θέση TTS", + "descriptionWithChapter": "Έχετε μια αποθηκευμένη θέση TTS (Κεφάλαιο {chapter})", + "resume": "Συνέχιση", + "startHere": "Εκκίνηση αυτής της σελίδας", + "dismiss": "Απόρριψη", + "clearing": "Εκκαθάριση...", + "confirmClear": "Επιβεβαίωση καθαρισμού", + "clearSavedPosition": "Εκκαθάριση αποθηκευμένης θέσης" + }, + "voicePicker": { + "search": "Αναζήτηση φωνών...", + "allProviders": "Όλα", + "allLanguages": "Όλες οι γλώσσες", + "allCountries": "Όλες οι χώρες", + "filterByLanguage": "Φιλτράρισμα ανά γλώσσα", + "filterByCountry": "Φιλτράρισμα ανά χώρα", + "empty": "Δεν βρέθηκαν φωνές", + "select": "Επιλέξτε {name}", + "preview": "Προεπισκόπηση {name}", + "voiceWithLocale": "{voice} - {locale}" + }, + "settings": { + "description": "Ρυθμίστε τις προεπιλεγμένες ρυθμίσεις φωνής TTS και αναπαραγωγής.", + "defaultVoice": "Προεπιλεγμένη Φωνή", + "selectVoice": "Επιλογή φωνής...", + "change": "Αλλαγή", + "defaultSpeed": "Προεπιλεγμένη Ταχύτητα", + "saved": "Οι προτιμήσεις TTS αποθηκεύτηκαν", + "saveFailed": "Αποτυχία αποθήκευσης προτιμήσεων TTS" + }, + "errors": { + "generic": "Σφάλμα TTS" + } + }, + "delivery": { + "readAloud": { + "label": "Read-aloud παράδοση EPUB", + "automatic": "Αυτόματο: προτιμούν κείμενο μόνο, επιτρέπουν την αρχική fallback.", + "textOnly": "EPUB Μόνο για Κείμενο", + "original": "Πρωτότυπο EPUB με αφήγηση", + "hint": "Ισχύει για μελλοντικές παραδόσεις. Τα αρχικά διατηρούν την υπάρχουσα αφήγηση και μπορεί να είναι πολύ μεγαλύτερα. Η προετοιμασία μόνο για κείμενο αποτυγχάνει αν δεν μπορεί να γίνει ασφαλές αντίγραφο.", + "koboHint": "Το μητρικό λογισμικό Kobo δεν μπορεί να παίξει αφήγηση, και η ακριβής θέση και ο συγχρονισμός επισήμανσης δεν είναι διαθέσιμοι για αυτό το αντίγραφο.", + "profileHint": "Χρησιμοποιήστε ξεχωριστά προφίλ OPDS για αναγνώστες που χρειάζονται διαφορετικές παραλλαγές EPUB.", + "replacementTitle": "Αντικατάσταση ενός αντιγράφου Kobo", + "bookId": "Αναγνωριστικό Βιβλίου", + "device": "Συσκευή", + "prepare": "Προετοιμασία αντικατάστασης", + "offer": "Αφαίρεσα μόνο το αντίγραφο συσκευής; προσφέρω την αντικατάσταση", + "confirm": "Έχω εγκαταστήσει την αντικατάσταση", + "cancel": "Ακύρωση αντικατάστασης", + "replacementHint": "Προετοιμάστε και αναθεωρήστε πρώτα. Η αφαίρεση ενός αντιγράφου συσκευής δεν διαγράφει το βιβλίο βιβλιοθήκης. Δημιουργήστε αντίγραφο ασφαλείας της συσκευής-τοπικές σημειώσεις μόνοι σας. Το BookOrbit διατηρεί την κανονική πρόοδο και τους σχολιασμούς του διακομιστή. Τα καθυστερημένα συμβάντα μπορούν να περιορίσουν τον ακριβή συγχρονισμό.", + "prepared": "Έτοιμη αντικατάσταση: {format}, {size}. Αφαιρέστε αυτό το βιβλίο μόνο από την επιλεγμένη συσκευή και, στη συνέχεια, προσφέρετε την έτοιμη αντικατάσταση και συγχρονίστε.", + "offered": "Προσφερόμενη αντικατάσταση. Συγχρονισμός και λήψη στη συσκευή και έπειτα επιβεβαίωση εγκατάστασης. Μια ολοκληρωμένη μεταφορά HTTP δεν αποδεικνύει την εγκατάσταση.", + "cancelled": "Η αντικατάσταση ακυρώθηκε. Η ακύρωση δεν επαναφέρει ένα αντίγραφο συσκευής που αφαιρέθηκε ή αντικαταστάθηκε μερικά. Επιλέξτε το ίδιο βιβλίο για να προετοιμάσετε μια λήψη ανάκτησης.", + "alreadyOnDevice": "Η συσκευή έχει ήδη αυτό το ακριβές αντίγραφο, οπότε δεν υπάρχει τίποτα για αντικατάσταση.", + "failed": "Αδυναμία προετοιμασίας ή ενημέρωσης αυτής της αντικατάστασης.", + "searchBook": "Αναζήτηση για ένα βιβλίο", + "chooseBook": "Επιλέξτε ένα βιβλίο", + "moreResults": "Εμφάνιση περισσότερων βιβλίων", + "noResults": "Δεν βρέθηκαν βιβλία που να ταιριάζουν.", + "refresh": "Ανανέωση κατάστασης παράδοσης", + "confirmed": "Επιβεβαιώσατε την εγκατάσταση. Αυτό καταγράφει την επιβεβαίωσή σας, όχι την επαλήθευση της συσκευής.", + "transferred": "Η μεταφορά ολοκληρώθηκε. Ανοίξτε την αντικατάσταση στη συσκευή πριν επιβεβαιώσετε την εγκατάσταση.", + "koreaderDefaultTitle": "Παράδοση του KOReader EPUB", + "koreaderDefaultHint": "Το προκαθορισμένο ισχύει για μελλοντικές λήψεις σε συσκευές που χρησιμοποιούν αυτά τα διαπιστευτήρια. Οι ρυθμίσεις συσκευής μπορούν να το παρακάμψουν. Τα υπάρχοντα αντίγραφα και οι διακοπτόμενες λήψεις παραμένουν αμετάβλητα. Διατηρεί αυτόματα τις υπάρχουσες επιλογές συσκευών.", + "koreaderUseDefault": "Χρήση προεπιλογής διαπιστευτηρίων", + "koreaderSaveFailed": "Δεν ήταν δυνατή η αποθήκευση της ρύθμισης παράδοσης EPUB του KOReader. Δοκιμάστε ξανά.", + "koreaderSaved": "Η ρύθμιση παράδοσης του KOReader EPUB αποθηκεύτηκε." + } + }, + "commandPalette": { + "title": "Αναζήτηση", + "description": "Αναζήτηση βιβλίων, συγγραφέων, σειρών και ρυθμίσεων, μεταβείτε σε έναν τόπο ή εκτελέστε μια ενέργεια.", + "placeholder": "Αναζητήστε βιβλία, συγγραφείς, σειρές ή μεταβείτε στο…", + "close": "Κλείσιμο αναζήτησης", + "clear": "Εκκαθάριση αναζήτησης", + "tabs": { + "all": "Όλα", + "books": "Βιβλία", + "authors": "Συντάκτες", + "series": "Σειρά", + "settings": "Ρυθμίσεις" + }, + "sections": { + "continueReading": "Συνέχεια Ανάγνωσης", + "goTo": "Μετάβαση σε", + "actions": "Ενέργειες", + "books": "Βιβλία", + "authors": "Συντάκτες", + "series": "Σειρά", + "settings": "Ρυθμίσεις" + }, + "kinds": { + "author": "Συγγραφέας", + "series": "Σειρά", + "library": "Βιβλιοθήκη", + "smartScope": "Έξυπνο πεδίο εφαρμογής", + "collection": "Συλλογή", + "page": "Σελίδα", + "setting": "Ρύθμιση" + }, + "showAllBooks": "{count, plural, one {Εμφάνιση # βιβλίου} other {Δείξε όλα τα # βιβλία}}", + "showAllAuthors": "{count, plural, one {Εμφάνιση # συγγραφέα} other {Δείξε όλους τους # συγγραφείς}}", + "showAllSeries": "{count, plural, one {Εμφάνιση # σειράς} other {Δείξε όλα τα # της σειράς}}", + "showAllSettings": "{count, plural, one {Δείξε # τη ρύθμιση} other {Δείξε όλες τις # ρυθμίσεις}}", + "actions": { + "lightTheme": "Εναλλαγή σε φωτεινό θέμα", + "darkTheme": "Εναλλαγή σε σκοτεινό θέμα" + }, + "hints": { + "navigate": "Navigate", + "open": "Άνοιγμα", + "filter": "Φίλτρο", + "close": "Κλείσιμο" + }, + "keys": { + "escape": "esc", + "tab": "tab" + }, + "resultCount": "{count, plural, =0 {Κανένα αποτέλεσμα} one {# αποτέλεσμα} other {# αποτελέσματα}}" } } diff --git a/client/src/locales/fi.json b/client/src/locales/fi.json index ba79efa2e..fc5630e60 100644 --- a/client/src/locales/fi.json +++ b/client/src/locales/fi.json @@ -14,7 +14,17 @@ "previous": "Edellinen", "retry": "Yritä Uudelleen", "yes": "Kyllä", - "no": "Ei" + "no": "Ei", + "show": "Näytä", + "hide": "Piilota", + "undo": "Kumoa", + "pagination": { + "label": "Sivutus", + "pageOf": "Sivu {page} jostakin {totalPages}", + "previousPage": "Edellinen sivu", + "nextPage": "Seuraava sivu", + "goToPage": "Siirry sivulle {page}" + } }, "settings": { "privacySharing": { @@ -89,6 +99,7 @@ }, "pageTitle": "Näyttö", "pageSubtitle": "Hallitse teemoja, kansia, ulkoasua ja miten kirjastosi esitetään.", + "mobileSummary": "Teema: {theme} • Voimakkuus: {accent} • Tausta: {background}", "themeMode": { "light": "Vaalea", "dark": "Tumma", @@ -96,10 +107,52 @@ }, "theme": { "title": "Teema", + "style": { + "label": "Tyyli", + "hint": "Sovelluksen yleinen ulkoasu. Tila, aksentti, kulmat ja tausta pitävät niiden asetukset.", + "bookorbit": { + "label": "Kirjankierto", + "description": "Tiivistetyt pinnat, lasiset paneelit ja sarjanumerot." + }, + "nostalgia": { + "label": "Nostalgia", + "description": "Neutraalit maastot, järjestelmätyypit, litteät paneelit ja ylhäältä hehkun." + } + }, "colorScheme": { "label": "Väriteema", "hint": "Vaalea tai tumma käyttöliittymä" }, + "surfacePalette": { + "label": "Pinta", + "hint": "Paneelien ja korttien takana oleva neutraali maa.", + "palettes": { + "onyx": "Onyx", + "carbon": "Hiili", + "neutral": "Neutraali", + "zinc": "Sinkki", + "iron": "Rauta", + "steel": "Teräs", + "ash": "Tuhka", + "smoke": "Savu", + "charcoal": "Puuhiili", + "slate": "Liuskekivi", + "midnight-blue": "Keskiyön sininen", + "ocean": "Meri", + "pine": "Mänty", + "olive": "Oliivit", + "stone": "Kivi", + "sepia": "Sepia", + "crimson": "Rikos", + "plum": "Luumu" + } + }, + "topGlow": { + "label": "Ylhäällä hehku", + "hint": "Kuinka kauas aksentti hehku nousee alas sivun. Liu'uta kaikki vasen tie sammuttaaksesi sen.", + "value": "{value}%", + "off": "Pois" + }, "accents": { "grey": "Harmaa", "scarlet": "Scarlet", @@ -167,11 +220,18 @@ "blush": "Punastuminen" }, "accentColor": { - "label": "Korostuksen väri" + "label": "Korostuksen väri", + "hint": "Ohjaus kohokohtia ja interaktiivisia elementtejä" }, "cornerRadius": { "label": "Corner radius", - "hint": "Korttien ja käyttöliittymän elementtien tarkkuus" + "hint": "Korttien ja käyttöliittymän elementtien tarkkuus", + "options": { + "sharp": "Terävä", + "default": "Oletus", + "rounded": "Pyöristetty", + "pill": "Pill" + } }, "surfaceBrightness": { "label": "Pinnan kirkkaus", @@ -190,7 +250,8 @@ "structural": "Rakenne", "ambient": "Ympäristö", "refractive": "Murtuva" - } + }, + "syncSaveFailed": "Teeman asetusten tallentaminen epäonnistui" }, "storage": { "title": "Mistä ulkoasun asetukset tallennetaan", @@ -216,6 +277,27 @@ }, "bookCovers": { "title": "Kirja Kansit", + "coverSearch": { + "label": "Oletus kansihaku tarjoaja", + "hint": "Valitse lähde valittuna, kun Etsi kansi avautuu verkossa. Tallennettu tilillesi, joten se pätee jokaiseen laitteeseen.", + "loadError": "Ei voitu ladata kansien oletushakutarjoajaa", + "saveError": "Suojauksen oletushakupalvelun tallennus epäonnistui" + }, + "placeholderStyle": { + "title": "Paikkamerkin tyyli", + "hint": "Tyyliin piirretään kirjoja, joissa ei ole kansitaidetta.", + "options": { + "bauhaus": "Bauhaus", + "constructivist": "Rakentaja", + "memphis": "Memphis", + "clothbound": "Kangassidonta", + "poster": "Juliste", + "aurora": "Aurora", + "vista": "Vista", + "marbled": "Marmoroitu", + "paperback": "Paperi" + } + }, "displayMode": { "title": "Kansikuva näytön tila", "hint": "Määrittää kuinka todellinen kattaa mahtuu sisällä kirjan lähtö kun kuvasuhteet eroavat", @@ -252,6 +334,22 @@ "label": "Näytä selkäranka sarjakuvissa", "hint": "Levitä selkäranka ja kiilto vaikutus sarjakuvaan (cbz, cbr, cb7)" }, + "detailCoverTint": { + "title": "Kirjan tiedot kansi sävy", + "hint": "Fades väri, josta on otettu näytteet taideteoksen takana olevasta kannesta ja kirjan yksityiskohtien otsikko", + "off": { + "label": "Pois", + "hint": "Tavallisen kortin tausta" + }, + "single": { + "label": "Yksi väri", + "hint": "Kanteen hallitseva väri vain" + }, + "duotone": { + "label": "Kaksi väriä", + "hint": "Lisää kannen aksentti väri kun se on erillinen" + } + }, "shadow": { "title": "Peitä varjon voimakkuus", "hint": "Säätimet syvyys kattaa koko ruudun, luettelon, taulukon ja kojelaudan pikkukuvat", @@ -394,6 +492,11 @@ "collapseSeries": { "label": "Pienennä sarja oletuksena", "hint": "Ryhmittele samassa sarjassa kirjoja yhdeksi kortiksi kirjastossa ja kokoelmien näkymissä" + }, + "bookRequests": { + "label": "Näytä Kirjan Pyynnöt", + "hint": "Näytä pyyntösivut, kehotukset ja asetukset tällä tilillä. Olemassa olevat pyynnöt pysyvät käynnissä, kun ne ovat piilossa.", + "saveFailed": "Kirjanpyyntöjen näkyvyyttä ei voitu päivittää" } }, "icons": { @@ -430,7 +533,8 @@ "saved": "Kuvake tallennettu", "updated": "Kuvake päivitetty", "deleted": "Kuvake poistettu", - "bulkDeleted": "{count, plural, =0 {ei poistanut kuvakkeita} one {Poistettu # kuvake} other {Poistettu # kuvakkeita}}" + "bulkDeleted": "{count, plural, =0 {ei poistanut kuvakkeita} one {Poistettu # kuvake} other {Poistettu # kuvakkeita}}", + "bulkDeletePartial": "Poistettu {deleted}, {failed} epäonnistui" }, "errors": { "load": "Kuvakkeiden lataaminen epäonnistui", @@ -445,7 +549,8 @@ "book-covers": "Kirja Kansit", "icons": "Kuvakkeet", "layout": "Asettelu", - "behavior": "Käyttäytyminen" + "behavior": "Käyttäytyminen", + "language": "Kieli" } }, "account": { @@ -591,6 +696,7 @@ "noExpiry": "Ei vanhentunut", "expired": "Vanhentunut", "expiresOn": "Vanhenee {date}", + "revokedOn": "Revoked {date}", "expiredOn": "Vanhentunut {date}", "usesCount": "{count, plural, =0 {ei käytä} one {yksi käyttää} other {# käyttää}}", "copied": "Kopioitu!", @@ -641,7 +747,8 @@ "copyLinkAria": "Kopioi linkki kohteelle {label}", "pauseAria": "Keskeytä {label}", "resumeAria": "Jatka {label}", - "revokeAria": "Revoke {label}" + "revokeAria": "Revoke {label}", + "lastUsedLabel": "Viimeksi käytetty {date}" }, "oidc": { "title": "OIDC / SSO", @@ -665,11 +772,13 @@ "slug": "Slug", "slugHint": "Yksilöllinen tunniste (pienet kirjaimet, väliviivat). Myöhemmin ei voi muuttaa.", "displayName": "Näytön Nimi", + "displayNameHint": "Näytetään kirjautumispainikkeessa.", "iconUrl": "Kuvakkeen URL", "iconUrlHint": "Valinnainen logo näytetään kirjautumispainikkeen vieressä.", "iconPreviewAlt": "kuvakkeen esikatselu", "connection": "Yhteys", "issuerUri": "Myöntäjän URI", + "issuerUriHint": "Palveluntarjoajan perusosoite", "test": "Testi", "testing": "Testataan...", "clientId": "Asiakkaan Tunnus", @@ -701,6 +810,8 @@ "test": { "connected": "Yhdistetty - {issuer}", "connectionFailed": "Yhteys epäonnistui", + "privateIssuerAddress": "Liikkeeseenlaskijan URL ratkaisee yksityisen tai paikallisen verkkoosoitteen, joten palvelin kieltäytyi yhdistämästä. Aseta OIDC_ALLOW_LOCAL_ISSUERS=true on BookOrbit palvelimella, jotta se sallitaan.", + "tlsCertificateUntrusted": "BookOrbit ei pystynyt todentamaan OIDC tarjoajan TLS sertifikaattia. Jos tarjoaja käyttää yksityistä varmenneviranomaista, kiinnitä sen PEM CA nippu, aseta NODE_EXTRA_CA_CERTS pakettiin astiansisäiselle polulle ja käynnistä BookOrbit uudelleen.", "hide": "Piilota", "details": "Yksityiskohdat", "supported": "tuettu", @@ -708,6 +819,7 @@ }, "groupMappings": { "title": "Ryhmän Kartoitukset", + "description": "Kartta OIDC ryhmä väittää BookOrbit oikeudet. Synkronoitu joka kirjautuminen.", "noPermission": "Ei oikeuksia", "empty": "Ryhmämäärityksiä ei ole määritetty.", "addMapping": "Lisää kartoitus", @@ -749,12 +861,18 @@ "recommendationsGroup": "Suositukset", "achievementsGroup": "Saavutukset", "updatesGroup": "Päivitykset", + "importFromBooklore": "Tuo Bookloresta", "bookloreImportConfigured": "Bookloren tuonti määritetty", + "importLibraryData": "Tuo kirjaston tiedot", + "migrationConfigured": "Siirtolähde määritetty", "migrationRunning": "Siirtolaisuus käynnissä", "migrationCompleted": "Muuttoliike valmis", "migrationFailed": "Siirto epäonnistui", "importDescription": "Kertaluonteinen tuonti kirjoja, metadataa ja lukeminen edistymistä edellisen Booklore asennus.", + "migrationDescription": "Yhden kerran tuonti kirjoja, metadataa ja lukeminen edistymistä toisesta kirjastosovellus.", "configuredDescription": "Lähde: {name}. Ei siirtolaisuutta vielä - jatka tuonnin käynnistämistä.", + "runningDescription": "Vaihe: {stage} - aloitettu {started}", + "completedDescription": "Alkaen {name} - valmis {date}", "migrationErrorGeneric": "Siirron aikana tapahtui virhe.", "stageInitializing": "alustetaan", "recently": "äskettäin", @@ -768,6 +886,7 @@ "running": "Käynnissä...", "backfillAchievements": "Backfill saavutukset", "backfillAchievementsHint": "Arvioi saavutukset uudelleen kaikkien käyttäjien kesken.", + "backfillResult": "Käsitelty {users} käyttäjät; myönnetty {awards} palkinnot.", "runBackfill": "Suorita Backfill", "checkForUpdates": "Tarkista päivitykset", "checkForUpdatesHint": "Tarkista GitHub automaattisesti uuden version käynnistyksen yhteydessä ja näytä ilmaisin sivupalkissa, kun sellainen on saatavilla.", @@ -792,6 +911,7 @@ "migration": { "title": "Muuttoliike", "subtitle": "Kertaluonteinen Bookloren tuonti: yhdistä lähde, karttakäyttäjät, juokse, aloita muutto, ja vie raportti.", + "genericSubtitle": "Kertaluonteinen kirjaston tuonti: yhdistä lähde, karttakäyttäjä, aja kuivaa ajoa, aloita muuttoliike ja vie raportti.", "progress": "Edistyminen", "stepSourceConnection": "Lähteen Yhteys", "stepUserPathMapping": "Käyttäjän & Polun Yhdistäminen", @@ -801,6 +921,7 @@ "stepReport": "Raportoi", "stepReportTitle": "Muuttoliikettä Koskeva Raportti", "subtitleSource": "Määritä tietokannan yhteys lähdekoodiisi Booklore instanssiin.", + "genericSubtitleSource": "Määritä yhteys lähdekirjastosovellukseen.", "subtitleMappings": "Kartta lähteen käyttäjät kohdistaa käyttäjiä ja kääntää tiedostopolkuja.", "subtitleDryRun": "Esikatsele mitä tuodaan ennen elävän muuttoliikkeen suorittamista.", "subtitleRun": "Aloita live-tuonti ja seuraa sen edistymistä.", @@ -817,6 +938,7 @@ "badgeFailed": "Epäonnistui", "mediaPathRequired": "Vaaditaan kirjasivujen siirtämiseen.", "mediaPathAbsolute": "Käytä absoluuttista polkua (esimerkiksi /books). Suhteellisia polkuja ei tueta.", + "mediaPathConfigured": "Kansikuvien tuontipolku asetettu. Käytä Test Connectionia tarkistaaksesi käyttöoikeudet ja Booklore kuvien rakenteen", "issueSaveSource": "Tallenna lähdeyhteysasetukset", "issueValidateSource": "Vahvista lähdeyhteys", "issueSaveMappings": "Tallenna käyttäjän ja polun sidokset", @@ -825,6 +947,7 @@ "issueResolveDuplicates": "Ratkaise kaksoiskappaleet kohdekirjasta löydettävissä kuivan ajon aikana", "issueWaitActiveRun": "Odota aktiivista suoritusta lopettaaksesi", "sourceRecordId": "Lähdetietueen ID #{id}", + "byAuthorWithId": "mennessä {author} (ID: {id})", "filePathWithId": "{path} (ID: {id})", "bookloreSourceId": "Booklore source ID: {id}", "libraryBookNum": "Kirjaston kirja #{id}", @@ -837,7 +960,9 @@ "errorLoadSuggestions": "Käyttäjän kartoitusehdotuksia ei voitu ladata", "requiredFields": "Isäntän, käyttäjän, tietokannan ja lähdekoodin nimi vaaditaan", "connectionTestPassedWithWarnings": "Yhteyden testi läpäisi varoitukset", + "connectionTestPassedWithCount": "Yhteyden testi suoritettu {count} varoitus tai varoitukset: {first}", "connectionTestPassed": "Yhteyden testi ohitettu", + "connectionOkMissingTables": "Yhteys ok, mutta {count} vaadittu taulukko puuttuu", "cannotTestMediaPathActiveRun": "Mediareittiä ei voi testata, kun suoritus on aktiivinen", "mediaRootPathRequiredCover": "Media Root polkua tarvitaan kansi tuontiin.", "useAbsolutePath": "Käytä absoluuttista polkua (esimerkiksi /books).", @@ -846,6 +971,7 @@ "mediaPathValidationFailed": "Mediapolun vahvistus epäonnistui.", "connectionFailedBeforeMediaPath": "Yhteystesti epäonnistui ennen kuin mediapolun vahvistus voidaan suorittaa.", "cannotModifySourceActiveRun": "Lähdekoodia ei voi muokata, kun suoritus on aktiivinen", + "sourceSavedValidatedWarnings": "Lähde tallennettu ja vahvistettu {count} varoitus", "sourceSavedValidated": "Lähde tallennettu ja vahvistettu", "errorSaveValidateSource": "Lähdekoodin tallennus tai validointi epäonnistui", "cannotSaveMappingsActiveRun": "Yhdistämisiä ei voi tallentaa kun suoritus on aktiivinen", @@ -857,6 +983,7 @@ "errorSaveMappings": "Yhdistämisten tallennus epäonnistui", "cannotRunDryRunActiveRun": "Ei voida suorittaa kuivaajaa kun suoritus on aktiivinen", "saveMappingsFirst": "Tallenna kartoitukset ensin", + "dryRunCompleted": "Juoksu suoritettu: {matched} sovitettu, {unresolved} ratkaisemattomat", "dryRunFailed": "Dry-run epäonnistui", "selectSourceForAllGroups": "Valitse lähdekirja kaikille {count} kaksoisryhmälle", "duplicatesResolved": "Kaksoiskappaleet ratkaistut", @@ -879,17 +1006,21 @@ "reasonNoFilePathMatch": "Tiedostopolku ei vastannut yhtään kirjaa tässä kirjastossa", "reasonNoFileHashMatch": "Tiedostojen hash ei vastannut yhtään kirjaa tässä kirjastossa", "reasonNoIsbnMatch": "ISBN ei vastannut yhtään kirjaa tässä kirjastossa", + "reasonNoAsinMatch": "ASIN ei vastannut yhtään kirjaa tässä kirjastossa", "reasonInsufficientSourceData": "Ei tarpeeksi metadataa täsmäämistä varten", "reasonAmbiguousIsbnMatch": "Useita kirjoja vastasi sama ISBN", + "reasonAmbiguousAsinMatch": "Useita kirjoja vastasi sama ASIN", "reasonAmbiguousFileHashMatch": "Useita kirjoja vastasi samaa tiedostotiivistettä", "reasonAmbiguousFilePathMatch": "Useita kirjoja vastasi samaa tiedostopolkua", "reasonAmbiguousTitleAuthorMatch": "Useita kirjoja vastasi sama otsikko ja tekijä", "reasonUnknown": "Syytä ei voitu määrittää", "strategyIsbn": "ISBN vastaa", + "strategyAsin": "Täsmennetty ASIN", "strategyFileHash": "Täsmätty tiedoston tiivisteeseen", "strategyPathMapping": "Yhdistetty yhdistettyyn tiedostopolkuun", "strategyTitleAuthor": "Täsmätty otsikon ja tekijän mukaan", "strategyUnavailable": "Match strategia ei käytettävissä", + "userPreviewCounts": "{statuses} tilat, {progress} edistymisen merkinnät, {bookmarks} kirjanmerkit {annotations} huomautukset, {collections} kokoelman merkinnät", "connErrorUnreachable": "Ei saatu yhteyttä tietokantapalvelimeen. Tarkista isäntä ja portti.", "connErrorAuth": "Todennus epäonnistui. Tarkista käyttäjätunnus ja salasana.", "connErrorUnknownDatabase": "Tietokantaa ei löytynyt. Tarkista tietokannan nimi.", @@ -920,6 +1051,7 @@ "refresh": "Päivitä", "sourceUser": "Lähteen Käyttäjä", "targetUser": "Kohde Käyttäjä", + "doNotImport": "Älä tuo tätä käyttäjää", "noSourceUsersLoaded": "Yhtään lähdettä käyttäjää ei ole vielä ladattu.", "noActiveTargetUsers": "Aktiivisia kohderyhmiä ei löytynyt. Luo tai ota BookOrbit käyttäjä uudelleen käyttöön ennen liittämistä.", "pathPrefixMappings": "Polun Etuliite", @@ -932,7 +1064,9 @@ "selectTargetFolder": "Select target folder...", "remove": "Poista", "pathValidation": "Reitin vahvistus", + "pathValidationMapped": "{mapped} jostakin {total} lähdekirjoissa on yhdistetty polku", "pathValidationUnmatched": "{count} yhdistettyä polkua ei löydy levyltä - nuo kirjat palaavat ISBN / otsikon täsmäytykseen", + "pathValidationAllMatched": "Kaikki {count} kartoitetut polut löytyvät levyltä", "saveMappings": "Tallenna Kartoitukset", "runDryRun": "Suorita Dry-Run", "matched": "Osumat:", @@ -1003,9 +1137,11 @@ "matchedBooksHint": "Näitä kuivausjuoksupisteitä käytettiin päättämään mitkä kirjaston kirjat vastaanottivat tuotuja tietoja.", "sourceBookFallback": "Lähdekirja {id}", "libraryBookFallback": "Kirjaston kirja {id}", + "unresolvedBooksHeading": "Ratkaisemattomat kirjat ({count})", "unresolvedBooksHint": "Nämä kirjat ovat olemassa lähteessä, mutta niitä ei voitu sovittaa mihinkään kirjaan kirjastostasi.", "mappedUsersHeading": "Kartoitetut käyttäjät ({count})", "mappedUsersHint": "Käyttäjän yhteenlasketut määrät tulevat kuivakäyttöisestä esikatselusta, joka välimuistissa siirtymissuunnitelmassa.", + "coverImportsFailed": "{count} kansi tuonti epäonnistui. Yksityiskohtaisia epäonnistumisrivejä ei ole tallennettu.", "backToSetup": "Takaisin asetuksiin" }, "libraries": { @@ -1020,6 +1156,7 @@ "syncMetadataToFiles": "Synkronoi metatiedot tiedostoihin", "deleteLibrary": "Poista kirjasto", "bookCount": "{count, plural, =0 {ei kirjoja} one {# kirja} other {# kirjoja}}", + "booksUnit": "{count, plural, one {kirja} other {kirjoja}}", "folderCount": "{count, plural, =0 {ei kansioita} one {# kansio} other {# kansioita}}", "fileMode": "Tiedoston tila", "folderMode": "Kansion tila", @@ -1046,7 +1183,163 @@ "libraryUpdated": "Kirjasto \"{name}\" päivitetty", "libraryDeleted": "\"{name}\" poistettu", "deleteFailed": "Kirjaston poisto epäonnistui", - "coversRefreshed": "Kattaa päivitetyt ({count} käsitelty)" + "refreshingCovers": "Päivitetään kannet {pct}% ({processed}/{total})", + "coversRefreshed": "Kattaa päivitetyt ({count} käsitelty)", + "onDiskUnit": "{size} levyllä", + "noFilesIndexed": "Ei indeksoituja tiedostoja", + "formatEntry": "{format} {count}", + "formatOverflow": "{count, plural, one {+# lisää formaattia} other {+# lisää formaatteja}}", + "extraFolders": "{count, plural, one {+# kansio} other {+# kansioita}}", + "openLibrary": "Avaa {name}", + "moreActions": "Lisää toimintoja {name}", + "statsFailed": "Kirjastoja ei voitu ladata. Kaikki muu tällä sivulla toimii edelleen.", + "filterLabel": "Suodata kirjastot", + "filterPlaceholder": "Suodata nimen tai polun mukaan", + "filterClear": "Tyhjennä suodatin", + "sortLabel": "Järjestä", + "noMatchesTitle": "Suodatinta ei vastaa kirjastoja", + "noMatchesHint": "Mikään ei täsmää \"{query}\" nimen tai kansion polun mukaan.", + "totalLibraries": "{count, plural, one {# kirjasto} other {# kirjastoa}}", + "neverScanned": "Ei koskaan skannattu", + "neverScannedHint": "Suorita skannaus hakemistojen indeksoimiseksi", + "scanFailedAt": "Epäonnistui {time}", + "scanningPercent": "Tutkitaan {pct}%", + "scanCounting": "Lasketaan tiedostoja", + "scanCounts": "{processed} jostakin {total}", + "scanAdded": "{count, plural, one {+# lisätty} other {+# lisätty}}", + "scanUpdated": "{count, plural, one {# päivitetty} other {# päivitetty}}", + "scanMissing": "{count, plural, one {# puuttuu} other {# puuttuu}}", + "scanNoChange": "ei muutosta", + "outcomeSeparator": ", ", + "scanOutcome": "{trigger} · {outcome}", + "syncConfirmBody": "Tämä korvaa metatiedot jokaisen tuetun tiedoston {name} suoraan levyltä. Tätä ei voi perua.", + "columns": { + "library": "Kirjasto", + "contents": "Sisältö", + "onDisk": "Levyllä", + "automation": "Automaatio", + "lastScan": "Viimeinen skannaus", + "actions": "Toiminnot" + }, + "sort": { + "default": "Oletus tilaus", + "name": "Nimi", + "books": "Kirjat", + "size": "Koko levyllä", + "lastScan": "Viimeinen skannaus", + "sidebar": "Sidebar order" + }, + "trigger": { + "manual": "Manuaalinen", + "watcher": "Tarkkailija", + "schedule": "Aikataulu" + }, + "capability": { + "watch": "Tarkkaile kansioita", + "schedule": "Ajastettu skannaus", + "fileWrite": "Kirjoita tiedostoon", + "fileRename": "Nimeä tiedostot uudelleen", + "on": "{name}: päällä", + "off": "{name}: pois", + "legendHint": "Katkaistu tarkoittaa pois päältä" + }, + "stateOn": "Päällä", + "stateOff": "Pois", + "toggleDetail": "Näytä tiedot kohteelle {name}", + "durationMs": "{ms} ms", + "durationSeconds": "{seconds}s", + "durationMinutes": "{minutes}m {seconds}s", + "history": { + "when": "Milloin", + "trigger": "Käynnistin", + "duration": "Kesto", + "result": "Tulos", + "status": "Tila", + "statusValue": { + "running": "Käynnissä", + "completed": "Valmis", + "failed": "Epäonnistui" + } + }, + "detail": { + "foldersTitle": "Kansioiden asettelu", + "metadataTitle": "Metatiedot ja lukeminen", + "accessTitle": "Pääsy", + "historyTitle": "Skannaa historia", + "path": "Polku {index}", + "organization": "Organisaatio", + "excludePatterns": "Jätä pois kuviot", + "precedence": "Lähteen etusija", + "allowedFormats": "Sallitut muodot", + "countsAsStarted": "Lukumäärät aloitettuina", + "countsAsFinished": "Lukumäärät valmiina", + "peopleWithAccess": "Henkilöt, joilla on pääsy", + "added": "Lisätty", + "coverShape": "Kansikuva muoto", + "coverShapeValue": { + "portrait": "2:3 pystykuva", + "square": "1:1 neliötä" + }, + "gridShape": "Ruudukon muoto", + "gridShapeValue": { + "tall": "Tall solut", + "square": "Neliön solut" + }, + "none": "Ei Mitään", + "allSupported": "Kaikki tuetut", + "patternCount": "{count, plural, one {# kuvio} other {# mallia}}", + "peopleCount": "{count, plural, =0 {Ei nimenomaisia apurahoja} one {# henkilö} other {# henkilöä}}", + "historyEmpty": "Tätä kirjastoa ei ole koskaan skannattu.", + "historyFailed": "Ei voitu ladata tämän kirjaston skannaushistoriaa.", + "manageAccess": "Hallitse", + "peopleMore": "{count, plural, one {+# lisää} other {+# lisää}}" + }, + "scannedAt": "Skannattu {time}", + "detailRegion": "Tiedot kohteelle {name}", + "scanTrigger": { + "manual": "Manuaalinen", + "watcher": "Tarkkailija", + "schedule": "Ajoitettu" + }, + "schedule": { + "at": "{preset} · {time}", + "weeklyAt": "{preset} · {day} {time}" + }, + "librariesUnit": "{count, plural, one {kirjasto} other {kirjastot}}", + "foldersUnit": "{count, plural, one {kansio} other {kansioita}}", + "copyPath": "Kopioi polku", + "pathCopied": "Polku kopioitu", + "pathCopyFailed": "Polkua ei voitu kopioida", + "problem": { + "neverTitle": "Ei koskaan skannattu.", + "neverBody": "{count, plural, one {Mikään sen kansiossa ei ole indeksoitu vielä.} other {Mikään sen # kansioista ei ole indeksoitu vielä.}}", + "failedTitle": "Viimeinen skannaus epäonnistui {time}.", + "scanNow": "Skannaa nyt", + "retry": "Yritä uudestaan skannaa" + }, + "quick": { + "watchAria": "Katso kansioita käyttäjältä {name}", + "scheduleAria": "Aikataulutettu skannaus {name}: {value}", + "watchOn": "Katsotaan kansioita kohteelle \"{name}\"", + "watchOff": "Pysäytetyt kansiot kohteelle \"{name}\"", + "scheduleSet": "Aikataulutettu skannaus kohteelle \"{name}\": {value}", + "scheduleOff": "Aikataulutettu skannaus pois päältä \"{name}\"", + "saveFailed": "Ei voitu päivittää \"{name}\"", + "fileWriteAria": "Kirjoita tiedostoon {name}", + "renameAria": "Nimeä uudelleen tiedostot: {name}", + "fileWriteOn": "\"{name}\" kirjoittaa sen tiedostoihin tiedot seuraavalla kerralla, kun ne tallennetaan", + "fileWriteOff": "\"{name}\" ei enää kirjoita tietoja tiedostoihinsa", + "renameOn": "\"{name}\" nimeää tiedostot uudelleen nimeämismallillesi, kun heidän tietonsa tallennetaan", + "renameOff": "\"{name}\" ei enää nimeä tiedostoja" + }, + "historyFor": "Skannaa historiatiedot kohteelle {name}", + "scanNothingNew": "ei mitään uutta vielä", + "scanTimeLeftSeconds": "{count, plural, one {noin # sekunti jäljellä} other {noin # sekuntia jäljellä}}", + "scanTimeLeftMinutes": "{count, plural, one {noin # minuutti jäljellä} other {noin # minuuttia jäljellä}}", + "scanFinished": "Skannaus valmis kohteelle \"{name}\": {outcome}", + "scanFinishedFailed": "Skannaus epäonnistui \"{name}\"", + "viewChanges": "Näytä muutokset", + "duplicateSettings": "Monista asetukset" }, "authorEnrichment": { "configuration": "Asetukset", @@ -1073,7 +1366,25 @@ "saveFailed": "Kirjoittajan rikastusasetuksia ei voitu tallentaa", "noEligibleAuthors": "Hyväksyttäviä tekijöitä ei löytynyt", "noAuthorsToEnrich": "Ei kirjoittajia rikastettavaksi", - "queueFailed": "Kirjoittajan taustatäyttöä ei voitu jonottaa" + "queueFailed": "Kirjoittajan taustatäyttöä ei voitu jonottaa", + "fields": { + "description": "Elämäkerta", + "photo": "Kuva", + "birthDate": "Syntynyt", + "deathDate": "Kuollut", + "website": "Sivusto", + "genres": "Genres", + "influences": "Vaikutukset" + }, + "metadataPreferences": { + "title": "Kentän lähteet", + "hint": "Set the order each field is filled from m. The first provider with a value wins. (Automatic Copy)", + "noProviders": "Ei tarjoajaa saatavilla", + "saved": "Kentän lähteet tallennettu", + "saveFailed": "Kentän lähteitä ei voitu tallentaa", + "limitedProviders": "{providers} toimittaa vain elämäkerrat ja kuvat.", + "addProvider": "Lisää {provider} lähteeksi" + } }, "scoreWeights": { "groupLabel": "Pisteet Painot", @@ -1082,6 +1393,10 @@ "resetToDefaultsButton": "Palauta oletukset", "recalculateAll": "Laske kaikki uudelleen", "confirmReset": "Vahvista nollaus", + "resetDialog": { + "title": "Palauta jokainen paino oletusarvoihinsa?", + "description": "Kaikki 24 kenttää menevät takaisin painot BookOrbit aluksia. Mikään ei ole tallennettu ennen kuin valitset Tallenna ja rescore." + }, "reset": "Reset", "recalculate": "Laske Uudelleen", "subtotal": "Välisumma: {count}", @@ -1089,13 +1404,314 @@ "saveFailed": "Pisteiden painojen tallennus epäonnistui", "recalcStarted": "Pisteiden uudelleenlaskenta alkoi taustalla", "recalcFailed": "Uudelleenlaskenta epäonnistui", - "resetToDefaults": "Painot palautetaan oletusarvoihin. Tallenna käyttääksesi niitä." + "resetToDefaults": "Painot palautetaan oletusarvoihin. Tallenna käyttääksesi niitä.", + "howItWorks": { + "title": "Miten tämä toimii.", + "summary": "Jokainen kirja saa 100 pisteen, kuinka täydellinen sen metatiedot on. Paino on mielekästä vain muiden vieressä, joten jokainen alla oleva kenttä näyttää lopputuloksen osuuden, josta se on vastuussa. Jokaisen painon kaksinkertaistaminen ei muuta mitään." + }, + "readOnly": "Voit nähdä, miten tulokset lasketaan, mutta muuttuvat painot tarvitsevat sovelluksen asetusten käyttöoikeuden.", + "compositionTitle": "Jos pisteet ovat peräisin", + "compositionHint": "Prosenttiosuudet ovat aina jopa 100.", + "searchFields": "Suodata kentät", + "clearSearch": "Tyhjennä haku", + "noMatches": "Yksikään kenttä ei täsmää hakuun.", + "totalSummary": "{scoring} 24 kentän pisteytys {total} pistettä yhteensä", + "countGroups": "Laske pisteitä kohti", + "notScored": "Ei pisteet", + "notScoredHeading": "Ei pisteytetty ({count})", + "notScoredHint": "Kenttä nollassa jättää myös kokonaismäärän, joten kirjoja ei ole merkitty muistiin.", + "decreaseWeight": "Pienennä {field} painoa", + "increaseWeight": "Lisää {field} painoa", + "revertField": "Palauta {field} tallennetulle painolle", + "table": { + "field": "Kenttä", + "weight": "Paino", + "share": "Osuus pisteistä", + "versusDefault": "Muuta" + }, + "groups": { + "core": "Ydin", + "publishing": "Julkaisu", + "classification": "Luokitus", + "enrichment": "Rikastus", + "providers": "Tarjoajan Tunnukset" + }, + "rules": { + "text": "Laskee, kun se ei ole tyhjä", + "positive": "Laskee, kun se on nollan yläpuolella", + "count": "Laskee kun vähintään yksi on asetettu", + "cover": "Laskee kun kansikuva on tallennettu", + "providerId": "Laskee kun ID on tallennettu", + "seriesIndex": "Laskee kun nollan yläpuolella, joten äänenvoimakkuus 0 ei koskaan laske" + }, + "rail": { + "title": "Missä kirjasi maa", + "description": "Merkki väri lukija näkee kirjan kortti, vastoin jokaista kirjaa voit nähdä tänään.", + "bandsLabel": "Merkin värit", + "bands": { + "poor": "50 MUKAAN", + "fair": "50-69", + "good": "70-89", + "great": "90+" + }, + "median": "Mediaani", + "belowFifty": "Alle 50", + "ninetyPlus": "90 ja ylöspäin", + "noBooks": "Ei vielä pisteytettyjä kirjoja. Suorita rescore kun kirjasto on tuotu loppuun.", + "scopeNote": "Läpi {count,plural,one{# kirja} other{# kirjat}} kirjastoissa, joihin voit päästä, pisteytetään tällä hetkellä tallennettujen painojen avulla." + }, + "progress": { + "running": "Palautetaan kirjastoa", + "failed": "Tulostus epäonnistui", + "count": "{processed} kirjaa käsitelty", + "countOf": "{processed} jostakin {total} kirjat", + "failedCount": "({count} epäonnistui)", + "safeToLeave": "Turvallinen poistua tältä sivulta.", + "dismiss": "Hylkää" + }, + "save": { + "upToDate": "Kaikki muutokset tallennettu.", + "unsaved": "{count, plural, one {# kenttä muuttunut} other {# kenttää muuttunut}}", + "totalShift": "yhteensä {from} päättyen {to} pisteet", + "rescores": "Tallennetaan rescores {count, plural, one {# kirja} other {# kirjoja}} taustalla.", + "rescoresUnknown": "Tallentaminen rescores sinun kirjasto taustalla.", + "action": "Tallenna ja uudelleenlähetys", + "discard": "Hylkää", + "leaveWarning": "Sinulla on tallentamattomia painomuutoksia. Jätä sivu ja menetä ne?" + } }, "tabs": { "users": "Käyttäjät", "account-activity": "Tilin Toiminta", "magic-links": "Magic Linkit", - "oidc": "OIDC / SSO" + "oidc": "OIDC / SSO", + "tts": "Tekstistä Puheeksi", + "server-fonts": "Palvelimen Kirjasimet" + }, + "tts": { + "title": "Palveluntarjoajat", + "subtitle": "Lukijoiden käytettävissä olevat puhemoottorit. Ääniä kuratoidaan palveluntarjoajaa kohden.", + "summary": "{providers,plural,one{# tarjoaja} other{# tarjoajat}} · {enabled} käytössä · {voices,plural,one{# ääni on kuratoitu} other{# kuratoidut äänet}}", + "addProvider": "Lisää tarjoaja", + "loadFailed": "Tekstistä puheeksi -konfiguraation lataaminen epäonnistui", + "empty": "Puheen tarjoajia ei ole määritetty.", + "reorderHint": "Vedä uudelleentilaukseen. Lukijat näkevät palveluntarjoajat tässä järjestyksessä.", + "dragHandle": "Järjestä {name}", + "moveUp": "Siirrä {name} ylös", + "moveDown": "Siirrä {name} alas", + "reorderFailed": "Palveluntarjoajan tilauksen tallentaminen epäonnistui", + "expand": "Näytä tiedot kohteelle {name}", + "collapse": "Piilota tiedot kohteelle {name}", + "toggleEnabled": "Ota Käyttöön {name}", + "enableFailed": "{name} päivitys epäonnistui", + "statusConnected": "Yhdistetty", + "statusUnreachable": "Taittamaton", + "statusUnchecked": "Ei tarkistettu", + "voiceCount": "{count, plural, one {# ääni} other {# ääntä}}", + "configuration": "Asetukset", + "fieldType": "Tyyppi", + "fieldTypeOpenAi": "OpenAI- Yhteensopiva", + "fieldApiKey": "API avain", + "apiKeySet": "Aseta", + "apiKeyNotSet": "Ei asetettu", + "fieldModel": "Oletus malli", + "fieldModelNone": "Tarjoajan oletus", + "fieldDiscovery": "Äänen löytäminen", + "discoverySupported": "Tuettu", + "discoveryUnsupported": "Ei tuettu", + "voices": "Äänet", + "voicesCurated": "{count} kuratoitu", + "voicesTapToPreview": "Napauta ääntä esikatsele sitä", + "voicesNone": "Yhtään ääntä ei ole vielä määritetty", + "manageVoices": "Hallitse ääniä", + "previewVoice": "Esikatsele {name}", + "previewStop": "Lopeta esikatselu", + "previewFailed": "Esikatselua ei voitu toistaa kohteelle {name}", + "previewNeedsEnabled": "Ota tämä tarjoaja käyttöön esikatseleaksesi sen ääniä", + "editConfiguration": "Muokkaa asetuksia", + "testConnection": "Testaa yhteys", + "testPassed": "Yhdistetty · {count, plural, one {# ääni löytyi} other {# ääntä löytyi}}", + "testFailed": "Yhteys epäonnistui", + "delete": "Poista", + "deleteConfirm": "Poista tarjoaja \"{name}\"? Lukijat käyttävät sen ääniä kuuluvat takaisin toisen palveluntarjoajan luo.", + "deleteFailed": "{name} poisto epäonnistui", + "deleted": "Tarjoaja poistettu", + "saveFailed": "{name} tallennus epäonnistui", + "saved": "Palveluntarjoaja tallennettu", + "formAddTitle": "Uusi tarjoaja", + "formEditTitle": "Muokkaa tarjoajaa", + "formName": "Nimi", + "formNamePlaceholder": "Kokoro", + "formBaseUrl": "Base URL", + "formBaseUrlPlaceholder": "http://localhost:8880/v1", + "formApiKey": "API avain", + "formApiKeyOptional": "Valinnainen", + "formApiKeyPlaceholder": "sk-...", + "formApiKeyKeep": "Jätä tyhjäksi pitääksesi nykyisen avaimen", + "formModel": "Oletus malli", + "formModelPlaceholder": "tts-1", + "formDiscovery": "Tämä tarjoaja voi listata omat äänensä", + "formRequired": "Nimi ja perusosoite vaaditaan", + "curation": { + "title": "Äänten Hallinta - {provider}", + "summary": "{count, plural, one {# ääni määritetty} other {# ääniä määritetty}}", + "summaryUnsaved": "{count, plural, one {# ääni määritetty} other {# ääniä määritetty}} - Tallentamattomat muutokset", + "importFromProvider": "Tuo tarjoajalta", + "loadPreset": "Load {preset} preset", + "importUnsupported": "Tämä tarjoaja ei tue äänitutkimusta.", + "importUnsupportedWithPreset": "Tämä tarjoaja ei tue äänen löytämistä. Käytä sen sijaan ”Lataa {preset} esiasetettu” -painiketta.", + "discoveryUnsupported": "Tämä tarjoaja ei paljasta äänilistan päätetapahtumaa.", + "discoverFailed": "Äänien löytäminen epäonnistui", + "emptyImportOrPreset": "Ääntä ei määritetty. Tuo palveluntarjoajalta tai lataa esiasetus.", + "emptyImport": "Ääntä ei määritetty. Tuo tarjoajalta.", + "emptyPreset": "Yhtään ääntä ei määritetty. Lataa esiasetus käynnistääksesi.", + "emptyManual": "Ääntä ei määritetty. Lisää äänet manuaalisesti.", + "columnId": "ID", + "columnName": "Nimi", + "columnLocale": "Lokaatio", + "columnGender": "Sukupuoli", + "genderMale": "Mies", + "genderFemale": "Nainen", + "genderUnknown": "Tuntematon", + "cancelEdit": "Peruuta muokkaus", + "editVoice": "Muokkaa {name}", + "deleteVoice": "Poista {name}", + "previewVoice": "Esikatsele {name}", + "stopPreview": "Lopeta esikatselu {name}", + "saveVoices": "{count, plural, one {Tallenna # ääni} other {Tallenna # ääntä}}" + } + }, + "serverFonts": { + "title": "Palvelimen Kirjasimet", + "subtitle": "Lataa kirjasimet, jotka jokainen käyttäjä voi valita eBook-lukijasta lataamatta omiaan.", + "listLabel": "Palvelimen kirjasimet", + "noFontsYet": "Ei vielä kirjasimia", + "noFontsHint": "Kirjasimet, jotka lisäät tähän näkyvät jokaisen käyttäjän lukijassa.", + "addFonts": "Lisää fontteja", + "filterLabel": "Suodata perheitä", + "filterPlaceholder": "Suodata perheitä", + "filterClear": "Tyhjennä suodatin", + "noMatches": "Perheet eivät täsmää “{query}”", + "previewLabel": "Esikatsele tekstiä", + "previewPlaceholder": "Kirjoita esikatselemaan sitä jokaisessa perheessä", + "previewSize": "Esikatselu koko", + "previewSizeOption": "{size} px", + "familiesUnit": "{count, plural, one {perhe} other {perheet}}", + "filesOfMax": "{count} jostakin {max} tiedostot", + "onDisk": "{size} levyllä", + "columns": { + "family": "Perhe", + "specimen": "Näyte", + "styles": "Styles", + "readers": "Lukijat" + }, + "fileSummary": "{count,plural,one{# tiedosto} other{# tiedostot}} · {size}", + "newBadge": "Uusi", + "styles": { + "single": "{style} vain", + "many": "{count} styles", + "manyNoItalics": "{count} styles, no italics" + }, + "facts": { + "books": "{count, plural, one {# kirja} other {On # kirjoja}}", + "booksDetail": "{books,plural,one{Aseta päälle # kirja} other{Aseta päälle # kirjat}} mennessä {readers,plural,one{# lukija} other{# lukijat}}", + "defaults": "{count, plural, one {Oletus # lukijalle} other {Oletus # lukijalle}}", + "hidden": "{count, plural, one {Piilotettu # lukijan toimesta} other {Piilotettu # lukijan toimesta}}" + }, + "moreActions": "Enemmän {name}", + "menu": { + "rename": "Nimeä perhe uudelleen", + "addFiles": "Lisää tiedostoja", + "remove": "Poista perhe…" + }, + "footerHint": "Jokainen lukija näkee nämä lukijan kirjasinluettelossa ja voi piilottaa minkä tahansa lukijan alla › Fontit.", + "empty": { + "dropHint": "tai pudota tiedostoja missä tahansa tällä sivulla", + "tip": "Perhe lukee parhaiten neljä tiedostoa: Regular, Italic, Bold and Bold Italic. Yksi muuttuja tiedosto voi seistä jokaisen painon." + }, + "drop": { + "title": "{count, plural, one {Pudota lisätäksesi # tiedoston jokaiselle lukijalle} other {Pudota lisätäksesi # tiedostoja jokaiselle lukijalle}}" + }, + "upload": { + "ariaLabel": "Lähetyksen edistyminen", + "title": "{count, plural, one {# tiedoston lisääminen} other {# tiedostoa lisätään}}", + "progress": "{done} jostakin {total} valmis", + "addedCount": "{count} lisätty", + "duplicateCount": "{count} jo täällä", + "refusedCount": "{count} ei lisätty", + "dismiss": "Hylkää", + "newFamily": "uusi perhe", + "states": { + "queued": "Odottaa", + "uploading": "Lähetetään", + "added": "Lisätty", + "duplicate": "Jo palvelimella", + "refused": "Ei lisätty", + "failed": "Epäonnistui" + }, + "reasons": { + "tooLarge": "Suurempi kuin {maxMb} Mt.", + "unsupportedType": "Ei fonttitiedosto. Käytä TTF-, OTF-, WOFF- tai WOFF2-ohjelmaa.", + "invalidFile": "Tiedosto on vaurioitunut tai ei ole oikeastaan fontti.", + "faceTaken": "{familyName} sisältää jo tiedoston tällä painolla ja tyylillä.", + "limitReached": "Palvelimella on jo {limit} fonttitiedostoa.", + "failed": "Lataaminen epäonnistui. Yritä uudelleen." + } + }, + "sheet": { + "description": "Esikatsele, uudelleennimeä ja hallinnoi tiedostojen {name}", + "variable": "Muuttuja", + "preview": "Esikatselu", + "pageColour": "Sivun väri", + "papers": { + "app": "Sovelluksen pinta", + "white": "Valkoinen sivu", + "sepia": "Sepia page", + "night": "Yön sivu" + }, + "previewHeading": "Elävien kukkien puutarha", + "previewParagraph1": "Alice katsoi hänen ympärilleen suuri yllätys. “Miksi, uskon olemme olleet tämän puun alla koko ajan! Kaikki on aivan niin kuin se oli!”", + "previewParagraph2": "“Nyt täällä, huomaat, se vie kaiken käynnissä voit tehdä, pitää samassa paikassa. Jos haluat päästä jonnekin muualle, sinun täytyy ajaa vähintään kaksi kertaa niin nopeasti kuin että!”", + "styles": "Styles", + "stylesHint": "Mitä lukijan tyylirivi tarjoaa", + "singleStyleNote": "Yksi tyyli, joten lukijat eivät saa tyyliriviä. Lihavoitu ja kursivoitu teksti kirjoissa on väärennetty selaimella {style}.", + "inReader": "Vuonna lukija", + "inReaderHint": "Kirjasinlista jokainen lukija saa lukija › Asetukset, kun {name} on valittu.", + "pickerLabel": "Esikatsele lukijan kirjasinluetteloa", + "files": "Tiedostot", + "filesUsed": "{count} jostakin {max} käytetään tällä palvelimella", + "fileDetail": "{summary} · Lisätty {date}", + "upright": "Pysty", + "italic": "Italic", + "fileActions": "Enemmän {name}", + "changeStyle": "Muuta painoa ja tyyliä", + "removeFile": "Poista tiedosto", + "removeFileQuestion": "Poistetaanko tämä tiedosto jokaiselle lukijalle?", + "weight": "Paino", + "style": "Tyyli", + "name": "Ryhmän nimi", + "nameHint": "Lukijat valitsevat kirjasimet tällä nimellä.", + "nameHiddenWarning": "{count, plural, one {# lukija piilotti {name}} other {# lukijaa piilotti {name}}}; uusi nimi näyttää sen heille uudelleen.", + "nameBooksWarning": "Uusi nimi lähettää {count, plural, one {# kirjan, joka käyttää sitä} other {# kirjoja, jotka käyttävät sitä}} takaisin kirjan omaan fonttiin.", + "readers": "Lukijat", + "stats": { + "books": "{count, plural, one {kirja käyttää sitä} other {kirjat käyttävät sitä}}", + "defaults": "{count, plural, one {lukijan oletus} other {lukijoiden oletus}}", + "hidden": "{count, plural, one {lukija piilotti sen} other {lukijat piilottivat sen}}" + }, + "readersPrivacy": "Laskee vain. Mikä kirjoja ja mitkä lukijat pysyvät yksityisinä.", + "removeLabel": "Poista perhe", + "removeQuestion": "Poistetaanko {name} jokaiselle lukijalle?", + "removeConsequenceBooks": "{books,plural,one{Se on asetettu # kirja} other{Se on asetettu # kirjat}} mennessä {readers,plural,one{# lukija} other{# lukijat}}; nämä kirjat palaavat kirjan omaan fonttiin.", + "removeConsequenceFiles": "{count, plural, one {Sen tiedosto on poistettu palvelimelta.} other {Kaikki # tiedostot poistetaan palvelimelta.}}", + "loadFailedNote": "Tämä selain ei voinut ladata kirjasintiedostoa, joten esikatselut näyttävät varmennuskasvot. Lukijoiden selaimet todennäköisesti kieltävät sen myös. Kokeile eri kopiota kirjasimesta." + }, + "toasts": { + "removed": "{name} poistettu", + "removePartial": "{failed,plural,one{# tiedosto} other{# tiedostot}} jostakin {name} ei voitu poistaa", + "renameTaken": "{name} tiedostolla on jo sama paino ja tyyli" + }, + "loadFailed": "Tämä selain ei voi ladata sitä" } }, "common": { @@ -1104,49 +1720,89 @@ "display": "Näyttö", "reader": "Lukija", "metadata": "Metatiedot", + "usersAccess": "Käyttäjät Ja Pääsy", "email": "Sähköposti", "opds": "OPDS", "kobo": "Kobo", "koreader": "KOReader", + "tts": "Tekstistä Puheeksi", + "integrations": "Integraatiot", "hardcover": "Kovakantinen", "admin": "Ylläpitäjä", "system": "Järjestelmä", - "account": "Tili" + "account": "Tili", + "podcasts": "Podcastit" + } + }, + "integrations": { + "title": "Integraatiot", + "subtitle": "Yhdistä ulkoiset palvelut synkronoimaan lukutietosi ja korostuksesi.", + "noPermission": "Sinulla ei ole lupaa käyttää mitään integraatioita.", + "tabs": { + "hardcover": "Kovakantinen", + "readwise": "Valmis", + "storygraph": "StoryGraph" + }, + "providerSubtitles": { + "readwise": "Lähetä kohokohdat Readwise automaattisesti.", + "storygraph": "Synkronoi lukemisen edistyminen ja tila StoryGrafiin." } }, "metadata": { "title": "Metatiedot", + "subtitle": "Määritä metatietojen tarjoajat, vastaavat sääntöjä, automaatio, ja tekijän rikastaminen.", "noPermission": "Sinulla ei ole oikeutta hallita metadatan asetuksia.", "fields": { "title": "Otsikko", "subtitle": "Tekstitys", "description": "Kuvaus", "cover": "Kansi", + "audioCover": "Äänikirjan kansi", "authors": "Tekijät", "publisher": "Julkaisija", "publishedYear": "Julkaistu vuosi", "language": "Kieli", "pageCount": "Sivun määrä", + "isbn": "ISBNs", "communityRating": "Yhteisön luokitus", "seriesName": "Sarjan nimi", "seriesIndex": "Sarjan indeksi", "genres": "Genres", "narrators": "Narraattorit", "duration": "Kesto", - "abridged": "Abridged" + "abridged": "Abridged", + "tags": "Tunnisteet", + "isbn13": "ISBN-13", + "isbn10": "ISBN-10", + "googleBooksId": "Google Books -tunnus", + "goodreadsId": "Goodreads ID", + "amazonId": "Amazon ID", + "hardcoverId": "Kovakantinen ID", + "openLibraryId": "Avaa Kirjaston Tunnus", + "itunesId": "iTunes ID", + "koboId": "Kobo ID", + "aladinId": "Aladin ID" }, "mergeStrategy": { "fillMissing": { "label": "Täytä puuttuu", - "description": "Kirjoita vain, jos kenttä on tällä hetkellä tyhjä" + "description": "Kirjoita vain, jos kenttä on tällä hetkellä tyhjä", + "short": "Täytä aukot" + }, + "mergeExisting": { + "label": "Yhdistä olemassa olevaan", + "description": "Säilytä tallennetut tyylilajit ja liitä uuden palveluntarjoajan tyylilajit", + "short": "Yhdistä" }, "overwriteIfProvided": { "label": "Korvaa jos annettu", - "description": "Kirjoita jos tarjoaja on palauttanut arvon" + "description": "Kirjoita jos tarjoaja on palauttanut arvon", + "short": "Jos vastaus on" }, "overwrite": { "label": "Korvaa aina", - "description": "Korvaa aina olemassa oleva arvo" + "description": "Korvaa aina olemassa oleva arvo", + "short": "Aina" } }, "autoFetch": { @@ -1180,6 +1836,7 @@ "yesterday": "eilen", "daysAgo": "{count, plural, one {# päivä sitten} other {# päivää sitten}}", "label": "Viimeksi suoritettu: {when}", + "labelQueued": "Viimeksi ajettu: {when} - jonossa {count} kirjat", "labelNoneEligible": "Viimeksi käytetty: {when} - ei hyväksyttäviä kirjoja" }, "conditions": { @@ -1208,21 +1865,129 @@ "inheritFromGlobal": "Perii globaalista", "usingGlobalDefaults": "Käytetään yleisiä oletusarvoja.", "saveOverride": "Tallenna ohitus" + }, + "scope": { + "ownSettings": "{count, plural, one {# oma asetus} other {# omat asetukset}}", + "globalIntro": "Jokainen kirjasto noudattaa tätä sääntöä, ellei sillä ole omaa.", + "globalCoverage": "{libraryCount, plural, one {Koskee # kirjastoon} other {Koskee # kirjastoihin}}, {bookCount, plural, one {# kirja} other {# kirjoja}}.", + "ownLibraries": "{names} {count,plural,one{on oma sääntönsä.} other{niillä on omat sääntönsä.}}", + "libraryFollows": "{library} noudattaa globaalia sääntöä. Muuta jotain tässä antaaksesi sille oman.", + "libraryOwn": "{library} on oma sääntönsä {count, plural, one {# asetus} other {# asetukset}}. Kaikki muu seuraa globaalia sääntöä.", + "lastRun": "Viimeksi ajettu {when}, jonossa {count,plural,one{# kirja} other{# kirjat}}.", + "neverRun": "Ei vielä käynnissä.", + "useGlobalRule": "Käytä yleistä sääntöä", + "loadFailed": "Automaattista noutoa asetuksia ei voitu ladata. Yritä uudelleen lataamalla sivu uudelleen.", + "saved": "Tallennettu {scope}", + "saveFailed": "Ei voitu tallentaa {scope}. Yritä uudelleen." + }, + "run": { + "all": "Suorita jokaiselle kirjastolle", + "library": "Suorita käyttäjälle {library}", + "saveFirst": "Suorittaa tallennetun säännön. Tallenna ensin.", + "failed": "Suoritusta ei voitu aloittaa. Yritä uudelleen." + }, + "onImport": { + "label": "Hae uusien kirjojen metatiedot", + "hint": "Skannat ja lataukset jonot, jotka vastaavat kirjoja heti. Tuontiin haetaan vain tyhjiä kenttiä; lukittuja kenttiä ei koskaan muuteta.", + "follow": "Seuraa globaalia", + "on": "Päällä", + "off": "Pois" + }, + "columns": { + "books": "{count, plural, one {kirja} other {kirjoja}}", + "ofTotal": "of {total}", + "off": "Pois", + "own": "Oma", + "global": "Globaali", + "useGlobal": "Käytä globaalia", + "globalValue": "Yleissääntö: {value}", + "on": "Päällä", + "scoreBelowValue": "Pisteet alle {threshold}", + "neverFetchedSplit": "{count, plural, one {# ei koskaan haettu} other {# ei koskaan haettu}}", + "fetchedBeforeSplit": "{count, plural, one {# haettu ennen} other {# haettu ennen}}", + "lowScoreLabel": "Alhainen luotettavuus", + "lowScoreHint": "Hae kirjoja, joiden luottamuspistemäärä on rivin alla.", + "outOf": "/ 100", + "lowerThreshold": "Pienennä kynnystä", + "raiseThreshold": "Nosta kynnystä", + "missingHint": "Hae jos valittu kenttä on tyhjä. Jokainen kenttä näyttää kuinka monta kirjaa se puuttuu.", + "audioGroup": "Kirjat, joissa ääni", + "audioHint": "{count, plural, =0 {Kenelläkään täällä ei ole ääniä.} one {Vain # kirjaa, jolla on ääni, ei voi olla näitä.} other {Vain # äänillä voi olla näitä.}}", + "fieldCount": "{field}: {count,plural,one{# kirja puuttuu} other{# kirjoista puuttuu sitä}}" + }, + "histogram": { + "label": "Luottamuspistemäärän kynnysarvo", + "valueText": "Pisteet alle {threshold}" + }, + "preview": { + "title": "Mikä juoksu noutaisi", + "matching": "{matching, plural, one {# of {total} kirjat sopivat yhteen} other {# of {total} kirjat täsmäävät}}", + "showing": "{count, plural, one {näytetään vähiten täydellinen} other {näytetään vähiten täydellinen}}", + "empty": "Mikään kirja ei vastaa tätä sääntöä, joten juoksu ei jonota mitään.", + "unknownAuthor": "Tuntematon tekijä", + "score": "Pisteet {score}", + "more": "+{count}", + "missing": { + "title": "Ei otsikkoa", + "subtitle": "Ei tekstitystä", + "description": "Ei kuvausta", + "cover": "Ei kantta", + "audioCover": "Ei äänikirjan kantta", + "authors": "Ei kirjoittajia", + "publisher": "Ei julkaisijaa", + "isbn": "Ei ISBN", + "publishedYear": "Ei julkaistua vuotta", + "language": "Ei kieltä", + "pageCount": "Ei sivuja", + "communityRating": "Ei yhteisön arvostelua", + "seriesName": "Ei sarjan nimeä", + "seriesIndex": "Ei sarjojen indeksiä", + "genres": "Ei tyylilajeja", + "narrators": "Ei kertojia", + "duration": "Ei kestoa", + "abridged": "Abridged ei asetettu" + } + }, + "queue": { + "progress": "{done} jostakin {total}", + "failed": "{count, plural, one {# kirjaa ei voitu hakea} other {# kirjoja ei voitu hakea}}" } }, "providers": { "availableSources": "Käytettävissä Olevat Lähteet", "saveChanges": "Tallenna Muutokset", + "discard": "Hylkää", + "configure": "Määritä", "test": "Testi", "testing": "Testataan...", + "testHint": "Tarkistaa nämä tiedot reaaliaikaista palvelua vastaan. Mikään ei ole tallennettu.", "enabled": "Käytössä", "retryIn": "Yritä uudelleen {duration}", "runTestBeforeEnabling": "Suorita testi ennen kuin otat käyttöön", "hardcoverEnableHint": "Suorita Testi nykyisellä tunnuksella avataksesi kytkimen.", + "searchPlaceholder": "Suodata lähteet", + "sourcesEnabled": "{enabled} jostakin {total} lähteet käytössä", + "groupEnabled": "{enabled} jostakin {total} päällä", + "unsavedChanges": "{count, plural, one {# tallentamatonta muutosta} other {# tallentamatonta muutosta}}", + "noMatches": "Suodatinta ei vastaa yhtään lähdettä.", + "clearFilters": "Tyhjennä suodattimet", + "filter": { + "label": "Suodata lähteitä tilan mukaan", + "all": "Kaikki", + "enabled": "Käytössä", + "needsSetup": "Tarvitsee asetuksia" + }, + "groups": { + "books": "Yleiset kirjaluettelot", + "audiobooks": "Äänikirjat", + "comics": "Sarjakuvat ja kevyet romaanit", + "regional": "Alueelliset luettelot" + }, "badge": { "setupRequired": "Asennus Vaaditaan", "throttled": "Throttled", - "ready": "Valmis" + "ready": "Valmis", + "active": "Aktiivinen" }, "fields": { "apiKey": "Api Avain", @@ -1246,9 +2011,11 @@ "kobo": "Scrapes Kobon julkiset kirjasivut. Maan ja kielen on vastattava Kobon URL-polkuja; bottisuojaus voi estää pyynnöt.", "audible": "Vallea äänikirjan metatietoja Audibleista. Lisäasetuksia ei tarvita.", "audnexus": "Yhteisön ohjaamat äänikirjan metatiedot. Asennusta ei tarvita.", + "librofm": "DRM-vapaa äänikirjaimisen metadata. Käyttää dokumentoimatonta Libro.fm-päätepistettä ja on oletuksena pois päältä.", "comicvine": "Comic book metadata ComicVinesta. Ilmainen API-avain vaaditaan Comicvine.gamespot.com:lta.", "ranobedb": "Japanin kevyt uusi metatiedot RanobeDB. Ei asetuksia tarvita.", - "lubimyczytac": "Puolan kirjaluettelo (lubimyczytac.pl). Scrapes julkinen kirja-sivut. Ei asennus tarvita." + "lubimyczytac": "Puolan kirjaluettelo (lubimyczytac.pl). Scrapes julkinen kirja-sivut. Ei asennus tarvita.", + "aladin": "Korealainen kirja metadata Aladin (¶ ¼ ¼ ¶ - ). A TTB Key from aladin.co.kr is required." }, "blocked": { "google": "Google Books vaatii API-avaimen ennen kuin se voidaan ottaa käyttöön", @@ -1262,6 +2029,7 @@ "clearAllProviders": "Poista Kaikki Palveluntarjoajat", "clearAll": "Tyhjennä Kaikki", "resetToDefault": "Palauta oletukset", + "bookCover": "Varaa kansi", "reset": "Reset", "dragProvidersHint": "Vedä tarjoajat tänne mihin tahansa kenttään lisätäksesi ne", "dragProviderHere": "vedä tarjoajaa tähän", @@ -1277,7 +2045,9 @@ "fillMissingBody": "Kirjoita vain, jos nykyinen arvo on tyhjä.", "overwriteTerm": "Korvaa:", "overwriteBody": "Korvaa aina, kun palveluntarjoajalla on tietoa." - } + }, + "summary": "Palveluntarjoajat kokeiltiin ylhäältä alas ja ensimmäinen, joka palauttaa arvon voittaa. Yhdistämisstrategiassa päätetään, voiko tämä arvo korvata sen, mitä kirjassa on jo ollut; tyylilajit voivat myös liittää uusia ainutlaatuisia arvoja. Aseta oletusarvot tähän, ja korvaa yksittäiset kentät kirjastoa kohden.", + "summaryByMedium": "Tarjoajat kokeiltiin ylhäältä alas, ja ensimmäinen arvovoittaa; tyylilajit yhdistämistilassa ja yhteisön luokitukset yhdistävät jokaisen tarjoajan sijaan. Yhdistämisstrategiassa päätetään, voiko arvo korvata sen, mitä kirjassa jo on. Audible, AudNexus ja Libro. m vain vastaus kirjoihin audio, luku-pitkin EPUBs mukana, joten laittamalla ne ensin suosii äänikirjan metatietoja koskematta vain e-kirjoja. Väärän muotoinen kansitaide täyttää korttipaikan vain, jos mikään muu ei voi. Kirjaston ohitus korvaa tuon kentän koko säännön." }, "libraryOverrides": { "title": "Kirjaston Ylikirjoitukset", @@ -1296,9 +2066,19 @@ "label": "Yhdistä tyylit kaikilta valituilta palveluntarjoajilta", "hint": "Kerää ja poistaa genrejä jokaisesta palveluntarjoajasta määritetty Genres kenttään sen sijaan, että pysähtyisi ensimmäisessä tuloksessa." }, + "maxGenres": { + "label": "Lajityyppien enimmäismäärä kirjaa kohden", + "hint": "Käytössä poissulkemisen jälkeen ja kaksoiskappaleiden poistamisen jälkeen. Jätä tyhjäksi rajoittamattomaksi. Tämä vaikuttaa tulevien metatietojen noutamiseen.", + "unlimited": "Rajoittamaton", + "error": "Syötä kokonaisen numeron numerosta 1 {max}, tai jätä kenttä tyhjäksi." + }, "storeProviderIds": { "label": "Tallenna palveluntarjoajan tunnukset kirjoihin", "hint": "Kun haet metatietoja, tallenna palautetut palveluntarjoajan tunnukset (ISBN, ASIN, Goodreads ID, jne.) kirjatietueeseen tarkempia tulevia hakuja." + }, + "existingProviderIdsOnly": { + "label": "Käytä vain olemassa olevia palveluntarjoajan tunnuksia", + "hint": "Kirjastossa jo olevien kirjojen osalta kysy vain palveluntarjoajat, joilla on tallennettu ID ja jotka eivät koskaan palauta hakuun, kun ID-haku epäonnistuu. Manuaalinen haku ja uuden kirjan etsintä eivät vaikuta niihin." } }, "library": { @@ -1322,19 +2102,38 @@ "classification": "Luokitus", "audiobook": "Äänikirja" }, + "groupSummary": { + "base": "{fields} kentät · {enabled} käytössä", + "withOverrides": "{base} · {overrides} ohitus", + "enabledOf": "{enabled} jostakin {fields} käytössä" + }, "table": { "field": "Kenttä", "activeProviders": "Aktiiviset Palveluntarjoajat (tilattu prioriteetin mukaan)", "mergeStrategy": "Yhdistä Strategia", - "status": "Tila" + "status": "Tila", + "noMatches": "Mikään kenttä ei vastaa näitä suodattimia." }, "field": { "noProviders": "Käytössä, mutta ei ole tarjoajia", + "noUsableProvider": "Käytössä, mutta yksikään toimittaja täällä ei voi täyttää sitä", "empty": "Tyhjä", "config": "Asetukset", "custom": "Mukautettu", "default": "Oletus", - "resetToDefault": "Palauta oletukset" + "resetToDefault": "Palauta oletukset", + "toggle": "Hae {field} metadatan päivityksen aikana", + "configure": "Määritä {field}", + "add": "Lisää", + "addHint": "Lisätty tilauksen lopussa. Vedä siru siirtääksesi sen aikaisemmin.", + "addProviderTo": "Lisää palveluntarjoaja {field}", + "removeProvider": "Poista {provider}", + "noProvidersYet": "Ei vielä palveluntarjoajia", + "skippedCount": "{count, plural, one {# ohitettu} other {# ohitti}}", + "unsaved": "Tallentamaton", + "override": "Ohita", + "inherited": "Peritty", + "morePreview": "+{count} lisää" }, "reservoir": { "disabled": "{provider} - pois käytöstä", @@ -1348,6 +2147,74 @@ "statusDisabled": "poistettu käytöstä", "statusNotConfigured": "ei määritetty", "done": "Valmis" + }, + "scope": { + "label": "Sääntöjen soveltamisala", + "global": "Yleiset oletukset", + "overrideCount": "{count, plural, one {# overridden field} other {# overridden fields}}", + "unsavedMarker": "On tallentamattomia muutoksia" + }, + "toolbar": { + "searchFields": "Hae kenttiä", + "clearSearch": "Tyhjennä haku", + "provider": "Tarjoaja", + "anyProvider": "Kaikki", + "providerMenuTitle": "Suodata ja massamuokkaa palveluntarjoajan mukaan", + "usedIn": "{count, plural, =0 {käyttämätön} one {# kenttä} other {# kenttää}}", + "showOnlyThese": "Näytä vain kentät, jotka käyttävät sitä", + "bulkLabel": "Sovella kaikkiin {count} kenttiin, jotka käyttävät sitä", + "makeFirst": "Tee ensin kaikkialla", + "makeLast": "Tee viimeiseksi kaikkialla", + "removeEverywhere": "Poista kaikista kentistä", + "audioCoverOrderKept": "Reordering ohittaa Audiobook kannen sääntö, joka pitää äänikirjan lähteet ensin.", + "allFields": "Kaikki kentät", + "overridesOnly": "Vain ylikirjoitukset", + "clearFilters": "Tyhjennä suodattimet" + }, + "providerState": { + "disabled": "Pois Käytöstä", + "notConfigured": "Ei määritetty", + "disabledDetail": "{provider} on pois päältä, joten se pysyy järjestyksessä, mutta ohitetaan.", + "notConfiguredDetail": "{provider} ei ole vielä käyttäjätunnuksia, joten se pysyy järjestyksessä, mutta ohitetaan.", + "neverSupplies": "Älä koskaan toimita tätä", + "neverSuppliesDetail": "{provider} ei koskaan toimita tätä kenttää, joten se ohitetaan täällä.", + "otherShape": "Muu kansi muoto", + "otherShapeDetail": "{provider} on vain toisen muotoisia kansia, joten se täyttää tämän vain silloin, kun mikään muu ei voi." + }, + "detail": { + "priority": "Tarjoajan prioriteetti", + "priorityHint": "Ensimmäinen tarjoaja, joka palauttaa arvon voittaa.", + "moveUp": "Siirrä {provider} aikaisemmin", + "moveDown": "Siirrä {provider} myöhemmin", + "result": "Tulos", + "resultHint": "Seuraavassa päivityksessä tämä kenttä ratkaisee tässä järjestyksessä:", + "noUsableProviders": "Ei käytettävissä olevaa tarjoajaa - tätä kenttää ei täytetä.", + "skippedSummary": "{count, plural, one {{providers} on järjestyksessä, mutta ohitetaan.} other {{providers} ovat järjestyksessä, mutta ohitetaan.}}", + "appliesTo": "Koskee {scope}.", + "inheritGlobal": "Perii globaali sääntö", + "inheritingGlobal": "Maailmanlaajuista sääntöä eritellään.", + "collapse": "Kutista" + }, + "save": { + "upToDate": "Ei tallentamattomia muutoksia", + "unsaved": "{count,plural,one{# tallentamaton muutos} other{# tallentamattomat muutokset}} sisään {scope}", + "discard": "Hylkää", + "action": "Tallenna {scope}" + }, + "confirm": { + "clearProviders": { + "title": "Poistetaanko jokainen tarjoaja?", + "description": "Tämä tyhjentää palveluntarjoajan luettelon kaikista 16 kentän {scope}. Mitään ei tallenneta ennen kuin valitset Tallennuksen." + }, + "resetScope": { + "title": "Palauta oletukset?", + "globalDescription": "Tämä korvaa globaalin kentän sääntösi järjestelmän oletuksilla ja tallentaa välittömästi.", + "libraryDescription": "Tämä poistaa jokaisen ohituksen {scope} -sovelluksella, joten se perii yleiset säännöt uudelleen ja tallentaa välittömästi." + }, + "removeProvider": { + "title": "Poistetaanko {provider} jokaisesta kentästä?", + "description": "Tämä kestää {provider} palveluntarjoajan ulkopuolinen tilaus jokaisella kentällä {scope}. Mitään ei tallenneta ennen kuin valitset Tallennuksen." + } } }, "genreBlocklist": { @@ -1360,9 +2227,128 @@ "add": "Lisää", "filterPlaceholder": "Suodata lohkolista", "entryCount": "{count, plural, one {# merkintä} other {# merkintää}}", + "filteredCount": "{shown} jostakin {total}", "noFilterMatch": "Mikään estetty tyylilaji ei vastaa nykyistä suodatinta.", "emptyTitle": "Ei estettyjä tyylilajeja", - "emptyHint": "Lisää tarkat arvot, kuten Audiobook tai Adult pitämään ne poissa haetuista metatiedoista." + "emptyHint": "Lisää tarkat arvot, kuten Audiobook tai Adult pitämään ne poissa haetuista metatiedoista.", + "removeLabel": "Poista {genre}" + }, + "searchCache": { + "loadFailed": "Välimuistin asetuksia ei voitu ladata.", + "retry": "Yritä uudelleen", + "saved": "Hakuvälimuistin asetukset tallennettu", + "saveFailed": "Välimuistin asetusten tallennus epäonnistui", + "units": { + "hours": "Tuntia", + "days": "Päivää" + }, + "general": { + "title": "Tallennettu vastaus", + "enabled": "Tallenna palveluntarjoajan vastaukset", + "enabledHint": "Hakut, massapäivitykset ja taustahaku uudelleenkäyttävät tallennettuja vastauksia sen sijaan, että kysyttäisiin kaikilta tarjoajilta uudestaan.", + "resultsTtl": "Säilytä tulokset", + "resultsTtlHint": "Kuinka kauan vastausta tuloksilla käytetään uudelleen, ennen kuin palveluntarjoaja kysytään uudelleen.", + "resultsTtlUnit": "Tuloksen aikayksikkö", + "emptyTtl": "Säilytä tyhjät vastaukset", + "emptyTtlHint": "Kuinka kauan palveluntarjoajaa ei löydy mitään. Koskee vain välimuistin tyhjät vastaukset merkittyjä tarjoajia. 0 ei koskaan säilytä tyhjiä vastauksia.", + "emptyTtlUnit": "Tyhjä vastausaikayksikkö", + "staleGrace": "Käytä vanhentuneita vastauksia", + "staleGraceHint": "Kun palveluntarjoaja epäonnistuu, käytetään sen sijaan vastausta tähän pitkään asti päättyneeseen voimassaoloaikaan. 0 ei koskaan palaudu.", + "staleGraceUnit": "Vanhentunut vastausaikayksikkö", + "storage": "Tallennustilan budjetti", + "storageHint": "Vanhimmat vastaukset poistetaan, kun tallennetut vastaukset läpäisevät tämän koon. Levyllä pöytä voi kestää noin 1,5-2 kertaa budjetin.", + "storageUnit": "Mt" + }, + "providers": { + "title": "Palveluntarjoajan asetukset", + "hint": "Jätä laatikko tyhjäksi käyttääksesi yllä olevaa arvoa. Poista tarjoaja käytöstä kysyäksesi aina elää.", + "books": "Kirjat", + "authors": "Tekijät", + "none": "Yhtään tarjoajaa ei ole saatavilla.", + "globalOff": "Vastausten tallentaminen on pois päältä, joten nämä asetukset ovat käytössä, kun se on kytketty takaisin päälle.", + "on": "Päällä", + "off": "Pois", + "enabledLabel": "Tallenna vastaukset käyttäjältä {provider}", + "resultsTtl": "Säilytä tulokset", + "resultsTtlLabel": "Säilytä {provider} tulosta", + "resultsTtlUnitLabel": "Aikayksikkö {provider} tulosta varten", + "emptyTtl": "Säilytä tyhjät vastaukset", + "emptyTtlLabel": "Säilytä tyhjä {provider} vastausta", + "emptyTtlUnitLabel": "Aikayksikkö tyhjille {provider} vastauksille", + "noEmptyCaching": "Tyhjiä vastauksia tältä tarjoajalta ei koskaan tallenneta.", + "notCacheable": "Tämän palveluntarjoajan vastauksia ei koskaan tallenneta.", + "reset": "Nollaa {provider} oletusarvoon" + }, + "validation": { + "required": "Syötä arvo.", + "wholeNumber": "Anna koko numero.", + "range": "Syötä arvo alkaen {min} päättyen {max}.", + "tooManyOverrides": "Liian monilla tarjoajilla on omat asetuksensa. Nollaa jotkut tallentaaksesi." + }, + "save": { + "unsaved": "Tallentamattomat muutokset", + "invalid": "Korjaa korostetut kentät tallennettavaksi", + "upToDate": "Kaikki muutokset tallennettu", + "discard": "Hylkää", + "action": "Tallenna" + }, + "stats": { + "group": "Käyttö", + "title": "Tallennettu vastaus", + "refresh": "Päivitä", + "loadFailed": "Välimuistin käyttöä ei voitu ladata.", + "storage": "Käytetty tallennustila", + "storageUsed": "{used} jostakin {budget}", + "storageHint": "Tallennetun vastauksen koko itse. Levyllä oleva pöytä on suurempi.", + "entries": "Tallennettu vastaus", + "emptyEntries": "Tyhjät vastaukset", + "diskSize": "Taulun koko levyllä", + "hitRate": "Osuman arvosana", + "requestsAvoided": "Vältetyt pyynnöt", + "fallbacks": "Pudotukset", + "skippedWrites": "Ohitetut kirjoitukset", + "oldest": "Vanhin vastaus", + "none": "Ei vielä", + "countersHint": "Hit rate, pyynnöt vältetty, fallbacks ja ohitettu kirjoitukset lasketaan koska palvelin viimeksi alkoi.", + "perProvider": "Palveluntarjoajan tallentamat vastaukset", + "provider": "Tarjoaja", + "kind": "Tyyppi", + "size": "Koko", + "empty": "Mitään ei ole vielä tallennettu." + }, + "clear": { + "group": "Huolto", + "title": "Tyhjennä tallennetut vastaukset", + "regionHint": "Palveluntarjoajat voivat vastata eri tavalla sijainnin mukaan. Tyhjennä välimuisti siirrettyään palvelinta toiselle alueelle tai VPN:lle.", + "action": "Tyhjennä", + "failed": "Tallennettujen vastausten tyhjentäminen epäonnistui", + "done": "{count, plural, one {Poistettu # tallennettu vastaus} other {Poistettu # tallennettuja vastauksia}}", + "donePending": "{count, plural, one {Poistettu # tallennettu vastaus. Loput poistetaan taustalla.} other {Poistettu # tallennettu vastaus. Loput poistetaan taustalla.}}", + "empty": { + "label": "Tyhjennä vain tyhjät vastaukset", + "hint": "Unohtaa, että palveluntarjoajat eivät löytäneet mitään, joten nämä haut kysyvät uudelleen.", + "confirmTitle": "Tyhjennetäänkö tyhjät vastaukset?", + "confirmDescription": "Tallennetut vastaukset, joissa palveluntarjoajaa ei löydy mitään, on poistettu. Vastaukset, joilla on tuloksia, säilytetään." + }, + "book": { + "label": "Tyhjennä vastaukset kirjaan", + "hint": "Poistaa kaiken tallennettu kirjojen tarjoajilta.", + "confirmTitle": "Tyhjennetäänkö kirjan vastaukset?", + "confirmDescription": "Jokainen tallennettu vastaus kirjan tarjoajilta on poistettu. Seuraavat haut kysyvät näitä tarjoajia uudelleen." + }, + "author": { + "label": "Tyhjennä vastaukset", + "hint": "Poistaa kaiken tallennettu tekijän tarjoajilta.", + "confirmTitle": "Tyhjennetäänkö kirjoittajan vastaukset?", + "confirmDescription": "Jokainen tallennettu vastaus kirjoittajan tarjoajilta on poistettu. Seuraavat haut kysyvät näitä tarjoajia uudelleen." + }, + "all": { + "label": "Tyhjennä kaikki tallennetut vastaukset", + "hint": "Tyhjentää välimuistin. Jokaista tarjoajaa kysytään uudelleen seuraavassa haussa.", + "confirmTitle": "Tyhjennetäänkö kaikki tallennetut vastaukset?", + "confirmDescription": "Koko kätkö on tyhjennetty. Haut ovat hitaampia, kunnes se täyttyy uudelleen, eikä mitään jää putoamaan takaisin kun palveluntarjoaja on alas." + } + } }, "customFields": { "label": "Tunniste", @@ -1408,10 +2394,148 @@ "preview": "Esikatselu", "sampleValue": "Näytteen arvo", "enabledLibraries": "Käytössä Olevat Kirjastot", + "countOf": "{selected} jostakin {total}", "selectAll": "Valitse kaikki", "clear": "Tyhjennä", "noLibraries": "Kirjastoja ei ole vielä saatavilla.", - "allLibraries": "Kaikki kirjastot" + "allLibraries": "Kaikki kirjastot", + "pageFacts": "{fields, plural, one {# kenttä} other {# kenttää}} · {values, plural, one {# arvo tallennettu} other {# arvoa tallennettu}}", + "newFieldAction": "Uusi kenttä", + "views": { + "label": "Näytä aktiiviset tai arkistoidut kentät", + "active": "Aktiivinen", + "archived": "Arkistoitu" + }, + "columns": { + "order": "Tilaus", + "field": "Kenttä", + "type": "Tyyppi", + "libraries": "Kirjastot", + "filled": "Täytetty", + "valuesKept": "Arvot säilytetään", + "archived": "Arkistoitu", + "actions": "Toiminnot" + }, + "orderHint": "Vedä asettaaksesi tilauskentät näkyviin Muokkaa Metadata, taulukon sarakkeissa ja viennissä.", + "archivedHint": "Arkistoidut kentät on piilotettu kirjoista, suodattimista ja viennistä. Niiden arvot pysyvät varastossa, kunnes kenttä on poistettu.", + "coverage": "{filled} jostakin {total}", + "coverageAria": "{filled} jostakin {total} kirjoilla on arvo", + "onNoLibrary": "Ei kirjastoja", + "onNoLibraryHint": "Ei kirjastoa, joten tämä kenttä ei näy missään", + "moreLibraries": "+{count}", + "noValues": "Ei Mitään", + "rowActions": { + "edit": "Muokkaa", + "editField": "Muokkaa kenttää", + "moveUp": "Siirrä ylös", + "moveDown": "Siirrä alas", + "archive": "Arkistoi", + "restore": "Palauta", + "more": "Lisää toimintoja {label}" + }, + "toasts": { + "loadFailed": "Mukautettuja kenttiä ei voitu ladata", + "created": "{label} luotu", + "createFailed": "{label} luominen epäonnistui", + "saved": "{label} tallennettu", + "saveFailed": "{label} tallennus epäonnistui", + "archived": "{label} arkistoitu", + "archiveFailed": "{label} arkisto epäonnistui", + "restored": "{label} palautettu", + "restoreFailed": "{label} palautus epäonnistui", + "deleted": "{label} poistettu", + "deleteFailed": "{label} poisto epäonnistui", + "reorderFailed": "Uuden tilauksen tallentaminen epäonnistui" + }, + "empty": { + "body": "Seuraa mitä BookOrbitillä ei ole kenttää, kuten missä kirja istuu hyllyllä tai kuka on lainannut sen. Kentät näkyvät Muokkaa metadatassa, taulukon sarakkeissa ja suodattimissa.", + "examples": "Aloita esimerkistä", + "shelfNumber": "Hyllyn Numero", + "acquiredOn": "Hankittu Päälle", + "signedCopy": "Allekirjoitettu Kopio", + "loanedTo": "Lainattu" + }, + "types": { + "text": { + "label": "Teksti", + "hint": "Mikä tahansa sana", + "example": "Ensimmäinen tulostus, allekirjoitettu kirjanmerkki" + }, + "url": { + "label": "Linkki", + "hint": "Avaa uudessa välilehdessä", + "example": "https://example.com/book" + }, + "number": { + "label": "Numero", + "hint": "Järjestä arvon mukaan", + "example": "42" + }, + "date": { + "label": "Päivämäärä", + "hint": "Kalenterin päivä", + "example": "2024-03-09" + }, + "boolean": { + "label": "Kyllä / Ei", + "hint": "valintaruutu", + "example": "Kyllä" + } + }, + "sheet": { + "newTitle": "Uusi kenttä", + "editDescription": "Muokkaa mukautetun kentän nimeä ja kirjastoja, ja katso missä se näyttää.", + "newDescription": "Nimeä uusi mukautettu kenttä, valitse sen tyyppi ja valitse sen kirjastot.", + "archivedDescription": "Arkistoitu mukautettu kenttä. Palauta se tai poista se arvoillaan.", + "statusFilled": "{filled} jostakin {total,plural,one{# kirja} other{# kirjat}} täytetty", + "statusNone": "Ei missään kirjastossa", + "statusHidden": "{count} hidden", + "statusCreated": "luotu {date}", + "labelHint": "Näytetään Muokkaa metatietoja, taulukon sarakkeissa ja suodattimissa.", + "renameHint": "Uudelleennimeäminen pitää jokaisen tallennetun arvon ja tiedostoavaimen {key}.", + "keyHint": "Tallennettu tiedostoihin ja vienti nimellä {key}, joka pysyy samana, jos uudelleennimeät kentän.", + "typeLocked": "Aseta kun luotu", + "typeLockedHint": "Tyyppi ei voi muuttua myöhemmin, joten tallennetut arvot vastaavat aina sitä.", + "libraries": "Kirjastot", + "books": "{count, plural, one {# kirja} other {# kirjaa}}", + "filledOfBooks": "{filled} jostakin {total,plural,one{# kirja} other{# kirjat}}", + "hiddenCount": "{count} hidden", + "leavingNote": "{count, plural, one {# arvo {libraries} pysyy tallennettuna, mutta piilotettuna kun kenttä on pois päältä.} other {# arvot {libraries} pysy tallennettuna, mutta piilotettuna kun kenttä on pois päältä.}} Palauttaen sen takaisin ja tuo sen takaisin.", + "noLibraryWarning": "Ilman kirjastoja tämä kenttä ei näy missä: ei Muokkaa Metadataa suodattimissa tai viennissä.", + "appears": { + "title": "Missä se näyttää", + "editMetadata": "Muokkaa Metatietoja", + "details": "Details tab", + "filters": "Suodattimet", + "table": "Taulukko ja lajittele", + "tableBody": "Saatavana taulukon sarake ja lajitteluvaihtoehto", + "files": "Tiedostot", + "filesWritten": "Kirjoitettu EPUB- ja FB2-tiedostoihin {libraries}, jossa metadatan kirjoittaminen tiedostoihin on päällä.", + "filesNotWritten": "Ei kirjoitettu tiedostoihin: yksikään näistä kirjastoista ei kirjoita metadataa EPUB- tai FB2-tiedostoihin.", + "exports": "Vienti" + }, + "archiveAction": "Arkistoi kenttä", + "archiveConfirm": "Arkistoi {label}?", + "archiveConsequence": "{count, plural, =0 {Se jättää Muokkaa metatietoja, suodattimia ja vientiä. Palauta se arkistosta milloin tahansa.} one {Se jättää Muokkaa metatietoja, suodattimia ja vientiä. # arvo pysyy tallentunut, kunnes kenttä on poistettu.} other {Se jättää Muokkaa metatietoja, suodattimia ja vientiä. # arvot säilytetään kunnes kenttä on poistettu.}}", + "create": "Luo kenttä", + "onLibraries": "{count} / {total} kirjastoa", + "onAllLibraries": "Kaikissa {total} kirjastoissa", + "archivedBadge": "Arkistoitu", + "archivedTitle": "Arkistoitu {when}.", + "archivedBody": "{count, plural, =0 {Tämä kenttä on piilotettu kirjoista, suodattimista ja viennistä. Sillä ei ole arvoja.} one {Tämä kenttä on piilotettu kirjoista, suodattimista ja viennistä. # tallennettua arvoa säilytetään ja palautetaan ennalleen.} other {Tämä kenttä on piilotettu kirjoista, suodattimista ja viennistä. # tallennetut arvot säilytetään ja palautetaan ennalleen.}}", + "facts": { + "type": "Tyyppi", + "libraries": "Kirjastot", + "valuesKept": "Arvot säilytetään", + "fileKey": "Tiedoston avain", + "created": "Luotu", + "archived": "Arkistoitu" + }, + "deleteQuestion": "Poistetaanko {label} hyvästä?", + "deleteConsequence": "{count, plural, =0 {Siinä ei ole arvoja. Tätä ei voi perua.} one {Sen # tallennettu arvo poistetaan jokaisesta kirjasta. Jo kirjoitetut tiedostot säilyttävät kopionsa. Tätä ei voi peruuttaa.} other {Sen # tallennetut arvot poistetaan jokaisesta kirjasta. Jo kirjoitetut tiedostot säilyttävät kopionsa. Tätä ei voi perua.}}", + "deleteConfirmLabel": "Kirjoita kentän nimi vahvistaaksesi", + "deleteConfirmPlaceholder": "Tyyppi {label} vahvistaaksesi" + } }, "tabs": { "providers": "Palveluntarjoajat", @@ -1420,7 +2544,8 @@ "genre-blocklist": "Genre Blocklist", "score": "Pisteet", "auto-fetch": "Kirjat", - "authors": "Tekijät" + "authors": "Tekijät", + "search-cache": "Etsi Välimuistista" }, "tabTitles": { "providers": "Palveluntarjoajat", @@ -1429,7 +2554,8 @@ "genre-blocklist": "Genre Blocklist", "score": "Luottamuspisteet", "auto-fetch": "Varaa Automaattihaku", - "authors": "Tekijän Automaatti-nouto" + "authors": "Tekijän Automaatti-nouto", + "search-cache": "Etsi Välimuistista" }, "tabSubtitles": { "providers": "Ota ulkoiset metatietolähteet käyttöön ja määritä niiden käyttäjätiedot.", @@ -1438,7 +2564,17 @@ "genre-blocklist": "Estä ei-toivotut palveluntarjoajan genrearvot kirjoitettamasta kirjoihin.", "score": "Määritä painoja metadata-kenttiin laskeaksesi kuinka paljon luottaa haettuihin tuloksiin.", "auto-fetch": "Hae automaattisesti kannet, kuvaukset ja muut yksityiskohdat, kun kirjastoosi lisätään uusia kirjoja.", - "authors": "Hae elämäkerrat ja profiilikuvat automaattisesti, kun kirjastoosi tulee uusia kirjoittajia." + "authors": "Hae elämäkerrat ja profiilikuvat automaattisesti, kun kirjastoosi tulee uusia kirjoittajia.", + "search-cache": "Uudelleenkäyttää palveluntarjoajan vastauksia, joten toistuvat haut ovat nopeita ja toimivat edelleen, kun palveluntarjoaja on alas." + }, + "preferences": { + "toast": { + "saved": "Metadatan asetukset tallennettu", + "saveFailed": "Metadatan asetuksia ei voitu tallentaa. Tarkista yhteytesi ja yritä uudelleen.", + "globalReset": "Yleiset kentän säännöt palautetaan järjestelmän oletusarvoihin", + "libraryReset": "Kirjasto palautetaan globaaleihin sääntöihin", + "resetFailed": "Metadatan asetuksia ei voitu palauttaa. Tarkista yhteytesi ja yritä uudelleen." + } } }, "reader": { @@ -1475,6 +2611,7 @@ "paginated": "Sivutettu", "scrolled": "Vieritetty", "fixedLayoutSpread": "Kiinteät asettelun sivut", + "fixedLayoutSpreadHint": "Oletus mangalle, sarjakuville ja kuvapohjaisille EPUB:ille", "bookDefault": "Varaa oletus", "singlePage": "Yksi sivu", "columns": "Sarakkeet", @@ -1485,12 +2622,26 @@ "typography": "Typografia", "font": "Font", "fontHint": "Tyyppi, jota käytetään kehon tekstissä", + "fontStyle": "Kirjasimen tyyli", + "fontStyleHint": "Paino ja slant kehon tekstiä. Lihavoitu ja kursivoitu, kirja pysyy suhteessa siihen.", "builtInFonts": "Sisäänrakennetut kirjasimet", "yourFonts": "Sinun Fontit", "fontSize": "Font size", "fontSizeHint": "Perustekstin koko pikseleinä", "lineHeight": "Viivan korkeus", "lineHeightHint": "Pystysuora väli rivien välillä", + "paragraphSpacing": "Kappaleiden väli", + "paragraphSpacingHint": "Välilyönti kappaleiden välillä. Varaa oletusarvoisesti kustantajan välilyönti.", + "paragraphSpacingDefault": "Varaa oletus", + "paragraphSpacingValue": "{value} em", + "letterSpacing": "Kirjainten väli", + "letterSpacingHint": "Kirjainten välissä oleva tila. Varaa oletusarvoisesti kustantajan välilyönti.", + "wordSpacing": "Sanojen väli", + "wordSpacingHint": "Välilyönti sanojen välillä. Varaa oletusarvoisesti kustantajan välilyönti.", + "textIndent": "Ensimmäisen rivin luetelmakohta", + "textIndentHint": "Sisennys tavallisten kappaleiden alussa. Kirjan oletusarvo säilyttää kustantajan sisennyksen.", + "custom": "Mukautettu", + "emValue": "{value} em", "justify": "Tasaa teksti", "justifyHint": "Tasaa teksti molempiin marginaaleihin", "hyphenation": "Hyfenaatio", @@ -1559,6 +2710,8 @@ "widePageDisable": "Poista Käytöstä", "forceTwoPage": "Pakota kaksi-sivu pienillä näytöillä", "forceTwoPageHint": "Ohita mobiiliautomaatti-varmennus, kun välimuistissa kaksisivuisessa tilassa on valittu", + "autoAdvance": "Siirry automaattisesti seuraavaan kirjaan", + "autoAdvanceHint": "Käännä viimeisen sivun ohi avataksesi seuraavan kirjan sarjassa", "off": "Pois", "on": "Päällä", "display": "Näyttö", @@ -1593,6 +2746,7 @@ "browse": "selaa", "fileTypesHint": "TTF, OTF, WOFF, WOFF2 - max 10 MB kukin", "yourFonts": "Sinun Fontit", + "fontsUsed": "{count} / {max} käytetty", "noFontsYet": "Kirjasimia ei ole vielä ladattu", "noFontsHint": "Vedä kirjasintiedosto yläpuolelle päästäksesi alkuun.", "fileCount": "{count, plural, =0 {ei tiedostoja} one {# tiedosto} other {# tiedostoa}}", @@ -1603,6 +2757,9 @@ "deleteVariant": "Poista variantti", "styleNormal": "Normaali", "styleItalic": "Italic", + "weightItalicOf": "{weight} Italic", + "variableRange": "Muuttuja {min}-{max}", + "variableStyles": "{count, plural, one {# style} other {# styles}}", "weightThin": "Ohut", "weightExtraLight": "Erittäin Kevyt", "weightLight": "Vaalea", @@ -1619,7 +2776,30 @@ "deleteFamilyFailed": "Kirjasinperheen poistaminen epäonnistui", "demoCannotManage": "Demo-rajoitettu tili ei voi hallita kirjasimia", "fileAdded": "\"{name}\" lisätty", - "uploadFailed": "Lähetys epäonnistui" + "uploadFailed": "Lähetys epäonnistui", + "serverFontsTitle": "Palvelimen fontit (ylläpitäjän jakama)", + "serverFontsHint": "Nämä kirjasimet tulevat palvelimen järjestelmänvalvojalta. Poista yksi käytöstä, jos haluat pitää ne poissa lukijaltasi.", + "serverFontsShown": "{count} jostakin {total} näytetään", + "serverFontsAllHidden": "Kaikki palvelimen fontit on piilotettu. Lukijasi tarjoaa vain sisäänrakennettuja ja omia fontteja.", + "serverFontVisibilityFailed": "Palvelimen fontin näkyvyyttä ei voitu päivittää", + "library": { + "columns": { + "use": "Käytössä" + }, + "yourDefault": "Oma oletus", + "hiddenBadge": "Hidden", + "emptyHint": "Lisää kirjasimia yllä tai pudota tiedostoja mihin tahansa tällä sivulla.", + "dropTitle": "{count, plural, one {Drop to add # file to your fonts} other {Drop to add # files to your fonts}}", + "limitReached": "Sinulla on jo {limit} fonttitiedostoa.", + "filesUsed": "{count} of your {max} käytetty", + "nameHint": "Tämä on nimi lukijan kirjasinluettelossa.", + "inReaderHint": "Kirjasinlista lukijassa › Asetukset, joissa {name} on valittu.", + "showInReader": "Näytä lukijani", + "showFamily": "Näytä {name} lukijani", + "removeConsequenceBooks": "{count, plural, one {Se on asetettu # kirjojasi; se kirja menee takaisin omaan fonttiinsa.} other {Se on asetettu # kirjojasi; ne menevät takaisin omille fonteilleen.}}", + "removeConsequenceDefault": "Se on sinun oletusfontti; kirjat ilman omaa asetusta, mene takaisin kirjan oletusarvoon.", + "removeQuestion": "Poista {name} kirjasimistasi?" + } }, "bookDock": { "title": "Kirja Telakka", @@ -1687,6 +2867,7 @@ "modSort": "Viimeinen, ensimmäinen muoto", "modInitial": "Vain ensimmäinen kirjain", "modFixed2": "Kahden desimaalin tarkkuudella", + "modMax3": "Enintään kolme arvoa, muuten mitään", "folderOnlyPrefix": "Päätä kuvio", "folderOnlySuffix": "määritä vain kansio. Alkuperäinen tiedostonimi säilytetään sen sisällä.", "conditionalLogic": "Ehdollinen Logiikka", @@ -1742,15 +2923,170 @@ "tokenTitle": "Kirjan otsikko", "tokenSubtitle": "Kirjan tekstitys", "tokenAuthors": "Tekijä(t), pilkulla erotettu", + "tokenNarrators": "Narraattori(t), pilkulla erotettu", "tokenYear": "Julkaisuvuosi", "tokenSeries": "Sarjan nimi", "tokenSeriesIndex": "Sarjan indeksi (nollapehmustettu)", "tokenPublisher": "Julkaisija", "tokenIsbn": "ISBN-13", "tokenLanguage": "Kieli", + "tokenLibrary": "Kirjaston nimi", "tokenOriginalFilename": "Alkuperäinen tiedostonimi (ilman laajennusta)", "tokenExtension": "Tiedostopääte (ilman pistettä)", - "browseTokensAndExamples": "Selaa kuponkeja ja esimerkkejä" + "tokenReadaloud": "The word readaloud for the EPUB with media overlays", + "patternHelpIntro": "Mallit käyttää kuponkia kuten {titleToken} ja {authorsToken}, plus modifiers ja valinnaiset segmentit.", + "browseTokensAndExamples": "Selaa kuponkeja ja esimerkkejä", + "subtitleShort": "Kansio ja tiedostonimi mallit tallennetuille tiedostoille.", + "rule": { + "fileAsBook": "Tiedosto kirjana oletuksena", + "folderAsBook": "Kansio kirjana oletuksena", + "download": "Lataa tiedostonimi" + }, + "howItWorks": { + "title": "Miten polku valitaan.", + "summary": "Kirjasto, jossa on oma kuvio, voittaa. Jokainen muu kirjasto noudattaa organisaation yleistä oletustilaa. Kuvion muuttaminen ei siirrä kirjoja jo levyllä, vaan uudet lataukset seuraavat sitä seuraavan latauksen jälkeen." + }, + "filterRules": "Suodattimen säännöt", + "librariesGroup": "Kirjastot", + "customCount": "{custom}/{total} mukautettu", + "noRuleMatches": "Mikään sääntö ei täsmää \"{query}\".", + "unsavedMarker": "On tallentamattomia muutoksia", + "backToRules": "Takaisin nimeämissääntöihin", + "appliesToLibraries": "{count, plural, =0 {Ei kirjastoja käytä tätä oletusta} one {Koskee # kirjastoon} other {Koskee # kirjastoon}}", + "downloadScope": "Lataukset ja vienti ZIP:t", + "badgeInherits": "Periittien oletus", + "badgeUnsaved": "Tallentamaton", + "patternLabel": "Kuvio", + "readOnlyFromGlobal": "Vain luku, globaali oletus", + "useGlobalDefault": "Käytä yleistä oletusta", + "resetToShipped": "Palauta lähetettävän oletus", + "addOverride": "Lisää ylikirjoitus", + "inheritsNotice": "Tämä kirjasto seuraa arvoa {base}. Lisää ylikirjoitus antaaksesi sille oman kuvionsa.", + "libraryRuleHint": "Ohittaa {base} vain tälle kirjastolle.", + "scopeLibrary": "Koskee latauksia vain {name} -sovellukseen.", + "scopeDownload": "Sovelletaan jokaiseen yhden tiedoston lataukseen ja jokaiseen tiedostoon viennin ZIP sisällä.", + "scopeGlobal": "{count, plural, one {Koskee # kirjastoa, jolla ei ole omaa kuviota.} other {Koskee # kirjastoja, joilla ei ole omaa kuviota.}}", + "scopeGlobalNone": "Yksikään kirjasto ei käytä tätä oletusta juuri nyt; jokaisella tämän tilan kirjastolla on oma kuvionsa.", + "unbalancedOptional": "Valinnainen ryhmä puuttuu sen sulkemiskulman sulku", + "unbalancedToken": "Tunnus puuttuu sen sulkeva sulku", + "structure": "Rakenne", + "paletteOptional": "valinnainen", + "paletteOptionalHint": "Kääri segmentin joten se pudotetaan, kun tunniste sisällä on tyhjä", + "paletteFallback": "fallback", + "paletteFallbackHint": "Valinnaisen ryhmän sisällä käytettyä tekstiä, kun vasenta sivua ei voida täyttää", + "paletteSeparator": "kansio", + "paletteSeparatorHint": "Aloittaa uuden kansion tason", + "modUpper": "PYSYVYYS", + "modLower": "pienet kirjaimet", + "recipesLabel": "Tai aloita resepti", + "recipe": { + "seriesShelf": "Sarjan hylly", + "calibre": "Calibre style", + "alphabetical": "Aakkosjärjestyksessä", + "flat": "Tasainen, ei kansioita", + "originalName": "Alkuperäinen tiedostonimi", + "authorTitle": "Tekijä ja otsikko", + "titleOnly": "Vain otsikko", + "seriesOrdered": "Sarja tilattu" + }, + "resultPanel": "Ratkaistu tulos", + "resultFor": "Tulos: {rule}", + "copyResult": "Kopioi ratkaistu tulos", + "resultCopied": "Ratkaistu tulos kopioitu leikepöydälle", + "resultCopyFailed": "Ratkaistun tuloksen kopiointi epäonnistui", + "sampleBookNote": "Näyte kirja käytetään jokaiseen esikatseluun", + "missingMetadata": "Jos metatiedot puuttuvat", + "readaloudComparison": "Vertailu lukemalla", + "readaloudEpub": "Read-oud EPUB", + "plainEpub": "Tavallinen EPUB", + "caseNoSeriesLabel": "Ei sarjaa", + "caseNoYearLabel": "Ei vuotta", + "caseNoAuthorLabel": "Ei kirjoittajaa", + "previewEmpty": "Tämä malli ei ratkaise mitään, joten alkuperäistä tiedostonimeä käytettäisiin.", + "previewEmptyShort": "Ratkaisee tyhjäksi", + "crossPlatformShortHint": "Korvaa Windows hylkää merkit. Esikatselut heijastavat tätä asetusta.", + "rulesSaved": "{count, plural, one {# nimeämissääntö tallennettu} other {# nimeämissääntöjä tallennettu}}", + "rulesSaveFailed": "{count, plural, one {# nimeämissäännön tallentaminen epäonnistui} other {# nimeämissääntöjen tallentaminen epäonnistui}}", + "rulesPartiallySaved": "Tallennettu {saved}, epäonnistui {failed}. Säännöt, jotka epäonnistuivat on vielä tallentamattomia muutoksia.", + "save": { + "unsaved": "{count, plural, one {# tallentamatonta muutosta} other {# tallentamatonta muutosta}}", + "upToDate": "Ei tallentamattomia muutoksia", + "discard": "Hylkää", + "action": "Tallenna muutokset", + "blocked": "Korjaa virheellinen kuvio ennen tallennusta" + }, + "examplesDescription": "Idiomit reseptit eivät peitä. Slash päätteeksi päättyvä kuvio ratkaisee kansion ja pitää lähetetyn tiedostonimen sen sisällä.", + "examplesApply": "Käytä", + "examplesApplyAria": "Käytä {label} mallia", + "examplesUploadOnly": "Nämä ovat latauskuvioita, jotka näytetään tässä viitteeksi. Vaihda tiedostoon kirjana tai kansiona kirjansääntönä käyttääksesi sellaista.", + "examplesFileModeOnly": "Kansio koska Kirja tarvitsee oman tiedostonimen, joten tämä idiom pätee tiedostoon vain kirjan kirjastoina.", + "example": { + "seriesOrStandalone": "Sarjat tai erillinen kansio", + "optionalSubtitle": "Valinnainen tekstitys", + "languageFolder": "Kieli kansio", + "publisherFolder": "Julkaisijan kansio", + "stackedOptional": "Pinotut valinnaiset kansiot", + "folderDrop": "Vain kansio, pidä tiedoston nimi" + }, + "exampleCase": { + "complete": "Complete", + "noSeries": "Ei sarjaa", + "noSubtitle": "Ei tekstitystä", + "noLanguage": "Ei kieltä", + "noPublisher": "Ei julkaisijaa" + }, + "unknownModifier": "Tuntematon modifier \"{modifier}\". Se jätetään huomiotta, jolloin arvo säilyy muuttumattomana.", + "rulesNav": "Nimeämissäännöt", + "railFoot": "Kirjasto, jolla ei ole omaa mallia, seuraa oletusta jonka alla se istuu.", + "usedBy": "Käyttäjä {libraries}", + "followsBase": "Seuraa {base}.", + "copyPattern": "Kopioi kuvio", + "recipes": "Reseptit", + "recipesTitle": "Aloita reseptistä", + "recipesReplace": "Korvaa koko kuvio", + "recipeInUse": "Käytössä", + "insert": "Insert", + "insertToolbar": "Liitä kuvioon", + "insertOptional": "Valinnainen", + "insertFallback": "Fallback", + "insertFolder": "Kansio", + "lineHint": "Paina {enter} aloittaaksesi uuden kansion tai tyypin {brace} valitaksesi tunnisteen. Napsauta kansion kuvaketta ohittaaksesi kansion, kun sen arvo puuttuu.", + "downloadLineHint": "Latauksissa ei ole kansioita, joten kuvion viimeistä osaa käytetään.", + "tokenSuggestions": "Vastaavat tokenit", + "noTokenMatch": "Ei hakutuloksia \"{query}\".", + "uploadedNameKept": "Ladattu tiedostonimi säilytetään", + "level": { + "folder": "Kansio {n}", + "bookFolder": "Kirjaa kansio", + "file": "Tiedoston nimi", + "skipWhenEmpty": "Ohita {level} kun sen arvo puuttuu", + "skippedWhenEmpty": "Ohitettu kun sen arvo puuttuu. Luo aina tämä kansio.", + "alwaysCreated": "Aina luotu. Klikkaa ohittaaksesi tämän kansion, kun sen arvo puuttuu." + }, + "result": "Tulos", + "previewWith": "Esikatsele sovelluksella", + "previewWithAria": "Esikatselu nimellä {title}", + "previewBook": { + "sample": "Näyte kirja", + "longTitle": "Pitkä otsikko ja sarja", + "longSubtitle": "Pitkä tekstitys", + "manyAuthors": "Viisi kirjoittajaa", + "audiobook": "Äänikirja", + "standalone": "Ei sarjaa" + }, + "previewingCase": "Esikatselu: {case}", + "showComplete": "Näytä valmis", + "previewStale": "Esikatselu saaliit ylöspäin, kun kuvio on vahvistettu.", + "noChange": "Ei muutosta", + "tagSkipped": "ohitettu", + "tagFallback": "fallback", + "tagBookFolder": "kirja kansio", + "tagUploadedName": "ladattu nimi", + "tagShortened": "lyhennetty 255 tavuksi", + "tagEmptyName": "tyhjä nimi", + "levelSkipped": "Ohitettu koska {token} on tyhjä", + "levelEmptyName": "Tyhjä kansion nimi. Anna tälle kansiolle varmennus, jotta sillä on aina yksi.", + "renameNote": "Kirjat jo levyllä säilyttävät polut. Kirjastot, jotka uudelleennimeävät tiedostoja käyttävät tätä kaavaa, kun kirjan tiedot tallennetaan: {libraries}." }, "kobo": { "title": "Kobo Sync", @@ -1791,7 +3127,14 @@ "twoWaySyncHint": "Synkronoi lukusijainti BookOrbitin ja Kobon välillä. Vaatii KEPUB-toimituksen tarkkojen sijaintien varalta ja luotettavan sivun palautuksen.", "syncHighlights": "Synkronoi BookOrbit kohokohdat Koboon", "syncHighlightsHint": "Lähetä BookOrbitissa tai KOReaderissa tehdyt kohokohdat Koboon. Kobo kohokohdat tuodaan BookOrbitiin, vaikka se olisi pois päältä. Yhdistetyt kommentit synkronoivat muokkauksia ja poistavat molemmat. Vaatii KEPUB-toimitusta; Kobon kirjan tulee olla KEPUB ladattu BookOrbitista.", + "storeSync": "Sisällytä Kobo-kaupan otsikot", + "storeSyncHint": "Toimita myös kirjoja Kobo tililtäsi, mukaan lukien Kobo Plus ja ostokset kirjaston rinnalla. Ilman tätä, vain BookOrbit kirjat saavuttavat laitteen. Kaupan otsikot ladataan Kobosta suoraan eikä niitä lisätä BookOrbit kirjastoon.", + "fullSizeCovers": "Täyskokoiset kannet", + "fullSizeCoversHint": "Lähetä jokainen kansi Kobon näytön resoluutioon, joten uniruudut ja koko näytön kannet pysyvät terävinä. Laita tämä pois päältä lähettääksesi nopeammin synkronoivia pienempiä kansia. Kobon kansikuva muuttuu jo kun kirjan kansi muuttuu.", + "convertKepub": "Muunna KEPUB:ksi", + "convertKepubHint": "Lähetä hyväksyttävät EPUB:t KEPUB:ksi. Tämä pysyy päällä, kun edistymisen synkronointi tai BookOrbit-to-Kobo -korostukset ovat käytössä. Seuraavassa Kobon synkronoinnissa näitä kirjoja tarjotaan jälleen KEPUB-latauksina. Poista vanha EPUB-kopio jos Kobo jatkaa sen avaamista.", "forceHyphenation": "Pakota välkkyminen", + "forceHyphenationHint": "Varmistaa johdonmukaisen tekstin perustelut. Tämä uudistaa välimuistissa olevat KEPUB:t.", "progressThresholds": "Edistymisen Kynnysarvot", "progressThresholdsHint": "Määrittele kun Kobon lukeminen päivittää kirjaston tilaa.", "markAsReading": "Merkitse luetuksi", @@ -1859,6 +3202,7 @@ }, "readingPositionSyncedTitle": "Lukeminen synkronoitu: {title}", "readingPositionSynced": "Lukeminen synkronoitu", + "labelWithTitle": "{label}: {title}", "updateCount": "{count, plural, one {# päivitys} other {# päivitystä}}", "directionToKobo": "Kirjankierto -> Kobo", "directionToBookOrbit": "Kobo - > Kirjankierto", @@ -1867,6 +3211,7 @@ "summary": { "noLibraryUpdatesPending": "Tälle laitteelle ei odoteta yhtään kirjastopäivitystä", "libraryUpdatesPrepared": "{count, plural, one {# kirjaston päivitys valmiina laitteelle} other {# kirjaston päivitystä valmiina laitteelle}}", + "bookDownloadedBy": "{title} on ladattu {device}", "booksDownloaded": "{count, plural, one {# kirja ladattu} other {# kirjaa ladattu}}", "progressUpdatesSyncedFor": "{count, plural, one {# edistymispäivitystä synkronoitu {title}} other {# edistymispäivitystä synkronoitu {title}}}", "progressUpdatesSynced": "{count, plural, one {# edistymispäivitystä synkronoitu} other {# edistymispäivitystä synkronoitu}}", @@ -1881,6 +3226,7 @@ "highlightsImportedFromKoboFor": "{count, plural, one {# korostus tuotu Kobosta {title}} other {# kohokohtaa tuotu Kobosta {title}}}", "highlightsImportedFromKobo": "{count, plural, one {# korostus tuotu Kobosta} other {# kohokohtia tuotu Kobosta}}" }, + "timeRange": "{from} päättyen {to}", "eventsGrouped": "{count, plural, one {# tapahtuma ryhmitelty} other {# tapahtumaa ryhmitelty}}", "removedDevice": "Poistettu laite", "loadMoreFailed": "Ei voitu ladata lisää historiaa", @@ -1897,7 +3243,8 @@ "loadMore": "Lataa lisää toimintaa" }, "howBooksSynced": { - "title": "Kuinka kirjat synkronoidaan" + "title": "Kuinka kirjat synkronoidaan", + "body": "Kirjojen lähettämiseksi Kobo-laitteeseesi, sinun täytyy ottaa käyttöön {syncToKobo} näitä kirjoja sisältävissä kokoelmissa. Avaa mikä tahansa kokoelma sivupalkista, napsauta Muokkaa kuvaketta ja vaihda {syncToKobo}. Kirjat, jotka eivät ole osa käytössä olevaa kokoelmaa, eivät synkronoi" }, "nextSteps": { "title": "Seuraavat Vaiheet", @@ -1956,6 +3303,8 @@ "daysAgo": "{count}pv sitten", "unknown": "Tuntematon", "updateAvailable": "Päivitys saatavilla", + "manualUpdateRequired": "Manuaalinen päivitys vaaditaan", + "manualUpdateExplanation": "Tämä plugin versio ei voi asentaa omia päivityksiä. Lataa plugin ja kopioi bookorbit.koplugin koreader/plugins/ tällä laitteella.", "upToDate": "Ajan tasalla", "versionUnknown": "Tuntematon versio", "latestPlugin": "Viimeisin plugin: v{version}", @@ -1969,6 +3318,23 @@ "usernamePlaceholder": "esim. myreader", "password": "Salasana", "passwordPlaceholder": "Vähintään 6 merkkiä", + "changeCredentials": { + "action": "Muuta käyttäjätunnuksia", + "title": "Vaihda KOReader-tunnuksia", + "description": "Jokaisella BookOrbit-tilillä on yksi KOReaderin käyttöoikeusasetus. Muuta se tänne poistamatta synkronoituja tietoja.", + "newPassword": "Uusi salasana", + "usernameInvalid": "Käyttäjänimen on oltava 3-100 merkkiä pitkä.", + "passwordPlaceholder": "Jätä tyhjäksi säilyttääksesi nykyisen salasanan", + "passwordHint": "Jätä tämä tyhjäksi säilyttääksesi nykyisen salasanan.", + "passwordInvalid": "Salasanan on oltava 6-128 merkkiä pitkä.", + "deviceNotice": "Edellistä kirjautumista käyttävät laitteet on yhdistettävä uudelleen tai päivitettävä äskettäin ladatulla liitännäisen paketilla.", + "showPassword": "Näytä uusi salasana", + "hidePassword": "Piilota uusi salasana", + "save": "Tallenna käyttäjätunnukset", + "saving": "Tallennetaan...", + "updated": "KOReader-tunnukset päivitetty", + "updateFailed": "KOReader-tunnusten päivitys epäonnistui" + }, "creating": "Luodaan...", "create": "Luo", "credentialsCreated": "KOReaderin synkronointitiedot luotu", @@ -1985,6 +3351,8 @@ "credentialsCreatedLabel": "Käyttäjätunnukset luotu", "setup": "Asetukset", "pluginServerUrl": "Liitännäispalvelimen URL osoite", + "syncUrl": "KOReaderin synkronoinnin URL", + "syncUrlHint": "Toimii BookOrbit plugin ja KOReaderin sisäänrakennettu käynnissä synkronointi.", "copied": "Kopioitu", "copyUrl": "Kopioi URL", "preconfiguredPlugin": "Esikonfiguroitu BookOrbit- liitännäinen", @@ -2024,6 +3392,7 @@ "stockStep1Prefix": "KOReader-laitteellasi voit siirtyä osoitteeseen", "stockStep1Suffix": ".", "stockStep2": "Aseta mukautettu synkronointipalvelin yllä olevan URL-osoitteen kanssa.", + "stockStep2InlineUrl": "Aseta mukautettu synkronointipalvelin seuraavaan osoitteeseen:", "stockStep3": "Syötä käyttäjätunnus ja salasana ja napauta sitten Kirjaudu sisään.", "locationNote": "BookOrbit tallentaa KOReader-yhteensopivia EPUB-sijainteja web-lukijalta. Palautus pitäisi laskeutua lähellä samaa paikkaa, vaikka tarkka sijoitus voi vaihdella lukijan ja EPUB ulkoasu.", "dangerZone": "Vaara Vyöhyke", @@ -2061,6 +3430,9 @@ "loadingManual": "Ladataan manuaalisia tiivistelinkkejä...", "noUnmatched": "KOReader-kirjoja ei löytynyt.", "noManual": "Ei manuaalista KOReader-linkkiä.", + "pageOf": "Sivu {page} jostakin {total}", + "showingRange": "Näytetään {start}-{end} jostakin {total}", + "unknownFile": "Tuntematon KOReader-tiedosto {hash}", "unknownAuthor": "Tuntematon tekijä", "noTitleOrAuthor": "Ei julkaistua otsikkoa tai kirjoittajaa", "bookNumber": "Kirjanorbit- kirja #{id}", @@ -2077,7 +3449,13 @@ "unmatchedDismissed": "Vastaamaton kirja hylätty", "dismissFailed": "Vastaamattoman kirjan hylkääminen epäonnistui", "allDismissed": "{count, plural, =0 {Hylkäsi mitään vertaansa vailla olevia kirjoja} one {Hylkäsi # vertaansa vailla oleva kirja} other {Hylkäsi # vertaansa vailla olevia kirjoja}}", - "dismissAllFailed": "Kaikkia vastaamattomia kirjoja ei voitu hylätä" + "dismissAllFailed": "Kaikkia vastaamattomia kirjoja ei voitu hylätä", + "reviewRefreshed": "Päivitetyt kirjat", + "reviewRefreshFailed": "Kirjojen päivitys tarkistettavaksi epäonnistui", + "reviewDismissed": "Kirja hylätty tarkastelusta", + "reviewDismissFailed": "Kirjan hylkääminen tarkastelusta epäonnistui", + "reviewAllDismissed": "{count, plural, =0 {Hylkäsi ei kirjoja arvostelusta} one {Hylkäsi # kirjan arvostelusta} other {Hylkäsi # kirjoja arvostelusta}}", + "reviewDismissAllFailed": "Kaikkia kirjoja tarkastelusta ei voitu hylätä" }, "modal": { "linkTitle": "Linkitä KOReader-kirja", @@ -2130,14 +3508,38 @@ "syncedStatsNote": "Jo synkronoidut tilastot pysyvät nykyisessä kirjakierroskirjassaan.", "chooseDifferent": "Valitse eri", "saving": "Tallennetaan...", - "confirmLink": "Vahvista linkki" + "confirmLink": "Vahvista linkki", + "reviewTitle": "KOReader Books to Review", + "reviewHint": "Kirjat, joissa ei ole automaattista ottelua, ja linkittämättömät kirjat näkyvät täällä. Linkittämättömät kirjat voivat edelleen synkronoida automaattisen ottelun kautta. Linkitä kirja ohittaaksesi osuman, tai hylkää se poistaaksesi sen tästä luettelosta.", + "loadingReview": "Ladataan kirjoja tarkistettavaksi...", + "noReview": "Ei KOReader-kirjoja tarkistettavaksi.", + "manualUnlinkConfirmBody": "Poista manuaalinen linkki {title} ja palauta tämä kirja tarkasteluluetteloon. Tulevaisuuden synkronoinnit käyttävät automaattista ottelua, jos sellainen on olemassa. Jo synkronoidut tilastot pysyvät nykyisessä BookOrbit-kirjassaan.", + "reviewDismissConfirmBody": "Tämä poistaa sen kirjoistasi tarkistettavaksi. Automaattinen täsmäytys ja olemassa olevat synkronointitiedot säilytetään. Jos laite ilmoittaa tiivisteen uudelleen ilman ottelua, se voi näkyä uudelleen.", + "reviewDismissAllConfirmTitle": "{count, plural, =0 {Ei kirjoja tarkistaa} one {Hylkää kaikki # kirja arvosteluksi?} other {Hylkää kaikki # kirjoja arvosteluksi?}}", + "reviewDismissAllConfirmBody": "Tämä tyhjentää koko kirjasi tarkistaaksesi listan, mukaan lukien muilla sivuilla olevat merkinnät. Automaattinen täsmäytys ja olemassa olevat synkronointitiedot säilytetään. Jos laite ilmoittaa tiivistyksen uudelleen ilman ottelua, se voi näkyä uudelleen." }, "remove": "Poista", "removing": "Poista...", "unmatchedBooks": "Vastaamattomat kirjat", "deviceRemoved": "Laite poistettu", "removeDeviceFailed": "Laitteen poistaminen epäonnistui", - "removeDeviceConfirmBody": "Tämä poistaa pysyvästi tämän laitteen synkronoidun etenemisen, lukemisen toiminnan, ja kaikki vastaamattomat kirjamerkinnät eivät enää ole toisen laitteen ilmoittamia. Jos laite synkronoi uudelleen myöhemmin, se ilmaantuu uudelleen uutena kohteena." + "removeDeviceConfirmTitle": "Poista {device}?", + "removeDeviceConfirmBody": "Tämä poistaa pysyvästi tämän laitteen synkronoidun etenemisen, lukemisen toiminnan, ja kaikki vastaamattomat kirjamerkinnät eivät enää ole toisen laitteen ilmoittamia. Jos laite synkronoi uudelleen myöhemmin, se ilmaantuu uudelleen uutena kohteena.", + "deleteDeviceDataConfirmTitle": "Poista synkronoidut tiedot {device} -tasolta?", + "deleteDeviceDataConfirmBody": "Tämä poistaa pysyvästi tämän laitteen synkronoidun etenemisen, sivulta lukemisen aktiviteetin, ja kaikki sopimattomat kirjamerkinnät eivät enää ole toisen laitteen ilmoittamia. Lukeminen istuntoja, jotka on jo tallennettu tilastoihisi, pidetään. Jos laite synkronoi uudelleen myöhemmin, se näkyy uutena kohteena.", + "devicesHint": "Laitteen poistaminen piilottaa sen ja pitää kaiken synkronoinnin. Synkronoitujen tietojen poistamista ei voi peruuttaa.", + "retire": "Retire", + "retiring": "Poistetaan...", + "restore": "Palauta", + "restoring": "Palautetaan...", + "deleteSyncedData": "Poista tiedot", + "deletingSyncedData": "Poistetaan...", + "deviceRetired": "Laite eläkkeellä", + "deviceRestored": "Laite palautettu", + "retireDeviceFailed": "Laitteen poistaminen käytöstä epäonnistui", + "restoreDeviceFailed": "Laitteen palautus epäonnistui", + "retiredDevices": "{count, plural, one {# retired device} other {# retired devices}}", + "retiredOnLabel": "Eläkkeellä" }, "opds": { "title": "OPDS", @@ -2202,18 +3604,690 @@ "tabs": { "file-naming": "Tiedoston Nimeäminen", "book-dock": "Kirja Telakka", + "requests": "Pyynnöt", "maintenance": "Huolto", "audit-log": "Tarkastusloki" + }, + "requests": { + "title": "Pyynnöt", + "subtitle": "Mistä julkaisuja löytyy, mikä niitä hakee, ja mitä tapahtuu, kun ne laskevat.", + "tabs": { + "sources": "Lähteet", + "clients": "Lataa asiakkaat", + "automation": "Automaatio" + }, + "loading": "Ladataan latausohjelmia...", + "clients": "Lataa asiakkaat", + "addClient": "Lisää asiakas", + "editClient": "Muokkaa asiakasta", + "deleteClient": "Poista {name}", + "clientsEmpty": { + "title": "Ei vielä latausasiakasta", + "body": "Suora HTTP-lataus ei vaadi asiakasta. Yhdistä sellainen, jotta BookOrbit voi hakea myös torrent- tai Usenet-julkaisuja.", + "note": "qBittorrent, Transmission, Deluge, NZBGet ja SABnzbd ovat tuettuja." + }, + "summary": "{type} - kategoria {category}, prioriteetti {priority}", + "disabled": "Pois Käytöstä", + "test": "Testaa yhteys", + "testSaveFirst": "Tallenna muutokset ennen testausta", + "testOk": "Yhdistetty kohteeseen {client} {version}", + "testOkNoVersion": "Yhdistetty {client}", + "lastTestOk": "Viimeksi testattu {time}: yhdistetty", + "lastTestFailed": "Viimeksi testattu {time}: {error}", + "saved": "Lataa asiakas tallennettu", + "deleted": "Lataa asiakas poistettu", + "clientTypes": { + "qbittorrent": "qBittorrent", + "transmission": "Lähetys", + "deluge": "Deluge", + "nzbget": "NZBGet", + "sabnzbd": "SABnzbd" + }, + "color": { + "label": "Väri", + "hint": "Merkitsee tämän asiakkaan siirto-yksityiskohtiin. Siirtoprotokolla pitää oman värinsä.", + "none": "Ei väriä" + }, + "fields": { + "name": "Nimi", + "type": "Asiakkaan tyyppi", + "baseUrl": "Base URL", + "username": "Käyttäjätunnus", + "password": "Salasana", + "apiKey": "API avain", + "passwordKeep": "Jätä tyhjäksi säilyttääksesi tallennetun salasanan", + "apiKeyKeep": "Jätä tyhjäksi pitääksesi tallennetun API-avaimen", + "passwordClear": "Tyhjennä", + "passwordKeepAction": "Säilytä", + "passwordWillClear": "Tallennettu salasana poistetaan kun tallennat", + "apiKeyWillClear": "Tallennettu API-avain on poistettu, kun tallennat", + "category": "Kategoria", + "categoryHint": "Tunnisteet lataukset BookOrbit lisätä, joten se vain koskaan toimii yksin.", + "priority": "Prioriteetti", + "enabled": "Käytössä", + "useHardlinks": "Käytä hardlinkkejä", + "allowPrivateAddress": "Salli yksityiset osoitteet", + "allowPrivateAddressHint": "Tarvitaan kun asiakas toimii paikallisessa verkossa tai samassa koneessa.", + "passwordBrief": "Tallennettu salattu.", + "apiKeyBrief": "Löytyi SABnzbdissä Config > General. Tallennettu salattu.", + "useHardlinksBrief": "Tuonti ilman levyn käyttöä kahdesti. Soittaa takaisin kopioon tiedostojärjestelmien välillä." + }, + "mappings": { + "title": "Reitin yhdistäminen", + "hint": "Käännä polut asiakkaan raportit poluille BookOrbit voi avata. Tarvitaan kun kaksi ajaa erillisissä konteissa.", + "add": "Lisää kartoitus", + "remove": "Poista kartoitus", + "remotePath": "Asiakkaan polku", + "localPath": "Kirjankiertoradan polku", + "brief": "Tarvittava. Ilmoittaa hakemiston BookOrbit voi tuoda; kun asiakas näkee samat tiedostot samoilla poluilla, kartta lataushakemistoon itselleen.", + "identityExample": "Sama tiedostojärjestelmä? Käytä samaa polkua molemmin puolin, esimerkiksi /downloads vasemmalla ja /downloads oikealla puolella." + }, + "hardlink": { + "test": "Testaa hardlink", + "checking": "Tarkistetaan...", + "works": "Hardlinks työtä täällä: tuonti ei käytä levyä kahdesti.", + "unavailable": "Hardlinks ei ole saatavilla täältä: tuonti kopioi tilan avulla kahdesti.", + "link_refused": "Tämä tiedostojärjestelmä hylkäsi linkin ({code}): Tuonti kopioi käyttäen välilyöntiä kahdesti.", + "download_dir_unwritable": "KirjanOrbit ei voi kirjoittaa latauskansioon ({code}), joten hardlinking ei voitu testata.", + "localMissing": "Kirjankiertue ei näe tuota polkua.", + "dockMissing": "Book Dock -kansiota ei voi lukea." + }, + "reconciliation": { + "action": "Reconcile", + "clean": "Jokainen omistettu asiakaserä vastaa säilytetty BookOrbit latausyritys.", + "unsupported": "Tämä asiakas ei voi luetella kohteita BookOrbitin omistusoikeuden merkitsijällä. Ota käyttöön nimikirjain laajennus Transmissioon, määritä kategorian kansio.", + "truncated": "Asiakas palautti yli 1000 omistamaansa kohdetta. Ratkaise näkyvät merkinnät ja sovita ne uudelleen.", + "orphan": "Mikään säilytetty BookOrbit yrittää omistaa tämän asiakkaan kohteen.", + "failedAttempt": "Asiakas pitää edelleen tätä kohdetta, mutta sen yritys \"{title}\" on merkitty epäonnistui.", + "missing": "Tämä {status} yritys ei enää ole ladattavassa asiakasohjelmassa.", + "adopt": "Liitä {title}", + "adopted": "Liittänyt asiakkaan kohteen {title}", + "remove": "Poista asiakkaasta", + "removed": "Poistettu asiakkaan orvoksi jäänyt kohde", + "removeTitle": "Poista tämä orvoksi jäänyt asiakastuote?", + "removeDescription": "{name} on poistettu latausohjelmasta. Sen ladattavat tiedostot säilytetään.", + "notOrphan": "Tämä asiakaskohde on edelleen liitetty BookOrbitin latausyritykseen.", + "notAdoptable": "Tämä asiakaskohde tai epäonnistunut yritys muutettu, eikä sitä voi enää liittää. Reconcile uudelleen." + }, + "errors": { + "loadFailed": "Ei voitu ladata latausohjelmia", + "saveFailed": "Ladattavaa asiakasta ei voitu tallentaa", + "deleteFailed": "Ladattavaa asiakasta ei voitu poistaa", + "testFailed": "Tähän latausohjelmaan ei saatu yhteyttä", + "nameAndUrlRequired": "Nimi ja perusosoite ovat pakollisia", + "nameTaken": "Nimellä varustettu latausohjelma on jo olemassa", + "urlUnsafe": "PerusURL-osoitetta ei voitu saavuttaa. Tarkista osoite ja käytä http tai https.", + "urlPrivate": "Tämä osoite on yksityisessä tai paikallisessa verkossa. Ota \"Salli yksityiset osoitteet\", jos asiakas toimii siellä.", + "encryptionKeyMissing": "Aseta BOOK_REQUEST_ENCRYPTION_KEY ennen asiakkaan tunnuksen tallentamista. Luo yksi: openssl rand -hex 32", + "encryptionKeyChanged": "Tallennettua asiakastiliä ei voitu lukea. BOOK_REQUEST_ENCRYPTION_KEY on saattanut muuttua tallennuksen jälkeen.", + "pathNotAbsolute": "Reitin kartoituksessa on käytettävä absoluuttisia polkuja molemmin puolin", + "nameRequired": "Anna tälle asiakkaalle nimi.", + "urlRequired": "Syötä osoite BookOrbit pitäisi tavoittaa tähän asiakkaaseen.", + "mappingRequired": "Lisää ainakin yksi polun kartoitus, joten BookOrbit tietää, mistä hakemistosta se voi tuoda.", + "apiKeyRequired": "Syötä SABnzbd API-avain Config > General." + }, + "encryptionKeyMissing": "BOOK_REQUEST_ENCRYPTION_KEY ei ole asetettu, joten asiakastilitiliä ei voi tallentaa. Luo sellainen kanssa: openssl rand -hex 32", + "confirmDelete": { + "title": "Poistetaanko tämä latausohjelma?", + "description": "{name}osoite ja tallennetut käyttöoikeustiedot poistetaan, ja latauspyynnöt lakkaavat päivityksestä. Poista se käytöstä säilyttääksesi tiedot.", + "confirm": "Poista asiakas" + }, + "indexers": { + "title": "Suorat syötteet", + "hint": "Yhdistä yksittäinen Torznab syöte torrents tai Newznab syöte Usenet releases.", + "allDisabled": "Jokainen alla oleva lähde on kytketty pois päältä, joten hakua ei löydy mitään. Vaihda ainakin yksi takaisin päälle.", + "loading": "Ladataan indeksiä...", + "empty": { + "title": "Ei vielä lähteitä", + "body": "BookOrbit niputtaa mitään lähteitä omasta, joten hakua ei löydy ennen kuin lisäät. Valitse asetukset, jotka sopivat indeksoijisi.", + "bodyOneWay": "BookOrbit niputtaa mitään lähteitä omasta, joten hakua ei löydy ennen kuin lisäät yhden.", + "responsibility": "Mikä lähde lisäät indeksejä, on sinun vastuullasi.", + "prowlarrTitle": "Yhdistä Prowlarr", + "prowlarrBody": "Hallitse useita torrent- ja Usenet-indeksoijia yhden yhteyden kautta.", + "recommended": "Suositeltu", + "pluginTitle": "Asenna liitännäinen", + "pluginBody": "Yksi tiedosto, joka opettaa BookOrbitin etsimään tiettyä sivustoa. Syötät sen ja täytä sen asetukset.", + "torznabTitle": "Lisää Torznab indeksoija", + "torznabBody": "Kohta klo Prowlarr, Jackett tai NZBHydra syöte olet jo suorittanut. Yksi per rehu.", + "builtInTitle": "Lisää indeksoija", + "builtInBody": "Kohta Torznab tai Newznab syötteen, jota jo käytät. Yksi konfiguraatio per rehu." + }, + "add": "Lisää indeksoija", + "edit": "Muokkaa indeksoijaa", + "delete": "Poista {name}", + "none": "Ei indeksoijaa vielä.", + "disabled": "Pois Käytöstä", + "test": "Testaa yhteys", + "testSaveFirst": "Tallenna muutokset ennen testausta", + "testOk": "Yhdistetty {name}", + "toggleAria": "Hae nimellä {name}", + "enabledNotice": "{name} haetaan", + "disabledNotice": "{name} ei hae", + "lastTestOk": "Viimeksi testattu {time}: yhdistetty", + "lastTestFailed": "Viimeksi testattu {time}: {error}", + "saved": "Indeksointi tallennettu", + "deleted": "Lähde poistettu", + "unavailable": "Tässä asennuksessa ei ole \"{type}\" indexer tyyppiä. Vaihda tyyppi tai poista sen liitännäinen ja tallennetut asetukset.", + "pluginFailed": "Liitännäinen sisään \"{directory}\" ei latautunut: {reason}", + "sources": { + "title": "Lähteet", + "hint": "Kaikki BookOrbit voi etsiä, ryhmitelty yhteyden mukaan.", + "add": "Lisää lähde", + "prowlarr": "Yhdistä Prowlarr", + "prowlarrHint": "Hallitse useita torrent ja Usenet indeksoijia yhdessä.", + "direct": "Lisää Torznab tai Newznab", + "directHint": "Yhdistä yksi yhteensopiva syöte suoraan.", + "plugin": "Asenna liitännäinen", + "pluginHint": "Lisää erikoistunut lähdekoodi.", + "activeSummary": "{count,plural,one{# aktiivinen lähde} other{# aktiiviset lähteet}}: {torrent} torrentti, {usenet} Usenet, {direct} suora" + }, + "network": { + "title": "Edistynyt verkko", + "hint": "Tarvittava vain, kun oletuspolku tähän lähteeseen ei toimi. Se, mikä sallitaan, ei muutu: mihin tahansa osoitteeseen päästään, tarkistetaan edelleen samalla tavalla.", + "resolvers": "DNS palvelimet", + "proxyUrl": "Välityspalvelimen URL", + "proxyHint": "Http tai https välityspalvelin, joka lähettää tämän lähteen pyynnöt. SOCKS ei ole tuettu.", + "brief": "Tarvittava vain, kun oletuspolku tähän lähteeseen ei toimi.", + "resolversBrief": "Pilkulla erotettu. Käytetään vain tämän lähteen järjestelmän resolverin sijaan; tyhjä käyttää järjestelmää.", + "proxyBrief": "Http tai https välityspalvelin tälle lähteelle. SOCKS ei ole tuettu." + }, + "types": { + "torznab": "Torznab (Jackett, Prowlarr, NZBHydra)", + "newznab": "Newznab" + }, + "fields": { + "name": "Nimi", + "type": "Indeksoijan tyyppi", + "baseUrl": "Base URL", + "baseUrlHint": { + "torznab": "Torznab syötteen URL, ilman kyselyn merkkijono. Jackett näyttää sen kunkin indeksoijan \"Torznab Feed\".", + "newznab": "Newznab sivuston URL tai API päätepiste, ilman hakua." + }, + "credential": { + "apiKey": "API avain", + "sessionId": "Istunnon Tunnus" + }, + "credentialKeep": "Jätä tyhjäksi säilyttääksesi tallennetun käyttäjätunnuksen", + "credentialClear": "Tyhjennä", + "credentialKeepAction": "Säilytä", + "credentialWillClear": "Tallennetut tiedot poistetaan kun tallennat", + "enabled": "Käytössä", + "allowPrivateAddress": "Salli yksityiset osoitteet", + "credentialBrief": "Tallennettu salattu.", + "allowPrivateAddressBrief": "Oletusarvoisesti pois päältä. Tarvitsee vain kun lähde on paikallisessa verkossa.", + "searchByIsbn": "Haku ISBN:llä", + "searchByIsbnBrief": "Käytössä oletuksena. Poista se käytöstä, jos tämä lähde palauttaa väärän kirjan tarkalleen ISBN:lle, ja sitä etsitään sen sijaan otsikon ja tekijän mukaan." + }, + "color": { + "label": "Väri", + "hint": "Merkitsee tämän lähteen jokaisesta julkaisusta se palaa, joten voit kertoa mistä tulos tuli ennen sen nimen lukemista. Toimitusprotokollat pitävät omat värinsä, minkä vuoksi näitä värejä ei tarjota.", + "none": "Ei väriä", + "options": { + "blue": "Sininen", + "indigo": "Indigo", + "purple": "Violetti", + "pink": "Pinkki", + "red": "Punainen", + "orange": "Oranssi", + "yellow": "Keltainen", + "lime": "Limea", + "green": "Vihreä", + "teal": "Sinappi" + } + }, + "mediaKinds": { + "label": "Etsi tästä lähteestä", + "hint": "Tämän lähteen poistaminen käytöstä ei kannata kysyä. Vain äänikirjaimen takana yleinen välityspalvelin sanoo silti se kuljettaa kaiken, ja etsimällä se ebooks maksaa pyynnön jokaisesta hausta.", + "notCarried": "Tämä lähde ei kanna sitä." + }, + "categories": { + "title": "Kategoriat", + "brief": "Indeksoijan omat luokan numerot, pilkuilla erotettuna." + }, + "settings": { + "restoreDefault": "Palauta oletukset" + }, + "seeding": { + "applyTracker": "Käytä seurantakoodin seed maalia", + "applyTrackerBrief": "Kun manuaalinen arvo on tyhjä, käytä seurantapalvelimen ilmoittamaa oikeaa tavoitetta. Kun tämä on pois päältä, tyhjät arvot käyttävät latausasiakkaan oletusarvoja. Manuaaliset arvot ovat edelleen voimassa.", + "ratio": "Siementen suhde", + "ratioBrief": "Positiivinen desimaali. Tyhjä perii seurantapalvelimelta tai asiakkaalta.", + "time": "Siemenaika (minuuttia)", + "timeBrief": "Positiivinen kokonaisluku. Tyhjä perii seurantapalvelimelta tai asiakkaalta.", + "clientSupport": "qBittorrent hyväksyy suhteen ja siementen kokonaisajan. Deluge ja Transmission hyväksymissuhde vain. Asiakkaan yleiset säännöt ja kumpi raja on saavutettu ensin voi lopettaa kylvöä, joten nämä arvot eivät takaa jokaisen seurantapalvelimen vähimmäistason täyttymistä.", + "futureGrabs": "Muutokset koskevat tulevia grabeja. Olemassa olevat tai hyväksytyt torrentit voivat säilyttää asiakaskohtaiset rajat. Seurantapalvelimen sammuttaminen jättää asiakkaan oletusarvot aktiivisiksi, se ei tarkoita rajoittamatonta kylvöä.", + "reset": "Palauta lähetyksen asetukset", + "summary": { + "title": "Politiikan yhteenveto", + "ratio": "Suhde", + "time": "Siementen aika", + "manual": "Manuaalinen: {value}", + "tracker": "Tracker fallback", + "client": "Asiakkaan oletus" + }, + "errors": { + "ratio": "Anna nollaa suurempi rajallinen luku tai jätä tämä tyhjäksi.", + "minutes": "Syötä numero numerosta 1 - 2,147,483,647, tai jätä tämä tyhjäksi." + } + }, + "confirmDelete": { + "title": "Poistetaanko tämä lähde?", + "description": "{name}osoite, asetukset ja tallennetut käyttöoikeustiedot poistetaan. Poista se käytöstä sen sijaan, että lopetat sen haun menettämättä niitä.", + "confirm": "Poista lähde" + }, + "errors": { + "loadFailed": "Indeksoijia ei voitu ladata", + "saveFailed": "Indeksoijaa ei voitu tallentaa", + "deleteFailed": "Tätä lähdettä ei voitu poistaa", + "testFailed": "Tähän indeksointiin ei saatu yhteyttä", + "nameAndUrlRequired": "Nimi ja perusosoite ovat pakollisia", + "nameTaken": "Samanniminen indeksoija on jo olemassa", + "urlUnsafe": "PerusURL-osoitetta ei voitu saavuttaa. Tarkista osoite ja käytä http tai https.", + "urlPrivate": "Tämä osoite on yksityisessä tai paikallisessa verkossa. Ota \"Salli yksityiset osoitteet\", jos indeksoija toimii siellä.", + "credentialRequired": "Tämä indeksoija tarvitsee tunnisteen ennen kuin sitä voidaan käyttää", + "invalidSettings": "Yksi tai useampi lähdekoodin asetus on virheellinen. Tarkista käytettävissä olevat valinnat.", + "nameRequired": "Anna tälle indeksoijalle nimi.", + "urlRequired": "Kirjoita osoite KirjanOrbit pitäisi etsiä." + }, + "editName": "Muokkaa {name}", + "editorDescription": "Tämän indeksoinnin asetukset.", + "chooseType": "Valitse indeksoijan tyyppi", + "chooseTypeHint": "Valitse mistä BookOrbit pitäisi etsiä. Lomake kysyy vain, mitä tämä lähde tarvitsee.", + "builtIn": "Rakennettu sisään", + "plugin": "Liitännäinen", + "typeDescriptions": { + "torznab": "Oma takkisi, Prowlarr tai NZBHydra. Käyttää luokkia ja siementen tavoitteita.", + "newznab": "Newznab-yhteensopiva Usenet indexer. Käyttää kategorioita ja vaatii API-avaimen." + }, + "plugins": { + "title": "Liitännäiset", + "hint": "Sivuston kirjanorbit voi etsiä, joka lisätään yhdeksi liitännäisen tiedostoksi.", + "directoryLink": "Selaa avoimien kirjastojen liitännäisiä", + "none": "Liitännäistä ei ole asennettu. Asenna sellainen etsiäksesi sivustoa, jota sisäänrakennetut protokollat eivät peitä.", + "install": "Asenna liitännäinen", + "installed": "Asennettu {label}.", + "installFailed": "Liitännäistä ei voitu asentaa.", + "inspectFailed": "Tiedostoa ei voitu lukea liitännäisenä.", + "removeAction": "Poista liitännäinen", + "removed": "Poistettu {type} ja sen lähteet.", + "removeFailed": "Liitännäistä ei voitu poistaa.", + "confirmRemove": "Poista {label} liitännäinen?", + "replaces": "Tämä korvaa {type} liitännäinen on jo asennettu.", + "restartRequired": "Käynnistä BookOrbit uudelleen, jotta plugin muutos tulee voimaan.", + "confirmInstall": "Asenna liitännäinen", + "configure": "Määritä asetukset", + "notSetUp": "Ei vielä määritetty", + "brokenTitle": "Liitännäinen ei ladannut", + "managedHint": "Tämä palvelin on asennettu. Päivitetään sen koodia. Poistetaan pysyvästi liitännäinen ja kaikki tämän tyyppiset lähteet.", + "missingHint": "Liitännäistiedosto on jo poissa. Poista tämä liitännäisen merkintä poistaaksesi kaikki jäljellä olevat lähteet, asetukset ja tallennetut käyttöoikeustiedot tyypeiltään.", + "removeWarning": "{count,plural,one{# lähde ja sen tallennetut asetukset ja käyttöoikeustiedot poistetaan pysyvästi tällä liitännäisellä} other{# lähteet ja niiden tallennetut asetukset ja käyttäjätunnukset poistetaan pysyvästi tällä liitännäisellä}}", + "configureAria": "Määritä {label}", + "usedBy": "{count, plural, one {käytössä # lähteellä} other {käytössä # lähteellä}}", + "unused": "ei lähde käytä sitä vielä", + "update": "Päivitä liitännäinen", + "checkUpdates": "Tarkista päivitykset", + "updateCheckComplete": "Liitännäisen päivityksen tarkistus valmis.", + "updateCheckFailed": "Liitännäisen päivityksiä ei voitu tarkistaa.", + "updateInspectFailed": "Liitännäisen julkaistua päivitystä ei voitu todentaa.", + "reviewUpdate": "Tarkista päivitys", + "updated": "Päivitetty {label} päättyen {version}.", + "autoUpdate": "Asenna allekirjoitetut päivitykset automaattisesti", + "autoUpdateFailed": "Tämän liitännäisen automaattisia päivityksiä ei voitu muuttaa.", + "installedVersion": "Asennettu versio", + "updateChannel": "Allekirjoitettu päivityskanava", + "signatureVerified": "Ladattu lähde vastaa kustantajan Ed25519 allekirjoitusta.", + "updateStates": { + "unsupported": "Manuaaliset päivitykset", + "unchecked": "Ei vielä tarkistettu", + "current": "Ajan tasalla", + "available": "Versio {version} saatavilla", + "custom": "Mukautettu versio", + "failed": "Päivityksen tarkistus epäonnistui" + }, + "wrongType": "Tuo tiedosto on {found} liitännäinen, ei {expected}.", + "replaceTitle": "Korvataanko tämä lisäosa?", + "replace": "Korvaa liitännäinen", + "reviewTitle": "Asennetaanko tämä lisäosa?", + "reviewDescription": "Mitä tiedosto ilmoittaa itsestään, ja koodi jota se käyttää.", + "declares": "Mitä se julistaa", + "source": "Mitä se ajaa", + "type": "Tyyppi", + "version": "Versio", + "versionLabel": "Liitännäisversio {version}", + "versionUnknown": "Liitännäisen versio tuntematon", + "versionUnknownValue": "Tuntematon", + "media": "Media", + "credential": "Käyttöoikeustiedot", + "credentialRequired": "Pakollinen", + "credentialNone": "Ei Mitään", + "trustWarning": "Liitännäinen toimii BookOrbitin sisäpuolella ja sillä on pääsy tietokantaan, kirjaston tiedostoihin ja salausavaimiin. Asenna yksi vain lähteestä, johon luotat, ja lue se ensin.", + "sectionTitle": "Liitännäinen", + "removeUnusedWarning": "Liitännäinen poistetaan pysyvästi palvelimelta ja se poistetaan palvelimelta." + }, + "posture": "KirjanOrbit ei tarjoa tai tue indeksoijan lähteitä. Jokainen lähde täällä on yksi konfiguroit, ja olet vastuussa mitä etsit ja ladata sen kautta." + }, + "managers": { + "add": "Lisää Prowlarr", + "loading": "Ladataan Prowlarr- yhteyksiä...", + "managedSources": "{count, plural, one {# hallittua indeksoijaa} other {# hallittua indeksoijaa}}", + "protocol": { + "torrent": "Torrentti", + "usenet": "Usenet" + }, + "saved": "Prowlarr- asetukset tallennettu", + "deleted": "Prowlarr poistettu", + "synced": "Prowlarr lähteet synkronoitu", + "test": "Testaa yhteys", + "sync": "Synchronize", + "testOk": "Yhdistetty Prowlarriin {version}. Löytyi {count,plural,one{# lähde} other{# lähteet}}.", + "unavailable": "Unavailable", + "priority": "Prowlarr priority {priority}", + "toggleSource": "Hae nimellä {name}", + "changeColor": "Muuta väriä {name}", + "sourceColor": "Lähteen väri", + "sourceColorHint": "Merkit palautti {name} julkaisuja koko BookOrbitin ajan.", + "noSources": "Yhteensopivia torrent tai Usenet indeksoijia ei löydetty. Synkronoi lisäyksen jälkeen yksi Prowlarrissa.", + "unknown": "Tuntematon", + "editorDescription": "Yhteyden ja lähdekoodin synkronointiasetukset Prowlarr- ohjelmalle.", + "confirmDelete": "Poistetaanko tämä prowlarr-yhteys?", + "deleteConsequence": "Yhteys, salattu API-avain ja kaikki synkronoidut lähteet poistetaan. Käynnissä olevia tiedostoja ei poisteta.", + "fields": { + "name": "Nimi", + "color": "Yhteyden väri", + "colorHint": "Merkitsee tämän Prowlarr-yhteyden täällä. Jokaisella hallinnoidulla indeksoijalla on oma julkaisuväri.", + "baseUrl": "Base URL", + "apiKey": "API avain", + "apiKeyHint": "Löytyi Prowlarrissa kohdassa Asetukset > Yleiset > Turvallisuus. Tallennettu salattu.", + "syncNew": "Ota uudet löydetyt lähteet käyttöön", + "syncNewHint": "Uudet Prowlarr- indeksoijat ovat haettavissa välittömästi. Lähteet sammutat täällä pysyäksesi pois päältä myöhempien synkronointien jälkeen.", + "autoExpand": "Yritä uudelleen ilman kategoriasuodattimia", + "autoExpandHint": "Kun indeksoija vastaa onnistuneesti ilman tuloksia, yritä uudelleen kerran ilman BookOrbitin kirjakategoriasuodatinta.", + "inheritSeedLimits": "Käytä Prowlarrin siementen rajoja", + "inheritSeedLimitsHint": "Käytä torrent-tiedosto indeksoijan määrittämää seed ratio ja seed time tuleviin latauksiin, kun BookOrbit ei ole ylikirjoitettu.", + "perIndexerTimeout": "Indeksoijan aikakatkaisu (sekuntia)", + "perIndexerTimeoutHint": "Kuinka kauan yksi synkronoitu lähde voi ottaa. Hidas FlareSolverr-tuettu indeksoijat saattavat tarvita enemmän aikaa.", + "overallBudget": "Prowlarrin budjetti (sekuntia)", + "overallBudgetHint": "Maksimi seinäkelloaika on jaettu kaikille lähteille tästä Prowlarr-yhteydestä yhden haun aikana." + }, + "errors": { + "load": "Indeksointiohjelmien lataaminen epäonnistui", + "nameTaken": "Prowlarr yhteys tähän nimeen on jo olemassa", + "urlPrivate": "Tämä osoite on yksityisessä tai paikallisessa verkossa. Ota \"Salli yksityiset osoitteet\", jos Prowlarr toimii siellä.", + "required": "Anna nimi, perusosoite ja API-avain.", + "save": "Prowlarr-yhteyttä ei voitu tallentaa", + "delete": "Prowlarr-yhteyttä ei voitu poistaa", + "test": "Prowlarriin ei saatu yhteyttä", + "sync": "Prowlarr-lähteitä ei voitu synkronoida", + "source": "Tätä lähdettä ei voitu muuttaa" + } + }, + "automation": { + "title": "Automaatio", + "pipeline": "Kun lataus päättyy, se kulkee kirjatelakan läpi, missä sen nimi ja tekijä luetaan, jotta tiedosto voidaan nimetä ja arkistoida oikein, ja sitten se siirtyy pyynnön kohde kirjasto omasta. Se pysähtyy vain jos tuonti on päällä ja tiedosto ei vastaa sitä, mitä pyydettiin.", + "groupDownloads": "Automaattiset lataukset", + "groupImports": "Tuonnin tarkastukset", + "stateOn": "Päällä", + "stateOff": "Pois", + "summaryOff": "Jokainen hyväksytty pyyntö odottaa henkilöä avata julkaisun poimija ja valita.", + "summaryNoRetry": "Hyväksytty pyyntö lataa sen paras julkaisu omasta, kunhan tämä julkaisu tulokset {score} tai enemmän. Jos se epäonnistuu, pyyntö odottaa henkilöä.", + "summaryRetry": "Hyväksytty pyyntö lataa sen paras julkaisu omasta, niin kauan kuin tämä julkaisu tulokset {score} tai enemmän. {count, plural, one {Se on ainoa julkaisu kokeiltu, ennen kuin pyyntö odottaa henkilöä.} other {Jopa # julkaisuja kokeiltiin ennen kuin pyyntö odottaa henkilöä.}}", + "howDownloads": "Kuinka automaattiset lataukset toimivat", + "howImports": "Kuinka tuonnin tarkastukset toimivat", + "minScoreShort": "Mitään tämän alla olevaa ladattua ei ole tarkkailtu.", + "autoRetryShort": "Sovelluksen lataus epäonnistui, kun se on käynnissä.", + "maxAttemptsShort": "Ensimmäinen yritys ja jokainen yritys ovat tärkeitä tässä asiassa.", + "verificationShort": "Tämän alapuolella tiedosto odottaa kirjatelakalla tarkistamista varten.", + "loading": "Ladataan automaation asetuksia...", + "loadFailed": "Automaation asetuksia ei voitu ladata", + "saveFailed": "Asetusta ei voitu tallentaa", + "saved": "Automaation asetukset tallennettu", + "autoGrab": "Lataa paras julkaisu automaattisesti", + "noSourcesConfigured": "Yhtään hakulähdettä ei ole asetettu, joten mitään ei etsitä ja jokainen hyväksytty pyyntö annetaan suoraan takaisin. Lisää yksi alle Lähteet.", + "noSourcesEnabled": "Jokainen hakulähde on kytketty pois päältä, joten mitään ei haeta ja jokainen hyväksytty pyyntö luovutetaan suoraan takaisin. Vaihda yksi takaisin Lähteiden alle.", + "autoGrabHint": "Kun pyyntö on hyväksytty, sen korkein pisteytys julkaisu menee suoraan ladattavalle asiakkaalle eikä kenenkään tarvitse avata julkaisuvalitsinta. Oletuksena pois päältä, koska kirjan sovittaminen oikeaan julkaisuun on vaikeaa ja henkilö on yleensä parempi tuomari.", + "autoGrabEnabled": "Automaattiset lataukset ovat käytössä", + "autoGrabDisabled": "Automaattiset lataukset ovat pois päältä", + "minScore": "Automaattisen lataamisen vähimmäispisteet", + "minScoreHint": "Julkaisun pisteytys alla tämä ei ole koskaan ladattu automaattisesti. Tulokset kuluvat 100, ja kuinka hyvin otsikko ja kirjailijan ottelu muodostavat suurimman osan, muoto, tiedostokoko, siemeniä ja lähde prioriteetti takana. Jos mikään ei ole tarpeeksi korkea, pyyntö odottaa joku valita vapautus käsin ja sanoo, miksi se pysähtyi.", + "minScoreHintV2": "Julkaisun pisteytys alla tämä ei ole koskaan ladattu automaattisesti. Tulokset suoritetaan 100. Otsikko ja kirjailijan merkitys edistää eniten, seuraa formaatti ja uskottava tiedostokoko, jossa lämpimän terveyden ja freeleech käytetään kun lähde tarjoaa niitä. Jos mikään ei ole tarpeeksi korkea, pyyntö odottaa joku valita vapautus käsin ja sanoo, miksi se pysähtyi.", + "autoRetry": "Kokeile seuraavaa versiota epäonnistumisen jälkeen", + "autoRetryHint": "Kun automaattinen lataus epäonnistuu, toiseksi paras julkaisu kokeillaan sen sijaan, että luovuttaa. Tämä kattaa lähteen, joka kieltäytyy luovuttamasta tiedostoa, ja latauksen, joka kuolee osittain. Se koskee vain julkaisuja BookOrbit valitsi itse: yksi hyväksyjä poimittu käsin pysyy epäonnistunut ja odottaa niitä.", + "maxAttempts": "Yritykset per pyyntö", + "maxAttemptsHint": "Jokainen julkaisu BookOrbit lähettää latausasiakas tämän pyynnön laskee kohti tätä rajaa: ensimmäinen automaattinen yritys, mikä tahansa kokeiltu kun lähde kääntyi yksi alas, ja kaikki kokeiltu lataamisen jälkeen epäonnistui. Aseta se 1:ksi pysäytettäväksi ensimmäisen yrityksen jälkeen.", + "autoSearch": "Pidä pyyntöjä etsimässä mitään ei löytynyt", + "autoSearchShort": "Hyväksyttyä pyyntöä ei löydy myöhemmin uudelleen.", + "autoSearchHint": "Pyyntö haetaan kerran, kun se on hyväksytty. Jos mitään tarpeeksi hyvää ilmaantuu tai kirjaa ei ole vielä julkaistu, pyyntö odottaa hyväksyttyä eikä mikään odota sitä uudelleen. Kytke tämä päälle ja BookOrbit pitää tarkkailun omasta, joten julkaisu lähetetty ensi kuussa on vielä löytynyt. Se toimii vain kun automaattiset lataukset ovat päällä, koska haku ei ole mitään tekemistä sen kanssa, mitä se löytää vain maksaa lähteitä liikennettä.", + "autoSearchEnabledToast": "Pyyntöjä haetaan uudelleen", + "autoSearchDisabledToast": "Pyyntöjä haetaan vain, kun ne on hyväksytty", + "autoSearchInterval": "Etsi uudelleen jälkeen", + "autoSearchIntervalShort": "Laskettu edellisestä hausta ja venytetty pyynnön iät .", + "autoSearchIntervalHint": "Kuinka kauan odottaa, ennen kuin etsitään pyyntöä uudelleen mitään ei löytynyt. Odota tuplaa joka viikko pyyntö on odottanut, jopa kahdeksan kertaa tämä luku, niin pitkä ruuhka vanhoja pyyntöjä ei muutu päivittäinen liikenne vastaan jokainen lähde sinulla on.", + "autoSearchIntervalUnit": "tuntia", + "autoSearchMaxAge": "Lopeta katseleminen", + "autoSearchMaxAgeShort": "Laskettu sen jälkeen, kun pyyntö oli tehty.", + "autoSearchMaxAgeHint": "Tätä vanhempi pyyntö on jätetty yksin. Se pysyy hyväksytty ja voi silti olla vapautus poimittu käsin milloin tahansa; mikään ei etsi sitä automaattisesti enää.", + "autoSearchMaxAgeUnit": "päivää", + "verify": "Tarkista tuonti pyyntöä vastaan", + "verifyOnHint": "Jokaista ladattua tiedostoa verrataan siihen kirjaan, joka pyydettiin ennen sen esittämistä. Kaikki se, mikä ei vastaa tarpeeksi hyvin odottaa Book Dock -kirjassa, jotta joku voisi katsoa.", + "verifyOffHint": "Mitään ei pidetä tarkistettavaksi. Jokainen lataus tehdään heti kun sen otsikko ja kirjoittaja on luettu, joten virheellisesti merkityt julkaisut laskeutuvat kirjastoosi varoittamatta.", + "verificationEnabled": "Tuonnin tarkistus on päällä", + "verificationDisabled": "Tuonti ei ole käytössä. Lataukset arkistoidaan ilman arviointeja", + "verification": "Vahvistuksen kynnysarvo", + "verificationHint": "Kuinka tiiviisti ladattu tiedosto on sovitettava pyyntöön ennen kuin se on arkistoitu omasta. Kaikki tämän alla olevat odottavat kirjatelakan tarkistamista sen sijaan. Tämä koskee jokaista pyyntöä, mukaan lukien jokaisen käsinvalitun henkilön vapauttaminen.", + "destinations": "Oletus kohteet", + "destinationsHint": "Jos kirja on jätetty, kun kukaan ei ole valinnut kirjastoa sitä varten. Oletus on yksi mediaa kohti, koska levy on poimittu ennen kuin mitään etsitään ja on ainoa asia, joka tunnetaan tiedoston, että aikaisin. Määränpäähän, jota pyytäjällä on asetettu tai joka on valittu hyväksyttäväksi, käytetään ennen näitä määriä.", + "destinationUnset": "Ei oletusta", + "destinationHiddenLibrary": "Kirjasto, jota et näe", + "destinationHiddenFolder": "Kansio jota ei näe", + "selectFolder": "Valitse kansio", + "destinationLibraryFor": "Oletuskirjasto {medium} pyyntöä varten", + "destinationFolderFor": "{medium} pyyntöä koskeva oletuskansio", + "destinationClearFor": "Tyhjennä oletuskohde kohteelle {medium} pyyntöä", + "importFormats": "Tuo tiedostomuodot", + "importFormatsHint": "Mitä pitää pitää, kun yksi julkaisu kuljettaa samaa kirjaa useammassa kuin yhdessä muodossa, kuten EPUB ja PDF yhdessä. Tämä ei koskaan koske moninkertainen äänikirja, koska sen osat ovat yksi kirja eikä kilpailevia painoksia.", + "importFormatsOption": { + "all": "Kaikki saatavilla", + "allHint": "Säilytä jokainen julkaisun mukana tullut muoto.", + "preferred": "Vain suositellut", + "preferredHint": "Säilytä vain muoto, joka on korkein kohdekirjaston formaatin tärkeysjärjestyksessä." + } + }, + "profiles": { + "title": "Vapauta profiilit", + "effectiveRule": "Automaattinen lataussääntö: ensimmäinen täsmäytys, sitten korkein pistemäärä (minimi {score}).", + "summary": "Profiilin ulkopuolella olevat julkaisut ovat saatavilla manuaaliseen valintaan. Jos versioita ei ole, julkaisut sijoittuvat pelkästään pisteet mukaan.", + "howProfiles": "Miten julkaisuprofiilit toimivat", + "hint": "Vapautus on sovitettu yhteen ylä- ja alareunassa olevia tasoja vastaan ja vie ensimmäisen tason se sopii. Automaattiset lataukset harkitsevat porrastettuja julkaisuja vain, kun profiili on olemassa. Manuaalinen valinta sisältää porrastettujen tulosten jälkeen edelleen porrastetut julkaisut.", + "bitrateNote": "Bittinopeus lattia kääntyy pois vapauttaa, joka toteaa alempi. Useimmat lähteet mittaavat hyvin vähän niiden julkaisuja, ja mittaamaton julkaisu ei kääntynyt, joten tämä kapenee vähemmän kuin miltä se näyttää.", + "empty": "Ei profiilia. Tiedotteita tälle välineelle on sijoitettu pisteet yksin.", + "addTier": "Lisää taso", + "removeTier": "Poista tämä taso", + "moveUp": "Siirrä tämä taso ylöspäin", + "moveDown": "Siirrä tämä taso alas", + "tierName": "Määrän nimi", + "newTier": "Taso {position}", + "formats": "Muodot", + "files": "Tiedostot", + "anyLayout": "Kaikki", + "minBitrate": "Minimi kbps", + "minSeeders": "Minimi taimet", + "torrentConditions": "Torrent ehdot", + "nonTorrentConditions": "Kylvöä, freeleech ja VIP -ehtoja ei sovelleta valittuihin lähteisiin.", + "incompatibleTorrentConditions": "Tämä ei-torrenttitaso on edelleen säästänyt torrenttiedellytyksiä. Ne voidaan jättää huomiotta tai estää tasojen yhteensovittaminen.", + "removeTorrentConditions": "Poista torrenttiehdot", + "channels": "Kanavat", + "anyChannels": "Kaikki", + "mono": "Mustavalkoinen", + "stereo": "Stereo", + "maxSize": "Maksimi Mt", + "languages": "Kielet", + "indexers": "Lähteet", + "multiSelectHint": "Valitse yksi tai useampi tai jätä tyhjäksi sallitaksesi minkä tahansa", + "multiSelectAny": "Kaikki" + }, + "health": { + "ok": "Yhdistetty", + "failed": "Ei saavutettavissa", + "untested": "Ei koskaan testattu", + "disabled": "Pois Käytöstä", + "testedAt": "testattu {time}", + "failedAt": "epäonnistui {time}" + }, + "categoryLabel": "luokka {category}", + "priorityLabel": "prioriteetti {priority}", + "editClientName": "Muokkaa {name}", + "sections": { + "connection": "Yhteys", + "search": "Mitä etsiä", + "access": "Pääsy", + "seeding": "Lähetetään", + "availability": "Saatavuus", + "behaviour": "Käyttäytyminen" + }, + "continueWithType": "Jatka", + "external": "Ulkoinen", + "editorDescription": "Tämän latausohjelman asetukset.", + "chooseClientType": "Valitse asiakastyyppi", + "chooseClientTypeHint": "Valitse mikä ohjelma BookOrbit kädet lataa.", + "clientTypeDescriptions": { + "qbittorrent": "Oma qBittorrent. Tarvitsee osoitteen ja tilin.", + "transmission": "Omaa Transmissiota. Sillä ei ole kategorioita, joten kategoriasta tulee sen lataushakemiston alikansio.", + "deluge": "Oma Deluge. Kirjaudu sisään web-käyttöliittymän salasanalla; kategoria tarvitsee Label plugin kytkettynä.", + "nzbget": "Oma NZBGet. BookOrbit lähettää NZB tiedostoja sen JSON-RPC API.", + "sabnzbd": "Oma SABnzbd. BookOrbit lähettää NZB-tiedostoja API-avaimellaan." + }, + "searchHealth": { + "failingOnce": "Viimeisin haku epäonnistui", + "failingStreak": "{count} hakua epäonnistui rivillä", + "lastSearchAt": "viimeksi haettu {time}" + } } + }, + "nav": { + "title": "Asetukset", + "ariaLabel": "Asetusten osat", + "breadcrumbLabel": "Murupolku", + "searchPlaceholder": "Hae asetuksia", + "clearSearch": "Tyhjennä haku", + "noResults": "Ei vastaavia asetuksia kuin {query}.", + "shortcutHint": "Paina {shortcut} hypätäksesi mihin tahansa asetukseen", + "status": { + "scanning": "Skannataan" + }, + "groups": { + "you": "Sinä", + "library": "Kirjasto", + "devices": "Laitteet", + "accounts": "Tilit", + "server": "Palvelin" + }, + "descriptions": { + "profile": "Nimesi, sähköpostiosoitteesi, salasanasi ja aktiiviset istuntosi.", + "appearanceTheme": "Teema, aksentti väri, tausta, ja kulman säde.", + "appearanceBookCovers": "Peitä varjot, selkärangan efektit, ja paikanpitäjä taidetta.", + "appearanceIcons": "Valitse sovelluksen kautta käytettävä kuvakkeen tyyli.", + "appearanceLayout": "Oletus kirjaston näkymä, tiheys, ja väli.", + "appearanceBehavior": "Miten kirjasto reagoi selailla ja lajitella.", + "appearanceLanguage": "Käyttöliittymän kieli ja alueelliset formaatit.", + "readerEbook": "Kirjasimet, välilyönnit ja sivukäyttäytyminen eBooksissa.", + "readerPdf": "Renderointi, zoomaus ja sivu sopivat PDF-tiedostoihin.", + "readerComics": "Lukeminen suunta ja sivu leviää sarjakuville.", + "readerAudio": "Toiston nopeus, ohita välit ja ajastin.", + "readerFonts": "Kirjasimet saatavilla lukemisen aikana.", + "readerGeneral": "Jokaisella lukutilalla jaetut oletukset.", + "notifications": "Mistä BookOrbit kertoo sinulle ja missään.", + "privacy": "Lukeminen oivalluksia, yhteisiä linkkejä, ja toiminnan näkyvyys.", + "restrictions": "Ikäluokitukset ja piilotettu sisältö tälle tilille.", + "libraries": "Lue polkuja, katsottuja kansioita ja nielemään sääntöjä.", + "fileNaming": "Kansio ja tiedostonimi mallit tallennetuille tiedostoille.", + "maintenance": "Rescans, kaksoiskappaleita, orvot, ja välimuisti uudelleenrakentaa.", + "kobo": "Synkronoi päätepiste, tallenna proksi ja hyllykartoitus.", + "koreader": "Edistymisen synkronointi ja asiakirjojen yhdistäminen.", + "opds": "Katalogisyötteet kolmannen osapuolen lukusovelluksia varten.", + "email": "SMTP toimitus ja laitteelle lähetettävät osoitteet.", + "hardcover": "Synkronoi lukutila ja arvostelut Hardcoverin kanssa.", + "users": "Tilit, roolit, oikeudet ja kutsut.", + "accountActivity": "Käyttäjien luku- ja istuntoaktiviteetti.", + "magicLinks": "Salasanaton jako ja kirjautumislinkit.", + "oidc": "Kertakirjautumisen tarjoaja, korvausvaatimukset ja varaus.", + "serverFonts": "Tämän palvelimen jokaiselle lukijalle asennetut kirjasimet.", + "bookDock": "Kirjan sivuilla näytetyt nopeat toiminnot.", + "auditLog": "Kuka muutti mitä, ja milloin.", + "requests": "Lähteet, lataavat asiakkaita ja mitä kirjalle tapahtuu, kun se latautuu.", + "readerTts": "Luetut-oud ääni-, nopeus- ja kertomusoletusarvot.", + "adminTts": "Tekstistä puheeksi -moottorit ovat kaikkien tämän palvelimen lukijoiden saatavilla." + }, + "backToApp": "Takaisin kirjastoon", + "pageDescriptions": { + "profile": "Nimesi, kuvasi, aikavyöhyke ja saavutusten seuranta, sekä salasanasi ja sisäänkirjautumispalveluntarjoajat, jotka liittyvät tähän tiliin.", + "appearance-theme": "Valitse missä ulkoasun asetukset tallennetaan, ja aseta sitten tyyli, värimaailma, aksentti, kulmat, pinnan kirkkaus ja kirjaston taustakuvio.", + "appearance-book-covers": "Miten kannet katsovat läpi sovelluksen: paikanpitäjä taidetta kirjoja ilman yksi, miten kannet sopivat niiden lähtö-, selkäranka ja kiilto vaikutuksia, ja kannen sävy kirjan sivuilla.", + "appearance-icons": "Lataa omat kuvakkeesi ja käytä niitä kirjastoille, älykkäille sovelluksille ja kokoelmille.", + "appearance-layout": "Kansikoot ja -väli kirjaston ruudukolle, kansikuva näytetään romahtaneelle sarjalle ja miten kirjailijaruudukko on laadittu.", + "appearance-behavior": "Mitä kirjan avaaminen ruudukosta tai listalta tekee, onko sarja romahtaa yhteen korttiin ja näkyykö kirjapyynnöt tähän tiliin.", + "appearance-language": "Kieli BookOrbit käyttää valikoita, tarroja ja viestejä, ja alueelliset formaatit päivämäärät ja numerot.", + "reader-ebook": "EBook-lukijan oletukset: käynnistyykö uudet kirjat asetuksista, sivuvirroista ja sarakkeista, teemasta ja typografiasta, kuten kirjasimesta, koosta ja väliseinästä.", + "reader-pdf": "Kuinka PDF:t avataan: sivu sivulta tai yksi jatkuva scroll, joka sivu alkaa kaksi-sivuinen levitys, ja oletus zoom sopiva.", + "reader-comics": "Miten sarjakuvat lukevat: lukutila ja suuntaus, yhden tai kahden sivun levyt, sopiva, laaja sivujen käsittely, ja siirrytään seuraavaan kirjaan sarjassa.", + "reader-audio": "Uusien äänikirjojen käynnistysnopeus ja äänenvoimakkuus ja kuinka pitkälle jätä takaisin ja jätä painikkeet eteenpäin hypätä.", + "reader-fonts": "Lataa omia kirjasimia lukijalle ja valitse mitkä kirjasimet, jotka palvelimen ylläpitäjä on jakanut.", + "reader-general": "Missä lukijan asetukset tallennetaan, ja oletusarvot jaetaan jokaisessa lukutilassa.", + "tts": "Oletus ääni ja nopeus kun BookOrbit lukee kirjan ääneen.", + "notifications": "Valitse mitkä tapahtumat ilmoittavat sinulle, valmiista skannauksista ja metadatasta tiedostojen uudelleennimeämiseen, tuontiin ja kirjaan Dockin tuloksiin.", + "privacy": "Päätä kuinka paljon lukemisen toiminnan ylläpitäjät näkevät, esikatsele jaettua profiilia, ja tarkista, kuka on katsonut sen.", + "restrictions": "Tälle tilille asetetut sisällönrajat, kuten ikäluokitukset ja piilotettu sisältö, ja mitä ne pitävät kirjastojesi ulkopuolella.", + "libraries": "Jokainen kirjasto yhdellä silmäyksellä: sen kansiot, mitä se pitää sisällään, miten se skannattu ja kun se on viimeksi käynnissä. Lisää, muokkaa tai uudelleennimeä kirjastoja täältä.", + "metadata-providers": "Laita metadatan lähteet päälle tai pois, lisää API-avaimet tai evästeet sinne, missä lähde niitä tarvitsee, ja testaa käyttäjätiedot reaaliaikaista palvelua vasten.", + "metadata-field-rules": "Valitse, mitkä palveluntarjoajat täyttävät jokaisen metadatakentän ja missä järjestyksessä, miten arvot yhdistetään, ja miten tyylilajit ja palveluntarjoajan tunnukset kerätään.", + "metadata-custom-fields": "Luo omat metatietokentät, valitse niiden tyyppi ja niitä käyttävät kirjastot ja järjestä uudelleen tai arkistoi ne.", + "metadata-score": "Päätä, kuinka paljon kukin metadatakenttä laskee kohti täydellisyyttä näkyy jokaisessa kirjassa.", + "metadata-auto-fetch": "Hae kirjan metatiedot automaattisesti, kun kirjoja tuodaan tai niistä puuttuvat tiedot, joissa on ohitus jokaiselle kirjastolle.", + "metadata-authors": "Hae kirjoittajan elämäkerrat ja valokuvat automaattisesti, valitse tilauksen lähteet ja päättää, mitkä tekijät hyväksyvät.", + "metadata-search-cache": "Pidä tarjoajan vastaukset niin toistuvat haut ovat nopeita ja toimivat edelleen, kun tarjoaja on alas, ja ohjaa kuinka kauan ja kuinka paljon pidetään.", + "metadata-genre-blocklist": "Lajin arvot tässä on poistettu toimittajan tuloksista ennen metadatan kirjoittamista, joten tunnisteet kuten Audiobook jäävät pois kirjoistasi.", + "metadata-reminders": "Valitse mitkä puuttuvat kentät näkyvät kirjamuistutuksissa. Tämä muuttaa vain muistutuksia, ei metadatan pisteitä.", + "file-naming": "Kansion ja tiedostonimien mallit, joita käytetään, kun kirjanorbit nimeä uudelleen levylle kirjoja esikatselun avulla tulos ja mitä tapahtuu, kun arvo puuttuu.", + "maintenance": "Palvelimen kotihoito: latauskoon rajoitus, aiemmat tuonti, uudelleenrakentaminen suosituksia, täyttöä saavutukset ja tarkistaminen päivityksiä.", + "kobo": "Yhdistä Kobo e-lukijat, valitse kuinka kirjoja, hyllyjä ja lukeminen synkronoidaan, ja seuraa jokaisen laitteen viimeaikaista synkronointia.", + "koreader": "Synkronoi edistystä, lukemista ja kohokohtia KOReaderin kanssa, hanki synkronointiURL-osoite ja liitännäinen ja hallitse yhdistäviä laitteita.", + "opds": "Ota OPDS-luettelo käyttöön ja luo tilejä, jotta kolmannen osapuolen sovellukset voivat selata ja ladata kirjoja.", + "email": "Hallitse osoitteita kirjoja lähetetään, kuten Kindle postilaatikot, tähti oletus yksi ja ryhmän vastaanottajat lähettää useita kerralla.", + "hardcover": "Yhdistä Hardcover tilisi ja valitse lukiessasi tilaa, edistymistä ja arvosteluja synkronointia ja kuinka synkronoidut kirjat näkyvät siellä.", + "readwise": "Yhdistä Readwise tilisi lähettääksesi kohokohtia sinne automaattisesti.", + "storygraph": "Yhdistä StoryGraph -tilisi selaimesi evästeiden avulla synkronoidaksesi edistymisen ja tilan.", + "users": "Luo ja hallinnoi tilejä, niiden rooleja, käyttöoikeuksia ja kirjastojen käyttöoikeuksia, ja katso mihin tileihin on kiinnitettävä huomiota.", + "account-activity": "Katso, milloin jokainen tili oli viimeksi aktiivinen ja miten se kirjautuu sisään ja avaa käyttäjän luku- ja istuntotietoja.", + "magic-links": "Luo jaettavat linkit, jotka allekirjoittavat jonkun ilman salasanaa, ja kumoa ne, kun niitä ei enää tarvita.", + "oidc": "Yhdistä yksittäinen sign-on tarjoaja, kuten Keycloak, kartta sen väittämiä, ja päättää, miten uusia tilejä luodaan.", + "requests": "Jos BookOrbit etsii pyydettyjä kirjoja, jotka lataavat asiakkaita noutaa niitä, ja mitä tapahtuu kun lataus päättyy.", + "admin-tts": "Tekstistä puheeksi -moottorien lukijat voivat käyttää luku-äänellä, kullakin äänillä tarjottavia ääniä ja tilausta, johon ne näkyvät.", + "book-dock": "Book Dock drop -kansio, automaattinen metadata hakee uusia tiedostoja, ja pisteet jossa tiedostot on viimeistelty itse.", + "server-fonts": "Lataa kirjasimet kerran jokaiselle tämän palvelimen lukijalle. Jokainen lukija voi silti piilottaa minkä tahansa niistä.", + "audit-log": "Haettava tietue siitä, kuka muutti mitä ja milloin, suodattaa tapahtuma, henkilö, vaikuttaa erä ja päivämäärä." + } + }, + "field": { + "required": "(pakollinen)" + }, + "editor": { + "discardTitle": "Hylätäänkö muutokset?", + "discardDescription": "Tämä editori on muutoksia, joita ei koskaan tallennettu. Sulkeminen nyt heittää ne pois.", + "discardConfirm": "Hylkää muutokset", + "moreActions": "Lisää toimintoja", + "removeQuestion": "Poistetaanko tämä?" } }, "achievements": { "title": "Saavutukset", + "tiersCount": "{earned} / {total} tasoja", "loadFailed": "Saavutusten lataaminen epäonnistui", "tryAgain": "Yritä uudelleen", "noMatchFilter": "Suodatinta ei vastaa saavutuksia", "secretAchievement": "Salainen Saavutus", + "earnedOn": "Ansaittu {date}", "whileReading": "Lukeessa “{title}”", + "tierProgress": "Taso {earned} jostakin {total}", + "progressToNext": "{current} / {threshold} päättyen {name}", "rarity": { "common": "Yleinen", "rare": "Harvinainen", @@ -2225,6 +4299,201 @@ "earned": "Ansaittu ({count})", "inProgress": "Käynnissä ({count})", "locked": "Lukittu ({count})" + }, + "tiersEarnedFact": "{earned} jostakin {total} tasoja", + "loading": "Ladataan saavutuksia", + "filters": { + "label": "Suodata saavutuksia", + "all": "Kaikki", + "earned": "Ansaittu", + "inProgress": "Toiminto käynnissä", + "locked": "Lukittu" + }, + "showcase": { + "label": "Korostukset", + "latest": "Viimeisin lukituksen avaus", + "newToday": "{count, plural, one {# uusi tänään} other {# uusi tänään}}", + "secretRevealed": "Salaisuus paljastettu", + "categoryAndDate": "{category} · {date}", + "alsoNew": "Myös uusi", + "openMedal": "Avaa {name}", + "emptyTitle": "Ensimmäinen mitalisi odottaa", + "emptyBody": "Valmis kirja, korko yksi tai korostaa kulku, ja se laskeutuu tänne.", + "collection": "Kokoelma", + "shareOfTiers": "{percent} jokaisesta tasosta", + "tiersEarned": "{earned} jostakin {total} ansaitut tasot", + "closest": "Lähin avataksesi", + "allInProgress": "Kaikki {count}", + "tierOfSet": "Taso {tier} jostakin {set}", + "nothingCounting": "Mitään ei lasketa mitalin suuntaan vielä." + }, + "shelf": { + "tiers": "{earned} / {total}", + "progressLabel": "{category} tasoa ansaittu" + }, + "medal": { + "label": "{name}, {rarity}, {status}", + "tier": "Taso {tier}", + "allTiers": "{count, plural, one {Ainoa taso} other {Kaikki # tasoa}}", + "keepReading": "Jatka lukemista", + "notStarted": "Ei aloitettu" + }, + "progress": { + "generic": "{current} / {threshold}", + "toGo": "{count, plural, one {# mennäksesi} other {# mennäksesi}}" + }, + "hints": { + "howToGetIt": "Miten saada se", + "readingPace": "{count,plural,one{Olet lukenut # tunti viimeisen tunnin aikana {days} päivää.} other{Olet lukenut # tuntia viimeisen tunnin aikana {days} päivää.}}", + "etaDays": "{count, plural, one {Noin # päivä tässä tahdissa.} other {Noin # päivää tässä tahdissa.}}", + "etaWeeks": "{count, plural, one {# viikko tällä vauhdilla.} other {Tietoja # viikkoa tällä vauhdilla.}}", + "etaMonths": "{count, plural, one {Noin # kuukausi tässä tahdissa.} other {Noin # kuukautta tässä tahdissa.}}", + "decadeUnread": "{count, plural, one {# kirja {decade}s odottaa hyllyilläsi.} other {# kirjoja {decade}s odottaa hyllyilläsi.}}", + "centuryUnread": "{count, plural, one {# kirja {century}s odottaa hyllyilläsi.} other {# kirjoja {century}s odottaa hyllyilläsi.}}", + "stalled": "{title} on {percent} lue ja aloitettiin {date}.", + "stalledNoProgress": "{title} on aloitettu {date}.", + "untitledBook": "Kirja käynnissä", + "nearlyFinished": "{count, plural, one {# kirja käynnissä on ohi {percent}.} other {# kirjoja on kesken {percent}.}}", + "unratedFinished": "{count, plural, one {# kirjaa, jonka olet suorittanut, ei ole vielä arvostelua.} other {# kirjoja, joita sinulla ei ole vielä arvostelua.}}", + "shortBooks": "{count, plural, one {# kirja alla {pages} sivut odottavat hyllyilläsi.} other {# kirjoja alla {pages} sivut odottavat hyllyilläsi.}}", + "alreadyStarted": "{count, plural, one {# on jo käynnissä.} other {# on jo käynnissä.}}", + "longBooks": "{count, plural, one {# kirja {pages} sivut tai enemmän odottaa hyllyilläsi.} other {# kirjoja {pages} sivut tai enemmän odottavat hyllyilläsi.}}", + "oldBooks": "{count, plural, one {# kirja julkaistu ennen {year} odottaa hyllyilläsi.} other {# kirjoja julkaistu ennen {year} odottavat hyllyilläsi.}}", + "authorUnread": "{author}: {finished, plural, one {# valmis} other {# valmis}}, {count, plural, one {# lisää hyllyilläsi} other {# lisää hyllyilläsi}}.", + "languageUnread": "{count, plural, one {# kirja {language} odottaa hyllyilläsi.} other {# kirjoja {language} odottavat hyllyilläsi.}}", + "monthsRead": "{count, plural, one {Olet lukenut # kuukausi {year} toistaiseksi.} other {Olet lukenut # kuukautta {year} toistaiseksi.}}", + "monthsLeft": "{count, plural, one {{months} on jäljellä.} other {{months} ovat jäljellä.}}", + "noLongBook": "Hyllyilläsi ei ole vielä kirjaa {pages} sivua tai enempää.", + "nothingBeforeYear": "Mitään hyllyille ei julkaistu ennen {year}.", + "tooFewDecades": "{count, plural, one {Hyllysi ulottuu vain # vuosikymmen tähän mennessä.} other {Hyllysi ulottuu vain # vuosikymmentä toistaiseksi.}}", + "tooFewCenturies": "{count, plural, one {Hyllyt ulottuvat vain # century toistaiseksi.} other {Hyllyt ulottuvat vain # vuosisatoja toistaiseksi.}}", + "missedMonth": "Sinä et lukenut {month}, niin {year} on ulottumattomissa. Lasku alkaa jälleen tammikuussa.", + "continueReading": "Jatka lukemista", + "rateFinished": "Arvostele valmis kirja", + "viewAuthor": "Näytä tekijä", + "openBook": "Avaa {title}", + "openUntitledBook": "Avaa kirja" + }, + "sets": { + "booksFinished": "Kirjat valmiit", + "pagesRead": "Luetut sivut", + "hoursRead": "Tuntia luettu", + "longestBook": "Pisin kirja valmis", + "librarySize": "Kirjaston koko", + "annotations": "Huomautukset", + "booksRated": "Pisteytetyt kirjat", + "genresFinished": "Tyylit päättynyt", + "languagesFinished": "Kielet päättyneet", + "readingStreak": "Luetaan putkea" + }, + "units": { + "books": { + "progress": "{current} / {threshold} kirjat", + "toGo": "{count, plural, one {# kirja mennä} other {# kirjaa mennäksesi}}" + }, + "pages": { + "progress": "{current} / {threshold} sivut", + "toGo": "{count, plural, one {# sivua mennä} other {# sivua mennäksesi}}" + }, + "hours": { + "progress": "{current} / {threshold} tuntia", + "toGo": "{count, plural, one {# tunti mennä} other {# tuntia mennä}}" + }, + "annotations": { + "progress": "{current} / {threshold} kommentit", + "toGo": "{count, plural, one {# huomautus mennä} other {# huomautusta mennäksesi}}" + }, + "ratings": { + "progress": "{current} / {threshold} arvostelut", + "toGo": "{count, plural, one {# arvostelua mennä} other {# arvostelua mennäksesi}}" + }, + "genres": { + "progress": "{current} / {threshold} genres", + "toGo": "{count, plural, one {# genre mennä} other {# lajityyppejä mennä}}" + }, + "languages": { + "progress": "{current} / {threshold} kielet", + "toGo": "{count, plural, one {# kieli mennä} other {# kieltä mennä}}" + }, + "days": { + "progress": "{current} / {threshold} päivää", + "toGo": "{count, plural, one {# päivä mennä} other {# päivää mennä}}" + } + }, + "moments": { + "nthBook": "Kirja {number} oli {title}", + "pagesAtUnlock": "{count, plural, one {# sivu} other {# sivua}} kun se avattiin", + "hoursAtUnlock": "{count, plural, one {# tunti} other {# tuntia}} kun se avattiin", + "titleWithPages": "{title}, {count,plural,one{# sivu} other{# sivut}}", + "booksAtUnlock": "{count, plural, one {# kirja} other {# kirjoja}} kirjastossa kun se avattiin", + "annotationsAtUnlock": "{count, plural, one {# huomautus} other {# huomautusta}} kun se avattiin", + "ratingsAtUnlock": "{count, plural, one {# arvio} other {# arviota}} kun se avattiin", + "genresAtUnlock": "{count, plural, one {# genre} other {# genrejä}} kun se avattiin", + "languagesAtUnlock": "{count, plural, one {# kieli} other {# kieliä}} kun se avattiin", + "streakAtUnlock": "{count, plural, one {# päivä} other {# päivää}} peräkkäin tuolloin", + "longSession": "Yksi istunto ajoi {duration}", + "durationHours": "{hours} h {minutes} min", + "durationMinutes": "{minutes} min", + "sessionStartedAt": "Istunto, joka alkoi klo {time}", + "oneDayBook": "{title}, alkaa suorittaa yhden päivän kuluttua", + "booksInWeek": "{count, plural, one {# kirja} other {# kirjaa}} valmis yhdessä viikossa", + "booksInMonth": "{count,plural,one{# kirja} other{# kirjat}} päättynyt {month}", + "booksInYear": "{count,plural,one{# kirja} other{# kirjat}} päättynyt {year}", + "wholeBookOneSession": "Koko kirja yhdessä istunnossa", + "pagesInSession": "{count, plural, one {# sivu} other {# sivua}} yhdessä istunnossa", + "pagesInDay": "{count, plural, one {# sivu} other {# sivua}} yhdessä päivässä", + "slowBurn": "{title}, päättyen jälkeen {count,plural,one{# päivä} other{# päivää}}", + "formatsOwned": "{count, plural, one {# formaatti} other {# formaatteja}} hyllyilläsi", + "annotationsWithNote": "{count, plural, one {# huomautus} other {# huomautusta}} muistiinpanolla", + "annotationsInDay": "{count, plural, one {# huomautus} other {# huomautus}} yhdessä päivässä", + "everyStar": "Jokainen arvosana yhdestä tähdestä viiteen", + "everyColour": "Jokainen korostusväri käytetty", + "titlePublished": "{title}, julkaistu {year}", + "booksInGenre": "{count, plural, one {# kirja} other {# kirjaa}} yhdessä genressä", + "firstInSeries": "{title}, alkaen {series} sarja", + "centuries": "Kirjat {count, plural, one {# century} other {# vuosisatoja}}", + "booksBySameAuthor": "{count, plural, one {# kirja} other {# kirjaa}} kirjoittaja", + "decades": "Kirjat {count, plural, one {# vuosikymmen} other {# vuosikymmentä}}", + "shortBooks": "{count, plural, one {# lyhyt kirja} other {# lyhyitä kirjoja}} valmis", + "allSeasons": "Kaikki neljä {year} vuodenaikaa", + "consistentDays": "{count, plural, one {# päivä} other {# päivää}} vähintään 30 minuuttia", + "weekendsInRow": "{count, plural, one {# viikonloppu} other {# viikonloppua}} peräkkäin", + "weekendHours": "{count,plural,one{# tunti} other{# tuntia}} viikonlopun aikana {date}", + "categoriesCovered": "{count, plural, one {# kategoria} other {# kategoriaa}} saavutuksella", + "readingSources": "{count, plural, one {# lukemislähdettä} other {# lukemislähdettä}}", + "oneBookSources": "Yksi kirja lukea {count, plural, one {# lähde} other {# lähteitä}}" + }, + "records": { + "title": "Tietue kirja", + "subtitle": "Numerot mitalin takana, koska ne seisoivat, kun jokainen avattu", + "value": "{value}", + "oneSession": "Yksi lukuistunto", + "pagesInSession": "Sivut yhdessä istunnossa", + "pagesInDay": "Sivut yhdessä päivässä", + "booksInWeek": "Kirjat yhdessä viikossa", + "booksInMonth": "Kirjat kohteessa {month}", + "booksInYear": "Kirjat valmiina {year}", + "annotations": "Huomautukset", + "genresFinished": "Tyylit päättynyt", + "daysInRow": "Päivää peräkkäin", + "booksInLibrary": "Kirjastossa olevat kirjat" + }, + "detail": { + "categoryTierSet": "{category} · Taso asetettu", + "secretHint": "Jatka lukemista paljastaaksesi tämän.", + "tierOf": "Taso {earned} jostakin {total}", + "current": "Nykyinen", + "noneYet": "Ei vielä", + "progress": "Edistyminen", + "allTiersEarned": "Jokainen taso ansaittu", + "tiers": "Tasot", + "earned": "Ansaittu", + "status": "Tila", + "hidden": "Hidden", + "rarity": "Harvinaisuus", + "category": "Kategoria", + "theSet": "The set", + "theMoment": "Hetki" } }, "adminFeature": { @@ -2283,7 +4552,8 @@ "description": "Yritä muuttaa tai tyhjentää nykyiset suodattimet." }, "pagination": { - "label": "Tilin toimintasivut" + "label": "Tilin toimintasivut", + "page": "Sivu {page} jostakin {totalPages}" }, "errors": { "load": "Tilin aktiviteetin lataaminen epäonnistui." @@ -2294,6 +4564,7 @@ "subtitle": "Lukeminen tätä käyttäjää vapaaehtoisesti päätti jakaa.", "auditNotice": "Pääsy tähän profiiliin on tallennettu ja näkyvä käyttäjälle.", "period": "Raportointijakso", + "periodDays": "Viimeinen {count} päivää", "durationMinutes": "{count, plural, one {# minuutti} other {# minuuttia}}", "durationHours": "{count, plural, one {# tunti} other {# tuntia}}", "metrics": { @@ -2306,8 +4577,12 @@ "trend": "Päivittäinen lukemisen trendi", "emptyTitle": "Ei lukutoimintaa tänä aikana", "noData": "Tälle kaudelle ei ole tallennettuja lukutietoja.", + "sessionCount": "{count, plural, one {# istunto} other {# istuntoa}}", "sourceNames": { "web": "Web-lukija", + "ios": "iOS-sovellus", + "watchos": "Omenan Kello", + "android": "Android app", "koreader": "KOReader", "manual": "Manuaalinen", "kobo": "Kobo", @@ -2385,14 +4660,47 @@ "presetClearAll": "Tyhjennä Kaikki", "permissionGroups": { "content": "Sisältö", + "podcasts": "Podcastit", "devicesAccess": "Laitteet Ja Käyttöoikeudet", "email": "Sähköposti", "administration": "Ylläpito", "notifications": "Ilmoitukset", - "restrictions": "Rajoitukset" + "restrictions": "Rajoitukset", + "libraryBooks": "Kirjasto Ja Kirjat", + "bookRequests": "Kirjan Pyynnöt", + "bookDock": "Kirja Telakka", + "devices": "Laitteet", + "readingIntegrations": "Luetaan Integraatioita", + "emailNotifications": "Sähköposti Ja Ilmoitukset", + "libraryConfiguration": "Kirjaston Asetukset", + "usersSecurity": "Käyttäjät Ja Suojaus", + "system": "Järjestelmä" }, + "permissionLevels": { + "use": "Käytä", + "manage": "Hallitse" + }, + "accountRestrictions": "Tilin Rajoitukset", + "demoRestrictedHint": "Rajoittaa tämän tilin rajoitettuun demokokemukseen.", "superuserTarget": "Superuser Target", "superuserTargetHint": "Sisällön rajoituksia ei voida soveltaa pääkäyttäjiin.", + "superuserAccess": { + "title": "Pääkäyttäjän oikeudet", + "enabled": "Käytössä", + "disabled": "Pois Käytöstä", + "enabledHint": "Tällä tilillä on rajoittamaton pääsy palvelimeen. Sen tallennetut käyttöoikeudet, kirjastot ja rajoitukset tulevat voimaan uudelleen demojen jälkeen.", + "disabledHint": "Promotion myöntää rajoittamattoman pääsyn palvelimeen ja ohittaa luvat, kirjaston tehtävät ja sisällön rajoitukset.", + "selfHint": "Et voi muuttaa omaa pääkäyttäjän käyttöoikeuttasi.", + "sharedHint": "Jaettuja tilejä ei voida ylentää pääkäyttäjälle.", + "promote": "Edistää pääkäyttäjän", + "demote": "Poista pääkäyttäjän oikeudet", + "promoteDialogTitle": "Edistääkö pääkäyttäjän toimintaa?", + "promoteDialogBody": "Myönnä {name} rajoittamaton palvelimen käyttöoikeus. Niiden aktiiviset istunnot päättyvät ja heidän täytyy kirjautua sisään uudelleen.", + "demoteDialogTitle": "Poistetaanko pääkäyttäjän oikeudet?", + "demoteDialogBody": "Poista rajoittamaton pääsy {name}-nimeltä. Heidän tallennetut luvat, kirjastot ja rajoitukset tulevat voimaan, ja heidän on kirjauduttava sisään uudelleen.", + "changing": "Päivitetään käyttöoikeutta...", + "changeError": "Pääkäyttäjän oikeuksia ei voitu päivittää. Lataa tili uudelleen ja yritä uudelleen." + }, "noRestrictions": "Ei sisältöä koskevia rajoituksia", "noRestrictionsHint": "Tällä käyttäjällä on täysi pääsy kaikkiin kirjoihin niille osoitetuissa kirjastoissa.", "addRestrictions": "+ Lisää Sisältörajoituksia", @@ -2406,6 +4714,8 @@ "includeGenresHint": "(näytä vain kirjoja näillä lajityypeillä)", "excludeGenres": "Ohita tyylilajit", "excludeGenresHint": "(piilota kirjoja näillä lajityypeillä)", + "seeOwnRequestedBooks": "Anna tämän käyttäjän nähdä pyytämänsä kirjat", + "seeOwnRequestedBooksHint": "Kirjat, jotka saapuivat omien kirjapyyntöjensä kautta, ohittavat yllä olevat säännöt oletuksena.", "searchTagsPlaceholder": "Etsi tageja...", "searchGenresPlaceholder": "Etsi lajityyppejä...", "saving": "Tallennetaan...", @@ -2416,8 +4726,67 @@ "updateContentFilters": "Sisällön suodattimien päivitys epäonnistui", "emailRequired": "Sähköposti vaaditaan", "createSharedAccount": "Jaetun tilin luominen epäonnistui", - "createUser": "Käyttäjän luonti epäonnistui" - } + "createUser": "Käyttäjän luonti epäonnistui", + "nameRequired": "Koko nimi vaaditaan", + "usernameRequired": "Käyttäjätunnus on pakollinen" + }, + "drawerDescription": "Muokkaa tämän tilin profiilia, kirjaston käyttöä, käyttöoikeuksia ja rajoituksia.", + "createHint": "Uudet tilit eivät saa käyttöoikeuksia ennen kuin myönnät ne.", + "sectionsLabel": "Tilin asetukset", + "sections": { + "profile": "Profiili", + "libraries": "Kirjastot", + "permissions": "Käyttöoikeudet", + "restrictions": "Rajoitukset" + }, + "sectionSummary": { + "newAccount": "Ei vielä luotu", + "libraries": "{selected} jostakin {total}", + "permissions": "{count, plural, =0 {Ei käyttöoikeuksia} one {1 myönnetty} other {# myönnetty}}", + "restrictionsNone": "Ei Mitään", + "restrictionsContent": "Sisällön suodattimet", + "restrictionsDemo": "Demo rajoitettu", + "restrictionsBoth": "Suodattimet ja demotila" + }, + "account": "Tili", + "status": "Tila", + "statusHint": "Keskeytetyt käyttäjät eivät voi kirjautua sisään tai synkronoida laitteita.", + "signInMethod": "Kirjaudu", + "signInMethods": { + "password": "Salasana", + "oidc": "Yksi kirjautuminen", + "shared": "Magic linkki" + }, + "created": "Luotu", + "lockedUntil": "Lukittu kunnes {time}", + "lockedHint": "Liian monta epäonnistunutta kirjautumisyritystä. Avaa lukitus käyttäjälistalta.", + "usernameFixedHint": "Käyttäjätunnuksia ei voi muuttaa.", + "emailHint": "Käytetään salasanan nollaamiseen ja ilmoituksiin.", + "libraryAccessHint": "Näiden kirjastojen ulkopuolella olevat kirjat ovat näkymättömiä tälle käyttäjälle.", + "selectAll": "Valitse kaikki", + "clearAll": "Tyhjennä", + "permissionsHint": "Mitä tämä tili saa tehdä. {granted} jostakin {total} myönnetty.", + "groupLegend": "{group}: {granted} jostakin {total} myönnetty", + "presets": { + "label": "Käyttöoikeuden esiasetus", + "none": "Ei Mitään", + "standard": "Normaali", + "custom": "Mukautettu", + "admin": "Ylläpitäjä", + "customHint": "Tämä valinta ei vastaa esiasetusta." + }, + "filterPermissions": "Suodattimen oikeudet", + "grantedOnly": "Vain myönnetty", + "noPermissionMatches": "Suodattimen käyttöoikeudet eivät täsmää.", + "clearFilters": "Tyhjennä suodattimet", + "filteredNotice": "Suodatetaan. Piilotetut käyttöoikeudet pitävät nykyisen asetuksen.", + "contentRestrictionsHint": "Rajoita mitä kirjoja tämä käyttäjä voi nähdä, tagilla tai genrellä.", + "contentRestrictionsAfterCreate": "Sisällön rajoitukset voidaan asettaa, kun tili on olemassa.", + "unsavedChanges": "{count, plural, one {1 tallentamaton muuto} other {# tallentamatonta muutosta}}", + "libraryBookCount": "{count, plural, =0 {Ei kirjoja} one {1 kirja} other {# kirjaa}}", + "dangerZone": "Vaaratilanne alue", + "deleteUserHint": "Poistaa tämän tilin pysyvästi ja sen lukutiedot. Kirjaston kirjoihin ei vaikuteta.", + "libraryReach": "Tämä tili voi nähdä {selected} jostakin {total} kirjat." }, "usersPage": { "usersTitle": "Käyttäjät", @@ -2429,7 +4798,10 @@ "email": "Sähköposti", "access": "Pääsy", "status": "Tila", - "actions": "Toiminnot" + "actions": "Toiminnot", + "user": "Käyttäjä", + "libraries": "Kirjastot", + "lastActive": "Viimeksi aktiivinen" }, "adminBadge": "Ylläpitäjä", "permissionCount": "{count, plural, =0 {ei käyttöoikeuksia} one {yksi käyttöoikeus} other {# käyttöoikeusä}}", @@ -2437,11 +4809,16 @@ "contentRestrictionsActive": "Sisällön rajoitukset aktiivinen", "statusActive": "Aktiivinen", "statusInactive": "Passiivinen", + "lockedBadge": "Lukittu", + "unlockAccount": "Avaa tili", + "unlockHint": "Tyhjennä sisäänkirjautumisen lukitus", + "unlockAria": "Avaa {name}", "resetPassword": "Nollaa salasana", "resetPasswordOidcHint": "OIDC käyttäjät nollaavat salasanat niiden identiteetin tarjoaja", "resetPasswordSharedHint": "Jaetuilla tileillä ei ole salasanoja", "resetPasswordOidcHintFull": "OIDC käyttäjät nollaavat salasanat niiden identiteetin tarjoaja.", "resetPasswordSharedHintFull": "Jaetuilla tileillä ei ole salasanoja.", + "resetPasswordDisabledHintFull": "Salasanan todennus on poistettu käytöstä palvelimen asetuksista.", "deleteUserAction": "Poista käyttäjä", "deleteDialogTitle": "Poista käyttäjä?", "deleteDialogBody": "Poista käyttäjä \"{username}\". Tätä toimintoa ei voi perua.", @@ -2449,7 +4826,17 @@ "errors": { "load": "Lataaminen epäonnistui", "deleteUser": "Käyttäjän poistaminen epäonnistui", - "resetPassword": "Salasanan nollauslinkin luonti epäonnistui" + "resetPassword": "Salasanan nollauslinkin luonti epäonnistui", + "unlock": "Tilin avaaminen epäonnistui" + }, + "selfRegistration": { + "title": "Itserekisteröinti", + "subtitle": "Määrittää, voiko kävijät luoda omia tilejä.", + "label": "Salli itserekisteröinti", + "hint": "Kun käytössä, sisäänkirjautuminen -sivulla näkyy linkki luodaksesi tilin.", + "enabledNotice": "Uudet tilit alkavat alla olevasta oletuskirjaston käyttöoikeudesta eikä muista käyttöoikeuksista. Myönnä käyttöoikeudet ennen kuin ne voivat käyttää suojattuja ominaisuuksia.", + "loadError": "Itserekisteröintiasetuksen lataaminen epäonnistui", + "saveError": "Itserekisteröinnin asetusten päivittäminen epäonnistui" }, "defaultLibraryAccess": { "title": "Kirjaston Oletuskäyttö", @@ -2477,12 +4864,67 @@ "filtered": "Yksikään käyttäjä ei vastaa nykyistä hakua ja suodattimia." }, "pagination": { - "label": "Käyttäjien sivutus" + "label": "Käyttäjien sivutus", + "page": "Sivu {page} jostakin {totalPages}", + "showing": "Näytetään {shown} jostakin {total} tilit" }, "editUserAria": "Muokkaa {name}", "resetPasswordAria": "Nollaa salasana: {name}", "deleteUserAria": "Poista {name}", - "moreActionsAria": "Lisää toimintoja {name}" + "moreActionsAria": "Lisää toimintoja {name}", + "headerSummary": "{count,plural,one{# tili} other{# tilit} =0{Ei tilejä}} · {admins} järjestelmänvalvojan oikeudet", + "noEmail": "Ei osoitetta", + "editAccount": "Muokkaa tiliä", + "cardMeta": "{access} · {libraries} · {lastActive}", + "accessTier": { + "superuser": "Pääkäyttäjä", + "admin": "Ylläpitäjä", + "standard": "Normaali", + "custom": "Mukautettu", + "none": "Ei pääsyä" + }, + "libraries": { + "all": "Kaikki {total}", + "some": "{granted} jostakin {total}" + }, + "statusLocked": "Lukittu", + "status": { + "never": "Ei Koskaan", + "neverSignedIn": "Ei koskaan kirjautunut sisään", + "defaultPassword": "Oletus salasana", + "contentFiltered": "Sisältö suodatettu", + "unlocksIn": "Avaa {when}" + }, + "attention": { + "title": "Tarvitsee huomiota", + "count": "{count, plural, one {# tiliä} other {# tiliä}}", + "filter": "{count, plural, one {# tarvitsee huomiota} other {# tarvitsee huomiota}}", + "more": "{count} muuta ei näy tässä", + "reason": { + "locked": "{name} on lukittu liian monen epäonnistuneen kirjautumisen jälkeen", + "neverSignedIn": "{name} ei ole koskaan kirjautunut sisään", + "defaultPassword": "{name} käyttää yhä salasanaa, jonka tili on luotu" + }, + "detail": { + "unlocksIn": "Avaa automaattisesti {when}", + "created": "Luotu {when}", + "linkExpired": "Luotu {when} · sisäänkirjautumislinkki on vanhentunut", + "linkValid": "Luotu {when} · sisäänkirjautuminen voimassa kunnes {expiry}" + }, + "action": { + "unlock": "Avaa nyt", + "sendResetLink": "Lähetä palautuslinkki", + "sendNewLink": "Lähetä uusi linkki" + }, + "collapse": "Piilota", + "expand": "Näytä" + }, + "defaults": { + "title": "Uusien tilien oletukset", + "appliesTo": "Sovelletaan itse rekisteröitymiseen ja OIDC", + "startingLibraries": "Aloitetaan kirjastoja", + "startingLibrariesHint": "Tarkastajan pääsy myönnetään automaattisesti jokaiselle uudelle tilille." + } } }, "annotations": { @@ -2506,7 +4948,8 @@ "pageSelected": "Sivu valittu", "selectPage": "Valitse sivu", "clear": "Tyhjennä", - "recolorTo": "Suorita & {color}" + "recolorTo": "Suorita & {color}", + "restyleTo": "Restyle kohteeseen {style}" }, "chips": { "active": "Aktiivinen:", @@ -2523,6 +4966,8 @@ "clearAll": "Tyhjennä kaikki" }, "pagination": { + "showing": "Näytetään {start}-{end} jostakin {total}", + "pageOf": "Sivu {page} jostakin {totalPages}", "firstPage": "Ensimmäinen sivu", "previousPage": "Edellinen sivu", "nextPage": "Seuraava sivu", @@ -2586,6 +5031,7 @@ "title": "Huomautukset", "totalCount": "{count} yhteensä", "bookCount": "{count, plural, =0 {ei kirjoja} one {# kirja} other {# kirjoja}}", + "noteCount": "{count,plural,one{# Huomautus} other{# muistiinpanot} =0{ei merkintöjä}}", "export": "Vie", "exportMarkdown": "Markdown", "exportCsv": "CSV", @@ -2603,7 +5049,16 @@ "noMatch": "Mikään kohokohta ei vastaa suodattimiasi.", "resetFilters": "Nollaa suodattimet", "trashEmpty": "Roskakori on tyhjä", - "noAnnotations": "Ei vielä huomautuksia. Kohokohtia luot verkossa tai e-lukijasi näkyvät täällä." + "noAnnotations": "Ei vielä huomautuksia. Kohokohtia luot verkossa tai e-lukijasi näkyvät täällä.", + "noMatchHint": "Kokeile lyhyempää lausetta tai kirjoita väri ja kirja suodattimia.", + "noAnnotationsBody": "Kaikki merkit, missä tahansa kirjassa ja millä tahansa laitteella, kerää täältä.", + "readHere": "Lue tästä", + "readHereBody": "Valitse lukijan teksti ja valitse väri.", + "syncKobo": "Sync a Kobo", + "syncKoboBody": "Laitteessa tehdyt merkit saapuvat seuraavaan synkronointiin.", + "syncKoreader": "Synkronoi KOReader", + "syncKoreaderBody": "Plugin lataa huomautukset niiden sijainnit.", + "goToLibrary": "Siirry kirjastoon" }, "toast": { "movedToTrash": "Siirretty roskakoriin", @@ -2613,8 +5068,70 @@ "bulkTrashed": "{count, plural, =0 {Siirretty ei kommentteja roskakoriin} one {Siirretty # huomautus roskakoriin} other {Siirretty # huomautusta roskakoriin}}", "bulkRestored": "{count, plural, =0 {Ei kommentteja palautettu} one {Palautettu # huomautus} other {Palautettu # huomautuksia}}", "bulkRecolored": "{count, plural, =0 {Ei kommentteja uudelleen} one {Uusittu # selitys} other {Uusittu # selityksiä}}", - "bulkRestyled": "{count, plural, =0 {Uudelleen ei merkintöjä} one {Uudelleen kirjoitettu # huomautus} other {Uudelleen #huomautuksia}}" - } + "bulkRestyled": "{count, plural, =0 {Uudelleen ei merkintöjä} one {Uudelleen kirjoitettu # huomautus} other {Uudelleen #huomautuksia}}", + "noteSaved": "Merkintä tallennettu" + }, + "railTitle": "{marks} marks · {books} kirjat", + "lastTwelveMonths": "Viimeiset 12 kuukautta", + "colour": "Väri", + "whereFrom": "Mistä he tulivat", + "theShelf": "Hylly", + "devices": "Laitteet", + "allBooks": "Kaikki {count} kirjaa", + "behindCount": "{count, plural, one {# takana} other {# takana}}", + "busiestWeek": "Busiest week", + "longestQuiet": "Pisin hiljainen venytys", + "mostMarked": "Eniten merkitty", + "weekCount": "{count, plural, one {# viikko} other {# viikkoa}}", + "anchorsUnplaced": "{count, plural, one {# ankkuria ei voitu asettaa} other {# ankkureita ei voitu asettaa}}", + "reviewThem": "Arvostele ne", + "anchorLost": "Kadonnut ankkuri", + "anchorRepaired": "Korjattu", + "notes": "Muistiinpanot", + "review": "Arvostelu", + "viewLabel": "Ryhmittele ja lajittele", + "views": { + "newest": "Uusin ensin", + "oldest": "Vanhin ensin", + "book": "Kirjan mukaan", + "color": "Värin mukaan", + "source": "Lähteen mukaan" + }, + "matchCount": "{shown} jostakin {total}", + "moreActions": "Lisää toimintoja", + "loadMore": "{count, plural, one {Lataa vielä 1} other {Lataa # lisää}}", + "openBook": "Avaa kirja", + "noteLabel": "Huomautus", + "yourNote": "Sinun muistiinpanosi", + "notePlaceholder": "Sano, miksi tällä on väliä.", + "openAtThisPage": "Avaa tällä sivulla", + "positionAndSync": "Sijainti & synkronointi", + "loadFailed": "Korosta ei voitu ladata. Yritä hetken kuluttua uudelleen.", + "chips": { + "dateBetween": "{from} päättyen {to}", + "dateFrom": "Lähettäjän {from}", + "dateUntil": "Kunnes {to}" + }, + "activitySummary": "{count, plural, one {# kohokohta välillä {from} ja {to}} other {# kohokohtaa välillä {from} ja {to}}}", + "book": "Kirja", + "needsReview": "Tarvitsee arvostelua" + }, + "sources": { + "web": "Verkko", + "koreader": "KOReader", + "kobo": "Kobo" + }, + "colors": { + "yellow": "Keltainen", + "green": "Vihreä", + "blue": "Sininen", + "pink": "Pinkki", + "orange": "Oranssi", + "red": "Punainen", + "olive": "Oliivit", + "cyan": "Syaani", + "purple": "Violetti", + "gray": "Harmaa" } }, "audit": { @@ -2666,8 +5183,10 @@ "detailResource": "Resurssi: {value}", "detailResourceId": "Resurssitunnus: {value}", "deletedBooks": "Poistetut kirjat", + "deletedBookDetail": "{title} (Kirja #{id})", "untitledBook": "Nimetön", "deletedBooksOmitted": "{count, plural, one {# ylimääräistä kirjaa jätettiin pois} other {# ylimääräistä kirjaa jätettiin pois}}", + "showing": "Näytetään {from}-{to} jostakin {total}", "prev": "Edellinen", "chips": { "search": "Haku: {value}", @@ -2706,7 +5225,13 @@ "user": "Käyttäjä", "action": "Toiminto", "description": "Kuvaus", - "ip": "IP" + "ip": "IP", + "time": "Aika", + "person": "Henkilö", + "source": "Lähde", + "open": "Avaa", + "network": "Verkko", + "activity": "Toiminta" }, "categories": { "authentication": "Todennus", @@ -2716,15 +5241,23 @@ "collections": "Kokoelmat", "integrations": "Integraatiot", "settings": "Asetukset", - "other": "Muu" + "other": "Muu", + "access": "Sisäänkirjautuminen & käyttö", + "requests": "Pyynnöt", + "devices": "Laitteet ja sähköposti" }, "resourceLabels": { "User": "Käyttäjä", "Library": "Kirjasto", "Book": "Kirja", + "Podcast": "Podcast", + "PodcastEpisode": "Podcastin jakso", "Collection": "Kokoelma", "SmartScope": "Älykäs soveltamisala", "BookDockFile": "Kirjaa telakka tiedosto", + "BookRequest": "Kirjan pyyntö", + "DownloadClient": "Lataa asiakas", + "RequestIndexer": "Indeksoija", "Author": "Tekijä", "AppSettings": "Sovelluksen asetukset", "Genre": "Lajityyppi", @@ -2757,6 +5290,7 @@ "MagicLinkRevoke": "Peruuta maaginen linkki", "MagicLinkActivate": "Aktivoi magic linkki", "MagicLinkDeactivate": "Poista magic linkki käytöstä", + "OidcLogin": "Kirjaudu sisään OIDC:llä", "OidcUserProvisioned": "Provision OIDC käyttäjä", "OidcIdentityLinked": "Linkin OIDC henkilöllisyys", "OidcIdentityUnlinked": "Poista yhteys OIDC identiteettiin", @@ -2768,6 +5302,7 @@ "UserSuperuserEnable": "Salli pääkäyttäjän oikeudet", "UserSuperuserDisable": "Poista pääkäyttäjän oikeudet käytöstä", "UserContentFiltersSet": "Päivitä sisällön suodattimet", + "UserUnlock": "Avaa tili", "ReadingInsightsSharingUpdate": "Päivitä oivalluksen jakaminen", "ReadingInsightsProfileView": "Näytä jaetut oivallukset", "LibraryCreate": "Luo kirjasto", @@ -2780,6 +5315,18 @@ "LibraryAccessRevoke": "Peruuta kirjaston käyttö", "LibraryWriteMetadataToFiles": "Kirjoita metatiedot tiedostoihin", "LibraryBulkRename": "Nimeä kirjastotiedostot uudelleen", + "LibraryRecomputeAddedAt": "Suosittele päiväys lisätty", + "PodcastCreate": "Luo podcast", + "PodcastUpdate": "Päivitä podcast", + "PodcastArchive": "Arkistoi podcast", + "PodcastRestore": "Palauta podcast", + "PodcastPurge": "Poista podcast", + "PodcastMerge": "Yhdistä podcastit", + "PodcastDownload": "Lataa podcast-jakso", + "PodcastDownloadRemove": "Poista podcastin lataus", + "PodcastRetentionUpdate": "Päivitä podcastien säilyttäminen", + "PodcastOpmlImport": "Tuo podcastin OPML", + "PodcastOpmlExport": "Vie podcastin OPML", "BookUpload": "Lataa kirja", "BookMetadataUpdate": "Päivitä kirjan metatiedot", "BookMetadataLocksUpdate": "Päivitä metadatan lukitukset", @@ -2793,6 +5340,7 @@ "BookBulkUpdateTags": "Päivitä kirjan tunnisteet", "BookBulkSetMetadataLock": "Aseta metadatan lukitukset", "BookBulkEditMetadata": "Muokkaa kirjan metatietoja", + "BookBulkMoveLibrary": "Siirrä kirjoja toiseen kirjastoon", "BookReadingStateReset": "Palauta lukemisen tila", "BookWriteAndRename": "Kirjoita metatiedot ja uudelleennimeä tiedosto", "CollectionCreate": "Luo kokoelma", @@ -2804,6 +5352,24 @@ "SmartScopeUpdate": "Päivitä älykäs laajuus", "SmartScopeDelete": "Poista älykäs teema", "BookDockFinalize": "Viimeistele kirjatelakka tiedosto", + "BookRequestCreate": "Luo kirjapyyntö", + "BookRequestApprove": "Hyväksy kirjapyyntö", + "BookRequestReject": "Hylkää kirjapyyntö", + "BookRequestCancel": "Peruuta varauspyyntö", + "BookRequestFulfill": "Fulfil-kirjan pyyntö", + "BookRequestGrab": "Lähetä kirjapyyntö ladattavalle asiakkaalle", + "BookRequestImport": "Tuo kirjapyynnön lataus", + "BookRequestRemoveDownload": "Poista kirjapyynnön lataus sen asiakkaalta", + "BookRequestDelete": "Poista kirjapyyntö", + "DownloadClientCreate": "Luo latausohjelma", + "DownloadClientUpdate": "Päivitä latausohjelma", + "DownloadClientDelete": "Poista latausohjelma", + "RequestIndexerCreate": "Indeksointi lisätty", + "RequestIndexerUpdate": "Indeksoija päivitetty", + "RequestIndexerDelete": "Lähde poistettu", + "RequestIndexerPluginInspect": "Indeksoijan liitännäinen tarkastettu", + "RequestIndexerPluginInstall": "Indeksoijan liitännäinen asennettu", + "RequestIndexerPluginRemove": "Indeksoijan liitännäinen poistettu", "AuthorUpdate": "Päivitä tekijä", "AuthorDelete": "Poista tekijä", "AuthorMerge": "Yhdistä kirjoittajat", @@ -2838,11 +5404,182 @@ "EmailRecipientGroupUpdate": "Päivitä vastaanottajaryhmä", "EmailRecipientGroupDelete": "Poista vastaanottajaryhmä", "EmailRecipientGroupMemberAdd": "Lisää vastaanottaja ryhmään", - "EmailRecipientGroupMemberRemove": "Poista vastaanottaja ryhmästä" - } + "EmailRecipientGroupMemberRemove": "Poista vastaanottaja ryhmästä", + "MaintenanceMissingBooksClean": "Siivotut puuttuvat kirjat", + "MaintenanceBrokenCoversClean": "Puhdistetut rikkoutuneet kannet", + "MaintenanceOrphanedCoversClean": "Puhdistetut orvot kansiot" + }, + "views": { + "label": "Näytä", + "changes": "Muutokset", + "signins": "Sisäänkirjautuminen", + "security": "Turvallisuus", + "all": "Kaikki" + }, + "search": { + "label": "Hae tapahtumia", + "placeholder": "Etsi ihmisiä, kohteita tai IP-osoitteita", + "placeholderShort": "Hae tapahtumia" + }, + "range": { + "label": "Date range: {range}", + "today": "Tänään", + "7d": "Viimeiset 7 päivää", + "30d": "Viimeiset 30 päivää", + "all": "Kaikki säilytetään", + "custom": "Mukautettu alue", + "from": "Alkaen", + "to": "Vastaanottaja", + "between": "{from} päättyen {to}", + "since": "Alkaen {date}", + "until": "Kunnes {date}", + "sinceOldest": "Alkaen {date}" + }, + "filterMenu": { + "button": "Suodattimet", + "category": "Kategoria", + "person": "Henkilö", + "findPerson": "Etsi henkilö", + "noPeople": "Ei vastaavia ihmisiä", + "clear": "Tyhjennä", + "done": "Valmis" + }, + "activeFilters": { + "target": "{type}: {name}", + "clearAll": "Tyhjennä kaikki" + }, + "securityGroups": { + "label": "Turvatapahtuman tyyppi", + "all": "Kaikki", + "failed": "Epäonnistuneet sisäänkirjautumiset", + "accounts": "Tilit", + "passwords": "Salasanat", + "permissions": "Käyttöoikeudet", + "access": "Kirjaston käyttö", + "links": "Sisäänkirjautumisen linkit" + }, + "day": { + "today": "Tänään", + "yesterday": "Eilen", + "changes": "{count, plural, one {# muuttaa} other {# muuttuu}}", + "events": "{count, plural, one {# tapahtuma} other {# tapahtuma}}" + }, + "person": { + "system": "Järjestelmä", + "deleted": "Poistettu tili", + "automation": "Automaatio" + }, + "source": { + "server": "Tämä palvelin", + "local": "Paikallinen verkko", + "internet": "Internet", + "job": "Taustaa työ", + "unknown": "Ei tallennettu" + }, + "target": { + "none": "No target", + "more": "+{count}", + "sinceDeleted": "Lähtien poistettu", + "withId": "{type} #{id}" + }, + "openEvent": "Avaa tiedot: {event}", + "signIns": { + "signIns": "{count, plural, one {# kirjautunut} other {# kirjautunut}}", + "signOuts": "{count, plural, one {# uloskirjautuminen} other {# uloskirjautumista}}", + "failed": "{count, plural, one {# epäonnistui yritys} other {# epäonnistui yrityksissä}}", + "failedAs": "{count, plural, one {# epäonnistui nimellä {names}} other {# epäonnistui nimellä {names}}}", + "range": "{from} – {to}", + "footer": "{count, plural, one {{events} kirjautumistapahtumia, taitettu # riviin henkilön, päivän ja verkon toimesta} other {{events} kirjautumistapahtumia, taitettu # riviin henkilön, päivän ja verkon mukaan}}" + }, + "pager": { + "label": "Sivut", + "previous": "Edellinen sivu", + "next": "Seuraava sivu", + "page": "Sivu {page}", + "changes": "{from}–{to} jostakin {count,plural,one{# muuta} other{# muutokset}}", + "events": "{from}–{to} jostakin {count,plural,one{# tapahtuma} other{# tapahtumat}}" + }, + "drawer": { + "description": "Yksityiskohtaiset tiedot yhdestä tilintarkastustapahtumasta", + "close": "Sulje", + "subtitle": "{category} · {day}, {time}", + "when": "Milloin", + "person": "Henkilö", + "source": "Lähde", + "target": "Target", + "usernameTried": "Käyttäjätunnus kokeiltu", + "deletedHere": "{type} · poistettu tästä tapahtumasta", + "deletedSince": "{type} · poistettujen jälkeen", + "inThisRow": "{count, plural, one {# tapahtuma tällä rivillä} other {# tapahtumaa tällä rivillä}}", + "around": "Noin tämä tapahtuma", + "aroundHint": "{name}, 40 minuuttia kummallakin puolella", + "aroundEmpty": "Ei mitään muuta {name} 40 minuutin kuluessa.", + "history": "Historia", + "historyCount": "{count, plural, one {# tapahtuma} other {# tapahtuma}}", + "historyMeta": "{name} · {date}, {time}", + "thisEvent": "Tämä tapahtuma", + "raw": "Raaka tapahtuma", + "rawEventId": "Tapahtuman Tunnus", + "rawAction": "Toiminto", + "rawTarget": "Target type", + "rawNote": "Palvelimen huomautus", + "only": "Vain {name}" + }, + "facts": { + "format": "Muoto", + "size": "Koko", + "download": "Lataa", + "dockFile": "Kirjaa telakka tiedosto", + "rejected": "Hylätty", + "failed": "Epäonnistui", + "cleaned": "Puhdistettu", + "skipped": "Ohitettu", + "remaining": "Jäljellä", + "sharingLevel": "Jakamisen taso", + "sharing": { + "private": "Ei jaettu", + "summary": "Summary", + "detailed": "Yksityiskohtainen" + } + }, + "retention": { + "button": "{count, plural, one {Kept # päivä} other {Kept # päivää}}", + "title": "Säilytä tapahtumat", + "days": "{count, plural, one {# päivä} other {# päivää}}", + "hint": "Vanhemmat tapahtumat poistetaan joka ilta keskiyöllä.", + "hintWithOldest": "Vanhemmat tapahtumat poistetaan joka ilta keskiyöllä. Vanhin tapahtuma pidetään alkaen {date}.", + "readOnly": "Vain ihmiset, jotka voivat muuttaa sovellusasetuksia, voivat muuttaa tätä.", + "saved": "{count, plural, one {Tarkastustapahtumia pidetään nyt # päivän ajan.} other {Tarkastustapahtumia pidetään nyt # päivän ajan.}}", + "saveFailed": "Ei voitu muuttaa kuinka kauan tapahtumia pidetään." + }, + "export": { + "button": "Vie", + "title": "Vie mitä näytetään", + "hint": "Käyttää nykyistä näkymää, suodattimia ja päivämääräaluetta.", + "csv": "CSV", + "json": "JSON", + "failed": "Kirjausta ei voitu viedä." + }, + "emptyFiltered": "Mikään tapahtuma ei täsmää näihin suodattimiin." }, "auth": { "backToSignIn": "Takaisin sisään", + "plate": { + "exLibris": "Ex Libris" + }, + "endpaper": { + "change": "Muuta loppupaperia", + "options": { + "seigaiha": "Aallot", + "shippo": "Linkitetyt ympyrät", + "asanoha": "Hampun lehti", + "quatrefoil": "Kvarefiini", + "ogee": "Ogee", + "harlequin": "Harlequin", + "greekKey": "Kreikan avain", + "plain": "Tavallinen" + } + }, "themePicker": { "switchToLight": "Vaihda valoon", "switchToDark": "Vaihda tummaan", @@ -2860,7 +5597,10 @@ "confirmPassword": "Vahvista salasana", "confirmNewPassword": "Vahvista uusi salasana", "currentPassword": "Nykyinen salasana", - "passwordHint": "Min. 8 merkkiä isoilla kirjaimilla, pienillä kirjaimilla ja numeroilla" + "passwordHint": "Min. 8 merkkiä isoilla kirjaimilla, pienillä kirjaimilla ja numeroilla", + "showPassword": "Näytä salasana", + "hidePassword": "Piilota salasana", + "capsLockOn": "Caps Lock on päällä" }, "errors": { "generic": "Jokin meni pieleen. Yritä uudelleen.", @@ -2872,9 +5612,17 @@ "signingIn": "Kirjaudutaan sisään...", "orDivider": "tai", "forgotPassword": "Unohditko salasanasi?", + "resetPasswordAction": "Nollaa salasana", + "noAccount": "Eikö sinulla ole tiliä?", + "signUp": "Rekisteröidy nyt", + "registeredNotice": "Tili luotu. Kirjaudu sisään jatkaaksesi. Ylläpitäjän on myönnettävä käyttöoikeudet ennen kuin voit käyttää kirjastoa.", + "resetNotice": "Salasana päivitetty. Kirjaudu sisään uudella salasanalla.", "errors": { "invalidCredentials": "Virheellinen käyttäjätunnus tai salasana", - "tooManyAttempts": "Liian monta kirjautumisyritystä. Odota hetki ja yritä uudelleen." + "tooManyAttempts": "Liian monta kirjautumisyritystä. Odota hetki ja yritä uudelleen.", + "passwordDisabled": "Salasanan kirjautuminen ei ole käytössä. Käytä yhtä kirjautumistarjoajaa.", + "optionsUnavailable": "Sisäänkirjautumisen asetuksia ei voitu ladata. Päivitä sivu tai ota yhteyttä järjestelmänvalvojaan.", + "accountLocked": "Salasanasi on oikea, mutta tämä tili on tilapäisesti lukittu, kun kirjautuminen on epäonnistunut. Yritä uudelleen {minutes, plural, one {# minute} other {# minutes}}, tai nollaa salasanasi avataksesi sen nyt." } }, "oidc": { @@ -2915,6 +5663,29 @@ "invalidOrExpired": "Virheellinen tai vanhentunut palautuslinkki. Pyydä uusi linkki." } }, + "register": { + "title": "Luo tilisi", + "subtitle": "Rekisteröidy saadaksesi alkunsa.", + "createAccount": "Luo tili", + "creatingAccount": "Luodaan tiliä...", + "haveAccount": "Onko sinulla jo tili?", + "signIn": "Kirjaudu sisään", + "errors": { + "closed": "Itse rekisteröinti ei ole avoinna tällä palvelimella.", + "taken": "Tämä käyttäjätunnus tai sähköpostiosoite on jo käytössä.", + "invalid": "Tarkista antamasi tiedot ja yritä uudelleen.", + "tooManyAttempts": "Liian monta yritystä. Odota hetki ja yritä uudelleen.", + "failed": "Tiliä ei voitu luoda", + "username": { + "unsafeCharacters": "Käyttäjänimesi ei voi sisältää piilotettuja tai tekstin suuntamerkkejä.", + "untrimmed": "Käyttäjänimesi ei voi alkaa tai loppua välilyönnillä." + }, + "name": { + "unsafeCharacters": "Nimesi ei voi sisältää piilotettuja tai tekstin suunta merkkejä.", + "untrimmed": "Nimesi ei voi alkaa tai loppua välilyönnillä." + } + } + }, "setup": { "title": "Alkuasetukset", "subtitle": "Luo ensimmäinen järjestelmänvalvojan tili.", @@ -2951,7 +5722,15 @@ "deleteAuthor": "Poista Tekijä" }, "filters": { - "allLibraries": "Kaikki Kirjastot" + "allLibraries": "Kaikki Kirjastot", + "chips": { + "groupLabel": "Suodata kirjoittajat", + "all": "Kaikki", + "noPortrait": "Ei muotokuvaa", + "multipleBooks": "2+ kirjaa", + "recentlyAdded": "Lisätty tällä viikolla", + "noSortName": "Ei lajittelunimeä" + } }, "header": { "never": "Ei Koskaan", @@ -2968,7 +5747,12 @@ "noBiography": "Elämäkerta ei ole saatavilla. Käytä valikkoa päivittääksesi metatiedot.", "previewFrom": "Esikatselu kohteesta {provider}. Tallenna metatiedot jatkaaksesi sitä.", "booksLabel": "Kirjat", - "lastAdded": "Viimeksi Lisätty" + "lastAdded": "Viimeksi Lisätty", + "born": "Syntynyt", + "died": "Kuollut", + "website": "Sivusto", + "genres": "Genres", + "influences": "Vaikutukset" }, "list": { "title": "Tekijät", @@ -2982,6 +5766,7 @@ "desc": "Desc", "filters": "Suodattimet", "clear": "Tyhjennä", + "allLoaded": "Kaikki {total} kirjoittajat ladattu", "sort": { "name": "Nimi", "sortName": "Lajittele Nimi", @@ -3003,6 +5788,8 @@ "selectVisible": "Valitse näkyvä", "refreshMetadata": "Päivitä metatiedot", "refreshingMetadata": "Päivitetään metatietoja...", + "confirmRefreshCount": "{count, plural, one {Päivitä metatiedot # tekijälle?} other {Päivitä metatiedot # tekijälle?}}", + "refreshAction": "Päivitä", "deleteSelected": "Poista valitut", "deleting": "Poistetaan...", "exitSelection": "Poistu valinnasta", @@ -3012,6 +5799,8 @@ "refreshed": "Tekijän metatiedot päivitetty", "refreshedNoImage": "Metatiedot päivitetty, mutta kirjoittajan kuvaa ei löytynyt.", "refreshFailed": "Kirjoittajan metatietojen päivitys epäonnistui", + "bulkRefreshPartial": "Päivitetty {updated} tekijä (tekijät), {failed} epäonnistui", + "bulkRefreshSuccess": "Päivitetyt metatiedot {updated} kirjoittaja(t)", "bulkRefreshFailed": "Valittujen kirjoittajien päivittäminen epäonnistui", "deleteSuccess": "{count, plural, =0 {Poistettu # tekijä, vaikutti {books} kirjat} one {Poistettu # tekijä, vaikutti {books} kirjat} other {Poistettu # tekijää; vaikutti {books} kirjoja}}", "deleteFailed": "Tekijän (kirjoittajien) poistaminen epäonnistui" @@ -3041,11 +5830,13 @@ "searchPlaceholder": "Etsi kirjoittajia yhdistääksesi tämän kirjoittajan", "searching": "Haetaan...", "bookCount": "{count, plural, =0 {ei kirjoja} one {# kirja} other {# kirjoja}}", + "selectedSummary": "Valittu {count} laatija(t), n. {books} vaikutukset kirjoihin.", "merging": "Yhdistetään...", "mergeSelected": "Yhdistä Valitut", "confirmLabel": "Yhdistä" }, "mergeDialog": { + "title": "Yhdistä {count} kirjoittaja(t) kohteeseen \"{name}\"?", "titleFallback": "Yhdistä valitut kirjoittajat?", "description": "Tämä yhdistää valitut kirjoittajat nykyiseen kirjoittajaan ja linkittää liittyvät kirjat. Tätä toimintoa ei voi perua.", "descriptionEmpty": "Tätä toimintoa ei voi peruuttaa." @@ -3083,14 +5874,38 @@ "imageUploadFailed": "Kuvan lataaminen ei onnistunut", "imageRemoved": "Kirjoittajan kuva poistettu", "imageRemoveFailed": "Kuvan poisto epäonnistui", + "mergeSuccess": "Yhdistetty {count} tekijä (tekijät); vaikuttaa {books} kirjat", "mergeFailed": "Tekijöiden yhdistäminen epäonnistui", "deleteSuccess": "Poistettu kirjailija; vaikuttaa {books} kirjoihin", "deleteFailed": "Käyttäjän poisto epäonnistui" } + }, + "portrait": { + "fromTheirBook": "Kansio yksi niiden kirjoja; ei muotokuva tiedostossa" + }, + "index": { + "bookCount": "{count, plural, =0 {ei kirjoja} one {# kirja} other {# kirjoja}}", + "rowLabel": "{name}, {count,plural,one{# kirja} other{# kirjat} =0{ei kirjoja}}", + "actionsFor": "{name} toiminnot", + "refreshing": "Päivitetään metatietoja {name}", + "deleting": "Poistetaan {name}" } }, "book": { "untitled": "Nimetön", + "placeholder": { + "volume": "Vol. {number}", + "genre": { + "horror": "Kauhu", + "romance": "Romantiikka", + "fantasy": "Fantasy", + "scifi": "Sci-fi", + "mystery": "Mysteeri", + "classic": "Klassikot", + "nonfiction": "Ei-fiktio", + "young": "Nuoret lukijat" + } + }, "unknownFormat": "tuntematon", "collapsedSeries": { "label": "Sarja", @@ -3104,9 +5919,34 @@ "primary": "Ensisijainen", "audiobook": "Äänikirja" }, + "formats": { + "djvu": "DjVu asiakirja", + "epub": "EPUB e-kirja", + "kepub": "KEPUB e-kirja", + "pdf": "PDF asiakirja", + "cbz": "CBZ sarjakuva", + "cbr": "CBR sarjakuva", + "cb7": "CB7 sarjakuva", + "mobi": "MOBI e-kirja", + "azw3": "AZW3 e-kirja", + "azw": "AZW e-kirja", + "fb2": "FictionBook", + "m4b": "M4B äänikirja", + "mp3": "MP3 ääni", + "m4a": "M4A ääni", + "opus": "Opus ääni", + "ogg": "OGG ääni", + "flac": "FLAC ääni", + "readAlong": "Read-along EPUB", + "primary": "Ensisijainen muoto" + }, "actions": { "read": "Lue", "listen": "Kuuntele", + "startReading": "Aloita lukeminen", + "continueReading": "Jatka lukemista", + "startListening": "Aloita kuuntelu", + "continueListening": "Jatka kuuntelua", "peek": "Tirkistys", "quickView": "Pikanäkymä", "details": "Yksityiskohdat", @@ -3120,7 +5960,18 @@ "setStatus": "Aseta Tila", "sendViaEmail": "Lähetä sähköpostitse", "rate": "Arvostele {star}", - "openAs": "Avaa nimellä {format}" + "openAs": "Avaa nimellä {format}", + "openReadAlong": "Avaa luku-pitkin EPUB" + }, + "refreshMetadata": { + "success": "Metatiedot päivitetty", + "failed": "Metadatan päivitys epäonnistui" + }, + "coverRegeneration": { + "failed": "Kantta ei voitu luoda uudelleen", + "bulkInProgress": "Uusintakansien kannet", + "bulkFailed": "Ei voitu purkaa kansia uudelleen", + "bulkCompleted": "Uusittu {updated} jostakin {processed,plural,one{# kansi} other{# kannet}}" }, "readStatus": { "unread": "Lukemattomat", @@ -3136,7 +5987,20 @@ "action": "Lataa", "audiobookZip": "Äänikirja (ZIP)", "allFormatsZip": "Kaikki muodot (ZIP)", - "primaryOnlyZip": "Vain ensisijainen (ZIP)" + "primaryOnlyZip": "Vain ensisijainen (ZIP)", + "preparing": "Valmistellaan latausta...", + "preparingExport": "Valmistellaan {count, plural, one {# kirja} other {# kirjaa}} ladattavaksi...", + "progressPercent": "Ladataan {percent} jostakin {total}", + "progressBytes": "Ladataan {transferred}", + "failed": "Lataus epäonnistui", + "exportFailed": "Vienti epäonnistui", + "audiolessEpub": "KOReader EPUB", + "audiolessEpubHint": "Lataa EPUB KOReaderiin kun äänitiedostot on poistettu", + "noAudio": "ei ääntä", + "textOnlyEpub": "Vain Teksti EPUB", + "textOnlyEpubHint": "Lataa narration-free EPUB säilyttäen lukuankkureita.", + "originalNarrated": "Alkuperäinen EPUB kertomalla", + "originalNarratedEpub": "Alkuperäinen EPUB kertomalla" }, "sort": { "moveUp": "Siirrä ylös", @@ -3144,6 +6008,7 @@ "ascending": "Nouseva", "descending": "Laskeva", "fields": { + "relevance": "Merkitys", "author": "Tekijä", "title": "Otsikko", "series": "Sarja", @@ -3164,7 +6029,8 @@ "finishedAt": "Päivämäärä Valmis", "random": "Satunnainen", "language": "Kieli", - "metadataScore": "Metatietojen Pistemäärä" + "metadataScore": "Metatietojen Pistemäärä", + "collectionOrder": "Tilaus Lisätty" }, "customFieldsGroup": "Mukautetut kentät", "customFieldFallback": "Mukautettu kenttä", @@ -3192,18 +6058,21 @@ "collection": "Kokoelma", "library": "Kirjasto", "format": "Muoto", + "fileSize": "Ensisijainen Tiedostokoko", "addedAt": "Lisätty Päivämäärä", "startedAt": "Päivämäärä Aloitettu", "finishedAt": "Päivämäärä Valmis", "fileAvailability": "Tiedoston Saatavuus", "rating": "Arvostelu", "communityRating": "Yhteisön Luokitus", + "communityRatingCount": "Yhteisön Arvioiden Määrä", "readProgress": "Lukeminen Edistyminen", "readStatus": "Lue Tila", "description": "Kuvaus", "isbn": "ISBN", "metadataScore": "Metatietojen Pistemäärä", "cover": "Kansi", + "audioCover": "Äänikirja Kansikuva", "lockStatus": "Lukituksen Tila", "seriesStatus": "Sarjan Tila" }, @@ -3234,8 +6103,12 @@ "isFinished": "on valmis", "isLocked": "on lukittu", "isUnlocked": "on avattu", - "isUpNext": "on ylös seuraava" + "isUpNext": "on ylös seuraava", + "isTrue": "on kyllä", + "isFalse": "ei ole" }, + "customFieldsGroup": "Mukautetut kentät", + "customFieldFallback": "Mukautettu kenttä", "anyProvider": "Mikä tahansa tarjoaja", "communityRatingProvider": "Yhteisön luokituspalvelujen tarjoaja", "loadingLibraries": "Ladataan kirjastoja...", @@ -3246,7 +6119,8 @@ "unit": { "days": "päivää", "weeks": "viikkoa", - "months": "kuukautta" + "months": "kuukautta", + "megabytes": "Mt" }, "scorePreset": { "outstanding": "Erinomainen", @@ -3255,7 +6129,11 @@ "poor": "Huono" }, "scoreRangePlaceholder": "0-100", + "fileSizePlaceholder": "esim. 10", + "fileSizeValueAria": "Ensisijainen tiedostokoko megatavuissa", + "fileSizeMaximumAria": "Suurin ensisijainen tiedostokoko megatavuissa", "valuePlaceholder": "arvo", + "maxPlaceholder": "maks.", "to": "päättyen", "group": "Ryhmä", "addRule": "Lisää sääntö", @@ -3377,6 +6255,7 @@ "openIn": "Avaa nimellä {provider}", "pages": "{count, plural, =0 {# sivu} one {# sivu} other {# sivua}}", "primaryFile": "Ensisijainen Tiedosto", + "fileNumber": "Tiedosto #{id}", "showLess": "Näytä vähemmän", "showMore": "Näytä lisää", "collections": "Kokoelmat", @@ -3393,6 +6272,7 @@ "booksSelected": "{count, plural, =0 {# kirja valittu} one {# kirja valittu} other {# kirjaa valittu}}", "loadingMoreBooks": "Ladataan lisää kirjoja", "sort": "Järjestä", + "refreshingMetadata": "Päivitetään metatietoja {processed} / {total}", "failedCount": "{count} epäonnistui", "remainingCount": "{count} jäljellä", "readOnlyNotice": "Taulujen muokkaus on poistettu käytöstä pienemmillä ruudukoilla. Siirry listaan tai ruudukkoon nopeampia toimintoja varten.", @@ -3403,6 +6283,7 @@ "scrollToTop": "Vieritä ylös", "selectedStatus": "{count} valittu", "filtered": "Suodatettu", + "loadedStatus": "{loaded} jostakin {total} ladattu", "bookCount": "{count, plural, =0 {# kirja} one {# kirja} other {# kirjaa}}", "keyboardShortcutsTitle": "Näppäimistön pikakuvakkeet (?)", "showKeyboardShortcuts": "Näytä pöytänäppäimistön pikakuvakkeet", @@ -3415,7 +6296,8 @@ }, "header": { "previousBook": "Edellinen kirja", - "nextBook": "Seuraava kirja" + "nextBook": "Seuraava kirja", + "backToLibrary": "Takaisin {library}" }, "tabs": { "details": "Yksityiskohdat", @@ -3462,6 +6344,8 @@ "done": "Valmis", "retry": "Yritä Uudelleen", "filesAdded": "{count, plural, =0 {mitään tiedostoja ei lisätty} one {yksi tiedosto lisättiin} other {# tiedostoa lisätty}}", + "uploadedFailed": "{done} ladattu, {failed} epäonnistui", + "uploadingProgress": "{done} jostakin {total} ladataan...", "renameAfter": "Nimeä kaikki kirjatiedostot uudelleen lähetyksen jälkeen", "uploadCount": "Lataa ({count})", "upload": "Lähetä" @@ -3493,7 +6377,32 @@ "saving": "Tallennetaan...", "saveCover": "Tallenna kansi", "revertToOriginal": "Palauta alkuperäiseen", - "regenerateCover": "Luo Kansi Uudelleen" + "regenerateCover": "Luo Kansi Uudelleen", + "slotsLabel": "Muokattava kansikuva", + "slotEbook": "Kirja", + "slotAudio": "Äänikirja", + "slotEbookName": "Varaa kansi", + "slotAudioName": "Äänikirjan kansi", + "editingEbook": "Kirjan kannen muokkaaminen", + "editingAudio": "Äänikirjan kanteen muokkaaminen", + "lockEbookCover": "Lukitse kirjan kansi", + "unlockEbookCover": "Avaa kirjan kansi", + "lockAudioCover": "Lukitse äänikirjan kansi", + "unlockAudioCover": "Avaa äänikirjan kansi", + "viewLarger": "Näytä suurempana", + "viewLargerEbook": "Näytä suurempi kirjan kansi", + "viewLargerAudio": "Näytä suurempi äänikirjan kansi", + "sourceMode": "Kuvan lähde", + "urlLabel": "Kuvan URL", + "saveFailed": "Kantta ei voitu tallentaa", + "revertFailed": "Kantta ei voitu palauttaa" + }, + "coverLightbox": { + "title": "Kansikuvan esikatselu", + "description": "Täysikokoinen kansi. Sulje paina Escape", + "switchLabel": "Näytettävä kansikuva", + "ebook": "Kirja", + "audio": "Äänikirja" }, "coverSearch": { "title": "Online Haku", @@ -3534,14 +6443,38 @@ "cancelEditAria": "Peruuta henkilökohtainen arvostelumuokkaus" }, "editCover": "Muokkaa kantta", + "viewCover": "Näytä suurempi kansi", "finished": "Valmis", "resetFileProgress": "Nollaa tiedoston eteneminen", + "resetEditionProgress": "Nollaa edistyminen kohteelle {format}", "resetting": "Palautetaan...", "resetProgressConfirm": "Palauta tallennettu lukemisen edistyminen kohteelle {label}?", "moreCount": "+{count} lisää", "untitled": "Nimetön", "metadataScore": "Metatietojen Pistemäärä", "primaryFormat": "Ensisijainen muoto", + "readAloudSync": { + "title": "Luetun edistymisen synkronointi", + "state": { + "enabled": "Käytössä", + "disabled": "Pois Käytöstä", + "unavailable": "Unavailable", + "epubCopiesOnly": "Vain EPUB-kopiot" + }, + "enabledDescription": "Äänikirja, verkkolukija, Kobo ja KOReader-asema pysyvät synkronoina.", + "disabledDescription": "Jokainen muoto säilyttää oman lukuasemansa.", + "epubCopiesDescription": "Web-lukijan, Kobon ja KOReaderin sijainnit pysyvät synkronoituna EPUB-kopioissa. Lisää vastaavia äänikirjatiedostoja synkronoidaksesi myös äänikirjan.", + "reason": { + "no_media_overlay_epub": "Tarvitaan luettavaa EPUB:tä, jossa on median peittoja.", + "no_audio_files": "Tarvitaan vastaavuus itsenäiseen äänikirjatiedostoon.", + "missing_duration": "Äänen keston metadata on epätäydellinen.", + "durationMismatch": "Kestot eivät vastaa riittävän tarkasti: audiobook {audio}, luku-along EPUB {overlay}." + }, + "enable": "Aktivoi", + "disable": "Poista Käytöstä", + "saving": "Tallennetaan...", + "saveFailed": "Ei voitu päivittää luku-aloudin edistymisen synkronointia." + }, "openIn": "Avaa nimellä {provider}", "showLess": "Näytä vähemmän", "showMore": "Näytä lisää", @@ -3557,6 +6490,8 @@ "fileSize": "Tiedoston Koko", "library": "Kirjasto", "added": "Lisätty", + "cancelDateAddedEdit": "Peruuta päivämäärä lisätty muokkaus", + "editDateAdded": "Muokkaa lisätty päivämäärä", "dateStarted": "Päivämäärä Aloitettu", "saving": "Tallennetaan...", "cancelDateStartedEdit": "Peruutuspäivämäärä aloitettu muokkaus", @@ -3568,16 +6503,51 @@ "synopsis": "Synopsis", "noDescription": "Kuvausta ei ole saatavilla.", "dateStartedFutureError": "Päivämäärän alku ei voi olla tulevaisuudessa.", + "dateAddedRequiredError": "Lisätty päivämäärä on pakollinen.", + "dateAddedFutureError": "Lisätty päivämäärä ei voi olla tulevaisuudessa.", "dateFinishedFutureError": "Päivämäärä valmistui ei voi olla tulevaisuudessa.", "dateFinishedBeforeStartedError": "Päivämäärä valmistui, tai sen jälkeen päivämäärä aloitettu.", + "dateFinishedBeforeStartedErrorWithDate": "Päivämäärä valmistui, tai sen jälkeen päivämäärä aloitettu ({date}).", "saveReadingDatesError": "Lukupäivien tallentaminen epäonnistui.", + "saveAddedDateError": "Lisätyn päivämäärän tallennus epäonnistui.", "koboPendingDelete": "Odottaa poisto laitteesta", "koboPendingDeleteTooltip": "Kobo poistaa sen seuraavassa synkronoinnissa.", "koboRemovedByDevice": "Poistettu laitteella", "koboRemovedByDeviceTooltip": "Kobo raportoi tästä kirjasta poistettu.", "koboNotSynced": "Ei synkronoitu", "koboNotSyncedTooltip": "Jonossa seuraavaa Kobon synkronointia varten.", - "filesNotFound": "Tiedostoja ei löytynyt" + "filesNotFound": "Tiedostoja ei löytynyt", + "filesNotFoundDescription": "Tämän kirjan tiedostoja ei enää löydy levyltä. Metatiedot ovat edelleen saatavilla. Suorita kirjaston skannaus vahvistaaksesi tai poistaaksesi tietueen.", + "resetHoldNotice": "{device} on edelleen vanha asema ({percent})", + "resetHoldRelease": "Käytä tämän laitteen sijaintia", + "resetHoldReleasing": "Vapautetaan...", + "resetHoldReleaseFailed": "Tätä sijaintia ei voitu käyttää. Yritä uudelleen.", + "editions": "Muokkaukset", + "editionsSummary": "{count} · {size}", + "moreFormats": "+{count} lisää", + "filesOnDisk": "Tiedostot levyllä", + "yourReading": "Sinun lukemasi", + "lastRead": "viimeksi luettu {when}", + "notStarted": "ei aloitettu", + "noSessionsYet": "Lukuistuntoja ei ole vielä. Tämän kirjan avaaminen lukijassa seuraa aikaa, vauhtia ja laitekohtainen edistymistä.", + "activitySessions": "Istunnot", + "activityTime": "Aika", + "activityAverage": "Keskiarvo", + "activityProgress": "Edistyminen", + "activityDayTooltip": "{day}: {minutes} min", + "activityReached": "{percent} saavutettu", + "durationS": "{seconds}s", + "durationM": "{minutes}m", + "durationHm": "{hours}h {minutes}m", + "yourReview": "Arvostelusi", + "reviewNotWritten": "Ei vielä kirjoitettu", + "writeReview": "Kirjoita", + "collections": "Kokoelmat", + "noCollections": "Ei Mitään", + "onDisk": "Levyllä", + "detailsHeading": "Yksityiskohdat", + "percentUnderOne": "<1%", + "percentOverNinetyNine": ">99%" }, "editMetadata": { "fieldCount": "{count, plural, =0 {ei kenttiä} one {yksi kenttä} other {# kenttää}}", @@ -3590,8 +6560,11 @@ "writing": "Kirjoitetaan...", "saveInProgress": "Tallenna käynnissä", "writeManualLibraryDisabled": "Kirjoita metatiedot tiedostoon ja uudelleennimeä levylle; automaattinen kirjoitus-takaisinkirjaus on poistettu käytöstä tässä kirjastossa", + "writeManualTooltip": "Kirjoita {fields} päättyen {target} ja uudelleennimeä levy", + "applyResult": "{skipped}, {updated}", "skippedLockedFields": "{count, plural, =0 {Ei lukittuja kenttiä} one {Ohitettu yksi lukittu kenttä} other {Ohitettu # lukittua kenttää}}", "updatedFields": "{count, plural, =0 {ei päivitetty kenttiä} one {päivitti yhtä kenttää} other {päivitti # kenttiä}}", + "wroteFieldsToFile": "Wrote {fields} tiedostoon", "fileWriteFailedReason": "Tiedoston kirjoittaminen epäonnistui: {reason}", "fileWriteFailed": "Tiedoston kirjoittaminen epäonnistui", "fileWriteSkippedReason": "Tiedostotyyppi ohitettu: {reason}", @@ -3602,6 +6575,8 @@ "savedButWriteFailed": "Metatiedot tallennettu, mutta tiedoston kirjoittaminen epäonnistui", "savedWriteSkippedReason": "Metatiedot tallennettu, tiedosto ohitettu: {reason}", "savedWriteSkipped": "Metatiedot tallennettu, tiedoston kirjoitus ohitettu", + "saveFailed": "Muutoksia ei voitu tallentaa", + "saveFailedWithStatus": "Muutoksia ei voitu tallentaa (HTTP {status})", "loadFromFileFailed": "Metatietojen lataaminen tiedostosta epäonnistui", "loadedFieldsFromFile": "{count, plural, =0 {Loaded no fields from file} one {Ladattu yksi kenttä tiedostosta} other {Ladattu # kenttiä tiedostosta}}", "noMetadataInFile": "Metatietoja ei löytynyt tiedostosta", @@ -3609,7 +6584,9 @@ "loadFromFileTooltip": "Lataa metatiedot ensisijaisesta kirjatiedostosta", "writeToFile": "Kirjoita tiedostoon", "autoFill": "Automaattinen Täyttö", + "autoFillFailed": "Automaattitäydennys epäonnistui", "fetchingMetadata": "Haetaan metatietoja...", + "noExistingProviderIds": "Metatietoja ei haettu: yhdelläkään aktiivisella kenttäsäännön tarjoajalla ei ole tähän kirjaan tallennettua tunnusta.", "allFieldsLocked": "Kaikki kentät on lukittu", "autoFillTooltip": "Täytä kentät automaattisesti käyttäen metatietoasetuksiasi", "lockAll": "Lukitse kaikki", @@ -3667,7 +6644,9 @@ "fieldsSelected": "{count, plural, =0 {kenttiä ei ole valittu} one {yksi kenttä valittu} other {# kenttää valittu}}", "results": "Tulokset", "providerMatches": "{provider} osumaa", + "selectedOf": "Valittu {selected} jostakin {total}", "yearUnknown": "Tuntematon vuosi", + "indexOf": "{index} jostakin {total}", "switchedResult": "Vaihdettu tulos. Tämän palveluntarjoajan aiemmat valinnat tyhjennettiin.", "selectFieldsToApply": "Valitse sovellettavat kentät", "copyMissing": "Kopioi Puuttuu", @@ -3675,9 +6654,19 @@ "hideUnchanged": "Piilota muuttumattomana", "showUnchanged": "Näytä muuttumattomana", "current": "Nykyinen", + "new": "Uusi", "noMetadata": "Tästä lähteestä ei ole saatavilla metatietoja.", "noChangedFields": "Ei muuttuneita tai puuttuvia kenttiä. Käytä Näytä muuttumattomana tarkastaaksesi kaiken.", - "applyToForm": "Käytä lomakkeeseen" + "applyToForm": "Käytä lomakkeeseen", + "secondCover": { + "audioResults": "Äänikirjan kansitulokset", + "bookResults": "Varaa kansitulokset", + "showCover": "Näytä {provider} kansi, {index} jostakin {total}", + "searchingAudio": "Etsitään äänikirjojen versioita...", + "searchingBook": "Etsitään kirjan painoksia...", + "noAudio": "Äänikirjaimia ei löytynyt.", + "noBook": "Kansikuvia ei löytynyt." + } }, "diff": { "locked": "Lukittu", @@ -3686,15 +6675,79 @@ "newCoverAlt": "Uusi kansi", "pickCoverFromProvider": "Valitse suojus toiselta palveluntarjoajalta", "pickCoverSource": "Valitse kannen lähde", + "coverShapeHint": { + "portraitForAudio": "Muotokuva. Äänikirjojen kannet ovat neliöt.", + "squareForBook": "Neliön kuva. Kirjan kannet ovat muotokuva." + }, "pickFromProvider": "Valitse toiselta palveluntarjoajalta", "pickSource": "Valitse lähde", + "useNew": "Käytä uutta {field}", + "keepCurrent": "Säilytä nykyinen {field}", + "genreWriteMode": { + "label": "Kuinka levittää tyylilajeja", + "merge": "Yhdistä", + "replace": "Korvaa" + }, "empty": "tyhjä", "showLess": "Näytä vähemmän", "showMore": "Näytä lisää", - "coverPreviewAlt": "Kansikuvan esikatselu" + "coverPreviewAlt": "Kansikuvan esikatselu", + "fields": { + "coverUrl": "Kansi", + "bookCover": "Varaa kansi", + "audioCover": "Äänikirjan kansi", + "title": "Otsikko", + "subtitle": "Tekstitys", + "authors": "Tekijät", + "description": "Kuvaus", + "publisher": "Julkaisija", + "publishedDate": "Julkaistu", + "language": "Kieli", + "pageCount": "Sivun määrä", + "communityRating": "Yhteisön luokitus", + "seriesName": "Sarja", + "seriesIndex": "Sarjan indeksi", + "isbn13": "ISBN-13", + "isbn10": "ISBN-10", + "genres": "Genres", + "narrators": "Narraattorit", + "durationSeconds": "Kesto (sekuntia)", + "abridged": "Abridged", + "hardcoverEditionId": "Kovakantinen painos ID", + "comicIssueNumber": "Ongelman numero", + "comicVolumeName": "Tilavuus", + "comicPencillers": "Pencillers", + "comicInkers": "Inkerit", + "comicColorists": "Coloristit", + "comicLetterers": "Kirjaimet", + "comicCoverArtists": "Kansikuvien esittäjät", + "comicCharacters": "Merkit", + "comicTeams": "Tiimit", + "comicLocations": "Sijainnit", + "comicStoryArcs": "Story arcs", + "sourceUrl": "Lähteen URL" + }, + "providerIds": { + "google": "Google Books -tunnus", + "goodreads": "Goodreads ID", + "amazon": "Amazon ID", + "hardcover": "Kovakantinen ID", + "openLibrary": "Avaa Kirjaston Tunnus", + "itunes": "iTunes ID", + "audible": "Äänetön Tunnus", + "librofm": "Libro.fm ISBN", + "comicvine": "Comicviine ID", + "ranobedb": "RanobeDB ID", + "kobo": "Kobo ID", + "lubimyczytac": "LubimyCzytac ID", + "aladin": "Aladin ID" + } }, "searchDrawer": { "searchTitle": "Hae Metatietoja", + "autoSearchOnOpen": "Hae automaattisesti avattaessa", + "autoSearchOnOpenHint": "Käyttää kirjan tietoja seuraavalla kerralla, kun tämä paneeli avataan. Muistit tilisi tässä selaimessa.", + "searchOptions": "Haun asetukset", "compareTitle": "Vertaa Metatietoja", "searchSubtitle": "Löydä paras tarjoaja täsmää tähän kirjaan.", "compareSubtitle": "Tarkistaa eroja ja soveltaa vain mitä haluat." @@ -3716,13 +6769,244 @@ "notInFieldRulesText": "{providers}. Sisältää manuaalisen haun jossa kaikki on käytössä, mutta ei automaattisen metadatan haun käyttämistä.", "noResults": "Tuloksia ei löytynyt", "noResultsHint": "Yritä muuttaa otsikkoa tai kirjoittajaa", + "searchInterrupted": "Haku ei päättynyt", + "searchIncomplete": "Joitakin tuloksia voi olla puuttuu", + "providerTimedOut": "{provider} kesti liian kauan vastatakseen.", + "providerThrottled": "{provider} on lyönyt rajansa. Odota hetki ja yritä uudelleen.", + "providerFailed": "{provider} ei voitu saavuttaa.", + "searchInterruptedHint": "Yritä uudelleen, tai kaventaa hakua.", "searchPrompt": "Etsi edellä, sitten klikkaa tulosta aloittaaksesi metadatan vertailun." }, + "match": { + "sheetDescription": "Hae metatietojen tarjoajia ja valitse mitä kopioida tähän kirjaan.", + "mediumAudiobook": "Äänikirja", + "mediumEbook": "Ebook", + "query": { + "label": "Metatietojen haku", + "title": "Otsikko", + "author": "Tekijä", + "isbn": "ISBN", + "edited": "Kyselyn muokkaus", + "useBookDetails": "Käytä kirjan tietoja" + }, + "sources": { + "heading": "Lähteet", + "allEnabledHint": "{count, plural, one {# lähde. Paras manuaaliseen hakuun.} other {# lähdettä. Paras manuaaliseen hakuun.}}", + "fieldRulesHint": "{count, plural, one {# lähde, yksi automaattinen nouto käyttää.} other {# lähdettä, ne automaattinen nouto käyttää.}}", + "outsideRules": "{providers} {count,plural,one{on käytössä, mutta ei kenttäsäännöissä, joten automaattinen nouto ohittaa sen.} other{ovat käytössä, mutta ei kenttäsäännöissä, joten automaattinen nouto ohittaa ne.}}", + "manualOnly": "{providers}: manuaalinen haku, ei automaattinen nouto.", + "count": "{provider}: {count, plural, =0 {ei tuloksia} one {# tulos} other {# tulokset}}", + "searching": "{provider}: haku", + "stopped": "{provider}: pysäytetty ennen viimeistelyä" + }, + "results": { + "label": "Ottelut", + "best": "Parhaat ottelut", + "otherEditions": "Muut painokset", + "otherBooks": "Luultavasti erilaisia kirjoja", + "stillSearching": "Haku jatkuu", + "linked": "Linkitetty", + "linkedHint": "Tämä tietue on jo liitetty kirjaan", + "isbn": "ISBN vastaavuus", + "fills": "+{count} tyhjä", + "fillsHint": "{count, plural, one {Fills # tyhjä kenttä} other {Fills # tyhjä kentät}}", + "differ": "{count} eroaa", + "differHint": "{count, plural, one {# kenttä eroaa kirjasta} other {# kentät eroavat kirjasta}}", + "inSync": "Synkronoinnissa", + "inSyncHint": "Mikään tässä ei muuttaisi kirjaa", + "differentAuthor": "Erilainen tekijä", + "titleDiffers": "Otsikko eroaa", + "sparse": "Sparse", + "sparseHint": "{count, plural, one {Vain # kenttä täytetty} other {Vain # kenttää täytetty}}", + "staged": "{count, plural, one {# muutos vaiheittain tästä tuloksesta} other {# muutoksia vaiheittain tästä tuloksesta}}", + "noMatches": "Ei osumia tähän kyselyyn", + "noMatchesHint": "{count, plural, one {Lähde ei vastannut mitään.} other {# lähteestä ei vastannut mitään.}} Löysi haun ja yritä uudelleen.", + "searchTitleOnly": "Etsi vain otsikko", + "prompt": "Kirjoita otsikko tai ISBN etsiäksesi.", + "mayBeMissing": "Sen tulokset saattavat puuttua.", + "retry": "Yritä {provider} Uudelleen", + "pages": "{count, plural, one {# sivu} other {# sivua}}", + "fetched": "Haettu" + }, + "tier": { + "strong": "Vahva ottelu", + "possible": "Mahdollinen ottelu", + "weak": "Epätodennäköinen ottelu" + }, + "compare": { + "label": "Vertaa", + "backToMatches": "Takaisin osumiin", + "previous": "Edellinen tulos", + "next": "Seuraava tulos", + "position": "{index} jostakin {total}", + "viewOn": "Näytä {provider}", + "linkedToBook": "Linkitetty tähän kirjaan", + "sameTitleAuthor": "Sama otsikko ja tekijä", + "streaming": "Näyttää parhaan ottelun toistaiseksi. Odotetaan vielä {providers}.", + "rows": "Rivit", + "differences": "Erot", + "allFields": "Kaikki kentät", + "fillEmpty": "{count, plural, =0 {Ei tyhjiä kenttiä} one {Täytä # tyhjä} other {Täytä # tyhjä}}", + "takeAll": "{count, plural, =0 {Ei mitään käyttää} one {Käytä #} other {Käytä kaikkia #}}", + "more": "Lisää toimintoja", + "clearAll": "Tyhjennä kaikki poistot", + "clearAllHint": "Takaisin kirjan nykyisiin arvoihin.", + "field": "Kenttä", + "pickTitle": "Valitse ottelu vertaillaksesi", + "pickHint": "Valitse tulos. Sen kentät riviin vastaan kirja, jotta voit pitää tai korvata kukin.", + "noneTitle": "Ei vielä vertaa", + "noneHint": "Kun haku löytää vastaavuuksia, paras avautuu täällä sen vieressä, mitä {title} on tänään.", + "allMatch": "Jokainen kenttä vastaa kirjaa. Vaihda kaikkiin kenttiin nähdäksesi ne.", + "toReview": "{count, plural, =0 {Ei mitään arvostelua} one {# arvostelua varten} other {# arvostelua varten}}", + "stagedInSection": "{count} vaiheistettu" + }, + "sections": { + "identity": "Identiteetti", + "description": "Kuvaus", + "publication": "Julkaisu", + "series": "Sarja", + "genres": "Genres", + "comics": "Sarjakuvat", + "identifiers": "Tunnisteet", + "ratings": "Yhteisön luokitus" + }, + "kind": { + "fill": "Täyttää tyhjät", + "change": "Erottimet", + "same": "Sama", + "missing": "Ei annettu" + }, + "minor": { + "reordered": "Järjestetty", + "formatting": "Vain alustus", + "punctuation": "Aikaväli", + "capitalization": "Pääomitus", + "yearOnly": "Vain vuosi", + "addsDay": "Lisää päivän", + "languageCode": "Sama kieli", + "ratingCount": "Vain luku" + }, + "decision": { + "keep": "Säilytä", + "use": "Käytä", + "merge": "Yhdistä", + "replace": "Korvaa", + "alreadyMatches": "Jo osumat", + "nothingToApply": "Ei mitään sovellettavaa", + "lockedHint": "Avaa se editorissa muuttaaksesi sitä.", + "usingFrom": "Käyttämällä arvoa lähteestä", + "switchTo": "Vaihda {provider}" + }, + "value": { + "empty": "Tyhjä", + "notProvided": "Ei annettu", + "showAll": "Näytä kaikki {count} sanaa", + "otherValues": "{count, plural, one {# muu arvo} other {# muita arvoja}}", + "otherValuesHeading": "{field} muista tuloksista", + "otherValuesHint": "Valitsemalla yhden vaiheen se tähän kenttään", + "sameAsCurrent": "Sama kuin nykyinen", + "useThis": "Käytä tätä", + "using": "Käyttäen" + }, + "providerRating": "{provider} arvosana", + "cover": { + "slotAudio": "Äänikirjan paikka, neliö", + "slotBook": "Varaa paikka, pystykuva", + "current": "Nykyinen", + "staged": "Lavastettu", + "size": "{width} × {height}", + "fits": "Sopii paikkaan", + "portraitInSquare": "Pystysuunta: kirjalaatikko", + "squareInPortrait": "Square: postilaatikko", + "broken": "Näyttää rikki", + "unknown": "Tuntematon muoto", + "fitShort": "Sopii", + "portraitShort": "Pysty", + "squareShort": "Neliö", + "brokenShort": "Rikkinäinen", + "noCover": "Ei suojaa tässä tuloksessa", + "noCurrent": "Ei vielä kantta", + "strip": "Kattaa vastaavat tulokset", + "stripMeta": "{count, plural, one {# kansi} other {# kattaa}}, asennus ensin", + "choose": "Valitse kansi", + "preview": "Esikatsele kansia koko näytössä", + "previewTitle": "Kattaa vierekkäin", + "previewDescription": "Nykyinen kate on sen korvaavan katon vieressä.", + "choice": "{provider} kansi", + "choiceSized": "{provider} kansi, {width} mennessä {height}", + "using": "Käyttäen" + }, + "footer": { + "changes": "{count, plural, one {# muuttaa} other {# muuttuu}}", + "from": "alkaen", + "nothingStaged": "Ei mitään vaiheistettua. Valitse Käytä kenttään tai valitse kansi.", + "nothingStagedShort": "Mitään vaiheistettua", + "formHint": "Täyttää muokkauksen lomakkeen. Tallenna säilyttääksesi sen.", + "fileHint": "Tallentaa tämän tiedoston metatiedot.", + "apply": "{count, plural, =0 {Käytä} one {Ota käyttöön # muutos} other {Käytä # muutoksia}}", + "stagedHeading": "Valmistettu lomakkeelle", + "clearAll": "Tyhjennä kaikki", + "undo": "Kumoa {field}", + "merged": "yhdistetty", + "live": "{count, plural, =0 {Ei muutoksia vaiheistettu} one {# muutos vaiheistettu} other {# muutoksia vaiheistettu}}" + }, + "keyboard": { + "title": "Näppäimistön pikakuvakkeet", + "results": "Edellinen tai seuraava tulos", + "fields": "Siirrä kenttien välillä", + "toggle": "Säilytä tai käytä kenttää", + "search": "Muokkaa hakua", + "close": "Sulje valikot" + } + }, "writeAndRename": "Kirjoita tiedostoon & Nimeä uudelleen", - "writeAndRenameShort": "Kirjoita & Uudelleennimeä" + "writeAndRenameShort": "Kirjoita & Uudelleennimeä", + "identityCard": "Identiteetti", + "catalogCard": "Katalogi", + "sourceCard": "Lähde", + "score": "Pisteet", + "scoreTooltip": "Metadatan pisteet {score} 100:sta", + "emptyFields": "{count, plural, one {tyhjä kenttä} other {tyhjät kentät}}", + "emptyFieldsCount": "{count, plural, one {# tyhjä kenttä} other {# tyhjä kenttä}}", + "emptyFieldsHeading": "Tyhjät metatietokentät", + "emptyFieldsTooltip": "Ei vielä täytetty: {fields}. Etsi verkosta katsoaksesi niitä ylös.", + "libraryRow": "Kirjasto", + "primaryRow": "Ensisijainen", + "writeBackRow": "Kirjoitus", + "writeBackOff": "Pois", + "lastWrittenRow": "Viimeksi kirjoitettu", + "neverWritten": "Ei Koskaan", + "fileCount": "{count, plural, =0 {ei tiedostoja} one {yksi tiedosto} other {# tiedostoa}}", + "unknownFormat": "Tuntematon" }, "files": { "title": "Varaa tiedostot", + "stats": { + "files": "Tiedostot", + "total": "Yhteensä", + "runtime": "Ajoaika", + "formats": "Muodot" + }, + "filesHeading": "Tiedostot", + "allPresent": "Kaikki läsnä olevat", + "groupedByReader": "ryhmitelty lukijan mukaan", + "thisFile": "Tämä tiedosto", + "writeBackShort": "Kirjoitus", + "fieldsSet": "{filled} / {total} aseta", + "writtenSummary": "{fields} ja {count,plural,one{# lisää kenttää} other{# lisää kenttiä}} ne on kirjoitettu {format}.", + "writtenSummaryAll": "{fields} ne on kirjoitettu {format}.", + "writtenNothing": "Yhdelläkään {total} kirjoitettavalla kentällä ei ole vielä arvoa.", + "writeBackOff": "Kirjoitus on pois päältä tässä kirjassa.", + "editMetadata": "Muokkaa metatietoja", + "showAllTracks": "Näytä kaikki", + "collapseTracks": "Kutista", + "moreTracks": "{count, plural, one {# kappaletta enemmän} other {# kappaletta enemmän}}", + "tracksRolled": "{count, plural, one {# kappaletta} other {# kappaletta}}", + "fileDetails": "Tiedoston tiedot", + "openDetails": "Avaa tiedoston tiedot", + "closeDetails": "Sulje tiedoston tiedot", + "trackFrom": "Kappale {track} jostakin {total}, alkaen {time}", + "throughCopy": "Olet {percent} tämän kopion kautta", "fileCount": "{count, plural, =0 {ei tiedostoja} one {# tiedosto} other {# tiedostoa}}", "synced": "Synkronoitu {time}", "sortAria": "Lajittele tiedostot", @@ -3737,6 +7021,7 @@ "renameFailed": "Tiedoston uudelleennimeäminen epäonnistui", "deleteFailed": "Tiedoston poistaminen epäonnistui", "addFile": "Lisää Tiedosto", + "lastSynced": "Viimeksi synkronoitu: {time}", "sort": { "label": "Järjestä:", "name": "Nimi", @@ -3772,7 +7057,99 @@ "title": "Poista tiedosto?", "description": "Oletko varma, että haluat poistaa \"{filename}\"? Tätä toimintoa ei voi perua." }, - "deleting": "Poistetaan..." + "deleting": "Poistetaan...", + "folderAria": "Kansion sijainti", + "folderContents": "Kansion sisältö", + "inspectorAria": "Valittu tiedosto", + "libraryRoot": "kirjaston root", + "onDisk": "Levyllä", + "missing": "Puuttuu", + "backToFolder": "Takaisin kansioon", + "copyPath": "Kopioi koko polku", + "pathCopied": "Polku kopioitu leikepöydälle", + "resume": "Jatka", + "audiobook": "Äänikirja", + "writeTarget": "Write target", + "notWritten": { + "formatNotSupported": "Ei kirjoitettu: muotoa ei tueta", + "formatDisabled": "Ei kirjoitettu: muoto poistettu käytöstä", + "fileExceedsSizeLimit": "Ei kirjoitettu: yli kokorajoitus", + "notContentFile": "Ei kirjoitettu: ei kirjan sisältöä" + }, + "enabled": "Käytössä", + "disabled": "Pois", + "notSet": "ei asetettu", + "sortAdded": "Lisätty", + "formatCount": "{count, plural, one {# formaatti} other {# formaattia}}", + "trackCount": "{count, plural, one {# kappaletta} other {# kappaletta}}", + "formatsInFolder": "{count, plural, one {# formaatti täällä} other {# formaatteja täällä}}", + "compositionAria": "Jaa kansion koko formaatin mukaan", + "percentRead": "{percent} luettu", + "trackOf": "Kappale {track} jostakin {total}", + "groups": { + "ebook": "Ebook", + "document": "Asiakirja", + "comic": "Sarjakuva", + "audio": "Ääni", + "extras": "Extras" + }, + "roles": { + "primary": "Ensisijainen", + "content": "Vaihtoehtoinen", + "supplement": "Täydentäminen", + "cover": "Kansi" + }, + "reader": { + "none": "Ei lukijaa", + "ebook": "Ebook lukija", + "document": "PDF lukija", + "comic": "Sarjakuvan lukija", + "audio": "Ääni-soitin" + }, + "spec": { + "format": "Muoto", + "role": "Rooli", + "size": "Koko", + "length": "Pituus", + "added": "Lisätty", + "indexed": "Indeksoitu", + "opensIn": "Avaa kohteessa", + "writeBack": "Kirjoitus", + "track": "Kappale", + "targetFile": "Kohdetiedosto", + "notWritten": "Ei kirjoitettu" + }, + "duration": { + "hoursMinutes": "{hours}h {minutes}m", + "minutes": "{minutes}m", + "minutesSeconds": "{minutes}m {seconds}s", + "seconds": "{seconds}s" + }, + "positionHeading": "Sijaintisi tässä kopiossa", + "copiesStarted": "{started} jostakin {total} kopiot aloitettu", + "nothingStarted": "Mikään ei vielä alkanut", + "throughFile": "{percent} tämän tiedoston kautta", + "notOpened": "Ei vielä avattu", + "lastRead": "Viimeksi luettu {time}", + "noPosition": "Lukupaikkaa ei tallennettu", + "trackPositionHeading": "Missä tämä raita istuu", + "totalRuntime": "{duration} yhteensä", + "startsAt": "Aloittaa nimellä {time}", + "trackLength": "{duration} pitkä", + "switchFileHeading": "Vaihda tiedostoa", + "writeBackHeading": "Kirjoitettu tähän tiedostoon", + "fieldsWithValue": "{filled} jostakin {total} kenttillä on arvo", + "lastRun": "Viimeksi ajettu {time}", + "neverRun": "Ei koskaan käynnissä", + "historyHeading": "Historia", + "timeline": { + "written": "{format} kirjoitetut metatiedot", + "writtenMany": "Metatiedot kirjoitettu {format} ×{count}", + "writeDetail": "{count,plural,one{# kenttä} other{# kentät}} · {ms}ms · {trigger}", + "failed": "Kirjoitus epäonnistui", + "indexed": "{name} indeksoitu", + "indexedMany": "{count} {format} indeksoidut tiedostot" + } }, "highlights": { "note": { @@ -3806,9 +7183,247 @@ "hint": "Valitse teksti lukemisen aikana luodaksesi korostuksia" }, "uncategorized": "Luokittelematon", - "paginationUnit": "kohokohtia" + "paginationUnit": "kohokohtia", + "rail": { + "title": "Marks", + "unit": "{count, plural, one {kohokohta} other {kohokohtia}}", + "withNotes": "siinä on huomautus", + "chaptersMarked": "lukua merkitty", + "ofChaptersMarked": "of {total} lukua merkitty", + "colour": "Väri", + "showOnly": "Näytä vain {colour}", + "source": "Mistä he tulivat", + "health": "Sijoituksen terveys", + "needsAttention": "{count, plural, one {# tarvitsee huomiota} other {# tarvitsee huomiota}}", + "anchorLost": "{count, plural, one {yksi menetti ankkurinsa, kun tiedosto muuttui} other {# menetti ankkurinsa, kun tiedosto muuttui}}", + "reAnchored": "{count, plural, one {yksi uudelleen ankkuroitiin automaattisesti} other {# ankkuroitiin automaattisesti}}", + "reviewPositions": "Tarkastelun kannat", + "span": "Span", + "firstMark": "Ensimmäinen merkki", + "lastMark": "Viimeinen merkki", + "markingDays": "Merkintä päivät", + "exportCount": "Vie {count}" + }, + "row": { + "select": "Valitse tämä korostus", + "showMore": "Näytä lisää", + "showLess": "Näytä vähemmän", + "note": "Huomautus", + "addNote": "Lisää huomautus", + "page": "p.{page}", + "anchorLost": "Kadonnut ankkuri", + "reAnchored": "Uudelleen ankkuroitu" + }, + "stream": { + "title": "Virta", + "searchPlaceholder": "Etsi {count} kohokohdista ja muistiinpanoista", + "all": "Kaikki", + "notes": "Muistiinpanot", + "review": "Arvostelu", + "density": "Vaihda mukavien ja kompaktien rivien välillä", + "matchCount": "{shown} jostakin {total} ottelu", + "textChip": "teksti “{query}”", + "marks": "{count, plural, one {# merkki} other {# merkkiä}}", + "loadingMore": "Ladataan lisää" + }, + "bulk": { + "selected": "{count} valittu", + "selectAll": "Valitse kaikki {count}", + "recolour": "Palauta valinta uudelleen", + "recolourTo": "Palauta arvoksi {colour}", + "clear": "Tyhjennä valinta" + }, + "index": { + "title": "Indeksi", + "groupBy": "Ryhmittele virta", + "byChapter": "Luvut", + "byColour": "Värit", + "byDay": "Päivää" + }, + "activity": { + "title": "Merkintä aktiivisuus", + "days": "{count, plural, one {# päivä} other {# päivää}}", + "showAll": "Näytä kaikki {count} päivää", + "showFewer": "Näytä vähemmän" + }, + "inspector": { + "title": "Korosta yksityiskohdat", + "back": "Takaisin indeksiin", + "counter": "Merkitse {position} jostakin {total}", + "previous": "Edellinen merkki", + "next": "Seuraava merkki", + "notePrompt": "Miksi tämä yksi asia? Muistiinpanot ovat haettavissa ja matkustaa viennin kanssa.", + "style": "Tyyli", + "position": "Sijainti ja synkronointi", + "openHere": "Avaa tästä" + }, + "band": { + "title": "Jos merkit ovat", + "subtitle": "jokainen merkitty luku lukemisjärjestyksessä, värillinen kuin olet merkinnyt sen", + "barTitle": "{chapter}, {count} marks", + "start": "Aloita", + "densest": "Tensest", + "marks": "{count, plural, one {# merkki} other {# merkkiä}}", + "longestGap": "Pisin ajo ilman merkkiä", + "chapters": "{count, plural, one {# luku} other {# lukua}}", + "end": "Loppu" + }, + "emptyStage": { + "title": "Ei korostuksia {title} vielä", + "body": "Kohokohtia saapuu kolmesta paikasta, ja tämä sivu kerää ne kaikki yhdellä selkärangalla.", + "openReader": "Avaa lukija", + "web": { + "title": "Lue se tästä", + "body": "Valitse teksti sisäänrakennetussa lukijassa ja valitse väri." + }, + "kobo": { + "title": "Sync a Kobo", + "body": "Laitteella tehdyt kohokohdat tulevat esiin seuraavassa synkronoinnissa." + }, + "koreader": { + "title": "Synkronoi KOReader", + "body": "Liitännäinen lataa selitykset tarkalla sijainnillaan." + } + }, + "shortcuts": { + "title": "Keyboard", + "description": "Näppäimistön pikakuvakkeet korostuslistaa varten.", + "move": "Seuraava / edellinen merkki", + "open": "Avaa tarkastaja", + "back": "Takaisin indeksiin", + "search": "Etsi", + "note": "Kirjoita huomautus", + "recolour": "Palauta", + "select": "Valitse tämä merkki", + "regroup": "Ryhmittele virta uudelleen", + "copy": "Kopioi tarjous", + "reader": "Avaa lukijassa" + }, + "railTitle": "{marks} marks · {chapters} luvut", + "whenMarked": "Kun ne merkittiin", + "chapters": "Luvut", + "noChapter": "Ei lukua", + "views": { + "position": "Lukemassa järjestyksessä", + "newest": "Uusin ensin", + "oldest": "Vanhin ensin", + "colour": "Värin mukaan", + "source": "Lähteen mukaan" + } }, "readingLog": { + "resetReadingState": "Palauta lukemisen tila", + "vitals": { + "aria": "Lukemisen yhteenveto", + "notSet": "Ei asetettu", + "started": "Aloitettu", + "finished": "Valmis", + "editStarted": "Muokkaa päivämäärää, jonka aloitit tämän kirjan", + "editFinished": "Muokkaa päivämäärää, jonka olet lopettanut tämän kirjan", + "totalTime": "Aika yhteensä", + "sessions": "Istunnot", + "avgSession": "Keskimääräinen istunto", + "activeDays": "Aktiiviset päivät", + "activeDaysOf": "{active} jostakin {total}", + "pace": "Tahti", + "pacePerHour": "{percent}%/h", + "lastRead": "Viimeksi luettu", + "whereYouRead": "Missä olet lukenut sen", + "addSession": "Lisää istunto", + "durationHm": "{hours}h {minutes}m", + "durationM": "{minutes}m", + "durationS": "{seconds}s" + }, + "ledger": { + "title": "Istunnot", + "none": "ei", + "colDay": "Päivä", + "colTime": "Aika", + "colLength": "Pituus", + "colChange": "Muuta", + "colPosition": "Sijainti kirjanpidossa", + "colReached": "Saavutettu", + "colSource": "Lähde", + "colFormat": "Muoto", + "gapDays": "{count, plural, one {# päivä lukematta} other {# päivää lukematta}}", + "attemptBegan": "Yrittää {index} aloitettu", + "attemptOutsideAny": "Kaikkien yritysten ulkopuolella", + "empty": "Ei vielä tallennettuja istuntoja", + "emptyHint": "Avaa kirja lukijalla, synkronoi laite tai lisää istunto käsin." + }, + "attempts": { + "title": "Yritykset", + "none": "ei", + "ordinal": "Yritetään {index}", + "addPast": "Lisää mennyt yritys", + "reread": "Lue Uudelleen", + "rereadPrompt": "Aloita uusi lukuyritys?", + "rereadResetProgress": "Nollaa lukuasento alkuun. Synkronoidut laitteet voivat saada tämän palautuksen.", + "rereadConfirm": "Aloita uudelleen luku", + "fieldStarted": "Aloitettu", + "fieldEnded": "Päättynyt", + "fieldOutcome": "Tulos", + "outcome": { + "completed": "Valmis", + "skimmed": "Rasvaton", + "abandoned": "Hylätty", + "inProgress": "Toiminto käynnissä" + }, + "spanRange": "{from} päättyen {to}", + "spanSince": "alkaen {from}", + "spanEnded": "päättyi {to}", + "spanUnknown": "Ei tallennettuja päivämääriä", + "sessionCount": "{count, plural, one {# istunto} other {# istuntoa}}", + "endBeforeStart": "Päättymispäivän on oltava joko alkamispäivänä tai sen jälkeen.", + "editAria": "Muokkaa tätä yritystä", + "deleteAria": "Poista tämä yritys", + "cancelDeleteAria": "Peru tämän yrityksen poistaminen", + "confirmDeleteAria": "Vahvista yrityksen poistaminen", + "empty": "Ei tallennettuja yrityksiä", + "emptyHint": "Aloita uudelleennimeäminen tai lisää yritys ennen kuin tämä kirjasto on olemassa." + }, + "records": { + "title": "Tietueet", + "longestSession": "Pisin istunto", + "bestDay": "Paras päivä", + "longestStreak": "Pisin putki", + "streakDays": "{count, plural, one {# päivä} other {# päivää}}", + "pace": "Luetaan vauhtia", + "jumpedBack": "Hypätty takaisin", + "jumpedBackTimes": "{count, plural, one {# aika} other {# kertaa}}", + "firstOpened": "Ensimmäinen avattu", + "empty": "Tietueet näkyvät, kun tässä kirjassa on istuntoja." + }, + "band": { + "curve": "Kaari", + "trace": "Jäljitys", + "switchAria": "Kaavion näkymä", + "curveTitle": "Edistyminen ajan mittaan", + "traceTitle": "Missä sinä olit kirjassa", + "curveSubDays": "{active} aktiivisia päiviä koko {total}", + "curveSubSitting": "yksi istunto, istunto", + "traceSub": "jokainen baari on venytys yksi istunto katettu", + "traceSubWithBacktracks": "{count, plural, one {jokainen palkki on yksi istunto, # hyppäsi takaisin} other {jokainen palkki on yksi istunto, # hyppäsi takaisin}}", + "legendPosition": "Sijainti saavutettu", + "legendMinutes": "Minuuttia luettu", + "legendBacktrack": "Hypätty takaisin", + "traceEmpty": "Ei jälkiä vielä", + "traceEmptyHint": "Kun istuntoja on olemassa, tämä osoittaa venytys kirjan jokainen kattaa, ja missä kaksinkertaistui takaisin.", + "tooltipCovered": "Katettu {from}% – {to}%", + "tooltipMinutes": "{minutes} min" + }, + "emptyStage": { + "title": "Ei vielä kirjautunut tähän kirjaan", + "description": "Lukuloki on rakennettu istunnoista. BookOrbit tallentaa yhden joka kerta kun luet web-lukija, ja poimii loput synkronoimistasi laitteista.", + "readerTitle": "Lue se tästä", + "readerBody": "Kirjanorbit lukijan joka minuutti on kirjautunut automaattisesti.", + "koreaderTitle": "Synkronoi KOReader", + "koreaderBody": "Liitännäinen työntää jokaisen istuu takaisin, jossa sivu olet saavuttanut.", + "koboTitle": "Sync a Kobo", + "koboBody": "Kytke laite sisään ja BookOrbit lukee oman lukuaikaskentansa.", + "addSession": "Lisää istunto käsin", + "recordPast": "Tallenna aiempi lukema" + }, "moreActionsAria": "Lisää lukemislokin toimintoja", "export": { "button": "Vie" @@ -3858,12 +7473,14 @@ "startFuture": "Aloituspäivä ei voi olla tulevaisuudessa.", "finishFuture": "Viimeistelypäivä ei voi olla tulevaisuudessa.", "finishBeforeStart": "Viimeistelypäivän tulee olla alkamispäivänä tai sen jälkeen.", + "finishBeforeStartWithDate": "Viimeistelypäivän tulee olla alkamispäivänä tai sen jälkeen ({date}).", "saveFailed": "Lukupäivien tallentaminen epäonnistui." }, "eta": { "max": "99h+ loppuun", "minutes": "~{m}m loppuun", - "hours": "~{h}h loppuun" + "hours": "~{h}h loppuun", + "hoursMinutes": "~{h}h {m}m loppuun" }, "momentum": { "none": "Ei toimintaa kahden viimeksi kuluneen viikon aikana", @@ -3910,6 +7527,8 @@ "table": { "title": "Istunnot", "sourceWeb": "Verkko", + "sourceIos": "iOS-sovellus", + "sourceWatchos": "Omenan Kello", "sourceManual": "Manuaalinen", "colDate": "Päivämäärä", "colDateMobile": "Päivämäärä", @@ -3919,6 +7538,7 @@ "colProgressChangeMobile": "Delta", "colEndProgress": "Lopeta Edistyminen", "colEndProgressMobile": "Loppu", + "jumpToProgress": "Siirry {progress}%", "empty": "Lukuistuntoja ei ole vielä tallennettu.", "emptyHint": "Lisää istunto aloittaaksesi tämän kirjan lukuhistorian rakentamisen.", "colPace": "Tahti", @@ -3930,7 +7550,8 @@ "confirmDeleteTitle": "Klikkaa uudelleen vahvistaaksesi poisto", "confirmDeleteAria": "Vahvista istunnon poistaminen", "deleteAria": "Poista istunto", - "loadMore": "Lataa lisää" + "loadMore": "Lataa lisää", + "showing": "Näytetään {shown} jostakin {total} istunnot" } }, "richDescription": { @@ -3965,7 +7586,12 @@ "seriesPlaceholder": "Sarja", "moveUp": "Siirrä ylös", "moveDown": "Siirrä alas", - "removeSeries": "Poista sarja" + "removeSeries": "Poista sarja", + "seriesIndexLabel": "Sijainti sarjassa", + "invalidSeriesIndex": "Syötä numeroa enintään yhden desimaalin tarkkuudella, kuten 5.10.", + "totalLabel": "Sarjassa olevat kirjat", + "totalPlaceholder": "jostakin", + "totalHint": "Yhteensä kirjoja tässä sarjassa. Jaettu kaikkien kanssa, joilla on tämä sarja." } }, "table": { @@ -3985,6 +7611,15 @@ "chips": { "addPlaceholder": "Lisää..." }, + "quickFilter": { + "presentFiles": "Suodata näyttääksesi tiedostoja", + "missingFiles": "Suodata puuttuviin tiedostoihin", + "withCovers": "Suodata kirjoihin, joissa on kannet", + "missingCovers": "Suodata kirjoihin puuttuvia kansia", + "missingAudioCovers": "Suodata kirjoihin puuttuvia äänikirjan kansia", + "withValues": "Suodata riveille, joilla on arvot", + "emptyRows": "Suodata tyhjiä rivejä" + }, "cover": { "previewDescription": "Kansikuvan esikatselu", "editDescription": "Muokkaa kirjan kantta", @@ -4031,6 +7666,8 @@ "read": { "play": "Toista", "read": "Lue", + "readFormat": "Lue {format}", + "playFormat": "Soita {format}", "primary": "Ensisijainen", "peekFormat": "Peek {format}", "chooseFormat": "Valitse luku- tai toistomuoto", @@ -4040,11 +7677,76 @@ "unread": "Lukemattomat" }, "series": { - "bookCount": "{count, plural, =0 {(ei kirjoja)} one {(# kirja)} other {(# kirjaa)}}" + "seriesRow": "Sarjan rivi", + "bookCount": "{count, plural, =0 {(ei kirjoja)} one {(# kirja)} other {(# kirjaa)}}", + "readOfCount": "{read} jostakin {total} lue" }, "text": { "openDetails": "Avaa tiedot" } + }, + "move": { + "title": "{count, plural, one {Siirrä # kirja} other {Siirrä # kirjaa}}", + "subtitle": "Tiedostot siirtyvät kiintolevylle kohdekirjastoon. Tämä voi muuttua, kuka voi nähdä nämä kirjat.", + "searchPlaceholder": "Hae kirjastoja", + "currentLibrary": "Nykyinen", + "folderCount": "{count, plural, one {# kansio} other {# kansioita}}", + "continue": "Jatka", + "back": "Takaisin", + "confirm": "{count, plural, one {Siirrä # kirja} other {Siirrä # kirjaa}}", + "action": "Siirrä kirjastoon", + "review": { + "ready": "{count} valmis", + "collisions": "{count, plural, one {# nimi ristiriita} other {# nimi rikkiä}}", + "ineligible": "{count} ei voi siirtää", + "alreadyThere": "{count} on jo olemassa", + "collisionsHeading": "Nimen ristiriidat", + "ineligibleHeading": "Ei voi siirtää", + "moreCollisions": "ja {count} lisää" + }, + "policy": { + "suggested": "Käytä ehdotettuja", + "keep_both": "Pidä molemmat", + "merge": "Yhdistä", + "skip": "Ohita" + }, + "collision": { + "folder_path": "Kirja käyttää jo tätä kansion nimeä", + "file_path": "Tiedosto käyttää tätä polkua jo", + "hash_duplicate": "Sama kopio on jo tässä kirjastossa" + }, + "ineligible": { + "book_not_present": "Tämän kirjan tiedostot puuttuvat", + "no_content_file": "Tässä kirjassa ei ole luettavaa tiedostoa", + "multi_file_target_per_file": "Määränpää tallentaa yhden tiedoston per kirja, ja tässä kirjassa on {detail} tiedostoa", + "no_source_access": "Et voi muokata kirjastoa tässä kirjassa", + "pattern_unresolved": "Kohdekirjastossa ei ole käyttökelpoista nimeämismallia", + "path_too_long": "Kohteen polku olisi liian pitkä", + "path_outside_target_root": "Kohteen polku kuuluisi kirjaston kansion ulkopuolelle" + }, + "warning": { + "accessLoss": "{user} lakkaa näkemästä {count} näistä kirjoista", + "koboImpact": "{count} kirjat lähtevät {user}''s Kobo seuraavassa synkronoinnissa", + "layout": { + "wrap_into_folder": "{count} kirjaa laitetaan kukin omaan kansioonsa", + "dissolve_folder": "{count} kirjan kansiot liuotetaan yksittäisiin tiedostoihin" + }, + "crossDevice": "Tiedostot siirtyvät toiseen asemaan, joten ne kopioidaan, tarkistetaan, ja sitten poistetaan." + }, + "progress": { + "label": "Siirretään kirjoja {library}", + "failed": "{count} epäonnistui" + }, + "done": { + "summary": "Siirretty {count} kirjat vastaanottajalle {library}", + "merged": "{count} yhdistettiin jo kopioihin", + "skipped": "{count} ohitettu", + "failed": "{count} epäonnistui" + }, + "toast": { + "success": "Siirretty {count} kirjat vastaanottajalle {library}", + "partial": "Siirretty {moved} kirjat, {failed} epäonnistui" + } } }, "bookMetadataFetch": { @@ -4108,13 +7810,16 @@ "failedToRetry": "Ei voitu yrittää uudelleen", "failedItemsRequeued": "Vaaditut kohteet", "bookComplete": "Metatietojen haku valmis - {done} kirjaa päivitetty", - "authorComplete": "Tekijän rikastus valmis - {done} kirjoittajaa päivitetty" + "bookDoneWithFailures": "Metatietojen haku valmis - {done} jalostettu, {failed} epäonnistui", + "authorComplete": "Tekijän rikastus valmis - {done} kirjoittajaa päivitetty", + "authorDoneWithFailures": "Tekijän rikastus tehty - {done} jalostettu, {failed} epäonnistui" } }, "bookDock": { "apply": "Käytä", "done": "Valmis", "discard": "Hylkää", + "deselect": "Poista Valinta", "finalize": "Viimeistele", "rescan": "Uudelleen", "uploadAction": "Lähetä", @@ -4124,11 +7829,19 @@ "bulkEditAction": "Bulk Muokkaa", "applyFetched": "Käytä Noudettu", "retryErrors": "Yritä Virheitä Uudelleen", + "discardDialog": { + "title": "{count, plural, =0 {Hylkää yhtäkään tiedostoa?} one {Hylkää valittu tiedosto?} other {Hylkää # valittua tiedostoa?}}", + "description": "{count, plural, =0 {Tiedostoja ei ole valittu.} one {Tämä poistaa valitun tiedoston pysyvästi levyltä. Tätä toimintoa ei voi perua.} other {Tämä poistaa pysyvästi # valitut tiedostot levyltä. Tätä toimintoa ei voi perua.}}", + "confirm": "{count, plural, one {Poista tiedosto} other {Poista # tiedostoa}}", + "failed": "Valittuja tiedostoja ei voitu poistaa. Yritä uudelleen." + }, "commaSeparated": "pilkulla erotettu", "destinationLibrary": "Kohteen Kirjasto", "destinationFolder": "Kohdekansio", "nFailed": "{count} epäonnistui", + "updatedOfFiles": "Päivitetty {updated} jostakin {total} tiedostot", "errorStatus": "Virhe {status}", + "invalidSeriesIndex": "Syötä numeroa enintään yhden desimaalin tarkkuudella, kuten 5.10.", "tab": { "all": "Kaikki", "pending": "Odottaa", @@ -4164,6 +7877,22 @@ "nFailed": "{count} epäonnistui", "nTotal": "{count} yhteensä" }, + "uploadFailures": { + "heading": "{count, plural, one {# tiedostoa ei voitu ladata} other {# tiedostoa ei voitu ladata}}", + "dismissAll": "Hylkää kaikki", + "retry": "Yritä uudelleen lataamalla {name}", + "dismiss": "Hylkää {name}", + "reason": { + "unsupported": "Tiedostotyyppiä ei tueta .{extension}", + "noExtension": "Tiedostolla ei ole päätettä, joten sen muoto on tuntematon", + "tooLarge": "Suurempi kuin {limit} latausraja", + "tooLargeServer": "Suurempi kuin palvelimen latausraja", + "tooLargeProxy": "Hylättiin liian suuri ennen kuin se saavutti BookOrbit, todennäköisesti käänteinen välityspalvelin", + "storageFull": "Palvelin on poissa tallennustilasta", + "network": "Palvelimeen ei saatu yhteyttä", + "status": "Lähetys epäonnistui (HTTP {status})" + } + }, "fileList": { "emptyTitle": "Ei tiedostoja kirjatelakassa", "emptyMessageDefault": "Lataa tiedostoja tai pudota ne Book Dock -kansioon", @@ -4217,6 +7946,7 @@ "renamePreview": "Nimeä esikatselu uudelleen", "moreFiles": "+{count} tiedostoa lisää", "start": "Aloita", + "filesFinalized": "{succeeded} jostakin {total} tiedostot valmiina", "checking": "Tarkistetaan valittuja tiedostoja...", "readyCount": "{count, plural, =0 {ei ole valmiita tiedostoja} one {# tiedosto valmis} other {# tiedostoa valmis}}", "duplicateCount": "{count, plural, =0 {ei ole jo kirjastossa} one {# jo kirjastossa} other {# jo kirjastossa}}", @@ -4234,9 +7964,905 @@ "alreadyExistsSaveAs": "On jo olemassa - tallenna nimi:", "renamePlaceholder": "esim. {name} (2)", "import": "Tuo" + }, + "layout": { + "pause": "Tauko", + "resume": "Jatka", + "pauseUpdateFailed": "Pysäytä päivitys epäonnistui", + "clearSearch": "Tyhjennä haku", + "filter": { + "all": "Kaikki", + "needsReview": "Tarvitsee arvostelua", + "pending": "Odottaa", + "ready": "Valmis", + "error": "Virhe" + }, + "working": { + "label": "{count} työtä" + }, + "row": { + "select": "Valitse {title}", + "setDestination": "Aseta määränpää", + "file": "Tiedosto", + "match": "{percent}% vastaa", + "noAuthor": "Ei vielä kirjoittajaa", + "proposedChanges": "Ehdotetut muutokset", + "noChanges": "Metatietoja ei ole vielä haettu", + "editDetails": "Muokkaa tietoja", + "noMatch": "Ei osumia", + "applied": "Käytetty", + "refetch": "Palauta metatiedot", + "clickToZoom": "Napsauta kantta suurentaaksesi", + "changedFields": "{count, plural, one {# kenttä} other {# kenttää}}", + "needMore": "Tarvitsetko etsiä palveluntarjoajia tai muokata muita kenttiä?" + }, + "selection": { + "fileToLibrary": "{count, plural, =0 {Tiedosto kirjastoon} one {Tiedosto # kirjastoon} other {Tiedosto # kirjastoon}}", + "nSelected": "{count} valittu", + "nReadyToFile": "{count} valmis tiedostoon" + }, + "empty": { + "nothingToReview": "Mitään ei tarvitse tarkistaa. Jokaisella valmiilla tiedostolla on määränpää ja varma ottelu.", + "nothingReadyToFile": "Yhtään tiedostoa ei ole valmis tiedostoon.", + "dropHint": "Tai pudota tiedostoja minne tahansa tällä sivulla." + }, + "selectAllOnPage": "Valitse kaikki tiedostot tällä sivulla", + "showingOf": "{shown} jostakin {total}", + "keyboardHint": "J / K siirtääksesi · tilaa valitaksesi · syötä laajentaaksesi", + "allOnPageSelected": "Kaikki {count} tällä sivulla on valittu.", + "selectAllMatching": "Valitse kaikki {count} täsmääminen", + "allMatchingSelected": "Kaikki {count} vastaavat tiedostot on valittu", + "sort": { + "label": "Järjestä", + "attention": "Tarvitsee huomiota", + "createdAt": "Äskettäin lisätty", + "fileName": "Tiedoston nimi", + "fileSize": "Koko", + "format": "Muoto", + "status": "Tila" + }, + "conflict": { + "duplicate": "Duplicate", + "destination_conflict": "Polku otettu", + "invalid_target": "Bad target", + "access_denied": "Ei pääsyä", + "invalid_format": "Virheellinen muoto", + "error": "Epäonnistuminen" + }, + "unit": { + "fileCount": "{count, plural, one {# tiedosto} other {# tiedostoa}}", + "filesHeading": "{count, plural, one {Tiedosto tässä artikkelissa} other {# tiedostoa tässä artikkelissa}}", + "role": { + "content": "Kirja", + "cover": "Kansi", + "metadata": "Metatiedot", + "supplement": "Ylimääräinen" + } + } + } + }, + "bookRequests": { + "title": "Pyynnöt (Beta)", + "subtitle": "Kysy kirjoja, joita kirjastolla ei vielä ole. Tämä ominaisuus on kokeellinen, odota pieniä vikoja.", + "tabs": { + "search": "Pyydä kirjaa", + "mine": "Omat pyynnöt", + "all": "Kaikki pyynnöt" + }, + "mediaKind": { + "ebook": "E-kirja", + "audiobook": "Äänikirja", + "comic": "Sarjakuva" + }, + "status": { + "pending": "Odottaa", + "approved": "Hyväksytty", + "rejected": "Hylätty", + "cancelled": "Peruutettu", + "searching": "Etsitään", + "grabbed": "Etsitty", + "downloading": "Ladataan", + "importing": "Tuodaan", + "needs_review": "Tarvitsee arvostelua", + "available": "Saatavilla", + "failed": "Epäonnistui" + }, + "search": { + "titleLabel": "Otsikko", + "titlePlaceholder": "Kirjan otsikko", + "authorLabel": "Tekijä", + "authorPlaceholder": "Tekijän nimi", + "mediaKindLabel": "Muoto", + "libraryLabel": "Lisää kirjastoon", + "libraryAny": "Anna hyväksyjän päättää", + "libraryDefault": "Oletus ({library})", + "libraryChoose": "Valitse kirjasto", + "libraryRequired": "Pyyntösi hyväksytään heti, kun teet ne, joten valitse kirjasto johon kirja lasketaan.", + "fulfillmentLabel": "Täyttö", + "fulfillmentAutomatic": "Automaattinen", + "fulfillmentChooseRelease": "Valitse julkaisu", + "folderLabel": "Kansio", + "languageLabel": "Pyydä kieltä", + "languageAny": "Mikä tahansa kieli", + "languageDefaultToggleLabel": "Käytä tätä kieltä uusissa pyynnöissä", + "languageDefaultSetHint": "Pyydä tätä kieltä jokaisesta uudesta pyynnöstä", + "languageDefaultClearHint": "Lopeta oletuksena tämän kielen pyytäminen", + "languageDefaultSaved": "Uudet pyynnöt pyytävät {language}", + "languageDefaultCleared": "Uudet pyynnöt seuraavat käyttöliittymäkieltäsi", + "languageDefaultFailed": "Kielen asetusta ei voitu tallentaa", + "submit": "Etsi", + "searching": "Etsitään palveluntarjoajia...", + "noResultsTitle": "Vastaavia kirjoja ei löytynyt", + "noResultsHint": "Kokeile toista otsikkoa tai kirjailijaa.", + "noResultsIndexerHint": "Kokeile toista nimeä tai kirjoittajaa tai etsi indeksoijia kohteelle \"{title}\" ja valitse julkaisu itse.", + "freeTextAction": "Etsi indeksoijia", + "manualSearchAction": "Etsi indeksoijia manuaalisesti", + "yearUnknown": "Tuntematon vuosi", + "sourceCount": "{count, plural, one {# lähde} other {# lähdettä}}", + "sourcesLabel": "Lähteet: {sources}", + "sourcesUnavailable": "Jotkut lähteet eivät vastanneet, joten tulokset voivat olla epätäydellisiä: {sources}", + "identifiers": { + "none": "Ei ISBN", + "one": "1 ISBN", + "confirmed": "ISBN vahvistettu", + "count": "{count} ISBNs", + "sourcesTitle": "Metatietojen lähteet", + "provider": "Tarjoaja", + "providerTitle": "Tarjoajan nimi", + "isbn": "ISBN", + "year": "Vuosi", + "language": "Kieli", + "notProvided": "Ei annettu", + "searchScope": "Valitse yksi {count, plural, one {# ISBN} other {# ISBN}} etsiäksesi tai etsiäksesi otsikon ja tekijän mukaan.", + "searchScopeLimited": "Valitse yksi ISBN etsiäksesi.", + "titleAuthorOnly": "ISBN ei annettu. BookOrbit hakee kerran otsikon ja tekijän mukaan.", + "chooseSearch": "Valitse haku painos", + "searchByEdition": "Löydä julkaisu painosta varten", + "findRelease": "Hae julkaisu", + "primaryIsbn": "ISBN {isbn}", + "primaryTitleAuthor": "Otsikko ja tekijä", + "recommended": "Suositeltu", + "recommendationHelpLabel": "Miten BookOrbit valitsee suositellun ISBN", + "recommendationTitle": "Miten suositeltu haku on valittu", + "recommendationLanguage": "Suosi pyydettyä kieltä ja sitten tuntematonta kieltä ennen tunnettua epäsuhdaa.", + "recommendationAgreement": "Suosi ISBN:ää, jonka riippumattomat metatietojen tarjoajat ovat vahvistaneet.", + "recommendationProvider": "Käytä BookOrbitin vakaata metatietopalveluntarjoajan tärkeysjärjestystä.", + "recommendationRelevance": "Käytä painoksen asemaa kyseisen tarjoajan tulokset.", + "recommendationYear": "Mieluummin painos vuosi lähimpänä teoksen varhaisin tiedossa oleva vuosi.", + "recommendationStable": "Käytä ISBN itse lopullinen vakaa tie-katkaisin.", + "recommendationFallback": "Jos ISBN ei ole käytettävissä, BookOrbit etsii kerran otsikon ja tekijän mukaan. Valikosta valitun version valitseminen ohittaa aina tämän suosituksen.", + "withoutIsbn": "Etsi otsikon ja tekijän mukaan", + "action": "Toiminto" + }, + "request": "Pyyntö", + "download": "Lataa", + "getAutomatically": "Hanki automaattisesti", + "chooseRelease": "Valitse julkaisu", + "joinRequest": "Lisää myös minut", + "submitted": "Pyyntö lähetetty", + "joinedExisting": "Lisätty sinut olemassa olevaan pyyntöön", + "submitFailed": "Pyynnön lähettäminen ei onnistunut", + "alreadyInLibrary": "Jo kirjastossa", + "alreadyRequested": "Joku muu on jo pyytänyt", + "alreadyRequestedByYou": "Olet jo pyytänyt tätä", + "preferredFormatsLabel": "Ensisijaiset muodot", + "preferredFormatsHint": "Näissä formaateissa julkaisut ovat paremmuusjärjestyksessä. Muita formaatteja on vielä tarjolla.", + "noteLabel": "Huomautus hyväksyntää varten", + "notePlaceholder": "Kaikki mikä kannattaa tietää tästä pyynnöstä", + "moreOptions": "Lisää vaihtoehtoja", + "fewerOptions": "Vähemmän asetuksia", + "optionsSummary": "{formats} · note lisätty", + "formatToggleAria": "Suosi {format}", + "pair": { + "choice": "Molemmat", + "choiceHint": "Kysy e-kirja ja äänikirja yhdessä", + "ebookLibraryLabel": "E-kirjan kirjasto", + "audiobookLibraryLabel": "Äänikirjan kirjasto", + "audiobookFolderLabel": "Äänikirjan kansio", + "landsTogether": "Molemmat formaatit saapuvat yhdeksi kirjaksi {library}.", + "landsSeparately": "{library} pitää yhden kirjan tiedostoa kohden, joten jokainen muoto saapuu kirjana omasta.", + "landsApart": "E-kirja ja äänikirja menevät eri kirjastoihin, joten ne saapuvat kahdeksi kirjaksi.", + "preferredEbookFormats": "Ensisijaiset e-kirjan muodot", + "preferredAudiobookFormats": "Suositut äänikirjan muodot", + "state": { + "owned": "Kirjastossa oleva", + "following": "Olet pyytänyt tätä", + "joinable": "Pyydetty", + "new": "Ei pyydetty" + }, + "requestBoth": "Pyydä molempia", + "getBoth": "Hanki molemmat", + "chooseReleases": "Valitse tiedotteet", + "joinBoth": "Lisää minut molempiin", + "requestEbook": "Pyydä e-kirjaa", + "requestAudiobook": "Pyydä äänikirjaa", + "getEbook": "Hanki e-kirja", + "getAudiobook": "Hanki äänikirja", + "joinEbook": "Lisää minut e-kirjapyyntöön", + "joinAudiobook": "Lisää minut äänikirjan pyyntöön", + "haveBoth": "Kirjastossa oleva", + "requestedBoth": "Pyydetty", + "submitted": "Pyysi e-kirjaa ja äänikirjaa", + "submittedPartlyJoined": "Pyydetty molempia. Yksi oli jo matkalla, joten sinut lisättiin tähän pyyntöön", + "submittedJoinsBook": "Pyydetty . Se liittyy jo kirjastossa olevaan kopioon" + } + }, + "card": { + "details": "Yksityiskohdat", + "mediaKind": "Muoto", + "library": "Kirjasto", + "requestedBy": "Pyynnön esittäjä", + "requestedByAt": "{name} päällä {time}", + "alsoWanted": "Myös haluamasi", + "alsoWantedCount": "{count, plural, one {# muu henkilö haluaa tämän} other {# muut haluavat tämän}}", + "moreActions": "Lisää toimintoja {title}", + "settledIn": "Arkistoitu sisään {library}, {time}", + "settledAt": "Suljettu {time}", + "dismissedBadge": "Hylätty" + }, + "detail": { + "unknownAuthor": "Tuntematon tekijä", + "requestedBy": "Pyynnön esittäjä", + "requestedOn": "Pyydetty", + "library": "Kirjasto", + "series": "Sarja", + "isbn": "ISBN", + "decidedBy": "Päättänyt", + "requesterNote": "Huomautus pyynnön esittäjältä", + "decisionNote": "Päätöksen huomautus", + "statusReason": "Mikä pysäytti sen", + "alsoWanted": "Myös haluamasi", + "decisionNoteLabel": "Huomautus (valinnainen)", + "decisionNotePlaceholder": "Selitä päätös", + "destinationLibraryLabel": "Kohteen kirjasto", + "destinationLibraryPlaceholder": "Valitse kirjasto", + "destinationFolderLabel": "Kohteen kansio", + "languageLabel": "Pyydetty kieli", + "languageAny": "Mikä tahansa kieli", + "destinationRequired": "Hyväksy tiedostot kirjastoon, joten valitse yksi ennen hyväksymistä.", + "fulfilTitle": "Sulje tämä pyyntö", + "fulfilHint": "Osoita pyyntö siihen kirjaan, johon olet lisännyt, tai kirja-Dock-tiedostoon, joka odottaa jätettävää.", + "bookIdLabel": "Kirjan Tunnus", + "bookIdPlaceholder": "esim. 128", + "dockFileIdLabel": "Kirjaa telakan tiedoston tunnus", + "dockFileIdPlaceholder": "esim. 42", + "backToList": "Kaikki pyynnöt", + "loading": "Ladataan pyyntöä...", + "transfer": "Siirto", + "requestSection": "Pyyntö", + "decideTitle": "Hyväksy tai hylkää", + "fulfilSourceLabel": "Mikä lopettaa tämän pyynnön", + "fulfilFromLibrary": "Kirjastossa oleva kirja", + "fulfilFromDock": "Kirja telakka tiedosto", + "fulfilSearchLabel": "Etsi tiedostoa, joka sulkee tämän pyynnön", + "fulfilSearchBooks": "Etsi kirjastosta otsikon tai tekijän mukaan", + "fulfilSearchDock": "Etsi kirjatelakasta tiedoston nimen mukaan", + "fulfilSearching": "Haetaan...", + "fulfilNoResults": "Mikään ei täsmää. Kokeile eri hakua.", + "errors": { + "notFound": "Tätä pyyntöä ei enää ole.", + "forbidden": "Tämä pyyntö kuuluu jollekin toiselle.", + "loadFailed": "Pyynnön lataaminen epäonnistui" + }, + "entityName": "Pyyntö", + "pairSwitchLabel": "Tämän pyynnön muodot", + "joinsBook": "Liity kirjaan, jonka sinulla on", + "joinsBookHint": "Kun tämä saapuu, se on lisätty kirjaan jo kirjastossa" + }, + "actions": { + "approve": "Hyväksy", + "approveAndNext": "Hyväksy ja seuraava", + "reject": "Hylkää", + "cancel": "Peruuta pyyntö", + "cancelDownload": "Peruuta lataus", + "dismiss": "Hylkää", + "restore": "Palauta", + "delete": "Poista pyyntö", + "markFulfilled": "Merkitse täytetty", + "grab": "Hae julkaisu", + "goToBook": "Siirry kirjaan", + "retryRelease": "Kokeile toista versiota", + "leave": "Jätä pyyntö", + "pair": { + "approveBoth": "Hyväksy molemmat", + "approveEbook": "Hyväksy e-kirja", + "approveAudiobook": "Hyväksy äänikirja", + "rejectBoth": "Hylkää molemmat", + "rejectEbook": "Hylkää e-kirja", + "rejectAudiobook": "Hylkää äänikirja", + "cancelBoth": "Peruuta molemmat", + "cancelEbook": "Peruuta e-kirja", + "cancelAudiobook": "Peruuta äänikirja", + "dismissBoth": "Hylkää molemmat", + "dismissEbook": "Hylkää e-kirja", + "dismissAudiobook": "Hylkää äänikirja", + "restoreBoth": "Palauta molemmat", + "restoreEbook": "Palauta e-kirja", + "restoreAudiobook": "Palauta äänikirja", + "grabEbook": "Löydä e-kirjan julkaisu", + "grabAudiobook": "Etsi äänikirjan julkaisu", + "chooseReleases": "Valitse tiedotteet", + "openEbook": "Avaa e-kirjapyyntö", + "openAudiobook": "Avaa äänikirjan pyyntö" + } + }, + "filters": { + "status": "Tila", + "anyStatus": "Mikä tahansa tila", + "mediaKind": "Muoto", + "anyMediaKind": "Mikä tahansa muoto", + "requester": "Pyytäjä", + "anyRequester": "Kaikki pyytäjät", + "showDismissed": "Näytä hylätyt", + "fulfilment": "Täyttö", + "anyFulfilment": "Kaikki vaatimukset", + "selfServeOnly": "Itsenäinen", + "approvedOnly": "Käytetty hyväksynnän kautta" + }, + "list": { + "loading": "Ladataan pyyntöjä...", + "emptyMine": "Et ole vielä pyytänyt kirjoja.", + "emptyAll": "Ei vielä kirjapyyntöjä.", + "pagination": "Pyydä sivuja", + "pageOf": "Sivu {page} jostakin {total}", + "emptyHint": "Etsi kirja ja se näkyy täällä kun pyydät sitä." + }, + "toasts": { + "approved": "Pyyntö hyväksytty", + "rejected": "Pyyntö hylätty", + "cancelled": "Pyyntö peruutettu", + "downloadCancelled": "Lataus peruttu", + "dismissed": "Piilotettu listaltasi", + "restored": "Takaisin listallesi", + "deleted": "Pyyntö poistettu", + "fulfilled": "Pyyntö merkitty täytetyksi", + "grabbed": "Lataus aloitettu", + "downloadRemoved": "Poistettu ladattavasta asiakkaasta", + "bulkApproved": "{count, plural, one {# pyyntö hyväksytty} other {# pyyntöä hyväksytty}}", + "bulkApprovedPartial": "{done} hyväksytty {failed} ei voitu olla", + "bulkDismissed": "{count, plural, one {# pyyntö piilotettu} other {# pyyntöä piilotettu}}", + "bulkDismissedPartial": "{done} piilotettu, {failed} ei voitu olla", + "unitChosen": "Valitun kirjan tuonti", + "languageChanged": "Pyynnön kieli päivitetty", + "left": "Olet lähtenyt tästä pyynnöstä", + "bulkRejected": "{count, plural, one {# pyyntö hylättiin} other {# pyyntöä hylätty}}", + "bulkRejectedPartial": "{done} hylätty, {failed} ei voitu olla", + "importDiscarded": "Tuotu tiedosto hylättiin", + "pairApproved": "Hyväksytty molemmat", + "pairRejected": "Kummatkin hylättiin" + }, + "errors": { + "loadFailed": "Pyyntöjä ei voitu ladata", + "approveFailed": "Tätä pyyntöä ei voitu hyväksyä", + "rejectFailed": "Tätä pyyntöä ei voitu hylätä", + "cancelFailed": "Pyynnön peruuttaminen ei onnistunut", + "cancelDownloadFailed": "Latausta ei voitu perua", + "dismissFailed": "Pyynnön ei voitu piilottaa", + "restoreFailed": "Pyynnön palauttaminen ei onnistunut", + "deleteFailed": "Tätä pyyntöä ei voitu poistaa", + "fulfilFailed": "Pyynnön sulkeminen ei onnistunut", + "grabFailed": "Latausta ei voitu käynnistää", + "removeDownloadFailed": "Tätä torrenttia ei voitu poistaa latausasiakkaalta", + "bulkApproveFailed": "Valittuja pyyntöjä ei voitu hyväksyä", + "bulkDismissFailed": "Valittuja pyyntöjä ei voitu piilottaa", + "selectUnitFailed": "Tätä kirjaa ei voitu tuoda.", + "languageChangeFailed": "Pyynnön kieltä ei voitu muuttaa", + "leaveFailed": "Tätä pyyntöä ei voitu jättää", + "bulkRejectFailed": "Tätä valintaa ei voitu hylätä", + "discardImportFailed": "Tuo tuonti ei voitu hylätä", + "approveCompanionFailedEbook": "Hyväksytty tämä, mutta e-kirjaa ei voitu hyväksyä", + "approveCompanionFailedAudiobook": "Hyväksytty tämä, mutta äänikirjaa ei voitu hyväksyä" + }, + "grab": { + "title": "Lähetä ladattavalle asiakkaalle", + "subtitle": "Liitä magneettilinkki tai lataa .torrent kohteelle \"{title}\".", + "singleFileNote": "Vapautus voi olla yksi kirja useissa muodoissa, äänikirja osissa, tai arkisto - kaikki nämä tuonti yhtenä kirjana. Vapautus, jolla on useita erillisiä kirjoja, pyytää sinua, joka pitää.", + "magnet": "Magnet link", + "torrentFile": ".torrent-tiedosto", + "client": "Lataa asiakas", + "submit": "Lähetä", + "errors": { + "pickOne": "Anna joko magneettilinkki tai .torrent-tiedosto, ei molemmat", + "fileTooLarge": "Tiedosto on suurempi kuin {limit}, joten se ei ole .torrent-tiedosto", + "fileUnreadable": "Tiedostoa ei voitu lukea" + }, + "noClientList": "BookOrbit käyttää korkeimman prioriteetin käytössä olevaa latausohjelmaa." + }, + "attempts": { + "title": "Aikaisemmat yritykset", + "loading": "Ladataan aikaisempia yrityksiä...", + "loadFailed": "Aikaisempia yrityksiä ei voitu ladata", + "refused": "Hylätty, mitään ei ladattu", + "handPicked": "Lähetetty käsin" + }, + "download": { + "source": { + "automatic": "Otettu automaattisesti", + "manual": "Hyväksynnän poimia", + "pasted": "Liitetty käsin" + }, + "transferred": "{done} jostakin {total}", + "transferredUnknown": "{done} ladattu", + "progressLabel": "Lataa edistys kohteelle {title}", + "status": { + "queued": "Jonossa ladattavaksi", + "downloading": "Ladataan", + "completed": "Lataus valmis", + "importing": "Tuodaan kirjastoosi", + "needs_review": "Odottaa arvostelua kirja-dokumentissa", + "imported": "Lisätty kirjastoosi", + "failed": "Lataus epäonnistui" + } + }, + "releases": { + "title": "Valitse julkaisu", + "retryTitle": "Kokeile toista versiota", + "pairTitle": "Valitse tiedotteet", + "pair": { + "tabsLabel": "Lomakkeet julkaisujen poimintaa varten", + "releaseCount": "{count, plural, one {# julkaisu} other {# julkaisua}}", + "searching": "Etsitään", + "toChoose": "Valitseaksesi", + "sent": "Lähetetty", + "finishedTitle": "Ei mitään jäljellä valittavana", + "finishedHint": "Molemmilla tiedostomuodoilla on nyt julkaisu. Voit seurata kutakin versiota pyynnöstä.", + "backToRequest": "Takaisin pyyntöön", + "done": "Valmis" + }, + "subtitle": "Sijoitettu jokaiseen käytössä olevaan indeksointiin.", + "summaryCount": "{count, plural, one {# julkaisu} other {# julkaisua}}", + "allFreeleech": "kaikki freeleech", + "allLanguage": "kaikki {language}", + "allFormat": "kaikki {format}", + "allIndexer": "kaikki käyttäjältä {name}", + "criteria": { + "label": "Aktiivinen haku", + "searched": "Haettu", + "searchedTitleAuthor": "Haettu otsikko ja tekijä", + "nothingFound": "Mitään ei löytynyt kohteelle {key}", + "changeSearch": "Vaihda hakua", + "closeSearch": "Sulje", + "sources": "Lähteet", + "sourceSearchedIsbn": "etsi ISBN:ää", + "sourceSearchedTitleAuthor": "etsi otsikkoa ja kirjoittajaa", + "sourceNoAdapter": "ei täsmäävää sovitinta", + "sourceReleases": "{count, plural, one {# julkaisu} other {# julkaisua}}", + "sourceNone": "ei osumia", + "sourceFiltered": "{count} suodatettu ulos", + "sourcesSearched": "{count, plural, one {# lähdettä haettu} other {# lähdettä haettu}}", + "showEachSource": "Näytä jokainen", + "uncovered": "{count, plural, one {# käytössä oleva lähde tekee} other {# käytössä olevaa lähdettä tekee}} ei kanna tällaista kirjaa", + "fixSource": "Korjaa asetukset", + "searchInstead": "Etsi tästä", + "keyTried": "yritetty, mitään ei löytynyt", + "keyTriedCount": "yritetty, {count, plural, one {# julkaisu} other {# tiedotteet}}", + "searchWithoutIsbn": "Otsikko ja tekijä", + "customIsbnSource": "Mukautettu ISBN", + "filteredLocally": "Suodatetaan paikallisesti:", + "title": "Otsikko", + "author": "Tekijä", + "additionalAuthors": "Lisää tekijöitä", + "isbn10": "ISBN-10", + "isbn13": "ISBN-13", + "isbns": "ISBNs", + "mediaKind": "Media", + "language": "Kieli", + "formats": "Ensisijaiset muodot", + "editFields": "Muokkaa kenttiä", + "closeEditor": "Sulje muokkain", + "authorsEditor": "Tekijät, yksi riviä kohden", + "authorsPlaceholder": "Yksi tekijä per rivi", + "authorsInvalid": "Käytä enintään 50 kirjailijaa, 255 merkkiä tai vähemmän kirjailijaa.", + "languagePlaceholder": "Mikä tahansa kieli", + "formatsPlaceholder": "epub, azw3", + "formatsInvalid": "Käytä enintään 20 formaattia, joissa on 20 merkkiä tai vähemmän formaattia.", + "isbnSelection": "Hae menetelmä", + "isbnSelectionHint": "Valitse yksi ISBN, otsikko ja tekijä tai lisää mukautettu ISBN.", + "noIsbnSelected": "Otsikko ja tekijä ilman ISBN:ää", + "customIsbn": "Mukautettu ISBN", + "customIsbnPlaceholder": "ISBN-10 tai ISBN-13", + "addIsbn": "Lisää ISBN", + "invalidIsbn": "{isbn} ei ole kelvollinen ISBN-10 tai ISBN-13.", + "titleRequired": "Syötä otsikko haettavaksi.", + "fixedMedia": "Media on edelleen {media} koska se hallitsee yhteensopivia lähteitä ja täyttymispolkua.", + "useRequestFields": "Käytä pyyntökenttiä", + "runSearch": "Etsi näillä kentillä" + }, + "previousFailure": "Viimeisin yritys epäonnistui: {reason}", + "refused": { + "sourceRefused": "Tämä lähde käänsi aiemman julkaisun alas", + "sourceUnavailable": "Tähän lähteeseen ei vastattu", + "vipRequired": "Tarvitsee VIP-tilin tästä lähteestä", + "clientRefused": "Latausasiakas kieltäytyi aiemmasta julkaisusta", + "clientUnavailable": "Latausasiakas ei vastannut aiempaan versioon" + }, + "singleFileNote": "Vapautus voi olla yksi kirja useissa muodoissa, äänikirja osissa, tai arkisto - kaikki nämä tuonti yhtenä kirjana. Vapautus, jolla on useita erillisiä kirjoja, pyytää sinua, joka pitää.", + "searching": "Etsitään indeksiä...", + "refresh": "Hae uudelleen", + "cached": "Näytetään viimeinen haku. Etsi uudelleen saadaksesi tuoreita tuloksia.", + "sortBy": "Järjestä", + "sort": { + "score": "Paras ottelu", + "seeders": "Jakajat", + "size": "Koko", + "bitrate": "Bittinopeus", + "added": "Päivämäärä lisätty" + }, + "freeleechOnly": "Freeleech vain ({count})", + "clearFilters": "Tyhjennä suodattimet", + "filteredEmpty": "Mikään julkaisu ei vastaa näitä suodattimia.", + "grab": "Lataa julkaisu", + "viewFiles": "Näytä tiedostot", + "hideFiles": "Piilota tiedostot", + "viewDetails": "Tietoja sisällöstä", + "hideDetails": "Piilota tiedot", + "inspectingFiles": "Luetaan julkaisutiedostojen luetteloa...", + "inspectingNzb": "Haetaan ja validoidaan NZB...", + "inspectingShort": "Tarkistetaan tiedostoja...", + "inspectionFailed": "Tämän julkaisun tiedostoluetteloa ei voitu lukea.", + "manifest": { + "ready": "{count, plural, one {Tämä julkaisu sisältää # tiedoston. Tuettu kirjatiedosto voidaan tuoda.} other {Tämä julkaisu sisältää # tiedostoja. Tuettu kirjatiedosto voidaan tuoda.}}", + "noSupported": "Tällä julkaisulla ei ole suoraan tuettua kirjatiedostoa, joten sitä ei voi lähettää.", + "contentsUnknown": "Tämä julkaisu on pakattu arkistona (RAR, ZIP tai 7z). BookOrbit purkaa sen latauksen jälkeen, joten sen sisältöä ei vielä tunneta.", + "multipleBooks": "Tämä julkaisu sisältää {count} erillistä kirjaa. Kun se on ladattavissa, sinulta kysytään mitkä kirjat haluat tuoda.", + "multiPartBook": "{count, plural, one {Tämä julkaisu on yksi kirja tehty # tiedostosta.} other {Tämä julkaisu on yksi kirja tehty # tiedostoista, tuotu yhteen yhtenä kirjana.}}", + "metadataUnavailable": "Tämä on magneettilinkki. Sen tiedostoluettelo ei ole käytettävissä, kunnes torrent asiakas hakee metatiedot parvista.", + "usenetMetadataUnavailable": "Tämä on Usenet-julkaisu. Sen lopullinen tiedostoluettelo ei ole käytettävissä, kunnes NZBGet latautuu ja prosessoi sitä.", + "bookFile": "Varaa tiedosto", + "extraFile": "Ylimääräinen", + "truncated": "Näytetään {shown} jostakin {total} tiedostot.", + "untitledUnit": "Nimetön", + "unitFiles": "{count, plural, one {# tiedosto} other {# tiedostoa}}", + "unitsTruncated": "Näytetään {shown} jostakin {total} kirjat.", + "ignored": "{count, plural, one {Ohitetaan # näytettä tai pehmustetiedostoa.} other {Ohitetaan # näytettä ja pehmustetiedostoja.}}", + "mediaKind": { + "ebook": "E-kirja", + "audiobook": "Äänikirja", + "comic": "Sarjakuva" + } + }, + "manual": "Liitä linkki sen sijaan", + "manualTorrent": "Käytä magneettia tai .torrenttia sen sijaan", + "indexer": "Indeksoija", + "size": "Koko", + "seeders": "Jakajat", + "language": "Kieli", + "seederCountPlural": "{count, plural, one {# etsijä} other {# siemeniä}}", + "seederCountUnknown": "Tuntemattomat jakeet", + "format": "Muoto", + "files": "Tiedostot", + "fileLayout": { + "single": "Yksi listattu tiedosto", + "multi": "Useita luetteloituja tiedostoja" + }, + "fileCount": "{count, plural, one {# tiedosto} other {# tiedostoa}}", + "audio": "Ääni", + "bitrateAtLeast": "{rate}k+", + "channels": { + "mono": "Mustavalkoinen", + "stereo": "Stereo" + }, + "chapterCountPlural": "{count, plural, one {# luku} other {# lukua}}", + "durationHm": "{hours}h {minutes}m", + "durationM": "{minutes}m", + "freeleech": "Freelekki", + "vipOnly": "Vain VIP", + "hideVipOnly": "Piilota vain VIP", + "noneMatchedProfile": "Mikään julkaisu ei täsmää tämän median profiiliisi, joten yhtäkään niistä ei ladata automaattisesti. Voit silti lähettää yhden käsin. Laajentaaksesi sitä, lisää taso, jossa on vähemmän ehtoja kuin mitä sinulla on.", + "profileMismatch": { + "summary": "{count, plural, one {# julkaisu löytyi, mutta automaattinen lataus ohittaa sen, koska se ei täsmää mihinkään {medium} profiilitasoon.} other {# julkaisua löytyi, mutta automaattinen lataus ohittaa ne, koska mikään ei vastaa {medium} profiilitasoa.}} Pisteet ja profiilisäännöt ovat erillisiä tarkistuksia. Voit silti klikata Lähetä.", + "review": "Arvostelu {medium} profiili", + "row": "Automaattinen lataus ohittaa tämän. Lähin taso: {tier}. {reasons}", + "failures": { + "formatUnknown": "{source} ei ilmoittanut muotoa; tämä taso edellyttää {expected}.", + "format": "Muoto on {actual}; tämä taso vaatii {expected}.", + "fileLayoutUnknown": "{source} ei ilmoittanut tiedostomäärää; tämä taso vaatii {expected}.", + "fileLayout": "Tiedoston asettelu on {actual}; tämä taso vaatii {expected}.", + "bitrate": "Bittinopeus on {actual} kbps; tämä taso vaatii vähintään {expected} kbps.", + "channels": "Ääni on {actual}; tämä taso vaatii {expected}.", + "languageUnknown": "{source} ei ilmoittanut kieltä; tämä taso edellyttää {expected}.", + "language": "Kieli on {actual}; tämä taso vaatii {expected}.", + "source": "Tämä lähde ei sisälly tasoon.", + "seeders": "Tämä julkaisu on {actual} viemärit; tämä taso vaatii ainakin {expected}.", + "sizeUnknown": "{source} ei ilmoittanut kokoa; tämä taso sallii jopa {expected}.", + "size": "Koko on {actual}; tämä taso mahdollistaa enintään {expected}.", + "freeleech": "Tämä taso vaatii freeleechin.", + "vipOnly": "Tähän luokkaan eivät sisälly ainoastaan VIP-julkaisut." + } + }, + "alreadyGrabbed": "Jo napattu", + "freeleechLabel": "Freelekki", + "published": "Julkaistu", + "scoreLabel": "Pistemäärä {score} 100:sta", + "scoreBreakdown": "Miten tämä julkaisu pisteytetään", + "whyThisScore": "Miksi tämä pistemäärä", + "failures": { + "unauthorized": "sisäänkirjautuminen vanhentunut", + "throttled": "korko rajoitettu", + "timeout": "aikakatkaistu", + "unreachable": "saavuttamaton", + "unsupportedMedium": "jossa ei ole tällaista kirjaa", + "error": "haku epäonnistui" + }, + "reasons": { + "isbnMatch": "ISBN ottelut", + "titleMatch": "Otsikon ottelu", + "authorMatch": "Otsikko ja kirjoittajan täsmäys", + "preferredFormat": "Ensisijainen formaatti {detail}", + "knownFormat": "Alusta {detail}", + "unknownFormat": "Muotoa ei ole määritetty", + "expectedSize": "Uskottava koko", + "suspiciousSize": "Epätodennäköinen koko {detail}", + "seeders": "{detail} siementä", + "freeleech": "Freelekki", + "likelySeveralBooks": "{detail} tiedostoa, voi olla useita kirjoja" + }, + "errors": { + "loadFailed": "Julkaisuja ei voitu etsiä" + }, + "backToRequest": "Takaisin pyyntöön", + "bestMatch": "Paras ottelu", + "flags": "Liput", + "score": "Pisteet", + "release": "Julkaisu", + "send": "Lähetä", + "tableCaption": "Julkaisut, sijoitus", + "onlyBestMatch": "Se on ainoa yhteensovitettu julkaisu.", + "tiedWithBest": "{count, plural, one {# muu julkaisu teki saman} other {# muut julkaisut teki saman}}", + "inspectionFailedHint": "Sitä ei lähetetty latausohjelmalle. Yritä uudelleen tai liitä linkki sen sijaan.", + "inspectionFailedHintGeneric": "Sitä ei lähetetty latausasiakkaalle. Yritä uudelleen tai valitse toinen julkaisu.", + "mediumUncovered": "Mikään lähde ei kuljettaa tällaista kirjaa.", + "mediumUncoveredHint": "Mikään käytössä olevista indeksoijistasi ei kata sitä. Lisää se joka tekee tai liitä linkki itse.", + "noSourcesConfigured": "Yhtään hakulähdettä ei ole vielä määritetty.", + "noSourcesEnabled": "Jokainen hakulähde on pois päältä.", + "noSourcesConfiguredHint": "Mitään ei etsitty. Lisää indeksoija tai asenna lähdekoodi liitännäinen tai liitä linkki itse julkaisuun.", + "noSourcesEnabledHint": "Mitään ei etsitty. Vaihda yksi takaisin päälle tai liitä linkki itse julkaisuun.", + "noSourcesAskAdmin": "Mitään ei etsitty. Pyydä järjestelmänvalvojaa asettamaan hakulähde tai liittämään linkki itse julkaisuun.", + "addSource": "Lisää lähde", + "reviewSources": "Arvioi lähteet", + "protocol": { + "torrent": "Torrentti", + "usenet": "Usenet", + "direct": "Suora lataus", + "directPill": "Suora" + } + }, + "seed": { + "title": "Lataa asiakas", + "automated": "BookOrbit valitsi tämän julkaisun automaattisesti.", + "loading": "Luetaan latausasiakasta...", + "loadFailed": "Tämän pyynnön latausasiakkaaseen ei saatu yhteyttä.", + "notInClient": "Latausasiakkaalla ei ole enää tätä torrenttia.", + "state": "Tila", + "seeding": "Lähetetään", + "stopped": "Pysäytetty", + "client": "Asiakas", + "ratio": "Suhde", + "time": "Lähetetään aikaa", + "uploaded": "Ladattu", + "hours": "{value} h", + "ofGoal": "{value} jostakin {goal}", + "deleteFiles": "Poista myös ladatut tiedostot", + "remove": "Poista asiakkaasta", + "removeHint": "BookOrbit ei koskaan pysäytä siementä yksinään. Tuodut kirjat pysyvät kirjastossa kummallakaan tavalla.", + "confirm": { + "title": "Poistetaanko tämä torrent?", + "description": "Torrentti lakkaa olemasta. Ladattavat tiedostot pysyvät levyltä.", + "descriptionWithFiles": "Torrentti lakkaa lähettämästä ja sen ladatut tiedostot poistetaan. Tuotu kirja pysyy kirjastossa." + } + }, + "pipeline": { + "label": "Edistyminen", + "steps": { + "asked": "Kysytty", + "approved": "Hyväksytty", + "release": "Julkaisu löydetty", + "downloading": "Ladataan", + "filed": "Arkistoitu" + }, + "summary": { + "waiting": "Odotetaan Kohteessa: {step}", + "progress": "Käynnissä: {step}", + "done": "Arkistoitu kirjastoosi", + "failed": "Epäonnistuminen pysäytetty: {step}", + "stopped": "Pysäytetty: {step}" + } + }, + "density": { + "label": "Listan tiheys", + "comfortable": "Mukava", + "compact": "Kompakti" + }, + "drawer": { + "label": "Pyydä lisätietoja", + "description": "Pyyntö, sen saavuttama vaihe ja sitä koskevat päätökset ovat avoimia.", + "previous": "Edellinen pyyntö", + "next": "Seuraava pyyntö", + "position": "{position} jostakin {total}", + "shortcuts": "J / K siirtääksesi, A hyväksyäksesi, Esc sulkea" + }, + "table": { + "caption": "Kirjapyynnöt, joiden vaiheessa kukin on saavuttanut", + "cover": "Kansi", + "title": "Otsikko", + "mediaKind": "Muoto", + "requestedBy": "Pyynnön esittäjä", + "age": "Ikä", + "state": "Tila", + "outcome": "Tulos", + "actions": "Toiminnot", + "selectAll": "Valitse jokainen pyyntö odottaa hyväksyntää", + "selectRow": "Valitse {title}", + "toggleDetail": "Näytä mitä tapahtui {title}", + "release": "Julkaisu", + "decidedBy": "Päättänyt", + "decisionNote": "Päätöksen huomautus", + "requestNote": "Pyydä muistiinpanoa", + "openDetail": "Avaa täysi yksityiskohta", + "pairMedia": "E-kirja ja äänikirja" + }, + "confirm": { + "cancelDownloadTitle": "Peruuta lataus?", + "cancelDownloadDescription": "Aktiivinen siirto pysähtyy ja pyyntö pysyy auki, jotta toinen julkaisu voidaan valita. Asiakkaan hallinnoima data säilytetään; osittainen suoralataus poistetaan.", + "cancelTitle": "Pysäytetäänkö pyyntö?", + "cancelDescription": "Se liikkuu peruttua. Kukaan ei odota sitä saa kirjan.", + "cancelDescriptionWithDownload": "Aktiivinen siirto on pysäytetty. Latausasiakkaan tiedot säilytetään; osittainen suoralataus on poistettu.", + "deleteTitle": "Poistetaanko tämä pyyntö?", + "deleteDescription": "Pyyntö ja muistiinpano siitä, kuka sitä pyysi, ovat kaikkien kannalta hyviä. Mikä tahansa vielä lähetettävä torrent-tiedosto poistetaan latausasiakkaalta ja sen tiedostot säilytetään. Suora lataus puhdistetaan automaattisesti. Hylätään pyyntö sen sijaan vain piilottaa sen omalta listalta.", + "discardImportTitle": "Hylätäänkö tämä tuonti?", + "discardImportDescription": "Ladattu tiedosto on poistettu kirjatelakasta ja pyyntö on merkitty epäonnistui. Torrentti pitää kylvö; pysäytä se erikseen, jos haluat sen poistuvan.", + "leaveTitle": "Poistu tästä pyynnöstä?", + "leaveDescription": "Lopetat sen seuraamisen ja lakkaa ilmoittamasta siitä. Joka pyysi sitä pitää heidän pyyntönsä.", + "rejectDescription": "Kaikille, jotka odottavat näitä pyyntöjä, kerrotaan, että ne on hylätty. Mitään ei ole ladattu." + }, + "outcome": { + "filedIn": "Filed in {library} {time}", + "filed": "Annettu {time}", + "rejected": "Hylätty {time}", + "cancelled": "Peruutettu {time}", + "awaitingApproval": "Odottaa hyväksyntää", + "awaitingReview": "Odotetaan manuaalista tarkistusta", + "failedUnknown": "Pysäytetty ilman syytä indeksoijalta", + "atStage": { + "asked": "Pyysin vain", + "approved": "Hyväksytty, ei vielä haettu", + "release": "Etsitkö versiota", + "downloading": "Julkaisun lataaminen", + "filed": "Tiedostot kirjastoon" + } + }, + "handback": { + "AUTOMATION_DISABLED": "Automaattinen tarttuminen on pois päältä, joten tämä tarvitsee käsin poimitun julkaisun", + "NO_DESTINATION": "Tällä pyynnöllä ei ole kohdekirjastoa, joten kirjaa ei voi jättää", + "ATTEMPT_LIMIT": "Automaattinen täyttäminen luopui jälkeen {attempts} yritykset", + "SEARCH_FAILED": "Vapautusta ei voitu etsiä: {detail}", + "NO_SOURCES_CONFIGURED": "Hakulähteitä ei ole asetettu, joten tätä pyyntöä ei ole haettu", + "NO_SOURCES_ENABLED": "Jokainen hakulähde on pois päältä, joten tätä pyyntöä ei ole haettu", + "MEDIUM_UNCOVERED": "Ei käytössä olevaa hakulähdettä kuljettaa tällaista kirjaa, joten mitään ei ole haettu tätä pyyntöä", + "PROFILE_EXCLUDED_ALL": "Mikään julkaisu ei täsmää tämän välineen profiiliin, joten tämä tarvitsee käsin poimitun julkaisun", + "ALL_TRIED": "Jokainen julkaisu tarpeeksi hyvä napata on jo kokeillut, joten tämä tarvitsee julkaisu poimittu käsin", + "BELOW_SCORE_FLOOR": "Ei yhtään versiota {floor} tai parempi, joten tämä tarvitsee käsin poimitun julkaisun", + "ALL_BLOCKED": "Jokainen vapauttaa tarpeeksi hyvä napata suljettiin pois aikaisempi vika, joten tämä tarvitsee vapautus poimittu käsin", + "ABANDONED": "Yhtään versiota ei valittu, joten latausta ei aloitettu" + }, + "submitError": { + "SUBMIT_TITLE_REQUIRED": "Anna kirjan otsikko ennen sen pyytämistä", + "SUBMIT_SELF_FULFIL_FORBIDDEN": "Sinulla ei ole oikeutta täyttää omia pyyntöjäsi", + "SUBMIT_LIBRARY_FORBIDDEN": "Sinulla ei ole pääsyä kyseiseen kirjastoon", + "SUBMIT_FOLDER_NEEDS_LIBRARY": "Valitse kohdekirjasto ennen kansion valitsemista", + "SUBMIT_FOLDER_NOT_IN_LIBRARY": "Tämä kansio ei ole osa kohdekirjastoa", + "SUBMIT_DEFAULT_LIBRARY_UNREACHABLE": "Valitse kohdekirjasto, johon voit päästä: tämän ilmentymän oletus ei ole yksi omistasi", + "SUBMIT_DESTINATION_REQUIRED": "Pyyntösi hyväksytään heti, kun teet ne, joten valitse kirjasto jonka pitäisi laskeutua sisään", + "SUBMIT_SELF_SERVE_LIMIT": "Lopeta tai peruuta latauksia ensin: lennossa voi olla {limit} kerralla", + "SUBMIT_ON_BEHALF_FORBIDDEN": "Sinulla ei ole oikeutta pyytää kirjoja muille henkilöille", + "SUBMIT_ON_BEHALF_UNKNOWN_USER": "Käyttäjällä ei voi olla heille tehtyä kirjapyyntöä", + "SUBMIT_TARGET_BOOK_NOT_FOUND": "Tuo kirja ei ole kirjastossa, johon voit päästä", + "SUBMIT_TARGET_BOOK_HAS_MEDIUM": "Tällä kirjalla on jo tämä muoto" + }, + "actionError": { + "BOOK_REQUEST_NOT_PENDING": "Vain odottava pyyntö tukee tätä toimintoa; tämä pyyntö on tällä hetkellä {status}", + "BOOK_REQUEST_NOT_CANCELLABLE": "Pyyntöä, joka on {status} ei voida enää peruuttaa", + "BOOK_REQUEST_DESTINATION_REQUIRED": "Valitse kohdekirjasto ennen tämän pyynnön hyväksymistä", + "BOOK_REQUEST_ACTION_FORBIDDEN": "Sinulla ei ole oikeutta {action} tämä pyyntö", + "BOOK_REQUEST_STALE_TRANSITION": "Tämä pyyntö muutettiin, kun toiminto otettiin käyttöön. Se on nyt {status}." + }, + "bulk": { + "selected": "{count, plural, one {# pyyntö valittu} other {# pyyntöä valittu}}", + "approveSelected": "{count, plural, one {Hyväksy # pyyntö} other {Hyväksy kaikki #}}", + "clear": "Tyhjennä", + "dismissSelected": "{count, plural, one {Piilota # pyyntö} other {Piilota kaikki #}}", + "rejectSelected": "{count, plural, one {Hylkää # pyyntö} other {Hylkää kaikki #}}", + "rejectNoteLabel": "Syy (valinnainen)", + "rejectNotePlaceholder": "Miksi nämä on hylätty", + "rejectTitle": "Hylkää {count, plural, one {# pyyntö} other {# pyyntöä}}?", + "rejectConfirm": "Hylkää" + }, + "chooser": { + "title": "Valitse tuotava kirja", + "hint": "Tämä julkaisu osoittautui sisältämään erilliset {count} kirjat. Lataus on valmis; valitse pyydetty kirja ja loput jätetään jälkeen.", + "untitled": "Nimetön", + "files": "{count, plural, one {# tiedosto} other {# tiedostoa}}", + "import": "Tuo tämä kirja", + "mediaKind": { + "ebook": "E-kirja", + "audiobook": "Äänikirja", + "comic": "Sarjakuva" + } + }, + "review": { + "title": "Miksi tämä odottaa", + "scoreShort": "Tuotu tiedosto pisteytetty {score} tätä pyyntöä vastaan, jäljempänä {threshold} tarvitaan automaattisesti tiedostoon.", + "scoreClears": "Tuotu tiedosto pisteytetty {score}, joka poistaa {threshold} tarvitaan automaattisesti tiedostoon.", + "verificationOff": "Tuo tarkistus on pois päältä, joten tätä tiedostoa ei koskaan tehty pyyntöä vastaan.", + "reason": { + "isbn_match": "Sen ISBN on pyyntö, jota pyydettiin.", + "above_threshold": "Näyttää siltä, että kirja oli pyydetty.", + "below_threshold": "Tarkista alla olevat kentät ja päätä, onko se oikea kirja.", + "author_mismatch": "Otsikko on lähellä, mutta kirjoittaja on joku muu.", + "no_title": "Tiedosto ei sisällä luettavaa otsikkoa, joten mitään ei voitu vertailla." + }, + "field": { + "title": "Otsikko", + "authors": "Tekijä", + "isbn13": "ISBN" + }, + "verdict": { + "match": "Ottelut", + "mismatch": "Ei täsmää", + "unknown": "Ei vertailtu" + }, + "requested": "Pyydetty", + "imported": "Tuotu", + "absent": "Pyynnöllä tai tiedostolla ei ole sellaista.", + "notSet": "Ei asetettu", + "filesTitle": "Mitä laskeutui", + "fileCount": "{count, plural, one {# tiedosto} other {# tiedostoa}}", + "role": { + "cover": "Kansi", + "metadata": "Metatiedot", + "supplement": "Ylimääräinen" + }, + "fileAnyway": "Tiedosto joka tapauksessa", + "fileAnywayHint": "Tiedostot tämä kohde kirjastoon ja merkitsee pyynnön saatavilla, täsmälleen kuten ohimenevä pisteet olisi.", + "noDestination": "Tällä pyynnöllä ei ole kohdekirjastoa, jossa on kansio, joten kirjaa ei ole vielä lähetetty.", + "openDock": "Avaa kirjatelakka", + "missingEntry": "Tiedosto jota tämä pyyntö on pidetty, ei ole enää kirjatelakassa. Se jätettiin tai hylättiin kädellä, joten täällä ei ole enää tarkistettavaa.", + "missingEntryNext": "Jos kirja on jo kirjastossasi, sulje tämä pyyntö sitä vastaan. Jos se ei ole, peruuta pyyntö ja etsi toinen julkaisu.", + "filed": "Arkistoitu kirjastoon.", + "fileFailed": "Tuontia ei voitu ladata", + "discard": "Hylkää tämä tuonti", + "discardHint": "Käytä tätä, kun julkaisu osoittautui vääräksi kirjaksi. Tiedostot on poistettu kirjatelakasta ja pyyntö on merkitty epäonnistui." + }, + "sources": { + "noneConfigured": "Hakulähteitä ei ole asetettu.", + "allDisabled": "Jokainen hakulähde on pois päältä.", + "noneConfiguredHint": "Pyynnöt voidaan tallentaa, mutta niitä ei etsitä ennen kuin lisäät indekserin tai asennat lähdekoodin plugin.", + "allDisabledHint": "Pyynnöt voidaan esittää, mutta niitä ei etsitä ennen kuin kytket yhden takaisin päälle.", + "askAdmin": "Pyynnöt voidaan esittää, mutta niitä ei etsitä ennen kuin ylläpitäjä asettaa yhden ylösalaisin.", + "addSource": "Lisää lähde", + "reviewSources": "Arvioi lähteet" + }, + "selfServeBadge": "Itsenäinen", + "selfServeBadgeHint": "Pyynnön esittäjän suoraan lataama ilman hyväksyntävaihetta", + "missingFormat": { + "labelAudiobook": "Äänikirja tästä kirjasta", + "labelEbook": "E-kirja tähän kirjaan", + "noAudiobook": "Ei äänikirjaa vielä", + "noEbook": "Ei vielä e-kirjaa", + "requestAudiobook": "Pyydä äänikirjaa", + "requestEbook": "Pyydä e-kirjaa", + "requested": "Pyydetty", + "requestedBySomeone": "Joku muu on pyytänyt", + "ownedElsewhere": "Kirjastossa erillisenä kirjana", + "open": "Avaa", + "viewRequest": "Näytä pyyntö", + "submittedAudiobook": "Pyydetty . Äänikirja liittyy tähän kirjaan kun se saapuu", + "submittedEbook": "Pyydetty e-kirja liittyy tähän kirjaan kun se saapuu" } }, "collection": { + "visibleToAll": "Näkyvissä kaikille käyttäjille", + "visibleToAllHint": "Jokainen käyttäjä voi nähdä tämän kokoelman, mutta vain voit muuttaa sen kirjoja", "dialog": { "name": "Nimi", "icon": "Kuvake", @@ -4248,6 +8874,7 @@ }, "createDialog": { "title": "Uusi Kokoelma", + "podcastTitle": "Uusi Podcast-kokoelma", "namePlaceholder": "esim. Suosikit" }, "editDialog": { @@ -4255,6 +8882,7 @@ "syncToKobo": "Synkronoi Koboon", "syncToKoboHint": "Tämän kokoelman kirjat tulevat näkyviin Kobo-laitteellasi", "deleteCollection": "Poista kokoelma", + "confirmDelete": "Vahvista", "deleting": "Poistetaan...", "saving": "Tallennetaan...", "deleted": "\"{name}\" poistettu", @@ -4271,8 +8899,10 @@ "empty": "Ei vielä kokoelmia. Luo yksi yllä.", "done": "Valmis", "added": "Lisätty", + "allAdded": "Kaikki {total} lisätty", "inCollection": "Tässä kokoelmassa", "allInCollection": "Kaikki {total} tässä kokoelmassa", + "partialInCollection": "{partial} jostakin {total} tässä kokoelmassa", "bookCount": "{count, plural, =0 {ei kirjoja} one {yksi kirja} other {# kirjoja}}", "loadFailed": "Kokoelmien lataaminen epäonnistui", "createdAndAdded": "{count, plural, =0 {Luotu \"{name}\" eikä lisännyt kirjoja} one {Luotu \"{name}\" ja lisäsi yhden kirjan} other {Luotu \"{name}\" ja lisäsi # kirjoja}}", @@ -4291,17 +8921,23 @@ "searching": "Haetaan...", "noResults": "Ei tuloksia", "loadingMore": "Ladataan lisää...", + "loadMore": "Lataa lisää ({loaded}/{total})", "allMatchesShown": "{count, plural, =0 {Kaikki 1 ottelu näkyi} one {Kaikki 1 ottelu näkyi} other {Kaikki # osumaa näkyi}}", "bookCount": "{count, plural, =0 {ei kirjoja} one {# kirja} other {# kirjoja}}", "fileCount": "{count, plural, =0 {ei tiedostoja} one {# tiedosto} other {# tiedostoa}}", "uploadedToast": "Ladattu {uploaded}", "uploadFailedToast": "Lataaminen epäonnistui {failed} kohdalla", + "uploadPartialToast": "Ladattu {uploaded}, {failed} epäonnistui", "bookDock": "Kirja Telakka", "statistics": "Tilastot", "achievements": "Saavutukset", "annotations": "Huomautukset", "uploadBooks": "Lataa kirjoja", "appearance": "Ulkoasu", + "appearanceDescription": "Valitse teema, aksentti, kulma-säde, pinta ja taustavaihtoehtoja.", + "style": "Tyyli", + "surfacePalette": "Pinta", + "topGlow": "Ylhäällä hehku", "theme": "Teema", "accent": "Korostus", "radius": "Radius", @@ -4322,7 +8958,8 @@ "cta": "Star BookOrbit GitHubissa" }, "surfaceOpacity": "Pinnan läpinäkyvyys", - "surfaceOpacityValue": "{value}%" + "surfaceOpacityValue": "{value}%", + "surfaceBrightnessValue": "{value}%" }, "sidebar": { "dashboard": "Hallintapaneeli", @@ -4331,6 +8968,7 @@ "tools": "Työkalut", "libraries": "Kirjastot", "newLibrary": "Uusi Kirjasto", + "scanProgress": "{processed} / {total} kirjat", "smartScopes": "Älykkäät Kohteet", "newSmartScope": "Uusi Älykäs Laajuus", "noSmartScopes": "Ei vielä älykkäitä kopioita", @@ -4338,8 +8976,16 @@ "newCollection": "Uusi Kokoelma", "noCollections": "Ei vielä kokoelmia", "newReleaseNotes": "Uudet julkaisutiedot saatavilla", + "requestBadge": { + "allActive": "{count, plural, one {# aktiivista pyyntöä kaikilla käyttäjillä} other {# aktiivista pyyntöä kaikilla käyttäjillä}}", + "mineActive": "{count, plural, one {# aktiivista pyyntöäsi} other {# aktiivista pyyntöä omillesi}}" + }, "support": "Tue Kirjankiertoa", "supportAria": "Tuki BookOrbit Ko-fi-sivustolla", + "appLinks": { + "ios": "Hanki iOS-sovellus", + "android": "Android-sovellus tulossa pian" + }, "sectionHeader": { "add": "Lisää", "showAll": "Näytä kaikki", @@ -4351,6 +8997,7 @@ }, "noLibraries": "Ei vielä kirjastoja", "clearFilter": "Tyhjennä suodatin", + "filterSummary": "{shown} jostakin {total} näytetään", "filterLibraries": "Suodata kirjastot", "filterLibrariesPlaceholder": "Suodata kirjastoja...", "filterSmartScopes": "Suodata älykkäitä soveltamisaloja", @@ -4366,6 +9013,18 @@ "filterPodcastLibraries": "Filter podcast libraries", "filterPodcastLibrariesPlaceholder": "Filter podcast libraries...", "seeAllPodcastLibraries": "See all podcast libraries ({count})", + "podcastScopes": "Podcastin Soveltamisalueet", + "newPodcastScope": "Uusi Podcastin Soveltamisala", + "noPodcastScopes": "Ei vielä podcast-kokoja", + "filterPodcastScopes": "Suodata podcastin skaalit", + "filterPodcastScopesPlaceholder": "Suodata podcastin laajuudet...", + "seeAllPodcastScopes": "Katso kaikki podcastin skaalaukset ({count})", + "podcastCollections": "Podcastin Kokoelmat", + "newPodcastCollection": "Uusi Podcast-kokoelma", + "noPodcastCollections": "Ei vielä podcast-kokoelmia", + "filterPodcastCollections": "Suodata podcasteja kokoelmia", + "filterPodcastCollectionsPlaceholder": "Suodata podcast-kokoelmia...", + "seeAllPodcastCollections": "Katso kaikki podcast-kokoelmat ({count})", "queue": "Queue", "mode": { "books": "Books", @@ -4373,13 +9032,27 @@ "switcherAria": "Switch between books and podcasts" }, "updateAvailable": "Päivitä {version}", + "updateTooltip": "{version} päivitystä saatavilla", + "openUpdateRelease": "Avaa {version} julkaisu GitHubissa", "zones": { - "browse": "Selaa" + "browse": "Selaa", + "reading": "Luetaan" }, "reorder": { "gripAria": "Järjestä {name}", + "lifted": "{name} nostettu, sijainti {position} jostakin {total}. Käytä nuolinäppäimiä siirtää sitä.", + "moved": "{name}, sijainti {position} jostakin {total}", + "dropped": "{name} pudotettu kohtaan {position} jostakin {total}", + "cancelled": "Järjestys peruutettu. {name} palasi sijaintiin {position} jostakin {total}.", "filteredHint": "Tyhjennä suodatin järjestääksesi uudelleen" - } + }, + "podcastImportProgress": "{processed} / {total} tiedostot", + "playlists": "Älykkäät Soittolistat", + "newPlaylist": "Uusi Älysoittolista", + "noPlaylists": "Ei vielä älykkäitä soittolistoja", + "filterPlaylists": "Suodata älykkäitä soittolistoja", + "filterPlaylistsPlaceholder": "Suodata älykkäitä soittolistoja...", + "seeAllPlaylists": "Näytä kaikki älykkäät soittolistat ({count})" }, "selectionActionBar": { "setReadingStatus": "Aseta lukemisen tila", @@ -4393,6 +9066,8 @@ "moreActions": "Lisää toimintoja", "setField": "Aseta kenttä", "refreshMetadata": "Päivitä metatiedot", + "refreshConfirm": "{count, plural, one {Päivitä metatiedot # kirjaan?} other {Päivitä metatiedot # kirjaan?}}", + "refreshConfirmAction": "Päivitä", "reExtractCover": "Uusintauutteen kansi", "metadataLock": "Metatietojen lukitus", "lockAll": "Lukitse kaikki", @@ -4441,9 +9116,82 @@ "columnsHint": "Käytä sarakkeen näkyvyyspaneelia taulukon otsakkeessa nähdäksesi tai piilottaaksesi sarakkeet.", "coverShape": "Kansikuva muoto", "circle": "Ympyrä", - "square": "Neliö" + "square": "Neliö", + "rowDensity": "Rivin korkeus", + "densityCompact": "Kompakti", + "densityComfortable": "Cosy", + "densityRoomy": "Huonetila", + "coverFallback": "Käytä kirjan kannia puuttuviin muotokuviin" + }, + "viewModes": { + "grid": "Ruudukon näkymä", + "list": "Listan näkymä", + "table": "Taulun näkymä" } }, + "browseHeader": { + "eyebrow": { + "library": "Kirjasto", + "smartScope": "Älykäs soveltamisala", + "collection": "Kokoelma", + "browse": "Selaa" + }, + "facts": { + "books": "{count, plural, one {# kirja} other {# kirjaa}}", + "booksOf": "{matching} jostakin {total,plural,one{# kirja} other{# kirjat}}", + "authors": "{count, plural, one {# tekijä} other {# tekijä}}", + "series": "{count, plural, one {# sarja} other {# sarja}}", + "scanned": "Skannattu {time}", + "scanningProgress": "Etsitään {processed} / {total}", + "syncsToKobo": "Synkronoi Koboon" + }, + "switcher": { + "open": "Vaihda {name}", + "jumpTo": "Hyppää kohteeseen...", + "libraries": "Kirjastot", + "smartScopes": "Älykkäät soveltamisalat", + "collections": "Kokoelmat", + "empty": "Mikään ei täsmää" + }, + "search": { + "removeToken": "Poista suodatin {label}", + "clearAll": "Tyhjennä haut ja suodattimet", + "save": "Tallenna", + "summaryToken": "{count, plural, one {# suodatin} other {# suodatinta}}" + }, + "tokens": { + "anyOf": "Mikä tahansa {count, plural, one {# sääntö} other {# sääntöä}}", + "allOf": "Kaikki {count, plural, one {# sääntö} other {# sääntöä}}" + }, + "sort": { + "sortBy": "Järjestä {field}", + "ascending": "Nouseva. Vaihda laskevasti", + "descending": "Laskeva. Vaihda nousevaan" + }, + "facets": { + "format": "Muoto", + "rules": "Säännöt", + "show": "Näytä", + "library": "Kirjasto", + "status": "Tila", + "ruleCount": "{count, plural, one {# sääntö} other {# sääntöä}}" + }, + "menu": { + "more": "Enemmän {name}", + "editRules": "Muokkaa sääntöjä", + "deleteSmartScope": "Poista Älykäs Laajuus", + "deleteCollection": "Poista kokoelma", + "confirmDelete": "Poista \"{name}\"? Tätä ei voi perua.", + "upload": "Lataa kirjoja" + }, + "scan": { + "scanning": "Skannataan", + "started": "Skannataan {name}", + "finished": "Haku kohteesta: {name} valmis" + }, + "viewModes": "Näytä tila", + "legend": "Äänenvoimakkuuden värit" + }, "iconPicker": { "clearSelectionAria": "Tyhjennä valittu kuvake", "searchLucide": "Etsi Lucide-kuvakkeita...", @@ -4459,13 +9207,32 @@ }, "entityNotFound": { "title": "{entity} ei löytynyt", + "description": "Tämä {entity} ei ole olemassa tai on poistettu.", "goBack": "Mene takaisin" }, + "media": { + "volume": "Tilavuus", + "mute": "Mykistä", + "unmute": "Poista Mykistys" + }, "themePicker": { "light": "Vaalea", "dark": "Tumma", "system": "Järjestelmä" }, + "radiusPicker": { + "sharp": "Terävät kulmat", + "default": "Oletus kulmat", + "rounded": "Pyöristetyt kulmat", + "pill": "Kullinmuotoiset kulmat" + }, + "languagePicker": { + "searchPlaceholder": "Hae kieliä", + "suggested": "Ehdotettu", + "all": "Kaikki kielet", + "results": "Tulokset", + "empty": "Kieliä ei täsmää \"{query}\"" + }, "userAvatar": { "profilePicture": "Profiilin kuva", "profilePictureOf": "{name} profiilikuva" @@ -4474,11 +9241,21 @@ "sidebar": { "title": "Sidebar", "mobileDescription": "Näyttää mobiili sivupalkin.", - "toggle": "Vaihda Sivupalkkia" + "toggle": "Vaihda Sivupalkkia", + "collapse": "Pienennä sivupalkki", + "expand": "Expand sidebar", + "open": "Avaa sivupalkki", + "close": "Sulje sivupalkki" }, "chipInput": { "typeAndEnter": "Kirjoita ja paina Enter lisätäksesi", - "pressEnter": "Lisää painamalla Enter" + "pressEnter": "Lisää painamalla Enter", + "remove": "Poista {value}" + }, + "tokenSelect": { + "remove": "Poista {value}", + "noMatches": "Ei osumia", + "showOptions": "Näytä asetukset" } }, "entityIndex": { @@ -4492,6 +9269,7 @@ "ascending": "Nouseva", "descending": "Laskeva", "clearSearch": "Tyhjennä haku", + "resultCount": "{shown} jostakin {total}", "noMatches": "Ei osumia", "noMatchesHint": "Kokeile toista hakutermiä.", "bookCount": "Kirjat: {count}", @@ -4500,6 +9278,50 @@ "podcastLibrariesEmptyHint": "Create a podcast library to start following shows.", "smartScopesEmptyHint": "Smart scopes tallentaa joukon suodattimia, joita käytät usein.", "collectionsEmptyHint": "Kokoelmat ryhmä kirjoja valitset käsin." + }, + "legalNotices": { + "about": "Tietoja Kirjankierrosta", + "trigger": "Oikeudelliset ilmoitukset", + "title": "Tietoja Kirjankierrosta", + "description": "Kirjankiertoradan ominaisuudet, lisenssit ja lähdekoodi.", + "poweredBy": "Palvelun tarjoaa BookOrbit", + "originalDevelopment": "Tämä ohjelmisto sisältää alun perin BookOrbitiksi kehitetyn materiaalin.", + "copyright": "Copyright (C) 2025-2026 neon.", + "contributors": "Muunlainen tekijänoikeus on asianomaisten BookOrbit osallistujien hallussa.", + "licenseSummary": "Lisensoitu GNU Affero General Public License -lisenssin version 3 mukaisesti lisäehdoin. Tämä ohjelmisto on annettu ilman takuua. Voit levittää sitä uudelleen ja muokata sitä näiden ehtojen mukaisesti.", + "sourceCode": "Lähdekoodi", + "license": "AGPLv3-lisenssi", + "additionalTerms": "Muut ehdot" + }, + "confirmDialog": { + "typeToConfirm": "Vahvista ”{phrase}”" + }, + "formSheet": { + "discardTitle": "Hylätäänkö muutokset?", + "discardDescription": "Tallentamattomat muutokset menetetään.", + "discardConfirm": "Hylkää" + }, + "backgroundPicker": { + "none": "Ei Mitään", + "dots": "Pisteet", + "cross": "Risti", + "millimeter": "Millimeter", + "blueprint": "Suunnitelma", + "brushed": "Harjattu", + "scanlines": "Scanlines", + "vinyl": "Vinyyli", + "carbon": "Hiili", + "perforated": "Perforoitu", + "aurora": "Aurora", + "horizon": "Horisontti", + "glow": "Hehku", + "mesh": "Verkko", + "elevation": "Korkeus", + "prism": "Prismi", + "spectrum": "Taajuudet", + "spectrum-x": "Spektri X", + "spectrum-plus": "Spectrum Plus", + "eclipse": "Eclipse" } }, "customIcons": { @@ -4507,6 +9329,7 @@ "dialogDescription": "Tarkista nimet ennen kuin lisäät ne kirjastoon.", "readingFiles": "Luetaan tiedostoja...", "dropPrompt": "Pudota SVG-tiedostot tai klikkaa selataksesi", + "fileLimit": "Enintään 1 {max} tiedostoja, 128 KB jokaisesta", "namePlaceholder": "Nimi", "nameRequired": "Nimi vaaditaan", "invalidSvg": "Virheellinen SVG", @@ -4524,6 +9347,7 @@ "onlyMoreCanStage": "{count, plural, =0 {Enää kuvakkeita ei voi lavastaa} one {Vain # lisää kuvaketta voidaan lavastaa} other {Vain # lisää kuvakkeita voidaan lavastaa}}", "readFailed": "SVG-tiedostoja ei voitu lukea", "uploadedCount": "{count, plural, =0 {Ei kuvakkeita ladattu} one {Ladattu # kuvake} other {Ladattu # kuvakkeita}}", + "uploadedPartial": "Ladattu {created}, {failed} epäonnistui", "noIconsUploaded": "Ei ladattuja kuvakkeita", "uploadFailed": "Kuvakkeiden lataaminen epäonnistui", "uploadFailedEntry": "Lähetys epäonnistui" @@ -4536,6 +9360,10 @@ "cover": "Kansi", "bookCover": "Varaa kansi" }, + "libraryLoad": { + "errorTitle": "Kirjastoja ei voitu ladata", + "errorDescription": "KirjanOrbit ei pystynyt noutamaan kirjastojasi. Kirjaston tietoja ei ole poistettu." + }, "scroller": { "failedToLoad": "Lataaminen epäonnistui.", "empty": { @@ -4551,6 +9379,7 @@ }, "settings": { "title": "Muokkaa Kojelautaa", + "preferencesTitle": "Kojelaudan asetukset", "tabs": { "widgets": "Widgetit", "shelves": "Hyllyt" @@ -4579,6 +9408,32 @@ "random": "Löydä Jotain Uutta", "smartScope": "Älykäs Laajuus" }, + "shelfLayout": { + "title": "Hyllyn asettelu", + "description": "Valitse, miten hyllyt on järjestetty suuremmilla näytöillä.", + "wide": "Laajat rivit", + "wideDescription": "Näytä yksi hylly per rivi.", + "twoColumns": "Kaksi saraketta", + "twoColumnsDescription": "Näytä kaksi hyllyä per rivi." + }, + "shelfSync": { + "label": "Synkronoi hyllyt istuntojen välillä", + "description": "Tallenna hyllyjärjestys, näkyvyys, rivien määrä ja asettelu tilillesi. Kun pois päältä, hyllyasetukset pysyvät tässä selaimessa." + }, + "saveFailed": "Kojelaudan asetuksia ei voitu tallentaa. Tarkista yhteytesi ja yritä uudelleen.", + "libraryScope": { + "title": "Dashboardin kirjastot", + "description": "Valitse, mitkä kirjastot toimittavat kirjoja ja lukevat tietoja tähän hallintapaneeliin.", + "allLibraries": "Kaikki käytettävissä olevat kirjastot", + "summaryNone": "Kirjastoja ei valittu", + "summaryCount": "{count, plural, one {# kirjasto} other {# kirjastoa}}", + "required": "Valitse vähintään yksi kirjasto." + }, + "shelfRows": { + "label": "Kirjojen rivit", + "option": "{count, plural, one {Yksi rivi kirjoja} other {# riviä kirjoja}}", + "hint": "Määritä kuinka monta riviä kirjoja kukin hylly näyttää. Kapeat näytöt näyttävät korkeintaan kaksi." + }, "reorderHintWidget": "Vedä järjestääksesi. Vaihda näyttääksesi tai piilottaaksesi widgetin.", "reorderHintShelf": "Vedä järjestääksesi. Vaihda näyttääksesi tai piilottaaksesi hyllyn.", "smartScope": "Älykäs Laajuus", @@ -4712,6 +9567,7 @@ }, "tabs": { "providers": "Palveluntarjoajat", + "servers": "Sähköpostin palvelimet", "recipients": "Vastaanottajat", "groups": "Ryhmät", "templates": "Mallit", @@ -4745,6 +9601,7 @@ "toggleSharing": "Vaihda jakaminen", "removeSystemBeforeDelete": "Poista järjestelmän tunnus ennen poistamista", "notesHeading": "Tarjoajan Muistiinpanot", + "notesBody": "Että {system} toimittaja (superuser vain) käytetään salasanan nollaamiseen sähköposteja. {defaultProvider} Palveluntarjoajaa käytetään, kun kirjoja lähetetään ilman nimenomaista palveluntarjoajaa {shared} ovat kaikkien käyttäjien saatavilla.", "deleteTitle": "Poistetaanko tarjoaja?", "nameHostRequired": "Nimi ja isäntä vaaditaan", "created": "Tarjoaja luotu", @@ -4879,6 +9736,306 @@ "sending": "Lähetetään...", "queued": "{count, plural, =0 {ei yhtään sähköpostia jonossa} one {yksi sähköposti jonossa} other {# sähköpostia jonossa}}", "failed": "Lähetys epäonnistui" + }, + "page": { + "addRecipient": "Lisää vastaanottaja", + "recipients": "Vastaanottajat", + "groups": "Ryhmät", + "newGroup": "Uusi ryhmä", + "servers": "Sähköpostin palvelimet", + "addServer": "Lisää sähköpostipalvelin", + "templates": "Mallit", + "newTemplate": "Uusi malli", + "noServersReadonly": "Sinulle ei ole vielä jaettu sähköpostipalvelinta. Pyydä järjestelmänvalvojaa lisätämään.", + "roleShared": "Jaettu kaikkien kanssa", + "roleSystem": "Salasanan palautus", + "cantConnect": "Ei voi yhdistää", + "builtIn": "Rakennettu sisään", + "recipientsEmptyTitle": "Lisää e-lukija tai postilaatikko, jonka lähetät kirjoihin", + "recipientsEmptyBody": "Kindlen osoite päättyy {kindle} ja on lueteltu kohdassa Laitteet Amazon tilillesi. PocketBook päättyy {pocketbook}. Kaikki tavalliset postilaatikot toimivat myös.", + "kindleNote": "Kindle ottaa sähköpostin vain hyväksytyiltä lähettäjiltä. Lisää {address} henkilökohtaisiin asiakirja-asetuksiin Amazon-tililläsi.", + "copyAddress": "Kopioi osoite", + "addressCopied": "Osoite kopioitu", + "editServer": "Muokkaa {name}", + "editTemplate": "Muokkaa {name}", + "editGroup": "Muokkaa {name}", + "groupCount": "{count, plural, one {# recipient} other {# recipients}}", + "recipientsHint": "Tähtinyt on poimittu, kun lähetät.", + "groupsHint": "Lähetä usealle vastaanottajalle kerralla.", + "groupsEmpty": "Ei vielä ryhmiä.", + "serversHint": "Nähty lähettää kirjojasi.", + "templatesHint": "Kunkin kirjan aihe ja viesti lähetetty.", + "kindleTemplateNote": "Kindle ei koskaan näytä mallia: sen sähköposti menee aina ulos aiheesta {subject}.", + "test": "Testi", + "testServer": "Testaa {name}", + "testOk": "{name} yhdistetty", + "testFailed": "{name} ei voi yhdistää", + "defaultRecipient": "Oletus vastaanottaja", + "makeDefaultRecipient": "Merkki {name} oletus vastaanottaja", + "defaultServer": "Oletus palvelin", + "makeDefaultServer": "Merkki {name} oletus palvelin", + "defaultTemplate": "Oletus malli", + "makeDefaultTemplate": "Merkki {name} oletus malli", + "editRecipient": "Muokkaa {name}", + "serversEmptyTitle": "Ei vielä sähköpostipalvelinta", + "serversEmptyBody": "Kirjat käyvät läpi SMTP-tilin. Gmail, Outlook, iCloud ja Fastmail ovat yhdellä napsautuksella; kaikki muut palvelimet toimivat myös.", + "needServerTitle": "Lisää sähköpostipalvelin ennen kuin voit lähettää", + "needServerBody": "BookOrbit lähettää kirjoja omistamasi SMTP-tilin kautta, kuten Gmailin kanssa sovelluksen salasanalla.", + "needServerAsk": "Pyydä järjestelmänvalvojaa jakamaan sähköpostipalvelin sinun kanssasi.", + "goToServers": "Siirry sähköpostipalvelimille", + "noEncryption": "Ei salausta" + }, + "route": { + "defaultSaved": "Oletus päivitetty" + }, + "attention": { + "title": "Tarvitsee huomiota", + "count": "{count, plural, one {# tuote} other {# kohdetta}}", + "hide": "Piilota", + "show": "Näytä", + "serverDown": "{name} ei voi yhdistää", + "notDelivered": "{book} ei saavuttanut {recipient}", + "maybeDelivered": "{book} ei ehkä ole saavutettu {recipient}", + "testedAgo": "testattu {time}", + "editServer": "Muokkaa palvelinta", + "editRecipient": "Muokkaa vastaanottajaa", + "resend": "Lähetä Uudelleen" + }, + "reason": { + "tooLarge": "{size} on enemmän kuin {server} hyväksytään.", + "tooLargeGmail": "{size} on yli Gmailin 25 Mt liiterajan.", + "tooLargeFix": "Lähetä pienempi painos tai aseta vastaanottaja vain tekstiä EPUB:ille.", + "signIn": "{server} kieltäytyi kirjautumisesta.", + "signInFix": "Tarkista postin palvelimen käyttäjätunnus ja salasana.", + "unreachable": "{server} ei vastannut.", + "unconfirmed": "Yhteys katkesi sen jälkeen, kun viesti oli ohi, joten se on saattanut saapua.", + "unconfirmedFix": "Tarkista saapuneet-kansio ennen lähetystä tai voi saapua kahdesti.", + "interrupted": "BookOrbit käynnistettiin uudelleen, kun tämä sähköposti oli menossa ulos.", + "interruptedFix": "Tarkista saapuneet-kansio ennen lähettämistä.", + "preparation": "Tiedostoa ei voitu valmistaa lähetettäväksi.", + "other": "Sähköpostipalvelin käänsi sen alaspäin.", + "server": "sähköpostin palvelin", + "serverMessage": "Palvelimen viesti", + "retryAt": "Seuraava kokeile {time}." + }, + "status": { + "sent": "Lähetetty", + "sending": "Lähetetään", + "retrying": "Yritetään · {attempt} jostakin {total}", + "unconfirmed": "Vahvistamaton", + "failed": "Epäonnistui" + }, + "recent": { + "moreActions": "Lisää toimintoja {title}", + "deletedBook": "Poistettu kirja", + "openBook": "Avaa kirja", + "resend": "Lähetä Uudelleen", + "delete": "Poista merkintä" + }, + "log": { + "all": "Kaikki", + "attention": "Tarvitsee huomiota", + "active": "Toiminto käynnissä", + "book": "Kirja", + "sentTo": "Lähetetty kohteeseen", + "file": "Tiedosto", + "status": "Tila", + "when": "Milloin", + "sentMeans": "Lähetetty tarkoittaa, että sähköpostipalvelin hyväksyi sen", + "emptyFilter": "Ei mitään täällä juuri nyt.", + "loadMore": "Lataa lisää", + "showing": "Näytetään {shown} jostakin {total}", + "emptyTitle": "Mitään ei vielä lähetetty", + "emptyBody": "Sähköpostin kirjoittamat kirjat näkyvät täällä, minne he menivät ja onko postipalvelin ottanut ne." + }, + "card": { + "nothingSent": "Mitään ei vielä lähetetty", + "failed": "epäonnistui", + "retrying": "yritetään uudelleen", + "unconfirmed": "vahvistamaton", + "sending": "lähettää", + "narration": "Narraatio", + "narrationTitle": "Lukevat kirjat pitävät heidän tarinansa" + }, + "device": { + "kindle": "Kindle", + "kobo": "Kobo", + "other": "Muu e-lukija", + "otherShort": "E-lukija", + "none": "Henkilö tai postilaatikko" + }, + "sheet": { + "title": "Lähetä sähköpostitse", + "sendTo": "Lähetä kohteeseen", + "groups": "Ryhmät", + "templateName": "{name} sivupohjaa", + "eachFormat": "Kunkin vastaanottajan muoto", + "formatForAll": "{format} kaikille", + "file": "Tiedosto", + "mailServer": "Sähköpostin palvelin", + "template": "Malli", + "yourDefault": "oletuksesi", + "emails": "{count, plural, one {# email} other {# emails}}", + "noOnePicked": "Kukaan ei poiminut", + "total": "{size} yhteensä", + "send": "{count, plural, one {Lähetä} other {Lähetä # sähköpostia}}", + "noFormat": "Ei {format}, saa {got}", + "readAlong": "Lukuong, {size}", + "overKindle": "{size}, yli Kindlen 50 Mt rajan", + "overGmail": "{size}, Gmailin 25 Mt rajan yli", + "kindleRejects": "Kindle hylkää {format}", + "blockedKindle": "{name} ei voi ottaa {format}. Valitse EPUB tai PDF, tai poista rasti.", + "books": "{count, plural, one {# kirja} other {# kirjaa}}", + "notReadyTitle": "Sähköpostiosoitetta ei ole vielä määritetty", + "notReadyBody": "Ennen kuin kirja voi mennä minne tahansa, tämä tili tarvitsee sähköpostipalvelimen ja vastaanottajan.", + "addServer": "Lisää sähköpostipalvelin", + "addServerHint": "Gmail, Outlook, iCloud, Fastmail tai mikä tahansa SMTP-tili.", + "askForServer": "Pyydä järjestelmänvalvojaa jakamaan sähköpostipalvelin.", + "addRecipient": "Lisää vastaanottaja", + "addRecipientHint": "Kindle, PocketBook tai mikä tahansa saapuneet-kansio.", + "openSettings": "Avaa sähköpostiasetukset", + "sendingTitle": "Lähetetään {title}", + "closeHint": "Voit sulkea tämän. Epäonnistumiset näkyvät myös ilmoituksissa ja sähköpostihistoriassasi.", + "openHistory": "Avaa historia", + "done": "Valmis", + "acceptedBy": "Hyväksytty {server} {time}", + "handingOver": "Käyttö yli {server}" + }, + "editor": { + "kindleSubject": "muunna", + "recipient": { + "newTitle": "Uusi vastaanottaja", + "description": "Vastaanottajan nimi, osoite, laite ja mitä se saae.", + "sectionRecipient": "Vastaanottaja", + "sectionReceives": "Mitä se saa", + "name": "Nimi", + "email": "Sähköposti osoite", + "device": "Laite", + "deviceHint": "Kindle muuttaa kohdetta {subject} ja rajoittaa alla olevia formaatteja.", + "format": "Muoto", + "formatPrimary": "Kirjan ensisijainen", + "formatHint": "Kirja ilman tätä muotoa saa sen ensisijaisen painoksen.", + "kindleFormatHint": "Amazon lakkasi hyväksymästä MOBIa ja AZW3 sähköpostitse vuonna 2023, joten niitä ei tarjota Kindle. Kirja ilman tätä muotoa saa sen ensisijaisen painoksen.", + "kindleLegacyFormat": "Kindle ei enää hyväksy {format} sähköpostitse. Valitse EPUB tai PDF.", + "readAlong": "Lueteltavat kirjat", + "readAlongAutomatic": "Automaattinen", + "readAlongAutomaticHint": "Teksti vain silloin, kun turvallinen kopio voidaan tehdä, muuten alkuperäinen.", + "readAlongTextOnly": "Vain Teksti EPUB", + "readAlongTextOnlyHint": "Narrattu poistettu. tarpeeksi pieni sähköpostia varten.", + "readAlongOriginal": "Alkuperäinen kertomalla", + "readAlongOriginalHint": "Pitää tarinan. Usein 100 Mt tai enemmän, useimpien postipalvelinten rajoissa.", + "notForKindle": "Ei Kindlelle", + "template": "Malli", + "templateDefault": "Oletus ({name})", + "templateKindleHint": "Ei huomioitu Kindlelle, joka ei koskaan näytä viestiä.", + "approveTitle": "Hyväksy Amazonin lähettäjä", + "approveBody": "Kindle pudottaa sähköpostia osoitteista, joita se ei tiedä, ilman pomppia. {path}, lisää {address}", + "approvePath": "Hallitse sisältöä ja laitteita › Asetukset › Henkilökohtaiset asiakirjan asetukset", + "approveNoServer": "Lisää sähköpostipalvelin ensin nähdäksesi osoitteen Kindle on hyväksyttävä.", + "lastSent": "Viimeisin kirja lähetettiin {time}", + "sendTest": "Lähetä testisähköposti", + "testSubject": "KirjanOrbit testi sähköposti", + "testBody": "Tämä on testi BookOrbitiltä. Jos voit lukea sen, myös {name} -tunnukselle lähetetyt kirjat saapuvat tänne.", + "testSent": "Testi sähköposti lähetetty {name}", + "testFailed": "Testin sähköposti ei mennyt ulos: {error}", + "makeDefault": "Tee pikalähetyksen vastaanottaja", + "remove": "Poista vastaanottaja", + "removeConfirm": "Poista {name}?", + "removeConsequence": "Sen lähetyshistoria pysyy ennallaan.", + "removeDefaultConsequence": "Sen lähetyshistoria pysyy paikallaan, ja Nopea lähetys pysähtyy, kunnes tähti toinen vastaanottaja.", + "required": "Nimi ja sähköpostiosoite vaaditaan.", + "sectionLastSent": "Viimeksi lähetetty" + }, + "server": { + "newTitle": "Uusi sähköpostipalvelin", + "description": "SMTP-palvelin, sen sisäänkirjautuminen ja kuka voi lähettää sen kautta.", + "sectionProvider": "Tarjoaja", + "sectionServer": "Palvelin", + "sectionSignIn": "Kirjaudu sisään", + "sectionSender": "Lähettäjä", + "sectionWho": "Kuka käyttää sitä", + "presetGmail": "Gmail", + "presetOutlook": "Näkymät", + "presetIcloud": "iCloud Mail", + "presetFastmail": "Fastmail", + "presetOther": "Muu SMTP", + "presetHint": "Esiasetus täyttää isäntä, portti ja turvallisuus. Voit silti muuttaa niitä.", + "name": "Nimi", + "host": "Isäntä", + "port": "Portti", + "security": "Turvallisuus", + "securityStarttls": "STARTTLS", + "securitySsl": "SSL/TLS", + "securityNone": "Ei Mitään", + "securityHint": "STARTTLS on 587, SSL/TLS on 465. Yksi tai toinen, ei koskaan molempia.", + "needsPassword": "Tämä palvelin tarvitsee salasanan", + "username": "Käyttäjätunnus", + "password": "Salasana", + "appPassword": "Sovelluksen salasana", + "passwordKeep": "Tallennettu. Kirjoita korvataksesi sen", + "appPasswordHint": "Gmail ja iCloud tarvitsevat sovelluksen salasanan, eivät tilisi salasanan.", + "fromName": "Lähettäjän nimi", + "fromAddress": "Lähettäjän osoite", + "fromAddressHint": "Kindlen omistajien on hyväksyttävä tämä osoite.", + "share": "Jaa kaikkien kanssa", + "shareHint": "Muut ihmiset voivat lähettää kirjoja tämän palvelimen kautta näkemättä salasanaa.", + "system": "Lähetä salasanan nollaus ja sisäänkirjautuminen linkit", + "systemHint": "Yksi palvelin BookOrbit itse käyttää. Vain pääkäyttäjä voi muuttaa tätä.", + "verifyTls": "Vahvista palvelimen varmenne", + "verifyTlsHint": "Poista käytöstä vain omalla verkostollasi oleva palvelin, jolla on allekirjoitettu varmenne.", + "test": "Testaa yhteys", + "testDirty": "Tallenna ensin ja tee testi", + "testOk": "Yhdistetty", + "testFailed": "Ei voida yhdistää: {error}", + "remove": "Poista palvelin", + "removeConfirm": "Poista {name}?", + "removeConsequence": "Kaikki, joita se jakaa, menettävät sen.", + "removeSystemFirst": "Poista salasanan nollaus tällä palvelimella ennen sen poistamista.", + "makeDefault": "Käytä oletukseni", + "required": "Nimi ja isäntä vaaditaan." + }, + "template": { + "newTitle": "Uusi malli", + "description": "Kunkin kirjan aihe ja viesti lähetetty.", + "sectionTemplate": "Malli", + "sectionInsert": "Insert", + "sectionPreview": "Esikatselu", + "name": "Nimi", + "subject": "Aihe", + "message": "Viesti", + "groupBook": "Kirja", + "groupFile": "Tiedosto", + "groupOther": "Muu", + "insertHint": "Käy kohdistimessa, aiheessa tai viestissä. Tyhjät arvot eivät tulosta mitään.", + "insertVariable": "Insert {variable}", + "previewWith": "Esikatsele sovelluksella", + "previewEmpty": "Lähetä kirja kerran esikatselemaan sivupohjaa sen kanssa.", + "previewFailed": "Esikatselua ei voitu luoda.", + "previewTo": "Vastaanottaja", + "builtInReadonly": "Rakennettu sisään. Vain pääkäyttäjä voi muuttaa sitä.", + "kindleNote": "Kindle ei koskaan näytä mallia: se saa aina aiheen {subject}.", + "makeDefault": "Tee oletukseni", + "remove": "Poista malli", + "removeConfirm": "Poista {name}?", + "removeConsequence": "Vastaanottajat, jotka käyttävät sitä palaa oletusmalliin.", + "required": "Nimi ja aihe vaaditaan.", + "attachment": "Liitetty: {name}" + }, + "group": { + "newTitle": "Uusi ryhmä", + "description": "Joukko vastaanottajia, jotka voivat lähettää yhden kirjan kerralla.", + "sectionGroup": "Ryhmä", + "sectionMembers": "Jäsenet", + "name": "Nimi", + "memberCount": "{count} jostakin {total}", + "noRecipientsTitle": "Ei poimittuja vastaanottajia", + "noRecipientsBody": "Ryhmä on joukko vastaanottajia. Lisää vastaanottaja ensin.", + "remove": "Poista ryhmä", + "removeConfirm": "Poista {name}?", + "removeConsequence": "Sen vastaanottajat jäävät.", + "required": "Ryhmä tarvitsee nimen.", + "updated": "Ryhmä päivitetty" + } } }, "errors": { @@ -4965,18 +10122,21 @@ "eligible": "tukikelpoiset kirjat" }, "checkingPending": "Tarkistetaan odottavia kohteita...", + "pendingOf": "{pending} vireillä ollessa: {total} kirjat.", "noBooksInScope": "Ei kirjoja synkronoidussa laajuudessa.", "allSynced": "Kaikki kirjat on jo synkronoitu.", "lastSyncedLabel": "Viimeksi synkronoitu", "lastSuccessfulSync": "Viimeisin onnistunut synkronointi", "syncing": "Synkronoi...", + "progressCount": "{synced} / {total} kirjat", "unavailable": { "permissionDenied": "Sinulla ei ole oikeuksia käyttää Hardcover synkronointia.", "userDisabled": "Synkronointi on keskeytetty Hardcover asetuksissa." }, "button": { "unavailable": "Sync unavailable", - "syncNow": "Synkronoi nyt" + "syncNow": "Synkronoi nyt", + "syncNowCount": "Synkronoi nyt ({count})" }, "lastSynced": { "justNow": "Juuri nyt", @@ -5009,6 +10169,7 @@ "skipped": "Ohitettu" }, "result": { + "summary": "{applied} tuotu{progress}, {failed} epäonnistui", "progressUpdated": "{count} edistys päivitetty" }, "toast": { @@ -5019,6 +10180,7 @@ }, "review": { "title": "Kovakantinen tuontitarkastelu", + "subtitle": "{total} Kovakantiset kirjat, {matched} matched.", "closeAriaLabel": "Sulje tuonnin arvostelu", "searchPlaceholder": "Etsi otsikko tai tekijä", "importProgress": "Tuonti edistyminen", @@ -5026,6 +10188,7 @@ "blank": "tyhjä", "noRows": "Mikään rivi ei vastaa nykyisiä suodattimia.", "selectRowAriaLabel": "Valitse {title}", + "selectionSummary": "{count} valittu: {ready} valmis, {reviewed} tarkistettu.", "selectedProgress": "{count, plural, =0 {ei edistymispäivityksiä} one {# edistymispäivitys} other {# edistymispäivitystä}}", "selectReady": "Valitse valmis", "selectPage": "Valitse sivu", @@ -5034,6 +10197,7 @@ "importSelected": "Tuo valitut", "previousPage": "Edellinen sivu", "nextPage": "Seuraava sivu", + "pageRange": "{start}-{end} jostakin {total}", "tabs": { "all": "Kaikki", "ready": "Valmis", @@ -5067,12 +10231,50 @@ "column": { "progress": "Edistyminen" } + }, + "linkedBooks": { + "title": "Linkitetyt kirjat", + "description": "Näyttää lukemasi kirjat. Kun kirja on sovitettu Hardcover, valitse eri painos (fyysinen, ebook, äänikirja) tästä muuttaa, mitä käsittelyssä edistymistä synkronoidaan.", + "loading": "Ladataan kirjoja...", + "loadError": "Kirjojen lataaminen epäonnistui.", + "retry": "Yritä Uudelleen", + "empty": "Tällä hetkellä lukevia kirjoja ei ole.", + "untitled": "Nimetön", + "unknownAuthor": "Tuntematon tekijä", + "matchMethod": { + "isbn": "ISBN", + "title": "Otsikko", + "cached": "Välimuistissa", + "manual": "Manuaalinen", + "metadata_id": "Metatietojen täsmäys" + }, + "status": { + "error": "Virhe: {error}", + "linked": "Linkitetty", + "linkedWithMethod": "Linkitetty ({method})", + "notLinked": "Ei vielä linkitetty" + }, + "unmatchedHint": "Tätä kirjaa ei ole vielä sovitettu Hardcoveriin. Se sovitetaan automaattisesti seuraavalla kerralla kun se synkronoidaan.", + "editionsLoadError": "Ei voitu ladata versioita.", + "viewEditions": "Näytä versiot", + "noEditionsFound": "Ei painoksia löytynyt.", + "booksTruncated": "Näytetään ensimmäiset lukemasi {count} kirjaa.", + "editionsTruncated": "Näytetään ensimmäiset {count} versiot.", + "pages": "{count, plural, one {# sivu} other {# sivua}}", + "isbn": "ISBN {isbn}", + "current": "Nykyinen", + "useThis": "Käytä tätä", + "toast": { + "switched": "Vaihda {format}", + "switchFailed": "Version vaihtaminen epäonnistui" + } } }, "library": { "creator": { "createTitle": "Luo Kirjasto", "editTitle": "Muokkaa: {name}", + "stepOf": "Vaihe {current} jostakin {total}", "unsaved": "Tallentamaton", "required": "Pakollinen", "closeAria": "Sulje kirjaston luoja", @@ -5102,12 +10304,40 @@ "title": "Kansikuvan tyyli", "portrait": "Pysty", "square": "Neliö", - "hint": "Muotokuva e-kirjoille tai sekakirjastoille. Neliö vain äänikirjastoille." + "hint": "Muotokuva e-kirjoille tai sekakirjastoille. Neliö vain äänikirjastoille.", + "hintSlots": "Muotokuva e-kirjoille tai sekakirjastoille, neliö vain äänikirjastoille. Kirja, jossa on sekä eBook että äänikirja näyttää sen kirjan kansi muotokuva kirjasto ja sen äänikirja kansi." }, "icon": { "label": "Kuvake", "placeholder": "Valitse kuvake...", - "selected": "Valittu" + "selected": "Valittu", + "more": "Lisää kuvakkeita" + }, + "identity": "Identiteetti", + "podcastName": "Podcast-kirjaston nimi", + "podcastPlaceholder": "Minun Podcastit", + "podcastDefaultName": "Podcastit", + "type": { + "title": "Kirjaston tyyppi", + "books": "Kirjat", + "booksHint": "Kirjat, sarjakuvat ja äänikirjat", + "podcasts": "Podcastit", + "podcastsHint": "RSS-syötteet ja hallittu jaksojen tallennustila" + }, + "cover": { + "portraitTitle": "Muotokuva 2:3", + "portraitHint": "Ebooks ja sekakirjastot", + "squareTitle": "Neliö 1:1", + "squareHint": "Vain äänikirjojen kirjastot", + "slotsHint": "Kirja sekä eBook ja äänikirja näyttää kannen, joka sopii tähän muotoon." + }, + "gridShape": { + "title": "Ruudukon muoto", + "tallTitle": "Tall solut", + "tallHint": "Paras e-kirjoille tai sekakirjastoille", + "squareTitle": "Neliön solut", + "squareHint": "Paras äänikirjojen kirjastoille", + "hint": "Jokainen kirja näyttää kanteen sen ensisijaisen muodon, neliön äänikirja. Kansi, joka ei vastaa laatta seuraa kansinäytön asetusta." } }, "folders": { @@ -5121,6 +10351,7 @@ "manualEntry": "Syötä polku manuaalisesti", "absolutePath": "Absoluuttinen palvelimen polku", "addFolder": "Lisää kansio", + "removeFolder": "Poista {folder}", "manualCheckHint": "Manuaaliset polut on tarkistettu yhdessä muiden valittujen kansioiden kanssa.", "pathPlaceholder": "/polku/to/kirjat", "test": "Testi", @@ -5132,7 +10363,42 @@ "noneAdded": "Ei vielä lisättyjä kansioita", "runPrescanHint": "Suorita painike vahvistaaksesi polut ennen tallentamista.", "scanning": "Skannataan…", - "prescan": "Esikatselu" + "prescan": "Esikatselu", + "local": { + "title": "Olemassa olevat podcast-kansiot", + "optional": "Valinnainen", + "description": "Kansioita pidät jo podcasteja sisään. BookOrbit lukee ne missä ne ovat, eikä koskaan nimetä uudelleen, liiku tai poistaa mitään sisällä.", + "addTitle": "Lisää olemassa oleva podcast-kansio", + "addDescription": "Jokaisesta kansiosta tulee suoraan ohjelma.", + "add": "Lisää toinen kansio", + "remove": "Poista {folder}" + }, + "listTitle": "Kansiot", + "storageTitle": "Tallennustilan kansio", + "matchingFiles": "{count, plural, one {# vastaavaa tiedostoa} other {# vastaavaa tiedostoa}}", + "bookCount": "{count, plural, one {# kirja} other {# kirjaa}}", + "checkAll": "Tarkista kansiot uudelleen", + "checkAgain": "Tarkista {folder} uudelleen", + "checkHint": "Jokainen kansio tarkistetaan heti, kun lisäät sen. Kansio, jonka toinen kirjasto jo lukee, on virheellinen, koska molemmat kirjastot tuovat samat tiedostot.", + "emptyHint": "Liitä palvelinpolku alapuolelle tai selaa sitä.", + "emptyPodcastHint": "Valitse missä ladattavat podcast-jaksot tallennetaan.", + "pastePlaceholder": "Liitä palvelinpolku, esim. /books/Sci-Fi", + "pastePodcastPlaceholder": "Liitä palvelinpolku, esim. /podcasts", + "browse": "Selaa...", + "status": { + "checking": "Tarkistetaan", + "failed": "Tarkistus epäonnistui", + "notAccessible": "Ei käytettävissä", + "overlap": "Myös {library}", + "overlapTitle": "Kirjasto \"{library}\" lukee jo tämän kansion.", + "files": "{count, plural, one {# tiedosto} other {# tiedostoa}}" + }, + "errors": { + "empty": "Syötä palvelimen kansion polku.", + "notAbsolute": "Syötä absoluuttinen palvelinpolku, joka alkaa /.", + "duplicate": "Kansio on jo lisätty.", + "covered": "Kansio on jo katettu {path}." + } }, "scanner": { "scanMode": { @@ -5149,6 +10415,49 @@ "hint": "Hoidot jokaisen tiedoston kuin yksittäinen kirja. Paras sopii kirjastoille yhdellä formaatilla per otsikko. Vältä jos äänikirjat span useita tiedostoja." } }, + "addedAt": { + "title": "Päivämäärä lisätty", + "hint": "Valitse mitä kirjan \"päivämäärä lisätty\" -heijastuksia. Tämä koskee tästä lähtien tuotuja kirjoja.", + "options": { + "imported": { + "title": "Kun tuotu", + "hint": "Päivämäärä BookOrbit toi kirjan ensimmäisen kerran. Tämä on oletusarvo." + }, + "file_modified": { + "title": "Tiedoston muokkausaika", + "hint": "Tiedoston viimeisin muokkausaika (mtime), joka usein säilytetään, kun tiedostoja kopioidaan." + }, + "file_created": { + "title": "Tiedoston luonti aika", + "hint": "Kun tiedosto purettiin ensin levylle (syntymäaika). Soittaa takaisin muokattuun aikaan tiedostojärjestelmissä, jotka eivät tallenna luomisaikaa." + } + }, + "recompute": "Suosittele nyt", + "recomputing": "Suositetaan...", + "recomputeHint": "Päivitä päivämäärä, joka on lisätty olemassa oleviin kirjoihin tällä asetuksella.", + "recomputeSaveFirst": "Tallenna muutoksesi ensin, ja laske olemassa olevat kirjat uudelleen.", + "backgroundConfirm": "Suosittele olemassa olevien kirjojen päivämääriä? Tämä toimii taustalla, ja voit sulkea tämän editorin. Kirjat tallentavat nykyisen päivämäärän.", + "progressSummary": "Käsitelty {processed} jostakin {total}: {updated} päivitetty, {unchanged} muuttumaton, {skipped} ohitettu {failed} epäonnistui.", + "failedBooksHint": "Epäonnistuneet kirjat säilyttivät päivämääränsä. Tarkista tiedoston käyttöoikeus ja käynnistä uudelleen yrittääksesi uudelleen.", + "jobStatus": { + "running": "Taustalla olevien päivämäärien määrittäminen.", + "completed": "Päivämäärä on valmis.", + "failed": "Suositus keskeytettiin ennen valmistumista. Valmiit muutokset säilytettiin; voit turvallisesti ajaa sen uudelleen." + }, + "errors": { + "sourceImported": "Tallenna tiedoston aikaleima lähde ennen uudelleenlaskentaa päivämääriä.", + "alreadyRunning": "Uudelleenlaskenta on jo käynnissä tälle kirjastolle.", + "busy": "Muut recomputes ovat käynnissä. Yritä hetken kuluttua uudelleen.", + "requestFailed": "Ei saatu yhteyttä uudelleenlaskentapalveluun. Sulje ja avaa tämä editori tarkistaaksesi sen tilan.", + "interrupted": "Työn tila ei ole enää käytettävissä. Palvelin on saattanut keskeyttää sen uudelleenkäynnistyksen. Voit turvallisesti suorittaa uudelleenlaskennan uudelleen." + }, + "failureSample": "Kirja {bookId}: {reason}", + "failureReasons": { + "file_unavailable": "Sisältötiedostoa ei voitu lukea.", + "unsafe_path": "Sisältötiedosto on sen sallitun kirjastokansion ulkopuolella.", + "database_error": "Tietokannan päivitys epäonnistui." + } + }, "allowedFormats": { "title": "Sallitut muodot", "allowAll": "Salli kaikki", @@ -5162,6 +10471,36 @@ "hintAfter": ").", "add": "Lisää", "empty": "Kaavioita ei lisätty." + }, + "mode": { + "title": "Miten tiedostoista tulee kirjoja", + "locked": "Aseta luonnissa", + "cannotChange": "Tämä on yksi asetus, jota et voi myöhemmin muuttaa.", + "folderHint": "Jokainen kansio on yksi kirja. Parasta, kun otsikko pitää useita formaatteja yhdessä, tai äänikirja kattaa monia tiedostoja.", + "fileHint": "Jokainen tiedosto on oma kirja. Paras litteille kansioille, joissa on yksi formaatti per otsikko.", + "folderResult": "Yksi kirja kahdella muodolla", + "fileResult": "Kolme kirjaa, yksi per tiedosto" + }, + "import": { + "title": "Tuo", + "all": "Kaikki muodot", + "some": "Vain nämä", + "groups": { + "ebook": "Ebooks", + "kindle": "Kindle", + "document": "Asiakirjat", + "comic": "Sarjakuvat", + "audio": "Ääni" + } + }, + "skip": { + "title": "Ohita vastaavat tiedostot", + "count": "{count, plural, one {# kuvio} other {# mallia}}", + "hint": "Glob kuvioita, jotka vastasivat polkuja sisällä kirjastokansioissa.", + "inputLabel": "Ohitettava kuvio", + "placeholder": "Kirjoita malli, kuten **/samples/** ja paina Enter", + "placeholderMore": "Lisää toinen kuvio", + "remove": "Poista kuvio {pattern}" } }, "metadata": { @@ -5172,6 +10511,91 @@ "formatPriority": { "title": "Muoto prioriteetti", "hint": "Kun kirjassa on useita formaatteja, listan korkein muoto on parempi." + }, + "moveUp": "Siirrä {item} ylös", + "moveDown": "Siirrä {item} alas", + "primary": { + "title": "Ensisijainen tiedosto", + "hint": "Kun kirjassa on useita tiedostoja, ensimmäinen muoto tässä järjestyksessä tulee sen ensisijainen tiedosto: yksi, joka avaa ensin ja toimittaa kirjan tiedot. Vedä rivi tai käytä nuolia.", + "reset": "Nollaa tilaus", + "first": "Ensimmäinen valinta", + "notImported": "Ei tuotu", + "notHeld": "{count, plural, one {# formaatti ei pidä tätä kirjastoa oletuspaikkansa näiden jälkeen.} other {# formaattia tälle kirjastolle ei pidä niiden oletustilausta näiden jälkeen.}}", + "moreBelow": "{count, plural, one {# lisää formaattia seuraa tässä järjestyksessä.} other {# lisää formaatteja seuraa tässä järjestyksessä.}}", + "showingAll": "Näytetään jokainen muoto.", + "showAll": "Näytä kaikki {count}", + "showFewer": "Näytä vähemmän" + }, + "source": { + "title": "Kirjan tiedot tulevat", + "embeddedTitle": "Tunnisteet kirjan tiedostossa", + "embeddedHint": "Lue ensisijaisesta tiedostosta", + "opfTitle": "metadata.opf-tiedosto", + "opfHint": "Tallennettu kirjan vieressä Calibre", + "swap": "Vaihda tilaus", + "hint": "KirjanOrbit käyttää ensimmäistä, jossa kirja on, ja ohittaa muiden. Kaliiperi kirjastot haluavat yleensä metadata.opf ensin." + }, + "regex": { + "title": "Määritä regex metatiedot", + "sourceTitle": "Regex", + "description": "Pura metatiedot ensisijaisesta tiedostopolusta suhteessa sen kirjastokansioon. Tiedostopääte poistetaan ennen vastaamista. Ensimmäinen sääntö, jossa on käytettävissä olevat kentät, voittaa.", + "enable": "Ota regex metatiedot käyttöön", + "primaryFileHint": "Jos kirja on tehty useista tiedostoista, kuten äänikirjoja, säännöt lukea ensisijaisen tiedoston polku.", + "groups": "Nimetyt ryhmät:", + "valuesHint": "Käytä tekijää yhdelle tekijälle tai tekijöille erotettu puolipisteen. Päivämäärät käyttävät YYYY-MM-DD. Liput: I ignores case u enables Unicode.", + "rules": "Tilatut poimintasäännöt", + "rule": "Sääntö {number}", + "moveUp": "Siirrä sääntö ylös", + "moveDown": "Siirrä sääntö alas", + "remove": "Poista sääntö", + "basePath": "Kirjaston kansio", + "extensionHint": "Tiedostotunniste ohitetaan automaattisesti. Pääteankkuri vastaa tiedostonimeä ilman sen laajennusta.", + "flags": "Liput", + "add": "Lisää sääntö", + "examplePath": "Esimerkki suhteellinen tiedostopolku, mukaan lukien pääte", + "examplePlaceholder": "Tekijä/Series/08 - My.Book.epub", + "exampleTitle": "Esimerkki kirjoittajan taustaviittauksella", + "exampleTestPath": "Testipolku (mukaan lukien laajennus)", + "validating": "Tarkistetaan sääntöjä…", + "validationSuccess": "Säännön syntaksi ja ryhmät ovat kelvollisia. Käytä esikatselua tarkistaaksesi tiedostopolun osumat.", + "validationError": "Sääntöjä ei voitu vahvistaa. Yritä uudelleen ennen niiden soveltamista.", + "validationRetry": "Tarkista uudelleen", + "validationRuleCount": "Lisää väliin {min} ja {max} säännöt.", + "preview": "Esikatselu", + "previewing": "Testaussäännöt…", + "previewError": "Sääntöjä ei voitu esiarvioida. Tarkista suhteellinen polku ja konfiguraatio ja yritä sitten uudelleen.", + "actualInput": "Testattu polku:", + "matched": "Täsmätty sääntö {number}", + "noMatch": "Ei käytettävissä olevaa hakua. Tiedostometatietoja käytetään.", + "scanHint": "Muutokset koskevat tulevia metatietojen louhintaa uusille tai muuttuneille tiedostoille. Tallentaminen ei käynnistä skannaa tai päivitä muuttumattomia kirjoja.", + "apply": "Käytä kirjaston lomakkeeseen", + "configure": "Määritä", + "enabledHint": "Pura kentät suhteellisista poluista ilman tiedostopäätteitä.", + "disabledHint": "Poistettu käytöstä. Määritä säännöt ottaaksesi käyttöön.", + "moveSourceUp": "Siirrä {source} ylös", + "moveSourceDown": "Siirrä {source} alas", + "diagnostics": { + "pattern_required": "Anna säännöllinen lauseke.", + "pattern_too_long": "Ilmaus ei saa ylittää {count} merkkiä.", + "invalid_flags": "Vain i ja u ovat sallittuja, jokainen kerralla.", + "invalid_pattern": "Virheellinen säännöllinen lauseke.", + "missing_group": "Sisällytä vähintään yksi tuettu nimetty ryhmä.", + "conflicting_authors": "Käytä joko kirjoittajaa tai kirjoittajaa, ei molempia.", + "invalid_value": "Virheellinen kentän arvo ohitettiin.", + "timeout": "Ilmaisu kesti liian kauan. Yksinkertaista kuvio.", + "busy": "Kaikilla esikatselu työntekijöillä on kiire. Yritä hetken kuluttua uudelleen.", + "worker_failed": "Ilmausta ei voitu arvioida. Yritä uudelleen." + }, + "precedenceHint": "Ensimmäinen saatavilla oleva tiedostolähde toimittaa metadatan. Regex kentät noudattavat tätä järjestystä ja puuttuvat arvot täytetään toisesta lähteestä.", + "summary": "{format} ensimmäinen, regex metadata ensisijainen", + "fields": { + "title": "Otsikko", + "authors": "Tekijät", + "series": "Sarja", + "seriesIndex": "Sarjan numero", + "publishedYear": "Julkaistu vuosi", + "publishedDate": "Julkaistu päivämäärä" + } } }, "fileWrite": { @@ -5187,13 +10611,23 @@ }, "cover": { "title": "Sisällytä kansikuva", - "hint": "Kirjoittaa tallennetun kannen takaisin tuettuihin tiedostomuotoihin." + "hint": "Kirjoittaa tallennetun kannen takaisin tuettuihin tiedostomuotoihin.", + "mediumHint": "Kirjoittaa tallennetun kannen myös tiedostoon. Ebook-tiedostot saavat kirjan kannen ja äänitiedostot saavat Audiobook kannen; tiedosto, jonka kansi puuttuu, pitää omansa." + }, + "allFiles": { + "title": "Kirjoita jokaiseen kirjan tiedostoon", + "hint": "Kirjoitetaan myös kirjan muihin kirjatiedostoihin, kuten äänikirja pidetään sen eBook tai PDF samassa kansiossa. Jokainen kirjan muoto on kirjoitettu, joten anna kumppani tiedosto, kuten työkirja oman kansion pitää se. Alusta vaihdetaan ja kokorajoitukset ovat edelleen voimassa. Tämän kääntäminen pysäyttää tulevat kirjoitukset; se ei peruuta jo kirjoitettuja tiedostoja." }, "epub": { "title": "EPUB", "hint": "Kirjoittaa metadatan OPF-tiedostoon EPUB arkiston sisällä.", "toggleAria": "Kirjoita EPUB metatiedot" }, + "readAlong": { + "title": "Read-along EPUB", + "hint": "EPUB:t, joissa on synkronoitu kertomus, kuten Storyteller luku-alongit. Ne kantavat äänensä, joten ne ovat suuria ja tarvitsevat enemmän muistia uudelleenkirjoittamiseen.", + "toggleAria": "Kirjoita luku-pitkin EPUB metatiedot" + }, "fb2": { "title": "Fiktiokirja (FB2)", "hint": "Kirjoita kuvauslohko uudelleen FB2-tiedostoihin jättäen kirjan tekstin koskematta.", @@ -5217,8 +10651,20 @@ "audio": { "title": "Ääni", "hint": "Upottaa tallennetun kannen M4B, M4A, MP3 ja FLAC-tiedostoihin.", - "toggleAria": "Kirjoita äänen kannet" - } + "toggleAria": "Kirjoita äänen kannet", + "tagsHint": "Kirjoittaa tunnisteita, kuten otsikko, kirjoittajat, kertojat, ja sarja osaksi M4B, M4A, MP3 ja FLAC tiedostoja.", + "tagsToggleAria": "Kirjoita äänen metatiedot" + }, + "coverAudioHint": "Kirjoittaa tallennetun kannen myös tiedostoon. Äänitiedostot voivat vain ottaa kannen.", + "audioNeedsCover": "Tarvitsee “Sisällytä kansikuva” päälle.", + "table": { + "format": "Muoto", + "inLibrary": "Tässä", + "sizeLimit": "Kokorajoitus" + }, + "sizeLimitAria": "{format} kokoraja Mt", + "mb": "Mt", + "summary": "{count, plural, =0 {Tiedostotyyppejä ei kirjoiteta.} one {# sellaista tiedostoa kirjoitetaan. Tiedostot niiden kokorajan yli ohitetaan.} other {# erilaista tiedostoa kirjoitetaan. Tiedostot niiden kokorajan yli ohitetaan.}}" }, "reading": { "readingStart": { @@ -5227,12 +10673,23 @@ }, "markAsFinished": { "title": "Merkitse valmiiksi", - "hint": "Kirja merkitään automaattisesti \"luetuksi\", kun tämä prosenttiosuus edistymisestä on saavutettu." - } + "hint": "Kirja merkitään automaattisesti \"luetuksi\", kun tämä prosenttiosuus edistymisestä on saavutettu.", + "invalidThreshold": "Edistyksen on oltava 90–100 prosenttia." + }, + "statusTitle": "Lukemisen tila", + "zones": { + "notStarted": "Ei aloitettu", + "reading": "Luetaan", + "read": "Lue" + }, + "range": "{min} ja {max} välillä.", + "startSlider": "Määritä vetämällä kun kirja lasketaan aloitukseksi", + "finishSlider": "Määritä vetämällä kun kirja laskee valmiiksi" }, "schedule": { "fileWatching": "Tiedoston katselu", "autoScanSchedule": "Automaattinen skannaus ajastus", + "timezoneHint": "Aikataulut toimivat palvelimen aikavyöhykkeellä.", "cronExpression": "Cron lauseke", "cronInvalid": "Virheellinen cron-lauseke.", "cronFormat": "Muoto: minuutti tunti päivä kuukausi arkipäivä", @@ -5251,6 +10708,7 @@ }, "human": { "disabled": "Automaattinen skannaus pois käytöstä", + "invalid": "Anna kelvollinen aikataulu nähdäksesi esikatselun", "hourly": "Joka tunti", "every6Hours": "Joka 6. tunti", "every12Hours": "Joka 12. tunti", @@ -5281,9 +10739,104 @@ "errors": { "grant": "Käyttöoikeuden myöntäminen epäonnistui", "updateLevel": "Käyttöoikeuksien tason päivitys epäonnistui", - "revoke": "Käyttöoikeuksien peruuttaminen epäonnistui" + "revoke": "Käyttöoikeuksien peruuttaminen epäonnistui", + "load": "Kirjaston käyttöasetuksia ei voitu ladata." + }, + "peopleTitle": "Henkilöt, joilla on pääsy", + "peopleCount": "{count, plural, one {# henkilö} other {# henkilöä}}", + "add": "Lisää", + "emptyCreate": "Kukaan muu ei ole vielä. Ihmiset, jotka lisäät tähän, saavat pääsyn heti kun kirjasto on olemassa.", + "superusers": "Pääkäyttäjän oikeudet ovat aina täydellinen.", + "levelsHint": "Katsojat voivat selata ja lukea. Editorit ja omistajat voivat myös muokata metadataa kun heidän tilillään on Muokkaa-metadatan käyttöoikeus.", + "levelFor": "Pääsytaso {name}", + "revokeFor": "Poista pääsy {name}", + "revokeQuestion": "Poistetaanko käyttöoikeus?", + "revoke": "Poista", + "keep": "Säilytä", + "failed": { + "title": "{count, plural, one {# henkilöä ei voitu lisätä} other {# henkilöä ei voitu lisätä}}", + "body": "Kirjasto luotiin. Yritä lisätä {names} uudelleen tai lisää ne myöhemmin tästä osiosta." } - } + }, + "optional": "Valinnainen", + "nav": { + "details": "Kirjasto", + "folders": "Kansiot", + "scanner": "Skannataan", + "metadata": "Metatiedot", + "reading": "Luetaan", + "schedule": "Automaatio", + "fileWrite": "Tiedoston päivitykset", + "access": "Pääsy", + "descriptions": { + "details": "Mitä kirjastoa kutsutaan ja miltä sen kannet näyttävät.", + "folders": "Palvelinkansiot joista tämä kirjasto lukee.", + "scanner": "Miten tiedostot on ryhmitelty kirjoihin ja mitkä tiedostot ohitetaan.", + "metadata": "Mikä tiedosto johtaa, kun kirja on useita, ja mistä sen tiedot tulevat.", + "reading": "Kun kirja siirtyy lukemattomista lukemiseen lukemiseen.", + "schedule": "Pidä kirjaston virta painettuna Scania painettuna.", + "fileWrite": "Valinnaiset muutokset BookOrbit voi tehdä levylle tiedostoja.", + "access": "Kuka muu voi nähdä ja työskennellä tämän kirjaston kanssa." + } + }, + "sheet": { + "createTitle": "Uusi kirjasto", + "createHint": "Nimeä se ja osoita se kansioon. Kaikki muu alkaa järkevällä oletusarvolla.", + "editFallbackTitle": "Kirjaston asetukset", + "editSubtitle": "{books,plural,one{# kirja} other{# kirjat}} · {folders,plural,one{# kansio} other{# kansiot}} · {mode}", + "editSubtitleNoBooks": "{folders,plural,one{# kansio} other{# kansiot}} · {mode}", + "readyHint": "Valmis perustamaan. Lepo voi odottaa.", + "needsHint": "Tarvitsee nimen, kuvakkeen ja kansion.", + "discardQuestion": "Hylätäänkö tallentamattomat muutokset?", + "discard": "Hylkää", + "keepEditing": "Jatka muokkaamista", + "done": "Valmis", + "loading": "Ladataan asetuksia...", + "staleWarning": "Viimeisimpiä kirjaston asetuksia ei voitu ladata. Voit silti muokata välimuistissa olevia asetuksia.", + "scanNow": "Skannaa nyt" + }, + "summary": { + "needsName": "Tarvitsee nimen", + "needsIcon": "Tarvitsee kuvakkeen", + "needsFolder": "Tarvitsee kansion", + "detailsPortrait": "{name} · Muotokuva kannet", + "detailsSquare": "{name} · Neliön kannet", + "folders": "{folders, plural, one {# kansio} other {# kansioita}}", + "foldersFiles": "{folders, plural, one {# kansio} other {# kansioita}} · {files, plural, one {# tiedosto} other {# tiedostoa}}", + "foldersBooks": "{folders, plural, one {# kansio} other {# kansioita}} · {books, plural, one {# kirja} other {# kirjoja}}", + "scannerAll": "{mode} · Kaikki muodot", + "scannerSome": "{mode} · {count,plural,one{# muoto} other{# formaatit}}", + "metadataFile": "{format} johtaa · Kirja ensin", + "metadataOpf": "{format} johtaa · metadata.opf ensin", + "reading": "Aloitettu {start} · Valmis {finish}", + "watching": "Kansioita katsomassa", + "notWatching": "Ei katsota", + "watchingScheduled": "Katsotaan · {schedule}", + "watchingOnly": "Katselu · Ei aikataulua", + "scheduledOnly": "Ei katsele · {schedule}", + "manualOnly": "Vain käsin skannaukset", + "customSchedule": "Mukautettu aikataulu", + "writesAndRenames": "{count, plural, =0 {Kirjoittaa ei mitään} one {Kirjoittaja # ystävällinen} other {Kirjoittaa # tyyppiä}} · Uudelleennimeä", + "writes": "{count, plural, =0 {Kirjoittaa mitään} one {Kirjoittaa # sellaista tiedostoa} other {Kirjoittaa # erilaista tiedostoa}}", + "renames": "Nimeä tiedostot uudelleen", + "untouched": "Puuttumattomat tiedostot", + "onlySuperusers": "Vain pääkäyttäjän oikeudet", + "accessQueued": "{count, plural, one {# henkilö lisättävänä} other {# henkilöä lisättävänä}}", + "accessPeople": "{count, plural, =0 {Vain pääkäyttäjän} one {# henkilö} other {# henkilöä}}" + }, + "errors": { + "nameRequired": "Kirjoita kirjaston nimi.", + "iconRequired": "Valitse kuvake.", + "folderRequired": "Lisää vähintään yksi kansio.", + "podcastStorageFolder": "Valitse podcasteja varten täsmälleen yksi tallennuskansio.", + "podcastFolderOverlap": "Olemassa olevien podcast-kansioiden on istuttava tallennustilan ulkopuolella.", + "cronInvalid": "Syötä kelvollinen viiden kentän cron-lauseke.", + "readingStartRange": "Lukemisen aloittamisen tulee olla 0,05–5 %.", + "fileSizeRange": "Tiedoston kokorajoitusten on oltava kokonaislukuja 1 - 10 000 Mt.", + "saveFailed": "Kirjaston tallennus epäonnistui.", + "connection": "Palvelimeen ei saatu yhteyttä. Tarkista yhteytesi ja yritä uudelleen." + }, + "copyName": "{name} kopiota" }, "folderPicker": { "title": "Selaa palvelimen kansioita", @@ -5313,6 +10866,13 @@ "createFolder": "Kansiota ei voitu luoda" } }, + "destination": { + "loadFailed": "Ei voitu ladata kohdekirjastoja. Sulje ja avaa uudelleen yrittääksesi uudelleen.", + "noLibraries": "Kirjakirjastoja ei ole käytettävissä. Luo kirjasto tai pyydä järjestelmänvalvojalta.", + "noFolders": "Tällä kirjastolla ei ole kohdekansioita. Lisää kansio kirjastoon.", + "unavailable": "Valittu kirjasto ei ole enää saatavilla.", + "selectFolder": "Valitse kansio..." + }, "upload": { "library": "Kirjasto", "selectLibrary": "Valitse kirjasto...", @@ -5326,6 +10886,8 @@ "viewInLibrary": "Näytä kirjastossa", "fileCount": "{count, plural, =0 {ei tiedostoja} one {# tiedosto} other {# tiedostoa}}", "booksAdded": "{count, plural, =0 {kirjoja ei lisätty} one {# kirja lisätty} other {# kirjaa lisätty}}", + "uploadedFailed": "{done} ladattu, {failed} epäonnistui", + "progress": "{done} jostakin {total} ladataan...", "header": { "uploading": "Lähetetään...", "complete": "Lataus valmis", @@ -5333,15 +10895,96 @@ "uploadBooks": "Lataa Kirjat" }, "dropzone": { - "title": "Pudota tiedostot tähän tai klikkaa selataksesi" + "title": "Pudota tiedostot tähän tai klikkaa selataksesi", + "hint": "{formats} - jopa {size} Mt kukin" } } }, + "metadataReminders": { + "title": "Puuttuvat kentän muistutukset", + "navDescription": "Valitse mitkä metatietokentät haluat nähdä", + "personal": "Sinun asetuksesi", + "description": "Valitse mitkä puuttuvat kentät näkyvät kirjan muistutuksissa. Nämä asetukset koskevat kirjastoasi eivätkä muuta metadatan pisteitä.", + "sheetDescription": "Valitse kentät, joista välität poistumatta tästä kirjasta.", + "fieldsHeading": "Tarkistavat kentät", + "autoSave": "Muutokset tallennetaan automaattisesti tilillesi.", + "saving": "Tallennetaan asetuksia...", + "saved": "Asetukset tallennettu.", + "reset": "Palauta oletukset", + "disabled": "Ei valittuja kenttiä. Puuttuvat kentän muistutukset ovat piilossa.", + "saveFailed": "Asetuksiasi ei voitu tallentaa. Edelliset asetuksesi on palautettu.", + "customize": "Mukauta muistutuksia...", + "missingHeading": "Puuttuvat metatiedot", + "missingDescription": "Puuttuvat kentät, jotka olet valinnut jäljittämään.", + "missingCount": "{count, plural, one {# puuttuva kenttä} other {# puuttuvaa kenttää}}", + "missingFields": "{count, plural, one {puuttuva kenttä} other {puuttuvat kentät}}", + "fields": { + "publisher": { + "label": "Julkaisija", + "hint": "Kustantaja on täytetty." + }, + "language": { + "label": "Kieli", + "hint": "Kieli on täytetty." + }, + "publication": { + "label": "Julkaisuvuosi", + "hint": "Julkaisuvuosi tai koko päivämäärä on riittävä." + }, + "pageCount": { + "label": "Sivun määrä", + "hint": "Sivumäärä on täynnä. Vain audiovisuaaliset kirjat ohitetaan." + }, + "isbn": { + "label": "ISBN", + "hint": "Joko ISBN-10 tai ISBN-13 riittää." + }, + "genres": { + "label": "Genres", + "hint": "Ainakin yksi genre on täytetty." + }, + "tags": { + "label": "Tunnisteet", + "hint": "Ainakin yksi tagi on täytetty." + }, + "description": { + "label": "Kuvaus", + "hint": "Kuvaus on täytetty." + } + } + }, + "metadataCache": { + "badge": { + "cached": "Välimuistissa", + "stale": "Vanhentunut", + "cachedHint": "Tallennettu tulos käyttäjältä {when}", + "cachedHintUndated": "Tallennettu tulos", + "staleHint": "Palveluntarjoaja ei ollut käytettävissä, joten tallennettu tulos kohteelta {when} käytettiin", + "staleHintUndated": "Palveluntarjoaja ei ollut käytettävissä, joten tallennettu tulos oli käytössä" + }, + "notice": { + "someCached": "Joitakin tuloksia tuli tallennetuista hauista (vanha: {when}).", + "someCachedUndated": "Joitakin tuloksia tuli tallennettujen hakujen.", + "someStale": "Jotkut palveluntarjoajat eivät olleet käytettävissä, joten tallennetut tulokset näytettiin (vanha: {when}).", + "someStaleUndated": "Jotkut palveluntarjoajat eivät olleet käytettävissä, joten tallennettuja tuloksia näytettiin.", + "searchFresh": "Hae tuoreesta", + "searchFreshHint": "Kysy kaikilta palveluntarjoajilta uudelleen eikä käytä tallennettuja vastauksia" + }, + "fallback": { + "usedSaved": "{count, plural, one {{providers} ei ollut saatavilla, joten tallennettuja tuloksia käytettiin.} other {{providers} ei ollut saatavilla, joten tallennettuja tuloksia käytettiin.}}" + }, + "ignoreCache": { + "label": "Ohita välimuistissa olevat tulokset", + "hint": "Kysy kaikilta palveluntarjoajilta uudelleen sen sijaan, että käyttäisivät tallennettuja vastauksia. Hidastuttaa ja käyttää enemmän jokaisen palveluntarjoajan pyyntökorvausta.", + "runHint": "Koskee ajaa aloitat täällä. Jokainen tarjoaja kysytään uudelleen sen sijaan, että käytetään tallennettuja vastauksia, mikä on hitaampaa." + } + }, "metadataScore": { "missingFields": "{count, plural, =0 {ei puuttuvia kenttiä - muokkaa metadataa} one {# kenttä puuttuu - muokkaa metadataa} other {# kenttää puuttuu - muokkaa metadataa}}" }, "migration": { "sidebarTitle": "Bookloren Tuonti", + "importTitle": "Kirjaston Tuonti", "status": { "done": "Valmis", "saved": "Tallennettu", @@ -5357,7 +11000,8 @@ "source": { "short": "Lähteen Yhteys", "title": "Lähteen Yhteys", - "subtitle": "Määritä tietokannan yhteys lähdekoodiisi Booklore instanssiin." + "subtitle": "Määritä tietokannan yhteys lähdekoodiisi Booklore instanssiin.", + "genericSubtitle": "Määritä yhteys lähdekirjastosovellukseen." }, "mappings": { "short": "Käyttäjän & Polun Yhdistäminen", @@ -5386,6 +11030,7 @@ "continueToMigration": "Jatka siirtolaisuuteen", "viewReport": "Näytä Raportti", "resetSetup": "Reset Setup", + "stepOf": "Vaihe {current} jostakin {total}", "backToSetup": "Takaisin asetuksiin" }, "stages": { @@ -5398,22 +11043,66 @@ "testConnection": "Testaa Yhteys", "saveAndValidate": "Tallenna & Vahvista", "validatedWithWarnings": "Lähde vahvistettu varoituksin", + "types": { + "booklore": "Kirjanperinne", + "grimmory": "Grimmory", + "audiobookshelf": "Audiobookshelf", + "calibreWebAutomated": "Calibre-Web Automatisoitu" + }, "fields": { "type": "Lähteen Tyyppi", "name": "Lähteen Nimi", + "namePlaceholder": "Kirjaston tuonti", "host": "Isäntä", "port": "Portti", "user": "Käyttäjä", "password": "Salasana", "passwordSaved": "Tallennettu - jätä ennalleen", "passwordNotSet": "Salasanaa ei ole asetettu", + "showSecret": "Näytä salaisuus", + "hideSecret": "Piilota salaisuus", "database": "Tietokanta", "mediaRootPath": "Median Juuripolku", - "ssl": "Käytä TLS/SSL" + "ssl": "Käytä TLS/SSL", + "connectionMode": "Yhteyden tila", + "apiMode": "Live API", + "backupMode": "Varmuuskopioi tiedosto", + "baseUrl": "Audiobookshelf URL", + "apiToken": "API token", + "apiTokenPlaceholder": "Syötä järjestelmänvalvojan API-tunnus", + "secretSaved": "Tallennettu - jätä ennalleen", + "allowPrivateNetwork": "Salli yksityinen verkkoyhteys", + "allowPrivateNetworkHint": "Ota tämä käyttöön vain silloin, kun Audiobookshelf isännöi luotetussa paikallisessa tai yksityisessä verkossa.", + "backupPath": "Varmuuskopioi tiedostopolku", + "backupPathHint": "Syötä absoluuttinen palvelinpolku määritetyn siirtymisen tuontihakemiston sisään.", + "cwaAppDatabasePath": "Calibre-Web automatisoitu app.db tilannekuva", + "cwaAppDatabasePathPlaceholder": "/imports/calibre-web-automated/app.db", + "cwaMetadataDatabasePath": "Calibre metadata.db tilannevedos", + "cwaMetadataDatabasePathPlaceholder": "/imports/calibre-web-automated/metadata.db" + }, + "validation": { + "nameRequired": "Lähteen nimi vaaditaan", + "databaseFieldsRequired": "Isäntän, käyttäjän, tietokannan ja lähdekoodin nimi vaaditaan", + "apiFieldsRequired": "Audiobookshelf URL, API token, ja lähde nimi vaaditaan", + "baseUrlInvalid": "Audiobookshelfin URL-osoitteen on oltava puhdas HTTP tai HTTPS alkuperä ilman polkua", + "backupPathRequired": "Varmuuskopioi tiedostopolku ja lähdekoodi vaaditaan", + "backupPathAbsolute": "Varmuuskopiotiedoston polun on oltava absoluuttinen polku", + "cwaAppDatabasePathRequired": "Calibre-Web automatisoitu app.db tilannekuva polku vaaditaan", + "cwaAppDatabasePathAbsolute": "Calibre-Web Automated app.db snapshot polun on oltava absoluuttinen", + "cwaMetadataDatabasePathRequired": "Calibre metadata.db snapshot polku vaaditaan", + "cwaMetadataDatabasePathAbsolute": "Calibre metadata.db snapshot-polun on oltava absoluuttinen" + }, + "cwa": { + "snapshotTitle": "Tilannevedos pysäytetty", + "stoppedWarning": "Lopeta Calibre-Web automatisoitu ennen molempien tietokantojen kopiointia. KirjanOrbit ei voi varmistaa, että kaksi tilannekuvaa kopioitiin täsmälleen samassa hetkessä.", + "importRootGuidance": "Molempien pikakuvatiedostojen on oltava luettavissa palvelimen polkuja määritetyn MIGRATION_IMPORT_ROOT hakemiston alapuolella.", + "logicalRootGuidance": "Kirjan polun kartoitus käyttää loogista Calibre-kirjaston juuria, joka on tallennettu app.db:ään, ei isäntähakemistoa, joka sisältää nämä tietokantakuvat.", + "compatibilityNote": "Teema käyttäytyminen on todennettu Calibre-Web Automated v4.0.6. Sen tietokannat eivät paljasta luotettavaa sovelluksen julkaisuversio." }, "mediaPath": { "hintRequired": "Vaaditaan kirjasivujen siirtämiseen.", "hintAbsolute": "Käytä absoluuttista polkua (esimerkiksi /books). Suhteellisia polkuja ei tueta.", + "hintConfigured": "Kansikuvien tuontipolku asetettu. Käytä Test Connectionia tarkistaaksesi käyttöoikeudet ja Booklore kuvien rakenteen", "buttonOk": "Polku OK", "buttonIssue": "Reitin Ongelma", "buttonTest": "Testaa Polku" @@ -5435,6 +11124,7 @@ "refresh": "Päivitä", "sourceUser": "Lähteen Käyttäjä", "targetUser": "Kohde Käyttäjä", + "doNotImport": "Älä tuo tätä käyttäjää", "noSourceUsersLoaded": "Yhtään lähdettä käyttäjää ei ole vielä ladattu.", "noActiveTargetUsers": "Aktiivisia kohderyhmiä ei löytynyt. Luo tai ota BookOrbit käyttäjä uudelleen käyttöön ennen liittämistä.", "pathPrefixMappings": "Polun Etuliite", @@ -5447,7 +11137,9 @@ "saveMappings": "Tallenna Kartoitukset", "pathValidation": { "title": "Reitin vahvistus", - "unmatched": "{count} yhdistettyä polkua ei löydy levyltä" + "mappedSummary": "{mapped} jostakin {total} lähdekirjoissa on yhdistetty polku", + "unmatched": "{count} yhdistettyä polkua ei löydy levyltä", + "allMatched": "Kaikki {count} kartoitetut polut löytyvät levyltä" } }, "dryRun": { @@ -5466,6 +11158,7 @@ "recommended": "Suositeltu", "resolveButton": "{count, plural, =0 {Ratkaise # kaksoiskappaletta} one {Ratkaise # kaksoiskappaletta} other {Ratkaise # kaksoiskappaletta}}", "sourceRecordId": "Lähdetietueen ID #{id}", + "byAuthor": "mennessä {author} (ID: {id})", "byFilePath": "{filePath} (ID: {id})", "bookloreSourceId": "Booklore source ID: {id}", "libraryBookId": "Kirjaston kirja #{id}" @@ -5537,17 +11230,22 @@ "matchedBooksExplanation": "Näitä kuivausjuoksupisteitä käytettiin päättämään mitkä kirjaston kirjat vastaanottivat tuotuja tietoja.", "sourceBook": "Lähdekirja {id}", "libraryBook": "Kirjaston kirja {id}", + "unresolvedBooks": "Ratkaisemattomat kirjat ({count})", "unresolvedBooksExplanation": "Nämä kirjat ovat olemassa lähteessä, mutta niitä ei voitu sovittaa mihinkään kirjaan kirjastostasi.", "mappedUsers": "Kartoitetut käyttäjät ({count})", - "mappedUsersExplanation": "Käyttäjän yhteenlasketut määrät tulevat kuivakäyttöisestä esikatselusta, joka välimuistissa siirtymissuunnitelmassa." + "mappedUsersExplanation": "Käyttäjän yhteenlasketut määrät tulevat kuivakäyttöisestä esikatselusta, joka välimuistissa siirtymissuunnitelmassa.", + "coverFailures": "{count} kansi tuonti epäonnistui. Yksityiskohtaisia epäonnistumisrivejä ei ole tallennettu.", + "userPreviewCounts": "{statuses} tilat, {progress} edistymisen merkinnät, {sessions} lukemistilaisuuksia {bookmarks} kirjanmerkit {annotations} huomautukset, {collections} kokoelman merkinnät" }, "unresolvedReason": { "noTitleAuthorMatch": "Vastaavaa kirjaa ei löytynyt otsikon tai tekijän mukaan", "noFilePathMatch": "Tiedostopolku ei vastannut yhtään kirjaa tässä kirjastossa", "noFileHashMatch": "Tiedostojen hash ei vastannut yhtään kirjaa tässä kirjastossa", "noIsbnMatch": "ISBN ei vastannut yhtään kirjaa tässä kirjastossa", + "noAsinMatch": "ASIN ei vastannut yhtään kirjaa tässä kirjastossa", "insufficientSourceData": "Ei tarpeeksi metadataa täsmäämistä varten", "ambiguousIsbnMatch": "Useita kirjoja vastasi sama ISBN", + "ambiguousAsinMatch": "Useita kirjoja vastasi sama ASIN", "ambiguousFileHashMatch": "Useita kirjoja vastasi samaa tiedostotiivistettä", "ambiguousFilePathMatch": "Useita kirjoja vastasi samaa tiedostopolkua", "ambiguousTitleAuthorMatch": "Useita kirjoja vastasi sama otsikko ja tekijä", @@ -5555,6 +11253,7 @@ }, "matchStrategy": { "isbn": "ISBN vastaa", + "asin": "Täsmennetty ASIN", "fileHash": "Täsmätty tiedoston tiivisteeseen", "pathMapping": "Yhdistetty yhdistettyyn tiedostopolkuun", "titleAuthor": "Täsmätty otsikon ja tekijän mukaan", @@ -5581,7 +11280,9 @@ "loadSuggestionsFailed": "Käyttäjän kartoitusehdotuksia ei voitu ladata", "sourceFieldsRequired": "Isäntän, käyttäjän, tietokannan ja lähdekoodin nimi vaaditaan", "connectionPassedWithWarnings": "Yhteyden testi läpäisi varoitukset", + "connectionPassedWithWarningCount": "Yhteyden testi suoritettu {count} varoitus tai varoitukset: {warning}", "connectionPassed": "Yhteyden testi ohitettu", + "connectionMissingTables": "Yhteys ok, mutta {count} vaadittu taulukko puuttuu", "cannotTestMediaWhileRunning": "Mediareittiä ei voi testata, kun suoritus on aktiivinen", "mediaPathRequired": "Media Root polkua tarvitaan kansi tuontiin.", "mediaPathAbsolute": "Käytä absoluuttista polkua (esimerkiksi /books).", @@ -5590,6 +11291,7 @@ "mediaPathValidationFailed": "Mediapolun vahvistus epäonnistui.", "connectionFailedBeforeMedia": "Yhteystesti epäonnistui ennen kuin mediapolun vahvistus voidaan suorittaa.", "cannotModifySourceWhileRunning": "Lähdekoodia ei voi muokata, kun suoritus on aktiivinen", + "sourceSavedWithWarnings": "Lähde tallennettu ja vahvistettu {count} varoitus", "sourceSaved": "Lähde tallennettu ja vahvistettu", "saveSourceFailed": "Lähdekoodin tallennus tai validointi epäonnistui", "cannotSaveMappingsWhileRunning": "Yhdistämisiä ei voi tallentaa kun suoritus on aktiivinen", @@ -5601,6 +11303,7 @@ "saveMappingsFailed": "Yhdistämisten tallennus epäonnistui", "cannotDryRunWhileRunning": "Ei voida suorittaa kuivaajaa kun suoritus on aktiivinen", "saveMappingsFirst": "Tallenna kartoitukset ensin", + "dryRunCompleted": "Juoksu suoritettu: {matched} sovitettu, {unresolved} ratkaisemattomat", "dryRunFailed": "Dry-run epäonnistui", "selectSourceForDuplicates": "Valitse lähdekirja kaikille {count} kaksoisryhmälle", "duplicatesResolved": "Kaksoiskappaleet ratkaistut", @@ -5623,10 +11326,14 @@ }, "notifications": { "title": "Ilmoitukset", + "description": "Tarkastele ja hallitse ilmoituksia.", "markAllRead": "Merkitse kaikki luetuiksi", "clear": "Tyhjennä", "empty": "Ei vielä ilmoituksia", "loadMore": "Lataa lisää ilmoituksia", + "dismiss": "Hylkää ilmoitus", + "occurrences": "Onnistui {count} kertaa", + "occurrencesShort": "x{count}", "preferences": { "title": "Ilmoitukset", "subtitle": "Valitse mitkä ilmoituskategoriat haluat vastaanottaa.", @@ -5644,6 +11351,21 @@ "personal": "Henkilökohtainen", "app": "Sovellusten päivitykset" }, + "enabledCount": "{enabled} jostakin {total} käytössä", + "levels": { + "off": { + "short": "Pois", + "description": "Älä koskaan ilmoita minulle tästä." + }, + "problems": { + "short": "Ongelmia", + "description": "Ilmoita minulle vain, jos jokin epäonnistuu tai tarvitsee huomiota." + }, + "all": { + "short": "Kaikki", + "description": "Ilmoita minulle joka kerta, mukaan lukien onnistumiset." + } + }, "categories": { "scanning": { "label": "Kirjaston skannaaminen", @@ -5688,25 +11410,110 @@ "achievements": { "label": "Saavutukset", "description": "Kun avaat uuden lukemisen saavutus." + }, + "bookRequests": { + "label": "Kirjan pyynnöt", + "description": "Kun kirjahakemus on jätetty, päätös tai kirja tulee saataville." } } } }, "reader": { + "pageImages": { + "loadFailed": "Asiakirjaa ei voitu avata. Tarkista käyttöoikeutesi tai yritä uudelleen.", + "pageFailed": "Sivua ei voitu ladata. Yritä uudelleen, kun palvelin on käytettävissä.", + "pageAlt": "Sivu {page}", + "previousPage": "Edellinen sivu", + "nextPage": "Seuraava sivu", + "goToPage": "Siirry sivulle", + "pin": "Kiinnitä lukija valikko", + "unpin": "Poista lukija -valikko" + }, + "djvu": { + "pageText": "Upotettu sivun teksti", + "textDescription": "Djvu-asiakirjaan tallennettu teksti. OCR voi sisältää virheitä.", + "noText": "Tällä sivulla ei ole upotettua tekstiä.", + "textFailed": "Ei voitu ladata tämän sivun upotettua tekstiä." + }, "retry": "Yritä Uudelleen", "pdf": { + "openError": "Tätä PDF:ää ei voi avata", "preparing": "Valmistellaan PDF-lukijaa", - "opening": "Avataan PDF" + "opening": "Avataan PDF", + "loading": "Ladataan PDF:ää", + "loadFallback": "Asiakirjaa ei voitu ladata.", + "requestFailed": "PDF-pyyntö epäonnistui tilalla {status}.", + "emptyDocument": "PDF-pyyntö palautti tyhjän asiakirjan.", + "managerError": "PDF-dokumenttiohjelmaa ei voitu alustaa.", + "engineNoPages": "PDF moottori avasi tämän asiakirjan ilman sivuja.", + "engineOpenError": "Dokumenttimoottori ei voinut avata PDF:ää.", + "noPages": "Tämä PDF avattu ilman sivuja", + "noPagesHint": "Lataa asiakirja uudelleen toipua keskeneräisestä PDF-moottorin vasteesta.", + "externalLinkTitle": "Avataanko ulkoinen linkki?", + "externalLinkDescription": "Tämä PDF haluaa avata {host} uudessa välilehdessä.", + "openLink": "Avaa linkki", + "annotationsLoadError": "Ei voitu ladata kohokohtia tälle PDF.", + "loadingAnnotations": "Ladataan PDF-kohokohtia", + "loadMoreAnnotations": "Lataa lisää korostuksia", + "loadingMoreAnnotations": "Ladataan lisää kohokohtia…", + "sidebar": { + "pages": "Sivut", + "contents": "Sisältö", + "search": "Etsi", + "tabsLabel": "PDF navigation", + "closeNavigation": "Sulje navigointi", + "goToPage": "Siirry sivulle {page}", + "noOutline": "Tällä PDF:llä ei ole asiakirjan ääriviivaa.", + "searchPlaceholder": "Etsi tästä PDF:stä", + "clearSearch": "Tyhjennä haku", + "matchCase": "Täsmää kirjainkoko", + "wholeWord": "Koko sana", + "resultPosition": "{current} jostakin {total}", + "previousResult": "Edellinen tulos", + "nextResult": "Seuraava tulos", + "searchingPage": "Haetaan sivua {page} jostakin {total}", + "searchPrompt": "Kirjoita termi, josta voit etsiä tätä PDF:ää.", + "searchTooShort": "Syötä ainakin {min} merkkiä etsimään tätä PDF.", + "noSearchResults": "Haettavaa tekstiä ei löytynyt kyselystäsi.", + "page": "Sivu {page}", + "filterOutline": "Suodata ääriviivat", + "noOutlineMatch": "Mikään ääriviivat eivät vastaa suodatinta.", + "loadingOutline": "Ladataan ääriviivoja", + "expandSection": "Laajenna {title}", + "collapseSection": "Kutista {title}", + "jumpToPage": "Siirry sivulle", + "resizePanel": "Muuta navigointipaneelin kokoa" + }, + "toolbar": { + "navigation": "Asiakirjojen navigointi", + "previousPage": "Edellinen sivu", + "currentPage": "Nykyinen sivu", + "nextPage": "Seuraava sivu", + "zoomOut": "Zoomaa ulos", + "zoomIn": "Zoomaa sisään", + "panTool": "Pan työkalu", + "pan": "Pan", + "selectTool": "Valitse tekstityökalu", + "selectText": "Valitse teksti", + "pinHeader": "Kiinnitä lukijan ylätunniste", + "unpinHeader": "Poista lukijan ylätunniste", + "pinHeaderShort": "Kiinnitä ylätunniste", + "unpinHeaderShort": "Irrota ylätunniste", + "moreTools": "Lisää PDF-työkaluja", + "settings": "PDF asetukset" + } }, "loadingBook": "Ladataan kirjaa…", "failedToLoadBook": "Kirjan lataaminen epäonnistui", + "bookLoadTimeout": "Kirja kesti liian kauan avataksesi. Yritä päivittää sivua.", "chapterNumber": "Luku: {number}", "peek": { "badge": "Tirkistys", "startReading": "Aloita lukeminen" }, "toast": { - "linkedHighlightError": "Linkitetyn korostuksen sijaintia ei voitu avata" + "linkedHighlightError": "Linkitetyn korostuksen sijaintia ei voitu avata", + "resumed": "Jatketaan klo {pct}% - {label}" }, "header": { "goBack": "Mene takaisin", @@ -5716,6 +11523,12 @@ "keyboardShortcutsHint": "Näppäimistön pikakuvakkeet (?)", "enterFullscreen": "Siirry koko näyttöön", "exitFullscreen": "Poistu kokoruudusta", + "narrationPlaying": "Kerroksen toisto", + "ttsPlaying": "TTS soi", + "listenWithNarrationShort": "Kuuntele (kertomus)", + "listen": "Kuuntele", + "listenWithNarration": "Kuuntele kertomalla", + "listenWithTts": "Kuuntele TTS:llä", "footerMode": { "pageProgress": "Alatunnisteen tiedot: sivu + edistyminen", "sessionTimeLeft": "Alatunnisteen tiedot: lukeminen istunto + aika jäljellä", @@ -5733,25 +11546,84 @@ "settings": { "title": "Asetukset", "ariaLabel": "Lukijan asetukset", + "close": "Sulje asetukset", + "reset": "Palauta oletukset", + "modeLabel": "Väritila", "mode": { "light": "Vaalea", "dark": "Tumma" }, + "textSize": "Tekstin koko", + "textSizeSmaller": "Pienempi teksti", + "textSizeLarger": "Suurempi teksti", + "pixels": "{value} px", + "percent": "{value}%", + "pageColor": "Sivun väri", + "font": "Font", "fontBuiltIn": "Sisäänrakennettu", + "fontServer": "Palvelimen kirjasimet", "fontYours": "Kirjasimesi", + "fontStyle": "Tyyli", + "fontStyleItalicOf": "{style} Italic", + "lineSpacing": "Rivin väli", + "paragraphSpacing": "Kappaleiden väli", + "paragraphSpacingDefault": "Oletus", + "paragraphSpacingValue": "{value} em", + "letterSpacing": "Kirjainten väli", + "wordSpacing": "Sanojen väli", + "textIndent": "Ensimmäisen rivin luetelmakohta", + "bookDefault": "Kirja", + "custom": "Mukautettu", + "emValue": "{value} em", + "pageWidth": "Sivun leveys", + "pageWidthNarrow": "Kapea", + "pageWidthMedium": "Keskitaso", + "pageWidthWide": "Laaja", + "pageWidthFull": "Täysi", "readingFlow": "Lukemisen virta", + "flow": { + "paginated": "Sivut", + "scrolled": "Vieritä" + }, "pageSpreads": "Sivun levitykset", "pageSpreadsHint": "Valitse, miten tämä kuvapohjainen EPUB paria sivut.", "spread": { "bookDefault": "Varaa oletus", "singlePage": "Yksi sivu" }, + "advanced": "Kehittynyt asettelu", + "columns": "Sarakkeet", + "columnsFewer": "Vähemmän sarakkeita", + "columnsMore": "Lisää sarakkeita", "columnGap": "Sarakkeen väli", "justifyText": "Tasaa teksti", - "hyphenation": "Hyfenaatio" + "hyphenation": "Hyfenaatio", + "themes": { + "default": "Oletus", + "gray": "Harmaa", + "sepia": "Sepia", + "crimson": "Rikos", + "meadow": "Niitty", + "rosewood": "Rosewood", + "azure": "Azure", + "dawnlight": "Dawnlight", + "ember": "Ember", + "aurora": "Aurora", + "ocean": "Meri", + "mist": "Mist", + "amoled": "AMOLED" + }, + "fonts": { + "bookDefault": "Varaa oletus", + "serif": "Serif", + "sansSerif": "Sans-serif", + "monospace": "Monospace" + } }, "search": { + "placeholder": "Etsi kirjasta (min {min} merkkiä)...", "searching": "Etsitään…", + "tooShort": "Kirjoita ainakin {min} merkkiä", "noResults": "Tuloksia ei löytynyt", "prompt": "Kirjoita haettavaksi", "resultCount": "{count, plural, =0 {ei tuloksia} one {# tulos} other {# tulokset}}" @@ -5798,7 +11670,15 @@ "translate": "Käännä", "define": "Määritä", "deleteAnnotation": "Poista huomautus", - "apply": "Käytä" + "apply": "Käytä", + "color": "Korosta väri: {color}", + "style": "Highlight style: {style}", + "styles": { + "highlight": "Korostus", + "underline": "Alleviivaa", + "strikethrough": "Yliviivaus", + "squiggly": "Korvaa hiljaisesti" + } }, "note": { "title": "Lisää merkintä", @@ -5840,7 +11720,13 @@ "scrollMode": "Vieritystila", "scrollModeHint": "Käytä \"Ei aukkoja\" webtooneille ja pystysuorille nauhoille.", "readingDirection": "Lukemisen suunta", + "autoAdvance": "Automaattinen Edistäminen", + "autoAdvanceHint": "Viimeisen sivun ohi kääntäminen avaa seuraavan kirjan sarjassa.", + "autoAdvancePagedOnly": "Automaattinen ennakkotila toimii vain sivuttaisessa tilassa.", "pageView": "Sivun näkymä", + "twoPagePagedOnly": "Kaksi sivua näytetään vain sivuttaisessa tilassa.", + "spreadSection": "Kaksisivuinen levitys", + "spreadFallbackHint": "Tämä näyttö on liian kapea kahdelle sivulle, joten yksittäiset sivut näkyvät.", "spreadAlignmentLabel": "Levityksen kohdistus", "spreadGap": "Leviämisen väli", "spreadGapValue": "{value}px", @@ -5848,6 +11734,9 @@ "widePages": "Laajat sivut", "firstPage": "Ensimmäinen sivu", "lastPage": "Viimeinen sivu", + "zoomControls": "Zoomauksen säätimet", + "zoomOut": "Zoomaa ulos", + "zoomIn": "Zoomaa sisään", "fit": { "page": "Sivun Sovitus", "width": "Sivun Leveys", @@ -5872,12 +11761,21 @@ "shifted": "Siirretty" }, "widePage": { - "auto": "Automaattinen" + "auto": "Automaattinen", + "inSpreads": "Sisäänvirtaukset (spreads)" }, "bg": { "black": "Musta", "gray": "Harmaa", "white": "Valkoinen" + }, + "nextIssue": { + "eyebrow": "Seuraava sarjassa", + "action": "Lue seuraava", + "open": "Lue seuraava: {title}", + "numbered": "#{index} {title}", + "untitled": "Nimetön", + "autoAdvanceHint": "Käännä sivu uudelleen jatkaaksesi" } }, "audiobook": { @@ -5905,14 +11803,42 @@ "playerSettings": "Soittimen asetukset", "skipBack": "Ohita takaisin", "skipForward": "Ohita eteenpäin" + }, + "sheet": { + "expand": "Laajenna paneeli", + "collapse": "Pienennä paneeli" + }, + "narration": { + "fallbackTitle": "Narraatio", + "meta": "Äänen kerronta - {speed}x", + "openControls": "Avaa kerrontahallinta", + "previousSentence": "Edellinen lause", + "nextSentence": "Seuraava virke", + "play": "Toista tarina", + "pause": "Keskeytä kerronta", + "showControls": "Näytä kontrollit", + "hideControls": "Piilota ohjaimet", + "stop": "Lopeta kerronta", + "error": "Virhe kertoessa soittoa" } }, "scanner": { + "filesProgress": "{processed}/{total} tiedostot", "booksFound": "{count, plural, =0 {kirjoja ei löytynyt} one {# kirja löytyi} other {# kirjaa löytyi}}" }, "series": { + "completion": { + "readOfTotal": "{read} jostakin {total} lue ({percentage}%)" + }, + "ownership": { + "label": "Kirjastossa", + "ownedOfExpected": "{owned} jostakin {expected} kirjastossa" + }, "gaps": { - "label": "Mahdolliset puutteet:" + "label": "Mahdolliset puutteet:", + "missingCount": "{count, plural, one {# puuttuu} other {# puuttuu}}", + "missingList": "Puuttuu {list}", + "previewMore": "{shown} +{count}" }, "filters": { "title": "Sarjan Suodattimet", @@ -5942,7 +11868,10 @@ "bookCount": "Kirjojen Määrä", "recentAdditions": "Viimeisimmät Lisäykset", "readingProgress": "Lukeminen Edistyminen" - } + }, + "clearSearch": "Tyhjennä haku", + "noMatchHint": "Kokeile toista kirjastoa tai kirjoita mitä on asetettu.", + "emptyHint": "Sarja ilmestyy, kun kirjoissasi on sarjan metatietoja." }, "detail": { "pageTitle": "Sarja", @@ -5983,6 +11912,66 @@ "ascending": "Nouseva", "descending": "Laskeva" } + }, + "authorsPlus": "{authors} +{count}", + "track": { + "readCount": "{count, plural, one {# lue} other {# lue}}", + "readingCount": "{count, plural, one {# käynnissä} other {# käynnissä}}", + "unreadCount": "{count, plural, one {# lukematon} other {# lukematon}}", + "missingCount": "{count, plural, one {# puuttuu} other {# puuttuu}}", + "slotMissing": "{number} ei kirjastossa", + "untitled": "Nimetön" + }, + "legend": { + "read": "Lue", + "reading": "Luetaan", + "unread": "Kirjastossa", + "missing": "Puuttuu" + }, + "status": { + "label": "Suodattimen sarja lukutilan mukaan", + "all": "Kaikki", + "reading": "Luetaan", + "unread": "Lukemattomat", + "complete": "Complete", + "gaps": "Välit", + "read": "Lue", + "inProgress": "Toiminto käynnissä", + "hasGaps": "On aukkoja", + "notStarted": "Ei aloitettu" + }, + "index": { + "columnSeries": "Sarja", + "columnVolumes": "Äänenvoimakkuudet", + "columnRead": "Lue", + "columnNext": "Ylös seuraava", + "columnAdded": "Lisätty", + "percent": "{value}%", + "captionReading": "{base} · {count, plural, one {# käynnissä} other {# käynnissä}}", + "finished": "Lue loppu loppuun", + "reading": "Luetaan", + "next": "Seuraava", + "start": "Aloita" + }, + "grouping": { + "label": "Ryhmittele mukaan", + "none": "Ei ryhmittelyä", + "letter": "Kirjeen mukaan", + "library": "Kirjaston mukaan", + "status": "Tilan mukaan" + }, + "libraries": { + "more": "+{count}" + }, + "card": { + "oneVolume": "Yksi äänenvoimakkuus", + "oneVolumeShort": "1 tilavuusluku", + "volumeCount": "{count, plural, one {# taltio} other {# taltiot}}", + "readSummary": "{base} · {read} lue", + "publishedOf": "{owned} jostakin {total} julkaistu", + "complete": "Complete", + "moreVolumes": "{count, plural, one {# lisää äänenvoimakkuutta} other {# lisää äänenvoimakkuuksia}}", + "label": "{name}, {read} jostakin {total} lukemat" } }, "smartScope": { @@ -6003,6 +11992,7 @@ }, "createDialog": { "title": "Uusi Älykäs Laajuus", + "podcastTitle": "Uusi Älysoittolista", "createFailed": "Älykkään laajuuden luominen epäonnistui" }, "saveAsDialog": { @@ -6030,6 +12020,14 @@ "noGenres": "Ei Tyyliä", "epubOnly": "Vain EPUB" } + }, + "errors": { + "load": "Älykkäiden sovellusalueiden lataaminen epäonnistui", + "loadEpisodes": "Tämän älykkään soittolistan jaksojen lataaminen epäonnistui", + "save": "Älykkään soveltamisalan tallennus epäonnistui", + "delete": "Älykkään soveltamisalan poistaminen epäonnistui", + "reorder": "Älykkäiden sovellusalueiden uudelleenjärjestäminen epäonnistui", + "koboSync": "Kobo-synkronoinnin päivitys ei onnistunut tässä älykkäässä sovelluksessa" } }, "statistics": { @@ -6038,7 +12036,8 @@ "user": "Minun Lukemistani" }, "filter": { - "allLibraries": "Kaikki Kirjastot" + "allLibraries": "Kaikki Kirjastot", + "librarySelection": "{count} jostakin {total} Kirjastot" }, "config": { "button": "Määritä", @@ -6207,7 +12206,9 @@ "sourceDistribution": { "title": "Missä Lukeit", "emptyTitle": "Ei vielä lukemisaktiviteettia", - "emptyDescription": "Lue verkosta, KOReaderista tai Kobosta nähdäksesi lähdekoodisi jakamisen." + "emptyDescription": "Lue verkosta, KOReaderista tai Kobosta nähdäksesi lähdekoodisi jakamisen.", + "emptyDescriptionWithAppleClients": "Lue verkosta, iOS-sovelluksesta, Apple Watchista, KOReaderista tai Kobosta nähdäksesi lähdekoodisi jakamisen.", + "emptyDescriptionWithNativeClients": "Lue verkosta, iOS-sovelluksesta, Android-sovelluksesta, Apple Watchista, KOReaderista tai Kobosta nähdäksesi lähdekoodisi jakamisen." } } }, @@ -6215,7 +12216,8 @@ "header": { "entityManager": "Entiteetin Hallinta", "bulkRename": "Bulk Uudelleennimeä", - "duplicateBooks": "Monista Kirjat" + "duplicateBooks": "Monista Kirjat", + "missingResources": "Puuttuvat Resurssit" }, "entityTypes": { "authors": "Tekijät", @@ -6234,8 +12236,19 @@ "previewFailed": "Esikatselun lataaminen epäonnistui", "executionFailed": "Bulkin uudelleennimeäminen epäonnistui", "openBookDetails": "Avaa kirjan tiedot", + "openBook": "Avaa kirja", + "toRenameCount": "{count, plural, =0 {mitään uudelleennimeä} one {# uudelleennimeä} other {# uudelleennimeä}}", + "applyCount": "{count, plural, one {Käytä # uudelleennimeä} other {Käytä # uudelleennimeä}}", + "search": { + "placeholder": "Etsi kirja tai polku", + "label": "Etsi kirja", + "clear": "Tyhjennä haku" + }, "filter": { - "all": "Kaikki" + "all": "Kaikki", + "changes": "Muutokset", + "conflicts": "Ristiriidat", + "unchanged": "Muuttumaton" }, "status": { "willRename": "Uudelleennimeä", @@ -6244,14 +12257,106 @@ "noPattern": "Ei Kuvio", "error": "Virhe" }, + "group": { + "collision": "Kohteen ristiriita", + "unchanged": "Jo oikea", + "noPattern": "Ei nimeämismallia", + "error": "Virheellinen", + "includeAll": "Sisältää jokaisen {kind} uudelleennimeämisen", + "expand": "Laajenna {kind}", + "collapse": "Kutista {kind}", + "heldBack": "Näitä ei voi nimetä uudelleen" + }, + "changeKind": { + "ungroup": "Sarjan ryhmittely poistettu", + "flatten": "Kopioi kansion taso poistettu", + "yearRemoved": "Julkaisuvuosi poistettu", + "yearAdded": "Julkaisuvuosi lisätty", + "yearCorrected": "Julkaisuvuosi korjattu", + "authorSpelling": "Tekijän nimen oikeinkirjoitus", + "capitalisation": "Pääomankorotus ja etäisyys", + "unsafeCharacters": "Epäturvalliset merkit korvattu", + "filenameRebuilt": "Tiedostonimi rakennettu uudelleen metadatasta", + "folderRenamed": "Kansio nimetty uudelleen", + "rebuilt": "Kansio ja tiedostonimi uudelleen rakennettu", + "restructured": "Reitti uudelleenjärjestetty", + "multiple": "Useita muutoksia" + }, + "select": { + "ofSelected": "/ {total} valittu", + "toggleAll": "Valitse tai tyhjennä jokainen uudelleennimi", + "toggleGroup": "Valitse tai tyhjennä joka {kind} uudelleennimeä", + "toggleBook": "Nimeä {title} Uudelleen" + }, + "review": { + "loadMore": "Lataa lisää", + "queue": "Odottavat uudelleennimet", + "position": "{index} jostakin {total}", + "previous": "Edellinen kirja", + "next": "Seuraava kirja", + "keyboardHint": "siirrä", + "keyboardSkip": "ohita", + "skip": "Ohita", + "include": "Sisällytä", + "excluded": "Poissuljetut", + "back": "Takaisin listaan" + }, + "detail": { + "whatChanges": "Mitä muutoksia", + "foldedFolders": "{count, plural, one {# muuttumaton kansio} other {# muuttumatonta kansiota}}", + "onDisk": "Levyllä", + "today": "Tänään", + "afterRename": "Uudelleennimetyksen jälkeen", + "showLibraryFolders": "Näytä kirjastokansiot", + "hideLibraryFolders": "Piilota kirjastokansiot", + "currentPath": "Nykyinen polku", + "whyItMoves": "Miksi se liikkuu", + "levelTop": "Yläkansio", + "levelFolder": "Kansio {depth}", + "levelFilename": "Tiedostonimi", + "levelRemoved": "Poistettu", + "tokenCount": "{count, plural, one {# poletti} other {# polettia}}", + "optionalLevel": "Valinnainen kansion taso, jonka tuottaa ryhmä kuviossa.", + "removedExplainer": "Nimeämiskuviolla ei ole kansiota tällä tasolla, joten {folder} on pudonnut ja sen sisältö siirtyy ylös.", + "conflictTitle": "Toinen tiedosto vaatii jo tätä määränpäätä.", + "conflictBody": "Uudelleennimeäminen ylikirjoittaa sen, joten tämä kirja on pidätetty, kunnes konflikti on ratkaistu.", + "siblings": "{count, plural, one {# lisää samalla muutoksella} other {# lisää samalla muutoksella}}", + "siblingsMore": "+{count} lisää" + }, "empty": { "title": "Valitse kirjasto aloittaaksesi", "description": "Valitse yllä oleva kirjasto, jos haluat esikatsella uudelleennimeä muutoksia, suodattaa statuksen mukaan ja käyttää suoritettua massaa.", - "chooseLibrary": "Valitse Kirjasto" + "chooseLibrary": "Valitse Kirjasto", + "noneTitle": "Ei tarkistettavaa", + "noneDescription": "Mikään kirja ei vastaa nykyistä suodatinta. Tyhjennä haku tai vaihda Kaikki.", + "noMatch": "Haullasi ei ole yhtään kirjaa." }, "confirmDialog": { "title": "{count, plural, one {Nimetäänkö # tiedosto uudelleen levyllä?} other {Nimetäänkö # tiedostoa uudelleen levyllä?}}", - "body": "Tämä siirtää todellisia tiedostoja kohteen {library} sisällä. BookOrbit kirjaa jokaisen siirron, mutta kumoaminen tarkoittaa nimien palauttamista." + "body": "Tämä siirtää todellisia tiedostoja kohteen {library} sisällä. BookOrbit kirjaa jokaisen siirron, mutta kumoaminen tarkoittaa nimien palauttamista.", + "willRename": "Nimetään uudelleen", + "skippedByYou": "Ohittamasi", + "heldBack": "Pidätä takaisin konflikteina", + "untouched": "Vasen koskematon", + "confirm": "{count, plural, one {Nimeä uudelleen # tiedosto} other {Nimeä # tiedostoa}}", + "cannotRename": "Ei voi nimetä uudelleen" + }, + "run": { + "preparing": "Valmistellaan…", + "preparingHint": "Tarkistetaan jokainen tiedosto nimeämistä vastaan ennen kuin mitään liikkuu.", + "title": "Nimeäminen {done} jostakin {total}", + "runningHint": "Tiedostot nimetään uudelleen. Voit pysähtyä nykyisen tiedoston valmistuttua.", + "stop": "Pysäytä tämän tiedoston jälkeen", + "resultTitle": "{done, plural, one {Nimeä uudelleen # {total} tiedostoja} other {Nimeä uudelleen # {total} tiedostoja}}", + "resultFailed": "{count, plural, one {# epäonnistui} other {# epäonnistui}}", + "resultSkipped": "{count, plural, one {# ohitettu} other {# ohitti}}", + "dismiss": "Hylkää" + }, + "executionError": { + "http": "Palvelin hylkäsi pyynnön (HTTP {status}).", + "noBody": "Palvelin ei lähettänyt vastausruutua.", + "incomplete": "Yhteys päättyi ennen kuin uudelleennimeäminen päättyi. Joitakin tiedostoja ei ehkä ole nimetty uudelleen.", + "unknown": "Uudelleennimeä ei voitu suorittaa." } }, "bookDuplicates": { @@ -6281,12 +12386,22 @@ "none": "Ei Mitään", "accessDenied": "Sinulla ei ole lupaa käyttää kaksoiskappaletta kirjan työkalua.", "pairDetails": "Täsmää tiedot", + "pairLabel": "{first} ja {second}", "fields": { "library": "Kirjasto", "isbn": "ISBN", "formats": "Muodot", "collections": "Kokoelmat", - "added": "Lisätty" + "added": "Lisätty", + "size": "Koko", + "metadata": "Metatiedot", + "reading": "Luetaan", + "folder": "Kansio", + "noIsbn": "Ei asetettu", + "notStarted": "Ei aloitettu", + "outOfHundred": "/100", + "percentRead": "{percent} luettu", + "fileCount": "{count, plural, one {# tiedosto} other {# tiedostoa}}" }, "initial": { "title": "Etsi kaksoiskirjoja", @@ -6306,10 +12421,101 @@ "status": "Skannaus ei onnistunut.", "scan": "Kaksoisskannaus epäonnistui. Yritä suorittaa se uudelleen.", "results": "Ei voitu ladata kaksoisryhmiä.", - "delete": "Valittuja kaksoiskirjoja ei voitu poistaa." + "delete": "Valittuja kaksoiskirjoja ei voitu poistaa.", + "dismiss": "Ryhmää ei voitu hylätä.", + "restore": "Tätä paria ei voitu palauttaa." }, "pagination": { - "label": "Kahdenna ryhmien sivut" + "label": "Kahdenna ryhmien sivut", + "page": "Sivu {page} jostakin {total}" + }, + "similarityOption": "{percent} ja ylöspäin", + "scannedBooks": "{count} kirjat · tarkistettu {when}", + "scanProgress": "{processed} jostakin {total} kirjat", + "recommended": "Suositeltu", + "keeping": "Säilytä", + "willDelete": "Poista", + "keepCopy": "Säilytä {name}", + "selectGroup": "Valitse {title}", + "selectAll": "Valitse jokainen ryhmä tällä sivulla", + "compareCopies": "Vertaa {title} kopioita", + "compareCaption": "Kenttä kenttävertailu: {count} kopiota", + "fieldColumn": "Kenttä", + "filesEach": "{count, plural, one {# tiedosto jokainen} other {# tiedostoa jokainen}}", + "moreFilesCount": "{count, plural, one {ja # lisää tiedostoa} other {ja # lisää tiedostoja}}", + "identicalAcross": "{count, plural, one {Identtinen molemmissa kopioissa:} other {Identtinen kaikissa # kopioissa:}}", + "deleteGroup": "{count, plural, one {Poista # kopio, ilmainen {size}} other {Poista # kopiota, ilmainen {size}}}", + "confidence": { + "file_hash": "Identtinen", + "isbn": "Sama ISBN", + "exact_metadata": "Tarkka ottelu", + "fuzzy_metadata": "Samankaltainen", + "withSimilarity": "{label} {percent}" + }, + "summary": { + "groups": "{count, plural, one {ryhmä} other {ryhmiä}}", + "extraCopies": "{count, plural, one {ylimääräinen kopio} other {ylimääräisiä kopioita}}", + "reclaimable": "korjattavissa" + }, + "columns": { + "match": "Osuma", + "book": "Kirja", + "copies": "Kopiot", + "libraries": "Kirjastot", + "frees": "Vapaat", + "keeping": "Säilytä" + }, + "keepRule": { + "label": "Säilytä", + "metadata": "Parhaat metatiedot", + "size": "Suurimmat tiedostot", + "formats": "Eniten formaatteja", + "oldest": "Vanhin kopio", + "newest": "Uusin kopio", + "hint": "Valitsee vartijan joka ryhmässä. Voit ohittaa minkä tahansa rivin." + }, + "sort": { + "label": "Järjestä", + "reclaimable": "Eniten tilaa vapaana", + "copies": "Eniten kopioita", + "confidence": "Vahvin ottelu", + "title": "Osasto A–Z" + }, + "keeper": { + "yourChoice": "Sinun valintasi", + "reading": "olet {percent} sen kautta", + "collection": "se on {name}", + "metadata": "metadata {score}", + "largest": "Suurin arvolla {size}", + "formats": "{count} formaattia", + "isbn": "jolla on ISBN", + "added": "lisäsi {date}", + "riskReading": "poistaa kopion, jonka kautta olet {percent}", + "riskCollection": "poistaa kopion tiedostosta {name}" + }, + "selection": { + "summary": "{groups} valitut ryhmät, {copies} poistettavat kopiot, vapautuu {size}", + "clear": "Tyhjennä", + "review": "{count, plural, one {Arvostele # kopio} other {Arvostele # kopiota}}", + "hint": "Valitse ryhmät, joihin luotat, tai avaa ryhmä, joka vertaa kappaleita." + }, + "keys": { + "move": "siirrä", + "expand": "laajenna", + "keep": "säilytä", + "select": "valitse" + }, + "review": { + "title": "{count, plural, one {Poista # kopio} other {Poista # kopiota}}", + "description": "Läpi {groups} ryhmät, vapauttaa {size}. Mitään ei poisteta, ennen kuin vahvistat.", + "riskWarning": "{count, plural, one {# ryhmä poistaa lukutietosi kantavan kopion.} other {# ryhmää poistaa kopion, jossa on lukutietosi.}}", + "footer": "Vapaata {size}" + }, + "dismissed": { + "show": "{count, plural, one {Näytä # hylkäsi pari} other {Näytä # hylättyä paria}}", + "hide": "Piilota hylätyt parit", + "restore": "Palauta tämä pari", + "restored": "Pari palautettu. Se voi täsmätä uudelleen seuraavassa kuvauksessa." } }, "entityManager": { @@ -6326,7 +12532,8 @@ }, "actions": { "rename": "Uudelleennimeä", - "split": "Jaa" + "split": "Jaa", + "merge": "Yhdistä" }, "duplicates": { "similarity": "Samankaltaisuus:", @@ -6346,7 +12553,20 @@ "percentSimilar": "{percent}% samanlainen", "pairDetails": "Parien tiedot", "dismissEntityTitle": "Hylkää kaikki parit tälle entiteetille", - "dismissPairTitle": "Hylkää tämä pari" + "dismissPairTitle": "Hylkää tämä pari", + "groupsLabel": "Mahdolliset kaksoisryhmät", + "keepThisOne": "Pidä tämä", + "mergeAway": "Yhdistä pois", + "notAMatch": "Ei täsmää", + "notAMatchTitle": "Hylkää jokainen pari tässä ryhmässä", + "selectPromptTitle": "Valitse arvosteltava ryhmä", + "selectPromptDescription": "Valitse luettelosta ryhmä vertaillaksesi sen kohteita rinnakkain.", + "backToList": "Takaisin ryhmiin", + "noBookTitles": "Ei linkitettyjä kirjoja tähän tietueeseen", + "thresholdLabel": "Samankaltaisuus vähintään", + "thresholdValue": "{percent}%+", + "willBeMerged": "{count, plural, one {# entiteetti yhdistetään ja poistetaan} other {# entiteetit yhdistetään ja poistetaan}}", + "chooseTargetHint": "Valitse entiteetti pitääksesi. Kaikki muu ryhmässä sulautuu siihen." }, "dismissed": { "loading": "Ladataan hylättyjä pareita...", @@ -6370,7 +12590,44 @@ "nameDesc": "Nimi Z-A", "fewestBooks": "Vähiten kirjoja", "mostBooks": "Useimmat kirjat" - } + }, + "sortByLabel": "Järjestä", + "entityTypeLabel": "Entiteetin tyyppi", + "resultCount": "{count, plural, =0 {ei yksiköitä} one {# entiteetti} other {# entiteetit}}", + "selectedCount": "{count, plural, one {# valittu} other {# valittu}}", + "columns": { + "name": "Nimi", + "sortName": "Lajittele nimi", + "books": "Kirjat", + "status": "Tila", + "actions": "Toiminnot" + }, + "selectAllOnPage": "Valitse kaikki kohteet tällä sivulla", + "selectEntity": "Valitse {name}", + "actionsFor": "{name} toiminnot", + "status": { + "noBooks": "Ei kirjoja" + }, + "filters": { + "all": "Kaikki", + "noBooks": "Ei kirjoja" + }, + "density": { + "label": "Rivin korkeus", + "comfortable": "Mukava", + "compact": "Kompakti" + }, + "rowsPerPage": "Rivejä per sivu", + "range": "Näytetään {from}-{to} jostakin {total}", + "pagination": "Sivutus", + "previousPage": "Edellinen sivu", + "nextPage": "Seuraava sivu", + "goToPage": "Siirry sivulle {page}", + "morePages": "Lisää sivuja", + "noEntitiesDescription": "Mitään ei ole vielä lisätty tähän entiteettityyppiin.", + "noMatchesTitle": "Ei osumia", + "noMatchesDescription": "Yksikään kohde ei vastaa nykyistä hakuasi ja suodattimiasi.", + "clearFilters": "Tyhjennä suodattimet" }, "deleteMode": { "label": "Poista tila", @@ -6387,7 +12644,8 @@ "newName": "Uusi nimi" }, "deleteModal": { - "title": "Poista Entiteetti" + "title": "Poista Entiteetti", + "confirm": "Oletko varma, että haluat poistaa {name}?" }, "splitModal": { "title": "Jaa Entiteetti", @@ -6398,12 +12656,95 @@ }, "bulkDeleteModal": { "title": "Bulk Poisto", + "confirm": "{count,plural,one{Oletko varma, että haluat poistaa # valittu yksikkö?} other{Oletko varma, että haluat poistaa # valitut yksiköt?} =0{Oletko varma, että haluat poistaa # valittu yksikkö?}}", "deleteButton": "Poista {count}" }, "mergeModal": { "title": "Yhdistä Yksiköt", "description": "Valitse mikä entiteetti pitää. Muut yhdistetään siihen ja poistetaan." } + }, + "missingResources": { + "title": "Puuttuvat Resurssit", + "accessDenied": "Sinulla ei ole lupaa siivota puuttuvia resursseja.", + "categoriesLabel": "Siivoa kategoria", + "untitled": "Nimetön", + "clearSelection": "Tyhjennä valinta", + "cleanSelected": "Puhdista {count} valittu", + "selectAllMatching": "Valitse kaikki {count} vastaavaa tietuetta", + "allSelected": "Kaikki {count} vastaavat merkinnät on valittu.", + "sweep": { + "title": "Kansikuva tarkistus", + "description": "Tarkistaa jokaisen kirjan, joka väittää kansi vastaan tiedostoja levyllä, ja etsii kansikansioita, jotka ovat jääneet jälkeen poistetuista kirjoista. Tarkistuksen aikana mitään ei poisteta.", + "run": "Suorita tarkistus", + "running": "Tarkistetaan", + "progress": "Tarkistettu {processed} jostakin {total} kirjat", + "lastRun": "Viimeksi tarkistettu {at}", + "truncated": "Vain ensimmäiset tulokset on listattu. Puhdista näet, suorita tarkistus uudelleen nähdäksesi loput." + }, + "categories": { + "missing_books": "Puuttuvat kirjat", + "broken_covers": "Rikkinäiset kannet", + "orphaned_cover_dirs": "Orvot kansiot" + }, + "found": { + "missing_books": "{count, plural, =0 {Ei kirjoja puuttuvilla tiedostoilla} one {Yksi kirja puuttuvilla tiedostoilla} other {# kirjoja puuttuvilla tiedostoilla}}", + "broken_covers": "{count, plural, =0 {Ei rikkinäisiä kansiviitteitä} one {Yksi rikkinäinen kansiviite} other {# rikkinäinen kansiviitteet}}", + "orphaned_cover_dirs": "{count, plural, =0 {Ei orvokkaita kansioita} one {Yksi orvot kansikansio} other {# orvot kansiot}}" + }, + "empty": { + "missing_books": "Ei puuttuvia kirjoja", + "broken_covers": "Ei rikkinäisiä kateviittauksia", + "orphaned_cover_dirs": "Ei orvoksi joutuneita kansioita", + "description": "Kaikki tässä kategoriassa on kirjattu." + }, + "needsSweep": { + "title": "Suorita kansi tarkistus ensin", + "description": "Kansitulokset tulevat levyn tarkistuksesta. Suorita se nähdäksesi rikkinäiset viittaukset ja orvot kansiot." + }, + "coverSource": { + "extracted": "Purettu", + "custom": "Mukautettu" + }, + "brokenSlot": { + "ebookExtracted": "Kirjan kansi, uutettu", + "ebookCustom": "Kirjan kansi, mukautettu", + "audioExtracted": "Äänikirjan kansi, uutettu", + "audioCustom": "Äänikirjan kansi, mukautettu" + }, + "table": { + "selectPage": "Valitse kaikki tällä sivulla", + "coverFolder": "Kansio kansio kirjan #{bookId}", + "fileCount": "{count, plural, one {# tiedosto} other {# tiedostoa}}", + "orphanMedia": { + "ebook": "Varaa kansi", + "audio": "Äänikirjan kansi", + "both": "Kirjojen ja äänikirjojen kannet" + } + }, + "confirm": { + "title": "Puhdista puuttuvat resurssit?", + "action": "Puhdista", + "missing_books": "{count, plural, one {Poistaa tietokantatietueen yhdestä kirjasta, jonka tiedostot ovat poissa. Kirja, sen metatiedot, lukemisen edistyminen ja kansi on poistettu. Tätä ei voi peruuttaa.} other {Poistaa tietokantatietueet # kirjoille, joiden tiedostot ovat poissa. Kirjat, niiden metatiedot, lukemisen edistyminen ja kannet on poistettu. Tätä ei voi peruuttaa.}}", + "broken_covers": "{count,plural,one{Tyhjentää kannen viite yhden kirjan, joten se osoittaa, että ei ole kattava. Metatiedot eivät ole muuten muuttunut.} other{Tyhjentää kansiviitteet kohteelle # Kirjat niin ne osoittavat, että ei ole kantta. Metatietoja ei ole muuten muutettu.}}", + "orphaned_cover_dirs": "{count, plural, one {Poistaa yhden kansikansion levyltä. Sen kirja ei ole enää tietokannassa. Tätä ei voi perua.} other {Poistaa # kansikansioita levyltä. Heidän kirjojaan ei enää ole tietokannassa. Tätä ei voi perua.}}" + }, + "cleaned": { + "missing_books": "{count, plural, =0 {Ei mitään puhdistaa} one {Poistettu yksi puuttuva kirja} other {Poistettu # puuttuvaa kirjaa}}", + "broken_covers": "{count, plural, =0 {Ei mitään puhdistettavaa} one {Tyhjennettiin yksi rikki kansiviite} other {Tyhjennettiin # rikki kansiviitteet}}", + "orphaned_cover_dirs": "{count, plural, =0 {Ei mitään siivota} one {Poistettu yksi orvoksi jäänyt kansikansio} other {Poistettu # orvoksi leikattua kansia}}" + }, + "pagination": { + "label": "Resurssisivut puuttuvat", + "page": "Sivu {page} jostakin {total}" + }, + "errors": { + "summary": "Ei voitu ladata puuttuvaa resurssiyhteenvetoa.", + "sweepStart": "Kansion tarkistusta ei voitu käynnistää.", + "sweep": "Peitteen tarkistus epäonnistui.", + "list": "Näitä merkintöjä ei voitu ladata.", + "clean": "Siivoaminen epäonnistui." + } } }, "views": { @@ -6420,11 +12761,15 @@ "sort": "Järjestä", "sortOn": "Päällä", "resetSort": "Palauta lajittelu oletukseksi", + "shuffle": "Sekoita", + "shuffleAria": "Sekoita kirjan järjestys", + "shuffleHint": "Piirrä uusi satunnainen tilaus", "filters": "Suodattimet", "clear": "Tyhjennä", "clearAllFilters": "Tyhjennä kaikki suodattimet", "expandSeries": "Laajenna sarja", "collapseSeries": "Supista sarja", + "collapseLockedWhileSelecting": "Sarjaa laajennetaan samalla kun valitaan", "expanded": "Laajennettu", "exportMetadata": "Vie metatiedot", "showControlsAria": "Näytä kirjaston asetukset", @@ -6481,6 +12826,7 @@ "applied": "{count, plural, =0 {Ei sovellettu tiedostoihin} one {Sovelletaan yhteen tiedostoon} other {Sovelletaan # tiedostoon}}", "skippedEdited": "{count, plural, =0 {ohitti yhden tiedoston, koska ne ovat manuaalisesti muokanneet} one {ohitettu yksi tiedosto, koska se on manuaalisesti muokannut} other {ohitettu # tiedostoa, koska ne ovat manuaalisia muokkauksia}}", "skippedNoMetadata": "{count, plural, =0 {ohitti yhden tiedoston, koska niillä ei ole haettua metadataa} one {ohitettu yksi tiedosto, koska sillä ei ole haettua metadataa} other {ohitettu # tiedostoa, koska niillä ei ole haettua metadataa}}", + "noneApplied": "Ei sovellettuja tiedostoja; {reasons}", "noneSelected": "Ei valittuja tiedostoja" } }, @@ -6525,6 +12871,7 @@ "emptyLibraryHint": "Kun lisäät kirjoja tähän kirjastoon, ne näkyvät täällä." }, "querySelection": { + "loadedSelected": "{selected} jostakin {total} ladattu kirjoja valittu.", "selectAllMatching": "Valitse kaikki {total} vastaavat kirjat" } }, @@ -6543,6 +12890,7 @@ "showControlsAria": "Näytä Smart Scope -toiminnot", "hideFilter": "Piilota suodatin", "showFilter": "Näytä suodatin", + "confirmDelete": "Vahvista", "loadError": "SmartScope ei voitu ladata", "toast": { "deleted": "\"{name}\" poistettu", @@ -6559,6 +12907,35 @@ "noMatchHint": "Yritä säätää suodattimen sääntöjä.", "edit": "Muokkaa SmartScope" } + }, + "podcastScope": { + "title": "Älykäs soittolista", + "entity": "älykäs soittolista", + "loadFailed": "Ei voitu ladata jaksoja tälle soittolistalle.", + "loadMoreFailed": "Uusia jaksoja ei voitu ladata.", + "retry": "Yritä Uudelleen", + "editRules": "Muokkaa sääntöjä", + "saveFailed": "Soittolistan sääntöjä ei voitu tallentaa.", + "deleteFailed": "Soittolistaa ei voitu poistaa.", + "empty": { + "title": "Ei vastaavia jaksoja", + "hint": "Säädä sääntöjä vastaamaan enemmän jaksoja." + } + }, + "podcastCollection": { + "title": "Podcastin kokoelma", + "entity": "podcastin kokoelma", + "loadFailed": "Ei voitu ladata ohjelmia tässä kokoelmassa.", + "remove": "Poista", + "removeAria": "Poista {name} tästä kokoelmasta", + "removed": "Poistettu {name}", + "removeFailed": "Tätä sarjaa ei voitu poistaa.", + "empty": { + "title": "Ei vielä ohjelmia", + "hint": "Lisää ohjelmia tähän kokoelmaan podcast-kirjastosta." + }, + "loadMoreFailed": "Ei voitu ladata lisää sarjoja.", + "retry": "Yritä Uudelleen" } }, "whatsNew": { @@ -6590,10 +12967,824 @@ "previousImage": "Edellinen kuva", "nextImage": "Seuraava kuva" }, + "podcast": { + "actions": { + "add": "Lisää", + "cancel": "Peruuta", + "save": "Tallenna", + "play": "Toista", + "pause": "Tauko", + "playEpisode": "Toista jakso", + "listen": "Kuuntele", + "remove": "Poista", + "episodeActions": "Jakson toiminnot", + "removeFromQueue": "Poista jonosta", + "addToQueue": "Lisää jonoon", + "playNext": "Toista seuraava", + "retryDownload": "Yritä uudelleen latausta", + "download": "Lataa", + "removeDownload": "Poista lataus", + "markUnplayed": "Merkitse soittamattomaksi", + "markPlayed": "Merkitse soitettu", + "follow": "Seuraa", + "unfollow": "Lopeta", + "followPodcast": "Seuraa podcastia", + "unfollowPodcast": "Lopeta podcastin seuraaminen", + "resume": "Jatka", + "playLatest": "Soita viimeisin", + "moveToTop": "Siirrä ylimmäksi", + "playFromHere": "Toista täältä", + "moveDown": "Siirrä alas", + "clearQueue": "Tyhjennä jono", + "clearAll": "Tyhjennä kaikki", + "search": "Etsi", + "clearPlayed": "Tyhjennä soitettu", + "downloadSelected": "Lataa valitut", + "removeSelectedDownloads": "Poista valitut lataukset", + "markSelectedPlayed": "Merkitse pelatuksi", + "removeSelectedFromQueue": "Poista valittu jonosta", + "selectEpisode": "Valitse {title}", + "playNamedEpisode": "Soita {title}", + "listenToEpisode": "Kuuntele {title}", + "resumeEpisode": "Jatka {title}", + "playLatestEpisode": "Soita viimeisin jakso {title}", + "episodeDetails": "Jakson tiedot", + "episodeDetailsNamed": "Jakson tiedot kohteelle {title}", + "editEpisodeMetadata": "Muokkaa metatietoja", + "openFullPlayer": "Avaa koko pelaaja", + "reorderEpisode": "Järjestä {title}", + "playAll": "Toista kaikki", + "resumeNamed": "Jatka {title}", + "queueAll": "Jono kaikki", + "markAllPlayed": "Merkitse kaikki soitetut", + "latestCount": "Viimeisin {count}", + "downloadLatest": "Lataa uusin", + "removeAllDownloads": "Poista kaikki lataukset", + "pin": "Kiinnitä", + "unpin": "Unpin", + "pinEpisode": "Kiinnitä jakso", + "unpinEpisode": "Irrota jakso" + }, + "status": { + "nowPlaying": "Nyt soi", + "paused": "Keskeytetty", + "downloaded": "Ladattu", + "downloadQueued": "Lataus jonossa", + "downloading": "Ladataan", + "downloadFailed": "Lataus epäonnistui", + "unavailable": "Unavailable", + "played": "Pelattu", + "following": "Seurataan", + "playbackProgress": "Toiston edistyminen", + "downloadProgress": "Latauksen edistyminen", + "removedFromFeed": "Ei enää syötteessä", + "inQueue": "Jonossa", + "feedFailing": "Syöte epäonnistui", + "archived": "Arkistoitu", + "localShow": "Paikallinen", + "localShowDescription": "Tässä ohjelmassa ei ole syötettä. Sen jaksot ovat sen kansiossa.", + "missing": "Puuttuu", + "missingDescription": "Tämä ohjelma ei ole enää levyllä. Se pidetään täällä, jos kansio tulee takaisin; poista show poistaa se lopullisesti." + }, + "selection": { + "select": "Valitse", + "selectAll": "Valitse kaikki", + "count": "{count} valittu", + "toggleShow": "Valitse {title}" + }, + "bulkDelete": { + "title": "Poista valitut ohjelmat", + "action": "Poista", + "confirmPhrase": "POISTA", + "description": "Tämä poistaa pysyvästi {count} näyttää ja kaiken BookOrbit tietää niistä, mukaan lukien kuunteluhistoriasi. Tätä ei voi perua.", + "descriptionWithFiles": "Tämä poistaa pysyvästi {count} näyttää, kaikki BookOrbit tietää niistä, ja {size} ladattuja tiedostoja. Omia kansioita ei koskettu. Tätä ei voi perua.", + "queued": "Poistetaan {count} näyttää", + "queuedWithFailures": "Poistetaan {count} ohjelmat, {failed} ei voitu käynnistää", + "errors": { + "prepare": "Ei voitu selvittää, mitä poistaminen nämä ohjelmat poistaisi", + "delete": "Valittuja ohjelmia ei voitu poistaa" + } + }, + "views": { + "queue": "Jono" + }, + "labels": { + "episodeCount": "{count} jaksoa", + "unknownPublisher": "Tuntematon julkaisija", + "durationHoursMinutes": "{hours}h {minutes}m", + "durationMinutes": "{minutes}m", + "durationSeconds": "{seconds}s", + "durationUnavailable": "Kesto ei käytettävissä", + "unknownDate": "Tuntematon päivämäärä", + "seasonEpisode": "S{season} E{episode}", + "season": "S{season}", + "episode": "E{episode}", + "episodeTypeTrailer": "Perävaunu", + "episodeTypeBonus": "Bonus", + "pinnedHint": "Pinnatut jaksot on suojattu varastoinnin säilyttämisen poistamiselta.", + "explicit": "Täsmällinen", + "lastListened": "Kuunnellut {time}", + "timeLeft": "{time} jäljellä", + "remainingClock": "-{time}", + "pinnedEpisode": "Kiinnitetty jakso", + "newEpisodeCount": "{count} uutta", + "unplayedShort": "{count} pelaamatonta" + }, + "acquisition": { + "title": "Automaattiset lataukset", + "never": "Ei Koskaan", + "newEpisodes": "Uudet jaksot", + "recentEpisodes": "Viimeisimmät jaksot", + "maximumNewest": "Enimmäismäärä uusimpia jaksoja", + "publishedWithinDays": "Julkaistu viimeisten (päivien) sisällä", + "remoteDescription": "Lähetysjaksot oletuksena. Voit silti ladata yksittäisiä jaksoja offline-tilaan kuuntelemiseksi.", + "newestDescription": "Lataa automaattisesti valittu määrä uusimpia jaksoja, joita ei ole jo tallennettu tai jonotettu. Tallentamalla tämä sääntö myös tarkistaa jaksot jo syötteessä.", + "windowDescription": "Lataa olemassa olevat ja äskettäin löydetyt jaksot julkaistu tällä kaudella. Jaksot ilman julkaisupäivää ohitetaan. Tämän säännön muuttaminen ei poista vanhempia latauksia, mutta tallennustilan säilyttäminen voi poistaa liittämättömiä latauksia, kun tilaa tarvitaan." + }, + "cleanup": { + "title": "Poista kuuntelemisen jälkeen", + "keep": "Pidä lataukset", + "afterFinished": "Poista kun valmis", + "delayHours": "Poista tämä monta tuntia viimeisen kuuntelijan päättymisen jälkeen", + "keepDescription": "Ladatut jaksot pysyvät levyllä, kunnes tallennustila tarvitsee tilaa.", + "afterFinishedDescription": "Poista ladattu jakso, kun jokainen kuuntelija, joka aloitti sen on päättynyt ja viive on mennyt. Merkitsemällä sen soittamattomaksi, kiinnittämällä sen tai laittamalla se takaisin jonoon ikkunan aikana peruuttaa poistamisen." + }, + "player": { + "miniPlayer": "Podcast mini-soitin", + "openFullPlayer": "Avaa koko pelaaja", + "expandMiniPlayer": "Laajenna mini-soitin", + "collapseMiniPlayer": "Tiivistä pelaajan kompakti", + "stopAndClose": "Pysäytä ja sulje pelaaja", + "sleepActive": "Nukkumisajastin aktiivinen: {value}", + "previousEpisode": "Edellinen jakso", + "nextEpisode": "Seuraava jakso", + "backSeconds": "Takaisin {count} sekuntia", + "forwardSeconds": "Eteenpäin {count} sekuntia", + "episodePosition": "Jakson sijainti", + "toggleTimeDisplay": "Vaihda jäljellä oleva ja kokonaisaika", + "positionValue": "{elapsed} kulunut {duration}", + "playingAnnouncement": "Toistetaan {title} alkaen {podcast}", + "pausedAnnouncement": "Keskeytetty {title} alkaen {podcast}", + "volume": "Tilavuus", + "positionValueWithChapter": "{elapsed} kulunut {duration}, luku {chapter}" + }, + "bookmarks": { + "title": "Kirjanmerkit", + "empty": "Ei kirjanmerkkejä", + "closeForm": "Sulje kirjanmerkki lomake", + "saveAt": "Tallenna {time}", + "titlePlaceholder": "Lisää otsikko kirjanmerkkeihin", + "notePlaceholder": "Valinnainen huomautus", + "save": "Tallenna kirjanmerkki", + "edit": "Muokkaa kirjanmerkkiä", + "delete": "Poista kirjanmerkki", + "titleLabel": "Lisää otsikko kirjanmerkkeihin", + "noteLabel": "Lisää kirjanmerkki", + "editTitleLabel": "Muokkaa kirjanmerkin otsikkoa", + "editNoteLabel": "Muokkaa kirjanmerkki merkintää", + "defaultTitle": "Kirjanmerkki osoitteessa {time}" + }, + "library": { + "episodes": "Jaksot", + "shows": "Sarjat", + "latest": "Viimeisimmät", + "inProgress": "Toiminto käynnissä", + "unplayed": "Pelaamaton", + "finished": "Valmis", + "health": "Terveys", + "search": "Etsi podcasteja", + "clearSearch": "Tyhjennä podcastin haku", + "import": "Tuo", + "importOpml": "Tuo OPML", + "importDescription": "Tuo OPML-tilausluettelo", + "addFeed": "Lisää syöte", + "settings": "Podcastin asetukset", + "views": "Podcastin näkymät", + "loading": "Ladataan podcasteja...", + "noMatchingShows": "Ei vastaavia ohjelmia", + "ready": "Podcast-kirjastosi on valmis", + "tryDifferentSearch": "Kokeile toista otsikkoa tai kustantajaa.", + "readyDescription": "Lisää RSS-syöte tai tuo OPML-tiedosto aloittaaksesi kuuntelukirjaston rakentamisen.", + "loadMoreShows": "Lataa lisää ohjelmia", + "upNext": "Ylös seuraava", + "emptyQueue": "Jonosi on tyhjä", + "emptyQueueDescription": "Lisää episodi ohjelmasta, jotta voit pitää seuraavan kuuntelusi helposti saavutettavissa.", + "loadMore": "Lataa lisää", + "lastSuccess": "Viimeisin menestys", + "failureCount": "{count} epäonnistumiset: {error}", + "unknownError": "Tuntematon virhe", + "healthy": "Terveet", + "noFeeds": "Ei valvottavia syötteitä", + "noFeedsDescription": "Lisää podcast-syöte nähdäksesi sen päivitystilan täällä.", + "noMatchingEpisodes": "Ei vastaavia jaksoja", + "noEpisodesLatest": "Ei vielä jaksoja", + "noEpisodesDownloaded": "Ei ladattuja jaksoja", + "noEpisodesInProgress": "Ei jaksoja käynnissä", + "noEpisodesUnplayed": "Ei soittamattomia jaksoja", + "noEpisodesFinished": "Ei valmiita jaksoja", + "noEpisodesPinned": "Ei kiinnitettyjä jaksoja", + "pinned": "Kiinnitetty", + "continueListening": "Jatka kuuntelua", + "viewAllContinue": "Näytä kaikki", + "noEpisodesDescription": "Uusia jaksoja ohjelmistasi tulee näkyviin täällä.", + "loadMoreEpisodes": "Lataa lisää jaksoja", + "addPodcastFeed": "Lisää podcast-syöte", + "rssUrl": "RSS-syötteen URL", + "preview": "Esikatselu", + "addPodcast": "Lisää podcast", + "storage": "Podcastin tallennustila", + "currentlyUsing": "Tällä hetkellä käytössä {size}", + "libraryQuotaGb": "Kirjaston kiintiö (GB)", + "freeSpaceReserveGb": "Vapaa-tilan reservi (GB)", + "defaultRefreshMinutes": "Oletus päivitys (minuuttia)", + "finishRemainingSeconds": "Valmis sekunnilla jäljellä", + "exportOpml": "Vie OPML", + "exportDescription": "Vie tämä kirjasto OPML-tilauslistaksi", + "importOpmlDescription": "Valitse OPML tiedosto ja latauskäytäntö, jota sovelletaan jokaiseen siinä olevaan syötteeseen.", + "opmlFile": "OPML- tiedosto", + "chooseOpmlFile": "Valitse tiedosto", + "noOpmlFileChosen": "Ei valittua tiedostoa", + "importPolicyHint": "Tämä koskee jokaista tuotua syötettä. Voit muuttaa sitä per show jälkeenpäin.", + "searchShows": "Hae ohjelmia", + "searchEpisodes": "Etsi jaksoja", + "searchHealth": "Hae syötteestä", + "manageFeeds": "Hallinnoi syötteitä", + "feedHealth": "Rehun terveys", + "feedsNeedAttention": "Syötteisiin on kiinnitettävä huomiota", + "episodeFilters": "Jakson suodattimet", + "previewing": "Esikatselu...", + "addingPodcast": "Lisätään...", + "openShow": "Avaa {title}", + "retryFeed": "Päivitä {title}", + "reparseFeed": "Paranna tallennettu syöte kohteelle {title}", + "confirmClearQueue": "Poistetaanko jokainen jonossa oleva jakso?", + "importProgress": "Tuonti edistyminen", + "jobsQueued": "{count} jonossa", + "jobsProcessing": "{count} käsittely", + "jobsFailed": "{count} epäonnistui", + "retryUnhealthy": "Yritä uudelleen epäterveellisiä rehuja", + "followedOnly": "Vain seuraavat", + "queueDuration": "{duration} yhteensä", + "confirmClearPlayed": "Poistetaanko jokainen soitettu jakso jonosta?", + "searchQueue": "Etsi jonostasi", + "noMatchingQueueEpisodes": "Ei vastaavia jonojaksoja", + "showAllEpisodes": "Näytä kaikki jaksot", + "browseShows": "Selaa ohjelmia", + "browseEpisodes": "Selaa jaksoja", + "allLoaded": "Kaikki {total} ladattu", + "addFeedDescription": "Etsi podcast-hakemistosta tai liitä RSS-syötteen URL, esikatsele ohjelmaa, valitse sitten miten sen jaksot hankitaan.", + "searchDirectory": "Etsi podcast-kansiosta", + "searchDirectoryPlaceholder": "Näytä tai julkaisijan nimi", + "searchDirectoryEmpty": "Hakemistossa ei ole yhtään näytettä, joka vastaa tuota hakua.", + "searchDirectoryHint": "Valitse tulos esikatseleaksesi sitä tai liitä syötteen URL-osoite alla.", + "inLibrary": "Kirjastossa", + "openExistingShow": "Avaa {title}, jo kirjastossa", + "pasteFeedUrl": "Tai liitä syötteen URL-osoite", + "selectAllLoaded": "Valitse jokainen ladattu jakso", + "reorderLoadedHint": "Järjestys koskee tähän mennessä ladattuja jaksoita.", + "retryUnhealthyLoaded": "Yritä uudelleen ladattuja syötteitä", + "manageFeedsUnhealthy": "Hallitse syötteitä: epäonnistuneet syötteet vaativat huomiota", + "localImportTitle": "Tuodaan podcasteja kansioista", + "localImportDoneTitle": "Tuonti valmis", + "localImportProgress": "{processed} jostakin {total} tiedostot", + "localImportDone": "{processed} tiedostoa tuotu", + "importingTitle": "Tuodaan podcasteja", + "importingHint": "Näytöt näkyvät tässä, kun niiden tiedostoja lukee." + }, + "import": { + "title": "Tuo paikallisia tiedostoja", + "description": "Täsmää ääni jo tämän kirjaston kansiossa seuraamiesi syötteiden jaksoihin.", + "placementHint": "Laita tiedostot tämän kirjaston kansioon ensin. BookOrbit hyväksyy ne sinne, missä ne ovat: mitään ei kopioida, uudelleennimetä tai siirretä.", + "scan": "Etsi tiedostoja", + "running": "Etsitään...", + "progress": "{current} jostakin {total} skannatut tiedostot", + "apply": "Tuo täsmätyt tiedostot", + "applyWithChoices": "Tuo sopivat tiedostot ja valinnat", + "applied": "Hyväksytty {count} tiedostot.", + "quota": "{adopt} hyväksymään, {headroom} kiintiöstä vapaana oleva", + "truncated": "Jotkin listat ovat lyhennettyjä. Yllä olevat määrät ovat valmiita.", + "chooseEpisode": "Valitse jakso", + "leaveUnresolved": "Poistu myöhemmin", + "noDate": "Ei päivämäärää", + "fileCount": "{count} tiedostoa", + "subscribe": "Tilaa", + "subscribed": "Tilattu", + "suggestedFeedsHint": "Nämä kansiot nimevät syötteen, jota et seuraa vielä. Tilaa, sitten skannata uudelleen löytääksesi niiden tiedostot.", + "rescanHint": "Skannaa uudelleen ja täsmää kansioihin, jotka olet juuri tilannut.", + "duplicateDiffers": "Erilainen tiedosto on jo liitetty tähän jaksoon", + "duplicateSame": "Tällä jaksolla on jo tämä tiedosto", + "unreadableFolders": "{count} kansioita ei voitu lukea.", + "groups": { + "matched": "Täsmätty", + "ambiguous": "Tarvitsee päätöksen", + "unmatched": "Ei osumia", + "duplicates": "Liitetty jo", + "skipped": "Ohitettu", + "suggestedFeeds": "Tilattavat syötteet", + "unclaimedFolders": "Kansiot, joissa ei ole syötettä" + }, + "signals": { + "episode_guid": "Jakson tunnus tiedoston tageissa", + "episode_id_suffix": "KirjanOrbit ID tiedoston nimessä", + "enclosure_file_name": "Tiedoston nimi täsmää syötteeseen", + "title_and_date": "Otsikko ja päivämäärä", + "title_and_duration": "Otsikko ja pituus", + "manual": "Sinun valintasi" + }, + "scopes": { + "request": "Näytä sinulle valitut", + "folder_suffix": "Näytä kansion nimi", + "feed_url_tag": "Syötteen osoite tiedoston tunnisteissa", + "feed_sidecar": "Kansion tallennettu syöte", + "title_similarity": "Samanlainen näytä otsikko", + "library": "Ei tunnistettu näytettä" + }, + "reasons": { + "show_unresolved": "Tälle tiedostolle ei voitu tunnistaa sarjaa", + "no_episode_candidate": "Sarja osui, mutta episodi ei", + "single_fuzzy_signal": "Vain yksi signaali osoittaa episodi", + "multiple_candidates": "Useat jaksot sopivat yhtä hyvin", + "empty_file": "Tiedosto on tyhjä", + "unsupported_format": "Äänitiedosto ei ole tuettu", + "symlink": "Symbolisia linkkejä ei ole tuotu", + "unreadable": "Tiedostoa ei voitu lukea", + "outside_library_root": "Tiedosto ratkaisee kirjaston kansion ulkopuolella", + "attach_conflict": "Jakso sai tiedoston kun skannaus oli käynnissä", + "quota_exceeded": "Näiden tiedostojen tuonti ylittäisi tämän kirjaston tallennuskiintiön. Korota kiintiötä tai tuo vähemmän tiedostoja." + }, + "sources": { + "feed_sidecar": "Tallennettu syöte tiedosto", + "metadata_json": "metadata.json", + "feed_url_tag": "Tiedostojen tunnisteet" + }, + "errors": { + "status": "Tuonnin tilan lukeminen epäonnistui", + "start": "Tuonnin käynnistäminen epäonnistui", + "subscribe": "Tämän syötteen tilaaminen epäonnistui", + "createLocalShow": "Paikallisen ohjelman luominen ei onnistunut tästä kansiosta" + }, + "messages": { + "subscribed": "Podcast lisätty. Skannaa uudelleen vastaamaan sen tiedostoja.", + "localShowCreated": "Paikallinen näyttely luotu. Sen jaksot tuodaan maahan.", + "localShowUpdated": "Tuodaan uusia tiedostoja tässä kansiossa." + }, + "createLocalShow": "Luo paikallinen ohjelma", + "addLocalEpisodes": "Lisää uusia jaksoja", + "localShowCreated": "Luotu", + "unclaimedFoldersHint": "Nämä kansiot eivät nimeä syötettä. Käännös paikalliseksi ohjelmaksi ja jokaisesta äänitiedostosta tulee jakso.", + "localRescanHint": "Skannaa uudelleen poimia mitään muuta, joka muuttui kansioihin juuri tuodut ." + }, + "messages": { + "podcastAdded": "Podcast lisätty", + "feedsQueued": "Jonossa on {count} podcast-syötettä", + "settingsSaved": "Podcastin asetukset tallennettu", + "downloadQueued": "Jakson lataus jonossa", + "downloadRemoved": "Jakson lataus poistettu", + "refreshQueued": "Podcastin päivitysjono", + "reparseQueued": "Podcast reparse jonossa", + "mergeQueued": "Podcastin yhdistäminen jonossa", + "showDeleted": "{title} poistettu", + "queueCleared": "Podcast-jono tyhjennetty", + "playerClosed": "Pelaaja suljettu", + "feedsRefreshQueued": "Jonossa oleva päivitys {count} syötteelle", + "finishedQueueCleared": "Soitetut jaksot poistettu jonosta", + "bulkQueueActionCompleted": "Päivitetään {count} valitut jaksot", + "bulkQueueActionFailed": "Päivitetty {completed} jaksot, {failed} epäonnistui", + "bulkQueued": "Jonossa {completed} jaksot; {skipped} oli jo jonossa tai ylitetty jonon raja", + "bulkMarkedPlayed": "Merkitty {count} soitetut jaksot", + "bulkDownloadsQueued": "Jonossa {count} jaksojen lataukset", + "bulkDownloadsRemoved": "Poistettu {count} jaksoa lataukset", + "bulkDownloadsRemovedWithFailures": "Poistettu {completed} lataukset {failed} epäonnistui", + "queueRestored": "Palautettu jonoon {count} jaksoa", + "playlistSaved": "Soittolista tallennettu", + "playlistDeleted": "Soittolista poistettu", + "playlistQueued": "Jonossa {completed} jaksot, ohitettu {skipped}", + "playlistQueueEmpty": "Tälle soittolistalle ei löytynyt jaksoja", + "detailsSaved": "Näytä tiedot tallennettu", + "episodeDetailsSaved": "Jakson tiedot tallennettu", + "artworkUpdated": "Teos päivitetty", + "artworkRemoved": "Mukautettu taideteos poistettu", + "localFileDeleted": "Jaksotiedosto poistettu", + "opmlOmittedLocalShows": "Vasen {count} paikallista näytettä viennistä: OPML voi kuvata vain syötteitä." + }, + "fullPlayer": { + "queueNowPlaying": "Nyt soi #{position} · {count} jäljellä", + "queuedCount": "{count} jonossa", + "mediaUnavailable": "Mediaa ei saatavilla", + "streaming": "Suoratoistaminen", + "backToPodcast": "Takaisin podcastiin", + "loading": "Ladataan jaksota...", + "tryAgain": "Yritä uudelleen", + "nowListening": "Nyt kuunnellaan", + "retry": "Yritä Uudelleen", + "restart": "Käynnistä Uudelleen", + "durationUnavailable": "Kesto ei käytettävissä", + "previousQueued": "Edellinen jonossa oleva jakso", + "nextQueued": "Seuraava jonossa oleva jakso", + "startingPlayback": "Soiton aloittaminen", + "speed": "Nopeus", + "playbackSpeed": "Toiston nopeus", + "sleep": "Lepotila", + "off": "Pois", + "endOfChapter": "Ryhmän loppu", + "endOfEpisode": "Jakson loppu", + "minutesLeft": "{count}m jäljellä", + "aboutEpisode": "Tietoja tästä jaksosta", + "showLess": "Näytä vähemmän", + "showMore": "Näytä lisää", + "chapters": "Luvut", + "previousChapter": "Edellinen luku", + "nextChapter": "Seuraava luku", + "removeNamedFromQueue": "Poista {title} jonosta", + "queueClear": "Sinun jonosi on selvä.", + "transcripts": "Transkriptit", + "transcript": "Transkripti", + "sleepMinutes": "{count} min", + "speedValue": "{rate}x", + "cyclePlaybackSpeed": "Syklin toiston nopeus", + "choosePlaybackSpeed": "Valitse toiston nopeus", + "moreSpeeds": "Lisää", + "showSpeedOverride": "Tämä nopeus on muistettava tästä näyttelystä.", + "clearSpeedOverride": "Käytä oletusnopeutta tässä ohjelmassa", + "extendSleepLabel": "Lisää {count} minuuttia lisää unen ajastimelle", + "sleepTimer": "Lepotilan ajastin", + "sleepRemaining": "{count}m", + "fineTuneSpeed": "Hienosäätö", + "decreaseSpeed": "Pienennä toiston nopeutta", + "increaseSpeed": "Nosta toiston nopeutta", + "extendSleep": "Lisää {count} min", + "bookmarkTooltip": "Kirjanmerkki: {title}", + "openQueue": "Avaa jono", + "openChapterLink": "Avaa luvun linkki kohteelle {title}" + }, + "show": { + "loading": "Ladataan podcastia...", + "noAlerts": "Ei hälytyksiä", + "immediate": "Välitön", + "dailyDigest": "Päivittäinen tiivistys", + "weeklyDigest": "Viikoittainen tiivistys", + "refreshFeed": "Päivitä syöte", + "refreshInterval": "Päivitä aikaväli minuuteissa", + "restore": "Palauta", + "archive": "Arkistoi", + "deletePermanently": "Poista pysyvästi", + "mergeSource": "Yhdistä toinen podcast-tunnus tähän näyttelyyn", + "queueMerge": "Jonon yhdistäminen", + "confirmMerge": "Yhdistä podcast {id} tähän podcastiin? Lähdepodcast poistetaan pysyvästi.", + "confirmDelete": "Poista pysyvästi {title}, sen {episodes} jaksot, ja kaikki kuunteleva tila? Tätä ei voi kumota.", + "confirmDeleteWithDownloads": "Poista pysyvästi {title}, sen {episodes} jaksot, {files} ladatut tiedostot ({size}), ja kaikki kuunteleva tila? Tätä ei voi kumota.", + "back": "Takaisin", + "notificationMode": "Ilmoitusten tiheys", + "readMore": "Lue lisää", + "searchEpisodes": "Etsi tämän ohjelman jaksoja", + "clearEpisodeSearch": "Tyhjennä jaksojen haku", + "episodeFilter": "Jakson suodatin", + "episodeSort": "Jakson lajittelu", + "newestFirst": "Uusin ensin", + "oldestFirst": "Vanhin ensin", + "noEpisodes": "Ei vastaavia jaksoja", + "noEpisodesDescription": "Kokeile toista hakua, suodattaa tai järjestä järjestys.", + "dangerZone": "Vaaratilanne alue", + "dangerZoneActions": "Arkistoi, poista tai yhdistä tämä syöte. Poistoa ei voi peruuttaa.", + "mergeTitle": "Merge duplicate show", + "mergeDescription": "Etsi lähdekoodi, joka yhdistetään tähän lähdekoodiin. Lähde poistetaan pysyvästi.", + "searchMergeSource": "Etsi kaksoiskappaletta näytä", + "mergeSelected": "Yhdistä ”{title}” tähän sarjaan", + "fromDate": "Alkaen", + "toDate": "Vastaanottaja", + "feedFailingTitle": "Syötteisiin on kiinnitettävä huomiota", + "feedFailingDetail": "{count} peräkkäiset päivitysvirheet. Viimeisin onnistunut päivitys: {lastSuccess}", + "archivedTitle": "Tämä ohjelma on arkistoitu", + "archivedDescription": "Arkistoidut ohjelmat pysäyttävät päivittämisen eivätkä lataa uusia jaksoja.", + "downloadLatestCount": "Ladattavien viimeisimpien jaksojen määrä", + "confirmRemoveAllDownloads": "Poistetaanko jokainen ladattu jakso tälle ohjelmalle? Suoratoistetut jaksot ja kuuntelemisen edistyminen säilytetään.", + "refreshCompleted": "Päivitetään, {count} uutta jaksoa", + "refreshFailed": "Päivitys epäonnistui: {error}", + "manageTitle": "Hallitse ohjelmaa", + "manageActionsDescription": "Arkistointia, poistamista ja yhdistämistä käsitellään erikseen, joten rutiiniluonnokset pysyvät turvallisina.", + "openManageActions": "Arkisto, poista tai yhdistä", + "archiveOrDelete": "Arkistointi on palautettavaa ja pitää jokaisen jakson. Poistaminen poistaa ohjelman, sen jaksot ja kaikki ladattavat tiedostot lopullisesti.", + "deleteRequiresOwner": "Arkistointi piilottaa tämän sarjan ja pysäyttää sen päivitykset. Vain kirjaston omistaja, jolla on lupa poistaa podcasteja, voi poistaa sen pysyvästi.", + "settingsDescription": "Valitse, miten jaksot hankitaan ja kuinka usein syöte tarkistetaan.", + "updatedAgo": "Päivitetty {time}", + "checksEvery": "Tarkistaa jokaisen {time}", + "visitWebsite": "Vieraile sivustolla", + "backToLibrary": "Takaisin {library}", + "categoryOverflow": "+{count}", + "moreCategories": "Näytä {count} lisää kategoriaa", + "allCategories": "Kaikki kategoriat", + "serial": "Sarja", + "daysShort": "{count} pv", + "hoursShort": "{count} h", + "minutesShort": "{count} min", + "moreActions": "Näytä lisää toimintoja", + "dates": "Päivämäärät", + "anyDate": "Kaikki", + "dateRange": "{from} - {to}", + "dateFilter": "Jakson julkaisupäivät", + "clearDates": "Tyhjennä päivämäärät", + "seasonHeader": "Kausi {season}", + "localSettingsHint": "Tässä ohjelmassa ei ole syötettä, joten siinä ei ole päivitys- tai latausasetuksia." + }, + "edit": { + "title": "Muokkaa tietoja", + "description": "Kaikki mitä muutat tässä on lukittu, joten seuraava syöte ei voi korvata sitä.", + "titleLabel": "Näytä otsikko", + "authorLabel": "Julkaisija", + "authorPlaceholder": "Kuka julkaisee tämän sarjan", + "descriptionLabel": "Kuvaus", + "descriptionPlaceholder": "Mistä tämä näyttely on", + "descriptionHint": "Rehun muotoilu korvataan pelkällä tekstillä, jonka olet syöttänyt tähän.", + "siteUrlLabel": "Sivusto", + "siteUrlPlaceholder": "https://example.com/show", + "languageLabel": "Kieli", + "languagePlaceholder": "fi-Fus", + "categoriesLabel": "Kategoriat", + "categoriesPlaceholder": "Lisää kategoria ja paina Enter", + "removeCategory": "Poista luokka {category}", + "categoryLimit": "Voit pitää jopa {count} kategoriaa.", + "explicitLabel": "Täsmällinen", + "explicitHint": "Merkitse tämä näyttää sisältäen nimenomaisen sisällön.", + "artworkTitle": "Taide", + "artworkHint": "PNG, JPEG, WebP, GIF, tai AVIF jopa 10 MB. Mukautetut taideteokset korvaa syötteen kuvan kaikkialla.", + "artworkUrlLabel": "Kuvan osoite", + "artworkUrlPlaceholder": "https://example.com/artwork.png", + "chooseImage": "Valitse kuva", + "useImage": "Käytä tätä kuvaa", + "removeCustomArtwork": "Poista mukautettu taideteos", + "lockField": "Lukitse {field} syötteen päivityksiä vastaan", + "unlockField": "Avaa {field} jotta syöte voi päivittää sen", + "willLockField": "{field} lukitaan kun tallennat", + "willLockHint": "Tämä kenttä on lukittu, kun tallennat.", + "localDescription": "Tässä näyttelyssä ei ole syötettä, joten muokkauksesi ovat pysyviä, eikä mikään voi korvata niitä." + }, + "episodeEdit": { + "title": "Muokkaa jaksoa", + "description": "Kaikki mitä muutat tässä on lukittu, joten seuraava syöte ei voi korvata sitä.", + "lockHint": "Muokatut kentät on suojattu syötteen päivityksiltä.", + "titleLabel": "Jakson otsikko", + "subtitleLabel": "Tekstitys", + "subtitlePlaceholder": "Lyhyt rivi otsikon alla", + "descriptionLabel": "Kuvaus", + "descriptionPlaceholder": "Mitä tämä jakso kattaa", + "descriptionHint": "Rehun muotoilu korvataan pelkällä tekstillä, jonka olet syöttänyt tähän.", + "publishedAtLabel": "Julkaistu", + "seasonLabel": "Kausi", + "seasonPlaceholder": "2", + "episodeLabel": "Jakson numero", + "episodePlaceholder": "14", + "episodeTypeLabel": "Jakson tyyppi", + "episodeTypeNone": "Ei asetettu", + "episodeTypeFull": "Koko jakso", + "episodeTypeTrailer": "Perävaunu", + "episodeTypeBonus": "Bonus", + "episodeTypeFromFeed": "{value} (syötteestä)", + "durationLabel": "Kesto", + "durationPlaceholder": "Minuuttia", + "durationHint": "Muutamissa minuuteissa. Jätä tyhjäksi poistaaksesi kesto.", + "durationInvalid": "Syötä kesto minuutteina, jotka ovat yli nollan.", + "explicitLabel": "Täsmällinen", + "explicitHint": "Merkitse tämän jakson nimenomaiseksi sisällöksi.", + "localHint": "Tämä episodi tuli tiedostosta eikä syötteestä, joten muokkauksesi ovat pysyviä, eikä mikään voi korvata niitä." + }, + "errors": { + "createBookmark": "Kirjanmerkin luominen epäonnistui", + "updateBookmark": "Kirjanmerkin päivitys epäonnistui", + "deleteBookmark": "Kirjanmerkin poistaminen epäonnistui", + "feedPreview": "Syötteen esikatselu epäonnistui", + "directorySearch": "Hakemiston haku ei ole käytettävissä juuri nyt. Liitä syötteen URL-osoite sen sijaan.", + "invalidEpisodeLimit": "Syötä kelvollinen enimmäismäärä jaksoja", + "invalidEpisodeWindow": "Syötä kelvollinen viimeaikainen jaksotus ikkuna", + "invalidCleanupDelay": "Siivousviiveen on oltava 0 - 8,760 tuntia", + "addPodcast": "Podcastin lisääminen epäonnistui", + "opmlTooLarge": "OPML-tiedostot eivät voi ylittää 5 Mt", + "opmlImport": "OPML-tuonti epäonnistui", + "opmlExport": "OPML-vienti epäonnistui", + "loadSettings": "Podcast-asetuksia ei voitu ladata", + "invalidStorage": "Tallennustilan arvojen on oltava ei-negatiivisia lukuja", + "invalidRefresh": "Oletuspäivityksen on oltava 5-10,080 minuuttia", + "invalidCompletion": "Täydennyskynnyksen on oltava 0 - 3600 sekuntia", + "saveSettings": "Podcast-asetuksia ei voitu tallentaa", + "markPlayed": "Toistetun jakson merkitseminen epäonnistui", + "restartEpisode": "Jakson uudelleenkäynnistys epäonnistui", + "queueDownload": "Jakson latausta ei voitu jonottaa", + "removeDownload": "Jakson latausta ei voitu poistaa", + "addToQueue": "Jakson lisääminen jonoon epäonnistui", + "removeFromQueue": "Jakson poistaminen jonosta epäonnistui", + "loadPodcast": "Podcastin lataus epäonnistui", + "loadEpisodes": "Podcast-jaksojen lataaminen epäonnistui", + "queueNext": "Seuraavan jakson jono epäonnistui", + "follow": "Podcastia ei voitu seurata", + "unfollow": "Podcastin seuraaminen epäonnistui", + "updateEpisode": "Jakson päivitys epäonnistui", + "refresh": "Podcast-päivityksen jono epäonnistui", + "reparse": "Podcast-reparssin jono epäonnistui", + "reparseNoSnapshot": "Kirjanorbitillä ei ole vielä tallennettuja kopioita tästä syötteestä. Päivitä se ensin.", + "updatePodcast": "Podcastin päivitys epäonnistui", + "archive": "Podcastin arkistointi epäonnistui", + "prepareDelete": "Ohjelman poiston valmistelu epäonnistui", + "deleteShow": "Sarjan poistaminen epäonnistui", + "restore": "Podcastin palauttaminen epäonnistui", + "merge": "Podcast-yhdistämisen jono epäonnistui", + "libraryAccess": "Kirjaston käyttöoikeuden lataaminen epäonnistui", + "reorderQueue": "Podcast-jonon uudelleenjärjestäminen epäonnistui", + "clearQueue": "Podcast-jonon tyhjentäminen epäonnistui", + "podcastNotFound": "Podcastia ei löytynyt", + "loadPodcasts": "Podcastien lataaminen epäonnistui", + "loadQueue": "Podcast-jonon lataaminen epäonnistui", + "loadHealth": "Syötteen terveyden lataaminen epäonnistui", + "loadPlaybackSettings": "Podcastin toiston asetuksia ei voitu ladata", + "invalidPlaybackRate": "Toiston hinnan on oltava 0,5 - 3", + "invalidSkipBackward": "Ohita taaksepäin täytyy olla 5 - 120 sekuntia", + "invalidSkipForward": "Ohita eteenpäin on oltava 5 - 120 sekuntia", + "invalidDateRange": "Aloituspäivän on oltava ennen päättymispäivää", + "episodeNotFound": "Podcast-jaksoa ei löydy", + "loadEpisode": "Podcast-jakson lataaminen epäonnistui", + "refreshPlaybackContext": "Soiton kontekstin päivittäminen epäonnistui", + "streamUnavailable": "Tätä podcast-jaksoa ei voi ladata", + "bulkAction": "Podcast-jaksojen päivitys epäonnistui", + "invalidVolume": "Äänenvoimakkuuden on oltava 0 - 100 prosenttia", + "restoreQueue": "Podcast-jonon palauttaminen epäonnistui", + "loadPlaylists": "Soittolistojen lataaminen epäonnistui", + "savePlaylist": "Soittolistan tallentaminen epäonnistui", + "deletePlaylist": "Soittolistan poistaminen epäonnistui", + "queuePlaylist": "Soittolistan jono epäonnistui", + "playlistNameRequired": "Nimeä soittolista ennen sen tallentamista", + "playlistLimitReached": "Olet saavuttanut tallennetun soittolistan rajan", + "playlistDurationRange": "Lyhimmän keston on oltava pisin alle", + "updatePinned": "Kiinnitettyä tilaa ei voitu päivittää", + "titleRequired": "Näytä otsikko ei voi olla tyhjä", + "episodeTitleRequired": "Jakson otsikko ei voi olla tyhjä", + "updateArtwork": "Kuvataiteen päivitys epäonnistui", + "removeArtwork": "Mukautetun taideteoksen poistaminen epäonnistui" + }, + "settingsPage": { + "title": "Podcastin asetukset", + "subtitle": "Hallitse toiston oletusarvoja ja tallennustilan käyttäytymistä jokaiselle podcast-kirjastolle.", + "loading": "Ladataan podcast-asetuksia...", + "saving": "Tallennetaan...", + "playbackTitle": "Toiston oletukset", + "playbackDescription": "Nämä asetukset noudattavat tiliäsi eri laitteissa. Yksittäisiä ohjelmia varten muistetut toiston nopeudet säilytetään.", + "defaultPlaybackRate": "Toiston oletusnopeus", + "skipBackwardSeconds": "Ohita taaksepäin (sekuntia)", + "skipForwardSeconds": "Ohita eteenpäin (sekuntia)", + "playbackSaved": "Podcastin toiston asetukset tallennettu", + "playbackSaveFailed": "Podcastin toiston asetusten tallennus epäonnistui", + "libraryTitle": "Kirjaston oletusarvot ja tallennustila", + "libraryDescription": "Valitse podcast-kirjasto nähdäksesi sen tallennustilan rajat ja päivityksen oletuskäyttäytymisen.", + "library": "Podcastin kirjasto", + "noLibraries": "Sinulla ei ole vielä käyttöoikeuksia podcast-kirjastoon.", + "loadingLibrary": "Ladataan kirjaston asetuksia...", + "readOnlyLibrary": "Vain podcastin säilyttämisoikeudet omaavat kirjastojen omistajat voivat muuttaa näitä asetuksia.", + "showSettingsHint": "Automaattiset lataussäännöt ja päivitä ohitukset pysyvät jokaisen sarjan asetuksissa.", + "defaultVolume": "Oletus äänenvoimakkuus", + "gigabytesUnit": "Gt" + }, + "queueReorder": { + "lifted": "{title} nostettu asentoon {position} jostakin {total}", + "moved": "{title} siirretty kohtaan {position} jostakin {total}", + "dropped": "{title} pudotettu kohtaan {position} jostakin {total}", + "cancelled": "Reordering {title} peruutettu" + }, + "sort": { + "label": "Järjestä", + "showLabel": "Järjestä ohjelmat", + "episodeLabel": "Lajittele jaksot", + "showTitle": "Osasto A–Z", + "showRecent": "Äskettäin päivitetty", + "showUnplayed": "Pelaamaton suosituin", + "shortest": "Lyhin ensin", + "longest": "Pisin ensin", + "recentlyListened": "Äskettäin kuunnellut" + }, + "announce": { + "queued": "{title} lisätty jonoon", + "queuedNext": "{title} soittaa seuraavan", + "unqueued": "{title} poistettu jonosta", + "downloadReady": "{title} valmis lataus", + "downloadFailed": "{title} lataaminen epäonnistui", + "evictedSpace": "{title} lataus poistettu ilmaiseen tallennustilaan", + "evictedPlayed": "{title} lataus poistettu kuuntelun jälkeen", + "sleepExpired": "Nukkumisajastin päättynyt, toisto keskeytetty", + "sleepExtended": "Nukkumisajastin pidentää {count} minuuttia", + "sleepChapterUnavailable": "Uniajastin peruttu, tällä jaksolla ei ole lukuja" + }, + "shortcuts": { + "title": "Podcast-näppäimistön pikakuvakkeet", + "description": "Nämä työt kun episodi on ladattu. Tila ja nuolinäppäimet toimivat soittimen sivulla tai mininpelaaja, ja kirjanmerkit voidaan lisätä vain pelaajan sivulla.", + "open": "Näppäimistön pikakuvakkeet", + "togglePlayback": "Toista tai keskeytä", + "skipBackward": "Ohita taaksepäin", + "skipForward": "Ohita eteenpäin", + "next": "Seuraava jakso", + "previous": "Edellinen jakso", + "speedDown": "Pienennä toiston nopeutta", + "speedUp": "Nosta toiston nopeutta", + "mute": "Mykistä tai poista mykistys", + "volumeUp": "Lisää äänenvoimakkuutta", + "volumeDown": "Vähennä äänenvoimakkuutta", + "bookmark": "Lisää kirjanmerkki", + "help": "Näytä tämä lista", + "spaceKey": "Tila", + "groups": { + "playback": "Toisto", + "navigation": "Navigation", + "tools": "Työkalut" + } + }, + "playlists": { + "title": "Soittolistat", + "builtInLabel": "Rakennettu sisään", + "savedLabel": "Tallennettu", + "choose": "Valitse soittolista", + "search": "Etsi soittolistojen jaksoista", + "summary": "{count} jaksot, {duration}", + "summaryShortest": "Lyhin", + "summaryLongest": "Pisin", + "summaryPublishedWithin": "Julkaistu sisällä", + "create": "Uusi soittolista", + "createTitle": "Uusi älysoittolista", + "editTitle": "Muokkaa älysoittolistaa", + "editorDescription": "Valitse mitkä jaksot tämä älykäs soittolista keräää. Säännöt arvioidaan uudelleen aina, kun avaat sen, joten uudet jaksot näkyvät automaattisesti.", + "edit": "Muokkaa sääntöjä", + "adjustRules": "Säädä sääntöjä", + "saveAs": "Tallenna soittolistana", + "save": "Tallenna soittolista", + "delete": "Poista soittolista", + "deleteConfirmTitle": "Poista tämä soittolista?", + "deleteConfirmDescription": "\"{name}\" ja sen säännöt poistetaan. Sen keräämät jaksot eivät vaikuta niihin.", + "nameLabel": "Soittolistan nimi", + "namePlaceholder": "Aamu työmatka", + "filterLabel": "Jaksot", + "sortLabel": "Tilaus", + "minDuration": "Lyhin (minuuttia)", + "maxDuration": "Pisin (minuuttia)", + "publishedWithin": "Julkaistu sisällä (päivää)", + "showsLabel": "Sarjat", + "showsDescription": "Jätä tämä tyhjäksi sisällyttääksesi kaikki ohjelmat kirjastoon.", + "searchShows": "Hae ohjelmia lisätäksesi", + "removeShow": "Poista {title}", + "showLimit": "Soittolista voi kohdistaa jopa {count} näytettä.", + "copyOf": "{name} kopiota", + "empty": "Mikään ei täsmää tähän soittolistaan vielä", + "emptyDescription": "Säädä sääntöjä tai palaa takaisin kun uudet jaksot saapuvat.", + "builtIn": { + "quick": "Nopeat kuuntelut", + "continue": "Jatka kuuntelua", + "downloaded": "Ladattu", + "fresh": "Tuore tällä viikolla" + }, + "nameRequired": "Nimeä soittolista ennen sen tallentamista" + }, + "downloadWidget": { + "title": "Lataukset", + "progress": "{completed} jostakin {total} ladattu", + "progressWithFailures": "{completed} jostakin {total} ladattu; {failed} epäonnistui", + "progressWithCancelled": "{completed} jostakin {total} ladattu; {cancelled} peruutettu", + "complete": "Lataukset valmistuivat: {count}", + "expand": "Laajenna latausten edistymistä", + "collapse": "Tiivistä latausten edistyminen", + "overallProgress": "Latausten yleinen edistyminen", + "unknownPodcast": "Podcast", + "unknownEpisode": "Jakso", + "batchProgress": "{completed} jostakin {total} complete", + "dismiss": "Hylkää latausten edistyminen", + "bytes": "{received} jostakin {total}", + "episodeProgress": "Lataa edistys kohteelle {title}", + "status": { + "queued": "Jonossa", + "downloading": "Ladataan", + "completed": "Ladattu", + "failed": "Epäonnistui", + "cancelled": "Peruutettu" + } + }, + "collections": { + "addAction": "Lisää kokoelmaan", + "addTitle": "Lisää kokoelmaan", + "addDescription": "Valitse podcast-kokoelma kohteelle {title}.", + "added": "Lisätty {name}", + "addFailed": "Sarjaa ei voitu lisätä kyseiseen kokoelmaan.", + "createFailed": "Kokoelmaa ei voitu luoda.", + "alreadyIn": "Jo tässä kokoelmassa", + "none": "Ei vielä podcast-kokoelmia. Luo sellainen alta.", + "newPlaceholder": "Sci-fi podcastit", + "newLabel": "Uuden kokoelman nimi", + "create": "Luo", + "newCollection": "Uusi kokoelma", + "existing": "Kokoelmat", + "inCollection": "Tässä kokoelmassa", + "showCount": "{count} ohjelmaa", + "removed": "Poistettu kohteesta {name}", + "removeFailed": "Näytettä ei voitu poistaa tuosta kokoelmasta." + } + }, "titles": { "dashboard": "Hallintapaneeli", "libraries": "Kirjastot", "podcastLibraries": "Podcast Libraries", + "podcastScope": "Älykäs Soittolista", + "podcastCollection": "Podcastin Kokoelma", "opds": "OPDS", "koboSync": "Kobo Sync", "koreaderSync": "KOReaderin Synkronointi", @@ -6610,6 +13801,7 @@ "notFound": "Ei Löytynyt", "signIn": "Kirjaudu Sisään", "initialSetup": "Alkuasetukset", + "register": "Luo Tili", "forgotPassword": "Unohtunut Salasana", "resetPassword": "Nollaa Salasana", "completingSignIn": "Suoritetaan Sisäänkirjautumista", @@ -6621,13 +13813,17 @@ "collection": "Kokoelma", "author": "Tekijä", "book": "Kirja", + "podcasts": "Podcastit", + "podcast": "Podcast", + "podcastEpisode": "Jakso", "seriesItem": "Sarja", "appearance": { "theme": "Näyttö", "book-covers": "Kirja Kansit", "icons": "Kuvakkeet", "layout": "Näytä Asettelu", - "behavior": "Kirjaston Käyttäytyminen" + "behavior": "Kirjaston Käyttäytyminen", + "language": "Kieli" }, "reader": { "general": "Lukijan Asetukset", @@ -6639,6 +13835,7 @@ }, "email": { "providers": "Palveluntarjoajat", + "servers": "Sähköpostin palvelimet", "recipients": "Vastaanottajat", "groups": "Ryhmät", "templates": "Mallit", @@ -6652,17 +13849,21 @@ "genre-blocklist": "Genre Blocklist", "score": "Luottamuspisteet", "auto-fetch": "Varaa Automaattihaku", - "authors": "Tekijän Automaatti-nouto" + "authors": "Tekijän Automaatti-nouto", + "search-cache": "Etsi Välimuistista" }, "admin": { "users": "Käyttäjät", "account-activity": "Tilin Toiminta", "magic-links": "Magic Linkit", - "oidc": "OIDC / SSO" + "oidc": "OIDC / SSO", + "server-fonts": "Palvelimen Kirjasimet", + "tts": "Tekstistä Puheeksi" }, "system": { "file-naming": "Tiedoston Nimeäminen", "book-dock": "Kirja Telakka", + "requests": "Pyynnöt", "maintenance": "Huolto", "audit-log": "Tarkastusloki" }, @@ -6673,6 +13874,179 @@ "restrictions": "Sisällön Rajoitukset" }, "smartScopes": "Älykkäät Kohteet", - "collections": "Kokoelmat" + "collections": "Kokoelmat", + "missingResources": "Puuttuvat Resurssit", + "bookRequests": "Pyynnöt", + "bookRequestDetail": "Pyyntö", + "bookRequestReleases": "Valitse julkaisu", + "tts": "Tekstistä Puheeksi" + }, + "tts": { + "readerControls": { + "listen": "Kuuntele", + "playing": "Toistetaan" + }, + "player": { + "fallbackTitle": "Tekstiviestien Soitto", + "play": "Toista Tekstiviesti", + "pause": "Keskeytä TTS", + "openMiniPlayer": "Avaa mini-soitin", + "shrinkPlayer": "Pienennä pelaajaa", + "expandPlayer": "Laajenna pelaajaa", + "collapsePlayer": "Tiivistä soitin", + "openDetails": "Avaa pelaajan tiedot", + "previousSentence": "Edellinen lause", + "nextSentence": "Seuraava virke", + "meta": "Ch {chapter} - Sent {sentence} - {voice} - {speed}x", + "metaWithoutVoice": "Ch {chapter} - Lähetetty {sentence} - {speed}x", + "position": "Luku {chapter} - Lause {sentence}", + "playbackError": "Soittovirhe - napauta toistoa yrittääksesi uudelleen", + "voice": "Ääni", + "sleep": "Lepotila", + "sleepRemaining": "{count}m", + "currentVoice": "Nykyinen Ääni", + "chooseVoice": "Valitse ääni", + "saveForBook": "Tallenna tähän kirjaan", + "setAsDefault": "Aseta globaaliksi oletukseksi", + "bookVoiceSaved": "Ääni tallennettu tähän kirjaan", + "bookVoiceSaveFailed": "Kirjan äänen tallennus epäonnistui", + "defaultVoiceSaved": "Oletus TTS ääni päivitetty", + "defaultVoiceSaveFailed": "Oletusäänen päivitys epäonnistui", + "stop": "Pysäytä" + }, + "speed": { + "label": "Toiston nopeus", + "value": "{speed}x" + }, + "sleepTimer": { + "title": "Uniajastin", + "preset": "{count}m", + "presetLabel": "Lopeta toisto jälkeen {count} minuuttia", + "cancel": "Peruuta", + "cancelLabel": "Peruuta nukkumisajastin", + "remaining": "Pysähtyy sisään {minutes}m {seconds}s" + }, + "resume": { + "title": "Jatketaanko Tekstiviestiä?", + "description": "Sinulla on tallennettu TTS-sijainti", + "descriptionWithChapter": "Sinulla on tallennettu TTS-asema (luku {chapter})", + "resume": "Jatka", + "startHere": "Aloita tämä sivu", + "dismiss": "Hylkää", + "clearing": "Tyhjennetään...", + "confirmClear": "Vahvista tyhjennys", + "clearSavedPosition": "Tyhjennä tallennettu sijainti" + }, + "voicePicker": { + "search": "Etsi ääniä...", + "allProviders": "Kaikki", + "allLanguages": "Kaikki kielet", + "allCountries": "Kaikki maat", + "filterByLanguage": "Suodata kielen mukaan", + "filterByCountry": "Suodata maan mukaan", + "empty": "Ääntä ei löytynyt", + "select": "Valitse {name}", + "preview": "Esikatsele {name}", + "voiceWithLocale": "{voice} - {locale}" + }, + "settings": { + "description": "Määritä TTS-puhe- ja soiton oletusasetukset.", + "defaultVoice": "Oletus Ääni", + "selectVoice": "Valitse ääni...", + "change": "Muuta", + "defaultSpeed": "Oletus Nopeus", + "saved": "Tekstiviestien asetukset tallennettu", + "saveFailed": "TTS-asetuksia ei voitu tallentaa" + }, + "errors": { + "generic": "TTS-virhe" + } + }, + "delivery": { + "readAloud": { + "label": "Lue EPUB toimitus", + "automatic": "Automaattinen: suosii vain tekstiä, salli alkuperäinen fallback.", + "textOnly": "Vain Teksti EPUB", + "original": "Alkuperäinen EPUB kertomalla", + "hint": "Koskee tulevia toimituksia. Alkuperäiskappaleet säilyttävät olemassa olevan kerronnan ja voivat olla paljon suurempia. Valmistelu epäonnistuu, jos turvallista kopiota ei voida tehdä.", + "koboHint": "Alkuperäiset EPUB:t ohittavat KEPUB-konversiota. Native Kobo firmware ei välttämättä toista kertomusta, ja tarkka sijainti ja korostus synkronointi eivät ole käytettävissä.", + "profileHint": "Käytä erillisiä OPDS-profiileja lukijoille, jotka tarvitsevat erilaisia EPUB-vaihtoehtoja.", + "replacementTitle": "Korvaa kopio Kobosta", + "bookId": "Kirjan Tunnus", + "device": "Laite", + "prepare": "Valmistele korvaaminen", + "offer": "Poistin vain laitteen kopion; tarjoa korvaava", + "confirm": "Asensin korvaavan laitteen", + "cancel": "Peruuta korvaaminen", + "replacementHint": "Valmistele ja tarkista ensin. Laitteen kopion poistaminen ei poista kirjaston kirjaa. Varmuuskopioi laitteen paikalliset merkinnät itse. Kirjankierto säilyttää kanonisen edistymisen ja palvelimen selitykset. Viivästyneet tapahtumat voivat rajoittaa tarkkaa synkronointia.", + "prepared": "Korvaava valmistettu: {format}, {size}. Poista tämä kirja vain valitusta laitteesta ja tarjoa sitten valmis korvaaminen ja synkronointi.", + "offered": "Korvaus. Synkronoi ja lataa laitteella ja vahvista asennus. Suoritettu HTTP-siirto ei todista asennusta.", + "cancelled": "Korvaus peruttu. Peruutus ei palauta poistettua tai osittain vaihdettua laitteen kopiota. Valitse sama kirja valmistellaksesi palautuksen latauksen.", + "alreadyOnDevice": "Laitteella on jo tämä tarkka kopio, joten ei ole mitään korvattavaa.", + "failed": "Korvausta ei voitu valmistella tai päivittää.", + "searchBook": "Etsi kirjaa", + "chooseBook": "Valitse kirja", + "moreResults": "Näytä lisää kirjoja", + "noResults": "Vastaavia kirjoja ei löytynyt.", + "refresh": "Päivitä toimituksen tila", + "confirmed": "Vahvistit asennuksen. Tämä tallentaa vahvistuksen, ei laitteen vahvistuksen.", + "transferred": "Siirto valmis. Avaa korvaaminen laitteella ennen asennuksen vahvistamista.", + "koreaderDefaultTitle": "KOReader EPUB toimitus", + "koreaderDefaultHint": "Oletus koskee näitä tunnuksia käyttävien laitteiden tulevia latauksia. Laiteasetukset voivat ohittaa sen. Olemassa olevat kopiot ja keskeytyneet lataukset pysyvät muuttumattomina. Automaattinen säilyttää olemassa olevat laitevalinnat.", + "koreaderUseDefault": "Käytä käyttäjätunnuksen oletusta", + "koreaderSaveFailed": "KOReader EPUB -toimitusasetusta ei voitu tallentaa. Yritä uudelleen.", + "koreaderSaved": "KOReader EPUB toimitusasetus tallennettu." + } + }, + "commandPalette": { + "title": "Etsi", + "description": "Etsi kirjoja, kirjoittajia, sarjoja ja asetuksia, hypätä paikkaan tai suorita toiminto.", + "placeholder": "Etsi kirjoja, kirjoittajia, sarjoja tai mene kohtaan…", + "close": "Sulje haku", + "clear": "Tyhjennä haku", + "tabs": { + "all": "Kaikki", + "books": "Kirjat", + "authors": "Tekijät", + "series": "Sarja", + "settings": "Asetukset" + }, + "sections": { + "continueReading": "Jatka Lukemista", + "goTo": "Siirry kohteeseen", + "actions": "Toiminnot", + "books": "Kirjat", + "authors": "Tekijät", + "series": "Sarja", + "settings": "Asetukset" + }, + "kinds": { + "author": "Tekijä", + "series": "Sarja", + "library": "Kirjasto", + "smartScope": "Älykäs soveltamisala", + "collection": "Kokoelma", + "page": "Sivu", + "setting": "Asetus" + }, + "showAllBooks": "{count, plural, one {Näytä # kirja} other {Näytä kaikki # kirjaa}}", + "showAllAuthors": "{count, plural, one {Näytä # tekijä} other {Näytä kaikki # tekijää}}", + "showAllSeries": "{count, plural, one {Näytä # sarja} other {Näytä kaikki # sarja}}", + "showAllSettings": "{count, plural, one {Näytä # asetus} other {Näytä kaikki # asetukset}}", + "actions": { + "lightTheme": "Vaihda vaaleaan teemaan", + "darkTheme": "Vaihda tummaan teemaan" + }, + "hints": { + "navigate": "Navigate", + "open": "Avaa", + "filter": "Suodatin", + "close": "Sulje" + }, + "keys": { + "escape": "esc", + "tab": "tab" + }, + "resultCount": "{count, plural, =0 {Ei tuloksia} one {# tulos} other {# tulos}}" } } diff --git a/client/src/locales/fr.json b/client/src/locales/fr.json index 8f3bf3ddc..75667b071 100644 --- a/client/src/locales/fr.json +++ b/client/src/locales/fr.json @@ -107,10 +107,52 @@ }, "theme": { "title": "Thème", + "style": { + "label": "Style", + "hint": "L'aspect général de l'application. Mode, accent, coins et arrière-plan gardent leurs paramètres.", + "bookorbit": { + "label": "Orbite des livres", + "description": "Surfaces teintées, panneaux de verre et entêtes de sersif." + }, + "nostalgia": { + "label": "Nostalgia", + "description": "Sols neutres, type système, panneaux plats et une lueur supérieure." + } + }, "colorScheme": { "label": "Jeu de couleurs", "hint": "Interface claire ou sombre" }, + "surfacePalette": { + "label": "Surface", + "hint": "Le sol neutre derrière les panneaux et les cartes.", + "palettes": { + "onyx": "Onyx", + "carbon": "Carbone", + "neutral": "Neutre", + "zinc": "Zinc", + "iron": "Fer", + "steel": "Acier", + "ash": "Cendre", + "smoke": "Fumée", + "charcoal": "Charbon", + "slate": "Ardoise", + "midnight-blue": "Bleu minuit", + "ocean": "Océan", + "pine": "Pin", + "olive": "Olive", + "stone": "Pierre", + "sepia": "Sepia", + "crimson": "Cramoisi", + "plum": "Prune" + } + }, + "topGlow": { + "label": "Lumière supérieure", + "hint": "Dans quelle mesure l'accent clignote vers le bas de la page. Faites glisser tout le chemin vers la gauche pour le désactiver.", + "value": "{value}%", + "off": "Désactivé" + }, "accents": { "grey": "Gris", "scarlet": "Écarlate", @@ -183,7 +225,13 @@ }, "cornerRadius": { "label": "Rayon d'angle", - "hint": "Rondeur des cartes et des éléments de l'interface utilisateur" + "hint": "Rondeur des cartes et des éléments de l'interface utilisateur", + "options": { + "sharp": "Tranchant", + "default": "Par défaut", + "rounded": "Arrondi", + "pill": "Pill" + } }, "surfaceBrightness": { "label": "Luminosité des surfaces", @@ -202,7 +250,8 @@ "structural": "Structurel", "ambient": "Ambiante", "refractive": "Réfractif" - } + }, + "syncSaveFailed": "Impossible d'enregistrer les préférences du thème" }, "storage": { "title": "Où enregistrer les préférences d'apparence", @@ -234,6 +283,21 @@ "loadError": "Impossible de charger le fournisseur de couverture par défaut", "saveError": "Impossible d'enregistrer le fournisseur de couverture par défaut" }, + "placeholderStyle": { + "title": "Style des espaces réservés", + "hint": "Les livres sans pochette sont dessinés dans ce style.", + "options": { + "bauhaus": "Bauhaus", + "constructivist": "Constructiviste", + "memphis": "Memphis", + "clothbound": "Vêtement lié", + "poster": "Affiche", + "aurora": "Aurora", + "vista": "Visible", + "marbled": "Marbrée", + "paperback": "Retour papier" + } + }, "displayMode": { "title": "Mode d'affichage de la couverture", "hint": "Contrôle la manière dont les couvertures réelles s'insèrent dans les emplacements des livres lorsque les proportions diffèrent", @@ -1216,6 +1280,11 @@ "portrait": "Portrait 2:3", "square": "Carré 1:1" }, + "gridShape": "Forme de la grille", + "gridShapeValue": { + "tall": "Grandes cellules", + "square": "Cellules carrées" + }, "none": "Aucun", "allSupported": "Tous pris en charge", "patternCount": "{count, plural, one {# motif} other {# motifs} many {# motifs}}", @@ -1518,7 +1587,132 @@ "subtitle": "Envoyez des polices directement disponibles pour tous les utilisateurs dans le lecteur Ebook.", "listLabel": "Polices du serveur", "noFontsYet": "Aucune police disponible sur le serveur pour le moment", - "noFontsHint": "Les polices que vous ajoutez ici sont disponibles dans le lecteur de tous les utilisateurs." + "noFontsHint": "Les polices que vous ajoutez ici sont disponibles dans le lecteur de tous les utilisateurs.", + "addFonts": "Ajouter des polices", + "filterLabel": "Filtrer les familles", + "filterPlaceholder": "Filtrer les familles", + "filterClear": "Effacer le filtre", + "noMatches": "Aucune famille ne correspond à «{query}»", + "previewLabel": "Aperçu du texte", + "previewPlaceholder": "Tapez pour l'afficher dans chaque famille", + "previewSize": "Taille de l'aperçu", + "previewSizeOption": "{size} px", + "familiesUnit": "{count, plural, one {famille} other {familles}}", + "filesOfMax": "{count} fichiers sur {max}", + "onDisk": "{size} sur le disque", + "columns": { + "family": "Famille", + "specimen": "Spécimen", + "styles": "Styles", + "readers": "Lecteurs" + }, + "fileSummary": "{count, plural, one {# fichier} other {# fichiers}} · {size}", + "newBadge": "Nouveau", + "styles": { + "single": "{style} seulement", + "many": "{count} styles", + "manyNoItalics": "{count} styles, no italics" + }, + "facts": { + "books": "{count, plural, one {Sur # livre} other {Sur # livres}}", + "booksDetail": "{books, plural, one {Allumé # livre} other {# livres}} par {readers, plural, one {# lecteur} other {# lecteurs}}", + "defaults": "{count, plural, one {Par défaut pour # lecteur} other {Par défaut pour # lecteurs}}", + "hidden": "{count, plural, one {Caché par # lecteur} other {Caché par # lecteurs}}" + }, + "moreActions": "Plus pour {name}", + "menu": { + "rename": "Renommer la famille", + "addFiles": "Ajouter des fichiers", + "remove": "Supprimer la famille…" + }, + "footerHint": "Chaque lecteur les voit dans la liste des polices du lecteur et peut les cacher sous Reader › Polices.", + "empty": { + "dropHint": "ou déposer des fichiers n'importe où sur cette page", + "tip": "Une famille se lit mieux comme quatre fichiers : Regular, Italic, Grold and Bold Italic, un fichier variable pour chaque poids." + }, + "drop": { + "title": "{count, plural, one {Déposez pour ajouter # fichier pour chaque lecteur} other {Déposez pour ajouter # fichiers pour chaque lecteur}}" + }, + "upload": { + "ariaLabel": "Progression du téléchargement", + "title": "{count, plural, one {Ajoute # fichier} other {Ajoute # fichiers}}", + "progress": "{done} sur {total} fait", + "addedCount": "{count} ajouté", + "duplicateCount": "{count} déjà ici", + "refusedCount": "{count} non ajouté", + "dismiss": "Refuser", + "newFamily": "nouvelle famille", + "states": { + "queued": "En attente", + "uploading": "Envoi en cours", + "added": "Ajouté", + "duplicate": "Déjà sur le serveur", + "refused": "Non ajouté", + "failed": "Echoué" + }, + "reasons": { + "tooLarge": "Plus grand que {maxMb} Mo.", + "unsupportedType": "Ce n'est pas un fichier de police. Utilisez TTF, OTF, WOFF ou WOFF2.", + "invalidFile": "Le fichier est endommagé ou n'est pas vraiment une police.", + "faceTaken": "{familyName} a déjà un fichier à ce poids et à ce style.", + "limitReached": "Le serveur contient déjà des fichiers de police {limit}.", + "failed": "Échec du téléchargement. Réessayez." + } + }, + "sheet": { + "description": "Aperçu, renommer et gérer les fichiers de {name}", + "variable": "Variable", + "preview": "Aperçu", + "pageColour": "Couleur de la page", + "papers": { + "app": "Surface de l'application", + "white": "Page blanche", + "sepia": "Sepia page", + "night": "Page de nuit" + }, + "previewHeading": "Le jardin des fleurs vivantes", + "previewParagraph1": "Alice la regarda avec une grande surprise. « Pourquoi, je crois que nous avons été sous cet arbre tout le temps! Tout est comme ça !»", + "previewParagraph2": "« Maintenant, ici, tu vois, il faut tout ce que tu peux faire pour rester au même endroit. Si vous voulez aller ailleurs, vous devez courir au moins deux fois plus vite que cela!»", + "styles": "Styles", + "stylesHint": "Ce que la ligne de style du lecteur offre", + "singleStyleNote": "Un style, donc les lecteurs n'ont pas de ligne de style. Le texte en gras et en italique dans les livres est falsifié par le navigateur à partir de {style}.", + "inReader": "Dans le lecteur", + "inReaderHint": "La liste de polices que chaque lecteur reçoit dans le Lecteur › Paramètres, avec {name} choisi.", + "pickerLabel": "Aperçu de la liste des polices du lecteur", + "files": "Fichiers", + "filesUsed": "{count} de {max} utilisé sur ce serveur", + "fileDetail": "{summary} · Ajouté {date}", + "upright": "Droit", + "italic": "Italic", + "fileActions": "Plus pour {name}", + "changeStyle": "Changer le poids et le style", + "removeFile": "Supprimer le fichier", + "removeFileQuestion": "Supprimer ce fichier pour chaque lecteur?", + "weight": "Poids", + "style": "Style", + "name": "Nom de famille", + "nameHint": "Les lecteurs choisissent les polices de ce nom.", + "nameHiddenWarning": "{count, plural, one {# lecteur s'est caché {name}} other {# lecteurs ont caché {name}}}; un nouveau nom les montre à nouveau.", + "nameBooksWarning": "Un nouveau nom envoie {count, plural, one {le # livre qui l'utilise} other {Les # livres qui l'utilisent}} retournent à la police du livre.", + "readers": "Lecteurs", + "stats": { + "books": "{count, plural, one {Le livre l'utilise} other {Les livres l'utilisent}}", + "defaults": "{count, plural, one {le lecteur par défaut} other {les lecteurs par défaut}}", + "hidden": "{count, plural, one {le lecteur l'a caché} other {Les lecteurs l'ont caché}}" + }, + "readersPrivacy": "Ne compte que : quels livres et quels lecteurs restent privés.", + "removeLabel": "Supprimer la famille", + "removeQuestion": "Supprimer {name} pour chaque lecteur?", + "removeConsequenceBooks": "{books, plural, one {Elle est définie pour # livre} other {Elle est définie pour # livres}} par {readers, plural, one {# lecteur} other {# lecteurs}} ; ces livres reviennent à leur propre police.", + "removeConsequenceFiles": "{count, plural, one {Son fichier est supprimé du serveur.} other {Tous les # fichiers sont supprimés du serveur.}}", + "loadFailedNote": "Ce navigateur n'a pas pu charger le fichier de police, donc les aperçus montrent un visage de repli. Les navigateurs des lecteurs le refuseront très probablement aussi; essayez une autre copie de la police." + }, + "toasts": { + "removed": "{name} supprimé", + "removePartial": "{failed, plural, one {# fichier} other {# fichiers}} de {name} n'a pas pu être supprimé", + "renameTaken": "{name} a déjà un fichier avec le même poids et style" + }, + "loadFailed": "Ce navigateur ne peut pas le charger" } }, "common": { @@ -1570,6 +1764,7 @@ "publishedYear": "Année de publication", "language": "Langue", "pageCount": "Nombre de pages", + "isbn": "ISBNs", "communityRating": "Évaluation de la communauté", "seriesName": "Nom de la série", "seriesIndex": "Tome", @@ -1671,6 +1866,92 @@ "inheritFromGlobal": "Hériter du global", "usingGlobalDefaults": "Utilisation des valeurs par défaut globales.", "saveOverride": "Enregistrer le remplacement" + }, + "scope": { + "ownSettings": "{count, plural, one {# propre paramètre} other {# propres paramètres}}", + "globalIntro": "Chaque bibliothèque respecte cette règle, sauf si elle en a la sienne.", + "globalCoverage": "{libraryCount, plural, one {S'applique à # bibliothèque} other {S'applique à # bibliothèques}}, {bookCount, plural, one {# livre} other {# livres}}.", + "ownLibraries": "{names} {count, plural, one {a sa propre règle.} other {ont leurs propres règles.}}", + "libraryFollows": "{library} suit la règle globale. Changez tout ce qui est ici pour lui donner sa propre règle.", + "libraryOwn": "{library} a sa propre règle pour {count, plural, one {# paramètre} other {# paramètres}}. Tout le reste suit la règle globale.", + "lastRun": "Dernière exécution {when}, {count, plural, one {# livre} other {# livres}} en file d’attente.", + "neverRun": "Pas encore exécuté.", + "useGlobalRule": "Utiliser la règle globale", + "loadFailed": "La récupération automatique des paramètres n'a pas pu être chargée. Rechargez la page pour réessayer.", + "saved": "Enregistré {scope}", + "saveFailed": "Impossible d'enregistrer {scope}. Réessayez." + }, + "run": { + "all": "Exécuter pour chaque bibliothèque", + "library": "Exécuter pour {library}", + "saveFirst": "Les exécutions utilisent la règle sauvegardée. Enregistrez d'abord.", + "failed": "Le run n'a pas pu être démarré. Veuillez réessayer." + }, + "onImport": { + "label": "Récupérer les métadonnées pour les nouveaux livres", + "hint": "Balaye et télécharge immédiatement la file d'attente correspondant aux livres. Une récupération à l'importation ne remplit que des champs vides ; les champs verrouillés ne sont jamais changés.", + "follow": "Suivre le mode global", + "on": "Activé", + "off": "Désactivé" + }, + "columns": { + "books": "{count, plural, one {Réservez} other {livres}}", + "ofTotal": "de {total}", + "off": "Désactivé", + "own": "Propre", + "global": "Globale", + "useGlobal": "Utiliser globalement", + "globalValue": "Règle globale: {value}", + "on": "Activé", + "scoreBelowValue": "Score en dessous de {threshold}", + "neverFetchedSplit": "{count, plural, one {# jamais récupéré} other {# jamais récupéré}}", + "fetchedBeforeSplit": "{count, plural, one {# récupéré avant} other {# récupéré avant}}", + "lowScoreLabel": "Score de confiance faible", + "lowScoreHint": "Récupérer les livres dont le score de confiance est sous la ligne.", + "outOf": "/ 100", + "lowerThreshold": "Abaisser le seuil", + "raiseThreshold": "Augmenter le seuil", + "missingHint": "Récupère si un champ sélectionné est vide. Chaque champ montre combien de livres le manque.", + "audioGroup": "Livres avec audio", + "audioHint": "{count, plural, =0 {Aucun ici n'a d'audio.} one {Seul le # livre avec l'audio peut en manquer.} other {Seul le # avec l'audio peut en manquer.}}", + "fieldCount": "{field}: {count, plural, one {# le livre ne l'est pas} other {# les livres manquent}}" + }, + "histogram": { + "label": "Seuil de score de confiance", + "valueText": "Score en dessous de {threshold}" + }, + "preview": { + "title": "Qu'est-ce qu'un run récupèrerait", + "matching": "{matching, plural, one {# de {total} les livres correspondent} other {# de {total} les livres correspondent}}", + "showing": "{count, plural, one {montrant le moins complet} other {montrant # le moins complet}}", + "empty": "Aucun livre ne correspond à cette règle, donc un run ne ferait aucune file d’attente.", + "unknownAuthor": "Auteur inconnu", + "score": "Score {score}", + "more": "+{count}", + "missing": { + "title": "Pas de titre", + "subtitle": "Aucun sous-titre", + "description": "Pas de description", + "cover": "Pas de couverture", + "audioCover": "Pas de couverture de livre audio", + "authors": "Aucun auteur", + "publisher": "Aucun éditeur", + "isbn": "Aucun ISBN", + "publishedYear": "Aucune année publiée", + "language": "Aucune langue", + "pageCount": "Aucun nombre de pages", + "communityRating": "Aucune note de la communauté", + "seriesName": "Aucun nom de série", + "seriesIndex": "Aucun index de série", + "genres": "Aucun genre", + "narrators": "Aucun narrateur", + "duration": "Aucune durée", + "abridged": "Abrégé non défini" + } + }, + "queue": { + "progress": "{done} de {total}", + "failed": "{count, plural, one {# livre n'a pas pu être récupéré} other {# livres n'ont pas pu être récupérés}}" } }, "providers": { @@ -1766,7 +2047,8 @@ "overwriteTerm": "Écraser :", "overwriteBody": "Remplacez chaque fois qu'un fournisseur dispose de données." }, - "summary": "Les fournisseurs sont essayés de haut en bas et le premier à renvoyer une valeur l'emporte. La stratégie de fusion détermine si cette valeur peut remplacer celle que le livre possède déjà ; les genres peuvent aussi ajouter de nouvelles valeurs uniques. Définissez les valeurs par défaut ici, puis remplacez-les champ par champ, par bibliothèque." + "summary": "Les fournisseurs sont essayés de haut en bas et le premier à renvoyer une valeur l'emporte. La stratégie de fusion détermine si cette valeur peut remplacer celle que le livre possède déjà ; les genres peuvent aussi ajouter de nouvelles valeurs uniques. Définissez les valeurs par défaut ici, puis remplacez-les champ par champ, par bibliothèque.", + "summaryByMedium": "Les fournisseurs sont tentés de haut en bas, et le premier avec une valeur gagne; les genres en mode fusion et les évaluations de la communauté combinent chaque fournisseur à la place. La stratégie de fusion décide si une valeur peut remplacer ce que le livre a déjà. Audible, AudNexus et Libro. m seulement répondre pour les livres avec de l'audio, lecture des EPUB inclus, donc les mettre d'abord préfère les métadonnées de livres audionumériques sans toucher aux livres électroniques. L'art de couverture de la mauvaise forme remplit un emplacement seulement quand rien d'autre ne peut. Une bibliothèque remplace la règle entière de ce champ." }, "libraryOverrides": { "title": "Remplacements de bibliothèque", @@ -1835,6 +2117,7 @@ }, "field": { "noProviders": "Activé mais n'a aucun fournisseur", + "noUsableProvider": "Activé, mais aucun fournisseur ici ne peut le remplir", "empty": "Vide", "config": "Configuration", "custom": "Personnalisé", @@ -1893,7 +2176,11 @@ "disabled": "Désactivé", "notConfigured": "Non configuré", "disabledDetail": "{provider} est désactivé ; il reste donc dans l'ordre, mais est ignoré.", - "notConfiguredDetail": "{provider} n'a pas encore d'identifiants ; il reste donc dans l'ordre, mais est ignoré." + "notConfiguredDetail": "{provider} n'a pas encore d'identifiants ; il reste donc dans l'ordre, mais est ignoré.", + "neverSupplies": "Ne fournissez jamais ceci", + "neverSuppliesDetail": "{provider} ne fournit jamais ce champ, il est donc ignoré ici.", + "otherShape": "Autre forme de couverture", + "otherShapeDetail": "{provider} ne possède que des couvertures de l’autre forme ; il ne remplit donc cet emplacement que si rien d’autre ne le peut." }, "detail": { "priority": "Priorité des fournisseurs", @@ -1947,6 +2234,123 @@ "emptyHint": "Ajoutez des valeurs exactes telles que Livre audio ou Adulte pour les empêcher d'apparaître dans les métadonnées récupérées.", "removeLabel": "Supprimer {genre}" }, + "searchCache": { + "loadFailed": "Impossible de charger les paramètres du cache de recherche.", + "retry": "Réessayez", + "saved": "Paramètres de cache de recherche enregistrés", + "saveFailed": "Impossible d'enregistrer les paramètres du cache de recherche", + "units": { + "hours": "Heures", + "days": "Jours" + }, + "general": { + "title": "Réponses enregistrées", + "enabled": "Enregistrer les réponses du fournisseur", + "enabledHint": "Recherches, rafraichissements en masse et récupération en arrière-plan réutilisent les réponses enregistrées au lieu de demander de nouveau à chaque fournisseur.", + "resultsTtl": "Conserver les résultats pour", + "resultsTtlHint": "Combien de temps une réponse avec des résultats est réutilisée avant de demander de nouveau au fournisseur.", + "resultsTtlUnit": "Unité de temps des résultats", + "emptyTtl": "Garder les réponses vides pour", + "emptyTtlHint": "Combien de temps un fournisseur ne trouvant rien est rappelé. Ne s'applique qu'aux fournisseurs marqués comme ayant mis en cache des réponses vides. 0 ne garde jamais de réponses vides.", + "emptyTtlUnit": "Unité de temps des réponses vides", + "staleGrace": "Utiliser les réponses expirées pour", + "staleGraceHint": "Lorsqu'un fournisseur échoue, une réponse jusqu'à ce que cette date d'expiration soit utilisée à la place. 0 ne se replie jamais.", + "staleGraceUnit": "Unité de temps des réponses expirées", + "storage": "Budget de stockage", + "storageHint": "Les réponses les plus anciennes sont supprimées une fois que les réponses enregistrées passent cette taille. Sur le disque, la table peut prendre environ 1,5 à 2 fois le budget.", + "storageUnit": "MO" + }, + "providers": { + "title": "Paramètres par fournisseur", + "hint": "Laissez une case vide pour utiliser la valeur ci-dessus. Désactivez un fournisseur pour toujours le demander en direct.", + "books": "Livres", + "authors": "Auteurs", + "none": "Aucun fournisseur n'est disponible.", + "globalOff": "L'enregistrement des réponses est désactivé, donc ces paramètres s'appliquent dès qu'il est activé.", + "on": "Activé", + "off": "Désactivé", + "enabledLabel": "Enregistrer les réponses de {provider}", + "resultsTtl": "Conserver les résultats pour", + "resultsTtlLabel": "Garder les résultats {provider} pour", + "resultsTtlUnitLabel": "Unité de temps pour les résultats {provider}", + "emptyTtl": "Garder les réponses vides pour", + "emptyTtlLabel": "Garder les réponses {provider} vides pour", + "emptyTtlUnitLabel": "Unité de temps pour les réponses {provider} vides", + "noEmptyCaching": "Les réponses vides de ce fournisseur ne sont jamais enregistrées.", + "notCacheable": "Les réponses de ce fournisseur ne sont jamais enregistrées.", + "reset": "Réinitialiser {provider} aux valeurs par défaut" + }, + "validation": { + "required": "Entrez une valeur.", + "wholeNumber": "Entrez un nombre entier.", + "range": "Entrez une valeur de {min} à {max}.", + "tooManyOverrides": "Trop de fournisseurs ont leurs propres paramètres. Réinitialisez certains pour enregistrer." + }, + "save": { + "unsaved": "Modifications non enregistrées", + "invalid": "Corriger les champs en surbrillance pour enregistrer", + "upToDate": "Toutes les modifications ont été enregistrées", + "discard": "Abandonner", + "action": "Enregistrer" + }, + "stats": { + "group": "Usage", + "title": "Réponses enregistrées", + "refresh": "Rafraîchir", + "loadFailed": "Impossible de charger l'utilisation du cache.", + "storage": "Stockage utilisé", + "storageUsed": "{used} de {budget}", + "storageHint": "La taille des réponses enregistrées elles-mêmes. La table sur le disque est plus grande.", + "entries": "Réponses enregistrées", + "emptyEntries": "Réponses vides", + "diskSize": "Taille de la table sur le disque", + "hitRate": "Taux de clics", + "requestsAvoided": "Requêtes évitées", + "fallbacks": "Rétro-retour", + "skippedWrites": "Écritures ignorées", + "oldest": "Réponse la plus ancienne", + "none": "Pas encore", + "countersHint": "Taux de clics, requêtes évitées, replis et ignorés en écriture depuis le dernier démarrage du serveur.", + "perProvider": "Réponses enregistrées par le fournisseur", + "provider": "Fournisseur", + "kind": "Type de texte", + "size": "Taille", + "empty": "Rien n'est encore enregistré." + }, + "clear": { + "group": "Entretien", + "title": "Effacer les réponses enregistrées", + "regionHint": "Les fournisseurs peuvent répondre différemment par emplacement. Vider le cache après avoir déplacé le serveur vers une autre région ou VPN.", + "action": "Nettoyer", + "failed": "Impossible d'effacer les réponses enregistrées", + "done": "{count, plural, one {# réponse sauvegardée} other {# réponses sauvegardées retirées}}", + "donePending": "{count, plural, one {# réponse sauvegardée retirée. Le reste est en cours de suppression en arrière-plan.} other {# réponses sauvegardées enlevées. Le reste est en cours de suppression en arrière-plan.}}", + "empty": { + "label": "Effacer les réponses vides uniquement", + "hint": "Oublie que les fournisseurs n'ont rien trouvé, donc ces recherches demandent à nouveau.", + "confirmTitle": "Effacer les réponses vides ?", + "confirmDescription": "Réponses enregistrées où un fournisseur n'a rien trouvé sont supprimées. Les réponses avec des résultats sont conservées." + }, + "book": { + "label": "Effacer les réponses du livre", + "hint": "Supprime tout ce qui est sauvegardé des fournisseurs de livres.", + "confirmTitle": "Effacer les réponses au livre ?", + "confirmDescription": "Toutes les réponses enregistrées des fournisseurs de livres sont supprimées. Les prochaines recherches demandent de nouveau à ces fournisseurs." + }, + "author": { + "label": "Effacer les réponses de l'auteur", + "hint": "Supprime tout ce qui est sauvegardé des fournisseurs d'auteur.", + "confirmTitle": "Effacer les réponses de l'auteur ?", + "confirmDescription": "Toutes les réponses enregistrées des fournisseurs d'auteur sont supprimées. Les prochaines recherches demandent de nouveau à ces fournisseurs." + }, + "all": { + "label": "Effacer toutes les réponses enregistrées", + "hint": "Vide le cache. Chaque fournisseur est demandé à nouveau lors de la recherche suivante.", + "confirmTitle": "Effacer toutes les réponses enregistrées ?", + "confirmDescription": "Toute la cache est vidée. Les recherches seront plus lentes jusqu'à ce qu'elles se remplissent à nouveau, et il ne reste plus rien à faire pendant que le fournisseur est en panne." + } + } + }, "customFields": { "label": "Étiquette", "labelPlaceholder": "par ex. Titre original", @@ -1995,7 +2399,145 @@ "selectAll": "Tout sélectionner", "clear": "Effacer", "noLibraries": "Aucune bibliothèque disponible pour l'instant.", - "allLibraries": "Toutes les bibliothèques" + "allLibraries": "Toutes les bibliothèques", + "pageFacts": "{fields, plural, one {# champ} other {# champs}} · {values, plural, one {# valeur stockée} other {# valeurs stockées}}", + "newFieldAction": "Nouveau champ", + "views": { + "label": "Afficher les champs actifs ou archivés", + "active": "Actif", + "archived": "Archivé" + }, + "columns": { + "order": "Commandes", + "field": "Champ", + "type": "Type de texte", + "libraries": "Bibliothèques", + "filled": "Rempli", + "valuesKept": "Valeurs conservées", + "archived": "Archivé", + "actions": "Actions" + }, + "orderHint": "Glissez pour définir les champs d'ordre apparaissent dans les métadonnées d'édition, dans les colonnes de la table et dans les exportations.", + "archivedHint": "Les champs archivés sont cachés dans les livres, les filtres et les exportations. Leurs valeurs restent stockées jusqu'à ce que le champ soit supprimé.", + "coverage": "{filled} de {total}", + "coverageAria": "Les livres {filled} sur {total} ont une valeur", + "onNoLibrary": "Aucune librairie", + "onNoLibraryHint": "Sur aucune bibliothèque, donc ce champ n'apparaît nulle part", + "moreLibraries": "+{count}", + "noValues": "Aucun", + "rowActions": { + "edit": "Editer", + "editField": "Editer le champ", + "moveUp": "Déplacer vers le haut", + "moveDown": "Déplacer vers le bas", + "archive": "Archive", + "restore": "Restaurer", + "deletePermanently": "Supprimer définitivement…", + "more": "Plus d'actions pour {label}" + }, + "toasts": { + "loadFailed": "Impossible de charger les champs personnalisés", + "created": "{label} créé", + "createFailed": "Impossible de créer {label}", + "saved": "{label} a été enregistré", + "saveFailed": "Impossible d'enregistrer {label}", + "archived": "{label} archivé", + "archiveFailed": "Impossible d'archiver {label}", + "restored": "{label} restauré", + "restoreFailed": "Impossible de restaurer {label}", + "deleted": "{label} supprimé", + "deleteFailed": "Impossible de supprimer {label}", + "reorderFailed": "Impossible d'enregistrer la nouvelle commande" + }, + "empty": { + "body": "Suivez ce pour quoi BookOrbit n'a aucun champ, comme l'endroit où un livre se trouve sur votre étagère ou qui l'a emprunté. Les champs apparaissent dans les métadonnées d'édition, dans les colonnes de la table et dans les filtres.", + "examples": "Commencer à partir d'un exemple", + "shelfNumber": "Numéro de l'étagère", + "acquiredOn": "Acquis le", + "signedCopy": "Copie signée", + "loanedTo": "Prêt à" + }, + "types": { + "text": { + "label": "Texte du texte", + "hint": "N'importe quel mot", + "example": "Première impression, plaque vitrine signée" + }, + "url": { + "label": "Lier", + "hint": "Ouvre dans un nouvel onglet", + "example": "https://example.com/book" + }, + "number": { + "label": "Numéros", + "hint": "Trie par valeur", + "example": "42" + }, + "date": { + "label": "Date", + "hint": "Un jour de calendrier", + "example": "2024-03-09" + }, + "boolean": { + "label": "Oui / Non", + "hint": "Une case à cocher", + "example": "Oui" + } + }, + "sheet": { + "newTitle": "Nouveau champ", + "editDescription": "Modifier le libellé d'un champ personnalisé et les bibliothèques, et voir où il apparaît.", + "newDescription": "Nommez un nouveau champ personnalisé, choisissez son type et choisissez ses bibliothèques.", + "archivedDescription": "Un champ personnalisé archivé. Restaurez le ou supprimez-le avec ses valeurs.", + "statusFilled": "{filled} de {total, plural, one {# réservez} other {# livres}}", + "statusNone": "Pas sur une librairie", + "statusHidden": "{count} hidden", + "statusCreated": "a créé {date}", + "labelHint": "Affiché dans les métadonnées d'édition, dans les colonnes de la table et dans les filtres.", + "renameHint": "Le renommage conserve toutes les valeurs stockées et la clé de fichier {key}.", + "keyHint": "Enregistré dans les fichiers et les exportations en {key}, ce qui reste le même si vous renommez le champ.", + "typeLocked": "Définir quand créé", + "typeLockedHint": "Le type ne peut pas changer plus tard, donc les valeurs stockées le correspondent toujours.", + "libraries": "Bibliothèques", + "books": "{count, plural, one {# réservez} other {# livres}}", + "filledOfBooks": "{filled} de {total, plural, one {# réservez} other {# livres}}", + "hiddenCount": "{count} hidden", + "leavingNote": "{count, plural, one {# valeur dans {libraries} reste stocké mais caché quand le champ est éteint là.} other {# valeurs dans {libraries} Restez stocké mais caché quand le champ est éteint.}} Le retourner les ramène à nouveau.", + "noLibraryWarning": "Avec aucune bibliothèque, ce champ n'apparaît nulle part : pas sur Editer les métadonnées, dans les filtres ou dans les exportations.", + "appears": { + "title": "Là où il apparaît", + "editMetadata": "Modifier les métadonnées", + "details": "Details tab", + "filters": "Filtres", + "table": "Tableau et tri", + "tableBody": "Disponible en tant que colonne de table et option de tri", + "files": "Fichiers", + "filesWritten": "Écrit dans les fichiers EPUB et FB2 dans {libraries}, où l'écriture des métadonnées dans les fichiers est activée.", + "filesNotWritten": "Non écrit dans des fichiers : aucune de ces bibliothèques n'écrit des métadonnées dans des fichiers EPUB ou FB2.", + "exports": "Exportations" + }, + "archiveAction": "Champ Archive", + "archiveConfirm": "Archiver {label}?", + "archiveConsequence": "{count, plural, =0 {Cela laisse Editer les métadonnées, les filtres et les exportations. Restaurer à partir d'Archivés à tout moment.} one {Cela laisse Editer les métadonnées, les filtres et les exportations. # valeur reste stockée jusqu'à ce que le champ soit supprimé.} other {Elle laisse Editer les métadonnées, les filtres et les exportations. # valeurs restent stockées jusqu'à ce que le champ soit supprimé.}}", + "create": "Créer un champ", + "onLibraries": "Sur {count} des bibliothèques {total}", + "onAllLibraries": "Sur toutes les bibliothèques {total}", + "archivedBadge": "Archivé", + "archivedTitle": "Archivé {when}.", + "archivedBody": "{count, plural, =0 {Ce champ est masqué dans les livres, les filtres et les exportations. Il ne contient aucune valeur.} one {Ce champ est masqué dans les livres, les filtres et les exportations. # valeur enregistrée est conservée et réapparaît lors de la restauration.} other {Ce champ est masqué dans les livres, les filtres et les exportations. # valeurs enregistrées sont conservées et réapparaissent lors de la restauration.}}", + "facts": { + "type": "Type de texte", + "libraries": "Bibliothèques", + "valuesKept": "Valeurs conservées", + "fileKey": "Clé de fichier", + "created": "Créé", + "archived": "Archivé" + }, + "deleteQuestion": "Supprimer {label} pour le bien?", + "deleteConsequence": "{count, plural, =0 {Ce champ ne contient aucune valeur. Cette action est irréversible.} one {Sa # valeur enregistrée est supprimée de chaque livre. Les fichiers déjà écrits conservent leur copie. Cette action est irréversible.} other {Ses # valeurs enregistrées sont supprimées de chaque livre. Les fichiers déjà écrits conservent leur copie. Cette action est irréversible.}}", + "deleteConfirmLabel": "Tapez le nom du champ pour confirmer", + "deleteConfirmPlaceholder": "Tapez {label} pour confirmer" + } }, "tabs": { "providers": "Fournisseurs", @@ -2004,7 +2546,8 @@ "genre-blocklist": "Liste de blocage des genres", "score": "Score de confiance", "auto-fetch": "Livres", - "authors": "Auteurs" + "authors": "Auteurs", + "search-cache": "Cache de recherche" }, "tabTitles": { "providers": "Fournisseurs", @@ -2013,7 +2556,8 @@ "genre-blocklist": "Liste de blocage des genres", "score": "Score de confiance", "auto-fetch": "Récupération automatique du livre", - "authors": "Récupération automatique de l'auteur" + "authors": "Récupération automatique de l'auteur", + "search-cache": "Cache de recherche" }, "tabSubtitles": { "providers": "Activez les sources de métadonnées externes et configurez leurs informations d'identification.", @@ -2022,7 +2566,8 @@ "genre-blocklist": "Empêchez que les valeurs de genre indésirables du fournisseur soient écrites dans les livres.", "score": "Déterminez la contribution de chaque champ de métadonnées au score d'exhaustivité affiché pour chaque livre.", "auto-fetch": "Récupérez automatiquement des couvertures, des descriptions et d'autres détails lorsque de nouveaux livres sont ajoutés à votre bibliothèque.", - "authors": "Récupérez automatiquement des biographies et des photos de profil lorsque de nouveaux auteurs apparaissent dans votre bibliothèque." + "authors": "Récupérez automatiquement des biographies et des photos de profil lorsque de nouveaux auteurs apparaissent dans votre bibliothèque.", + "search-cache": "Réutiliser les réponses du fournisseur pour que les recherches répétées soient rapides et fonctionnent toujours quand un fournisseur est en panne." }, "preferences": { "toast": { @@ -2238,7 +2783,25 @@ "serverFontsHint": "Ces polices proviennent de l'admin du serveur. Désactivez-en une pour qu'elle ne soit plus disponible dans votre lecteur.", "serverFontsShown": "{count} sur {total} disponibles", "serverFontsAllHidden": "Toutes les polices du serveur sont désactivées. Votre lecteur ne proposera que les polices intégrées et vos propres polices.", - "serverFontVisibilityFailed": "Échec de mise à jour des polices disponibles sur le serveur" + "serverFontVisibilityFailed": "Échec de mise à jour des polices disponibles sur le serveur", + "library": { + "columns": { + "use": "En cours d'utilisation" + }, + "yourDefault": "Votre valeur par défaut", + "hiddenBadge": "Hidden", + "emptyHint": "Ajouter des polices ci-dessus, ou déposer des fichiers n'importe où sur cette page.", + "dropTitle": "{count, plural, one {Déposez pour ajouter # fichier à vos polices} other {Déposez pour ajouter # fichiers à vos polices}}", + "limitReached": "Vous avez déjà des fichiers de police {limit}.", + "filesUsed": "{count} de votre {max} utilisé", + "nameHint": "Ceci est le nom de la liste de polices de votre lecteur.", + "inReaderHint": "Votre liste de polices dans Reader › Paramètres, avec {name} choisi.", + "showInReader": "Afficher dans mon lecteur", + "showFamily": "Afficher {name} dans mon lecteur", + "removeConsequenceBooks": "{count, plural, one {Il est réglé sur # de vos livres; ce livre retourne à sa propre police.} other {Il est réglé sur # de vos livres; ils retournent à leurs propres polices.}}", + "removeConsequenceDefault": "C'est votre police par défaut ; les livres sans leur propre paramètre retournent à la valeur par défaut du livre.", + "removeQuestion": "Retirer {name} de vos polices de caractères ?" + } }, "bookDock": { "title": "Book Dock", @@ -2886,7 +3449,13 @@ "unmatchedDismissed": "Livre sans correspondance ignoré", "dismissFailed": "Échec de la suppression du livre sans correspondance", "allDismissed": "{count, plural, =0 {Aucun livre sans correspondance ignoré} one {# livre sans correspondance ignoré} other {# livres sans correspondance ignorés} many {# livres sans correspondance ignorés}}", - "dismissAllFailed": "Échec de la suppression de tous les livres sans correspondance" + "dismissAllFailed": "Échec de la suppression de tous les livres sans correspondance", + "reviewRefreshed": "Livres à revoir actualisés", + "reviewRefreshFailed": "Impossible de rafraichir les livres à revoir", + "reviewDismissed": "Livre rejeté de la revue", + "reviewDismissFailed": "Impossible de rejeter le livre de la revue", + "reviewAllDismissed": "{count, plural, =0 {Rejeté aucun livre de la revue} one {# livre de la revue} other {Rejeté # livres de la revue}}", + "reviewDismissAllFailed": "Impossible de rejeter tous les livres de la revue" }, "modal": { "linkTitle": "Lien vers le livre KOReader", @@ -2939,7 +3508,15 @@ "syncedStatsNote": "Les statistiques déjà synchronisées resteront sur leur livre BookOrbit actuel.", "chooseDifferent": "Choisissez différent", "saving": "Sauvegarde...", - "confirmLink": "Confirmer le lien" + "confirmLink": "Confirmer le lien", + "reviewTitle": "Livres KOReader à revoir", + "reviewHint": "Les livres sans correspondance automatique et les livres que vous déconnectez apparaissent ici. Les livres non liés peuvent toujours se synchroniser via une correspondance automatique. Lier un livre pour remplacer cette correspondance, ou la rejeter pour le retirer de cette liste.", + "loadingReview": "Chargement des livres à vérifier...", + "noReview": "Aucun livre KOReader à vérifier.", + "manualUnlinkConfirmBody": "Retirez le lien manuel vers {title} et renvoyez ce livre à la liste des revues. Les futures synchronisations utiliseront une correspondance automatique si on existe. Les statistiques déjà synchronisées resteront sur leur livre BookOrbit actuel.", + "reviewDismissConfirmBody": "Cela le supprime de vos livres à vérifier. Les données de correspondance automatique et de synchronisation existantes sont conservées. Si un périphérique signale à nouveau le hachage sans correspondance, il peut réapparaître.", + "reviewDismissAllConfirmTitle": "{count, plural, =0 {Aucun livre à revoir} one {Rejetez tout # livre à revoir ?} other {Rejetez tous les # livres à revoir ?}}", + "reviewDismissAllConfirmBody": "Cela efface tous vos livres pour passer en revue la liste, y compris les entrées sur d'autres pages. La correspondance automatique et les données de synchronisation existantes sont conservées. Si un périphérique rapporte à nouveau un hachage sans correspondance, il peut réapparaître." }, "remove": "Supprimer", "removing": "Suppression...", @@ -3589,6 +4166,7 @@ "nav": { "title": "Paramètres", "ariaLabel": "Sections des paramètres", + "breadcrumbLabel": "Fil d'Ariane", "searchPlaceholder": "Rechercher des paramètres", "clearSearch": "Effacer la recherche", "noResults": "Aucun paramètre ne correspond à « {query} ».", @@ -3635,9 +4213,58 @@ "serverFonts": "Polices installées pour tous les lecteurs de ce serveur.", "bookDock": "Actions rapides affichées sur les pages des livres.", "auditLog": "Qui a modifié quoi, et quand.", - "requests": "Les sources, les clients de téléchargement et ce qui arrive à un livre une fois téléchargé." + "requests": "Les sources, les clients de téléchargement et ce qui arrive à un livre une fois téléchargé.", + "readerTts": "La voix à haute voix est lue, la vitesse et la narration par défaut.", + "adminTts": "Moteurs de synthèse vocale disponibles pour chaque lecteur sur ce serveur." }, - "backToApp": "Retour à la bibliothèque" + "backToApp": "Retour à la bibliothèque", + "pageDescriptions": { + "profile": "Votre nom, votre photo, votre fuseau horaire et le suivi des réalisations, ainsi que votre mot de passe et les fournisseurs de connexion liés à ce compte.", + "appearance-theme": "Choisissez où vos paramètres d'apparence sont enregistrés, puis définissez le style, le modèle de couleur, l'accent, les coins, la luminosité de la surface et le motif derrière votre bibliothèque.", + "appearance-book-covers": "Comment les couvertures se présentent à travers l'application: espace réservé pour les livres sans un, comment recouvrir leurs fentes, leurs effets sur la colonne vertébrale et la teinte de couverture sur les pages du livre.", + "appearance-icons": "Téléchargez vos propres icônes à côté de l'ensemble intégré pour les bibliothèques, portées intelligentes et collections.", + "appearance-layout": "Dimensions de couverture et espacement pour la grille de bibliothèque, la couverture montrée pour une série effondrée, et comment la grille de l'auteur est présentée.", + "appearance-behavior": "Qu'est-ce que l'ouverture d'un livre à partir d'une grille ou d'une liste fait, si la série se réduit en une seule carte, et si les demandes de livres apparaissent dans ce compte.", + "appearance-language": "La langue utilisée par BookOrbit pour les menus, les étiquettes et les messages, et les formats régionaux pour les dates et les numéros.", + "reader-ebook": "Par défaut pour le lecteur de livres électroniques : si les nouveaux livres commencent avec vos paramètres, le flux de pages et les colonnes, le thème et la typographie tels que la police, la taille et l'espacement.", + "reader-pdf": "Comment les PDFs s'ouvrent : page par page ou défilement continu, quelle page démarre un spread de deux pages et le zoom par défaut.", + "reader-comics": "Comment lire la BD : mode de lecture et de direction, spreads à une ou deux pages, ajustement, manipulation à grande page et passage au livre suivant de la série.", + "reader-audio": "La vitesse de départ et le volume des nouveaux livres audionumériques, et la distance à laquelle les boutons de sauter et de sauter vers l'avant.", + "reader-fonts": "Téléchargez vos propres polices pour le lecteur, et choisissez les polices partagées par l'administrateur de votre serveur.", + "reader-general": "Où vos préférences de lecture sont sauvegardées, et les valeurs par défaut partagées par chaque mode de lecture.", + "tts": "Votre voix et votre vitesse par défaut lorsque BookOrbit lit un livre à voix haute.", + "notifications": "Choisissez les événements qui vous notifient, des scans terminés et des récupérations de métadonnées aux renommages de fichiers, aux importations et aux résultats du Dock de livres.", + "privacy": "Décidez de combien les administrateurs de votre activité de lecture peuvent voir, prévisualisez votre profil partagé et vérifiez qui l'a vu.", + "restrictions": "Limites de contenu définies sur ce compte, telles que les classements d'âge et le contenu caché, et ce qu'ils ne sont pas dans vos bibliothèques.", + "libraries": "Chaque bibliothèque d'un seul coup d'œil : ses dossiers, ce qu'elle possède, comment elle est numérisée et quand elle a été exécutée. Ajoutez, éditez ou réanalysez les bibliothèques ici.", + "metadata-providers": "Activer ou désactiver les sources de métadonnées, ajouter des clés API ou des cookies lorsqu'une source en a besoin, et tester les identifiants sur le service en direct.", + "metadata-field-rules": "Choisissez quels fournisseurs remplissent chaque champ de métadonnées et dans quel ordre, comment les valeurs sont fusionnées, et comment les genres et les identifiants des fournisseurs sont collectés.", + "metadata-custom-fields": "Créez vos propres champs de métadonnées, choisissez leur type et les bibliothèques qui les utilisent, réorganisez-les ou archivez-les.", + "metadata-score": "Décidez combien chaque champ de métadonnées compte pour le score complet affiché sur chaque livre.", + "metadata-auto-fetch": "Récupérer automatiquement les métadonnées du livre lorsque les livres sont importés ou manquent de détails, avec des remplacements pour chaque bibliothèque.", + "metadata-authors": "Récupérer les biographies de l'auteur et les photos automatiquement, choisir les sources de l'ordre sont essayées, et décider quels auteurs qualifient.", + "metadata-search-cache": "Gardez les réponses des fournisseurs afin que les recherches répétées soient rapides et fonctionnent quand un fournisseur est en panne, et contrôlez combien de temps et combien de temps est conservé.", + "metadata-genre-blocklist": "Les valeurs de genre énumérées ici sont retirées des résultats du fournisseur avant que les métadonnées ne soient écrites, donc les étiquettes comme les livres audionumériques restent en dehors de vos livres.", + "metadata-reminders": "Choisissez les champs manquants qui apparaissent dans les rappels du livre. Cela change les rappels uniquement, pas les notes de métadonnées.", + "file-naming": "Modèles de nom de dossier et de fichier utilisés lorsque BookOrbit renomme des livres sur disque, avec un aperçu du résultat et ce qui se passe quand une valeur est manquante.", + "maintenance": "Entretien du serveur: la limite de taille de téléchargement, les importations passées, la reconstitution des recommandations, le remplissage des réalisations et la vérification des mises à jour.", + "kobo": "Connectez les lecteurs électroniques Kobo, choisissez comment les livres, les étagères et la lecture de la synchronisation de progression, et suivez l'activité récente de synchronisation de chaque appareil.", + "koreader": "Synchronisez les progrès, lisez les activités et les faits saillants avec KOReader, obtenez l'URL de synchronisation et le plugin, et gérez les périphériques qui se connectent.", + "opds": "Activez le catalogue OPDS et créez des comptes afin que les applications de lecture tierce puissent naviguer et télécharger vos livres.", + "email": "Gérer les répertoires d'adresses sont envoyés, tels que les boîtes de réception Kindle, mettre en vedette celle par défaut et regrouper les destinataires à envoyer à plusieurs à la fois.", + "hardcover": "Connectez votre compte de couverture rigide et choisissez lors de la lecture de l'état, de la progression et de la synchronisation des notes, et comment les livres synchronisés y apparaîtront.", + "readwise": "Connectez votre compte Readwise pour y envoyer vos surlignements automatiquement.", + "storygraph": "Connectez votre compte StoryGraph en utilisant les cookies de session de votre navigateur pour synchroniser la progression de lecture et le statut.", + "users": "Créer et gérer des comptes, leurs rôles, leurs autorisations et l'accès à la bibliothèque, et voir quels comptes ont besoin d'attention.", + "account-activity": "Voyez quand chaque compte a été actif pour la dernière fois et comment il se connecte, et ouvrez les aperçus de lecture et de session par utilisateur.", + "magic-links": "Créez des liens partageables qui se connectent à quelqu'un sans mot de passe et révoquez-les lorsqu'il n'est plus nécessaire.", + "oidc": "Connectez un seul fournisseur de connexion tel que Keycloak, associez ses réclamations et décidez de la manière dont les nouveaux comptes sont créés.", + "requests": "Où BookOrbit recherche les livres demandés, que téléchargent les clients et ce qui se passe une fois le téléchargement terminé.", + "admin-tts": "Les lecteurs de moteurs de synthèse vocale peuvent utiliser pour lire à haute voix, les voix offertes de chacun, et l'ordre dans lequel elles apparaissent.", + "book-dock": "Le dossier de suppression du Dock du Livre, la récupération automatique des métadonnées pour les nouveaux fichiers, et la note à laquelle les fichiers sont finalisés par eux-mêmes.", + "server-fonts": "Téléchargez les polices une fois pour chaque lecteur sur ce serveur. Chaque lecteur peut toujours les cacher.", + "audit-log": "Un dossier permettant de rechercher qui a changé quoi et quand et quand et filtrable par événement, par personne, par élément affecté et par date." + } }, "field": { "required": "(obligatoire)" @@ -3672,6 +4299,201 @@ "earned": "Gagné ({count})", "inProgress": "En cours ({count})", "locked": "Verrouillé ({count})" + }, + "tiersEarnedFact": "{earned} des niveaux {total}", + "loading": "Chargement des succès", + "filters": { + "label": "Filtrer les succès", + "all": "Tous", + "earned": "Gagné", + "inProgress": "En cours", + "locked": "Verrouillé" + }, + "showcase": { + "label": "Surlignés", + "latest": "Dernier déverrouillage", + "newToday": "{count, plural, one {# nouveau aujourd'hui} other {# nouveau aujourd'hui}}", + "secretRevealed": "Secret révélé", + "categoryAndDate": "{category} · {date}", + "alsoNew": "Aussi nouveau", + "openMedal": "Ouvrir {name}", + "emptyTitle": "Votre première médaille est en attente", + "emptyBody": "Terminez un livre, évaluez un ou mettez en valeur un passage, et il atterrit ici.", + "collection": "Collecte", + "shareOfTiers": "{percent} de tous les niveaux", + "tiersEarned": "{earned} des niveaux {total} gagnés", + "closest": "Le plus rapide à déverrouiller", + "allInProgress": "Tous les {count}", + "tierOfSet": "Palier {tier} de {set}", + "nothingCounting": "Rien ne compte encore pour une médaille." + }, + "shelf": { + "tiers": "{earned} / {total}", + "progressLabel": "Niveaux {category} gagnés" + }, + "medal": { + "label": "{name}, {rarity}, {status}", + "tier": "Palier {tier}", + "allTiers": "{count, plural, one {Le seul niveau} other {Tous les # niveaux}}", + "keepReading": "Continuer à lire", + "notStarted": "Non démarré" + }, + "progress": { + "generic": "{current} / {threshold}", + "toGo": "{count, plural, one {# pour aller} other {# pour aller}}" + }, + "hints": { + "howToGetIt": "Comment l'obtenir", + "readingPace": "{count, plural, one {Vous avez lu pendant # heure au cours des {days} derniers jours.} other {Vous avez lu pendant # heures au cours des {days} derniers jours.}}", + "etaDays": "{count, plural, one {A propos de # jour à ce rythme.} other {A propos de # jours à ce rythme.}}", + "etaWeeks": "{count, plural, one {Environ # semaine à ce rythme.} other {Environ # semaines à ce rythme.}}", + "etaMonths": "{count, plural, one {Environ # mois à ce rythme.} other {Environ # mois à ce rythme.}}", + "decadeUnread": "{count, plural, one {# livre de la {decade}s attend sur vos étagères.} other {# livres de la {decade}s attendent sur vos étagères.}}", + "centuryUnread": "{count, plural, one {# livre de la {century}s attend sur vos étagères.} other {# livres de la {century}s attendent sur vos étagères.}}", + "stalled": "{title} est lu sur {percent} et a été démarré sur {date}.", + "stalledNoProgress": "Vous avez commencé {title} le {date}.", + "untitledBook": "Un livre en cours", + "nearlyFinished": "{count, plural, one {# livre en cours est lu à plus de {percent}.} other {# livres en cours sont lus à plus de {percent}.}}", + "unratedFinished": "{count, plural, one {# livre que vous avez terminé n'a pas encore d'évaluation.} other {# livres que vous avez terminés n'ont pas encore d'évaluation.}}", + "shortBooks": "{count, plural, one {# réservez sous {pages} pages en attente sur vos étagères.} other {# livres sous {pages} pages en attente sur vos étagères.}}", + "alreadyStarted": "{count, plural, one {# est déjà en cours.} other {# sont déjà en cours.}}", + "longBooks": "{count, plural, one {# livre de {pages} pages en attente sur vos étagères.} other {# livres de {pages} pages ou plus attendent sur vos étagères.}}", + "oldBooks": "{count, plural, one {# livre publié avant {year} attend sur vos étagères.} other {# livres publiés avant {year} attendent sur vos étagères.}}", + "authorUnread": "{author} : {finished, plural, one {# terminé} other {# terminés}}, {count, plural, one {encore # dans vos étagères} other {encore # dans vos étagères}}.", + "languageUnread": "{count, plural, one {# réservez à {language} vous attend sur vos étagères.} other {# livres dans {language} vous attendent sur vos étagères.}}", + "monthsRead": "{count, plural, one {Vous avez lu dans # mois de {year} jusqu'à présent.} other {Vous avez lu dans # mois de {year} jusqu'à présent.}}", + "monthsLeft": "{count, plural, one {Il reste {months}.} other {Il reste {months}.}}", + "noLongBook": "Aucun livre sur vos étagères n'a encore de pages {pages} ou plus.", + "nothingBeforeYear": "Rien sur vos étagères n'a été publié avant {year}.", + "tooFewDecades": "{count, plural, one {Vos étagères ne s'étendent que # décennie jusqu'ici.} other {Vos étagères ne s'étendent que depuis # décennies.}}", + "tooFewCenturies": "{count, plural, one {Vos étagères ne s'étendent que # siècle jusqu'à présent.} other {Vos étagères ne s'étendent que # siècles jusqu'à présent.}}", + "missedMonth": "Vous n'avez pas lu en {month}, donc {year} est hors de portée. Le nombre recommence en janvier.", + "continueReading": "Continuer la lecture", + "rateFinished": "Noter un livre terminé", + "viewAuthor": "Voir l'auteur", + "openBook": "Ouvrir {title}", + "openUntitledBook": "Ouvrir le livre" + }, + "sets": { + "booksFinished": "Livres terminés", + "pagesRead": "Pages lues", + "hoursRead": "Heures lues", + "longestBook": "Livre le plus long terminé", + "librarySize": "Taille de la bibliothèque", + "annotations": "Annotations", + "booksRated": "Livres évalués", + "genresFinished": "Genres terminés", + "languagesFinished": "Langues terminées", + "readingStreak": "Série de lecture" + }, + "units": { + "books": { + "progress": "Livres {current} / {threshold}", + "toGo": "{count, plural, one {# réservez pour aller} other {# livres pour aller}}" + }, + "pages": { + "progress": "{current} / {threshold} pages", + "toGo": "{count, plural, one {# page pour aller} other {# pages pour aller}}" + }, + "hours": { + "progress": "{current} / {threshold} heures", + "toGo": "{count, plural, one {# heure pour aller} other {# heures pour aller}}" + }, + "annotations": { + "progress": "Annotations {current} / {threshold}", + "toGo": "{count, plural, one {# annotation pour aller} other {# annotations pour aller}}" + }, + "ratings": { + "progress": "Évaluations {current} / {threshold}", + "toGo": "{count, plural, one {# note pour aller} other {# notes pour aller}}" + }, + "genres": { + "progress": "{current} / {threshold} genres", + "toGo": "{count, plural, one {# genre pour aller} other {# genres pour aller}}" + }, + "languages": { + "progress": "Langues {current} / {threshold}", + "toGo": "{count, plural, one {# langue pour aller} other {# langues pour aller}}" + }, + "days": { + "progress": "{current} / {threshold} jours", + "toGo": "{count, plural, one {# jour pour aller} other {# jours pour aller}}" + } + }, + "moments": { + "nthBook": "Le livre {number} était {title}", + "pagesAtUnlock": "{count, plural, one {# page} other {# pages}} quand il est déverrouillé", + "hoursAtUnlock": "{count, plural, one {# heure} other {# heures}} quand il est déverrouillé", + "titleWithPages": "{title}, {count, plural, one {# page} other {# pages}}", + "booksAtUnlock": "{count, plural, one {# livre} other {# livres}} dans votre bibliothèque quand il est déverrouillé", + "annotationsAtUnlock": "{count, plural, one {# annotation} other {# annotations}} quand il est déverrouillé", + "ratingsAtUnlock": "{count, plural, one {# note} other {# notes}} quand il est déverrouillé", + "genresAtUnlock": "{count, plural, one {# genre} other {# genres}} quand il est déverrouillé", + "languagesAtUnlock": "{count, plural, one {# langue} other {# langues}} quand il est déverrouillé", + "streakAtUnlock": "{count, plural, one {# jour} other {# jours}} à la suite", + "longSession": "Une session a eu lieu à {duration}", + "durationHours": "{hours} h {minutes} min", + "durationMinutes": "{minutes} min", + "sessionStartedAt": "Une session qui a commencé à {time}", + "oneDayBook": "{title}, commencé et terminé en une journée", + "booksInWeek": "{count, plural, one {# réservez} other {# livres}} terminé en une semaine", + "booksInMonth": "{count, plural, one {# livre} other {# livres}} terminé en {month}", + "booksInYear": "{count, plural, one {# livre} other {# livres}} terminé en {year}", + "wholeBookOneSession": "Un livre entier en une seule session", + "pagesInSession": "{count, plural, one {# page} other {# pages}} dans une seule session", + "pagesInDay": "{count, plural, one {# page} other {# pages}} en un jour", + "slowBurn": "{title}, terminé après {count, plural, one {# jour} other {# jours}}", + "formatsOwned": "{count, plural, one {# format} other {# formats}} sur vos étagères", + "annotationsWithNote": "{count, plural, one {# annotation} other {# annotations}} avec une note", + "annotationsInDay": "{count, plural, one {# annotation} other {# annotations}} en un jour", + "everyStar": "Chaque note d'une étoile à cinq", + "everyColour": "Chaque couleur de surbrillance utilisée", + "titlePublished": "{title}, publié en {year}", + "booksInGenre": "{count, plural, one {# réservez} other {# livres}} dans un même genre", + "firstInSeries": "{title}, de la série {series}", + "centuries": "Livres de {count, plural, one {# siècle} other {# siècles}}", + "booksBySameAuthor": "{count, plural, one {# livre} other {# livres}} par un auteur", + "decades": "Livres de {count, plural, one {# décennie} other {# décennies}}", + "shortBooks": "{count, plural, one {# livre court} other {# livres courts}} terminé", + "allSeasons": "Toutes les quatre saisons de {year}", + "consistentDays": "{count, plural, one {# jour} other {# jours}} de 30 minutes ou plus", + "weekendsInRow": "{count, plural, one {# week-end} other {# week-ends}} à la suite", + "weekendHours": "{count, plural, one {# heure} other {# heures}} pendant le week-end de {date}", + "categoriesCovered": "{count, plural, one {# catégorie} other {# catégories}} avec un accomplissement", + "readingSources": "{count, plural, one {# lecture de la source} other {# lecture des sources}}", + "oneBookSources": "Un livre lu depuis {count, plural, one {# source} other {# sources}}" + }, + "records": { + "title": "Registre des enregistrements", + "subtitle": "Les nombres derrière tes médailles, comme elles se trouvaient quand chacune est déverrouillée", + "value": "{value}", + "oneSession": "Une session de lecture", + "pagesInSession": "Pages dans une session", + "pagesInDay": "Pages en un jour", + "booksInWeek": "Livres en une semaine", + "booksInMonth": "Livres en {month}", + "booksInYear": "Livres terminés en {year}", + "annotations": "Annotations", + "genresFinished": "Genres terminés", + "daysInRow": "Jours d'affilée", + "booksInLibrary": "Livres dans votre bibliothèque" + }, + "detail": { + "categoryTierSet": "{category} · Jeu de paliers", + "secretHint": "Continuez à lire pour révéler celle-ci.", + "tierOf": "Palier {earned} de {total}", + "current": "Actuel", + "noneYet": "Pas encore", + "progress": "Progrès", + "allTiersEarned": "Chaque niveau gagné", + "tiers": "Niveaux", + "earned": "Gagné", + "status": "Statut", + "hidden": "Hidden", + "rarity": "Rareté", + "category": "Catégorie", + "theSet": "L'ensemble", + "theMoment": "Le moment" } }, "adminFeature": { @@ -4403,7 +5225,13 @@ "user": "Utilisateur", "action": "Action", "description": "Descriptif", - "ip": "PI" + "ip": "PI", + "time": "Date et heure", + "person": "Personne", + "source": "Source", + "open": "Ouvert", + "network": "Réseau", + "activity": "Activité" }, "categories": { "authentication": "Authentification", @@ -4413,7 +5241,10 @@ "collections": "Collections", "integrations": "Intégrations", "settings": "Paramètres", - "other": "Autre" + "other": "Autre", + "access": "Connexion et accès", + "requests": "Requêtes", + "devices": "Appareils & e-mail" }, "resourceLabels": { "User": "Utilisateur", @@ -4577,10 +5408,178 @@ "MaintenanceMissingBooksClean": "Livres manquants nettoyés", "MaintenanceBrokenCoversClean": "Couvertures cassées nettoyées", "MaintenanceOrphanedCoversClean": "Dossiers de couvertures orphelines nettoyés" - } + }, + "views": { + "label": "Afficher", + "changes": "Changements", + "signins": "Identifiants", + "security": "Sécurité", + "all": "Tous" + }, + "search": { + "label": "Rechercher des événements", + "placeholder": "Rechercher des personnes, des cibles ou des adresses IP", + "placeholderShort": "Rechercher des événements" + }, + "range": { + "label": "Date range: {range}", + "today": "Aujourd'hui", + "7d": "Les 7 derniers jours", + "30d": "Les 30 derniers jours", + "all": "Tout a été conservé", + "custom": "Plage personnalisée", + "from": "A partir de", + "to": "À", + "between": "{from} à {to}", + "since": "Depuis {date}", + "until": "Jusqu'à {date}", + "sinceOldest": "Depuis {date}" + }, + "filterMenu": { + "button": "Filtres", + "category": "Catégorie", + "person": "Personne", + "findPerson": "Trouver une personne", + "noPeople": "Aucune personne correspondante", + "clear": "Nettoyer", + "done": "Fait" + }, + "activeFilters": { + "target": "{type} : {name}", + "clearAll": "Effacer tout" + }, + "securityGroups": { + "label": "Type d'événement de sécurité", + "all": "Tout", + "failed": "Échec de la connexion", + "accounts": "Comptes", + "passwords": "Mots de passe", + "permissions": "Permissions", + "access": "Accès à la bibliothèque", + "links": "Liens de connexion" + }, + "day": { + "today": "Aujourd'hui", + "yesterday": "Hier", + "changes": "{count, plural, one {# change} other {# change}}", + "events": "{count, plural, one {# événement} other {# événements}}" + }, + "person": { + "system": "Système", + "deleted": "Compte supprimé", + "automation": "Automatisation" + }, + "source": { + "server": "Ce serveur", + "local": "Réseau local", + "internet": "Internet", + "job": "Tâche en arrière-plan", + "unknown": "Non enregistré" + }, + "target": { + "none": "No target", + "more": "+{count}", + "sinceDeleted": "Depuis la suppression", + "withId": "{type} #{id}" + }, + "openEvent": "Détails d'ouverture : {event}", + "signIns": { + "signIns": "{count, plural, one {# connectez-vous} other {# connectez-vous}}", + "signOuts": "{count, plural, one {# déconnexion} other {# déconnexion}}", + "failed": "{count, plural, one {# tentative échouée} other {# tentatives échouées}}", + "failedAs": "{count, plural, one {# a échoué comme {names}} other {# a échoué comme {names}}}", + "range": "{from} – {to}", + "footer": "{count, plural, one {{events} Évènements de connexion, pliés en ligne # par personne, jour et réseau} other {{events} Événements de connexion, pliés en lignes # par personne, jour et réseau}}" + }, + "pager": { + "label": "Pages", + "previous": "Page précédente", + "next": "Page suivante", + "page": "Page {page}", + "changes": "{from}–{to} de {count, plural, one {# changez} other {# changez}}", + "events": "{from}–{to} de {count, plural, one {# événement} other {# événements}}" + }, + "drawer": { + "description": "Détails d'un événement d'audit", + "close": "Fermer", + "subtitle": "{category} · {day}, {time}", + "when": "Quand", + "person": "Personne", + "source": "Source", + "target": "Target", + "usernameTried": "Nom d'utilisateur essayé", + "deletedHere": "{type} · supprimé par cet événement", + "deletedSince": "{type} · depuis la suppression", + "inThisRow": "{count, plural, one {# événement dans cette rangée} other {# événements dans cette rangée}}", + "around": "Autour de cet événement", + "aroundHint": "{name}, 40 minutes avant et après", + "aroundEmpty": "Rien d'autre de la part de {name} en 40 minutes.", + "history": "Historique", + "historyCount": "{count, plural, one {# événement} other {# événements}}", + "historyMeta": "{name} · {date}, {time}", + "thisEvent": "Cet événement", + "raw": "Événement brut", + "rawEventId": "ID de l'événement", + "rawAction": "Action", + "rawTarget": "Target type", + "rawNote": "Note du serveur", + "only": "Seulement {name}" + }, + "facts": { + "format": "Formater", + "size": "Taille", + "download": "Télécharger", + "dockFile": "Fichier Dock du livre", + "rejected": "Rejeté", + "failed": "Echoué", + "cleaned": "Nettoyé", + "skipped": "Ignoré", + "remaining": "Restant", + "sharingLevel": "Niveau de partage", + "sharing": { + "private": "Non partagé", + "summary": "Summary", + "detailed": "Détaillé" + } + }, + "retention": { + "button": "{count, plural, one {Gardée pendant # jour} other {Gardée pendant # jours}}", + "title": "Garder les événements pour", + "days": "{count, plural, one {# jour} other {# jours}}", + "hint": "Les événements les plus anciens sont supprimés chaque nuit à minuit.", + "hintWithOldest": "Les événements les plus anciens sont supprimés chaque nuit à minuit. L'événement le plus ancien a été conservé à partir de {date}.", + "readOnly": "Seules les personnes qui peuvent modifier les paramètres de l'application peuvent modifier cela.", + "saved": "{count, plural, one {Les événements d'audit sont maintenant conservés pendant # jour.} other {Les événements d'audit sont maintenant conservés pendant # jours.}}", + "saveFailed": "Impossible de changer la durée de conservation des événements." + }, + "export": { + "button": "Exportation", + "title": "Exporter ce qui est affiché", + "hint": "Utilise la vue, les filtres et la plage de date.", + "csv": "CSV", + "json": "JSON", + "failed": "Impossible d'exporter le journal d'audit." + }, + "emptyFiltered": "Aucun événement ne correspond à ces filtres." }, "auth": { "backToSignIn": "Retour pour vous connecter", + "plate": { + "exLibris": "Ex Libris" + }, + "endpaper": { + "change": "Changer le papier de fin", + "options": { + "seigaiha": "Vagues", + "shippo": "Cercles liés", + "asanoha": "Feuille de chanvre", + "quatrefoil": "Fil de Quatreuil", + "ogee": "Ogee", + "harlequin": "Harlequin", + "greekKey": "Clé grecque", + "plain": "Plaine" + } + }, "themePicker": { "switchToLight": "Passer à la lumière", "switchToDark": "Passer au noir", @@ -4598,7 +5597,10 @@ "confirmPassword": "Confirmer le mot de passe", "confirmNewPassword": "Confirmer le nouveau mot de passe", "currentPassword": "Mot de passe actuel", - "passwordHint": "Min. 8 caractères avec majuscules, minuscules et un chiffre" + "passwordHint": "Min. 8 caractères avec majuscules, minuscules et un chiffre", + "showPassword": "Afficher le mot de passe", + "hidePassword": "Cacher le mot de passe", + "capsLockOn": "Verrouillage majuscule activé" }, "errors": { "generic": "Quelque chose s'est mal passé. Veuillez réessayer.", @@ -4610,9 +5612,11 @@ "signingIn": "Connexion...", "orDivider": "ou", "forgotPassword": "Mot de passe oublié ?", + "resetPasswordAction": "Réinitialiser le mot de passe", "noAccount": "Vous n'avez pas de compte ?", "signUp": "Inscrivez-vous", "registeredNotice": "Compte créé. Connectez-vous pour continuer. Un administrateur doit vous accorder les permissions nécessaires avant de pouvoir accéder à la bibliothèque.", + "resetNotice": "Mot de passe mis à jour. Connectez-vous avec votre nouveau mot de passe.", "errors": { "invalidCredentials": "Nom d'utilisateur ou mot de passe invalide", "tooManyAttempts": "Trop de tentatives de connexion. Veuillez patienter une minute et réessayer.", @@ -4784,6 +5788,8 @@ "selectVisible": "Sélectionnez visible", "refreshMetadata": "Actualiser les métadonnées", "refreshingMetadata": "Actualisation des métadonnées...", + "confirmRefreshCount": "{count, plural, one {Rafraîchir les métadonnées pour # auteur?} other {Rafraîchir les métadonnées pour # auteurs?}}", + "refreshAction": "Rafraîchir", "deleteSelected": "Supprimer la sélection", "deleting": "Suppression...", "exitSelection": "Quitter la sélection", @@ -4887,6 +5893,19 @@ }, "book": { "untitled": "Sans titre", + "placeholder": { + "volume": "Vol. {number}", + "genre": { + "horror": "Horreur", + "romance": "Romance", + "fantasy": "Fantasy", + "scifi": "Science-fiction", + "mystery": "Mystère", + "classic": "Classiques", + "nonfiction": "Non-fiction", + "young": "Jeunes lecteurs" + } + }, "unknownFormat": "inconnu", "collapsedSeries": { "label": "Série", @@ -4901,6 +5920,7 @@ "audiobook": "Livre audio" }, "formats": { + "djvu": "Document DjVu", "epub": "Ebook EPUB", "kepub": "Ebook KEPUB", "pdf": "Document PDF", @@ -4943,6 +5963,10 @@ "openAs": "Ouvrir en tant que {format}", "openReadAlong": "Ouvrir l'EPUB à lecture synchronisée" }, + "refreshMetadata": { + "success": "Métadonnées actualisées", + "failed": "L'actualisation des métadonnées a échoué" + }, "coverRegeneration": { "failed": "Impossible de régénérer la couverture", "bulkInProgress": "Réextraction des couvertures", @@ -4972,7 +5996,11 @@ "exportFailed": "Échec de l'export", "audiolessEpub": "EPUB pour KOReader", "audiolessEpubHint": "Télécharger l'EPUB pour KOReader, sans les fichiers audio", - "noAudio": "sans audio" + "noAudio": "sans audio", + "textOnlyEpub": "EPUB texte uniquement", + "textOnlyEpubHint": "Téléchargez un EPUB sans narration tout en préservant les ancres.", + "originalNarrated": "EPUB original avec narration", + "originalNarratedEpub": "EPUB original avec narration" }, "sort": { "moveUp": "Monter", @@ -5268,7 +6296,8 @@ }, "header": { "previousBook": "Livre précédent", - "nextBook": "Livre suivant" + "nextBook": "Livre suivant", + "backToLibrary": "Retour à {library}" }, "tabs": { "details": "Détails", @@ -5716,6 +6745,9 @@ }, "searchDrawer": { "searchTitle": "Rechercher des métadonnées", + "autoSearchOnOpen": "Rechercher automatiquement lors de l'ouverture", + "autoSearchOnOpenHint": "Utilise les détails du livre la prochaine fois que ce panneau s'ouvrira. Rappelez-vous pour votre compte dans ce navigateur.", + "searchOptions": "Options de recherche", "compareTitle": "Comparer les métadonnées", "searchSubtitle": "Trouvez le meilleur fournisseur pour ce livre.", "compareSubtitle": "Examinez les différences et appliquez uniquement ce que vous voulez." @@ -5935,6 +6967,8 @@ "score": "Score", "scoreTooltip": "Score des métadonnées : {score} sur 100", "emptyFields": "{count, plural, one {champ vide} other {champs vides}}", + "emptyFieldsCount": "{count, plural, one {# champ vide} other {# champs vides}}", + "emptyFieldsHeading": "Champs de métadonnées vides", "emptyFieldsTooltip": "Pas encore renseigné : {fields}. Chercher en ligne pour les trouver.", "libraryRow": "Bibliothèque", "primaryRow": "Titre", @@ -6036,6 +7070,12 @@ "resume": "Reprendre", "audiobook": "Livre audio", "writeTarget": "Cible d'écriture", + "notWritten": { + "formatNotSupported": "Non écrit: format non pris en charge", + "formatDisabled": "Non écrit: format désactivé", + "fileExceedsSizeLimit": "Non écrit: limite de taille supérieure", + "notContentFile": "Non écrit: pas de contenu de livre" + }, "enabled": "Activée", "disabled": "Désactivée", "notSet": "non défini", @@ -6837,6 +7877,22 @@ "nFailed": "{count} a échoué", "nTotal": "{count} total" }, + "uploadFailures": { + "heading": "{count, plural, one {Impossible de télécharger # fichier} other {Impossible de télécharger # fichiers}}", + "dismissAll": "Tout rejeter", + "retry": "Réessayez de télécharger {name}", + "dismiss": "Rejeter {name}", + "reason": { + "unsupported": "Type de fichier non pris en charge : .{extension}", + "noExtension": "Le fichier n'a pas d'extension, donc son format est inconnu", + "tooLarge": "Plus grand que la limite de téléchargement {limit}", + "tooLargeServer": "Plus grand que la limite de téléchargement du serveur", + "tooLargeProxy": "Rejeté comme trop grand avant d'atteindre BookOrbit, probablement par un proxy inversé", + "storageFull": "Le serveur est à court d'espace de stockage", + "network": "Impossible d'accéder au serveur", + "status": "Échec du téléchargement (HTTP {status})" + } + }, "fileList": { "emptyTitle": "Aucun fichier dans Book Dock", "emptyMessageDefault": "Envoyez des fichiers ou déposez-les dans le dossier Book Dock", @@ -7096,7 +8152,40 @@ "moreOptions": "Plus d'options", "fewerOptions": "Moins d'options", "optionsSummary": "{formats} · note ajoutée", - "formatToggleAria": "Préférer {format}" + "formatToggleAria": "Préférer {format}", + "pair": { + "choice": "Les deux", + "choiceHint": "Demander le e-book et le livre audio ensemble", + "ebookLibraryLabel": "Librairie e-book", + "audiobookLibraryLabel": "Librairie de livres audio", + "audiobookFolderLabel": "Dossier du livre audio", + "landsTogether": "Les deux formats arrivent en un seul livre en {library}.", + "landsSeparately": "{library} conserve un livre par fichier ; chaque format arrive donc comme un livre distinct.", + "landsApart": "Le livre électronique et le livre audio vont à différentes bibliothèques, de sorte qu'ils arrivent comme deux livres.", + "preferredEbookFormats": "Formats e-book préférés", + "preferredAudiobookFormats": "Formats de livres audio préférés", + "state": { + "owned": "Dans votre bibliothèque", + "following": "Vous avez demandé ceci", + "joinable": "Demandé", + "new": "Non demandé" + }, + "requestBoth": "Demander les deux", + "getBoth": "Obtenir les deux", + "chooseReleases": "Choisir les autorisations", + "joinBoth": "Ajoutez-moi aux deux", + "requestEbook": "Demander e-book", + "requestAudiobook": "Demander un livre audio", + "getEbook": "Obtenir e-book", + "getAudiobook": "Obtenir un livre audio", + "joinEbook": "Ajoutez-moi à la demande e-book", + "joinAudiobook": "Ajoutez-moi à la demande de livres sonores", + "haveBoth": "Dans votre bibliothèque", + "requestedBoth": "Demandé", + "submitted": "Demandé le e-book et le livre audio", + "submittedPartlyJoined": "Demandé les deux. Une était déjà en cours, vous avez donc été ajouté à cette demande", + "submittedJoinsBook": "Demandé. Il rejoindra la copie déjà dans votre bibliothèque" + } }, "card": { "details": "Détails", @@ -7155,7 +8244,10 @@ "forbidden": "Cette demande appartient à quelqu'un d'autre.", "loadFailed": "Impossible de charger cette demande" }, - "entityName": "Demande" + "entityName": "Demande", + "pairSwitchLabel": "Formats dans cette requête", + "joinsBook": "Rejoint un livre que vous avez", + "joinsBookHint": "Quand cela arrive il est ajouté au livre déjà dans votre bibliothèque" }, "actions": { "approve": "Approuver", @@ -7170,7 +8262,29 @@ "grab": "Trouver une release", "goToBook": "Aller au livre", "retryRelease": "Essayer une autre release", - "leave": "Quitter la demande" + "leave": "Quitter la demande", + "pair": { + "approveBoth": "Approuver les deux", + "approveEbook": "Approuver l'e-book", + "approveAudiobook": "Approuver le livre audio", + "rejectBoth": "Rejeter les deux", + "rejectEbook": "Refuser e-book", + "rejectAudiobook": "Rejeter le livre audio", + "cancelBoth": "Annuler les deux", + "cancelEbook": "Annuler l'e-book", + "cancelAudiobook": "Annuler le livre audio", + "dismissBoth": "Rejeter les deux", + "dismissEbook": "Rejeter le e-book", + "dismissAudiobook": "Rejeter le fichier audio", + "restoreBoth": "Restaurer les deux", + "restoreEbook": "Restaurer e-book", + "restoreAudiobook": "Restaurer le livre audio", + "grabEbook": "Trouver une version e-book", + "grabAudiobook": "Trouver une version de livre audio", + "chooseReleases": "Choisir les autorisations", + "openEbook": "Ouvrir la demande e-book", + "openAudiobook": "Ouvrir la demande de livre audio" + } }, "filters": { "status": "Statut", @@ -7213,7 +8327,9 @@ "left": "Vous avez quitté cette demande", "bulkRejected": "{count, plural, one {# demande rejetée} other {# demandes rejetées} many {# demandes rejetées}}", "bulkRejectedPartial": "{done} rejetées, {failed} en échec", - "importDiscarded": "Le fichier importé a été écarté" + "importDiscarded": "Le fichier importé a été écarté", + "pairApproved": "Approuvé les deux", + "pairRejected": "Rejeté les deux" }, "errors": { "loadFailed": "Impossible de charger les demandes", @@ -7233,12 +8349,14 @@ "languageChangeFailed": "Impossible de changer la langue de la demande", "leaveFailed": "Cette demande n'a pas pu être quittée", "bulkRejectFailed": "Cette sélection n'a pas pu être rejetée", - "discardImportFailed": "Cet import n'a pas pu être écarté" + "discardImportFailed": "Cet import n'a pas pu être écarté", + "approveCompanionFailedEbook": "Approuvé celui-ci, mais l'e-book n'a pas pu être approuvé", + "approveCompanionFailedAudiobook": "Approuvé celui-ci, mais le livre audio n'a pas pu être approuvé" }, "grab": { "title": "Envoyer à un client de téléchargement", "subtitle": "Collez un lien magnet ou envoyez un fichier .torrent pour « {title} ».", - "singleFileNote": "Une release peut être un livre en plusieurs formats, un livre audio en plusieurs parties ou une archive - tout cela s'importe comme un seul livre. Une release contenant plusieurs livres distincts vous demande lequel garder.", + "singleFileNote": "Une release peut être un livre en plusieurs formats, un livre audio en plusieurs parties ou une archive - tout cela s’importe comme un seul livre. Une release contenant plusieurs livres distincts vous demande lequel garder.", "magnet": "Lien magnet", "torrentFile": "Fichier .torrent", "client": "Client de téléchargement", @@ -7279,6 +8397,18 @@ "releases": { "title": "Choisir une release", "retryTitle": "Essayer une autre release", + "pairTitle": "Choisir les autorisations", + "pair": { + "tabsLabel": "Formats pour choisir les versions pour", + "releaseCount": "{count, plural, one {# release} other {# releases}}", + "searching": "Recherche en cours", + "toChoose": "À choisir", + "sent": "Envoyé", + "finishedTitle": "Il ne reste plus rien à choisir", + "finishedHint": "Les deux formats ont maintenant leur publication. Vous pouvez suivre chacun de la requête.", + "backToRequest": "Retour à la demande", + "done": "Fait" + }, "subtitle": "Classées sur l'ensemble des indexeurs actifs.", "summaryCount": "{count, plural, one {# release} other {# releases} many {# releases}}", "allFreeleech": "toutes en freeleech", @@ -7346,7 +8476,7 @@ "clientRefused": "Votre client de téléchargement a refusé une release précédente", "clientUnavailable": "Votre client de téléchargement n'a pas répondu pour une release précédente" }, - "singleFileNote": "Une release peut être un livre en plusieurs formats, un livre audio en plusieurs parties ou une archive - tout cela s'importe comme un seul livre. Une release contenant plusieurs livres distincts vous demande lequel garder.", + "singleFileNote": "Une release peut être un livre en plusieurs formats, un livre audio en plusieurs parties ou une archive - tout cela s’importe comme un seul livre. Une release contenant plusieurs livres distincts vous demande lequel garder.", "searching": "Interrogation des indexeurs...", "refresh": "Chercher à nouveau", "cached": "Affichage de la dernière recherche. Relancez-la pour des résultats frais.", @@ -7568,7 +8698,8 @@ "decidedBy": "Tranchée par", "decisionNote": "Note de décision", "requestNote": "Note de la demande", - "openDetail": "Ouvrir le détail complet" + "openDetail": "Ouvrir le détail complet", + "pairMedia": "Livre électronique et livre audionumérique" }, "confirm": { "cancelDownloadTitle": "Annuler ce téléchargement ?", @@ -7624,7 +8755,9 @@ "SUBMIT_DESTINATION_REQUIRED": "Vos demandes sont approuvées dès que vous les faites : choisissez la bibliothèque où le livre doit atterrir", "SUBMIT_SELF_SERVE_LIMIT": "Terminez ou annulez d'abord quelques téléchargements : vous pouvez en avoir {limit} en cours à la fois", "SUBMIT_ON_BEHALF_FORBIDDEN": "Demander des livres pour d'autres personnes ne vous est pas permis", - "SUBMIT_ON_BEHALF_UNKNOWN_USER": "Aucune demande de livre ne peut être faite pour ce compte" + "SUBMIT_ON_BEHALF_UNKNOWN_USER": "Aucune demande de livre ne peut être faite pour ce compte", + "SUBMIT_TARGET_BOOK_NOT_FOUND": "Ce livre n'est pas dans une bibliothèque que vous pouvez atteindre", + "SUBMIT_TARGET_BOOK_HAS_MEDIUM": "Ce livre a déjà ce format" }, "actionError": { "BOOK_REQUEST_NOT_PENDING": "Seule une demande en attente accepte cette action ; celle-ci est actuellement : {status}", @@ -7710,7 +8843,22 @@ "reviewSources": "Revoir les sources" }, "selfServeBadge": "En libre-service", - "selfServeBadgeHint": "Téléchargé directement par le demandeur, sans étape d'approbation" + "selfServeBadgeHint": "Téléchargé directement par le demandeur, sans étape d'approbation", + "missingFormat": { + "labelAudiobook": "Livret audio pour ce livre", + "labelEbook": "Livre électronique pour ce livre", + "noAudiobook": "Pas encore de fichier audio", + "noEbook": "Pas encore d'e-book", + "requestAudiobook": "Demander un livre audio", + "requestEbook": "Demander e-book", + "requested": "Demandé", + "requestedBySomeone": "Demandé par quelqu'un d'autre", + "ownedElsewhere": "Dans votre bibliothèque comme livre séparé", + "open": "Ouvert", + "viewRequest": "Voir la demande", + "submittedAudiobook": "Demandé. Le livre audio rejoindra ce livre quand il arrivera", + "submittedEbook": "Demandé. L'e-book rejoindra ce livre quand il arrivera" + } }, "collection": { "visibleToAll": "Visible pour tous les utilisateurs", @@ -7787,6 +8935,9 @@ "uploadBooks": "Envoyer des livres", "appearance": "Apparence", "appearanceDescription": "Choisissez les options de thème, de couleur d'accent, d'arrondi des angles, de surface et d'arrière-plan.", + "style": "Style", + "surfacePalette": "Surface", + "topGlow": "Lumière supérieure", "theme": "Thème", "accent": "Accent", "radius": "Rayon", @@ -7884,7 +9035,8 @@ "updateTooltip": "Mise à jour {version} disponible", "openUpdateRelease": "Ouvrir la version {version} sur GitHub", "zones": { - "browse": "Parcourir" + "browse": "Parcourir", + "reading": "Lecture en cours" }, "reorder": { "gripAria": "Réorganiser {name}", @@ -7915,6 +9067,8 @@ "moreActions": "Plus de propositions", "setField": "Définir le champ", "refreshMetadata": "Actualiser les métadonnées", + "refreshConfirm": "{count, plural, one {Rafraîchir les métadonnées pour # livre ?} other {Rafraîchir les métadonnées pour # livres ?}}", + "refreshConfirmAction": "Rafraîchir", "reExtractCover": "Réextraire la couverture", "metadataLock": "Verrouillage des métadonnées", "lockAll": "Verrouiller tout", @@ -7976,6 +9130,69 @@ "table": "Vue en tableau" } }, + "browseHeader": { + "eyebrow": { + "library": "Bibliothèque", + "smartScope": "Portée intelligente", + "collection": "Collecte", + "browse": "Parcourir" + }, + "facts": { + "books": "{count, plural, one {# réservez} other {# livres}}", + "booksOf": "{matching} de {total, plural, one {# réservez} other {# livres}}", + "authors": "{count, plural, one {# auteur} other {# auteurs}}", + "series": "{count, plural, one {# série} other {# série}}", + "scanned": "{time} scanné", + "scanningProgress": "Analyse {processed} / {total}", + "syncsToKobo": "Synchronisation vers Kobo" + }, + "switcher": { + "open": "Basculer depuis {name}", + "jumpTo": "Aller à...", + "libraries": "Bibliothèques", + "smartScopes": "Portées intelligentes", + "collections": "Collections", + "empty": "Rien ne correspond" + }, + "search": { + "removeToken": "Supprimer le filtre {label}", + "clearAll": "Effacer la recherche et les filtres", + "save": "Enregistrer", + "summaryToken": "{count, plural, one {# filter} other {# filter}}" + }, + "tokens": { + "anyOf": "Tout {count, plural, one {# règle} other {# règles}}", + "allOf": "Tout {count, plural, one {# règle} other {# règles}}" + }, + "sort": { + "sortBy": "Trier par {field}", + "ascending": "Ascendant. Basculer sur descendant", + "descending": "Descendant. Passer à ascendant" + }, + "facets": { + "format": "Formater", + "rules": "Règles", + "show": "Afficher", + "library": "Bibliothèque", + "status": "Statut", + "ruleCount": "{count, plural, one {# règle} other {# règles}}" + }, + "menu": { + "more": "Plus pour {name}", + "editRules": "Modifier les règles", + "deleteSmartScope": "Supprimer le Scope Intelligent", + "deleteCollection": "Supprimer la collection", + "confirmDelete": "Supprimer \"{name}\" ? Cette action ne peut pas être annulée.", + "upload": "Télécharger des livres" + }, + "scan": { + "scanning": "Analyse en cours", + "started": "Analyse de {name}", + "finished": "Scan de {name} terminé" + }, + "viewModes": "Mode d'affichage", + "legend": "Couleurs du volume" + }, "iconPicker": { "clearSelectionAria": "Annuler la sélection", "searchLucide": "Rechercher dans les icônes Lucide...", @@ -8084,6 +9301,28 @@ "discardTitle": "Abandonner les modifications ?", "discardDescription": "Vos modifications non enregistrées seront perdues.", "discardConfirm": "Abandonner" + }, + "backgroundPicker": { + "none": "Aucun", + "dots": "Points", + "cross": "Croix", + "millimeter": "Millimeter", + "blueprint": "Schéma", + "brushed": "Brosse", + "scanlines": "Lignes de balayage", + "vinyl": "Vinyle", + "carbon": "Carbone", + "perforated": "Perforé", + "aurora": "Aurora", + "horizon": "Horizon", + "glow": "Lumière", + "mesh": "Maillage", + "elevation": "Altitude", + "prism": "Prisme", + "spectrum": "Spectre", + "spectrum-x": "Spectre X", + "spectrum-plus": "Spectrum Plus", + "eclipse": "Eclipse" } }, "customIcons": { @@ -8329,6 +9568,7 @@ }, "tabs": { "providers": "Fournisseurs", + "servers": "Serveurs de messagerie", "recipients": "Destinataires", "groups": "Groupes", "templates": "Modèles", @@ -8497,6 +9737,306 @@ "sending": "Envoi...", "queued": "{count, plural, =0 {aucun e-mail en file d'attente} one {un e-mail en file d'attente} other {# emails en file d'attente} many {# emails en file d'attente}}", "failed": "Échec de l'envoi" + }, + "page": { + "addRecipient": "Ajouter un destinataire", + "recipients": "Destinataires", + "groups": "Groupes", + "newGroup": "Nouveau groupe", + "servers": "Serveurs de messagerie", + "addServer": "Ajouter un serveur de messagerie", + "templates": "Modèles", + "newTemplate": "Nouveau modèle", + "noServersReadonly": "Aucun serveur de messagerie n'est encore partagé avec vous. Demandez à un administrateur d'en ajouter un.", + "roleShared": "Partagé avec tout le monde", + "roleSystem": "Réinitialisation du mot de passe", + "cantConnect": "Impossible de se connecter", + "builtIn": "Inclus dans", + "recipientsEmptyTitle": "Ajouter le lecteur électronique ou la boîte de réception à laquelle vous envoyez des livres", + "recipientsEmptyBody": "L'adresse d'un Kindle se termine par {kindle} et est listée sous Périphériques dans votre compte Amazon. Un PocketBook se termine par {pocketbook}. Toute boîte de réception ordinaire fonctionne aussi.", + "kindleNote": "Veuillez ne recevoir que les courriers des expéditeurs approuvés. Ajoutez {address} dans les paramètres de documents personnels de votre compte Amazon.", + "copyAddress": "Copier l'adresse", + "addressCopied": "Adresse copiée", + "editServer": "Modifier {name}", + "editTemplate": "Modifier {name}", + "editGroup": "Modifier {name}", + "groupCount": "{count, plural, one {# recipient} other {# recipients}}", + "recipientsHint": "Le favori est sélectionné lorsque vous envoyez.", + "groupsHint": "Envoyer à plusieurs destinataires à la fois.", + "groupsEmpty": "Pas encore de groupes.", + "serversHint": "Le favori envoie vos livres.", + "templatesHint": "Le sujet et le message envoyé avec chaque livre.", + "kindleTemplateNote": "Un Kindle ne montre jamais le modèle : son e-mail sort toujours avec le sujet {subject}.", + "test": "Tester", + "testServer": "Tester {name}", + "testOk": "{name} connecté", + "testFailed": "{name} ne peut pas se connecter", + "defaultRecipient": "Destinataire par défaut", + "makeDefaultRecipient": "Faire de {name} le destinataire par défaut", + "defaultServer": "Serveur par défaut", + "makeDefaultServer": "Rendre {name} le serveur par défaut", + "defaultTemplate": "Modèle par défaut", + "makeDefaultTemplate": "Faire de {name} le modèle par défaut", + "editRecipient": "Modifier {name}", + "serversEmptyTitle": "Pas encore de serveur de messagerie", + "serversEmptyBody": "Les livres passent par un compte SMTP. Gmail, Outlook, iCloud et Fastmail sont en un clic, tous les autres serveurs fonctionnent aussi.", + "needServerTitle": "Ajouter un serveur de messagerie avant d'envoyer", + "needServerBody": "BookOrbit envoie des livres via un compte SMTP que vous possédez, comme Gmail avec un mot de passe de l'application.", + "needServerAsk": "Demandez à un administrateur de partager un serveur de messagerie avec vous.", + "goToServers": "Aller aux serveurs de messagerie", + "noEncryption": "Pas de chiffrement" + }, + "route": { + "defaultSaved": "Mise à jour par défaut" + }, + "attention": { + "title": "A besoin d'attention", + "count": "{count, plural, one {# item} other {# items}}", + "hide": "Cacher", + "show": "Afficher", + "serverDown": "{name} ne peut pas se connecter", + "notDelivered": "{book} n'a pas atteint {recipient}", + "maybeDelivered": "{book} peut ne pas avoir atteint {recipient}", + "testedAgo": "testé {time}", + "editServer": "Modifier le serveur", + "editRecipient": "Modifier le destinataire", + "resend": "Renvoyer" + }, + "reason": { + "tooLarge": "{size} est plus que {server} accepte.", + "tooLargeGmail": "{size} dépasse la limite de 25 Mo de Gmail pour les pièces jointes.", + "tooLargeFix": "Envoyez une petite édition, ou définissez le destinataire à des EPUB textuels uniquement.", + "signIn": "{server} a refusé la connexion.", + "signInFix": "Vérifiez le nom d'utilisateur et le mot de passe sur le serveur de messagerie.", + "unreachable": "{server} n’a pas répondu.", + "unconfirmed": "La connexion a été interrompue après la transmission du message, il se peut qu'il soit arrivé.", + "unconfirmedFix": "Vérifiez la boîte de réception avant de renvoyer, ou elle peut arriver deux fois.", + "interrupted": "BookOrbit a redémarré pendant la sortie de cet e-mail.", + "interruptedFix": "Vérifiez la boîte de réception avant de renvoyer.", + "preparation": "Le fichier n'a pas pu être préparé pour l'envoi.", + "other": "Le serveur de messagerie l'a désactivé.", + "server": "le serveur de messagerie", + "serverMessage": "Message du serveur", + "retryAt": "Prochaine tentative {time}." + }, + "status": { + "sent": "Envoyé", + "sending": "Envoi en cours", + "retrying": "Réessayer · {attempt} de {total}", + "unconfirmed": "Non confirmé", + "failed": "Echoué" + }, + "recent": { + "moreActions": "Plus d'actions pour {title}", + "deletedBook": "Livre supprimé", + "openBook": "Ouvrir le livre", + "resend": "Renvoyer", + "delete": "Supprimer l'entrée" + }, + "log": { + "all": "Tous", + "attention": "A besoin d'attention", + "active": "En cours", + "book": "Réserver", + "sentTo": "Envoyé à", + "file": "Fichier", + "status": "Statut", + "when": "Quand", + "sentMeans": "Envoyé signifie que votre serveur de messagerie l'a accepté", + "emptyFilter": "Rien ici pour l'instant.", + "loadMore": "Charger plus", + "showing": "Affichage de {shown} sur {total}", + "emptyTitle": "Rien n'a encore été envoyé", + "emptyBody": "Les livres que vous envoyez par email apparaissent ici avec où ils sont allés et si le serveur de messagerie les a pris." + }, + "card": { + "nothingSent": "Rien n'a encore été envoyé", + "failed": "a échoué", + "retrying": "nouvelle tentative", + "unconfirmed": "non confirmé", + "sending": "envoi", + "narration": "Narration", + "narrationTitle": "Les livres lisés gardent leur narration" + }, + "device": { + "kindle": "Refroidir", + "kobo": "Kobo", + "other": "Autre lecteur électronique", + "otherShort": "Lecteur électronique", + "none": "Personne ou boîte de réception" + }, + "sheet": { + "title": "Envoyer par e-mail", + "sendTo": "Envoyer à", + "groups": "Groupes", + "templateName": "Modèle {name}", + "eachFormat": "Format de chaque destinataire", + "formatForAll": "{format} pour tout le monde", + "file": "Fichier", + "mailServer": "Serveur de messagerie", + "template": "Gabarit", + "yourDefault": "votre valeur par défaut", + "emails": "{count, plural, one {# email} other {# emails}}", + "noOnePicked": "Personne n'a choisi", + "total": "{size} au total", + "send": "{count, plural, one {Envoyez} other {Envoyez # emails}}", + "noFormat": "Pas de {format}, reçoit {got}", + "readAlong": "Lecture en cours, {size}", + "overKindle": "{size}, au-dessus de la limite de 50 Mo de Kindle", + "overGmail": "{size}, limite de 25 Mo de Gmail", + "kindleRejects": "Rejetons {format}", + "blockedKindle": "{name} ne peut pas prendre {format}. Choisissez EPUB ou PDF, ou décochez-le.", + "books": "{count, plural, one {# réservez} other {# livres}}", + "notReadyTitle": "L'e-mail n'est pas encore configuré", + "notReadyBody": "Avant qu'un livre puisse aller n'importe où, ce compte a besoin d'un serveur de messagerie et d'un destinataire.", + "addServer": "Ajouter un serveur de messagerie", + "addServerHint": "Gmail, Outlook, iCloud, Fastmail ou tout autre compte SMTP.", + "askForServer": "Demandez à un administrateur de partager un serveur de messagerie.", + "addRecipient": "Ajouter un destinataire", + "addRecipientHint": "Votre Kindle, PocketBook ou n'importe quelle boîte de réception.", + "openSettings": "Ouvrir les paramètres de messagerie", + "sendingTitle": "Envoi de {title}", + "closeHint": "Vous pouvez fermer cette fenêtre. Les échecs apparaissent également dans vos notifications et dans votre historique de messagerie.", + "openHistory": "Ouvrir l'historique", + "done": "Fait", + "acceptedBy": "Accepté par {server} {time}", + "handingOver": "Remise à {server}" + }, + "editor": { + "kindleSubject": "convertir", + "recipient": { + "newTitle": "Nouveau destinataire", + "description": "Le nom du destinataire, l'adresse, l'appareil et ce qu'il reçoit.", + "sectionRecipient": "Destinataire", + "sectionReceives": "Ce qu'il reçoit", + "name": "Nom", + "email": "Adresse e-mail", + "device": "Appareil", + "deviceHint": "Veuillez modifier le sujet à {subject} et limiter les formats ci-dessous.", + "format": "Formater", + "formatPrimary": "Principale du livre", + "formatHint": "Un livre sans ce format obtient son édition primaire.", + "kindleFormatHint": "Amazon a cessé d'accepter MOBI et AZW3 par email en 2023, donc ils ne sont pas offerts pour un Kindle. Un livre sans ce format obtient son édition primaire.", + "kindleLegacyFormat": "Veuillez ne plus accepter {format} par e-mail. Choisissez EPUB ou PDF.", + "readAlong": "Livres lus", + "readAlongAutomatic": "Automatique", + "readAlongAutomaticHint": "Texte seulement quand une copie de sécurité peut être faite, sinon l'original.", + "readAlongTextOnly": "EPUB texte uniquement", + "readAlongTextOnlyHint": "Narration dépouillée. Assez petite pour l'email.", + "readAlongOriginal": "Original avec narration", + "readAlongOriginalHint": "Conserve la narration. Souvent 100 Mo ou plus, sur les limites de la plupart des serveurs de messagerie.", + "notForKindle": "Pas pour Kindle", + "template": "Gabarit", + "templateDefault": "Votre valeur par défaut ({name})", + "templateKindleHint": "Ignoré pour Kindle, qui ne montre jamais le message.", + "approveTitle": "Approuver l'expéditeur dans Amazon", + "approveBody": "Kindle lâche des e-mails à partir des adresses qu'il ne sait pas, sans rebond. Dans {path}, ajoutez {address}", + "approvePath": "Gérer vos contenus et périphériques › Préférences › Paramètres de documents personnels", + "approveNoServer": "Ajoutez d'abord un serveur de messagerie pour voir l'adresse que Kindle doit approuver.", + "lastSent": "Dernier livre envoyé {time}", + "sendTest": "Envoyer un e-mail de test", + "testSubject": "Email de test de BookOrbit", + "testBody": "Ceci est un test de BookOrbit. Si vous pouvez le lire, les livres envoyés à {name} arriveront ici aussi.", + "testSent": "Courriel de test envoyé à {name}", + "testFailed": "L'e-mail de test n'est pas sorti : {error}", + "makeDefault": "Rendre le destinataire de l'envoi rapide", + "remove": "Supprimer le destinataire", + "removeConfirm": "Supprimer {name}?", + "removeConsequence": "Son histoire ne cesse de s'arrêter.", + "removeDefaultConsequence": "Ses séjours d’historique et l’envoi rapide s’arrête jusqu’à ce que vous fassiez une étoile à un autre destinataire.", + "required": "Le nom et l'adresse e-mail sont requis.", + "sectionLastSent": "Dernier envoi" + }, + "server": { + "newTitle": "Nouveau serveur de messagerie", + "description": "Le serveur SMTP, sa connexion et qui peut l'envoyer.", + "sectionProvider": "Fournisseur", + "sectionServer": "Serveur", + "sectionSignIn": "Se connecter", + "sectionSender": "Expéditeur", + "sectionWho": "Qui l'utilise", + "presetGmail": "Gmail", + "presetOutlook": "Outlook", + "presetIcloud": "iCloud Mail", + "presetFastmail": "Messagerie rapide", + "presetOther": "Autre SMTP", + "presetHint": "Un préréglage remplit l'hôte, le port et la sécurité. Vous pouvez toujours les modifier.", + "name": "Nom", + "host": "Hôte", + "port": "Port", + "security": "Sécurité", + "securityStarttls": "STARTTLS", + "securitySsl": "SSL/TLS", + "securityNone": "Aucun", + "securityHint": "STARTTLS sur 587, SSL/TLS sur 465, l'un ou l'autre, jamais les deux.", + "needsPassword": "Ce serveur a besoin d'un mot de passe", + "username": "Nom d'utilisateur", + "password": "Mot de passe", + "appPassword": "Mot de passe de l'application", + "passwordKeep": "Enregistré. Tapez pour le remplacer", + "appPasswordHint": "Gmail et iCloud ont besoin d'un mot de passe d'application, pas votre mot de passe de compte.", + "fromName": "De nom", + "fromAddress": "Adresse d'expéditeur", + "fromAddressHint": "Les propriétaires de Kindle doivent approuver cette adresse.", + "share": "Partager avec tout le monde", + "shareHint": "D'autres personnes peuvent envoyer des livres à travers ce serveur sans voir le mot de passe.", + "system": "Envoyer des réinitialisations de mot de passe et des liens de connexion", + "systemHint": "Le serveur BookOrbit lui-même utilise. Seul un super-utilisateur peut changer cela.", + "verifyTls": "Vérifier le certificat du serveur", + "verifyTlsHint": "Désactiver uniquement pour un serveur sur votre propre réseau avec un certificat auto-signé.", + "test": "Tester la connexion", + "testDirty": "Enregistrer en premier, puis tester", + "testOk": "Connecté", + "testFailed": "Impossible de se connecter : {error}", + "remove": "Supprimer le serveur", + "removeConfirm": "Supprimer {name}?", + "removeConsequence": "Tout ce qu'il est partagé avec le perd.", + "removeSystemFirst": "Désactiver la réinitialisation du mot de passe sur ce serveur avant de le supprimer.", + "makeDefault": "Utiliser comme valeur par défaut", + "required": "Le nom et l'hôte sont requis." + }, + "template": { + "newTitle": "Nouveau modèle", + "description": "Le sujet et le message envoyé avec chaque livre.", + "sectionTemplate": "Gabarit", + "sectionInsert": "Insert", + "sectionPreview": "Aperçu", + "name": "Nom", + "subject": "Sujet", + "message": "Message", + "groupBook": "Réserver", + "groupFile": "Fichier", + "groupOther": "Autres", + "insertHint": "Entrée au curseur, dans le sujet ou dans le message. Les valeurs vides n'affichent rien.", + "insertVariable": "Insert {variable}", + "previewWith": "Aperçu avec", + "previewEmpty": "Envoyez un livre une fois pour prévisualiser un modèle avec lui.", + "previewFailed": "L'aperçu n'a pas pu être affiché.", + "previewTo": "À", + "builtInReadonly": "Construit. Seul un super-utilisateur peut le changer.", + "kindleNote": "Kindle ne montre jamais de modèle : il obtient toujours le sujet {subject}.", + "makeDefault": "Rendre ma valeur par défaut", + "remove": "Supprimer le modèle", + "removeConfirm": "Supprimer {name}?", + "removeConsequence": "Les destinataires qui l'utilisent, retournent à votre modèle par défaut.", + "required": "Le nom et le sujet sont requis.", + "attachment": "Attaché : {name}" + }, + "group": { + "newTitle": "Nouveau groupe", + "description": "Un ensemble de destinataires à envoyer un livre à la fois.", + "sectionGroup": "Groupes", + "sectionMembers": "Membres", + "name": "Nom", + "memberCount": "{count} de {total}", + "noRecipientsTitle": "Aucun destinataire à choisir", + "noRecipientsBody": "Un groupe est un ensemble de destinataires. Ajoutez d'abord un destinataire.", + "remove": "Supprimer le groupe", + "removeConfirm": "Supprimer {name}?", + "removeConsequence": "Ses récipiendaires restent.", + "required": "Un groupe a besoin d'un nom.", + "updated": "Groupe mis à jour" + } } }, "errors": { @@ -8791,6 +10331,14 @@ "squareTitle": "Carré 1:1", "squareHint": "Bibliothèques de livres audio uniquement", "slotsHint": "Un livre disposant à la fois d'un ebook et d'un livre audio affiche la couverture adaptée à ce format." + }, + "gridShape": { + "title": "Forme de la grille", + "tallTitle": "Grandes cellules", + "tallHint": "Meilleur pour les livres électroniques ou les bibliothèques mixtes", + "squareTitle": "Cellules carrées", + "squareHint": "Meilleure pour les bibliothèques de livres sonores", + "hint": "Chaque livre montre la couverture de son format principal, carré pour un livre audio. Une couverture qui ne correspond pas à la tuile suit votre réglage d'affichage de couverture." } }, "folders": { @@ -8987,6 +10535,68 @@ "opfHint": "Enregistré à côté du livre par Calibre", "swap": "Inverser l'ordre", "hint": "BookOrbit utilise la première source dont dispose un livre et ignore l'autre. Les bibliothèques Calibre veulent généralement metadata.opf en premier." + }, + "regex": { + "title": "Configurer les métadonnées regex", + "sourceTitle": "Regex", + "description": "Extraire les métadonnées du chemin du fichier primaire relatif au dossier de la bibliothèque. L'extension de fichier est supprimée avant la correspondance. La première règle avec les champs utilisables gagne.", + "enable": "Activer les métadonnées regex", + "primaryFileHint": "Pour un livre composé de plusieurs fichiers, comme les pistes audio, les règles lisent le chemin d'accès du fichier principal.", + "groups": "Groupes nommés :", + "valuesHint": "Utiliser l'auteur pour un auteur ou des auteurs séparés par des points-virgules. Les dates utilisent YYYY-MM-DD. Flags: i ignore cas, u active Unicode.", + "rules": "Règles d'extraction commandées", + "rule": "Règle {number}", + "moveUp": "Déplacer la règle vers le haut", + "moveDown": "Déplacer la règle vers le bas", + "remove": "Supprimer la règle", + "basePath": "Dossier de la bibliothèque", + "extensionHint": "L'extension de fichier est automatiquement ignorée. L'ancre de fin correspond au nom du fichier sans son extension.", + "flags": "Drapeaux", + "add": "Ajouter une règle", + "examplePath": "Exemple de chemin de fichier relatif, y compris l'extension", + "examplePlaceholder": "Auteur/Séries/08 - My.Book.epub", + "exampleTitle": "Exemple avec une référence principale de l'auteur", + "exampleTestPath": "Chemin du test (y compris l'extension)", + "validating": "Vérification des règles…", + "validationSuccess": "La syntaxe des règles et les groupes sont valides. Utilisez l'aperçu pour vérifier les correspondances pour un chemin de fichier.", + "validationError": "Impossible de valider les règles. Réessayez avant de les appliquer.", + "validationRetry": "Vérifier à nouveau", + "validationRuleCount": "Ajouter entre les règles {min} et {max}.", + "preview": "Aperçu", + "previewing": "Test des règles…", + "previewError": "Impossible de prévisualiser les règles. Vérifiez le chemin relatif et la configuration, puis réessayez.", + "actualInput": "Chemin testé :", + "matched": "Règle correspondante {number}", + "noMatch": "Aucune correspondance utilisable. Les métadonnées du fichier seront utilisées.", + "scanHint": "Les modifications s'appliquent à l'extraction future de métadonnées pour les fichiers nouveaux ou modifiés. L'enregistrement ne démarre pas de balayage ou de mise à jour des livres inchangés.", + "apply": "Appliquer au formulaire de bibliothèque", + "configure": "Configurer", + "enabledHint": "Extraire les champs des chemins relatifs sans extensions de fichier.", + "disabledHint": "Désactivé. Configurer les règles à activer.", + "moveSourceUp": "Déplacer {source} vers le haut", + "moveSourceDown": "Déplacer {source} vers le bas", + "diagnostics": { + "pattern_required": "Entrez une expression régulière.", + "pattern_too_long": "L'expression ne doit pas dépasser les caractères {count}.", + "invalid_flags": "Seul i et u sont autorisés, chacun au plus une fois.", + "invalid_pattern": "Expression régulière non valide.", + "missing_group": "Inclure au moins un groupe nommé pris en charge.", + "conflicting_authors": "Utilisez soit l'auteur, soit les auteurs, pas les deux.", + "invalid_value": "Une valeur de champ invalide a été ignorée.", + "timeout": "L'expression a pris trop de temps. Simplifiez le schéma.", + "busy": "Tous les prévisualisateurs sont occupés. Réessayez sous peu.", + "worker_failed": "L'expression n'a pas pu être évaluée. Veuillez réessayer." + }, + "precedenceHint": "La première source de fichier disponible fournit les métadonnées. Les champs Regex suivent cette commande et les valeurs manquantes sont remplies depuis l'autre source.", + "summary": "{format} premier, métadonnées regex préférées", + "fields": { + "title": "Titre de la page", + "authors": "Auteurs", + "series": "Séries", + "seriesIndex": "Numéro de série", + "publishedYear": "Année de publication", + "publishedDate": "Date de publication" + } } }, "fileWrite": { @@ -9002,13 +10612,23 @@ }, "cover": { "title": "Inclure l'image de couverture", - "hint": "Écrit la couverture stockée dans les formats de fichiers pris en charge." + "hint": "Écrit la couverture stockée dans les formats de fichiers pris en charge.", + "mediumHint": "Écrit également la couverture stockée dans le fichier. Les fichiers ebook reçoivent la couverture du livre et les fichiers audio reçoivent la couverture du livre audionumérique ; un fichier dont la couverture est manquante conserve sa propre couverture." + }, + "allFiles": { + "title": "Écrire dans chaque fichier d'un livre", + "hint": "Écrit également dans les autres fichiers du livre, comme un livre audionumérique conservé à côté de son livre électronique ou un PDF dans le même dossier. Chaque format de livre est écrit, donnez donc un fichier compagnon comme un cahier de travail son propre dossier pour le retirer. Le formatage bascule et les limites de taille ci-dessous s'appliquent toujours. La désactivation empêche les écritures futures ; elle n'annule pas les fichiers déjà écrits." }, "epub": { "title": "EPUB", "hint": "Écrit les métadonnées dans le fichier OPF à l'intérieur de l'archive EPUB.", "toggleAria": "Écrire les métadonnées EPUB" }, + "readAlong": { + "title": "Lecture EPUB", + "hint": "Les EPUB avec narration synchronisée, comme le Conteur lisent leur audio, donc ils sont grands et ont besoin de plus de mémoire pour réécrire.", + "toggleAria": "Écrire les métadonnées EPUB en lecture" + }, "fb2": { "title": "FictionBook (FB2)", "hint": "Réécrit le bloc de description dans les fichiers FB2, sans modifier le texte du livre.", @@ -9032,7 +10652,9 @@ "audio": { "title": "Audio", "hint": "Incorpore la couverture stockée dans les fichiers M4B, M4A, MP3 et FLAC.", - "toggleAria": "Écrire des couvertures audio" + "toggleAria": "Écrire des couvertures audio", + "tagsHint": "Écrit des balises telles que le titre, les auteurs, les narrateurs et les séries dans les fichiers M4B, M4A, MP3 et FLAC.", + "tagsToggleAria": "Écrire les métadonnées audio" }, "coverAudioHint": "Écrit aussi la couverture stockée dans le fichier. Les fichiers audio n'acceptent qu'une couverture.", "audioNeedsCover": "Nécessite d'activer « Inclure l'image de couverture ».", @@ -9126,6 +10748,7 @@ "add": "Ajouter", "emptyCreate": "Personne d'autre pour l'instant. Les personnes ajoutées ici obtiennent l'accès dès la création de la bibliothèque.", "superusers": "Les super-utilisateurs ont toujours un accès complet.", + "levelsHint": "Les lecteurs peuvent naviguer et lire. Les éditeurs et les propriétaires peuvent également modifier les métadonnées lorsque leur compte a l'autorisation d'édition des métadonnées.", "levelFor": "Niveau d'accès de {name}", "revokeFor": "Retirer l'accès de {name}", "revokeQuestion": "Retirer l'accès ?", @@ -9245,6 +10868,13 @@ "createFolder": "Impossible de créer le dossier" } }, + "destination": { + "loadFailed": "Impossible de charger les bibliothèques de destination. Fermez et rouvrez pour réessayer.", + "noLibraries": "Aucune bibliothèque de livres n'est disponible. Créez une bibliothèque ou demandez l'accès à un administrateur.", + "noFolders": "Cette bibliothèque n'a pas de dossier de destination. Ajoutez un dossier dans les paramètres de la bibliothèque.", + "unavailable": "La bibliothèque sélectionnée n'est plus disponible.", + "selectFolder": "Sélectionnez un dossier..." + }, "upload": { "library": "Bibliothèque", "selectLibrary": "Sélectionnez une bibliothèque...", @@ -9272,6 +10902,85 @@ } } }, + "metadataReminders": { + "title": "Rappels de champ manquant", + "navDescription": "Choisissez les champs de métadonnées manquants que vous voulez voir", + "personal": "Vos préférences", + "description": "Choisissez les champs manquants qui apparaissent dans les rappels du livre. Ces préférences s'appliquent dans votre bibliothèque et ne modifient pas les notes des métadonnées.", + "sheetDescription": "Choisissez les champs qui vous intéressent sans quitter ce livre.", + "fieldsHeading": "Champs à vérifier", + "autoSave": "Les modifications enregistrées automatiquement sur votre compte.", + "saving": "Enregistrement des préférences...", + "saved": "Préférences enregistrées.", + "reset": "Rétablir les valeurs par défaut", + "disabled": "Aucun champ sélectionné. Les rappels de champs manquants sont masqués.", + "saveFailed": "Impossible d'enregistrer vos préférences. Vos préférences précédentes ont été restaurées.", + "customize": "Personnaliser les rappels...", + "missingHeading": "Métadonnées manquantes", + "missingDescription": "Champs manquants que vous avez choisi de suivre.", + "missingCount": "{count, plural, one {# champ manquant} other {# champs manquants}}", + "missingFields": "{count, plural, one {champ manquant} other {champs manquants}}", + "fields": { + "publisher": { + "label": "Éditeur", + "hint": "L'éditeur est rempli." + }, + "language": { + "label": "Langue", + "hint": "La langue est remplie." + }, + "publication": { + "label": "Année de publication", + "hint": "Une année de publication ou une date complète est suffisante." + }, + "pageCount": { + "label": "Nombre de pages", + "hint": "Le nombre de pages est rempli. Les livres audio seulement sont ignorés." + }, + "isbn": { + "label": "ISBN", + "hint": "Soit ISBN-10 soit ISBN-13 est suffisant." + }, + "genres": { + "label": "Genres", + "hint": "Au moins un genre est rempli." + }, + "tags": { + "label": "Tags", + "hint": "Au moins un tag est rempli." + }, + "description": { + "label": "Libellé", + "hint": "Le libellé est renseigné." + } + } + }, + "metadataCache": { + "badge": { + "cached": "Mise en cache", + "stale": "Décor", + "cachedHint": "Résultat enregistré de {when}", + "cachedHintUndated": "Résultat enregistré", + "staleHint": "Le fournisseur était indisponible, un résultat enregistré de {when} a été utilisé", + "staleHintUndated": "Le fournisseur n'était pas disponible, un résultat sauvegardé a donc été utilisé" + }, + "notice": { + "someCached": "Certains résultats proviennent des recherches enregistrées (plus ancien : {when}).", + "someCachedUndated": "Certains résultats provenaient de recherches enregistrées.", + "someStale": "Certains fournisseurs n'étaient pas disponibles, donc les résultats enregistrés ont été affichés (plus ancien : {when}).", + "someStaleUndated": "Certains fournisseurs n'étaient pas disponibles, donc les résultats enregistrés ont été affichés.", + "searchFresh": "Rechercher dans le nouveau", + "searchFreshHint": "Demander à nouveau à chaque fournisseur au lieu d'utiliser les réponses enregistrées" + }, + "fallback": { + "usedSaved": "{count, plural, one {{providers} était indisponible, donc les résultats sauvegardés ont été utilisés.} other {{providers} étaient indisponibles, donc les résultats sauvegardés ont été utilisés.}}" + }, + "ignoreCache": { + "label": "Ignorer les résultats du cache", + "hint": "Demandez de nouveau à chaque fournisseur au lieu de réutiliser les réponses enregistrées. Plus lent et utilise plus de l'allocation de requête de chaque fournisseur.", + "runHint": "S'applique à l'exécution que vous démarrez ici. Chaque fournisseur est demandé à nouveau au lieu de réutiliser les réponses enregistrées, ce qui est plus lent." + } + }, "metadataScore": { "missingFields": "{count, plural, =0 {aucun champ manquant - modifier les métadonnées} one {# champ manquant - modifier les métadonnées} other {# champs manquants - modifier les métadonnées} many {# champs manquants - modifier les métadonnées}}" }, @@ -9712,6 +11421,22 @@ } }, "reader": { + "pageImages": { + "loadFailed": "Impossible d'ouvrir ce document. Vérifiez votre accès ou réessayez.", + "pageFailed": "Cette page n'a pas pu être chargée. Réessayez quand le serveur est disponible.", + "pageAlt": "Page {page}", + "previousPage": "Page précédente", + "nextPage": "Page suivante", + "goToPage": "Aller à la page", + "pin": "Épingler le menu du lecteur", + "unpin": "Désépingler le menu du lecteur" + }, + "djvu": { + "pageText": "Texte de la page intégrée", + "textDescription": "Le texte stocké dans le document DjVu peut contenir des erreurs.", + "noText": "Cette page n'a pas de texte intégré.", + "textFailed": "Impossible de charger le texte intégré de cette page." + }, "retry": "Réessayer", "pdf": { "openError": "Impossible d'ouvrir ce PDF", @@ -9782,6 +11507,7 @@ }, "loadingBook": "Chargement du livre...", "failedToLoadBook": "Échec du chargement du livre", + "bookLoadTimeout": "Le livre a pris trop de temps pour être ouvert. Essayez de rafraîchir la page.", "chapterNumber": "Chapitre {number}", "peek": { "badge": "Aperçu", @@ -12113,6 +13839,7 @@ }, "email": { "providers": "Fournisseurs", + "servers": "Serveurs de messagerie", "recipients": "Destinataires", "groups": "Groupes", "templates": "Modèles", @@ -12126,7 +13853,8 @@ "genre-blocklist": "Liste de blocage des genres", "score": "Score de confiance", "auto-fetch": "Récupération automatique du livre", - "authors": "Récupération automatique de l'auteur" + "authors": "Récupération automatique de l'auteur", + "search-cache": "Cache de recherche" }, "admin": { "users": "Utilisateurs", @@ -12237,5 +13965,92 @@ "errors": { "generic": "Erreur de synthèse vocale" } + }, + "delivery": { + "readAloud": { + "label": "Livraison EPUB en lecture seule", + "automatic": "Automatique : préférez le texte uniquement, autorisez le repli original.", + "textOnly": "EPUB texte uniquement", + "original": "EPUB original avec narration", + "hint": "S'applique aux livraisons futures. Les originaux préservent la narration existante et peuvent être beaucoup plus grandes. La préparation uniquement textuelle échoue si une copie sécurisée ne peut pas être faite.", + "koboHint": "Les EPUB originaux contournent la conversion KEPUB. Le firmware natif de Kobo peut ne pas jouer de narration, et la position précise et la synchronisation en surbrillance ne sont pas disponibles pour cette copie.", + "profileHint": "Utilisez des profils OPDS séparés pour les lecteurs qui ont besoin de différentes variantes EPUB.", + "replacementTitle": "Remplacer une copie Kobo", + "bookId": "ID du livre", + "device": "Appareil", + "prepare": "Préparer le remplacement", + "offer": "J'ai enlevé uniquement la copie de l'appareil ; proposer le remplacement", + "confirm": "J'ai installé le remplacement", + "cancel": "Annuler le remplacement", + "replacementHint": "Préparez et révisez en premier. La suppression d'une copie de l'appareil ne supprime pas le livre de la bibliothèque. Sauvegardez vous-même les notes locales. BookOrbit préserve la progression canonique et les annotations des serveurs. Les événements retardés peuvent limiter la synchronisation précise.", + "prepared": "Remplacement préparé : {format}, {size}. Retirez ce livre uniquement de l'appareil sélectionné, puis offrez le remplacement et la synchronisation préparés.", + "offered": "Remplacement offert. Synchronisez et téléchargez sur l'appareil, puis confirmez l'installation. Un transfert HTTP terminé ne prouve pas l'installation.", + "cancelled": "Remplacement annulé. L'annulation ne restaure pas une copie de l'appareil supprimée ou partiellement remplacée. Sélectionnez le même livre pour préparer un téléchargement de récupération.", + "alreadyOnDevice": "L'appareil a déjà cette copie exacte, donc il n'y a rien à remplacer.", + "failed": "Impossible de préparer ou de mettre à jour ce remplacement.", + "searchBook": "Rechercher un livre", + "chooseBook": "Sélectionnez un livre", + "moreResults": "Afficher plus de livres", + "noResults": "Aucun livre correspondant trouvé.", + "refresh": "Actualiser le statut de livraison", + "confirmed": "Vous avez confirmé l'installation. Cela enregistre votre confirmation, pas la vérification de l'appareil.", + "transferred": "Le transfert a été effectué. Ouvrez le remplacement sur l'appareil avant de confirmer l'installation.", + "koreaderDefaultTitle": "Livraison d'EPUB KOReader", + "koreaderDefaultHint": "La valeur par défaut s'applique aux futurs téléchargements sur les appareils utilisant ces identifiants. Les paramètres de l'appareil peuvent le remplacer. Les copies existantes et les téléchargements interrompus restent inchangés. Préserve automatiquement les choix de périphérique existants.", + "koreaderUseDefault": "Utiliser les identifiants par défaut", + "koreaderSaveFailed": "Impossible d'enregistrer le paramètre de livraison de KOReader EPUB. Réessayez.", + "koreaderSaved": "Paramètre de livraison KOReader EPUB enregistré." + } + }, + "commandPalette": { + "title": "Chercher", + "description": "Recherchez des livres, auteurs, séries et paramètres, sautez à un endroit, ou exécutez une action.", + "placeholder": "Recherchez des livres, auteurs, séries ou allez à…", + "close": "Fermer la recherche", + "clear": "Effacer la recherche", + "tabs": { + "all": "Tous", + "books": "Livres", + "authors": "Auteurs", + "series": "Séries", + "settings": "Réglages" + }, + "sections": { + "continueReading": "Poursuivre la lecture", + "goTo": "Aller à", + "actions": "Actions", + "books": "Livres", + "authors": "Auteurs", + "series": "Séries", + "settings": "Réglages" + }, + "kinds": { + "author": "Auteur", + "series": "Séries", + "library": "Bibliothèque", + "smartScope": "Portée intelligente", + "collection": "Collecte", + "page": "Page", + "setting": "Réglages" + }, + "showAllBooks": "{count, plural, one {Show # book} other {Show all # books}}", + "showAllAuthors": "{count, plural, one {Montrez # auteur} other {Montrez tous les # auteurs}}", + "showAllSeries": "{count, plural, one {Show # series} other {Show all # series}}", + "showAllSettings": "{count, plural, one {Afficher # paramètre} other {Montrez tous les # paramètres}}", + "actions": { + "lightTheme": "Basculer vers le thème clair", + "darkTheme": "Basculer vers le thème sombre" + }, + "hints": { + "navigate": "Navigate", + "open": "Ouvert", + "filter": "Filtre", + "close": "Fermer" + }, + "keys": { + "escape": "esc", + "tab": "tab" + }, + "resultCount": "{count, plural, =0 {Aucun résultat} one {# résultat} other {# résultats}}" } } diff --git a/client/src/locales/hu.json b/client/src/locales/hu.json index ed72e6ea8..657a7dd25 100644 --- a/client/src/locales/hu.json +++ b/client/src/locales/hu.json @@ -282,6 +282,21 @@ "loadError": "Nem sikerült betölteni az alapértelmezett borítókereső szolgáltatót", "saveError": "Nem sikerült menteni az alapértelmezett borítókereső szolgáltatót" }, + "placeholderStyle": { + "title": "Helyőrző stílusa", + "hint": "A borítókép nélküli könyvek ebben a stílusban jelennek meg.", + "options": { + "bauhaus": "Bauhaus", + "constructivist": "Konstruktivista", + "memphis": "Memphis", + "clothbound": "Vászonkötésű", + "poster": "Poszter", + "aurora": "Auróra", + "vista": "Vista", + "marbled": "Márványozott", + "paperback": "Puhafedeles" + } + }, "displayMode": { "title": "Borító megjelenítési mód", "hint": "Azt szabályozza, hogy a valódi borítók hogyan illeszkedjenek a könyvek rekeszébe, ha eltérő képarányok vannak", @@ -1569,7 +1584,32 @@ "subtitle": "Tölts fel olyan betűtípusokat, amelyeket minden felhasználó kiválaszthat az e-könyv-olvasóban anélkül, hogy saját betűtípusokat kellene feltöltenie.", "listLabel": "Szerver betűtípusok", "noFontsYet": "Még nincsenek szerver betűtípusok", - "noFontsHint": "Az itt hozzáadott betűtípusok minden felhasználó olvasójában megjelennek." + "noFontsHint": "Az itt hozzáadott betűtípusok minden felhasználó olvasójában megjelennek.", + "addFonts": "Betűtípusok hozzáadása", + "filterLabel": "Betűcsaládok szűrése", + "filterPlaceholder": "Betűcsaládok szűrése", + "filterClear": "Szűrő törlése", + "noMatches": "Egyetlen betűcsalád sem egyezik ezzel: \"{query}\"", + "previewLabel": "Szöveg előnézete", + "previewPlaceholder": "Gépelj be valamit, hogy megtekinthesd az előnézetét az összes betűcsaládban", + "previewSize": "Méret előnézete", + "previewSizeOption": "{size} px", + "familiesUnit": "{count, plural, one {betűcsalád} other {betűcsalád}}", + "filesOfMax": "{count}/{max} fájl", + "onDisk": "{size} a lemezen", + "columns": { + "family": "Betűcsalád", + "specimen": "Betűminta", + "styles": "Stílusok", + "readers": "Olvasók" + }, + "fileSummary": "{count, plural, one {# fájl} other {# fájl}} · {size}", + "newBadge": "Új", + "styles": { + "single": "csak a(z) {style}", + "many": "{count} stílus", + "manyNoItalics": "{count} stílus, dőlt változat nélkül" + } } }, "common": { @@ -1723,6 +1763,13 @@ "inheritFromGlobal": "Öröklés a globálistól", "usingGlobalDefaults": "Globális alapértelmezett értékek használata.", "saveOverride": "Felülbírálás mentése" + }, + "onImport": { + "on": "Be", + "off": "Ki" + }, + "columns": { + "books": "{count, plural, one {könyv} other {könyv}}" } }, "providers": { diff --git a/client/src/locales/it.json b/client/src/locales/it.json index 48f10b382..7940fe466 100644 --- a/client/src/locales/it.json +++ b/client/src/locales/it.json @@ -107,10 +107,52 @@ }, "theme": { "title": "Tema", + "style": { + "label": "Stile", + "hint": "L'aspetto generale dell'app. Modalità, accento, angoli e sfondo mantengono le loro impostazioni.", + "bookorbit": { + "label": "BookOrbit", + "description": "Superfici colorate, pannelli in vetro e titoli con caratteri serif." + }, + "nostalgia": { + "label": "Nostalgia", + "description": "Terreni neutri, tipo di sistema, pannelli piatti e un bagliore superiore." + } + }, "colorScheme": { "label": "Combinazione di colori", "hint": "Interfaccia chiara o scura" }, + "surfacePalette": { + "label": "Superficie", + "hint": "Il terreno neutro dietro pannelli e carte.", + "palettes": { + "onyx": "Onice", + "carbon": "Carbonio", + "neutral": "Neutro", + "zinc": "Zinco", + "iron": "Ferro", + "steel": "Acciaio", + "ash": "Ceneri", + "smoke": "Fumo", + "charcoal": "Carbone", + "slate": "Ardesia", + "midnight-blue": "Blu di mezzanotte", + "ocean": "Oceano", + "pine": "Pino", + "olive": "Olive", + "stone": "Pietra", + "sepia": "Sepia", + "crimson": "Crimson", + "plum": "Prugna" + } + }, + "topGlow": { + "label": "Bagliore superiore", + "hint": "Quanto il bagliore accento raggiunge giù la pagina. Scorri fino a sinistra per spegnerlo.", + "value": "{value}%", + "off": "Off" + }, "accents": { "grey": "Grigio", "scarlet": "Scarlatto", @@ -183,7 +225,13 @@ }, "cornerRadius": { "label": "Raggio dell'angolo", - "hint": "Rotondità delle carte e degli elementi dell'interfaccia utente" + "hint": "Rotondità delle carte e degli elementi dell'interfaccia utente", + "options": { + "sharp": "Nitido", + "default": "Predefinito", + "rounded": "Arrotondato", + "pill": "Pill" + } }, "surfaceBrightness": { "label": "Luminosità della superficie", @@ -202,7 +250,8 @@ "structural": "Strutturale", "ambient": "Ambiente", "refractive": "Rifrattivo" - } + }, + "syncSaveFailed": "Impossibile salvare le preferenze del tema" }, "storage": { "title": "Dove salvare le preferenze di aspetto", @@ -234,6 +283,21 @@ "loadError": "Impossibile caricare il provider predefinito per la ricerca delle copertine", "saveError": "Impossibile salvare il provider predefinito per la ricerca delle copertine" }, + "placeholderStyle": { + "title": "Stile segnaposto", + "hint": "I libri senza copertina sono disegnati in questo stile.", + "options": { + "bauhaus": "Bauhaus", + "constructivist": "Costruttivista", + "memphis": "Memphis", + "clothbound": "Abbigliamento", + "poster": "Poster", + "aurora": "Aurora", + "vista": "Vista", + "marbled": "Marmorizzato", + "paperback": "Brossura" + } + }, "displayMode": { "title": "Modalità di visualizzazione della copertina", "hint": "Controlla il modo in cui le copertine reali si adattano agli slot del libro quando le proporzioni differiscono", @@ -1216,6 +1280,11 @@ "portrait": "2:3 verticale", "square": "1:1 quadrato" }, + "gridShape": "Forma griglia", + "gridShapeValue": { + "tall": "Celle alte", + "square": "Celle quadrate" + }, "none": "Nessuno", "allSupported": "Tutti i formati supportati", "patternCount": "{count, plural, one {# modello} other {# modelli}}", @@ -1518,7 +1587,132 @@ "subtitle": "Carica i caratteri che ogni utente può scegliere nel lettore eBook, senza caricarne i propri.", "listLabel": "Caratteri del lettore", "noFontsYet": "Nessun carattere del server", - "noFontsHint": "I caratteri che aggiungi qui appaiono nel lettore di ogni utente." + "noFontsHint": "I caratteri che aggiungi qui appaiono nel lettore di ogni utente.", + "addFonts": "Aggiungi caratteri", + "filterLabel": "Filtra famiglie", + "filterPlaceholder": "Filtra famiglie", + "filterClear": "Cancella filtro", + "noMatches": "Nessuna famiglia corrisponde a «{query}»", + "previewLabel": "Anteprima testo", + "previewPlaceholder": "Digita per vederlo in anteprima in ogni famiglia", + "previewSize": "Dimensione anteprima", + "previewSizeOption": "{size} px", + "familiesUnit": "{count, plural, one {famiglia} other {famiglie}}", + "filesOfMax": "{count} dei file {max}", + "onDisk": "{size} sul disco", + "columns": { + "family": "Famiglia", + "specimen": "Esemplare", + "styles": "Styles", + "readers": "Lettori" + }, + "fileSummary": "{count, plural, one {# file} other {# file}} · {size}", + "newBadge": "Nuovo", + "styles": { + "single": "Solo {style}", + "many": "{count} styles", + "manyNoItalics": "{count} styles, no italics" + }, + "facts": { + "books": "{count, plural, one {Su # libro} other {Su # libri}}", + "booksDetail": "{books, plural, one {Imposta su # libro} other {Imposta su # libri}} da {readers, plural, one {# lettore} other {# lettori}}", + "defaults": "{count, plural, one {Predefinito per # lettore} other {Predefinito per # lettori}}", + "hidden": "{count, plural, one {Nascosto da # lettore} other {Nascosto da # lettori}}" + }, + "moreActions": "Altro per {name}", + "menu": { + "rename": "Rinomina famiglia", + "addFiles": "Aggiungi file", + "remove": "Rimuovi famiglia…" + }, + "footerHint": "Ogni lettore li vede nella lista dei caratteri del lettore e può nascondere uno di loro sotto Lettore › Fonts.", + "empty": { + "dropHint": "o rilascia file in qualsiasi punto di questa pagina", + "tip": "Una famiglia legge al meglio come quattro file: Regolare, Corsivo, Grassetto e Grassetto Italico. Un file variabile può stare dentro per ogni peso." + }, + "drop": { + "title": "{count, plural, one {Rilascia per aggiungere # file per ogni lettore} other {Rilascia per aggiungere # file per ogni lettore}}" + }, + "upload": { + "ariaLabel": "Progresso caricamento", + "title": "{count, plural, one {Aggiunta # file} other {Aggiunta # file}}", + "progress": "{done} di {total} fatto", + "addedCount": "{count} aggiunto", + "duplicateCount": "{count} già qui", + "refusedCount": "{count} non aggiunto", + "dismiss": "Ignora", + "newFamily": "nuova famiglia", + "states": { + "queued": "In Attesa", + "uploading": "Caricamento", + "added": "Aggiunto", + "duplicate": "Già sul server", + "refused": "Non aggiunto", + "failed": "Fallito" + }, + "reasons": { + "tooLarge": "Più grande di {maxMb} MB.", + "unsupportedType": "Non è un file di carattere. Usa TTF, OTF, WOFF o WOFF2.", + "invalidFile": "Il file è danneggiato o non è davvero un carattere.", + "faceTaken": "{familyName} ha già un file con questo peso e stile.", + "limitReached": "Il server contiene già i file di carattere {limit}.", + "failed": "Caricamento fallito. Riprova." + } + }, + "sheet": { + "description": "Anteprima, rinominare e gestire i file di {name}", + "variable": "Variabile", + "preview": "Anteprima", + "pageColour": "Colore pagina", + "papers": { + "app": "Superficie app", + "white": "Pagina bianca", + "sepia": "Sepia page", + "night": "Pagina notturna" + }, + "previewHeading": "Il Giardino dei Fiori Vivi", + "previewParagraph1": "Alice la guardò intorno con grande sorpresa. “Perché, credo che siamo stati sotto questo albero tutto il tempo! Tutto è proprio come lo era!”", + "previewParagraph2": "“Ora, qui, vedete, ci vuole tutto quello che si può fare, per mantenere nello stesso posto. Se volete ottenere da qualche altra parte, dovete correre almeno due volte più velocemente di quello!”", + "styles": "Styles", + "stylesHint": "Cosa offre la riga di stile del lettore", + "singleStyleNote": "Uno stile, così i lettori non ottengono una riga di Stile. Testo in grassetto e corsivo nei libri è faked dal browser di {style}.", + "inReader": "Nel lettore", + "inReaderHint": "L'elenco dei caratteri che ogni lettore ottiene in Reader › Impostazioni, con {name} scelto.", + "pickerLabel": "Anteprima della lista dei caratteri del lettore", + "files": "File", + "filesUsed": "{count} di {max} utilizzato su questo server", + "fileDetail": "{summary} · Aggiunto {date}", + "upright": "Verticale", + "italic": "Italic", + "fileActions": "Altro per {name}", + "changeStyle": "Cambia peso e stile", + "removeFile": "Rimuovi file", + "removeFileQuestion": "Rimuovere questo file per ogni lettore?", + "weight": "Peso", + "style": "Stile", + "name": "Nome della famiglia", + "nameHint": "I lettori scelgono i caratteri con questo nome.", + "nameHiddenWarning": "{count, plural, one {# lettore ha nascosto {name}} other {# lettori nascosti {name}}}; un nuovo nome lo mostra di nuovo.", + "nameBooksWarning": "Un nuovo nome invia {count, plural, one {il # libro che lo usa} other {i # libri che lo usano}} torna al font del libro.", + "readers": "Lettori", + "stats": { + "books": "{count, plural, one {il libro lo usa} other {i libri lo usano}}", + "defaults": "{count, plural, one {default del lettore} other {default dei lettori}}", + "hidden": "{count, plural, one {il lettore lo ha nascosto} other {i lettori lo hanno nascosto}}" + }, + "readersPrivacy": "Conta solo. Quali libri e quali lettori rimangono privati per loro.", + "removeLabel": "Rimuovi famiglia", + "removeQuestion": "Rimuovere {name} per ogni lettore?", + "removeConsequenceBooks": "{books, plural, one {È impostato su # libro} other {È impostato su # libri}} da {readers, plural, one {# lettore} other {# lettori}}; quei libri tornano a usare il carattere del libro.", + "removeConsequenceFiles": "{count, plural, one {Il suo file viene eliminato dal server.} other {Tutti i # file vengono eliminati dal server.}}", + "loadFailedNote": "Questo browser non può caricare il file di carattere, quindi le anteprime mostrano una faccia di ripiego. I browser dei lettori molto probabilmente lo rifiuteranno troppo; prova una copia diversa del carattere." + }, + "toasts": { + "removed": "{name} rimosso", + "removePartial": "{failed, plural, one {# file} other {# file}} di {name} non può essere rimosso", + "renameTaken": "{name} ha già un file con lo stesso peso e stile" + }, + "loadFailed": "Questo browser non può caricarlo" } }, "common": { @@ -1672,6 +1866,92 @@ "inheritFromGlobal": "Eredita da globale", "usingGlobalDefaults": "Utilizzo delle impostazioni predefinite globali.", "saveOverride": "Salva override" + }, + "scope": { + "ownSettings": "{count, plural, one {# propria impostazione} other {# proprie impostazioni}}", + "globalIntro": "Ogni biblioteca segue questa regola a meno che non abbia la propria.", + "globalCoverage": "{libraryCount, plural, one {Applica a # libreria} other {Applica a # librerie}}, {bookCount, plural, one {# libro} other {# libri}}.", + "ownLibraries": "{names} {count, plural, one {ha la sua regola.} other {ha le sue regole.}}", + "libraryFollows": "{library} segue la regola globale. Cambiare qualsiasi cosa qui per dargli la propria.", + "libraryOwn": "{library} ha la sua regola per {count, plural, one {# impostazione} other {# impostazioni}}. Tutto il resto segue la regola globale.", + "lastRun": "Ultima esecuzione {when}, in coda {count, plural, one {# libro} other {# libri}}.", + "neverRun": "Non ancora avviato.", + "useGlobalRule": "Usa la regola globale", + "loadFailed": "Impossibile caricare le impostazioni di Auto-fetch. Ricarica la pagina per riprovare.", + "saved": "Salvato {scope}", + "saveFailed": "Impossibile salvare {scope}. Riprova." + }, + "run": { + "all": "Esegui per ogni libreria", + "library": "Esegui per {library}", + "saveFirst": "Esegue usa la regola salvata. Salva prima.", + "failed": "L'esecuzione non può essere avviata. Riprova." + }, + "onImport": { + "label": "Recupera i metadati per i nuovi libri", + "hint": "Scansiona e carica la coda corrispondente ai libri subito. Un recupero sull'importazione riempie solo i campi vuoti; i campi bloccati non sono mai cambiati.", + "follow": "Segui globale", + "on": "Acceso", + "off": "Off" + }, + "columns": { + "books": "{count, plural, one {prenota} other {libri}}", + "ofTotal": "di {total}", + "off": "Off", + "own": "Proprio", + "global": "Globale", + "useGlobal": "Usa globale", + "globalValue": "Regola globale: {value}", + "on": "Acceso", + "scoreBelowValue": "Punteggio inferiore a {threshold}", + "neverFetchedSplit": "{count, plural, one {# non ha mai recuperato} other {# non ha mai recuperato}}", + "fetchedBeforeSplit": "{count, plural, one {# recuperato prima di} other {# recuperato prima di}}", + "lowScoreLabel": "Punteggio di bassa confidenza", + "lowScoreHint": "Recupera libri il cui punteggio di confidenza è sotto la linea.", + "outOf": "/ 100", + "lowerThreshold": "Abbassa la soglia", + "raiseThreshold": "Alza la soglia", + "missingHint": "Recupera se un campo selezionato è vuoto. Ogni campo mostra quanti libri mancano di esso.", + "audioGroup": "Libri con audio", + "audioHint": "{count, plural, =0 {Nessuno qui ha audio.} one {Solo il # libro con audio può mancare questi.} other {Solo il # con audio può mancare questi.}}", + "fieldCount": "{field}: {count, plural, one {# libro manca} other {# libri mancano}}" + }, + "histogram": { + "label": "Soglia punteggio di fiducia", + "valueText": "Punteggio inferiore a {threshold}" + }, + "preview": { + "title": "Che esecuzione recupererebbe", + "matching": "{matching, plural, one {# di {total} libri partite} other {# di {total} libri partita}}", + "showing": "{count, plural, one {mostrando il minimo completo} other {mostrando il minimo # completo}}", + "empty": "Nessun libro corrisponde a questa regola, quindi una corsa non sarebbe in coda a niente.", + "unknownAuthor": "Autore sconosciuto", + "score": "Punteggio {score}", + "more": "+{count}", + "missing": { + "title": "Nessun titolo", + "subtitle": "Nessun sottotitolo", + "description": "Nessuna descrizione", + "cover": "Nessuna copertina", + "audioCover": "Nessuna copertina audiolibro", + "authors": "Nessun autore", + "publisher": "Nessun editore", + "isbn": "Nessun ISBN", + "publishedYear": "Nessun anno pubblicato", + "language": "Nessuna lingua", + "pageCount": "Nessun numero di pagine", + "communityRating": "Nessuna valutazione della comunità", + "seriesName": "Nessun nome della serie", + "seriesIndex": "Nessun indice di serie", + "genres": "Nessun genere", + "narrators": "Nessun narratore", + "duration": "Nessuna durata", + "abridged": "Abridged non impostato" + } + }, + "queue": { + "progress": "{done} di {total}", + "failed": "{count, plural, one {# libro non può essere recuperato} other {# libri non possono essere recuperati}}" } }, "providers": { @@ -1767,7 +2047,8 @@ "overwriteTerm": "Sovrascrivi:", "overwriteBody": "Sostituisci ogni volta che un provider dispone di dati." }, - "summary": "Le fonti sono controllate dall'alto verso il basso e viene utilizzata la prima che restituisce un valore. La strategia di fusione stabilisce se il valore può rimpiazzare quello già presente nel libro; i generi possono anche aggiungere nuovi valori. Imposta i valori predefiniti, quindi puoi sovrascrivere singoli campi in per ogni biblioteca." + "summary": "Le fonti sono controllate dall'alto verso il basso e viene utilizzata la prima che restituisce un valore. La strategia di fusione stabilisce se il valore può rimpiazzare quello già presente nel libro; i generi possono anche aggiungere nuovi valori. Imposta i valori predefiniti, quindi puoi sovrascrivere singoli campi in per ogni biblioteca.", + "summaryByMedium": "I fornitori sono tentati di fondo e il primo con un valore vince; i generi in modalità di fusione e le valutazioni della comunità combinano invece ogni provider. La strategia di fusione decide se un valore può sostituire quello che il libro ha già. Audible, AudNexus e Libro. m risposta solo per i libri con audio, lettura-lungo EPUB inclusi, in modo da metterli prima preferisce metadati audiolibro senza toccare libri di sola ebook. Copertina della forma sbagliata riempie uno slot solo quando nient'altro può. Una libreria sostituisce l'intera regola di quel campo." }, "libraryOverrides": { "title": "Sostituzioni della libreria", @@ -1836,6 +2117,7 @@ }, "field": { "noProviders": "Abilitato ma non ha provider", + "noUsableProvider": "Abilitato, ma nessun provider qui può riempirlo", "empty": "Vuoto", "config": "Configurazione", "custom": "Personalizzato", @@ -1894,7 +2176,11 @@ "disabled": "Disabilitato", "notConfigured": "Non configurato", "disabledDetail": "{provider} è disattivato, quindi rimane nell'ordine ma è saltato.", - "notConfiguredDetail": "{provider} non ha ancora credenziali, quindi rimane nell'ordine ma è saltato." + "notConfiguredDetail": "{provider} non ha ancora credenziali, quindi rimane nell'ordine ma è saltato.", + "neverSupplies": "Non fornisce mai questo", + "neverSuppliesDetail": "{provider} non fornisce mai questo campo, quindi è saltato qui.", + "otherShape": "Altra forma di copertura", + "otherShapeDetail": "{provider} ha solo coperture dell'altra forma, quindi riempie questo slot solo quando nient'altro può." }, "detail": { "priority": "Priorità del fornitore", @@ -1948,6 +2234,123 @@ "emptyHint": "Aggiungi valori esatti come Audiolibro o Adulti per tenerli lontani dai metadati recuperati.", "removeLabel": "Rimuovi {genre}" }, + "searchCache": { + "loadFailed": "Impossibile caricare le impostazioni della cache di ricerca.", + "retry": "Riprova", + "saved": "Impostazioni cache di ricerca salvate", + "saveFailed": "Impossibile salvare le impostazioni della cache di ricerca", + "units": { + "hours": "Ore", + "days": "Giorni" + }, + "general": { + "title": "Risposte salvate", + "enabled": "Salva le risposte del provider", + "enabledHint": "Ricerche, aggiornamenti in massa e recuperi in background riutilizzare le risposte salvate invece di chiedere di nuovo ad ogni provider.", + "resultsTtl": "Mantieni i risultati per", + "resultsTtlHint": "Per quanto tempo una risposta con i risultati viene riutilizzata prima che al provider venga chiesto di nuovo.", + "resultsTtlUnit": "Unità tempo risultati", + "emptyTtl": "Mantieni le risposte vuote per", + "emptyTtlHint": "Per quanto tempo un provider non trova nulla viene ricordato. Si applica solo ai provider contrassegnati come cache di risposte vuote. 0 non mantiene mai risposte vuote.", + "emptyTtlUnit": "Unità di tempo risposte vuota", + "staleGrace": "Usa le risposte scadute per", + "staleGraceHint": "Quando un provider fallisce, una risposta fino a questo lungo passato la sua scadenza è usata invece. 0 non cade mai indietro.", + "staleGraceUnit": "Unità tempo risposte scadute", + "storage": "Stoccaggio budget", + "storageHint": "Le risposte più vecchie vengono rimosse una volta salvate le risposte passano questa dimensione. Sul disco la tabella può richiedere circa 1,5 a 2 volte il budget.", + "storageUnit": "MB" + }, + "providers": { + "title": "Impostazioni per provider", + "hint": "Lascia una casella vuota per usare il valore qui sopra. Disattiva un provider per chiedere sempre dal vivo.", + "books": "Libri", + "authors": "Autori", + "none": "Nessun provider disponibile.", + "globalOff": "Il salvataggio delle risposte è disattivato, quindi queste impostazioni si applicano una volta riattivato.", + "on": "Acceso", + "off": "Off", + "enabledLabel": "Salva le risposte da {provider}", + "resultsTtl": "Mantieni i risultati per", + "resultsTtlLabel": "Conserva i risultati di {provider} per", + "resultsTtlUnitLabel": "Unità di tempo per i risultati {provider}", + "emptyTtl": "Mantieni le risposte vuote per", + "emptyTtlLabel": "Conserva le risposte vuote di {provider} per", + "emptyTtlUnitLabel": "Unità di tempo per le risposte vuote di {provider}", + "noEmptyCaching": "Le risposte vuote da questo provider non vengono mai salvate.", + "notCacheable": "Le risposte di questo provider non vengono mai salvate.", + "reset": "Reimposta {provider} ai valori predefiniti" + }, + "validation": { + "required": "Inserisci un valore.", + "wholeNumber": "Inserisci un numero intero.", + "range": "Inserisci un valore da {min} a {max}.", + "tooManyOverrides": "Troppi provider hanno le loro impostazioni. Ripristina alcuni di loro per salvare." + }, + "save": { + "unsaved": "Modifiche non salvate", + "invalid": "Correggi i campi evidenziati da salvare", + "upToDate": "Tutte le modifiche salvate", + "discard": "Scarta", + "action": "Salva" + }, + "stats": { + "group": "Utilizzo", + "title": "Risposte salvate", + "refresh": "Aggiorna", + "loadFailed": "Impossibile caricare l'utilizzo della cache.", + "storage": "Memoria utilizzata", + "storageUsed": "{used} di {budget}", + "storageHint": "Dimensione delle risposte salvate stesse. La tabella sul disco è più grande.", + "entries": "Risposte salvate", + "emptyEntries": "Risposte vuote", + "diskSize": "Dimensione tabella sul disco", + "hitRate": "Hit rate", + "requestsAvoided": "Richieste evitate", + "fallbacks": "Fallbacks", + "skippedWrites": "Scritte saltate", + "oldest": "Risposta più vecchia", + "none": "Ancora nessuno", + "countersHint": "Hit rate, richieste evitate, fallback e il conteggio delle scritture saltate dall'ultimo avvio del server.", + "perProvider": "Risposte salvate dal provider", + "provider": "Provider", + "kind": "Tipo", + "size": "Dimensione", + "empty": "Nulla è ancora salvato." + }, + "clear": { + "group": "Manutenzione", + "title": "Cancella le risposte salvate", + "regionHint": "I fornitori possono rispondere in modo diverso dalla posizione. Cancella la cache dopo aver spostato il server in un'altra regione o VPN.", + "action": "Pulisci", + "failed": "Impossibile cancellare le risposte salvate", + "done": "{count, plural, one {Rimosso # risposta salvata} other {Rimosso # risposte salvate}}", + "donePending": "{count, plural, one {Rimosso # risposta salvata. Il resto viene rimosso in background.} other {Rimosso # risposte salvate. Il resto viene rimosso in background.}}", + "empty": { + "label": "Cancella solo le risposte vuote", + "hint": "Dimentica che i provider non hanno trovato nulla, quindi quelle ricerche chiedono di nuovo.", + "confirmTitle": "Eliminare le risposte vuote?", + "confirmDescription": "Risposte salvate dove un provider ha trovato nulla sono rimosse. Le risposte con i risultati sono mantenute." + }, + "book": { + "label": "Cancella le risposte al libro", + "hint": "Rimuove tutto ciò che è stato salvato dai provider di libri.", + "confirmTitle": "Cancellare le risposte al libro?", + "confirmDescription": "Ogni risposta salvata dai provider di libri viene rimossa. Le prossime ricerche chiedono nuovamente a questi provider." + }, + "author": { + "label": "Cancella le risposte dell'autore", + "hint": "Rimuove tutto ciò che è stato salvato dai provider d'autore.", + "confirmTitle": "Cancellare le risposte dell'autore?", + "confirmDescription": "Ogni risposta salvata dai provider dell'autore viene rimossa. Le prossime ricerche chiedono nuovamente a questi provider." + }, + "all": { + "label": "Cancella tutte le risposte salvate", + "hint": "Svuota la cache. Ogni provider viene nuovamente richiesto nella prossima ricerca.", + "confirmTitle": "Cancellare tutte le risposte salvate?", + "confirmDescription": "L'intera cache è svuotata. Le ricerche saranno più lente fino a quando non si riempie di nuovo, e non rimane nulla da ripiegare mentre un provider è giù." + } + } + }, "customFields": { "label": "Etichetta", "labelPlaceholder": "ad es. Titolo originale", @@ -1996,7 +2399,145 @@ "selectAll": "Seleziona tutto", "clear": "Cancella", "noLibraries": "Nessuna libreria ancora disponibile.", - "allLibraries": "Tutte le biblioteche" + "allLibraries": "Tutte le biblioteche", + "pageFacts": "{fields, plural, one {# campo} other {# campi}} · {values, plural, one {# valore memorizzato} other {# valori memorizzati}}", + "newFieldAction": "Nuovo campo", + "views": { + "label": "Mostra campi attivi o archiviati", + "active": "Attivo", + "archived": "Archiviato" + }, + "columns": { + "order": "Ordine", + "field": "Campo", + "type": "Tipo", + "libraries": "Librerie", + "filled": "Riempito", + "valuesKept": "Valori mantenuti", + "archived": "Archiviato", + "actions": "Azioni" + }, + "orderHint": "Trascina per impostare i campi ordine appaiono su Modifica metadati, nelle colonne della tabella e nelle esportazioni.", + "archivedHint": "I campi archiviati sono nascosti da libri, filtri ed esportazioni. I loro valori rimangono memorizzati fino a quando il campo non viene eliminato.", + "coverage": "{filled} di {total}", + "coverageAria": "{filled} di {total} libri hanno un valore", + "onNoLibrary": "Nessuna libreria", + "onNoLibraryHint": "In nessuna libreria, quindi questo campo non appare da nessuna parte", + "moreLibraries": "+{count}", + "noValues": "Nessuno", + "rowActions": { + "edit": "Modifica", + "editField": "Modifica campo", + "moveUp": "Sposta in alto", + "moveDown": "Sposta in basso", + "archive": "Archivio", + "restore": "Ripristina", + "deletePermanently": "Elimina permanentemente…", + "more": "Altre azioni per {label}" + }, + "toasts": { + "loadFailed": "Impossibile caricare i campi personalizzati", + "created": "{label} creato", + "createFailed": "Impossibile creare {label}", + "saved": "{label} salvato", + "saveFailed": "Impossibile salvare {label}", + "archived": "{label} archiviato", + "archiveFailed": "Impossibile archiviare {label}", + "restored": "{label} ripristinato", + "restoreFailed": "Impossibile ripristinare {label}", + "deleted": "{label} eliminato", + "deleteFailed": "Impossibile eliminare {label}", + "reorderFailed": "Impossibile salvare il nuovo ordine" + }, + "empty": { + "body": "Traccia cosa BookOrbit non ha campo per, come dove un libro si siede sul tuo scaffale o chi lo ha preso in prestito. I campi appaiono su Modifica metadati, nelle colonne della tabella e nei filtri.", + "examples": "Inizia da un esempio", + "shelfNumber": "Numero Scaffale", + "acquiredOn": "Acquisito Il", + "signedCopy": "Copia Firmata", + "loanedTo": "Prestito A" + }, + "types": { + "text": { + "label": "Testo", + "hint": "Qualsiasi parola", + "example": "Prima stampa, targhetta firmata" + }, + "url": { + "label": "Link", + "hint": "Apre in una nuova scheda", + "example": "https://example.com/book" + }, + "number": { + "label": "Numero", + "hint": "Ordina per valore", + "example": "42" + }, + "date": { + "label": "Data", + "hint": "Un giorno di calendario", + "example": "2024-03-09" + }, + "boolean": { + "label": "Sì / No", + "hint": "Una casella", + "example": "Sì" + } + }, + "sheet": { + "newTitle": "Nuovo campo", + "editDescription": "Modificare l'etichetta e le librerie di un campo personalizzato e vedere dove appare.", + "newDescription": "Nome di un nuovo campo personalizzato, sceglierne il tipo e sceglierne le librerie.", + "archivedDescription": "Un campo personalizzato archiviato. Ripristinalo o eliminalo con i suoi valori.", + "statusFilled": "{filled} di {total, plural, one {# libro} other {# libri}} riempiti", + "statusNone": "Non su nessuna biblioteca", + "statusHidden": "{count} hidden", + "statusCreated": "creato {date}", + "labelHint": "Mostrato su Modifica metadati, in colonne di tabella e nei filtri.", + "renameHint": "La ridenominazione conserva tutti i valori memorizzati e la chiave del file {key}.", + "keyHint": "Salvato in file ed esportazioni come {key}, che rimane lo stesso se rinominate il campo.", + "typeLocked": "Imposta quando creato", + "typeLockedHint": "Il tipo non può cambiare più tardi, quindi i valori memorizzati corrispondono sempre a esso.", + "libraries": "Librerie", + "books": "{count, plural, one {# libro} other {# libri}}", + "filledOfBooks": "{filled} di {total, plural, one {# libro} other {# libri}}", + "hiddenCount": "{count} hidden", + "leavingNote": "{count, plural, one {# valore in {libraries} rimane memorizzato ma nascosto mentre il campo è spento.} other {# valori in {libraries} rimani memorizzato ma nascosto mentre il campo è spento.}} Riattivarlo li riporta indietro.", + "noLibraryWarning": "In assenza di librerie questo campo non appare ovunque: non su Modifica metadati, nei filtri o nelle esportazioni.", + "appears": { + "title": "Dove appare", + "editMetadata": "Modifica Metadati", + "details": "Details tab", + "filters": "Filtri", + "table": "Tabella e ordinamento", + "tableBody": "Disponibile come colonna tabella e come opzione di ordinamento", + "files": "File", + "filesWritten": "Scritto in file EPUB e FB2 in {libraries}, dove la scrittura dei metadati sui file è attiva.", + "filesNotWritten": "Non scritto in file: nessuna di queste librerie scrive i metadati nei file EPUB o FB2.", + "exports": "Esportazioni" + }, + "archiveAction": "Campo archivio", + "archiveConfirm": "Archivia {label}?", + "archiveConsequence": "{count, plural, =0 {Non compare più in Modifica metadati, nei filtri e nelle esportazioni. Puoi ripristinarlo da Archiviati in qualsiasi momento.} one {Non compare più in Modifica metadati, nei filtri e nelle esportazioni. # valore rimane memorizzato finché il campo non viene eliminato.} other {Non compare più in Modifica metadati, nei filtri e nelle esportazioni. # valori rimangono memorizzati finché il campo non viene eliminato.}}", + "create": "Crea campo", + "onLibraries": "On {count} of {total} librerie", + "onAllLibraries": "Su tutte le librerie {total}", + "archivedBadge": "Archiviato", + "archivedTitle": "Archiviato {when}.", + "archivedBody": "{count, plural, =0 {Questo campo è nascosto da libri, filtri ed esportazioni. Non contiene valori.} one {Questo campo è nascosto da libri, filtri ed esportazioni. # valore memorizzato è mantenuto e torna al ripristino.} other {Questo campo è nascosto da libri, filtri ed esportazioni. # i valori memorizzati sono mantenuti e tornano al ripristino.}}", + "facts": { + "type": "Tipo", + "libraries": "Librerie", + "valuesKept": "Valori mantenuti", + "fileKey": "Chiave file", + "created": "Creato", + "archived": "Archiviato" + }, + "deleteQuestion": "Eliminare {label} per bene?", + "deleteConsequence": "{count, plural, =0 {Non contiene valori. Questo non può essere annullato.} one {Il suo valore # memorizzato viene rimosso da ogni libro. I file già scritti mantengono la loro copia. Questo non può essere annullato.} other {I suoi # valori memorizzati vengono rimossi da ogni libro. I file già scritti mantengono la loro copia. Questo non può essere annullato.}}", + "deleteConfirmLabel": "Digita il nome del campo da confermare", + "deleteConfirmPlaceholder": "Digita {label} per confermare" + } }, "tabs": { "providers": "Fornitori", @@ -2005,7 +2546,8 @@ "genre-blocklist": "Blocklist di genere", "score": "Punteggio", "auto-fetch": "Libri", - "authors": "Autori" + "authors": "Autori", + "search-cache": "Cerca Cache" }, "tabTitles": { "providers": "Fornitori", @@ -2014,7 +2556,8 @@ "genre-blocklist": "Blocklist di genere", "score": "Punteggio di fiducia", "auto-fetch": "Auto-Recupero Libri", - "authors": "Recupero automatico dell'autore" + "authors": "Recupero automatico dell'autore", + "search-cache": "Cerca Cache" }, "tabSubtitles": { "providers": "Abilita origini di metadati esterne e configura le relative credenziali.", @@ -2023,7 +2566,8 @@ "genre-blocklist": "Impedisci la scrittura nei libri di valori di genere del provider indesiderati.", "score": "Assegna pesi ai campi di metadati per calcolare quanto fidarsi dei risultati recuperati.", "auto-fetch": "Recupera automaticamente copertine, descrizioni e altri dettagli quando nuovi libri vengono aggiunti alla tua libreria.", - "authors": "Recupera automaticamente biografie e foto del profilo quando nuovi autori compaiono nella tua libreria." + "authors": "Recupera automaticamente biografie e foto del profilo quando nuovi autori compaiono nella tua libreria.", + "search-cache": "Riutilizzare le risposte del provider in modo da ripetere le ricerche sono veloci e funzionano ancora quando un provider è giù." }, "preferences": { "toast": { @@ -2239,7 +2783,25 @@ "serverFontsHint": "Questi caratteri provengono dall'amministratore del server. Disattivane uno per escluderlo dal lettore.", "serverFontsShown": "Mostrati {count} di {total}", "serverFontsAllHidden": "Tutti i caratteri del server sono nascosti. Il tuo lettore mostrerà solo i caratteri incorporati e quelli personali.", - "serverFontVisibilityFailed": "Impossibile aggiornare la visibilità del carattere del server" + "serverFontVisibilityFailed": "Impossibile aggiornare la visibilità del carattere del server", + "library": { + "columns": { + "use": "In uso" + }, + "yourDefault": "Il tuo valore predefinito", + "hiddenBadge": "Hidden", + "emptyHint": "Aggiungi i caratteri sopra o rilascia i file in qualsiasi punto di questa pagina.", + "dropTitle": "{count, plural, one {Rilascia per aggiungere # file ai tuoi caratteri} other {Rilascia per aggiungere # file ai tuoi caratteri}}", + "limitReached": "Hai già file di carattere {limit}.", + "filesUsed": "{count} del tuo {max} usato", + "nameHint": "Questo è il nome nella lista dei caratteri del lettore.", + "inReaderHint": "La tua lista dei caratteri in Reader › Impostazioni, con {name} scelto.", + "showInReader": "Mostra nel mio lettore", + "showFamily": "Mostra {name} nel mio lettore", + "removeConsequenceBooks": "{count, plural, one {È impostato su # dei tuoi libri; quel libro torna al suo carattere.} other {È impostato su # dei tuoi libri; tornano ai loro caratteri.}}", + "removeConsequenceDefault": "È il tuo font predefinito; libri senza la propria impostazione tornare al valore predefinito della rubrica.", + "removeQuestion": "Rimuovere {name} dai caratteri?" + } }, "bookDock": { "title": "Book Dock", @@ -2891,7 +3453,9 @@ "reviewRefreshed": "Libri da rivedere aggiornati", "reviewRefreshFailed": "Impossibile aggiornare i libri da rivedere", "reviewDismissed": "Libro ritirato dalla recensione", - "reviewDismissFailed": "Impossibile aggiornare i libri da rivedere" + "reviewDismissFailed": "Impossibile aggiornare i libri da rivedere", + "reviewAllDismissed": "{count, plural, =0 {Non ha cancellato nessun libro dalla recensione} one {Eliminato # libro dalla recensione} other {Eliminato # libri dalla recensione}}", + "reviewDismissAllFailed": "Impossibile eliminare tutti i libri dalla recensione" }, "modal": { "linkTitle": "Collega il libro KOReader", @@ -2944,7 +3508,15 @@ "syncedStatsNote": "Le statistiche già sincronizzate rimarranno nel libro BookOrbit corrente.", "chooseDifferent": "Scegli diverso", "saving": "Salvataggio...", - "confirmLink": "Conferma collegamento" + "confirmLink": "Conferma collegamento", + "reviewTitle": "Libri di KOReader da rivedere", + "reviewHint": "Libri senza una corrispondenza automatica e libri scollegati appaiono qui. Libri scollegati possono ancora sincronizzarsi attraverso una corrispondenza automatica. Collega un libro per sovrascrivere quella corrispondenza, o respingerlo per rimuoverlo da questa lista.", + "loadingReview": "Caricamento libri da recensire...", + "noReview": "Nessun libro di KOReader da recensire.", + "manualUnlinkConfirmBody": "Rimuovere il link manuale a {title} e restituire questo libro alla lista delle recensioni. Le future sincronizzazioni utilizzeranno una corrispondenza automatica se esiste. Le statistiche già sincronizzate rimarranno sul loro attuale libro BookOrbit.", + "reviewDismissConfirmBody": "Questo lo rimuove dai tuoi libri per recensire. La corrispondenza automatica e i dati di sincronizzazione esistenti sono mantenuti. Se un dispositivo segnala nuovamente l'hash senza una corrispondenza, può riapparire.", + "reviewDismissAllConfirmTitle": "{count, plural, =0 {Nessun libro da recensire} one {Ignora tutto # libro da recensire?} other {Ignora tutti i # libri da recensire?}}", + "reviewDismissAllConfirmBody": "Questo cancella tutti i tuoi libri per rivedere la lista, incluse le voci su altre pagine. La corrispondenza automatica e i dati di sincronizzazione esistenti sono mantenuti. Se un dispositivo segnala un hash di nuovo senza una corrispondenza, può riapparire." }, "remove": "Rimuovi", "removing": "Rimozione...", @@ -3594,6 +4166,7 @@ "nav": { "title": "Impostazioni", "ariaLabel": "Sezioni Impostazioni", + "breadcrumbLabel": "Breadcrumb", "searchPlaceholder": "Impostazioni di ricerca", "clearSearch": "Cancella la ricerca", "noResults": "Nessuna impostazione corrisponde a {query}.", @@ -3640,9 +4213,58 @@ "serverFonts": "Caratteri installati per ogni lettore su questo server.", "bookDock": "Azioni rapide mostrate sulle pagine dei libri.", "auditLog": "Chi ha cambiato cosa e quando.", - "requests": "Fonti, download client e cosa come gestire un libro una volta scaricato." + "requests": "Fonti, download client e cosa come gestire un libro una volta scaricato.", + "readerTts": "Predefiniti voce, velocità e narrazione ad alta voce.", + "adminTts": "Motori di pronuncia disponibili per ogni lettore su questo server." }, - "backToApp": "Ritorno alla libreria" + "backToApp": "Ritorno alla libreria", + "pageDescriptions": { + "profile": "Il tuo nome, foto, fuso orario e monitoraggio dei risultati, oltre alla tua password e ai provider di accesso collegati a questo account.", + "appearance-theme": "Scegli dove salvare le impostazioni dell'aspetto, quindi imposta lo stile, lo schema di colori, l'accento, gli angoli, la luminosità della superficie e il motivo dietro la tua libreria.", + "appearance-book-covers": "Come copre guardare attraverso l'app: segnaposto arte per libri senza uno, come le coperture si adattano alle loro slot, agli effetti della colonna vertebrale e della lucentezza e alla tinta di copertina sulle pagine dei libri.", + "appearance-icons": "Carica le tue icone da usare insieme al set integrato per librerie, scopi intelligenti e collezioni.", + "appearance-layout": "Dimensioni della copertina e spaziatura per la griglia della libreria, la copertina mostrata per una serie collassata e come la griglia dell'autore è disposta.", + "appearance-behavior": "Che cosa apre un libro da una griglia o una lista fa, se le serie crollano in una carta, e se le richieste di libro appaiono in questo account.", + "appearance-language": "La lingua BookOrbit usa per menu, etichette e messaggi e i formati regionali per date e numeri.", + "reader-ebook": "Predefiniti per il lettore di eBook: se i nuovi libri iniziano con le impostazioni, il flusso di pagine e le colonne, il tema e la tipografia come il carattere, la dimensione e la spaziatura.", + "reader-pdf": "Come i PDF aperti: pagina per pagina o uno scorrimento continuo, quale pagina avvia uno spread di due pagine, e lo zoom predefinito adatto.", + "reader-comics": "Come i fumetti leggono: modalità di lettura e direzione, diffusione singola o a due pagine, adatto, gestione di pagine larghe e passare al libro successivo della serie.", + "reader-audio": "La velocità di partenza e il volume per i nuovi audiolibri, e quanto il salto indietro e saltare i pulsanti in avanti.", + "reader-fonts": "Carica i propri caratteri per il lettore, e scegli quali caratteri condivisi dall'amministratore del server appaiono in esso.", + "reader-general": "Dove vengono salvate le preferenze del lettore e le impostazioni predefinite sono condivise da ogni modalità di lettura.", + "tts": "La tua voce e velocità di default quando BookOrbit legge un libro ad alta voce.", + "notifications": "Scegli quali eventi ti notificano, dalle scansioni finite e dai metadati recupera i nomi dei file, le importazioni e i risultati del Dock del libro.", + "privacy": "Decidere quanto degli amministratori delle attività di lettura possono vedere, visualizzare in anteprima il profilo condiviso e controllare chi lo ha visualizzato.", + "restrictions": "Limiti di contenuto impostati su questo account, come i voti per età e i contenuti nascosti, e ciò che tengono fuori dalle tue librerie.", + "libraries": "Ogni libreria a colpo d'occhio: le sue cartelle, ciò che contiene, come viene scansionata e quando è stata eseguita. Aggiungere, modificare o ridisegnare le librerie qui.", + "metadata-providers": "Attivare o disattivare le fonti dei metadati, aggiungere chiavi API o cookie dove una fonte ne ha bisogno, e testare le credenziali contro il servizio live.", + "metadata-field-rules": "Scegli quali provider riempiono ogni campo di metadati e in quale ordine, come vengono uniti i valori e come vengono raccolti generi e ID provider.", + "metadata-custom-fields": "Creare i propri campi di metadati, scegliere il loro tipo e le librerie che li utilizzano, e riordinare o archiviare.", + "metadata-score": "Decidere quanto conta ogni campo metadati verso il punteggio di completezza mostrato in ogni libro.", + "metadata-auto-fetch": "Recupera automaticamente i metadati del libro quando i libri vengono importati o mancano i dettagli, con override per ogni libreria.", + "metadata-authors": "Recuperare biografie e foto dell'autore automaticamente, scegliere le fonti dell'ordine sono provati, e decidere quali autori si qualificano.", + "metadata-search-cache": "Mantenere le risposte del provider in modo da ripetere le ricerche sono veloci e funzionano ancora quando un provider è giù, e controllare quanto tempo e quanto viene mantenuto.", + "metadata-genre-blocklist": "I valori di genere elencati qui sono cancellati dai risultati del provider prima che i metadati siano scritti, quindi le etichette come Audiolook rimangono fuori dai libri.", + "metadata-reminders": "Scegli quali campi mancanti vengono visualizzati nei promemoria dei libri. Questo cambia solo i promemoria, non i punteggi dei metadati.", + "file-naming": "Modelli di cartella e nome file usati quando BookOrbit rinomina i libri sul disco, con un'anteprima del risultato e cosa succede quando manca un valore.", + "maintenance": "Server housekeeping: il limite di dimensione di upload, le importazioni passate, le raccomandazioni di ricostruzione, i risultati di backfill e il controllo di aggiornamenti.", + "kobo": "Collega Kobo e-reader, scegli come libri, scaffali e lettura sincronizzazione dei progressi e segui la recente attività di sincronizzazione di ogni dispositivo.", + "koreader": "Sincronizza i progressi, le attività di lettura e le evidenziazioni con KOReader, ottieni l'URL e il plugin di sincronizzazione e gestisci i dispositivi che si collegano.", + "opds": "Attiva il catalogo OPDS e crea account in modo che le app di lettura di terze parti possano navigare e scaricare i libri.", + "email": "Gestisci le rubriche degli indirizzi a cui vengono inviate le caselle di posta Kindle, le stelle di quella predefinita e i destinatari del gruppo da inviare a parecchi contemporaneamente.", + "hardcover": "Collega il tuo account Hardcover e scegli durante la lettura dello stato, i progressi e la sincronizzazione dei voti, e come appaiono i libri sincronizzati.", + "readwise": "Collega il tuo account Readwise per inviare automaticamente i tuoi punti salienti.", + "storygraph": "Collega il tuo account StoryGraph utilizzando i cookie di sessione del browser per sincronizzare i progressi e lo stato di lettura.", + "users": "Creare e gestire gli account, i loro ruoli, i permessi e l'accesso alla biblioteca, e vedere quali account richiedono attenzione.", + "account-activity": "Vedere quando ogni account è stato l'ultimo attivo e come accede, e aprire la lettura per utente e le informazioni di sessione.", + "magic-links": "Creare link condivisibili che accedono a qualcuno senza una password, e revocarli quando non sono più necessari.", + "oidc": "Collegare un singolo provider di accesso come Keycloak, mappare i propri reclami e decidere come creare nuovi account.", + "requests": "Dove BookOrbit cerca i libri richiesti, che scaricano i client e cosa succede una volta terminato il download.", + "admin-tts": "I lettori di motori testo-a-voce possono usare per read-aloud, le voci offerte da ciascuno, e l'ordine in cui appaiono.", + "book-dock": "La cartella di rilascio del Dock del libro, il recupero automatico dei metadati per i nuovi file e il punteggio in cui i file sono finalizzati da soli.", + "server-fonts": "Carica i caratteri una volta per ogni lettore su questo server. Ogni lettore può ancora nasconderli.", + "audit-log": "Un record ricercabile di chi ha cambiato cosa e quando, filtrabile per evento, persona, oggetto e data." + } }, "field": { "required": "(richiesto)" @@ -3677,6 +4299,201 @@ "earned": "Guadagnato ({count})", "inProgress": "In corso ({count})", "locked": "Bloccato ({count})" + }, + "tiersEarnedFact": "{earned} di {total} livelli", + "loading": "Caricamento dei risultati", + "filters": { + "label": "Filtra risultati", + "all": "Tutti", + "earned": "Guadagnato", + "inProgress": "In corso", + "locked": "Bloccato" + }, + "showcase": { + "label": "Evidenziamenti", + "latest": "Sblocco più recente", + "newToday": "{count, plural, one {# nuovo oggi} other {# nuovo oggi}}", + "secretRevealed": "Segreto rivelato", + "categoryAndDate": "{category} · {date}", + "alsoNew": "Anche nuovo", + "openMedal": "Apri {name}", + "emptyTitle": "La tua prima medaglia è in attesa", + "emptyBody": "Terminare un libro, valutare uno o evidenziare un passaggio, e atterra qui.", + "collection": "Collezione", + "shareOfTiers": "{percent} di ogni livello", + "tiersEarned": "{earned} di {total} livelli guadagnati", + "closest": "Più vicino a sbloccare", + "allInProgress": "Tutti {count}", + "tierOfSet": "Tier {tier} di {set}", + "nothingCounting": "Nulla sta ancora contando verso una medaglia." + }, + "shelf": { + "tiers": "{earned} / {total}", + "progressLabel": "I livelli {category} guadagnati" + }, + "medal": { + "label": "{name}, {rarity}, {status}", + "tier": "Livello {tier}", + "allTiers": "{count, plural, one {L'unico livello} other {Tutti # livelli}}", + "keepReading": "Continua a leggere", + "notStarted": "Non avviato" + }, + "progress": { + "generic": "{current} / {threshold}", + "toGo": "{count, plural, one {# per andare} other {# per andare}}" + }, + "hints": { + "howToGetIt": "Come ottenerlo", + "readingPace": "{count, plural, one {Hai letto # ora nell'ultima {days} giorni.} other {Hai letto # ore negli ultimi {days} giorni.}}", + "etaDays": "{count, plural, one {Circa # giorno a questo ritmo.} other {Circa # giorni a questo ritmo.}}", + "etaWeeks": "{count, plural, one {Circa # settimana a questo ritmo.} other {Circa # settimane a questo ritmo.}}", + "etaMonths": "{count, plural, one {Circa # mese a questo ritmo.} other {Circa # mesi a questo ritmo.}}", + "decadeUnread": "{count, plural, one {# libro dal {decade}s sta aspettando sui tuoi scaffali.} other {# libri dal {decade}s stanno aspettando sui tuoi scaffali.}}", + "centuryUnread": "{count, plural, one {# libro dal {century}s sta aspettando sui tuoi scaffali.} other {# libri dal {century}s stanno aspettando sui tuoi scaffali.}}", + "stalled": "{title} è {percent} letto ed è stato avviato su {date}.", + "stalledNoProgress": "Hai iniziato {title} il {date}.", + "untitledBook": "Un libro in corso", + "nearlyFinished": "{count, plural, one {# libro in corso ha superato il {percent}.} other {# libri in corso hanno superato il {percent}.}}", + "unratedFinished": "{count, plural, one {# libro che hai finito non ha ancora valutazione.} other {# libri che hai finito non hanno ancora valutazione.}}", + "shortBooks": "{count, plural, one {# libro sotto {pages} pagine sono in attesa sui tuoi scaffali.} other {# libri sotto {pages} pagine sono in attesa sui tuoi scaffali.}}", + "alreadyStarted": "{count, plural, one {# è già in corso.} other {# sono già in corso.}}", + "longBooks": "{count, plural, one {# libro di {pages} pagine o più sta aspettando sugli scaffali.} other {# libri di {pages} pagine o più sono in attesa sui tuoi scaffali.}}", + "oldBooks": "{count, plural, one {# libro pubblicato prima di {year} è in attesa sui tuoi scaffali.} other {# libri pubblicati prima di {year} sono in attesa sui tuoi scaffali.}}", + "authorUnread": "{author}: {finished, plural, one {# finito} other {# finito}}, {count, plural, one {# più sugli scaffali} other {# più sugli scaffali}}.", + "languageUnread": "{count, plural, one {# libro in {language} sta aspettando sugli scaffali.} other {# libri in {language} stanno aspettando sugli scaffali.}}", + "monthsRead": "{count, plural, one {Hai letto in # mese di {year} finora.} other {Hai letto in # mesi di {year} finora.}}", + "monthsLeft": "{count, plural, one {{months} è rimasto.} other {{months} sono rimasti.}}", + "noLongBook": "Nessun libro sui tuoi scaffali ha ancora {pages} pagine o più.", + "nothingBeforeYear": "Niente sui tuoi scaffali è stato pubblicato prima di {year}.", + "tooFewDecades": "{count, plural, one {I tuoi scaffali coprono solo un decennio finora.} other {I tuoi scaffali coprono solo # decenni finora.}}", + "tooFewCenturies": "{count, plural, one {I tuoi scaffali coprono solo # secolo finora.} other {I tuoi scaffali coprono solo # secoli finora.}}", + "missedMonth": "Non hai letto in {month}, quindi {year} è fuori portata. Il conteggio ricomincia da gennaio.", + "continueReading": "Continua a leggere", + "rateFinished": "Vota un libro finito", + "viewAuthor": "Visualizza autore", + "openBook": "Apri {title}", + "openUntitledBook": "Apri libro" + }, + "sets": { + "booksFinished": "Libri finiti", + "pagesRead": "Pagine lette", + "hoursRead": "Ore lette", + "longestBook": "Libro più lungo finito", + "librarySize": "Dimensione libreria", + "annotations": "Annotazioni", + "booksRated": "Libri valutati", + "genresFinished": "Generi finiti", + "languagesFinished": "Lingue terminate", + "readingStreak": "Leggere serie" + }, + "units": { + "books": { + "progress": "{current} / {threshold} libri", + "toGo": "{count, plural, one {# libro per andare} other {# libri per andare}}" + }, + "pages": { + "progress": "{current} / {threshold} pagine", + "toGo": "{count, plural, one {# pagina per andare} other {# pagine per andare}}" + }, + "hours": { + "progress": "{current} / {threshold} ore", + "toGo": "{count, plural, one {# ora per andare} other {# ore per andare}}" + }, + "annotations": { + "progress": "{current} / {threshold} annotazioni", + "toGo": "{count, plural, one {# annotazione per andare} other {# annotazioni per andare}}" + }, + "ratings": { + "progress": "{current} / {threshold} valutazioni", + "toGo": "{count, plural, one {# valutazione per andare} other {# valutazioni per andare}}" + }, + "genres": { + "progress": "{current} / {threshold} genres", + "toGo": "{count, plural, one {# genere per andare} other {# generi per andare}}" + }, + "languages": { + "progress": "{current} / {threshold} lingue", + "toGo": "{count, plural, one {# lingua per andare} other {# lingue per andare}}" + }, + "days": { + "progress": "{current} / {threshold} giorni", + "toGo": "{count, plural, one {# giorno per andare} other {# giorni per andare}}" + } + }, + "moments": { + "nthBook": "Il libro {number} era {title}", + "pagesAtUnlock": "{count, plural, one {# pagina} other {# pagine}} quando è sbloccato", + "hoursAtUnlock": "{count, plural, one {# ora} other {# ore}} quando è sbloccato", + "titleWithPages": "{title}, {count, plural, one {# pagina} other {# pagine}}", + "booksAtUnlock": "{count, plural, one {# libro} other {# libri}} nella tua biblioteca quando è sbloccata", + "annotationsAtUnlock": "{count, plural, one {# annotazione} other {# annotazioni}} quando sbloccato", + "ratingsAtUnlock": "{count, plural, one {# valutazione} other {# valutazioni}} quando è sbloccato", + "genresAtUnlock": "{count, plural, one {# genere} other {# generi}} quando è sbloccato", + "languagesAtUnlock": "{count, plural, one {# lingua} other {# lingue}} quando sbloccato", + "streakAtUnlock": "{count, plural, one {# giorno} other {# giorni}} di fila al momento", + "longSession": "Una sessione ha funzionato {duration}", + "durationHours": "{hours} h {minutes} min", + "durationMinutes": "{minutes} min", + "sessionStartedAt": "Una sessione iniziata in {time}", + "oneDayBook": "{title}, inizia a finire in un giorno", + "booksInWeek": "{count, plural, one {# libro} other {# libri}} finito in una settimana", + "booksInMonth": "{count, plural, one {# libro} other {# libri}} finito in {month}", + "booksInYear": "{count, plural, one {# libro} other {# libri}} finito in {year}", + "wholeBookOneSession": "Un libro intero in una sessione", + "pagesInSession": "{count, plural, one {# pagina} other {# pagine}} in una sessione", + "pagesInDay": "{count, plural, one {# pagina} other {# pagine}} in un giorno", + "slowBurn": "{title}, finito dopo {count, plural, one {# giorno} other {# giorni}}", + "formatsOwned": "{count, plural, one {# formato} other {# formati}} sugli scaffali", + "annotationsWithNote": "{count, plural, one {# annotazione} other {# annotazioni}} con una nota", + "annotationsInDay": "{count, plural, one {# annotazione} other {# annotazioni}} in un giorno", + "everyStar": "Ogni valutazione da una stella a cinque", + "everyColour": "Ogni colore in evidenza usato", + "titlePublished": "{title}, pubblicato {year}", + "booksInGenre": "{count, plural, one {# libro} other {# libri}} in un genere", + "firstInSeries": "{title}, dalla serie {series}", + "centuries": "Libri da {count, plural, one {# secolo} other {# secoli}}", + "booksBySameAuthor": "{count, plural, one {# libro} other {# libri}} da un autore", + "decades": "Libri da {count, plural, one {# decennio} other {# decenni}}", + "shortBooks": "{count, plural, one {# breve libro} other {# brevi libri}} finito", + "allSeasons": "Tutte e quattro le stagioni di {year}", + "consistentDays": "{count, plural, one {# giorno} other {# giorni}} di 30 minuti o più", + "weekendsInRow": "{count, plural, one {# fine settimana} other {# fine settimana}} di fila", + "weekendHours": "{count, plural, one {# ora} other {# ore}} durante il fine settimana di {date}", + "categoriesCovered": "{count, plural, one {# categoria} other {# categorie}} con un risultato", + "readingSources": "{count, plural, one {# sorgente di lettura} other {# fonti di lettura}}", + "oneBookSources": "Un libro letto da {count, plural, one {# sorgente} other {# sorgenti}}" + }, + "records": { + "title": "Registra libro", + "subtitle": "I numeri dietro le tue medaglie, mentre stavano quando ogni sbloccato", + "value": "{value}", + "oneSession": "Una sessione di lettura", + "pagesInSession": "Pagine in una sessione", + "pagesInDay": "Pagine in un giorno", + "booksInWeek": "Libri in una settimana", + "booksInMonth": "Libri in {month}", + "booksInYear": "Libri finiti in {year}", + "annotations": "Annotazioni", + "genresFinished": "Generi finiti", + "daysInRow": "Giorni di fila", + "booksInLibrary": "Libri nella tua biblioteca" + }, + "detail": { + "categoryTierSet": "{category} · Set di livelli", + "secretHint": "Continua a leggere per rivelare questo.", + "tierOf": "Tier {earned} di {total}", + "current": "Corrente", + "noneYet": "Ancora nessuno", + "progress": "Avanzamento", + "allTiersEarned": "Ogni livello guadagnato", + "tiers": "Livelli", + "earned": "Guadagnato", + "status": "Stato", + "hidden": "Hidden", + "rarity": "Rarità", + "category": "Categoria", + "theSet": "Il set", + "theMoment": "Il momento" } }, "adminFeature": { @@ -4408,7 +5225,13 @@ "user": "Utente", "action": "Azione", "description": "Descrizione", - "ip": "IP" + "ip": "IP", + "time": "Tempo", + "person": "Persona", + "source": "Fonte", + "open": "Apri", + "network": "Rete", + "activity": "Attività" }, "categories": { "authentication": "Autenticazione", @@ -4418,7 +5241,10 @@ "collections": "Collezioni", "integrations": "Integrazioni", "settings": "Impostazioni", - "other": "Altro" + "other": "Altro", + "access": "Accesso & accesso", + "requests": "Richieste", + "devices": "Dispositivi & email" }, "resourceLabels": { "User": "Utente", @@ -4582,10 +5408,178 @@ "MaintenanceMissingBooksClean": "Ripuliti i libri mancanti", "MaintenanceBrokenCoversClean": "Coperchi rotti puliti", "MaintenanceOrphanedCoversClean": "Cartelle di copertina orfane pulite" - } + }, + "views": { + "label": "Mostra", + "changes": "Modifiche", + "signins": "Sign-ins", + "security": "Sicurezza", + "all": "Tutti" + }, + "search": { + "label": "Cerca eventi", + "placeholder": "Cerca persone, obiettivi o indirizzi IP", + "placeholderShort": "Cerca eventi" + }, + "range": { + "label": "Date range: {range}", + "today": "Oggi", + "7d": "Ultimi 7 giorni", + "30d": "Ultimi 30 giorni", + "all": "Tutto mantenuto", + "custom": "Intervallo personalizzato", + "from": "Da", + "to": "A", + "between": "{from} a {to}", + "since": "Da {date}", + "until": "Fino All' {date}", + "sinceOldest": "Da {date}" + }, + "filterMenu": { + "button": "Filtri", + "category": "Categoria", + "person": "Persona", + "findPerson": "Trova una persona", + "noPeople": "Nessuna persona corrispondente", + "clear": "Pulisci", + "done": "Fatto" + }, + "activeFilters": { + "target": "{type}: {name}", + "clearAll": "Cancella tutto" + }, + "securityGroups": { + "label": "Tipo evento di sicurezza", + "all": "Tutto", + "failed": "Sign-in falliti", + "accounts": "Account", + "passwords": "Password", + "permissions": "Permessi", + "access": "Accesso alla biblioteca", + "links": "Collegamenti di accesso" + }, + "day": { + "today": "Oggi", + "yesterday": "Ieri", + "changes": "{count, plural, one {# cambia} other {# cambia}}", + "events": "{count, plural, one {# evento} other {# eventi}}" + }, + "person": { + "system": "Sistema", + "deleted": "Account eliminato", + "automation": "Automazione" + }, + "source": { + "server": "Questo server", + "local": "Rete locale", + "internet": "Internet", + "job": "Lavoro in background", + "unknown": "Non registrato" + }, + "target": { + "none": "No target", + "more": "+{count}", + "sinceDeleted": "Da cancellato", + "withId": "{type} #{id}" + }, + "openEvent": "Dettagli aperti: {event}", + "signIns": { + "signIns": "{count, plural, one {# sign-in} other {# sign-ins}}", + "signOuts": "{count, plural, one {# disconnettersi} other {# firme}}", + "failed": "{count, plural, one {# tentativo fallito} other {# tentativi falliti}}", + "failedAs": "{count, plural, one {# fallito come {names}} other {# fallito come {names}}}", + "range": "{from} – {to}", + "footer": "{count, plural, one {{events} accedi agli eventi, piegati in # riga per persona, giorno e rete} other {{events} gli eventi di accesso, si sono piegati in # righe per persona, giorno e rete}}" + }, + "pager": { + "label": "Pagine", + "previous": "Pagina precedente", + "next": "Pagina successiva", + "page": "Pagina {page}", + "changes": "{from}–{to} di {count, plural, one {# cambiare} other {# modifiche}}", + "events": "{from}–{to} di {count, plural, one {# evento} other {# eventi}}" + }, + "drawer": { + "description": "Dettagli di un evento di audit", + "close": "Chiudi", + "subtitle": "{category} · {day}, {time}", + "when": "Quando", + "person": "Persona", + "source": "Fonte", + "target": "Target", + "usernameTried": "Nome utente provato", + "deletedHere": "{type} · eliminato da questo evento", + "deletedSince": "{type} · dal cancellato", + "inThisRow": "{count, plural, one {# evento in questa riga} other {# eventi in questa riga}}", + "around": "Intorno a questo evento", + "aroundHint": "{name}, 40 minuti su entrambi i lati", + "aroundEmpty": "Niente altro da {name} entro 40 minuti.", + "history": "Storico", + "historyCount": "{count, plural, one {# evento} other {# eventi}}", + "historyMeta": "{name} · {date}, {time}", + "thisEvent": "Questo evento", + "raw": "Evento grezzo", + "rawEventId": "ID Evento", + "rawAction": "Azione", + "rawTarget": "Target type", + "rawNote": "Nota del server", + "only": "Solo {name}" + }, + "facts": { + "format": "Formato", + "size": "Dimensione", + "download": "Scarica", + "dockFile": "File dock libro", + "rejected": "Respinto", + "failed": "Fallito", + "cleaned": "Pulito", + "skipped": "Saltato", + "remaining": "Rimanente", + "sharingLevel": "Livello di condivisione", + "sharing": { + "private": "Non condiviso", + "summary": "Summary", + "detailed": "Dettagliato" + } + }, + "retention": { + "button": "{count, plural, one {Concedi per # giorno} other {Concedi per # giorni}}", + "title": "Mantieni gli eventi per", + "days": "{count, plural, one {# giorno} other {# giorni}}", + "hint": "Gli eventi più vecchi vengono eliminati ogni sera a mezzanotte.", + "hintWithOldest": "Gli eventi più vecchi vengono cancellati ogni sera a mezzanotte. L'evento più antico mantenuto è da {date}.", + "readOnly": "Solo le persone che possono modificare le impostazioni delle app possono cambiare questo.", + "saved": "{count, plural, one {Gli eventi di audit sono ora tenuti per # giorno.} other {Gli eventi di audit sono ora tenuti per # giorni.}}", + "saveFailed": "Non è possibile cambiare quanto tempo gli eventi sono mantenuti." + }, + "export": { + "button": "Esporta", + "title": "Esporta ciò che è mostrato", + "hint": "Utilizza la vista corrente, i filtri e l'intervallo di date.", + "csv": "CSV", + "json": "JSON", + "failed": "Impossibile esportare il registro di controllo." + }, + "emptyFiltered": "Nessun evento corrisponde a questi filtri." }, "auth": { "backToSignIn": "Torna per accedere", + "plate": { + "exLibris": "Ex Libris" + }, + "endpaper": { + "change": "Cambia endpaper", + "options": { + "seigaiha": "Onde", + "shippo": "Cerchi collegati", + "asanoha": "Foglie di canapa", + "quatrefoil": "Quatrefoil", + "ogee": "Ogee", + "harlequin": "Harlequin", + "greekKey": "Chiave greca", + "plain": "Semplice" + } + }, "themePicker": { "switchToLight": "Passa alla luce", "switchToDark": "Passa allo scuro", @@ -4603,7 +5597,10 @@ "confirmPassword": "Conferma la password", "confirmNewPassword": "Conferma la nuova password", "currentPassword": "Password attuale", - "passwordHint": "minimo 8 caratteri con maiuscolo, minuscolo e una cifra" + "passwordHint": "minimo 8 caratteri con maiuscolo, minuscolo e una cifra", + "showPassword": "Mostra password", + "hidePassword": "Nascondi password", + "capsLockOn": "Blocco Maiusc attivo" }, "errors": { "generic": "Qualcosa è andato storto. Per favore riprova.", @@ -4615,9 +5612,11 @@ "signingIn": "Accesso...", "orDivider": "o", "forgotPassword": "Password dimenticata?", + "resetPasswordAction": "Reimposta password", "noAccount": "Non hai un account?", "signUp": "Iscriviti", "registeredNotice": "Account creato. Accedi per continuare. Un amministratore deve concedere le autorizzazioni prima di poter accedere alla libreria.", + "resetNotice": "Password aggiornata. Accedi con la tua nuova password.", "errors": { "invalidCredentials": "Nome utente o password non validi", "tooManyAttempts": "Troppi tentativi di accesso. Attendi un minuto e riprova.", @@ -4789,6 +5788,8 @@ "selectVisible": "Seleziona visibile", "refreshMetadata": "Aggiorna i metadati", "refreshingMetadata": "Aggiornamento dei metadati in corso...", + "confirmRefreshCount": "{count, plural, one {Aggiorna i metadati per # autore?} other {Aggiorna i metadati per # autori?}}", + "refreshAction": "Aggiorna", "deleteSelected": "Elimina selezionato", "deleting": "Eliminazione...", "exitSelection": "Esci dalla selezione", @@ -4892,6 +5893,19 @@ }, "book": { "untitled": "Senza titolo", + "placeholder": { + "volume": "Vol. {number}", + "genre": { + "horror": "Horror", + "romance": "Romanticismo", + "fantasy": "Fantasy", + "scifi": "Sci-fi", + "mystery": "Mistero", + "classic": "Classici", + "nonfiction": "Non-fiction", + "young": "Giovani lettori" + } + }, "unknownFormat": "sconosciuto", "collapsedSeries": { "label": "Serie", @@ -4906,6 +5920,7 @@ "audiobook": "Audiolibro" }, "formats": { + "djvu": "Documento DjVu", "epub": "EPUB e-book", "kepub": "KEPUB e-book", "pdf": "PDF documento", @@ -4948,6 +5963,10 @@ "openAs": "Apri come {format}", "openReadAlong": "Apri lettura insieme EPUB" }, + "refreshMetadata": { + "success": "Metadati aggiornati", + "failed": "Aggiornamento dei metadati non riuscito" + }, "coverRegeneration": { "failed": "Impossibile rigenerare la copertina", "bulkInProgress": "Riestrazione delle coperture", @@ -4977,7 +5996,11 @@ "exportFailed": "Esportazione non riuscita", "audiolessEpub": "KOReader EPUB", "audiolessEpubHint": "Scarica EPUB per KOReader con i file audio rimossi", - "noAudio": "nessun audio" + "noAudio": "nessun audio", + "textOnlyEpub": "EPUB Solo Testi", + "textOnlyEpubHint": "Scarica un EPUB privo di narrazioni preservando le ancore di lettura.", + "originalNarrated": "EPUB originale con narrazione", + "originalNarratedEpub": "EPUB originale con narrazione" }, "sort": { "moveUp": "Vai su", @@ -5273,7 +6296,8 @@ }, "header": { "previousBook": "Libro precedente", - "nextBook": "Il prossimo libro" + "nextBook": "Il prossimo libro", + "backToLibrary": "Torna a {library}" }, "tabs": { "details": "Dettagli", @@ -5721,6 +6745,9 @@ }, "searchDrawer": { "searchTitle": "Cerca metadati", + "autoSearchOnOpen": "Cerca automaticamente quando aperto", + "autoSearchOnOpenHint": "Usa i dettagli del libro alla prossima apertura di questo pannello. Ricordato per il tuo account in questo browser.", + "searchOptions": "Opzioni di ricerca", "compareTitle": "Confronta i metadati", "searchSubtitle": "Trova il fornitore migliore per questo libro.", "compareSubtitle": "Rivedi le differenze e applica solo ciò che desideri." @@ -5940,6 +6967,8 @@ "score": "Punteggio", "scoreTooltip": "Punteggio metadati {score} su 100", "emptyFields": "{count, plural, one {campo mancante} other {campi mancanti}}", + "emptyFieldsCount": "{count, plural, one {# campo vuoto} other {# campi vuoti}}", + "emptyFieldsHeading": "Campi di metadati vuoti", "emptyFieldsTooltip": "Non ancora compilati: {fields}. Cerca online per trovarli.", "libraryRow": "Biblioteca", "primaryRow": "Principale", @@ -6041,6 +7070,12 @@ "resume": "Riprendi", "audiobook": "Audiolibro", "writeTarget": "Scrivi destinazione", + "notWritten": { + "formatNotSupported": "Non scritto: formato non supportato", + "formatDisabled": "Non scritto: formato disattivato", + "fileExceedsSizeLimit": "Non scritto: oltre il limite di dimensione", + "notContentFile": "Non scritto: non il contenuto del libro" + }, "enabled": "Abilitato", "disabled": "Disattivo", "notSet": "non impostato", @@ -6842,6 +7877,22 @@ "nFailed": "{count} non riuscito", "nTotal": "{count} totale" }, + "uploadFailures": { + "heading": "{count, plural, one {Impossibile caricare # file} other {Impossibile caricare # file}}", + "dismissAll": "Ignora tutto", + "retry": "Riprova a caricare {name}", + "dismiss": "Ignora {name}", + "reason": { + "unsupported": "Tipo di file non supportato: .{extension}", + "noExtension": "Il file non ha estensione, quindi il suo formato è sconosciuto", + "tooLarge": "Più grande del limite di caricamento {limit}", + "tooLargeServer": "Più grande del limite di caricamento del server", + "tooLargeProxy": "Respinto come troppo grande prima di raggiungere BookOrbit, probabilmente con un proxy inverso", + "storageFull": "Il server è fuori dallo spazio di archiviazione", + "network": "Impossibile raggiungere il server", + "status": "Caricamento fallito (HTTP {status})" + } + }, "fileList": { "emptyTitle": "Nessun file nel Book Dock", "emptyMessageDefault": "Carica i file o rilasciali nella cartella Book Dock", @@ -7101,7 +8152,40 @@ "moreOptions": "Altre opzioni", "fewerOptions": "Meno opzioni", "optionsSummary": "{formats} · nota aggiunta", - "formatToggleAria": "Preferisco {format}" + "formatToggleAria": "Preferisco {format}", + "pair": { + "choice": "Entrambi", + "choiceHint": "Chiedi l'e-book e l'audiolibro insieme", + "ebookLibraryLabel": "Libreria e-book", + "audiobookLibraryLabel": "Libreria audiolibro", + "audiobookFolderLabel": "Cartella audiolibro", + "landsTogether": "Entrambi i formati arrivano come un libro in {library}.", + "landsSeparately": "{library} mantiene un libro per file, quindi ogni formato arriva come un libro proprio.", + "landsApart": "L'e-book e l'audiolibro vanno in biblioteche diverse, quindi arrivano come due libri.", + "preferredEbookFormats": "Formati di e-book preferiti", + "preferredAudiobookFormats": "Formati audiolibro preferiti", + "state": { + "owned": "Nella tua biblioteca", + "following": "Hai richiesto questo", + "joinable": "Richiesto", + "new": "Non richiesto" + }, + "requestBoth": "Richiedi entrambi", + "getBoth": "Ottieni entrambi", + "chooseReleases": "Scegli le versioni", + "joinBoth": "Aggiungimi a entrambi", + "requestEbook": "Richiedi e-book", + "requestAudiobook": "Richiedi audiolibro", + "getEbook": "Ottieni e-book", + "getAudiobook": "Ottieni audiolibro", + "joinEbook": "Aggiungimi alla richiesta di e-book", + "joinAudiobook": "Aggiungimi alla richiesta audiolibro", + "haveBoth": "Nella tua biblioteca", + "requestedBoth": "Richiesto", + "submitted": "Richiesto l'e-book e l'audiolibro", + "submittedPartlyJoined": "Richiesto entrambi. Uno era già in cammino, quindi sei stato aggiunto a quella richiesta", + "submittedJoinsBook": "Richiesto. Si unirà alla copia già nella tua libreria" + } }, "card": { "details": "Dettagli", @@ -7160,7 +8244,10 @@ "forbidden": "Quella richiesta appartiene a qualcun altro.", "loadFailed": "Impossibile caricare la richiesta" }, - "entityName": "Richiesta" + "entityName": "Richiesta", + "pairSwitchLabel": "Formati in questa richiesta", + "joinsBook": "Unisce un libro che hai", + "joinsBookHint": "Quando questo arriva viene aggiunto al libro già nella tua biblioteca" }, "actions": { "approve": "Approva", @@ -7175,7 +8262,29 @@ "grab": "Cerca una release", "goToBook": "Vai al libro", "retryRelease": "Prova un'altra versione", - "leave": "Richiesta di uscita" + "leave": "Richiesta di uscita", + "pair": { + "approveBoth": "Approva entrambi", + "approveEbook": "Approva e-book", + "approveAudiobook": "Approva audiolibro", + "rejectBoth": "Rifiuta entrambi", + "rejectEbook": "Rifiuta e-book", + "rejectAudiobook": "Rifiuta audiolibro", + "cancelBoth": "Annulla entrambi", + "cancelEbook": "Annulla e-book", + "cancelAudiobook": "Annulla audiolibro", + "dismissBoth": "Ignora entrambi", + "dismissEbook": "Ignora e-book", + "dismissAudiobook": "Rimuovi audiolibro", + "restoreBoth": "Ripristina entrambi", + "restoreEbook": "Ripristina e-book", + "restoreAudiobook": "Ripristina audiolibro", + "grabEbook": "Trova un rilascio di e-book", + "grabAudiobook": "Trova un rilascio audiolibro", + "chooseReleases": "Scegli le versioni", + "openEbook": "Apri la richiesta di e-book", + "openAudiobook": "Apri la richiesta audiolibro" + } }, "filters": { "status": "Stato", @@ -7218,7 +8327,9 @@ "left": "Hai lasciato questa richiesta", "bulkRejected": "{count, plural, one {# richiesta respinta} many {# richieste respinte} other {# richieste respinte}}", "bulkRejectedPartial": "{done} rifiutato, {failed} non può essere", - "importDiscarded": "Il file importato è stato eliminato" + "importDiscarded": "Il file importato è stato eliminato", + "pairApproved": "Approvato entrambi", + "pairRejected": "Rifiutato entrambi" }, "errors": { "loadFailed": "Impossibile caricare le richieste", @@ -7238,7 +8349,9 @@ "languageChangeFailed": "Impossibile modificare la lingua della richiesta", "leaveFailed": "Impossibile lasciare quella richiesta", "bulkRejectFailed": "La selezione non può essere rifiutata", - "discardImportFailed": "Impossibile eliminare l'importazione" + "discardImportFailed": "Impossibile eliminare l'importazione", + "approveCompanionFailedEbook": "Approvato questo, ma l'e-book non poteva essere approvato", + "approveCompanionFailedAudiobook": "Approvato questo, ma l'audiolibro non poteva essere approvato" }, "grab": { "title": "Invia a un client di download", @@ -7284,6 +8397,18 @@ "releases": { "title": "Scegli una versione", "retryTitle": "Prova un'altra versione", + "pairTitle": "Scegli rilasci", + "pair": { + "tabsLabel": "Formats to pick releases for", + "releaseCount": "{count, plural, one {# rilascio} other {# rilasci}}", + "searching": "Ricerca", + "toChoose": "Per scegliere", + "sent": "Inviato", + "finishedTitle": "Niente da scegliere", + "finishedHint": "Entrambi i formati hanno il loro rilascio ora. È possibile seguire ciascuno dalla richiesta.", + "backToRequest": "Torna alla richiesta", + "done": "Fatto" + }, "subtitle": "Classificato in ogni indicizzatore abilitato.", "summaryCount": "{count, plural, one {#} many {# rilascia} other {# rilascia}}", "allFreeleech": "tutti freeleech", @@ -7573,7 +8698,8 @@ "decidedBy": "Deciso da", "decisionNote": "Nota decisionale", "requestNote": "Richiedi nota", - "openDetail": "Apri i dettagli completi" + "openDetail": "Apri i dettagli completi", + "pairMedia": "E-book e audiolibro" }, "confirm": { "cancelDownloadTitle": "Annullare questo download?", @@ -7629,7 +8755,9 @@ "SUBMIT_DESTINATION_REQUIRED": "Le tue richieste vengono approvate non appena le fai, quindi scegli la biblioteca in cui dovrebbe arrivare il libro", "SUBMIT_SELF_SERVE_LIMIT": "Completa o annulla prima alcuni download: puoi avere {limit} in volo contemporaneamente", "SUBMIT_ON_BEHALF_FORBIDDEN": "Non è consentito richiedere libri per altre persone", - "SUBMIT_ON_BEHALF_UNKNOWN_USER": "Quell'utente non può ricevere una richiesta di libro per lui" + "SUBMIT_ON_BEHALF_UNKNOWN_USER": "Quell'utente non può ricevere una richiesta di libro per lui", + "SUBMIT_TARGET_BOOK_NOT_FOUND": "Quel libro non è in una biblioteca che puoi raggiungere", + "SUBMIT_TARGET_BOOK_HAS_MEDIUM": "Quel libro ha già questo formato" }, "actionError": { "BOOK_REQUEST_NOT_PENDING": "Solo una richiesta in sospeso supporta questa azione; questa richiesta è attualmente {status}", @@ -7715,7 +8843,22 @@ "reviewSources": "Controlla le fonti" }, "selfServeBadge": "Self-service", - "selfServeBadgeHint": "Scaricato direttamente dal richiedente, senza passaggio di approvazione" + "selfServeBadgeHint": "Scaricato direttamente dal richiedente, senza passaggio di approvazione", + "missingFormat": { + "labelAudiobook": "Audiolibro per questo libro", + "labelEbook": "E-book per questo libro", + "noAudiobook": "Ancora nessun audiolibro", + "noEbook": "Ancora nessun e-book", + "requestAudiobook": "Richiedi audiolibro", + "requestEbook": "Richiedi e-book", + "requested": "Richiesto", + "requestedBySomeone": "Richiesto da qualcun altro", + "ownedElsewhere": "Nella tua biblioteca come libro separato", + "open": "Apri", + "viewRequest": "Visualizza richiesta", + "submittedAudiobook": "Richiesto. L'audiolibro si unirà a questo libro quando arriverà", + "submittedEbook": "Richiesto. L'e-book si unirà a questo libro quando arriverà" + } }, "collection": { "visibleToAll": "Visibile a tutti gli utenti", @@ -7792,6 +8935,9 @@ "uploadBooks": "Carica libri", "appearance": "Aspetto", "appearanceDescription": "Scegli le opzioni di tema, accento, raggio dell'angolo, superficie e sfondo.", + "style": "Stile", + "surfacePalette": "Superficie", + "topGlow": "Bagliore superiore", "theme": "Tema", "accent": "Accento", "radius": "Raggio", @@ -7889,7 +9035,8 @@ "updateTooltip": "{version} aggiornamento disponibile", "openUpdateRelease": "Apri la versione {version} su GitHub", "zones": { - "browse": "Sfoglia" + "browse": "Sfoglia", + "reading": "Lettura" }, "reorder": { "gripAria": "Riordina {name}", @@ -7920,6 +9067,8 @@ "moreActions": "Più azioni", "setField": "Imposta campo", "refreshMetadata": "Aggiorna i metadati", + "refreshConfirm": "{count, plural, one {Aggiorna i metadati per # libro?} other {Aggiorna i metadati per # libri?}}", + "refreshConfirmAction": "Aggiorna", "reExtractCover": "Riestrarre il coperchio", "metadataLock": "Blocco dei metadati", "lockAll": "Blocca tutto", @@ -7981,6 +9130,69 @@ "table": "Vista tabellare" } }, + "browseHeader": { + "eyebrow": { + "library": "Libreria", + "smartScope": "Ambito intelligente", + "collection": "Collezione", + "browse": "Sfoglia" + }, + "facts": { + "books": "{count, plural, one {# libro} other {# libri}}", + "booksOf": "{matching} di {total, plural, one {# libro} other {# libri}}", + "authors": "{count, plural, one {# autore} other {# autori}}", + "series": "{count, plural, one {# serie} other {# serie}}", + "scanned": "{time} Scansionato", + "scanningProgress": "Scansione {processed} / {total}", + "syncsToKobo": "Sincronizza con Kobo" + }, + "switcher": { + "open": "Passa da {name}", + "jumpTo": "Vai a...", + "libraries": "Librerie", + "smartScopes": "Ambiti intelligenti", + "collections": "Collezioni", + "empty": "Niente corrispondenza" + }, + "search": { + "removeToken": "Rimuovi filtro {label}", + "clearAll": "Cancella ricerca e filtri", + "save": "Salva", + "summaryToken": "{count, plural, one {# filtro} other {# filtri}}" + }, + "tokens": { + "anyOf": "Qualsiasi di {count, plural, one {# regola} other {# regole}}", + "allOf": "Tutto {count, plural, one {# regola} other {# regole}}" + }, + "sort": { + "sortBy": "Ordina per {field}", + "ascending": "Ascendente. Passa alla discesa", + "descending": "Discendente. Passa a ascendente" + }, + "facets": { + "format": "Formato", + "rules": "Regole", + "show": "Mostra", + "library": "Libreria", + "status": "Stato", + "ruleCount": "{count, plural, one {# regola} other {# regole}}" + }, + "menu": { + "more": "Altro per {name}", + "editRules": "Modifica regole", + "deleteSmartScope": "Elimina Smart Scope", + "deleteCollection": "Elimina collezione", + "confirmDelete": "Eliminare \"{name}\"? Questo non può essere annullato.", + "upload": "Carica libri" + }, + "scan": { + "scanning": "Scansione", + "started": "Scansione {name}", + "finished": "Scansione di {name} terminata" + }, + "viewModes": "Modalità di visualizzazione", + "legend": "Colori del volume" + }, "iconPicker": { "clearSelectionAria": "Cancella l'icona selezionata", "searchLucide": "Cerca icone Lucide...", @@ -8089,6 +9301,28 @@ "discardTitle": "Annullare le modifiche?", "discardDescription": "Le modifiche non salvate andranno perse.", "discardConfirm": "Scarta" + }, + "backgroundPicker": { + "none": "Nessuno", + "dots": "Punti", + "cross": "Croce", + "millimeter": "Millimeter", + "blueprint": "Progetto", + "brushed": "Spazzolato", + "scanlines": "Scansione", + "vinyl": "Vinile", + "carbon": "Carbonio", + "perforated": "Perforato", + "aurora": "Aurora", + "horizon": "Orizzonte", + "glow": "Bagliore", + "mesh": "Mesh", + "elevation": "Elevazione", + "prism": "Prisma", + "spectrum": "Spettro", + "spectrum-x": "Spettro X", + "spectrum-plus": "Spectrum Plus", + "eclipse": "Eclipse" } }, "customIcons": { @@ -8146,6 +9380,7 @@ }, "settings": { "title": "Personalizza la dashboard", + "preferencesTitle": "Preferenze pannello impostazioni", "tabs": { "widgets": "Widget", "shelves": "Scaffali" @@ -8182,6 +9417,11 @@ "twoColumns": "Due colonne", "twoColumnsDescription": "Mostra due scaffali per riga." }, + "shelfSync": { + "label": "Sincronizza gli scaffali tra le sessioni", + "description": "Salva l'ordine degli scaffali, visibilità, numero di righe e layout sul tuo account. Quando disattivi, le impostazioni degli scaffali rimangono in questo browser." + }, + "saveFailed": "Impossibile salvare le impostazioni del cruscotto. Controlla la connessione e riprova.", "libraryScope": { "title": "Librerie dashboard", "description": "Scegli quali biblioteche contribuiscono con libri e dati di lettura a questa dashboard.", @@ -8328,6 +9568,7 @@ }, "tabs": { "providers": "Fornitori", + "servers": "Server di posta", "recipients": "Destinatari", "groups": "Gruppi", "templates": "Modelli", @@ -8496,6 +9737,306 @@ "sending": "Invio...", "queued": "{count, plural, =0 {nessuna email in coda} one {una e-mail in coda} other {# e-mail in coda} many {# e-mail in coda}}", "failed": "Impossibile inviare" + }, + "page": { + "addRecipient": "Aggiungi destinatario", + "recipients": "Destinatari", + "groups": "Gruppi", + "newGroup": "Nuovo gruppo", + "servers": "Server di posta", + "addServer": "Aggiungi server di posta", + "templates": "Modelli", + "newTemplate": "Nuovo modello", + "noServersReadonly": "Nessun server di posta è ancora condiviso con te. Chiedi all'amministratore di aggiungerne uno.", + "roleShared": "Condiviso con tutti", + "roleSystem": "Reimposta password", + "cantConnect": "Impossibile connettersi", + "builtIn": "Costruito in", + "recipientsEmptyTitle": "Aggiungi l'e-reader o la posta in arrivo a cui invii libri", + "recipientsEmptyBody": "L'indirizzo di un Kindle termina in {kindle} ed è elencato in Dispositivi nel tuo account Amazon. Un PocketBook termina in {pocketbook}. Ogni normale posta in arrivo funziona anche.", + "kindleNote": "Kindle accetta solo messaggi da mittenti approvati. Aggiungi {address} in Impostazioni documenti personali nel tuo account Amazon.", + "copyAddress": "Copia indirizzo", + "addressCopied": "Indirizzo copiato", + "editServer": "Modifica {name}", + "editTemplate": "Modifica {name}", + "editGroup": "Modifica {name}", + "groupCount": "{count, plural, one {# recipient} other {# recipients}}", + "recipientsHint": "Quello stellato viene scelto quando invii.", + "groupsHint": "Invia a più destinatari contemporaneamente.", + "groupsEmpty": "Ancora nessun gruppo.", + "serversHint": "Il stellato invia i tuoi libri.", + "templatesHint": "Oggetto e messaggio inviati con ogni libro.", + "kindleTemplateNote": "Un Kindle non mostra mai il modello: la sua email esce sempre con l'oggetto {subject}.", + "test": "Prova", + "testServer": "Test {name}", + "testOk": "{name} connesso", + "testFailed": "{name} non può connettersi", + "defaultRecipient": "Destinatario predefinito", + "makeDefaultRecipient": "Rendi {name} il destinatario predefinito", + "defaultServer": "Server predefinito", + "makeDefaultServer": "Rendi {name} il server predefinito", + "defaultTemplate": "Modello predefinito", + "makeDefaultTemplate": "Rendi {name} il modello predefinito", + "editRecipient": "Modifica {name}", + "serversEmptyTitle": "Nessun server di posta ancora", + "serversEmptyBody": "Libri uscire attraverso un account SMTP. Gmail, Outlook, iCloud e Fastmail sono un clic; qualsiasi altro server funziona troppo.", + "needServerTitle": "Aggiungi un server di posta prima di poter inviare", + "needServerBody": "BookOrbit invia libri attraverso un account SMTP che possiedi, come Gmail con una password dell'app.", + "needServerAsk": "Chiedi all'amministratore di condividere un server di posta con te.", + "goToServers": "Vai ai server di posta", + "noEncryption": "Nessuna crittografia" + }, + "route": { + "defaultSaved": "Predefinito aggiornato" + }, + "attention": { + "title": "Richiede attenzione", + "count": "{count, plural, one {# oggetto} other {# elementi}}", + "hide": "Nascondi", + "show": "Mostra", + "serverDown": "{name} non può connettersi", + "notDelivered": "{book} non è arrivato a {recipient}", + "maybeDelivered": "{book} potrebbe non aver raggiunto {recipient}", + "testedAgo": "testato {time}", + "editServer": "Modifica server", + "editRecipient": "Modifica destinatario", + "resend": "Reinvia" + }, + "reason": { + "tooLarge": "{size} è più di {server} accetta.", + "tooLargeGmail": "{size} ha superato il limite di 25 MB di allegati di Gmail.", + "tooLargeFix": "Invia una versione più piccola, o imposta il destinatario a Eærs di solo testo.", + "signIn": "{server} ha rifiutato l'accesso.", + "signInFix": "Controllare il nome utente e la password sul server di posta.", + "unreachable": "{server} non ha risposto.", + "unconfirmed": "La connessione è caduta dopo che il messaggio è stato consegnato, quindi potrebbe essere arrivata.", + "unconfirmedFix": "Spunta la casella di posta prima di rispedire o può arrivare due volte.", + "interrupted": "BookOrbit è stato riavviato mentre questa email stava uscendo.", + "interruptedFix": "Controllare la casella di posta prima di rinviare.", + "preparation": "Il file non può essere preparato per l'invio.", + "other": "Il server di posta lo ha disattivato.", + "server": "il server di posta", + "serverMessage": "Messaggio del server", + "retryAt": "Prossima prova {time}." + }, + "status": { + "sent": "Inviato", + "sending": "Invio", + "retrying": "Riprova · {attempt} di {total}", + "unconfirmed": "Non Confermato", + "failed": "Fallito" + }, + "recent": { + "moreActions": "Altre azioni per {title}", + "deletedBook": "Libro eliminato", + "openBook": "Apri libro", + "resend": "Reinvia", + "delete": "Elimina voce" + }, + "log": { + "all": "Tutti", + "attention": "Richiede attenzione", + "active": "In corso", + "book": "Libro", + "sentTo": "Inviato a", + "file": "File", + "status": "Stato", + "when": "Quando", + "sentMeans": "Inviato significa che il server di posta lo ha accettato", + "emptyFilter": "Niente qui in questo momento.", + "loadMore": "Carica altro", + "showing": "Mostrando {shown} di {total}", + "emptyTitle": "Niente inviato ancora", + "emptyBody": "Libri che e-mail appaiono qui con dove sono andati e se il server di posta li ha presi." + }, + "card": { + "nothingSent": "Niente inviato ancora", + "failed": "fallito", + "retrying": "riprovante", + "unconfirmed": "non confermato", + "sending": "invio", + "narration": "Narrazione", + "narrationTitle": "Libri di lettura mantengono la loro narrazione" + }, + "device": { + "kindle": "Kindle", + "kobo": "Kobo", + "other": "Altro e-reader", + "otherShort": "E-reader", + "none": "Persona o posta in arrivo" + }, + "sheet": { + "title": "Invia per email", + "sendTo": "Invia a", + "groups": "Gruppi", + "templateName": "Modello {name}", + "eachFormat": "Formato di ciascun destinatario", + "formatForAll": "{format} per tutti", + "file": "File", + "mailServer": "Server di posta", + "template": "Modello", + "yourDefault": "il tuo valore predefinito", + "emails": "{count, plural, one {# email} other {# emails}}", + "noOnePicked": "Nessuno ha scelto", + "total": "{size} in totale", + "send": "{count, plural, one {Invia} other {Invia # email}}", + "noFormat": "No {format}, gets {got}", + "readAlong": "Read-along, {size}", + "overKindle": "{size}, oltre il limite di 50 MB di Kindle", + "overGmail": "{size}, oltre il limite di 25 MB di Gmail", + "kindleRejects": "Kindle rifiuta {format}", + "blockedKindle": "{name} non può prendere {format}. Scegli EPUB o PDF, o deselezionarlo.", + "books": "{count, plural, one {# libro} other {# libri}}", + "notReadyTitle": "L'email non è ancora stata impostata", + "notReadyBody": "Prima che un libro possa andare ovunque, questo account ha bisogno di un server di posta e di un destinatario.", + "addServer": "Aggiungi un server di posta", + "addServerHint": "Gmail, Outlook, iCloud, Fastmail o qualsiasi account SMTP.", + "askForServer": "Chiedi all'amministratore di condividere un server di posta.", + "addRecipient": "Aggiungi un destinatario", + "addRecipientHint": "Il tuo Kindle, PocketBook o qualsiasi casella di posta.", + "openSettings": "Apri impostazioni email", + "sendingTitle": "Invio {title}", + "closeHint": "Puoi chiudere questo. I fallimenti appaiono anche nelle notifiche e nella cronologia delle email.", + "openHistory": "Apri cronologia", + "done": "Fatto", + "acceptedBy": "Accettato da {server} {time}", + "handingOver": "Passa su {server}" + }, + "editor": { + "kindleSubject": "converti", + "recipient": { + "newTitle": "Nuovo destinatario", + "description": "Nome del destinatario, indirizzo, dispositivo e cosa riceve.", + "sectionRecipient": "Destinatario", + "sectionReceives": "Cosa riceve", + "name": "Nome", + "email": "Indirizzo email", + "device": "Dispositivo", + "deviceHint": "Kindle cambia l'oggetto in {subject} e limita i formati sottostanti.", + "format": "Formato", + "formatPrimary": "Primario libro", + "formatHint": "Un libro senza questo formato ottiene la sua edizione primaria.", + "kindleFormatHint": "Amazon ha smesso di accettare MOBI e AZW3 via e-mail nel 2023, quindi non sono offerti per un Kindle. Un libro senza questo formato ottiene la sua edizione primaria.", + "kindleLegacyFormat": "Kindle non accetta più {format} via email. Scegli EPUB o PDF.", + "readAlong": "Libri di lettura", + "readAlongAutomatic": "Automatico", + "readAlongAutomaticHint": "Solo testo quando una copia sicura può essere fatta, altrimenti l'originale.", + "readAlongTextOnly": "EPUB Solo Testi", + "readAlongTextOnlyHint": "Narrazione stripped. abbastanza piccolo per l'email.", + "readAlongOriginal": "Originale con narrazione", + "readAlongOriginalHint": "Mantiene la narrazione. Spesso 100 MB o più, oltre i limiti della maggior parte dei server di posta.", + "notForKindle": "Non per Kindle", + "template": "Modello", + "templateDefault": "Il tuo valore predefinito ({name})", + "templateKindleHint": "Ignorato per Kindle, che non mostra mai il messaggio.", + "approveTitle": "Approva il mittente in Amazon", + "approveBody": "Kindle drops email da indirizzi che non conosce, senza un rimbalzo. In {path}, aggiungi {address}", + "approvePath": "Gestisci i tuoi contenuti e dispositivi › Preferenze › Impostazioni del documento personale", + "approveNoServer": "Aggiunge prima un server di posta per vedere l'indirizzo che Kindle deve approvare.", + "lastSent": "Ultimo libro inviato {time}", + "sendTest": "Invia un'email di prova", + "testSubject": "Email di prova BookOrbit", + "testBody": "Questo è un test da BookOrbit. Se puoi leggerlo, anche i libri inviati a {name} arriveranno qui.", + "testSent": "Email di prova inviata a {name}", + "testFailed": "L'email di prova non è uscita: {error}", + "makeDefault": "Invio rapido del destinatario", + "remove": "Elimina destinatario", + "removeConfirm": "Eliminare {name}?", + "removeConsequence": "La sua storia di invio rimane.", + "removeDefaultConsequence": "La sua cronologia di invio rimane e invio rapido si ferma fino a quando non si star un altro destinatario.", + "required": "Il nome e l'indirizzo email sono obbligatori.", + "sectionLastSent": "Ultimo invio" + }, + "server": { + "newTitle": "Nuovo server di posta", + "description": "Il server SMTP, il suo accesso e chi può inviarlo.", + "sectionProvider": "Provider", + "sectionServer": "Server", + "sectionSignIn": "Accedi", + "sectionSender": "Mittente", + "sectionWho": "Chi lo usa", + "presetGmail": "Gmail", + "presetOutlook": "Outlook", + "presetIcloud": "iCloud Mail", + "presetFastmail": "Fastmail", + "presetOther": "Altro SMTP", + "presetHint": "Un preset riempie l'host, la porta e la sicurezza. Puoi ancora cambiarli.", + "name": "Nome", + "host": "Host", + "port": "Porta", + "security": "Sicurezza", + "securityStarttls": "STARTTLS", + "securitySsl": "SSL/TLS", + "securityNone": "Nessuno", + "securityHint": "STARTTLS su 587, SSL/TLS su 465. Uno o l'altro, mai entrambi.", + "needsPassword": "Questo server necessita di una password", + "username": "Username", + "password": "Password", + "appPassword": "Password app", + "passwordKeep": "Salvato. Digita per sostituirlo", + "appPasswordHint": "Gmail e iCloud hanno bisogno di una password per l'app, non di una password per l'account.", + "fromName": "Dal nome", + "fromAddress": "Dall'indirizzo", + "fromAddressHint": "I proprietari di Kindle devono approvare questo indirizzo.", + "share": "Condividi con tutti", + "shareHint": "Altre persone possono inviare libri attraverso questo server senza vedere la password.", + "system": "Invia reset password e link di accesso", + "systemHint": "Lo stesso BookOrbit di un server usa. Solo un superutente può cambiare questo.", + "verifyTls": "Verifica il certificato del server", + "verifyTlsHint": "Disattiva solo per un server sulla tua rete con un certificato autofirmato.", + "test": "Verifica connessione", + "testDirty": "Salva prima, poi prova", + "testOk": "Connesso", + "testFailed": "Impossibile connettersi: {error}", + "remove": "Elimina server", + "removeConfirm": "Eliminare {name}?", + "removeConsequence": "Tutto ciò che è condiviso con lo perde.", + "removeSystemFirst": "Disattiva il reset della password su questo server prima di eliminarla.", + "makeDefault": "Usa come predefinito", + "required": "Nome e host sono obbligatori." + }, + "template": { + "newTitle": "Nuovo modello", + "description": "Oggetto e messaggio inviati con ogni libro.", + "sectionTemplate": "Modello", + "sectionInsert": "Insert", + "sectionPreview": "Anteprima", + "name": "Nome", + "subject": "Oggetto", + "message": "Messaggio", + "groupBook": "Libro", + "groupFile": "File", + "groupOther": "Altro", + "insertHint": "Va dentro al cursore, nell'oggetto o nel messaggio. I valori vuoti non stampano nulla.", + "insertVariable": "Insert {variable}", + "previewWith": "Anteprima con", + "previewEmpty": "Invia un libro una volta per visualizzare in anteprima un modello con esso.", + "previewFailed": "L'anteprima non può essere visualizzata.", + "previewTo": "A", + "builtInReadonly": "Costruito. Solo un superutente può cambiarlo.", + "kindleNote": "Kindle non mostra mai un modello: ottiene sempre l'oggetto {subject}.", + "makeDefault": "Rendi la mia impostazione predefinita", + "remove": "Elimina modello", + "removeConfirm": "Eliminare {name}?", + "removeConsequence": "I destinatari che lo utilizzano tornano al tuo modello predefinito.", + "required": "Nome e oggetto sono richiesti.", + "attachment": "Allegato: {name}" + }, + "group": { + "newTitle": "Nuovo gruppo", + "description": "Un insieme di destinatari per inviare un libro a una volta.", + "sectionGroup": "Gruppo", + "sectionMembers": "Membri", + "name": "Nome", + "memberCount": "{count} di {total}", + "noRecipientsTitle": "Nessun destinatario da scegliere", + "noRecipientsBody": "Un gruppo è un insieme di destinatari. Aggiungi prima un destinatario.", + "remove": "Elimina gruppo", + "removeConfirm": "Eliminare {name}?", + "removeConsequence": "I suoi destinatari restano.", + "required": "Un gruppo ha bisogno di un nome.", + "updated": "Gruppo aggiornato" + } } }, "errors": { @@ -8790,6 +10331,14 @@ "squareTitle": "Quadrato 1:1", "squareHint": "Librerie di soli audiolibri", "slotsHint": "Un libro che contiene sia un ebook che un audiolibro mostra la copertina che si adatta a questa forma." + }, + "gridShape": { + "title": "Forma griglia", + "tallTitle": "Celle alte", + "tallHint": "Ideale per ebooks o librerie miste", + "squareTitle": "Celle quadrate", + "squareHint": "Migliore per le librerie audiolibro", + "hint": "Ogni libro mostra la copertina del suo formato primario, quadrato per un audiolibri. Una copertina che non corrisponde alla tessera segue l'impostazione del display della copertina." } }, "folders": { @@ -8986,6 +10535,68 @@ "opfHint": "Salvato accanto al libro da Calibre", "swap": "Scambia l'ordine", "hint": "BookOrbit utilizza il primo di un libro e ignora l'altro. Le biblioteche Calibre di solito vogliono prima metadata.opf." + }, + "regex": { + "title": "Configura metadati regex", + "sourceTitle": "Regex", + "description": "Estrae i metadati dal percorso del file primario rispetto alla cartella della libreria. L'estensione del file viene rimossa prima di corrispondere. Vince la prima regola con i campi utilizzabili.", + "enable": "Abilita metadati regex", + "primaryFileHint": "Per un libro fatto di diversi file, come tracce audiolibri, le regole leggono il percorso del file primario.", + "groups": "Gruppi con nome:", + "valuesHint": "Usa l'autore per un autore o un autore separati da punti e virgola. Le date usano AAAA-MM-GD. Flags: ignora maiuscolo, u abilita Unicode.", + "rules": "Regole di estrazione ordinate", + "rule": "Regola {number}", + "moveUp": "Sposta in alto la regola", + "moveDown": "Sposta regola in basso", + "remove": "Rimuovi regola", + "basePath": "Cartella libreria", + "extensionHint": "L'estensione del file viene ignorata automaticamente. L'ancora finale corrisponde al nome del file senza la sua estensione.", + "flags": "Bandiere", + "add": "Aggiungi regola", + "examplePath": "Esempio relativo percorso del file, inclusa l'estensione", + "examplePlaceholder": "Autore/Series/08 - My.Book.epub", + "exampleTitle": "Esempio con un backreference dell'autore", + "exampleTestPath": "Percorso di prova (compresa l’estensione)", + "validating": "Controllo regole…", + "validationSuccess": "La sintassi delle regole e i gruppi sono validi. Usare l'anteprima per controllare le corrispondenze per un percorso di file.", + "validationError": "Impossibile convalidare le regole. Riprova prima di applicarle.", + "validationRetry": "Controlla di nuovo", + "validationRuleCount": "Aggiungi tra le regole {min} e {max}.", + "preview": "Anteprima", + "previewing": "Regole di prova…", + "previewError": "Impossibile visualizzare in anteprima le regole. Controllare il percorso e la configurazione relativi, quindi riprovare.", + "actualInput": "Percorso testato:", + "matched": "Corrispondenza con la regola {number}", + "noMatch": "Nessuna corrispondenza utilizzabile. Verranno utilizzati i metadati del file.", + "scanHint": "Le modifiche si applicano all'estrazione di metadati futuri per i file nuovi o cambiati. Il salvataggio non avvia una scansione o aggiorna libri invariati.", + "apply": "Applica al modulo libreria", + "configure": "Configura", + "enabledHint": "Estrae i campi da percorsi relativi senza estensioni di file.", + "disabledHint": "Disabilitato. Configura le regole da abilitare.", + "moveSourceUp": "Sposta {source} in alto", + "moveSourceDown": "Sposta {source} in basso", + "diagnostics": { + "pattern_required": "Inserisci un'espressione regolare.", + "pattern_too_long": "L'espressione non deve superare i caratteri {count}.", + "invalid_flags": "Solo io e u sono permessi, ognuno al massimo una volta.", + "invalid_pattern": "Espressione regolare non valida.", + "missing_group": "Includi almeno un gruppo con nome supportato.", + "conflicting_authors": "Usa sia l'autore che gli autori, non entrambi.", + "invalid_value": "Un valore di campo non valido è stato saltato.", + "timeout": "L'espressione ha richiesto troppo tempo. Semplificare il modello.", + "busy": "Tutti i lavoratori di anteprima sono occupati. Riprova a breve.", + "worker_failed": "L'espressione non può essere valutata. Riprova." + }, + "precedenceHint": "Il primo file di origine disponibile fornisce metadati. I campi Regex seguono questo ordine e i valori mancanti sono riempiti dall'altra sorgente.", + "summary": "{format} primo, metadati regex preferito", + "fields": { + "title": "Titolo", + "authors": "Autori", + "series": "Serie", + "seriesIndex": "Numero della serie", + "publishedYear": "Anno pubblicato", + "publishedDate": "Data pubblicazione" + } } }, "fileWrite": { @@ -9001,13 +10612,23 @@ }, "cover": { "title": "Includi l'immagine di copertina", - "hint": "Riscrive la copertina memorizzata nei formati di file supportati." + "hint": "Riscrive la copertina memorizzata nei formati di file supportati.", + "mediumHint": "Scrive la copertina memorizzata nel file troppo. I file Ebook ottengono la copertina Book e i file audio ottengono la copertina Audiobook, un file la cui copertina manca mantiene la propria." + }, + "allFiles": { + "title": "Scrivi in ogni file di un libro", + "hint": "Scrive anche in altri file di libro del libro, come un audiolibro tenuto accanto al suo ebook o un PDF nella stessa cartella. Ogni formato del libro è scritto, in modo da dare un file compagno come una cartella di lavoro propria per tenerlo fuori. Formatta commuta e limiti di dimensione sotto ancora applicabili. Disattivando questa opzione si interrompe le scritture future; non annulla i file già scritti." }, "epub": { "title": "EPUB", "hint": "Scrive i metadati nel file OPF all'interno dell'archivio EPUB.", "toggleAria": "Scrivi i metadati EPUB" }, + "readAlong": { + "title": "Lettura EPUB", + "hint": "EPUB con narrazione sincronizzata, come Storyteller read-alongs. Portano il loro audio, quindi sono grandi e hanno bisogno di più memoria per riscrivere.", + "toggleAria": "Scrivi i metadati EPUB in lettura" + }, "fb2": { "title": "FictionBook (FB2)", "hint": "Riscrive il blocco della descrizione nei file FB2 senza modificare il testo del libro.", @@ -9031,7 +10652,9 @@ "audio": { "title": "Audio", "hint": "Incorpora la copertina memorizzata nei file M4B, M4A, MP3 e FLAC.", - "toggleAria": "Scrivi copertine audio" + "toggleAria": "Scrivi copertine audio", + "tagsHint": "Scrive tag come titolo, autori, narratori e serie in file M4B, M4A, MP3 e FLAC.", + "tagsToggleAria": "Scrivi metadati audio" }, "coverAudioHint": "Scrive nel file anche la copertina memorizzata. I file audio possono solo avere una copertina.", "audioNeedsCover": "È necessario che l'opzione \"Includi immagine di copertina\" sia attivata.", @@ -9125,6 +10748,7 @@ "add": "Aggiungi", "emptyCreate": "Nessun altro ancora. Le persone che aggiungi qui ottengono l'accesso non appena la libreria esiste.", "superusers": "I superutenti hanno sempre accesso completo.", + "levelsHint": "Gli utenti possono sfogliare e leggere. Gli editor e i proprietari possono anche modificare i metadati quando il loro account ha il permesso Modifica i metadati.", "levelFor": "Livello di accesso per {name}", "revokeFor": "Rimuovi l'accesso per {name}", "revokeQuestion": "Rimuovere l'accesso?", @@ -9244,6 +10868,13 @@ "createFolder": "Impossibile creare la cartella" } }, + "destination": { + "loadFailed": "Impossibile caricare le librerie di destinazione. Chiudere e riaprire per riprovare.", + "noLibraries": "Non sono disponibili librerie di libreria. Crea una libreria o chiedi a un amministratore di accedere.", + "noFolders": "Questa libreria non ha cartelle di destinazione. Aggiungi una cartella nelle impostazioni della libreria.", + "unavailable": "La libreria selezionata non è più disponibile.", + "selectFolder": "Seleziona una cartella..." + }, "upload": { "library": "Biblioteca", "selectLibrary": "Seleziona una libreria...", @@ -9271,6 +10902,85 @@ } } }, + "metadataReminders": { + "title": "Promemoria mancanti", + "navDescription": "Scegli quali campi di metadati mancanti vuoi vedere", + "personal": "Le tue preferenze", + "description": "Scegli quali campi mancanti appaiono nei promemoria dei libri. Queste preferenze si applicano nella tua libreria e non cambiano i punteggi dei metadati.", + "sheetDescription": "Scegli i campi che ti interessano senza lasciare questo libro.", + "fieldsHeading": "Campi da controllare", + "autoSave": "Modifiche salvate automaticamente sul tuo account.", + "saving": "Salvataggio preferenze...", + "saved": "Preferenze salvate.", + "reset": "Ripristina impostazioni predefinite", + "disabled": "Nessun campo selezionato. Promemoria mancanti sono nascosti.", + "saveFailed": "Impossibile salvare le preferenze. Le preferenze precedenti sono state ripristinate.", + "customize": "Personalizza promemoria...", + "missingHeading": "Metadati mancanti", + "missingDescription": "Campi mancanti che hai scelto di tracciare.", + "missingCount": "{count, plural, one {# campo mancante} other {# campi mancanti}}", + "missingFields": "{count, plural, one {campo mancante} other {campi mancanti}}", + "fields": { + "publisher": { + "label": "Editore", + "hint": "L'editore è compilato." + }, + "language": { + "label": "Lingua", + "hint": "La lingua è riempita." + }, + "publication": { + "label": "Anno di pubblicazione", + "hint": "È sufficiente un anno di pubblicazione o una data completa." + }, + "pageCount": { + "label": "Conteggio pagina", + "hint": "Il conteggio delle pagine è compilato. I libri sono saltati." + }, + "isbn": { + "label": "ISBN", + "hint": "Sia ISBN-10 che ISBN-13 sono sufficienti." + }, + "genres": { + "label": "Genres", + "hint": "Almeno un genere è riempito." + }, + "tags": { + "label": "Etichette", + "hint": "Almeno un tag è riempito." + }, + "description": { + "label": "Descrizione", + "hint": "La descrizione è compilata." + } + } + }, + "metadataCache": { + "badge": { + "cached": "Cache", + "stale": "Stale", + "cachedHint": "Risultato salvato da {when}", + "cachedHintUndated": "Risultato salvato", + "staleHint": "Il provider non era disponibile, quindi è stato utilizzato un risultato salvato da {when}", + "staleHintUndated": "Il provider non era disponibile, quindi è stato utilizzato un risultato salvato" + }, + "notice": { + "someCached": "Alcuni risultati provengono da ricerche salvate (antichi: {when}).", + "someCachedUndated": "Alcuni risultati provengono da ricerche salvate.", + "someStale": "Alcuni provider non erano disponibili, quindi i risultati salvati sono stati mostrati (più vecchi: {when}).", + "someStaleUndated": "Alcuni provider non erano disponibili, quindi sono stati mostrati i risultati salvati.", + "searchFresh": "Cerca fresco", + "searchFreshHint": "Chiedi di nuovo ad ogni provider invece di usare le risposte salvate" + }, + "fallback": { + "usedSaved": "{count, plural, one {{providers} non era disponibile, quindi i risultati salvati sono stati usati.} other {{providers} non erano disponibili, quindi i risultati salvati sono stati usati.}}" + }, + "ignoreCache": { + "label": "Ignora i risultati nella cache", + "hint": "Chiedi di nuovo ad ogni provider invece di riutilizzare le risposte salvate. Più lento, e utilizza più quote di richiesta di ogni provider.", + "runHint": "Si applica all'esecuzione che si avvia qui. Ogni provider viene chiesto di nuovo invece di riutilizzare le risposte salvate, il che è più lento." + } + }, "metadataScore": { "missingFields": "{count, plural, =0 {nessun campo mancante: modifica i metadati} one {# campo mancante: modifica metadati} other {# campi mancanti: modifica metadati} many {# campi mancanti: modifica metadati}}" }, @@ -9711,6 +11421,22 @@ } }, "reader": { + "pageImages": { + "loadFailed": "Impossibile aprire questo documento. Controlla il tuo accesso o riprova.", + "pageFailed": "Questa pagina non può essere caricata. Riprova quando il server è disponibile.", + "pageAlt": "Pagina {page}", + "previousPage": "Pagina precedente", + "nextPage": "Pagina successiva", + "goToPage": "Va alla pagina", + "pin": "Menu del lettore pin", + "unpin": "Sblocca menu lettore" + }, + "djvu": { + "pageText": "Testo pagina incorporata", + "textDescription": "Testo memorizzato nel documento DjVu. OCR può contenere errori.", + "noText": "Questa pagina non ha testo incorporato.", + "textFailed": "Impossibile caricare il testo incorporato di questa pagina." + }, "retry": "Riprova", "pdf": { "openError": "Impossibile aprire questo PDF", @@ -9781,6 +11507,7 @@ }, "loadingBook": "Caricamento libro...", "failedToLoadBook": "Impossibile caricare il libro", + "bookLoadTimeout": "Il libro ha impiegato troppo tempo per aprire. Prova ad aggiornare la pagina.", "chapterNumber": "Capitolo {number}", "peek": { "badge": "Sbirciare", @@ -12112,6 +13839,7 @@ }, "email": { "providers": "Fornitori", + "servers": "Server di posta", "recipients": "Destinatari", "groups": "Gruppi", "templates": "Modelli", @@ -12125,7 +13853,8 @@ "genre-blocklist": "Blocklist di genere", "score": "Punteggio di fiducia", "auto-fetch": "Auto-Recupero Libro", - "authors": "Recupero automatico dell'autore" + "authors": "Recupero automatico dell'autore", + "search-cache": "Cerca Cache" }, "admin": { "users": "Utenti", @@ -12236,5 +13965,92 @@ "errors": { "generic": "TTS errore" } + }, + "delivery": { + "readAloud": { + "label": "Consegna EPUB read-aloud", + "automatic": "Automatico: preferire solo il testo, consentire rientro originale.", + "textOnly": "EPUB Solo Testi", + "original": "EPUB originale con narrazione", + "hint": "Si applica alle consegne future. Gli originali conservano la narrazione esistente e possono essere molto più grandi. La preparazione solo testo-fallisce se una copia sicura non può essere fatta.", + "koboHint": "Originale EPUBs bypass KEPUB conversione. Il firmware nativo Kobo potrebbe non riprodurre la narrazione e la posizione precisa e evidenziare la sincronizzazione non sono disponibili per quella copia.", + "profileHint": "Utilizzare profili OPDS separati per lettori che necessitano di diverse varianti EPUB.", + "replacementTitle": "Sostituisci una copia di Kobo", + "bookId": "Id Del Libro", + "device": "Dispositivo", + "prepare": "Prepara la sostituzione", + "offer": "Ho rimosso solo la copia del dispositivo; offrire la sostituzione", + "confirm": "Ho installato la sostituzione", + "cancel": "Annulla sostituzione", + "replacementHint": "Preparare e rivedere prima. Rimuovere una copia di un dispositivo non elimina il libro della libreria. Esegui il backup delle note locali del dispositivo da solo. BookOrbit preserva i progressi canonici e le annotazioni del server. Gli eventi ritardati possono limitare la sincronizzazione precisa.", + "prepared": "Sostituzione preparata: {format}, {size}. Rimuovere questo libro solo dal dispositivo selezionato, quindi offrire la sostituzione preparata e sincronizzare.", + "offered": "Sostituzione offerta. Sincronizza e scarica sul dispositivo, quindi conferma l'installazione. Un trasferimento HTTP completato non dimostra l'installazione.", + "cancelled": "Sostituzione annullata. La cancellazione non ripristina una copia del dispositivo rimossa o parzialmente sostituita. Selezionare lo stesso libro per preparare un download di recupero.", + "alreadyOnDevice": "Il dispositivo ha già questa copia esatta, quindi non c'è nulla da sostituire.", + "failed": "Impossibile preparare o aggiornare questa sostituzione.", + "searchBook": "Cerca un libro", + "chooseBook": "Seleziona un libro", + "moreResults": "Mostra altri libri", + "noResults": "Nessun libro corrispondente trovato.", + "refresh": "Aggiorna lo stato di consegna", + "confirmed": "Hai confermato l'installazione. Questo registra la conferma, non la verifica del dispositivo.", + "transferred": "Il trasferimento è stato completato. Aprire la sostituzione sul dispositivo prima di confermare l'installazione.", + "koreaderDefaultTitle": "Consegna EPUB di KOReader", + "koreaderDefaultHint": "Il valore predefinito si applica ai download futuri su dispositivi che utilizzano queste credenziali. Le impostazioni del dispositivo possono sovrascriverlo. Le copie esistenti e i download interrotti rimangono invariati.", + "koreaderUseDefault": "Usa credenziali predefinite", + "koreaderSaveFailed": "Impossibile salvare l'impostazione di consegna EPUB di KOReader. Riprova.", + "koreaderSaved": "Impostazioni di consegna EPUB di KOReader salvate." + } + }, + "commandPalette": { + "title": "Cerca", + "description": "Cerca libri, autori, serie e impostazioni, fai un salto in un luogo o esegui un'azione.", + "placeholder": "Cerca libri, autori, serie, o vai su…", + "close": "Chiudi ricerca", + "clear": "Cancella ricerca", + "tabs": { + "all": "Tutti", + "books": "Libri", + "authors": "Autori", + "series": "Serie", + "settings": "Impostazioni" + }, + "sections": { + "continueReading": "Continua A Leggere", + "goTo": "Vai a", + "actions": "Azioni", + "books": "Libri", + "authors": "Autori", + "series": "Serie", + "settings": "Impostazioni" + }, + "kinds": { + "author": "Autore", + "series": "Serie", + "library": "Libreria", + "smartScope": "Ambito intelligente", + "collection": "Collezione", + "page": "Pagina", + "setting": "Impostazione" + }, + "showAllBooks": "{count, plural, one {Mostra # libro} other {Mostra tutti i # libri}}", + "showAllAuthors": "{count, plural, one {Mostra # autore} other {Mostra tutti # autori}}", + "showAllSeries": "{count, plural, one {Mostra # serie} other {Mostra tutte le # serie}}", + "showAllSettings": "{count, plural, one {Mostra # impostazione} other {Mostra tutte le impostazioni #}}", + "actions": { + "lightTheme": "Passa al tema chiaro", + "darkTheme": "Passa al tema scuro" + }, + "hints": { + "navigate": "Navigate", + "open": "Apri", + "filter": "Filtro", + "close": "Chiudi" + }, + "keys": { + "escape": "esc", + "tab": "tab" + }, + "resultCount": "{count, plural, =0 {Nessun risultato} one {# risultato} other {# risultati}}" } } diff --git a/client/src/locales/ja.json b/client/src/locales/ja.json index 7bab5eccb..8ec8fc676 100644 --- a/client/src/locales/ja.json +++ b/client/src/locales/ja.json @@ -7,13 +7,24 @@ "edit": "編集", "close": "閉じる", "confirm": "確認する", + "loading": "読み込み中...", "search": "検索", "back": "戻る", "next": "次へ", "previous": "前", "retry": "再試行する", "yes": "はい", - "no": "いいえ" + "no": "いいえ", + "show": "表示", + "hide": "非表示", + "undo": "元に戻す", + "pagination": { + "label": "改ページ", + "pageOf": "ページ {page} / {totalPages}", + "previousPage": "前のページ", + "nextPage": "次のページ", + "goToPage": "{page} ページに移動" + } }, "settings": { "privacySharing": { @@ -96,10 +107,52 @@ }, "theme": { "title": "テーマ", + "style": { + "label": "スタイル", + "hint": "アプリの全体的な外観。モード、アクセント、コーナー、背景は設定を保持します。", + "bookorbit": { + "label": "BookOrbit", + "description": "表面の色合い、ガラスパネル、セリフの見出し。" + }, + "nostalgia": { + "label": "Nostalgia", + "description": "中性グランド, システムタイプ, フラットパネルとトップグロー。" + } + }, "colorScheme": { "label": "配色設定", "hint": "ライトまたはダークインターフェイス" }, + "surfacePalette": { + "label": "Surface", + "hint": "パネルとカードの背後にあるニュートラルな地面。", + "palettes": { + "onyx": "Onyx", + "carbon": "Carbon", + "neutral": "ニュートラル", + "zinc": "Zinc", + "iron": "合金", + "steel": "木材", + "ash": "アッシュ", + "smoke": "Smoke", + "charcoal": "Charcoal", + "slate": "スレート", + "midnight-blue": "ミッドナイト・ブルー", + "ocean": "海", + "pine": "パイン", + "olive": "オリーブ", + "stone": "石", + "sepia": "Sepia", + "crimson": "深紅色", + "plum": "プラム" + } + }, + "topGlow": { + "label": "上部の光彩", + "hint": "アクセントの輝きがページの下まで届くまでになります。左をずらしてオフにします。", + "value": "{value}%", + "off": "オフ" + }, "accents": { "grey": "グレー", "scarlet": "Scarlet", @@ -135,8 +188,11 @@ "pink": "ピンク", "white": "白", "rosewater": "Rosewater", + "salmon": "サーモン(サーモン)", + "coral": "珊瑚(サンゴ)", "sand": "砂地", "peach": "ピーチ", + "pear": "梨(ていね)", "flax": "Flax", "sprout": "Sprout", "butter": "バター", @@ -164,11 +220,18 @@ "blush": "赤面" }, "accentColor": { - "label": "アクセントカラー" + "label": "アクセントカラー", + "hint": "ハイライトとインタラクティブな要素" }, "cornerRadius": { "label": "Corner radius", - "hint": "カードとUI要素の丸さ" + "hint": "カードとUI要素の丸さ", + "options": { + "sharp": "シャープ。", + "default": "デフォルト", + "rounded": "四捨五入済み", + "pill": "Pill" + } }, "surfaceBrightness": { "label": "表面の明るさ", @@ -187,7 +250,8 @@ "structural": "Structural", "ambient": "アンビート", "refractive": "Refractive" - } + }, + "syncSaveFailed": "テーマ設定の保存に失敗しました" }, "storage": { "title": "外観設定を保存する場所", @@ -219,6 +283,21 @@ "loadError": "デフォルトのカバー検索プロバイダの読み込みに失敗しました", "saveError": "デフォルトのカバー検索プロバイダの保存に失敗しました" }, + "placeholderStyle": { + "title": "プレースホルダーのスタイル", + "hint": "カバーアートのない本が描かれている。", + "options": { + "bauhaus": "Bauhaus", + "constructivist": "Constructivist", + "memphis": "Memphis", + "clothbound": "服", + "poster": "ポスター", + "aurora": "Aurora", + "vista": "Vista", + "marbled": "マーブル済み", + "paperback": "ペーパーバック" + } + }, "displayMode": { "title": "カバー表示モード", "hint": "アスペクト比が異なる場合、本のスロット内に実際のカバーがどのように収まるかを制御します", @@ -385,7 +464,8 @@ "label": "カバーの形", "hint": "グリッド内の著者カバーの形状" }, - "circle": "円" + "circle": "円", + "square": "正方形(正方形)" }, "listTableViews": { "title": "リストとテーブルビュー" @@ -412,6 +492,11 @@ "collapseSeries": { "label": "デフォルトで系列を折りたたむ", "hint": "ライブラリとコレクションビューで同じシリーズのブックを単一のカードにまとめます" + }, + "bookRequests": { + "label": "ブックリクエストの表示", + "hint": "このアカウントにリクエストページ、プロンプト、設定を表示します。非表示の場合は既存のリクエストが実行され続けます。", + "saveFailed": "ブックリクエストの表示を更新できませんでした" } }, "icons": { @@ -426,9 +511,11 @@ "selectedCount": "{count, plural, one {# selected} other {# selected}}", "clear": "クリア", "deleteSelected": "選択したものを削除", + "loading": "アイコンを読み込んでいます...", "emptySearch": "検索条件に一致するアイコンはありません。", "emptyNoIcons": "カスタムアイコンはまだアップロードされていません。", "namePlaceholder": "名前", + "checkingUsage": "使用状況を確認しています...", "usedBy": "{count} が使用しています", "notUsedYet": "未使用", "rename": "名前の変更", @@ -439,7 +526,8 @@ "smartScopes": "{count, plural, =0 {スマートスコープなし} one {# スマートスコープ} other {# スマートスコープ}}" }, "confirm": { - "deleteOne": "「{name}」を削除しますか?既存の使用は既定のアイコンに戻ります。" + "deleteOne": "「{name}」を削除しますか?既存の使用は既定のアイコンに戻ります。", + "deleteMany": "{count,plural,one{削除 # アイコンをクリックしますか?既存の使用は既定のアイコンに戻ります。} other{削除 # アイコンですか?既存の使用は既定のアイコンに戻ります。} =0{アイコンを削除しますか?}}" }, "toasts": { "saved": "アイコンを保存しました", @@ -490,7 +578,9 @@ "email": "Eメールアドレス", "emailHint": "メールアドレスを変更するには管理者に連絡してください。", "save": "プロファイルを保存", + "saving": "保存中...", "changePassword": "パスワードの変更", + "accountType": "アカウントの種類:", "accountTypeOidc": "OIDC / SSO", "accountTypeShared": "共有", "accountTypeLocal": "ローカル", @@ -523,7 +613,9 @@ "formatHint": "PNG/JPEG/WEBPから {size} MBまで", "upload": "写真をアップロード", "replace": "画像を置き換え", + "uploading": "アップロード中...", "remove": "画像を削除", + "removing": "削除中...", "updated": "プロフィール画像が更新されました", "uploadFailed": "プロフィール画像のアップロードに失敗しました", "removed": "プロフィール画像を削除しました", @@ -537,8 +629,10 @@ "connectedAccounts": { "title": "接続済みアカウント", "unlink": "リンクを解除", + "unlinking": "リンクを解除中...", "linkAdditional": "追加プロバイダをリンク:", "linkProvider": "リンク {provider}", + "redirecting": "リダイレクト中...", "noneConfigured": "OIDCプロバイダーが設定されていません。管理者にSSOの設定を依頼してください。", "linkStateFailed": "リンク状態の生成に失敗しました", "startLinkFailed": "OIDCリンクの開始に失敗しました", @@ -610,10 +704,12 @@ "pause": "一時停止", "resume": "再開", "revoke": "Revoke", + "revoking": "取り消し中...", "emptyState": "マジックリンクはまだ作成されていません。共有可能なログインURLを生成するには、「{action}」をクリックしてください。", "columns": { "label": "ラベル", "account": "アカウント", + "createdBy": "作成者:", "expires": "期限切れ", "uses": "使用", "created": "作成済み", @@ -630,7 +726,8 @@ "labelPlaceholder": "例: カンファレンスのデモリンク", "expiresAt": "有効期限", "optional": "(オプション)", - "create": "作成" + "create": "作成", + "creating": "作成中..." }, "revokeDialog": { "title": "魔法のリンクを取り消しますか?", @@ -683,12 +780,14 @@ "issuerUri": "Issuer URI", "issuerUriHint": "プロバイダのベースURL。", "test": "テスト", + "testing": "テスト中...", "clientId": "クライアント ID", "clientSecret": "クライアントシークレット", "clientSecretPlaceholder": "既存を維持するには空白のままにしてください", "scopes": "スコープ", "claimMapping": "要求マッピング", "previewClaims": "請求書のプレビュー", + "redirecting": "リダイレクト中...", "mappedClaims": "マップされた請求", "rawClaims": "未加工の請求", "usernameClaim": "ユーザー名の請求", @@ -701,13 +800,18 @@ "allowLocalLinking": "ローカルアカウントへのリンクを許可する", "allowLocalLinkingHint": "ユーザー名が一致して既存のローカルアカウントにOIDをリンクします。", "defaultPermissions": "デフォルトの権限", + "defaultPermissionsHint": "最初のOIDCログイン時に新しいユーザーに許可された権限", "createProvider": "プロバイダーを作成", "saveChanges": "変更を保存", - "deleteProvider": "プロバイダーを削除" + "saving": "保存中...", + "deleteProvider": "プロバイダーを削除", + "deleting": "削除中..." }, "test": { "connected": "接続 - {issuer}", "connectionFailed": "接続に失敗しました", + "privateIssuerAddress": "発行者の URL はプライベートまたはローカルのネットワークアドレスに解決されるため、サーバーは接続を拒否しました。 BookOrbit サーバーで OIDC_ALLOW_LOCAL_ISSUERS=true を設定して許可します。", + "tlsCertificateUntrusted": "BookOrbitはOIDCプロバイダーのTLS証明書を検証できませんでした。 プロバイダがプライベート認証局を使用している場合は、PEM CA バンドルをマウントし、NODE_EXTRA_CA_CERTS をバンドルのコンテナパスに設定し、BookOrbit を再起動します。", "hide": "非表示", "details": "詳細", "supported": "supported", @@ -715,11 +819,13 @@ }, "groupMappings": { "title": "グループマッピング", + "description": "OIDCグループはBookOrbitの権限を要求します。すべてのログインで同期されます。", "noPermission": "権限がありません", "empty": "グループマッピングが設定されていません。", "addMapping": "マッピングを追加", "claimPlaceholder": "OIDCグループの主張(例:管理者)", - "add": "追加" + "add": "追加", + "adding": "追加中..." }, "toasts": { "providerCreated": "プロバイダーが作成されました", @@ -755,6 +861,7 @@ "recommendationsGroup": "Recommendations", "achievementsGroup": "実績", "updatesGroup": "更新", + "importFromBooklore": "Bookloreからインポート", "bookloreImportConfigured": "Bookloreのインポートが設定されました", "importLibraryData": "ライブラリデータのインポート", "migrationConfigured": "移行ソースが構成されました", @@ -774,7 +881,9 @@ "viewDetails": "詳細を表示", "refreshRecommendationIndex": "レコメンデーションインデックスを更新", "refreshRecommendationHint": "最新のライブラリの変更でおすすめエンジンを更新します。このプロセスはバックグラウンドで実行されます。", + "booksQueuedForProcessing": "{count,plural,one{# 本は処理のためにキューに入れられました} other{# 本はキューに入れられて処理されています} =0{キューに入れられた本はありません}}", "run": "実行", + "running": "実行中...", "backfillAchievements": "実績をバックフィルする", "backfillAchievementsHint": "すべてのユーザーの実績を再評価します。", "backfillResult": "処理された {users} ユーザー; {awards} 賞を付与されました。", @@ -784,6 +893,7 @@ "updateChecksEnabled": "更新チェックは有効です", "updateChecksDisabled": "更新チェックは無効です", "updateSettingFailed": "設定の更新に失敗しました", + "booksQueuedForEmbedding": "{count,plural,one{# 本は埋め込みキューに入れられています} other{# 本は埋め込みキューに入れられています} =0{埋め込むためにキューに入れられた本はありません}}", "failed": "失敗しました", "unknownError": "不明なエラー", "rebuildEmbeddingsFailed": "埋め込みの再構築に失敗しました: {error}", @@ -832,6 +942,7 @@ "issueSaveSource": "ソース接続設定を保存", "issueValidateSource": "ソース接続を検証する", "issueSaveMappings": "ユーザーとパスのマッピングを保存", + "issueSavePathMappings": "パスマッピングを保存して検証します。", "issueFreshDryRun": "新鮮なドライランを実行する", "issueResolveDuplicates": "重複したターゲットブックの一致をドライランで解決する", "issueWaitActiveRun": "アクティブな実行が終了するまで待つ", @@ -849,7 +960,9 @@ "errorLoadSuggestions": "ユーザーのマッピング候補の読み込みに失敗しました", "requiredFields": "ホスト、ユーザー、データベース、およびソース名が必要です", "connectionTestPassedWithWarnings": "接続テストは警告付きで合格しました", + "connectionTestPassedWithCount": "接続テストに合格しました {count} 警告(s). まず: {first}", "connectionTestPassed": "接続テストが完了しました", + "connectionOkMissingTables": "接続は大丈夫ですが、 {count} 必須テーブルがありません", "cannotTestMediaPathActiveRun": "実行中はメディアパスをテストできません", "mediaRootPathRequiredCover": "カバーインポートにはメディアのルートパスが必要です。", "useAbsolutePath": "絶対パスを使用します (例: /books)。", @@ -858,6 +971,7 @@ "mediaPathValidationFailed": "メディアパスの検証に失敗しました。", "connectionFailedBeforeMediaPath": "メディアパスの検証が完了する前に接続テストに失敗しました。", "cannotModifySourceActiveRun": "実行中はソースを変更できません", + "sourceSavedValidatedWarnings": "保存され検証されたソース {count} 警告", "sourceSavedValidated": "ソースを保存して検証しました", "errorSaveValidateSource": "ソースの保存または検証に失敗しました", "cannotSaveMappingsActiveRun": "実行中はマッピングを保存できません", @@ -946,6 +1060,8 @@ "pathMappingsHelp2": "同じファイルは下記の通りです", "pathMappingsHelp3": "にマッピングを追加します。 本はISBNのファイルハッシュと一致します そして、パスマッピングに関係なく、title/author - パスマッピングは4つの戦略のうちの1つであり、移行に含まれるソースブックを制限しません。", "noPrefixesFound": "プレフィックスが見つかりません - ソースを最初に検証してください", + "selectSourcePrefix": "ソースプレフィックスを選択...", + "selectTargetFolder": "Select target folder...", "remove": "削除", "pathValidation": "パスの検証", "pathValidationMapped": "{mapped} の {total} ソースブックのパスがマップされています", @@ -953,9 +1069,13 @@ "pathValidationAllMatched": "ディスクにマップされたすべての {count} パスが見つかりました", "saveMappings": "マッピングを保存", "runDryRun": "ドライランの実行", + "matched": "一致:", + "unresolved": "未解決:", + "duplicateMatches": "重複した一致:", "unresolvedSummary": "未解決の概要", "resolveDuplicateMatches": "重複したターゲットの一致を解決", "resolveDuplicateHint": "ターゲットブックごとに、保存するソースブックを1つ選択します。最強マッチがある場合は、推奨される選択肢が事前に選択されます。", + "remainingGroups": "残りのグループ:", "ofCount": "/ {count}", "targetBookNum": "ターゲットブック #{id}", "recommended": "Recommended", @@ -968,6 +1088,7 @@ "checkMappingsSaved": "マッピングを保存しました", "checkSaveMappings": "ユーザーとパスのマッピングを保存", "checkPathMappingsValidated": "パスマッピングが検証されました", + "checkSavePathMappings": "パスマッピングを保存して検証します。", "checkDryRunUpToDate": "ドライランは最新です", "checkFreshDryRun": "新鮮なドライランを実行する", "startConfirmPrompt": "移行が開始されます。よろしいですか?", @@ -975,6 +1096,7 @@ "startMigration": "移行を開始", "cancelRun": "実行をキャンセル", "refreshStatus": "状態を更新", + "statusPollingStopped": "エラーのためステータスのポーリングが停止しました", "retry": "再試行する", "stageLabel": "ステージ: {stage}", "stageInitializing": "初期化中", @@ -1019,12 +1141,14 @@ "unresolvedBooksHint": "これらの本はソースに存在しますが、ライブラリ内のどの本とも一致することができませんでした。", "mappedUsersHeading": "マップされたユーザー ({count})", "mappedUsersHint": "ユーザー毎の合計は、マイグレーションプランでキャッシュされたドライランプレビューから生成されます。", + "coverImportsFailed": "{count} カバーインポートに失敗しました。詳細な失敗行は保存されません。", "backToSetup": "セットアップに戻る" }, "libraries": { "title": "ライブラリ", "subtitle": "メディアライブラリを管理し、コンテンツのスキャンをトリガーします。", "scanAll": "すべてスキャン", + "scanning": "スキャン中...", "addLibrary": "ライブラリを追加", "scan": "スキャン", "editLibrary": "ライブラリを編集", @@ -1032,6 +1156,7 @@ "syncMetadataToFiles": "メタデータをファイルに同期", "deleteLibrary": "ライブラリを削除", "bookCount": "{count, plural, =0 {本はありません} one {# 本} other {# 本}}", + "booksUnit": "{count, plural, one {book} other {book}}", "folderCount": "{count, plural, =0 {フォルダなし} one {# フォルダ} other {# フォルダ}}", "fileMode": "ファイルモード", "folderMode": "フォルダモード", @@ -1040,6 +1165,8 @@ "addFirstLibrary": "最初のライブラリを追加", "deleteConfirmTitle": "「{name}」を削除しますか?", "deleteConfirmBody": "このライブラリ内のすべての本、メタデータ、読み取り中、ブックマーク、注釈を削除します。元に戻すことはできません。", + "deleteConfirmTypeName": "確認するライブラリ名を入力してください:", + "deleting": "削除中...", "deleteLibraryButton": "ライブラリを削除", "syncConfirmTitle": "メタデータをファイルに同期しますか?", "syncFiles": "ファイルを同期", @@ -1057,10 +1184,168 @@ "libraryDeleted": "\"{name}\" が削除されました", "deleteFailed": "ライブラリの削除に失敗しました", "refreshingCovers": "{pct}%({processed}/{total})", - "coversRefreshed": "カバーを更新しました ({count} 処理済み)" + "coversRefreshed": "カバーを更新しました ({count} 処理済み)", + "onDiskUnit": "ディスク上の{size}", + "noFilesIndexed": "インデックスされたファイルはありません", + "formatEntry": "{format} {count}", + "formatOverflow": "{count, plural, one {+# より多くのフォーマット} other {+# より多くのフォーマット}}", + "extraFolders": "{count, plural, one {+# フォルダ} other {+# フォルダ}}", + "openLibrary": "{name} を開く", + "moreActions": "{name} の他のアクション", + "statsFailed": "ライブラリカウントをロードできませんでした。このページの他のすべてがまだ動作します。", + "filterLabel": "ライブラリをフィルター", + "filterPlaceholder": "名前またはパスでフィルター", + "filterClear": "フィルターをクリア", + "sortLabel": "並べ替え", + "noMatchesTitle": "フィルタに一致するライブラリがありません", + "noMatchesHint": "名前またはフォルダパスで「{query}」に一致するものはありません。", + "totalLibraries": "{count, plural, one {# ライブラリ} other {# ライブラリ}}", + "neverScanned": "スキャンしない", + "neverScannedHint": "フォルダのインデックスを作成するためにスキャンを実行します", + "scanFailedAt": "{time} に失敗しました", + "scanningPercent": "{pct} %をスキャン中", + "scanCounting": "ファイルのカウント中", + "scanCounts": "{processed} / {total}", + "scanAdded": "{count,plural,one{+# 追加} other{+# 追加}}", + "scanUpdated": "{count, plural, one {# updated} other {# updated}}", + "scanMissing": "{count, plural, one {#} other {# missing}}", + "scanNoChange": "変化なし", + "outcomeSeparator": ", ", + "scanOutcome": "{trigger} · {outcome}", + "syncConfirmBody": "サポートされているすべてのファイル内のメタデータを上書きします {name} ディスク上に直接接続します。元に戻すことはできません。", + "columns": { + "library": "ライブラリ", + "contents": "内容", + "onDisk": "ディスク上", + "automation": "自動化", + "lastScan": "最後のスキャン", + "actions": "アクション" + }, + "sort": { + "default": "デフォルトの注文", + "name": "名前", + "books": "本", + "size": "ディスク上のサイズ", + "lastScan": "最後のスキャン", + "sidebar": "Sidebar order" + }, + "trigger": { + "manual": "マニュアル", + "watcher": "ウォッチャー", + "schedule": "スケジュール" + }, + "capability": { + "watch": "監視フォルダ", + "schedule": "スケジュールされたスキャン", + "fileWrite": "ファイルに書き込み", + "fileRename": "ファイル名の変更", + "on": "{name}: オン", + "off": "{name}: オフ", + "legendHint": "破線の意味はオフ" + }, + "stateOn": "オン", + "stateOff": "オフ", + "toggleDetail": "{name} の詳細を表示", + "durationMs": "{ms} ms", + "durationSeconds": "{seconds}秒", + "durationMinutes": "{minutes}m {seconds}s", + "history": { + "when": "日時", + "trigger": "トリガー", + "duration": "期間", + "result": "結果", + "status": "ステータス", + "statusValue": { + "running": "実行中", + "completed": "完了", + "failed": "失敗しました" + } + }, + "detail": { + "foldersTitle": "フォルダとレイアウト", + "metadataTitle": "メタデータと読み取り", + "accessTitle": "アクセス", + "historyTitle": "スキャン履歴", + "path": "パス {index}", + "organization": "組織", + "excludePatterns": "パターンを除外", + "precedence": "ソースの優先度", + "allowedFormats": "許可されるフォーマット", + "countsAsStarted": "開始時のカウント", + "countsAsFinished": "完了時のカウント", + "peopleWithAccess": "アクセス権を持つ人", + "added": "追加しました", + "coverShape": "カバーの形", + "coverShapeValue": { + "portrait": "縦向き2:3", + "square": "1:1 平方メートル" + }, + "gridShape": "グリッド形状", + "gridShapeValue": { + "tall": "背の高いセル", + "square": "正方形のセル" + }, + "none": "なし", + "allSupported": "すべてサポートされている", + "patternCount": "{count, plural, one {# pattern} other {# pattern}}", + "peopleCount": "{count, plural, =0 {明示的な補助金はありません} one {# 人} other {# 人}}", + "historyEmpty": "このライブラリはスキャンされていません。", + "historyFailed": "このライブラリのスキャン履歴を読み込めませんでした。", + "manageAccess": "管理", + "peopleMore": "{count, plural, one {+# さらに} other {+# もっと}}" + }, + "scannedAt": "スキャン済み {time}", + "detailRegion": "{name} の詳細", + "scanTrigger": { + "manual": "マニュアル", + "watcher": "ウォッチャー", + "schedule": "スケジュール済み" + }, + "schedule": { + "at": "{preset} · {time}", + "weeklyAt": "{preset} · {day} {time}" + }, + "librariesUnit": "{count, plural, one {ライブラリ} other {ライブラリ}}", + "foldersUnit": "{count, plural, one {folder} other {folders}}", + "copyPath": "パスをコピー", + "pathCopied": "パスがコピーされました", + "pathCopyFailed": "パスをコピーできませんでした", + "problem": { + "neverTitle": "スキャンしたことがありません。", + "neverBody": "{count, plural, one {フォルダ内のインデックスはまだありません。} other {# フォルダ内のインデックスはまだありません。}}", + "failedTitle": "最後のスキャンは {time}に失敗しました。", + "scanNow": "今すぐスキャン", + "retry": "再スキャン" + }, + "quick": { + "watchAria": "{name}のフォルダを見る", + "scheduleAria": "スケジュールされたスキャン {name}: {value}", + "customSchedule": "カスタムスケジュール…", + "watchOn": "\"{name}\" のフォルダを確認中", + "watchOff": "「{name}」フォルダの監視を停止しました", + "scheduleSet": "スケジュールされたスキャン{name}\": {value}", + "scheduleOff": "スケジュールされたスキャンが \"{name}\" のオフになりました", + "saveFailed": "\"{name}\" を更新できませんでした", + "fileWriteAria": "{name} のファイルへの書き込み", + "renameAria": "{name} のファイル名を変更", + "fileWriteOn": "\"{name}\" は次回保存時にそのファイルに詳細を書き込みます", + "fileWriteOff": "\"{name}\" はもはやそのファイルに詳細を書き込みません", + "renameOn": "\"{name}\" 次回詳細が保存されるときに、名前のパターンにファイル名を変更します", + "renameOff": "\"{name}\" はファイルの名前を変更しません" + }, + "historyFor": "{name} のスキャン履歴", + "scanNothingNew": "まだ新しいことはありません", + "scanTimeLeftSeconds": "{count, plural, one {約#秒左} other {約#秒左}}", + "scanTimeLeftMinutes": "{count, plural, one {あと#分残ります} other {あと#分残ります}}", + "scanFinished": "スキャンが終了しました \"{name}\": {outcome}", + "scanFinishedFailed": "\"{name}\" のスキャンに失敗しました", + "viewChanges": "変更を表示", + "duplicateSettings": "設定を複製する" }, "authorEnrichment": { "configuration": "設定", + "saving": "保存中...", + "running": "実行中...", "runEligibleShort": "対象を実行する", "runAllShort": "すべて実行", "enableTitle": "自動オーサリングを有効にする", @@ -1081,6 +1366,7 @@ "saved": "著者エンリッチメント設定を保存しました", "saveFailed": "著者エンリッチメント設定の保存に失敗しました", "noEligibleAuthors": "適格な著者が見つかりませんでした", + "noAuthorsToEnrich": "豊かにする著者がいません。", "queueFailed": "作者のバックフィルをキューに入れませんでした", "fields": { "description": "来歴", @@ -1103,31 +1389,329 @@ }, "scoreWeights": { "groupLabel": "スコアウエイツ", + "assignHintPrefix": "各フィールドに重みを割り当てます。重みの合計:", "areYouSure": "よろしいですか?", "resetToDefaultsButton": "既定にリセット", "recalculateAll": "すべての再計算", "confirmReset": "リセットを確認", + "resetDialog": { + "title": "すべての重量をデフォルトにリセットしますか?", + "description": "24 のすべてのフィールドは、重みの BookOrbit に戻ります。保存と再コアを選択するまで何も保存されません。" + }, "reset": "Reset", "recalculate": "再計算", "subtotal": "小計: {count}", + "savedRecalculating": "スコア重みを保存しました。ライブラリのスコアを再計算しています...", "saveFailed": "スコアの重みを保存できませんでした", "recalcStarted": "バックグラウンドでスコア再計算が開始されました", "recalcFailed": "再計算に失敗しました", - "resetToDefaults": "ウェイトがデフォルトにリセットされました。保存して適用します。" + "resetToDefaults": "ウェイトがデフォルトにリセットされました。保存して適用します。", + "howItWorks": { + "title": "これがどのように働くか。", + "summary": "すべての本は、メタデータの完成度について、100点中のスコアを取得します。 重量は他者の隣にしか意味がありませんので、以下の各フィールドは、それが担当している完成したスコアのシェアを示しています。 重量が倍になると何も変わりません。" + }, + "readOnly": "スコアがどのように計算されるかはわかりますが、ウェイトを変更するにはアプリの設定権限が必要です。", + "compositionTitle": "スコアがどこから来るか", + "compositionHint": "パーセンテージは常に100まで加算されます。", + "searchFields": "フィルタフィールド", + "clearSearch": "検索をクリア", + "noMatches": "検索条件に一致するフィールドはありません。", + "totalSummary": "{scoring} / 24 フィールドスコアリング, {total} ポイント合計", + "countGroups": "スコアに向かってカウント", + "notScored": "得点なし", + "notScoredHeading": "採点なし ({count})", + "notScoredHint": "ゼロのフィールドは合計を残すので、欠けている本はマークされません。", + "decreaseWeight": "{field} の重量を減らします", + "increaseWeight": "{field} の重量を増やします", + "revertField": "{field} を保存した重量に戻す", + "table": { + "field": "フィールド", + "weight": "重量", + "share": "得点の共有", + "versusDefault": "変更" + }, + "groups": { + "core": "コア", + "publishing": "公開", + "classification": "分類", + "enrichment": "Enrichment", + "providers": "プロバイダー ID" + }, + "rules": { + "text": "空でない場合のカウント数", + "positive": "ゼロを超えている場合のカウント数", + "count": "少なくとも 1 つが設定されている場合のカウント数", + "cover": "カバー画像が保存された時の数", + "providerId": "ID が保存されている場合の数", + "seriesIndex": "ゼロを超えた場合にカウントされますので、ボリューム 0 はカウントされません" + }, + "rail": { + "title": "あなたの本がどこに着陸するか", + "description": "読者が本のカードで見るバッジの色は、今日あなたが見ることができるすべての本に対して。", + "bandsLabel": "バッジカラーバンド", + "bands": { + "poor": "50歳以下", + "fair": "50-69", + "good": "70-89", + "great": "90+" + }, + "median": "中央揃え", + "belowFifty": "50歳以下", + "ninetyPlus": "90 以上", + "noBooks": "まだ得点した書籍はありません。ライブラリのインポートが完了したら、rescoreを実行してください。", + "scopeNote": "全体 {count, plural, one {# book} other {# book}} ライブラリ内の現在保存されている重量で得点できる。" + }, + "progress": { + "running": "ライブラリの再スキャン", + "failed": "再コアに失敗しました", + "count": "{processed} の書籍が処理されました", + "countOf": "{processed} / {total} 本", + "failedCount": "({count} 失敗)", + "safeToLeave": "このページを退出しても安全です。", + "dismiss": "却下する" + }, + "save": { + "upToDate": "すべての変更が保存されました。", + "unsaved": "{count, plural, one {# フィールドが} other {# フィールドが}}", + "totalShift": "{from} から {to} ポイント", + "rescores": "リスコアを保存しています {count, plural, one {# book} other {# book}} をバックグラウンドで保存しています。", + "rescoresUnknown": "ライブラリをバックグラウンドで保存しています。", + "action": "保存して再コア", + "discard": "破棄する", + "leaveWarning": "保存されていない重みの変更があります。ページを退出して、それらを失いますか?" + } }, "tabs": { "users": "ユーザー", "account-activity": "アカウントアクティビティ", "magic-links": "マジックリンク", "oidc": "OIDC / SSO", + "tts": "テキスト読み上げ", "server-fonts": "サーバーフォント" }, + "tts": { + "title": "プロバイダー", + "subtitle": "読者が利用できるスピーチエンジン。プロバイダごとに声がキュレートされます。", + "summary": "{providers, plural, one {# provider} other {# provider}} · {enabled} enabled · {voices, plural, one {# voice curred} other {# voice curred}}", + "addProvider": "プロバイダを追加", + "loadFailed": "テキスト読み上げ設定の読み込みに失敗しました", + "empty": "スピーチプロバイダが設定されていません。", + "reorderHint": "ドラッグして並び替えます。リーダーはこの順序でプロバイダを参照します。", + "dragHandle": "{name} を再注文", + "moveUp": "{name} を上に移動", + "moveDown": "{name} を下に移動", + "reorderFailed": "プロバイダの注文を保存できませんでした", + "expand": "{name} の詳細を表示", + "collapse": "{name} の詳細を隠す", + "toggleEnabled": "{name} を有効にする", + "enableFailed": "{name} の更新に失敗しました", + "statusConnected": "接続しました", + "statusUnreachable": "到達不可", + "statusUnchecked": "未チェック", + "voiceCount": "{count, plural, one {# voice} other {# voices}}", + "configuration": "設定", + "fieldType": "タイプ", + "fieldTypeOpenAi": "OpenAI対応", + "fieldApiKey": "API キー", + "apiKeySet": "設定", + "apiKeyNotSet": "未設定", + "fieldModel": "デフォルトのモデル", + "fieldModelNone": "プロバイダのデフォルト", + "fieldDiscovery": "音声検出", + "discoverySupported": "サポート", + "discoveryUnsupported": "対応していません", + "voices": "声", + "voicesCurated": "{count} キュレート済み", + "voicesTapToPreview": "音声をタップしてプレビューする", + "voicesNone": "音声が設定されていません", + "manageVoices": "ボイスの管理", + "previewVoice": "{name} をプレビュー", + "previewStop": "プレビューを停止", + "previewFailed": "{name} のプレビューを再生できませんでした", + "previewNeedsEnabled": "音声をプレビューするには、このプロバイダを有効にしてください", + "editConfiguration": "設定を編集", + "testConnection": "接続をテスト", + "testPassed": "接続済み・ {count, plural, one {# ボイスが} other {# ボイスが}}", + "testFailed": "接続に失敗しました", + "delete": "削除", + "deleteConfirm": "プロバイダ「{name}」を削除しますか? ボイスを使用するリーダーは別のプロバイダにフォールバックします。", + "deleteFailed": "{name} の削除に失敗しました", + "deleted": "プロバイダが削除されました", + "saveFailed": "{name} の保存に失敗しました", + "saved": "プロバイダーが保存されました", + "formAddTitle": "新しいプロバイダー", + "formEditTitle": "プロバイダを編集", + "formName": "名前", + "formNamePlaceholder": "Kokoro", + "formBaseUrl": "ベースURL", + "formBaseUrlPlaceholder": "http://localhost:8880/v1", + "formApiKey": "API キー", + "formApiKeyOptional": "省略可能", + "formApiKeyPlaceholder": "sk-...", + "formApiKeyKeep": "現在のキーを保持するには空白のままにしてください", + "formModel": "デフォルトのモデル", + "formModelPlaceholder": "tts-1", + "formDiscovery": "このプロバイダーは自身の声を一覧表示できます", + "formRequired": "名前とベース URL が必要です", + "curation": { + "title": "声の管理 - {provider}", + "summary": "{count, plural, one {# ボイスが設定されました} other {# ボイスが設定されました}}", + "summaryUnsaved": "{count, plural, one {# 音声が設定されました} other {# 音声が設定されました}} - 未保存の変更", + "importFromProvider": "プロバイダからインポート", + "loadPreset": "Load {preset} preset", + "importUnsupported": "このプロバイダーは音声検出をサポートしていません。", + "importUnsupportedWithPreset": "このプロバイダは音声検出をサポートしていません。代わりに \"Load {preset} preset\" ボタンを使用してください。", + "discoveryUnsupported": "このプロバイダはボイスリストのエンドポイントを公開しません。", + "discoverFailed": "音声の検出に失敗しました", + "emptyImportOrPreset": "ボイスが設定されていません。プロバイダからインポートするか、プリセットを読み込みます。", + "emptyImport": "ボイスが設定されていません。プロバイダからインポートします。", + "emptyPreset": "ボイスが設定されていません。プリセットを読み込んで開始してください。", + "emptyManual": "音声が設定されていません。手動で音声を追加してください。", + "columnId": "ID", + "columnName": "名前", + "columnLocale": "ロケール", + "columnGender": "性別", + "genderMale": "男性", + "genderFemale": "女性", + "genderUnknown": "不明", + "cancelEdit": "編集をキャンセル", + "editVoice": "{name} を編集", + "deleteVoice": "{name} を削除", + "previewVoice": "{name} をプレビュー", + "stopPreview": "{name} のプレビューを停止", + "saveVoices": "{count, plural, one {# ボイスを保存} other {#ボイスを保存}}" + } + }, "serverFonts": { "title": "サーバーフォント", "subtitle": "すべてのユーザーが自分のものをアップロードせずに、eBook リーダーで選択できるフォントをアップロードします。", "listLabel": "サーバーフォント", "noFontsYet": "まだサーバーフォントがありません", - "noFontsHint": "ここに追加したフォントは、すべてのユーザーのリーダーに表示されます。" + "noFontsHint": "ここに追加したフォントは、すべてのユーザーのリーダーに表示されます。", + "addFonts": "フォントを追加", + "filterLabel": "ファミリーのフィルター", + "filterPlaceholder": "ファミリーのフィルター", + "filterClear": "フィルターをクリア", + "noMatches": "一致するファミリーがありませんでした。{query}”", + "previewLabel": "プレビューテキスト", + "previewPlaceholder": "すべてのファミリーでプレビューするには入力してください", + "previewSize": "プレビューサイズ", + "previewSizeOption": "{size} px", + "familiesUnit": "{count, plural, one {ファミリー} other {ファミリー}}", + "filesOfMax": "{count} / {max} ファイル", + "onDisk": "ディスク上の{size}", + "columns": { + "family": "家族", + "specimen": "試料の種類", + "styles": "Styles", + "readers": "リーダー" + }, + "fileSummary": "{count, plural, one {# file} other {# files}} · {size}", + "newBadge": "新規作成", + "styles": { + "single": "{style} のみ", + "many": "{count} styles", + "manyNoItalics": "{count} styles, no italics" + }, + "facts": { + "books": "{count, plural, one {on # book} other {on # books}}", + "booksDetail": "{books, plural, one {# book} other {# book}} by {readers, plural, one {# reader} other {# readers}}", + "defaults": "{count, plural, one {# リーダーの既定値} other {# リーダーの既定値}}", + "hidden": "{count, plural, one {#リーダーに隠しました} other {#リーダーに隠しました}}" + }, + "moreActions": "{name} の詳細", + "menu": { + "rename": "ファミリー名を変更", + "addFiles": "ファイルを追加" + }, + "footerHint": "すべての読者は、これらを読者のフォントリストに表示し、それらのいずれかを読者の下に隠すことができます › フォント.", + "empty": { + "dropHint": "またはこのページのどこかにファイルをドロップします", + "tip": "家族は4つのファイルとして最もよく読み取ります: 通常、イタリア、太字、太字イタリック。" + }, + "drop": { + "title": "{count, plural, one {ドロップして、すべてのリーダーの # ファイルを追加します} other {ドロップして、すべてのリーダーの # ファイルを追加します}}" + }, + "upload": { + "ariaLabel": "アップロードの進捗状況", + "title": "{count, plural, one {# ファイル} other {追加 # ファイル}}", + "progress": "{done} / {total} 完了", + "addedCount": "{count} が追加されました", + "duplicateCount": "{count} は既にここにあります", + "refusedCount": "{count} は追加されていません", + "dismiss": "却下する", + "newFamily": "新しい家族", + "states": { + "queued": "待機中", + "uploading": "アップロード中", + "added": "追加しました", + "duplicate": "すでにサーバーにいます", + "refused": "未追加", + "failed": "失敗しました" + }, + "reasons": { + "tooLarge": "{maxMb} MBより大きい。", + "unsupportedType": "フォントファイルではありません。TTF、OTF、WOFF、WOFF2を使用してください。", + "invalidFile": "ファイルが破損しているか、実際にはフォントではありません。", + "faceTaken": "{familyName} はすでにこの重量とスタイルのファイルを持っています。", + "limitReached": "サーバーは既に {limit} フォントファイルを保持しています。", + "failed": "アップロードに失敗しました。もう一度やり直してください。" + } + }, + "sheet": { + "description": "{name} のファイルのプレビュー、名前の変更、管理", + "variable": "変数", + "preview": "プレビュー", + "pageColour": "ページの色", + "papers": { + "app": "アプリの面", + "white": "ホワイトページ", + "sepia": "Sepia page", + "night": "夜間ページ" + }, + "previewHeading": "生きた花の庭", + "previewParagraph1": "アリスは彼女を驚かせた。「どうして、私たちはずっとこの木の下にいたと信じている!全部同じようになっているんだ!」", + "previewParagraph2": "「ここでは、同じ場所を維持するために、あなたができるすべての実行が必要です。 どこか他の場所に行きたい場合は、少なくとも2倍の速さで実行する必要があります!」", + "styles": "Styles", + "stylesHint": "リーダーのスタイル行が提供するもの", + "singleStyleNote": "一つのスタイルで、読者はスタイル行を取得しません。本の中の太字と斜体のテキストは、 {style} のブラウザで偽造されます。", + "inReader": "読者の", + "inReaderHint": "フォントリストはすべてのリーダーがReaderで取得する › 設定, {name} を選択しました。", + "pickerLabel": "読者のフォント一覧のプレビュー", + "files": "ファイル", + "filesUsed": "このサーバーで使用されている{count} の {max}", + "fileDetail": "{summary} · {date} 追加", + "upright": "標準体", + "italic": "Italic", + "fileActions": "{name} の詳細", + "changeStyle": "重量とスタイルを変更", + "removeFile": "ファイルを削除", + "removeFileQuestion": "すべての読者のためにこのファイルを削除しますか?", + "weight": "重量", + "style": "スタイル", + "name": "ファミリー 名", + "nameHint": "読者はこの名前でフォントを選択します。", + "nameHiddenWarning": "{count, plural, one {# リーダーが {name}} other {# リーダーが {name}}}; 新しい名前が彼らに再び表示されます。", + "nameBooksWarning": "新しい名前は {count, plural, one {を使っている # 本を} other {を使っている # 本を}} に戻します。", + "readers": "リーダー", + "stats": { + "books": "{count,plural,one{本はそれを使っています} other{本はそれを使っています}}", + "defaults": "{count, plural, one {リーダーのデフォルト} other {リーダーのデフォルト}}", + "hidden": "{count, plural, one {reader hided it} other {reader hided it}}" + }, + "readersPrivacy": "数えるだけ. どの本と読者は、彼らにプライベート滞在.", + "removeLabel": "ファミリーを削除", + "removeQuestion": "すべての読者に対して {name} を削除しますか?", + "removeConsequenceBooks": "{books,plural,one{以下に設定されています # 本} other{以下に設定されています # 本}} 作成者: {readers,plural,one{# リーダー} other{# 読者|リーダー}}それらの本は本のフォントに戻ります", + "removeConsequenceFiles": "{count,plural,one{そのファイルはサーバーから削除されます。} other{すべて # ファイルはサーバーから削除されます。}}", + "loadFailedNote": "このブラウザーはフォントファイルを読み込めませんでしたので、プレビューにフォールバックフェイスが表示されます。 読者のブラウザはおそらくそれを拒否するでしょう; フォントの別のコピーを試してみてください。" + }, + "toasts": { + "removed": "{name} を削除しました", + "removePartial": "{failed, plural, one {# ファイル} other {# ファイル}} の {name} は削除できませんでした", + "renameTaken": "{name} はすでに同じ重量とスタイルのファイルを持っています" + }, + "loadFailed": "このブラウザーは読み込めません" } }, "common": { @@ -1136,15 +1720,18 @@ "display": "表示", "reader": "リーダー", "metadata": "メタデータ", + "usersAccess": "ユーザーとアクセス", "email": "Eメールアドレス", "opds": "OPDS", "kobo": "Kobo", "koreader": "KOReader", + "tts": "テキスト読み上げ", "integrations": "統合", "hardcover": "ハードカバー", "admin": "管理者", "system": "システム", - "account": "アカウント" + "account": "アカウント", + "podcasts": "ポッドキャスト" } }, "integrations": { @@ -1170,36 +1757,59 @@ "subtitle": "サブタイトル", "description": "説明", "cover": "カバー", + "audioCover": "オーディオブックカバー", "authors": "著者", "publisher": "発行者", "publishedYear": "出版年", "language": "言語", "pageCount": "ページ数", + "isbn": "ISBNs", "communityRating": "コミュニティ評価", "seriesName": "シリーズ名", "seriesIndex": "系列インデックス", "genres": "Genres", "narrators": "ナレーターたち", "duration": "期間", - "abridged": "接続済み" + "abridged": "接続済み", + "tags": "タグ", + "isbn13": "ISBN-13", + "isbn10": "ISBN-10", + "googleBooksId": "Google Books ID", + "goodreadsId": "Goodreads ID", + "amazonId": "Amazon ID", + "hardcoverId": "ハードカバーID", + "openLibraryId": "ライブラリIDを開く", + "itunesId": "iTunes ID", + "koboId": "Kobo ID", + "aladinId": "Aladin ID" }, "mergeStrategy": { "fillMissing": { "label": "塗りつぶしがありません", - "description": "If フィールドが空の場合のみ書き込み" + "description": "If フィールドが空の場合のみ書き込み", + "short": "ギャップを埋めます" + }, + "mergeExisting": { + "label": "既存のものと統合", + "description": "保存されたジャンルを保持し、新しいプロバイダーのジャンルを追加します", + "short": "結合" }, "overwriteIfProvided": { "label": "指定された場合は上書き", - "description": "プロバイダが値を返した場合に書き込み" + "description": "プロバイダが値を返した場合に書き込み", + "short": "指定された場合" }, "overwrite": { "label": "常に上書きする", - "description": "常に既存の値を置き換えます" + "description": "常に既存の値を置き換えます", + "short": "常に表示" } }, "autoFetch": { "globalSettings": "グローバル設定", "perLibraryOverrides": "ライブラリ毎のオーバーライド", + "saving": "保存中...", + "running": "実行中...", "runNow": "今すぐ実行", "runForEligible": "適格書籍のために実行する", "enable": { @@ -1221,6 +1831,8 @@ }, "lastRun": { "justNow": "ちょうど今", + "minutesAgo": "{count}分前", + "hoursAgo": "{count}時間前", "yesterday": "昨日", "daysAgo": "{count, plural, one {# 日前} other {# 日前}}", "label": "最終実行: {when}", @@ -1251,21 +1863,131 @@ "library": { "inheritingGlobal": "グローバルデフォルトを継承する", "inheritFromGlobal": "グローバルから継承する", + "usingGlobalDefaults": "グローバルデフォルトを使用する", "saveOverride": "上書き保存" + }, + "scope": { + "ownSettings": "{count, plural, one {# 自身の設定} other {# 自身の設定}}", + "globalIntro": "すべてのライブラリは、独自のルールを持たない限り、このルールに従います。", + "globalCoverage": "{libraryCount,plural,one{適用先 # ライブラリ} other{適用先 # ライブラリ}}, {bookCount,plural,one{# 本} other{# 本}}.", + "ownLibraries": "{names} {count,plural,one{独自のルールを持っています} other{それぞれのルールを持っています}}", + "libraryFollows": "{library} はグローバルルールに従っています。ここで変更したものは独自のルールに変更します。", + "libraryOwn": "{library} 独自のルールを持っています {count,plural,one{# 設定} other{# 設定}}をクリックします。", + "lastRun": "最終実行 {when}キューに追加されました {count,plural,one{# 本} other{# 本}}.", + "neverRun": "実行されていません。", + "useGlobalRule": "グローバルルールを使用する", + "loadFailed": "設定を自動取得できませんでした。ページを再読み込みして再度お試し下さい。", + "saved": "保存された {scope}", + "saveFailed": "{scope}を保存できませんでした。もう一度お試しください。" + }, + "run": { + "all": "すべてのライブラリで実行", + "library": "{library} の実行", + "saveFirst": "保存されたルールを使用して実行します。最初に保存してください。", + "failed": "実行を開始できませんでした。もう一度お試しください。" + }, + "onImport": { + "label": "新しい本のメタデータを取得", + "hint": "ブックに一致するキューをスキャンしてアップロードします。インポート時のフェッチは空のフィールドのみを埋めます。ロックされたフィールドは変更されません。", + "follow": "グローバルをフォロー", + "on": "オン", + "off": "オフ" + }, + "columns": { + "books": "{count, plural, one {book} other {book}}", + "ofTotal": "/ {total}", + "off": "オフ", + "own": "自分のもの", + "global": "グローバル", + "useGlobal": "グローバルを使用", + "globalValue": "グローバルルール: {value}", + "on": "オン", + "scoreBelowValue": "{threshold} より下のスコア", + "neverFetchedSplit": "{count, plural, one {# フェッチしない} other {# フェッチしない}}", + "fetchedBeforeSplit": "#{count, plural, one {#} other {# fetched before}}", + "lowScoreLabel": "信頼度低いスコア", + "lowScoreHint": "信頼スコアが下にある本を取得します。", + "outOf": "/ 100", + "lowerThreshold": "しきい値を下げる", + "raiseThreshold": "しきい値を上げる", + "missingHint": "選択されたフィールドが空の場合は取得します。各フィールドに欠けている本の数が表示されます。", + "audioGroup": "音声付きの本", + "audioHint": "{count,plural,one{とします。 # 音声付きの本にはこれが欠けています} other{とします。 # 音声に欠けることもあります} =0{ここでは音声がありません}}", + "fieldCount": "{field}: {count, plural, one {# 本が欠けています} other {# 本が欠けています}}" + }, + "histogram": { + "label": "信頼度のスコアしきい値", + "valueText": "{threshold} より下のスコア" + }, + "preview": { + "title": "どのような実行を取得するか", + "matching": "{matching, plural, one {# of {total} books matches} other {# of {total} books matches}}", + "showing": "{count,plural,one{最小の完了値を表示する} other{を表示する # 少なくとも完了}}", + "empty": "このルールに一致する本がないため、実行は何もキューしません。", + "unknownAuthor": "不明な作成者", + "score": "スコア {score}", + "more": "+{count}", + "missing": { + "title": "タイトルなし", + "subtitle": "字幕なし", + "description": "説明がありません", + "cover": "カバーなし", + "audioCover": "オーディオブックカバーなし", + "authors": "著者なし", + "publisher": "発行者なし", + "isbn": "ISBNなし", + "publishedYear": "発表された年はありません", + "language": "言語がありません", + "pageCount": "ページ数がありません", + "communityRating": "コミュニティ評価なし", + "seriesName": "シリーズ名がありません", + "seriesIndex": "系列インデックスがありません", + "genres": "ジャンルなし", + "narrators": "ナレーターなし", + "duration": "持続時間なし", + "abridged": "ブリッジ機能が設定されていません" + } + }, + "queue": { + "progress": "{done} / {total}", + "failed": "{count, plural, one {# 本をフェッチできませんでした} other {# 本をフェッチできませんでした}}" } }, "providers": { "availableSources": "利用可能なソース", "saveChanges": "変更を保存", + "discard": "破棄する", + "configure": "設定", "test": "テスト", + "testing": "テスト中...", + "testHint": "ライブサービスに対してこれらの資格情報をチェックします。何も保存されません。", "enabled": "有効", "retryIn": "{duration} で再試行する", "runTestBeforeEnabling": "有効にする前にテストを実行", "hardcoverEnableHint": "現在のトークンでテストを実行して、イネーブルスイッチのロックを解除します。", + "searchPlaceholder": "ソースをフィルター", + "sourcesEnabled": "{enabled} / {total} ソースが有効です", + "groupEnabled": "{enabled} / {total} オン", + "unsavedChanges": "{count, plural, one {# 未保存の変更} other {# 未保存の変更}}", + "noMatches": "このフィルターに一致するソースはありません。", + "clearFilters": "フィルターをクリア", + "filter": { + "label": "状態でソースをフィルター", + "all": "すべて", + "enabled": "有効", + "needsSetup": "セットアップが必要" + }, + "groups": { + "books": "一般書籍カタログ", + "audiobooks": "オーディオブック", + "comics": "コミック&ライトノベル", + "regional": "地域カタログ" + }, "badge": { "setupRequired": "セットアップが必要", "throttled": "スロットル", - "ready": "準備完了" + "ready": "準備完了", + "active": "アクティブ" }, "fields": { "apiKey": "API キー", @@ -1289,9 +2011,11 @@ "kobo": "Koboの公開書籍ページを削除します。国と言語はKobo URLパスと一致しなければなりません。ボット保護はリクエストをブロックできます。", "audible": "Audible からオーディオブックのメタデータを取り出します。追加の設定は必要ありません。", "audnexus": "コミュニティ主導のオーディオブックメタデータ。セットアップは必要ありません。", + "librofm": "DRMフリーのオーディオブックカタログメタデータ。文書化されていないLibro.fmエンドポイントを使用し、デフォルトでは無効になっています。", "comicvine": "ComicVineからのコミックブックのメタデータ comicvine.gamespot.comから無料のAPIキーが必要です。", "ranobedb": "RanobeDBからの日本のライトノベルメタデータ。セットアップは必要ありません。", - "lubimyczytac": "ポーランドの書籍カタログ (lubimyczytac.pl) 公開書籍ページをスクラップします。セットアップは必要ありません。" + "lubimyczytac": "ポーランドの書籍カタログ (lubimyczytac.pl) 公開書籍ページをスクラップします。セットアップは必要ありません。", + "aladin": "Aladin(알라딘)が提供する韓国語書籍のメタデータ。aladin.co.kr の TTB キーが必要です。" }, "blocked": { "google": "Google Books で有効にするにはAPI キーが必要です", @@ -1305,6 +2029,7 @@ "clearAllProviders": "すべてのプロバイダーをクリア", "clearAll": "すべてクリア", "resetToDefault": "デフォルトにリセット", + "bookCover": "本のカバー", "reset": "Reset", "dragProvidersHint": "ここから任意のフィールドにプロバイダをドラッグして追加します", "dragProviderHere": "ここにプロバイダをドラッグしてください", @@ -1316,9 +2041,13 @@ }, "mergeStrategy": { "title": "統合戦略", + "fillMissingTerm": "塗りつぶし:", "fillMissingBody": "現在の値が空の場合にのみ書き込みます。", + "overwriteTerm": "上書き:", "overwriteBody": "プロバイダにデータがある場合はいつでも置き換えてください。" - } + }, + "summary": "プロバイダーは一番下に試みられ、最初に値を返すものが勝利します。 マージストラテジーは、その値がすでに本に含まれているものを置き換えることができるかどうかを決定します。ジャンルは新しいユニークな値を追加することもできます。 ここでデフォルトを設定し、ライブラリごとに個々のフィールドを上書きします。", + "summaryByMedium": "プロバイダーは一番下に試みられ、最初に値が付いたものが勝利します。マージモードのジャンルとコミュニティの評価は、代わりにすべてのプロバイダーを結合します。 マージ戦略は、値がすでに本が持っているものを置き換えることができるかどうかを決定します。 mは音声付きの本、読み取り専用EPUBが含まれているので、最初に置くことは、電子ブック専用の本に触れることなくオーディオブックメタデータを好みます。 間違った形状のカバーアートは、他の何もできない場合にのみスロットを埋めます。ライブラリは、フィールド全体のルールを置き換えます。" }, "libraryOverrides": { "title": "ライブラリの上書き", @@ -1334,7 +2063,8 @@ "advanced": { "title": "高度な取得の動作", "combineGenres": { - "label": "選択したすべてのプロバイダーからのジャンルを結合" + "label": "選択したすべてのプロバイダーからのジャンルを結合", + "hint": "すべてのプロバイダーから「ジャンル」フィールドに割り当てられたジャンルを収集して重複を除き、最初の結果だけで停止しないようにします。" }, "maxGenres": { "label": "本あたりの最大ジャンル数", @@ -1345,9 +2075,14 @@ "storeProviderIds": { "label": "書籍上の店舗プロバイダー ID", "hint": "メタデータを取得するときは、返されたプロバイダー ID (ISBN、ASIN、Goodreads IDなど) をブックレコードに保存して、より正確な今後の検索を行います。" + }, + "existingProviderIdsOnly": { + "label": "既存のプロバイダー ID のみを使用", + "hint": "ライブラリ内のブックの場合、格納された ID を持つプロバイダのみクエリを実行し、ID 検索に失敗したときに検索に戻ることはありません。 手動検索と新しい本の発見は影響を受けません。" } }, "library": { + "primary": "プライマリ:", "overrideCount": "{count, plural, one {# オーバーライド} other {# オーバーライド}}", "unsavedSuffix": "(未保存)", "unsavedChanges": "保存されていない変更", @@ -1369,21 +2104,36 @@ }, "groupSummary": { "base": "{fields} フィールド · {enabled} 有効", - "withOverrides": "{base} · {overrides} オーバーライド" + "withOverrides": "{base} · {overrides} オーバーライド", + "enabledOf": "{enabled} / {fields} 有効" }, "table": { "field": "フィールド", "activeProviders": "アクティブなプロバイダー (優先順位で注文)", "mergeStrategy": "統合戦略", - "status": "ステータス" + "status": "ステータス", + "noMatches": "これらのフィルタに一致するフィールドはありません。" }, "field": { "noProviders": "有効になっていますが、プロバイダがありません", + "noUsableProvider": "有効ですが、ここにはプロバイダがありません。", "empty": "なし", "config": "設定", "custom": "カスタム", "default": "デフォルト", - "resetToDefault": "既定にリセット" + "resetToDefault": "既定にリセット", + "toggle": "メタデータの更新中に {field} を取得", + "configure": "{field} を設定", + "add": "追加", + "addHint": "注文の最後に追加されました。先に移動するにはチップをドラッグしてください。", + "addProviderTo": "{field} にプロバイダを追加", + "removeProvider": "{provider} を削除", + "noProvidersYet": "まだプロバイダがありません", + "skippedCount": "{count, plural, one {# skipped} other {# skiped}}", + "unsaved": "未保存", + "override": "オーバーライド", + "inherited": "継承された", + "morePreview": "+{count} 以上" }, "reservoir": { "disabled": "{provider} - 無効", @@ -1397,6 +2147,74 @@ "statusDisabled": "無効", "statusNotConfigured": "設定されていません", "done": "完了" + }, + "scope": { + "label": "ルールの範囲", + "global": "グローバルデフォルト", + "overrideCount": "{count, plural, one {# overridden field} other {# overridden fields}}", + "unsavedMarker": "未保存の変更があります" + }, + "toolbar": { + "searchFields": "検索フィールド", + "clearSearch": "検索をクリア", + "provider": "プロバイダー", + "anyProvider": "任意の", + "providerMenuTitle": "プロバイダによるフィルタと一括編集", + "usedIn": "{count, plural, =0 {未使用の} one {# フィールド} other {# フィールド}}", + "showOnlyThese": "使用しているフィールドのみ表示", + "bulkLabel": "使用するすべての {count} フィールドに適用", + "makeFirst": "どこでも最初に作成", + "makeLast": "すべての場所で最後に戻る", + "removeEverywhere": "すべてのフィールドから削除", + "audioCoverOrderKept": "並べ替えはオーディオブックのソースを最初に保持するAudiobookカバールールをスキップします。", + "allFields": "すべてのフィールド", + "overridesOnly": "オーバーライドのみ", + "clearFilters": "フィルターをクリア" + }, + "providerState": { + "disabled": "無効", + "notConfigured": "設定されていません", + "disabledDetail": "{provider} はオフになっているため、順番はそのままですがスキップされます。", + "notConfiguredDetail": "{provider} にはまだ資格情報がないため、順番通りですがスキップされます。", + "neverSupplies": "これを供給しない", + "neverSuppliesDetail": "{provider} はこのフィールドを供給していないため、ここでスキップされます。", + "otherShape": "その他のカバー形状", + "otherShapeDetail": "{provider} は他の形状のカバーのみを持っているため、何もできない場合にのみこのスロットを埋めます。" + }, + "detail": { + "priority": "プロバイダーの優先度", + "priorityHint": "値を返す最初のプロバイダが勝利します。", + "moveUp": "{provider} より前に移動", + "moveDown": "あとで {provider} を移動", + "result": "結果", + "resultHint": "次の更新でこのフィールドはこの順序で解決されます:", + "noUsableProviders": "利用可能なプロバイダがありません - このフィールドは入力されません。", + "skippedSummary": "{count, plural, one {{providers} は注文中ですがスキップされます。} other {{providers} は注文中ですがスキップされます。}}", + "appliesTo": "{scope} に適用されます。", + "inheritGlobal": "グローバルルールを継承する", + "inheritingGlobal": "グローバルルールを継承する。", + "collapse": "折りたたむ" + }, + "save": { + "upToDate": "保存されていない変更はありません", + "unsaved": "{count, plural, one {# unsaved change} other {# unsaved changes}} in {scope}", + "discard": "破棄する", + "action": "{scope} を保存" + }, + "confirm": { + "clearProviders": { + "title": "すべてのプロバイダを削除しますか?", + "description": "これは、 {scope}内のすべての16フィールドのプロバイダリストを空にします。保存を選択するまで何も保存されません。" + }, + "resetScope": { + "title": "既定にリセットしますか?", + "globalDescription": "これにより、グローバルフィールドルールがシステムのデフォルトに置き換えられ、すぐに保存されます。", + "libraryDescription": "これにより、 {scope} のすべてのオーバーライドが削除され、再びグローバルルールを継承し、すぐに保存されます。" + }, + "removeProvider": { + "title": "すべてのフィールドから {provider} を削除しますか?", + "description": "{provider} のすべてのフィールドのプロバイダーから、 {scope}が注文されます。保存を選択するまでは何も保存されません。" + } } }, "genreBlocklist": { @@ -1415,6 +2233,123 @@ "emptyHint": "Audiobook や Adult などの正確な値を追加して、メタデータを取得できないようにします。", "removeLabel": "{genre} を削除" }, + "searchCache": { + "loadFailed": "検索キャッシュ設定を読み込めませんでした。", + "retry": "もう一度やり直してください", + "saved": "検索キャッシュの設定が保存されました", + "saveFailed": "検索キャッシュ設定の保存に失敗しました", + "units": { + "hours": "時間", + "days": "日数" + }, + "general": { + "title": "保存された回答", + "enabled": "プロバイダの回答を保存", + "enabledHint": "各プロバイダに再度尋ねるのではなく、検索、一括更新、バックグラウンドフェッチの保存済み回答の再利用。", + "resultsTtl": "結果を保持する", + "resultsTtlHint": "結果を含む回答が、プロバイダに再度尋ねられるまでにどのくらいの期間再利用されるか。", + "resultsTtlUnit": "結果の時間単位", + "emptyTtl": "空の回答を保持する", + "emptyTtlHint": "プロバイダが何も見つからないことが記憶される期間。空の解答をキャッシュとしてマークされたプロバイダにのみ適用されます。0は決して空の解答を保持しません。", + "emptyTtlUnit": "空の回答時間単位", + "staleGrace": "期限切れの回答を使用する", + "staleGraceHint": "プロバイダが失敗した場合、この長い過去の有効期限までの答えが代わりに使用されます。0 は決して戻りません。", + "staleGraceUnit": "答えの期限が切れた時間単位", + "storage": "ストレージ予算", + "storageHint": "保存された答えがこのサイズを通過すると、最も古い答えは削除されます.", + "storageUnit": "MB" + }, + "providers": { + "title": "プロバイダ毎の設定", + "hint": "上記の値を使用するには、ボックスを空白のままにします。プロバイダをオフにすると常にライブで確認できます。", + "books": "本", + "authors": "著者", + "none": "利用可能なプロバイダがありません。", + "globalOff": "回答の保存はオフになりますので、これらの設定はオンに戻すと適用されます。", + "on": "オン", + "off": "オフ", + "enabledLabel": "{provider} から回答を保存", + "resultsTtl": "結果を保持する", + "resultsTtlLabel": "{provider} の結果を保持", + "resultsTtlUnitLabel": "{provider} 結果の時間単位", + "emptyTtl": "空の回答を保持する", + "emptyTtlLabel": "{provider} の回答を空にしてください", + "emptyTtlUnitLabel": "空の {provider} 回答の時間単位", + "noEmptyCaching": "このプロバイダからの空の回答は保存されません。", + "notCacheable": "このプロバイダからの回答は保存されません。", + "reset": "{provider} を既定値にリセット" + }, + "validation": { + "required": "値を入力してください", + "wholeNumber": "整数を入力してください。", + "range": "{min} から {max} までの値を入力します。", + "tooManyOverrides": "あまりにも多くのプロバイダが独自の設定を持っています。いくつかのプロバイダをリセットして保存します。" + }, + "save": { + "unsaved": "保存されていない変更", + "invalid": "強調表示されたフィールドを修正して保存する", + "upToDate": "すべての変更が保存されました", + "discard": "破棄する", + "action": "保存" + }, + "stats": { + "group": "使用法", + "title": "保存された回答", + "refresh": "更新", + "loadFailed": "キャッシュの使用状況を読み込めませんでした。", + "storage": "ストレージを使用", + "storageUsed": "{used} / {budget}", + "storageHint": "保存された回答自体のサイズ. ディスク上のテーブルが大きいです.", + "entries": "保存された回答", + "emptyEntries": "空の回答", + "diskSize": "ディスク上のテーブルサイズ", + "hitRate": "ヒット率", + "requestsAvoided": "回避されたリクエスト", + "fallbacks": "フォールバック", + "skippedWrites": "スキップされた書き込み", + "oldest": "古い回答", + "none": "まだありません", + "countersHint": "レートを上げて、リクエストは回避され、フォールバックとスキップされた書き込み回数は、サーバーが最後に開始されてからです。", + "perProvider": "プロバイダによる回答を保存しました", + "provider": "プロバイダー", + "kind": "タイプ", + "size": "サイズ", + "empty": "まだ何も保存されていません。" + }, + "clear": { + "group": "メンテナンス", + "title": "保存した回答をクリア", + "regionHint": "プロバイダは場所によって異なる答えを出すことができます。サーバーを別のリージョンまたはVPNに移動した後、キャッシュを消去してください。", + "action": "クリア", + "failed": "保存した回答の消去に失敗しました", + "done": "{count, plural, one {#件の回答を削除しました} other {#件の回答を削除しました}}", + "donePending": "{count,plural,one{削除しました # 保存された回答です.残りはバックグラウンドで削除されています.} other{削除しました # 保存された回答。残りはバックグラウンドで削除されています。}}", + "empty": { + "label": "空の回答のみをクリア", + "hint": "プロバイダが何も見つからなかったことを忘れるので、検索は再び尋ねます。", + "confirmTitle": "空の回答をクリアしますか?", + "confirmDescription": "プロバイダが何も見つからなかった保存された回答は削除されません。結果の回答は保持されます。" + }, + "book": { + "label": "本の回答をクリア", + "hint": "本の提供者から保存されたすべてのものを削除します。", + "confirmTitle": "明確な本の回答ですか?", + "confirmDescription": "ブックプロバイダから保存されたすべての回答が削除されます。次の検索では、再度プロバイダに問い合わせてください。" + }, + "author": { + "label": "著者の回答をクリア", + "hint": "作成者から保存されたすべてのものを削除します。", + "confirmTitle": "著者の回答をクリアしますか?", + "confirmDescription": "著者プロバイダから保存されたすべての回答が削除されます。次の検索では、再度プロバイダに問い合わせてください。" + }, + "all": { + "label": "保存した回答をすべて消去する", + "hint": "キャッシュを空にします。すべてのプロバイダは次の検索時に再度尋ねられます。", + "confirmTitle": "保存したすべての回答を消去しますか?", + "confirmDescription": "キャッシュ全体が空になります。 検索は再びいっぱいになるまで遅くなり、プロバイダがダウンしている間は何も残りません。" + } + } + }, "customFields": { "label": "ラベル", "labelPlaceholder": "例: 元のタイトル", @@ -1463,7 +2398,144 @@ "selectAll": "すべて選択", "clear": "クリア", "noLibraries": "利用可能なライブラリはまだありません。", - "allLibraries": "すべてのライブラリ" + "allLibraries": "すべてのライブラリ", + "pageFacts": "{fields, plural, one {# フィールド} other {# フィールド}} · {values, plural, one {# value stored} other {# values stored}}", + "newFieldAction": "新規フィールド", + "views": { + "label": "アクティブまたはアーカイブされたフィールドを表示", + "active": "アクティブ", + "archived": "アーカイブ済み" + }, + "columns": { + "order": "ご注文", + "field": "フィールド", + "type": "タイプ", + "libraries": "ライブラリ", + "filled": "塗りつぶし", + "valuesKept": "値を保持", + "archived": "アーカイブ済み", + "actions": "アクション" + }, + "orderHint": "ドラッグしてメタデータの編集、表の列やエクスポートに表示される注文項目を設定します。", + "archivedHint": "アーカイブされた項目はブック、フィルタ、エクスポートから非表示になります。項目が削除されるまで、値は保存されます。", + "coverage": "{filled} / {total}", + "coverageAria": "{filled} の {total} 書籍には値があります", + "onNoLibrary": "ライブラリがありません", + "onNoLibraryHint": "ライブラリがないので、このフィールドはどこにも表示されません", + "moreLibraries": "+{count}", + "noValues": "なし", + "rowActions": { + "edit": "編集", + "editField": "フィールドを編集", + "moveUp": "上へ移動", + "moveDown": "下に移動", + "archive": "アーカイブ", + "restore": "復元", + "more": "{label} の他のアクション" + }, + "toasts": { + "loadFailed": "カスタムフィールドを読み込めませんでした", + "created": "{label} が作成されました", + "createFailed": "{label} を作成できませんでした", + "saved": "{label} を保存しました", + "saveFailed": "{label} を保存できませんでした", + "archived": "{label} をアーカイブしました", + "archiveFailed": "{label} をアーカイブできませんでした", + "restored": "{label} が復元されました", + "restoreFailed": "{label} を復元できませんでした", + "deleted": "{label} が削除されました", + "deleteFailed": "{label} を削除できませんでした", + "reorderFailed": "新しい注文を保存できませんでした" + }, + "empty": { + "body": "BookOrbitにフィールドがないものを追跡します。たとえば、本が棚にある場所や、借りた人などです。 項目は、メタデータの編集、表の列およびフィルターに表示されます。", + "examples": "サンプルから開始", + "shelfNumber": "棚番号", + "acquiredOn": "取得日", + "signedCopy": "署名済みコピー", + "loanedTo": "貸出先" + }, + "types": { + "text": { + "label": "テキスト", + "hint": "任意の単語", + "example": "最初の印刷、署名されたブックプレート" + }, + "url": { + "label": "リンク", + "hint": "新しいタブで開く", + "example": "https://example.com/book" + }, + "number": { + "label": "数値", + "hint": "値で並び替え", + "example": "42" + }, + "date": { + "label": "日付", + "hint": "カレンダー 日", + "example": "2024-03-09" + }, + "boolean": { + "label": "はい / いいえ", + "hint": "チェックボックス:", + "example": "はい" + } + }, + "sheet": { + "newTitle": "新規フィールド", + "editDescription": "カスタムフィールドのラベルとライブラリを編集し、表示される場所を確認します。", + "newDescription": "新しいカスタムフィールドに名前を付け、そのタイプを選択し、ライブラリを選択します。", + "archivedDescription": "アーカイブされたカスタムフィールド。値で復元するか、削除します。", + "statusFilled": "{filled} of {total, plural, one {# book} other {# book}} filled", + "statusNone": "ライブラリにはありません", + "statusHidden": "{count} hidden", + "statusCreated": "作成された {date}", + "labelHint": "メタデータの編集、表の列とフィルターに表示されます。", + "renameHint": "名前を変更すると、保存されているすべての値とファイルキー {key}が保持されます。", + "keyHint": "ファイルに保存され、 {key}としてエクスポートします。フィールドの名前を変更すると、同じままになります。", + "typeLocked": "作成時に設定", + "typeLockedHint": "型は後で変更できないため、格納された値は常にそれに一致します。", + "libraries": "ライブラリ", + "books": "{count, plural, one {# book} other {# book}}", + "filledOfBooks": "{filled} of {total, plural, one {# book} other {# book}}", + "hiddenCount": "{count} hidden", + "leavingNote": "{count,plural,one{# の値 {libraries} フィールドがオフの間は隠されたままです} other{# 値: {libraries} そこにいる間は隠されたままにしておいてくれ}} それをオンにすると、彼らが戻ってきます。", + "noLibraryWarning": "ライブラリがない場合、このフィールドはどこにも表示されません:メタデータの編集、フィルタまたはエクスポートには表示されません。", + "appears": { + "title": "表示される場所", + "editMetadata": "メタデータを編集", + "details": "Details tab", + "filters": "フィルタ", + "table": "テーブルと並べ替え", + "tableBody": "テーブル列と並べ替えオプションとして利用できます", + "files": "ファイル", + "filesWritten": "{libraries}でEPUBとFB2ファイルに書き込まれ、メタデータをファイルに書き込むことができます。", + "filesNotWritten": "ファイルに書き込まれていない:これらのライブラリのどれも、EPUBまたはFB2ファイルにメタデータを書き込むことはありません。", + "exports": "エクスポート" + }, + "archiveAction": "アーカイブフィールド", + "archiveConfirm": "アーカイブ {label}?", + "archiveConsequence": "{count,plural,one{メタデータの編集、フィルタ、エクスポートを残します。 # 値は、フィールドが削除されるまで保存されます。} other{メタデータの編集、フィルタ、エクスポートを残します。 # 値は、フィールドが削除されるまで保存されます。} =0{メタデータの編集、フィルタ、エクスポートを終了します。いつでもアーカイブから復元できます。}}", + "create": "フィールドを作成", + "onLibraries": "{count} ライブラリの {total} で", + "onAllLibraries": "すべての {total} ライブラリ", + "archivedBadge": "アーカイブ済み", + "archivedTitle": "アーカイブ済み {when}.", + "archivedBody": "{count, plural, =0 {このフィールドは書籍、フィルター、エクスポートから非表示になります。値はありません。} one {このフィールドは書籍、フィルター、エクスポートから非表示になります。} other {このフィールドは書籍、フィルター、エクスポートから非表示になります。 #個の格納された値が保持され、復元に戻ります。}}", + "facts": { + "type": "タイプ", + "libraries": "ライブラリ", + "valuesKept": "値を保持", + "fileKey": "File key", + "created": "作成済み", + "archived": "アーカイブ済み" + }, + "deleteQuestion": "{label} を削除してよろしいですか?", + "deleteConsequence": "{count, plural, =0 {値がありません。元に戻すことはできません。} one {その#格納された値はすべての本から削除されます。書き込まれたファイルはコピーを保持します。 これは元に戻すことはできません。} other {その#の格納された値はすべての本から削除されます。 すでに書き込まれたファイルはコピーを保持しています。これは元に戻すことはできません。}}", + "deleteConfirmLabel": "確認するフィールド名を入力してください", + "deleteConfirmPlaceholder": "確認するには {label} と入力してください" + } }, "tabs": { "providers": "プロバイダー", @@ -1472,7 +2544,8 @@ "genre-blocklist": "Genre Blocklist", "score": "スコア", "auto-fetch": "本", - "authors": "著者" + "authors": "著者", + "search-cache": "キャッシュを検索" }, "tabTitles": { "providers": "プロバイダー", @@ -1481,7 +2554,8 @@ "genre-blocklist": "Genre Blocklist", "score": "自信度スコア", "auto-fetch": "本の自動取得", - "authors": "作成者の自動取得" + "authors": "作成者の自動取得", + "search-cache": "キャッシュを検索" }, "tabSubtitles": { "providers": "外部メタデータソースを有効にし、それらの資格情報を構成します。", @@ -1490,7 +2564,17 @@ "genre-blocklist": "不要なプロバイダのジャンル値が本に書き込まれないようにします。", "score": "メタデータフィールドにウェイトを割り当て、取得した結果を信頼するかどうかを計算します。", "auto-fetch": "ライブラリに新しいブックが追加されると、カバー、説明、その他の詳細が自動的に取得されます。", - "authors": "新しい作者がライブラリに表示されると、自動的に伝記とプロフィール写真を取得します。" + "authors": "新しい作者がライブラリに表示されると、自動的に伝記とプロフィール写真を取得します。", + "search-cache": "プロバイダの回答を再利用することで、プロバイダがダウンしている場合でもリピート検索が高速で動作します。" + }, + "preferences": { + "toast": { + "saved": "メタデータ設定を保存しました", + "saveFailed": "メタデータ設定を保存できませんでした。接続を確認して再度お試し下さい。", + "globalReset": "グローバルフィールドルールをシステムのデフォルトにリセットしました", + "libraryReset": "ライブラリをグローバルルールにリセットしました", + "resetFailed": "メタデータ設定をリセットできませんでした。接続を確認して再度お試し下さい。" + } } }, "reader": { @@ -1535,20 +2619,36 @@ "theme": "テーマ", "darkMode": "ダークモード", "darkModeHint": "選択したテーマのダークバリアントを使用する", + "typography": "タイポグラフィー(文法)", "font": "Font", "fontHint": "本文テキストに使用されるタイプ", + "fontStyle": "フォントスタイル", + "fontStyleHint": "本文の体重と斜め. 本文の太字と斜めに滞在します。", "builtInFonts": "内蔵フォント", "yourFonts": "フォント", "fontSize": "Font size", "fontSizeHint": "基本テキストのピクセルサイズ", "lineHeight": "線の高さ", "lineHeightHint": "垂直方向の行間隔", + "paragraphSpacing": "段落間隔", + "paragraphSpacingHint": "段落間のスペース。ブックのデフォルトはパブリッシャーの間隔を保持します。", + "paragraphSpacingDefault": "書籍のデフォルト", + "paragraphSpacingValue": "{value} em", + "letterSpacing": "文字間隔", + "letterSpacingHint": "文字間のスペース。既定のブックはパブリッシャーの間隔を保持します。", + "wordSpacing": "単語間隔", + "wordSpacingHint": "単語間のスペース。ブックデフォルトはパブリッシャーの間隔を保持します。", + "textIndent": "最初の行のインデント", + "textIndentHint": "通常の段落の先頭にインデントします。既定では、パブリッシャーのインデントが保存されます。", + "custom": "カスタム", + "emValue": "{value} em", "justify": "テキストを両端揃え", "justifyHint": "テキストを両方のマージンに合わせる", "hyphenation": "ハイフネーション", "hyphenationHint": "長い単語をハイフンで自動的に分割する", "advanced": "高度な設定", "maxContentWidth": "最大コンテンツ幅", + "maxContentWidthHint": "テキストエリアの最大幅 (ピクセル単位)", "columnGap": "列の間隔", "columnGapHint": "テキスト領域の各側の水平方向のパディング" }, @@ -1557,6 +2657,7 @@ "subtitle": "PDF ファイルを開くときに適用される既定の設定。", "layout": "レイアウト", "scrollMode": "スクロール モード", + "scrollModeHint": "ページは一度に1つずつ反転します。すべてのページを連続的にスクロールします。", "page": "ページ", "scrolled": "スクロール", "pageSpread": "ページの拡大", @@ -1591,6 +2692,7 @@ "fitPage": "ページ", "fitWidth": "Width", "fitHeight": "高さ", + "fitActual": "実際:", "readingDirection": "読書方向", "readingDirectionHint": "左から右へ西部漫画、右から左へ", "ltr": "L から R", @@ -1608,6 +2710,8 @@ "widePageDisable": "無効", "forceTwoPage": "小さい画面に2ページを強制的に表示する", "forceTwoPageHint": "ページ化された2ページモードが選択されている場合、モバイルの自動フォールバックをバイパスする", + "autoAdvance": "次のブックに自動的に進みます", + "autoAdvanceHint": "最後のページを過ぎて次の本を開きます", "off": "オフ", "on": "オン", "display": "表示", @@ -1636,6 +2740,7 @@ "subtitle": "eBook リーダーで使用するカスタムフォントをアップロードします。", "uploadFonts": "フォントをアップロード", "notAvailableDemo": "デモアカウントでは利用できません", + "uploading": "アップロード中...", "dropFilesHere": "ここにファイルをドロップ", "dragFontsPrefix": "フォントファイルをここにドラッグするか", "browse": "ブラウズする", @@ -1645,12 +2750,16 @@ "noFontsYet": "まだアップロードされたフォントはありません", "noFontsHint": "フォントファイルを上にドラッグして開始します。", "fileCount": "{count, plural, =0 {ファイルなし} one {# ファイル} other {# ファイル}}", + "pangram": "素早い茶色のキツネが怠け者の犬の上を飛び越える。", "renameFamily": "ファミリー名を変更", "deleteFamily": "ファミリーを削除", "editVariant": "重み/スタイルを編集", "deleteVariant": "バリエーションを削除", "styleNormal": "標準", "styleItalic": "Italic", + "weightItalicOf": "{weight} Italic", + "variableRange": "変数 {min}-{max}", + "variableStyles": "{count, plural, one {# style} other {# styles}}", "weightThin": "細いです", "weightExtraLight": "余分なライト", "weightLight": "ライト", @@ -1672,7 +2781,25 @@ "serverFontsHint": "これらのフォントはあなたのサーバー管理者から提供されています。読者を避けるにはオフにしてください。", "serverFontsShown": "{count} / {total} 表示", "serverFontsAllHidden": "すべてのサーバーフォントは非表示になります。リーダーは組み込みフォントと独自のフォントのみを提供します。", - "serverFontVisibilityFailed": "サーバーのフォント表示の更新に失敗しました" + "serverFontVisibilityFailed": "サーバーのフォント表示の更新に失敗しました", + "library": { + "columns": { + "use": "使用中" + }, + "yourDefault": "既定値", + "hiddenBadge": "Hidden", + "emptyHint": "上にフォントを追加するか、このページの任意の場所にファイルをドロップします。", + "dropTitle": "{count, plural, one {ドロップしてフォントに # ファイルを追加します} other {ドロップしてフォントに # ファイルを追加します}}", + "limitReached": "既に {limit} フォントファイルがあります。", + "filesUsed": "{count} あなたのの {max} 使用中", + "nameHint": "これはあなたの読者のフォントリストの名前です。", + "inReaderHint": "Reader であなたのフォントリスト › 設定, {name} が選択されました。", + "showInReader": "自分の読者に表示", + "showFamily": "読者に {name} を表示する", + "removeConsequenceBooks": "{count, plural, one {あなたの本の # に設定されています。その本は独自のフォントに戻ります。} other {あなたの本の # に設定されています。それらは自分のフォントに戻ります。}}", + "removeConsequenceDefault": "デフォルトのフォントです。独自の設定のない本は、本のデフォルトに戻ります。", + "removeQuestion": "フォントから {name} を削除しますか?" + } }, "bookDock": { "title": "Book Dock", @@ -1692,11 +2819,13 @@ "confidenceThreshold": "信頼度閾値: {value}%", "thresholdIgnored": "(埋め込みモードでは無視されます)", "destinationLibrary": "宛先ライブラリ", + "selectLibrary": "ライブラリを選択...", "metadataMode": "メタデータモード", "metadataModeSafeMerge": "安全なマージ(推奨)", "metadataModeFetchedOnly": "取得のみ", "metadataModeEmbeddedOnly": "埋め込みのみ", "destinationFolder": "宛先フォルダ", + "selectFolder": "フォルダを選択...", "saveSettingFailed": "設定の保存に失敗しました", "updateSettingFailed": "設定の更新に失敗しました", "autoFetchEnabled": "自動取得は有効です", @@ -1712,6 +2841,7 @@ "title": "ファイル名", "subtitle": "ファイルがアップロードされたときにどのようにディスク上で整理されるか、そしてダウンロードされたときにどのようにプレースホルダトークンを使用して名前が付けられるかを制御します。", "copy": "コピー", + "previewLabel": "プレビュー:", "globalDefaults": "グローバルデフォルト", "crossPlatform": "クロスプラットフォームのパスサニタイゼーション", "crossPlatformHint": "無効な文字や予約名を置き換えて、ドットやスペースを削除することで、Windows 上で生成されたファイルやフォルダ名を安全にします。 これらの文字を意図的に保持する Linux のみの設定を無効にします。", @@ -1732,14 +2862,17 @@ "clickTokenHint": "任意のトークンをクリックしてクリップボードにコピーします。", "copyValue": "{value} をコピー", "modifiers": "Modifiers", + "modifiersExplain": "値を変換するためにトークン内の修飾子を追加します:", "modFirst": "最初の値のみ", "modSort": "最後、最初の形式", "modInitial": "最初の文字のみ", "modFixed2": "小数点以下2", + "modMax3": "最大3つの値まで、それ以外はなし", "folderOnlyPrefix": "パターンを終了する", "folderOnlySuffix": "を選択してフォルダのみを指定します。元のファイル名はその中に保存されます。", "conditionalLogic": "条件付きLogic", "conditionalPart1": "折り返す", + "conditionalPart2": "をクリックしてトークンが空の場合にセグメントをスキップします。", "conditionalPart3": "を選択します。", "examples": "例", "exCalibre": "キャリブレーションスタイルのデフォルト", @@ -1789,6 +2922,8 @@ "resetLibraryPattern": "{name} を既定のパターンにリセット", "tokenTitle": "書籍タイトル", "tokenSubtitle": "本のサブタイトル", + "tokenAuthors": "作成者(s), カンマ区切り)", + "tokenNarrators": "ナレーター(s), カンマ区切り)", "tokenYear": "出版年", "tokenSeries": "シリーズ名", "tokenSeriesIndex": "系列インデックス (ゼロパディング)", @@ -1798,8 +2933,160 @@ "tokenLibrary": "ライブラリ名", "tokenOriginalFilename": "元のファイル名(拡張子なし)", "tokenExtension": "ファイル拡張子 (ドットなし)", + "tokenReadaloud": "メディアオーバーレイを持つEPUBの読み上げ用語。", "patternHelpIntro": "パターンは、 {titleToken} や {authorsToken}のようなトークンに加えて、修飾子やオプションのセグメントを使用します。", - "browseTokensAndExamples": "トークンと例を参照" + "browseTokensAndExamples": "トークンと例を参照", + "subtitleShort": "保存されたファイルのフォルダとファイル名のパターン。", + "rule": { + "fileAsBook": "ブックのデフォルトとしてのファイル", + "folderAsBook": "ブックのデフォルトとしてのフォルダ", + "download": "ファイル名をダウンロード" + }, + "howItWorks": { + "title": "道がどのように選ばれるか。", + "summary": "独自のパターンを持つライブラリが勝利します。他のすべてのライブラリは、組織モードのグローバルデフォルトに従います。 パターンを変更すると、すでにディスク上に本は移動しません。新しいアップロードは次のアップロードからそれに従います。" + }, + "filterRules": "フィルタルール", + "librariesGroup": "ライブラリ", + "customCount": "{custom}/{total} カスタム", + "noRuleMatches": "\"{query}\" に一致するルールはありません。", + "unsavedMarker": "未保存の変更があります", + "backToRules": "名前付けのルールに戻る", + "appliesToLibraries": "{count,plural,one{適用先 # ライブラリ} other{適用先 # ライブラリ} =0{このデフォルトを使用するライブラリはありません}}", + "downloadScope": "ZIPのダウンロードとエクスポート", + "badgeInherits": "デフォルトを継承する", + "badgeUnsaved": "未保存", + "patternLabel": "パターン", + "readOnlyFromGlobal": "グローバルデフォルトからの読み取り専用", + "useGlobalDefault": "グローバルデフォルトを使用する", + "resetToShipped": "出荷時の既定値にリセット", + "addOverride": "オーバーライドを追加", + "inheritsNotice": "このライブラリは {base}に従っています。オーバーライドを追加して、独自のパターンを与えます。", + "libraryRuleHint": "このライブラリのみ、 {base} をオーバーライドします。", + "scopeLibrary": "{name} のみにアップロードすることができます。", + "scopeDownload": "エクスポートZIP内のすべての単一ファイルのダウンロードとすべてのファイルに適用されます。", + "scopeGlobal": "{count,plural,one{適用先 # 独自のパターンを持たないライブラリです} other{適用先 # 独自のパターンを持たないライブラリです}}", + "scopeGlobalNone": "現在、このデフォルトのライブラリは使用されていません。このモードのすべてのライブラリに独自のパターンがあります。", + "unbalancedOptional": "任意のグループには角括弧がありません", + "unbalancedToken": "トークンに閉じ括弧がありません", + "structure": "構成", + "paletteOptional": "省略可能", + "paletteOptionalHint": "セグメントをラップするので、その中のトークンが空の場合にドロップされます", + "paletteFallback": "fallback", + "paletteFallbackHint": "任意のグループ内では、左側に入力できないときに使用されるテキストを入力します。", + "paletteSeparator": "フォルダ", + "paletteSeparatorHint": "新しいフォルダレベルを開始します。", + "modUpper": "アップセルケース", + "modLower": "小文字", + "recipesLabel": "またはレシピから開始", + "recipe": { + "seriesShelf": "シリーズ棚", + "calibre": "Calibre style", + "alphabetical": "アルファベット順", + "flat": "フラット、フォルダなし", + "originalName": "元のファイル名", + "authorTitle": "著者とタイトル", + "titleOnly": "タイトルのみ", + "seriesOrdered": "シリーズの注文" + }, + "resultPanel": "解決結果", + "resultFor": "結果: {rule}", + "copyResult": "解決済みの結果をコピー", + "resultCopied": "解決済みの結果をクリップボードにコピーしました", + "resultCopyFailed": "解決済みの結果のコピーに失敗しました", + "sampleBookNote": "すべてのプレビューに使用するサンプルブック", + "missingMetadata": "メタデータが見つからない場合", + "readaloudComparison": "音声読み上げ比較", + "readaloudEpub": "EPUBを読み上げてください", + "plainEpub": "Plain EPUB", + "caseNoSeriesLabel": "シリーズなし", + "caseNoYearLabel": "年なし", + "caseNoAuthorLabel": "投稿者なし", + "previewEmpty": "このパターンは何も解決しないので、代わりに元のファイル名が使われます。", + "previewEmptyShort": "何にも解決しない", + "crossPlatformShortHint": "Windowsの文字を置き換えます。プレビューはこの設定を反映します。", + "rulesSaved": "{count,plural,one{# 名前付けルールを保存しました} other{# 命名規則が保存されました}}", + "rulesSaveFailed": "{count, plural, one {# 命名規則の保存に失敗しました} other {命名規則の保存に失敗しました}}", + "rulesPartiallySaved": "{saved}を保存しました。 {failed}に失敗しました。失敗したルールはまだ保存されていない変更があります。", + "save": { + "unsaved": "{count, plural, one {# 未保存の変更} other {# 未保存の変更}}", + "upToDate": "保存されていない変更はありません", + "discard": "破棄する", + "action": "変更を保存", + "blocked": "保存する前に無効なパターンを修正" + }, + "examplesDescription": "レシピがカバーされない慣用句。スラッシュで終わるパターンはフォルダを解決し、その中にアップロードされたファイル名を保持します。", + "examplesApply": "適用", + "examplesApplyAria": "{label} パターンを適用する", + "examplesUploadOnly": "これらは参考のためにここに示されているアップロードパターンです。ブックまたはフォルダとしてファイルに切り替えると、ブックルールが適用されます。", + "examplesFileModeOnly": "Book としてのフォルダには独自のファイル名セグメントが必要なので、このイディオムは File as Book ライブラリにのみ適用されます。", + "example": { + "seriesOrStandalone": "シリーズ、またはスタンドアロンフォルダ", + "optionalSubtitle": "オプションのサブタイトル", + "languageFolder": "言語フォルダ", + "publisherFolder": "パブリッシャーフォルダ", + "stackedOptional": "積み重ねられた任意のフォルダ", + "folderDrop": "フォルダのみ、アップロードされたファイル名を保持します" + }, + "exampleCase": { + "complete": "Complete", + "noSeries": "シリーズなし", + "noSubtitle": "字幕なし", + "noLanguage": "言語がありません", + "noPublisher": "発行者なし" + }, + "unknownModifier": "不明な修飾子 \"{modifier}\". この値は無視され、値は変更されません。", + "rulesNav": "名前のルール", + "railFoot": "独自のパターンを持たないライブラリは、それが置かれているデフォルトに従います。", + "usedBy": "{libraries} が使用しています", + "followsBase": "{base} をフォローします。", + "copyPattern": "パターンをコピー", + "recipes": "レシピ", + "recipesTitle": "レシピから始める", + "recipesReplace": "パターン全体を置き換えます", + "recipeInUse": "使用中", + "insert": "Insert", + "insertToolbar": "パターンに挿入", + "insertOptional": "省略可能", + "insertFallback": "Fallback", + "insertFolder": "フォルダ", + "lineHint": "{enter} を押して新しいフォルダを開始するか、 {brace} と入力してトークンを選択します。 値がない場合、フォルダアイコンをクリックしてそのフォルダをスキップします。", + "downloadLineHint": "ダウンロードにはフォルダがないため、パターンの最後の部分だけが使用されます。", + "tokenSuggestions": "一致するトークン", + "noTokenMatch": "\"{query}\" に一致するトークンはありません。", + "uploadedNameKept": "アップロードしたファイル名の保持", + "level": { + "folder": "フォルダ {n}", + "bookFolder": "ブックフォルダ", + "file": "ファイル名", + "skipWhenEmpty": "値がない場合は {level} をスキップ", + "skippedWhenEmpty": "値がないときにスキップされます。クリックすると常にこのフォルダを作成します。", + "alwaysCreated": "常に作成されます。クリックすると、値がない場合はこのフォルダをスキップします。" + }, + "result": "結果", + "previewWith": "次でプレビュー", + "previewWithAria": "{title} でプレビュー", + "previewBook": { + "sample": "サンプルブック", + "longTitle": "長いタイトルとシリーズ", + "longSubtitle": "長い字幕", + "manyAuthors": "著者5名", + "audiobook": "オーディオブック", + "standalone": "シリーズなし" + }, + "previewingCase": "プレビュー中: {case}", + "showComplete": "完了したものを表示", + "previewStale": "パターンが固定されるとプレビューは追いつきます。", + "noChange": "変更なし", + "tagSkipped": "スキップされました", + "tagFallback": "fallback", + "tagBookFolder": "本のフォルダ", + "tagUploadedName": "名前をアップロードしました", + "tagShortened": "255バイトに短縮しました", + "tagEmptyName": "名前が空です", + "levelSkipped": "{token} が空なのでスキップされました", + "levelEmptyName": "フォルダ名が空です。フォルダにフォールバックがあるので、常にフォルダ名を入力してください。", + "renameNote": "ファイル名を変更するライブラリは、次回本の詳細が保存されるときにこのパターンを適用します: {libraries}。" }, "kobo": { "title": "Kobo Sync", @@ -1807,6 +3094,9 @@ "copy": "コピー", "never": "一切なし", "justNow": "現在", + "minutesAgo": "{count}分前", + "hoursAgo": "{count}時間前", + "daysAgo": "{count}d日前", "loadFailed": "読み込みに失敗しました", "devicePaired": "デバイスが正常にペアリングされました", "devicePairedHint": "あなたのKoboを設定する準備ができました。以下の手順に従ってください。", @@ -1816,6 +3106,7 @@ "addDevice": "デバイスを追加", "deviceName": "端末名", "deviceNamePlaceholder": "例: My Kobo Libra", + "creating": "作成中...", "createDevice": "デバイスを作成", "createDeviceFailed": "デバイスの作成に失敗しました", "deviceRegistered": "デバイス \"{name}\" が登録されました", @@ -1838,6 +3129,8 @@ "syncHighlightsHint": "BookOrbitやKOReaderで作られたハイライトをKoboに送信すると、これがオフの場合でも、KoboのハイライトはBookOrbitにインポートされます。 リンクされた注釈は、両方の方法で編集を同期し、削除します。KEPUBデリバリが必要です。Koboの本はBookOrbitからダウンロードされたKEPUBでなければなりません。", "storeSync": "弘法ストアのタイトルを含める", "storeSyncHint": "また、あなたのBookOrbitライブラリと並んで、Kobo Plusや購入などの弘法アカウントから書籍をお届けします。 これがなければ、BookOrbitのブックだけがデバイスにアクセスします。ストアタイトルは直接Koboからダウンロードされ、BookOrbitライブラリには追加されません。", + "fullSizeCovers": "フルサイズカバー", + "fullSizeCoversHint": "Koboの画面解像度でそれぞれカバーを送信するので、スリープスクリーンとフルスクリーンのカバーがシャープになります。 これをオフにすると、より早く同期するカバーを小さくすることができます。本のカバーが変更された場合にのみ、工房のカバーは変更されます。", "convertKepub": "KEPUBに変換", "convertKepubHint": "適切なEPUBをKEPUBとして送信します。これは進行状況の同期またはBookOrbit-Koboハイライトが有効になっている場合に有効です。 次回の弘法同期では、影響を受ける書籍はKEPUBがダウンロードされ、古いEPUBコピーはKoboが開き続けると削除されます。", "forceHyphenation": "強制ハイフネーション", @@ -1851,6 +3144,7 @@ "kepubLimit": "KEPUBの変換制限", "kepubLimitHint": "この制限を超える本は通常のEPUBとして送信されるため、BookOrbitはリーダーの位置をKoboに戻すことはありません。", "changesMustBeSaved": "有効にするには変更を保存する必要があります。", + "saving": "保存中...", "saveSyncSettings": "同期設定を保存", "thresholdOrderError": "読み取り閾値は完了しきい値より小さくなければなりません", "saveSettingsFailed": "設定の保存に失敗しました", @@ -1919,7 +3213,10 @@ "libraryUpdatesPrepared": "{count, plural, one {# 個のライブラリがデバイスに追加されました} other {# 個のライブラリがデバイスに追加されました}}", "bookDownloadedBy": "{title} は {device} によってダウンロードされました", "booksDownloaded": "{count, plural, one {# 本がダウンロードされました} other {# 本がダウンロードされました}}", + "progressUpdatesSyncedFor": "{count,plural,one{# 進捗状況の更新が同期されました: {title}} other{# 進捗状況の更新が同期されました: {title}}}", + "progressUpdatesSynced": "{count,plural,one{# 進行状況の更新が同期されました} other{# 進行状況の更新が同期されました}}", "newReadingPositionFor": "工房が {title}の新しい読み取り位置を報告しました", + "newReadingPosition": "弘法は新たな読書位置を報告した。", "noHighlightChangesNeededFor": "{title} のハイライト変更は必要ありません", "noHighlightChangesNeeded": "ハイライトの変更は必要ありません", "highlightsSentToKoboFor": "{count, plural, one {#ハイライトが {title}} other {# ハイライトが {title}}}", @@ -1939,12 +3236,15 @@ "filterAll": "すべて", "filterFailures": "失敗", "refresh": "更新", + "loadingActivity": "Kobo アクティビティを読み込んでいます...", "noActivityHint": "ペアの Kobo 連絡先 BookOrbit の後に、最近の同期が表示されます。", "error": "エラー", + "loading": "読み込み中...", "loadMore": "さらにアクティビティを読み込む" }, "howBooksSynced": { - "title": "ブックの同期方法" + "title": "ブックの同期方法", + "body": "本を弘法デバイスに送信するには、有効にする必要があります {syncToKobo} をクリックします。サイドバーから任意のコレクションを開き、編集アイコンをクリックして、切り替えます。 {syncToKobo}を選択します。" }, "nextSteps": { "title": "次のステップ", @@ -1981,6 +3281,7 @@ "seriesBooks": "シリーズの本", "seriesHelp": "オプションのパスは、一連のメタデータを持つブックにのみ使用されます。このデバイスのデフォルトのパスパターンを使用するには、空白のままにします。", "standaloneBooks": "シリーズのない本", + "standaloneHelp": "オプションのパスは,一連のメタデータを持たないブックにのみ使用されます.このデバイスのデフォルトのパスパターンを使用する場合は空白のままにします.", "inheritPlaceholder": "この端末のデフォルトパターンを使用するには空白のままにしてください", "useAccount": "アカウントのデフォルトを使用", "saveOverride": "上書き保存", @@ -1993,9 +3294,13 @@ "deviceSaveFailed": "デバイスの上書き保存に失敗しました", "deviceResetFailed": "デバイスのオーバーライドをリセットできませんでした" }, + "loadingSettings": "KOReader の設定を読み込んでいます...", "loadFailed": "KOReader 設定の読み込みに失敗しました", "never": "一切なし", "justNow": "現在", + "minutesAgo": "{count}分前", + "hoursAgo": "{count}時間前", + "daysAgo": "{count}d日前", "unknown": "不明", "updateAvailable": "アップデートがあります", "manualUpdateRequired": "手動での更新が必要", @@ -2026,9 +3331,11 @@ "showPassword": "新しいパスワードを表示", "hidePassword": "新しいパスワードを隠す", "save": "資格情報を保存", + "saving": "保存中...", "updated": "KOReader 資格情報が更新されました", "updateFailed": "KOReader 資格情報の更新に失敗しました" }, + "creating": "作成中...", "create": "作成", "credentialsCreated": "KOReader 同期認証情報が作成されました", "createCredentialsFailed": "資格情報の作成に失敗しました", @@ -2049,11 +3356,15 @@ "copied": "コピーしました", "copyUrl": "URLをコピー", "preconfiguredPlugin": "事前設定された BookOrbit プラグイン", + "preconfiguredPluginHintPrefix": "サーバーのURLと同期ログインがすでに設定されているzipファイルをダウンロードします。プラグインにはカタログ参照と同期が含まれています。フォルダをコピーします。", "preconfiguredPluginHintSuffix": "をクリックしてKOReaderを再起動します。", "latestPluginNote": "{label}. デバイスのアップデートはKOReaderのBookOrbitメニューから実行されます。", + "preparing": "準備中...", "downloadPlugin": "プラグインをダウンロード", "noDevicesSynced": "デバイスはまだ同期されていません", "noDevicesSyncedHint": "まったく同期するためにBookOrbitプラグインをインストールするか、プログレスのみのアップデートのためにKOReaderのストック進行状況同期を設定してください。", + "lastSyncLabel": "前回の同期:", + "lastBookLabel": "最後の本:", "noneYet": "まだありません", "pluginActivity": "プラグインのアクティビティ", "noPluginActivity": "まだプラグインのアクティビティが報告されていません。", @@ -2064,6 +3375,8 @@ "highlights": "ハイライト", "syncedTotals": "同期合計", "trashedHighlights": "削除したハイライト", + "pendingDeletes": "{count,plural,one{# KOReader プラグインの確認を待つハイライトを削除しました。} other{# 削除されたハイライトはKOReaderプラグインの確認を待っています。} =0{KOReaderプラグイン確認待ちの削除されたハイライトはありません。}}", + "failedPositions": "{count,plural,one{# ハイライト位置に注意が必要です} other{# ハイライト位置には注意が必要です} =0{ハイライトの位置に注意を必要としません}}", "setupGuide": "セットアップガイド", "setupSteps": "KOReader の設定手順", "setupStepsHint": "カタログの閲覧、ダウンロード、進行状況、イベントの読み取り、ハイライトにBookOrbitプラグインを使用します。進行状況のみにストックプラグインを使用します。", @@ -2071,12 +3384,15 @@ "pluginStep1": "上記の事前設定されたプラグインをダウンロードします。", "pluginStep2Prefix": "解凍してコピー", "pluginStep2Middle": "to", + "pluginStep2Suffix": "お使いのデバイスで", "pluginStep3": "KOReader を再起動します。サーバーとログインは自動的に設定されます。", "pluginStep4Prefix": "開く", "pluginStep4Suffix": "本を検索し、ダウンロードし、同期するためのリンクを行うことができます。", "stockGuideTitle": "ストック進行状況の同期プラグイン", "stockStep1Prefix": "KOReader デバイス上で", + "stockStep1Suffix": ".", "stockStep2": "上記のURLにカスタム同期サーバーを設定します。", + "stockStep2InlineUrl": "カスタム同期サーバーを次のURLに設定します。", "stockStep3": "作成したユーザー名とパスワードを入力し、ログインをタップします。", "locationNote": "BookOrbitはKOReader対応のEPUBの場所をWebリーダーから保存します。 正確なライン配置はリーダとEPUBレイアウトによって異なりますが、復元は同じ位置に近づく必要があります。", "dangerZone": "危険ゾーン", @@ -2103,8 +3419,15 @@ "link": "リンク", "change": "変更", "unlink": "リンクを解除", + "hash": "ハッシュ:", "lastOpened": "最終開封日時:", + "firstSeen": "最初に見る:", + "lastSeen": "最後に見る:", + "linked": "リンク済み:", + "updated": "更新日:", "linkedTo": "{title} にリンクしました", + "loadingUnmatched": "一致しない本を読み込み中...", + "loadingManual": "手動ハッシュリンクを読み込み中...", "noUnmatched": "他に類を見ないKOReaderの本はありません。", "noManual": "マニュアルのKOReaderリンクはありません。", "pageOf": "ページ {page} / {total}", @@ -2126,7 +3449,13 @@ "unmatchedDismissed": "一致しない本を却下しました", "dismissFailed": "マッチしない本を削除できませんでした", "allDismissed": "{count, plural, =0 {比類のない本はありません} one {#マッチのない本} other {#マッチのない本}}", - "dismissAllFailed": "マッチしない本をすべて削除できませんでした" + "dismissAllFailed": "マッチしない本をすべて削除できませんでした", + "reviewRefreshed": "復習書を更新しました", + "reviewRefreshFailed": "確認のため本を更新できませんでした", + "reviewDismissed": "レビューから解除された本", + "reviewDismissFailed": "レビューから本を削除できませんでした", + "reviewAllDismissed": "{count, plural, =0 {レビューから本を削除しません} one {レビューから#本を削除しました} other {レビューから#本を削除しました}}", + "reviewDismissAllFailed": "すべての本をレビューから削除できませんでした" }, "modal": { "linkTitle": "KOReader の本をリンク", @@ -2134,6 +3463,7 @@ "bookOrbitBook": "BookOrbit ブック", "searchPlaceholder": "BookOrbit ライブラリを検索", "minChars": "少なくとも 2 文字を入力してください。", + "searching": "検索中...", "noBooksFound": "本は見つかりません。", "untitledBook": "無題の本", "selected": "選択済み", @@ -2145,44 +3475,65 @@ "bookId": "ブックID: {id}", "syncedStatsNote": "すでに同期された統計は現在の BookOrbit ブックに表示されます。", "chooseDifferent": "別のものを選択", + "saving": "保存中...", "confirmLink": "リンクを確認", "unlinkTitle": "KOReader の本のリンクを解除しますか?", - "unlinkBody": "このハッシュの将来の同期は、再びリンクされるまで {title} への解決を停止します。すでに同期された統計は現在のBookOrbitブックに表示されます。" + "unlinkBody": "このハッシュの将来の同期は、再びリンクされるまで {title} への解決を停止します。すでに同期された統計は現在のBookOrbitブックに表示されます。", + "unlinking": "リンクを解除中..." }, "dismiss": "却下する", "dismissAll": "すべて解除", + "dismissing": "削除中...", + "unlinking": "リンクを解除中...", "unlinkConfirmTitle": "KOReader の本のリンクを解除しますか?", "unlinkConfirmBody": "このハッシュの将来の同期は、再びリンクされるまで {title} への解決を停止します。すでに同期された統計は現在のBookOrbitブックに表示されます。", "dismissConfirmTitle": "{title} を却下しますか?", "dismissConfirmBody": "一致しないブックリストから削除します。いずれかのデバイスがこのハッシュを再度報告すると、新しいエントリとして再表示されます。", + "dismissAllConfirmTitle": "{count,plural,one{すべて解除 # 比類のない本?} other{すべて解除 # 比類のない本?} =0{比類のない本はありません}}", "dismissAllConfirmBody": "これにより、現在のページだけでなく、一致しない書籍リスト全体がクリアされます。 いずれかのデバイスがこれらのハッシュのいずれかを再度報告すると、新しいエントリとして再び表示されます。", "changeLinkTitle": "KOReader リンクを変更", "linkBookTitle": "KOReader の本をリンク", "bookOrbitBook": "BookOrbit ブック", "searchLibraryPlaceholder": "BookOrbit ライブラリを検索", "enterMinChars": "少なくとも 2 文字を入力してください。", + "searching": "検索中...", "noBooksFound": "本は見つかりません。", "untitledBook": "無題の本", "selected": "選択済み", "select": "選択", "loadMore": "さらに読み込む", + "loadingMore": "読み込み中...", "confirmLinkTitle": "KOReader リンクを確認する", "bookId": "ブックID: {id}", "syncedStatsNote": "すでに同期された統計は現在の BookOrbit ブックに表示されます。", "chooseDifferent": "別のものを選択", - "confirmLink": "リンクを確認" + "saving": "保存中...", + "confirmLink": "リンクを確認", + "reviewTitle": "KOReader ブックスのレビュー", + "reviewHint": "自動一致のないブックとリンクされていないブックがここに表示されます。リンクされていないブックは自動一致で同期されます。 ブックをリンクしてそのマッチを上書きするか、このリストから削除するためにそれを消去します。", + "loadingReview": "本を読み込んでいます...", + "noReview": "見直すKOReaderの本はありません。", + "manualUnlinkConfirmBody": "{title} へのマニュアルリンクを削除し、この本をレビュー一覧に戻します。 今後の同期は自動一致が存在する場合に使用されます。すでに同期された統計は現在のBookOrbitブックに残ります。", + "reviewDismissConfirmBody": "これにより、ブックからそれを削除してレビューします。自動マッチングと既存の同期データは保持されます。 デバイスが一致せずに再度ハッシュを報告すると、再び表示される可能性があります。", + "reviewDismissAllConfirmTitle": "{count,plural,one{すべて解除 # 本を読む?} other{すべて解除 # レビューする本?} =0{レビューする本がありません}}", + "reviewDismissAllConfirmBody": "これにより、他のページのエントリを含めて、ブック全体をレビューすることができます。 自動一致と既存の同期データは保持されます。デバイスが一致しない場合、再びハッシュを報告することができます。" }, "remove": "削除", + "removing": "削除中...", "unmatchedBooks": "比類のない本", "deviceRemoved": "デバイスを削除しました", "removeDeviceFailed": "デバイスの削除に失敗しました", + "removeDeviceConfirmTitle": "削除 {device}?", "removeDeviceConfirmBody": "これにより、デバイスの同期された進行状況、読み取りアクティビティ、および他のデバイスによって報告されていない本のエントリが完全に削除されます。 デバイスが再び後で同期すると、新しいエントリとして再び表示されます。", "deleteDeviceDataConfirmTitle": "{device} から同期されたデータを削除しますか?", "deleteDeviceDataConfirmBody": "これは、このデバイスの同期された進行、ページごとのページ読み取りアクティビティ、および他のデバイスによって報告されなくなった一致しない本のエントリを完全に削除します。 統計に記録されているセッションは保持されます。デバイスが後で再び同期すると、新しいエントリとして再び表示されます。", "devicesHint": "デバイスを非表示にし、同期したすべてのデータを保持します。同期したデータを削除すると元に戻すことはできません。", "retire": "リタイア", + "retiring": "退職しています...", "restore": "復元", + "restoring": "復元中...", "deleteSyncedData": "データを削除", + "deletingSyncedData": "削除中...", "deviceRetired": "デバイスが退職しました", "deviceRestored": "デバイスを復元しました", "retireDeviceFailed": "デバイスの引退に失敗しました", @@ -2209,6 +3560,7 @@ "passwordPlaceholder": "最低8文字", "defaultSort": "デフォルトの並べ替え", "sortLabel": "並べ替え", + "creating": "作成中...", "create": "作成", "noAccounts": "OPDSアカウントはまだありません。OPDSクライアントを使い始めるアカウントを作成してください。", "hideDetails": "詳細を隠す", @@ -2252,21 +3604,581 @@ "tabs": { "file-naming": "ファイル名", "book-dock": "Book Dock", + "requests": "リクエスト", "maintenance": "メンテナンス", "audit-log": "監査ログ" + }, + "requests": { + "title": "リクエスト", + "subtitle": "リリースが発見された場所, 何がそれらを取得します, そして、彼らが着陸したら何が起こります.", + "tabs": { + "sources": "ソース", + "clients": "クライアントをダウンロード", + "automation": "自動化" + }, + "loading": "ダウンロードクライアントを読み込み中...", + "clients": "クライアントをダウンロード", + "addClient": "クライアントを追加", + "editClient": "クライアントを編集", + "deleteClient": "{name} を削除", + "clientsEmpty": { + "title": "まだダウンロードクライアントがありません", + "body": "直接HTTPダウンロードはクライアントを必要としません。BookOrbitはトレントやUsenetによって配信されるリリースをフェッチすることができます。", + "note": "qBittorrent, Transmission, Deluge, NZBGet, SABnzbd がサポートされています。" + }, + "summary": "{type} - カテゴリ {category}, 優先順位 {priority}", + "disabled": "無効", + "test": "接続をテスト", + "testSaveFirst": "テストする前に変更を保存してください", + "testOk": "{client} {version} に接続しました", + "testOkNoVersion": "{client} に接続しました", + "lastTestOk": "最終テスト済み {time}: 接続済み", + "lastTestFailed": "最終テスト {time}: {error}", + "saved": "クライアントをダウンロードしました。", + "deleted": "ダウンロードクライアントが削除されました", + "clientTypes": { + "qbittorrent": "qBittorrent", + "transmission": "伝染力", + "deluge": "Deluge", + "nzbget": "NZBGet", + "sabnzbd": "SABnzbd" + }, + "color": { + "label": "色", + "hint": "このクライアントを転送詳細にマークします。転送プロトコルは独自の色を保持します。", + "none": "色なし" + }, + "fields": { + "name": "名前", + "type": "クライアントの種類", + "baseUrl": "ベースURL", + "username": "ユーザー名", + "password": "パスワード", + "apiKey": "API キー", + "passwordKeep": "保存されているパスワードを保持するには空白のままにしてください", + "apiKeyKeep": "保存されているAPIキーを保持するには空白のままにしてください", + "passwordClear": "クリア", + "passwordKeepAction": "保持する", + "passwordWillClear": "保存時に保存されたパスワードは削除されます", + "apiKeyWillClear": "保存時に保存された API キーが削除されます", + "category": "カテゴリ", + "categoryHint": "タグは、ダウンロードBookOrbitが追加されますので、独自に動作するだけです。", + "priority": "優先度", + "enabled": "有効", + "useHardlinks": "ハードリンクを使用", + "allowPrivateAddress": "プライベートアドレスを許可する", + "allowPrivateAddressHint": "クライアントがローカルネットワークまたは同じマシン上で実行される場合に必要です。", + "passwordBrief": "保存された暗号化されています。", + "apiKeyBrief": "設定 > 一般のSABnzbdで見つかりました。保存された暗号化されています。", + "useHardlinksBrief": "Imports without using the disk twide. Falls back to a copy over filesystems." + }, + "mappings": { + "title": "パスマッピング", + "hint": "クライアントが報告するパスをBookOrbitが開くことができるパスに変換します。2つの実行が別々のコンテナで行われる場合に必要です。", + "add": "マッピングを追加", + "remove": "マッピングを削除", + "remotePath": "クライアントのパス", + "localPath": "BookOrbit のパス", + "brief": "必要なディレクトリを宣言する BookOrbit はインポートすることができます; クライアントが同じパスで同じファイルを見た場合、ダウンロードディレクトリを自分自身にマップします。", + "identityExample": "同じファイルシステムですか? 左側の /downloads、右側の /downloadsなど、両側で同じパスを使用します。" + }, + "hardlink": { + "test": "ハードリンクのテスト", + "checking": "確認しています...", + "works": "ハードリンクはここで動作します: importはディスクを2回使用しません。", + "unavailable": "ハードリンクはここでは使用できません: import はスペースを2回使用してコピーします。", + "link_refused": "このファイルシステムはリンク ({code}) を拒否しました: import は空白を 2 回使ってコピーします。", + "download_dir_unwritable": "BookOrbitはダウンロードディレクトリ({code})に書き込めないため、ハードリンクをテストできませんでした。", + "localMissing": "BookOrbit はそのパスを見ることができません。", + "dockMissing": "ブックドックフォルダは読み取りできません。" + }, + "reconciliation": { + "action": "リコンキュール", + "clean": "所有しているすべてのクライアントアイテムは、保持された BookOrbit のダウンロードの試行と一致します。", + "unsupported": "このクライアントは、BookOrbitの所有権マーカーでアイテムを列挙できません。Delugeの場合、ラベルプラグインを有効にしてください。Transmissionの場合、カテゴリフォルダを設定してください。", + "truncated": "クライアントは1,000を超える所有アイテムを返しました。表示されるエントリを解決し、再びリコンシイルします。", + "orphan": "このクライアントアイテムは保持されていません。", + "failedAttempt": "クライアントはこのアイテムを保持していますが、\"{title}\" の試みに失敗しました。", + "missing": "この {status} の試みは、もはやダウンロードクライアントに存在しません。", + "adopt": "{title} に添付", + "adopted": "クライアントアイテムを {title} に添付しました", + "remove": "クライアントから削除", + "removed": "孤立したクライアント項目を削除しました", + "removeTitle": "この孤立したクライアントアイテムを削除しますか?", + "removeDescription": "{name} はダウンロードクライアントから削除されます。ダウンロードしたファイルは保持されます。", + "notOrphan": "そのクライアント・アイテムは BookOrbit のダウンロードの試みにまだ添付されています。", + "notAdoptable": "そのクライアント・アイテムまたは失敗した試みが変更され、もはやアタッチすることはできません。" + }, + "errors": { + "loadFailed": "ダウンロードクライアントを読み込めませんでした", + "saveFailed": "ダウンロードクライアントを保存できませんでした", + "deleteFailed": "ダウンロードクライアントを削除できませんでした", + "testFailed": "ダウンロードクライアントに到達できませんでした", + "nameAndUrlRequired": "名前とベース URL が必要です", + "nameTaken": "その名前のダウンロードクライアントは既に存在します", + "urlUnsafe": "ベースURLに到達できませんでした。アドレスとhttpまたはhttpsを使用していることを確認してください。", + "urlPrivate": "そのアドレスはプライベートまたはローカルネットワーク上にあります。クライアントが実行されている場合は「プライベートアドレスを許可」をオンにしてください。", + "encryptionKeyMissing": "クライアントの資格情報を保存する前に BOOK_REQUEST_ENCRYを設定します。次の条件で生成します: openssl rand -hex 32", + "encryptionKeyChanged": "ストアされたクライアントの資格情報を読み取ることができませんでした。BOOK_REQUEST_ENCRYPTION_KEY は保存されてから変更された可能性があります。", + "pathNotAbsolute": "パスマッピングは両側に絶対パスを使用する必要があります", + "nameRequired": "このクライアントに名前を付けてください。", + "urlRequired": "BookOrbitがこのクライアントに到達するアドレスを入力してください。", + "mappingRequired": "少なくとも 1 つのパスマッピングを追加します。そのため、BookOrbit はインポートできるディレクトリを知っています。", + "apiKeyRequired": "Config > GeneralからSABnzbd APIキーを入力してください。" + }, + "encryptionKeyMissing": "BOOK_REQUEST_ENCRYPTION_KEY が設定されていないため、クライアントの資格情報を保存できません。次の条件で生成します: openssl rand -hex 32", + "confirmDelete": { + "title": "このダウンロードクライアントを削除しますか?", + "description": "{name}のアドレスと保存された資格情報が削除され、そこでのダウンロードリクエストは更新を停止します。詳細を保つために代わりにオフにしてください。", + "confirm": "クライアントを削除" + }, + "indexers": { + "title": "ダイレクトフィード", + "hint": "Usenetリリース用のTorznabフィードまたはNewznabフィードに個別のTorznabフィードを接続します。", + "allDisabled": "以下のソースはすべてオフになっているため、リクエスト検索では何も見つかりません。少なくとも1つはオンにしてください。", + "loading": "インデックスを読み込み中...", + "empty": { + "title": "ソースはまだありません", + "body": "BookOrbitはソースを束ねていませんので、追加するまでリクエスト検索では何も見つかりません。インデックスに合ったセットアップを選択してください。", + "bodyOneWay": "BookOrbitは独自のソースをバンドルしていないため、リクエスト検索では追加するまで何も見つかりません。", + "responsibility": "インデックスを追加するソースはあなたの責任です。", + "prowlarrTitle": "Prowlarrに接続", + "prowlarrBody": "1つの接続を介して複数のトレントとUsenetインデックスを管理します。", + "recommended": "Recommended", + "pluginTitle": "プラグインをインストール", + "pluginBody": "特定のサイトを検索するためにBookOrbitを教える一つのファイル. あなたはそれを提供し、その設定を入力します.", + "torznabTitle": "Torznabインデックスを追加", + "torznabBody": "Prowlarr、Jackett、NZBHydraフィードで既に実行されています。フィードあたり1つ。", + "builtInTitle": "インデクサを追加", + "builtInBody": "すでに使用している Torznab または Newznab フィードをポイントします。フィードごとに 1 つの構成になります。" + }, + "add": "インデクサーを追加", + "edit": "インデクサを編集", + "delete": "{name} を削除", + "none": "インデクサはまだありません。", + "disabled": "無効", + "test": "接続をテスト", + "testSaveFirst": "テストする前に変更を保存してください", + "testOk": "{name} に接続しました", + "toggleAria": "{name} で検索", + "enabledNotice": "{name} が検索されます", + "disabledNotice": "{name} は検索されません", + "lastTestOk": "最終テスト済み {time}: 接続済み", + "lastTestFailed": "最終テスト {time}: {error}", + "saved": "インデックスを保存しました", + "deleted": "ソースが削除されました", + "unavailable": "このインストールには \"{type}\" インデクサータイプがありません。タイプを変更するか、プラグインと保存された設定を削除してください。", + "pluginFailed": "\"{directory}\" のプラグインが読み込まれませんでした: {reason}", + "sources": { + "title": "ソース", + "hint": "すべてのBookOrbitは、接続ごとにグループ化された検索ができます。", + "add": "ソースを追加", + "prowlarr": "Prowlarrに接続", + "prowlarrHint": "複数のトレントとUsenetインデックスを一緒に管理します。", + "direct": "Torznab または Newznab を追加", + "directHint": "1 つの互換性のあるフィードを直接接続します。", + "plugin": "プラグインをインストール", + "pluginHint": "特殊なソース実装を追加します。", + "activeSummary": "{count, plural, one {# アクティブなソース} other {# アクティブなソース}}: {torrent} torrent, {usenet} Usenet, {direct} directly" + }, + "network": { + "title": "高度なネットワーク", + "hint": "このソースへのデフォルトのパスが動作しない場合にのみ必要です。 許可されているものは変更されません:アドレスに達しているものは同じ方法でまだチェックされます。", + "resolvers": "DNS サーバー", + "proxyUrl": "プロキシ URL", + "proxyHint": "このソースのリクエストを送信する http または https プロキシはサポートされていません。", + "brief": "このソースへのデフォルトのパスが動作しない場合にのみ必要です。", + "resolversBrief": "カンマ区切り。このソースのシステムリゾルバの代わりに使用されます。空白はシステムを使用します。", + "proxyBrief": "このソースの http または https プロキシ。SOCKSはサポートされていません。" + }, + "types": { + "torznab": "Torznab (Jackett, Prowlarr, NZBHydra)", + "newznab": "Newznab" + }, + "fields": { + "name": "名前", + "type": "インデクサの種類", + "baseUrl": "ベースURL", + "baseUrlHint": { + "torznab": "クエリ文字列なしの Torznab フィードの URL です。Jackett は、各インデックスに \"Torznab Feed\" としてそれを表示します。", + "newznab": "検索クエリなしの Newznab サイトの URL または API エンドポイント。" + }, + "credential": { + "apiKey": "API キー", + "sessionId": "セッションID" + }, + "credentialKeep": "保存されている資格情報を保持するには空白のままにしてください", + "credentialClear": "クリア", + "credentialKeepAction": "保持する", + "credentialWillClear": "保存時に保存された資格情報が削除されます", + "enabled": "有効", + "allowPrivateAddress": "プライベートアドレスを許可する", + "credentialBrief": "保存された暗号化されています。", + "allowPrivateAddressBrief": "デフォルトではオフです。ソースがローカルネットワーク上にある場合にのみ必要です。", + "searchByIsbn": "ISBNで検索", + "searchByIsbnBrief": "デフォルトでオン。 このソースが正確なISBNの間違った本を返す場合は、無効にしてください。そして代わりにタイトルと著者で検索されます。" + }, + "color": { + "label": "色", + "hint": "返されるすべてのリリースにこのソースをマークするので、その名前を読む前に結果がどこから来たのかを知ることができます。 配送プロトコルは独自の色を保持しているため、それらの色はここでは提供されません。", + "none": "色なし", + "options": { + "blue": "青", + "indigo": "Indigo", + "purple": "パープル", + "pink": "ピンク", + "red": "赤", + "orange": "オレンジ", + "yellow": "黄色", + "lime": "黄緑", + "green": "緑", + "teal": "ティール" + } + }, + "mediaKinds": { + "label": "このソースを検索", + "hint": "このソースは約尋ねる価値がない媒体をオフにしなさい。 一般的なプロキシの後ろのオーディオブックのみの追跡者はまだそれがすべてを運ぶと言い、ebooks のためにそれを捜すことはあらゆる調査の要求を要求する。", + "notCarried": "このソースはそれを持っていません。" + }, + "categories": { + "title": "カテゴリ", + "brief": "インデクサー自身のカテゴリ番号。カンマで区切ってください。" + }, + "settings": { + "restoreDefault": "既定に戻す" + }, + "seeding": { + "applyTracker": "トラッカーシードの目標を適用", + "applyTrackerBrief": "手動の値が空白の場合は、トラッカーが報告した有効な目標を使用してください。 これがオフの場合、空白の値は、ダウンロードクライアントのデフォルトを使用します。手動の値は依然として適用されます。", + "ratio": "シード比", + "ratioBrief": "正の10進数。空白はトラッカーまたはクライアントから継承します。", + "time": "シード時間 (分)", + "timeBrief": "正の整数。空白はトラッカーまたはクライアントから継承します。", + "clientSupport": "qBittorrentは、比率とシード時間の合計を受け付けます。 クライアントのグローバルルールおよび最初に到達した制限はシードを停止することができるため、これらの値はすべてのトラッカーの最小値が満たされていることを保証するものではありません。", + "futureGrabs": "変更は将来のグラブに適用されます。既存または採用されたトレントは、クライアント固有の制限を維持できます。 トラッカーのフォールバックをオフにすると、クライアントのデフォルトがアクティブになります。無制限のシードを意味するものではありません。", + "reset": "シード設定をリセット", + "summary": { + "title": "ポリシーの概要", + "ratio": "Ratio", + "time": "シード時間", + "manual": "マニュアル: {value}", + "tracker": "Tracker fallback", + "client": "クライアントのデフォルト" + }, + "errors": { + "ratio": "0 より大きな有限数を入力するか、空白のままにしてください。", + "minutes": "1から2,147,483,647までの整数を入力するか、空白のままにしてください。" + } + }, + "confirmDelete": { + "title": "このソースを削除しますか?", + "description": "{name}のアドレス、設定、保存された資格情報が削除されます。それらを失うことなく検索を停止するには、代わりにオフにしてください。", + "confirm": "ソースを削除" + }, + "errors": { + "loadFailed": "インデクサーを読み込めませんでした", + "saveFailed": "インデクサを保存できませんでした", + "deleteFailed": "ソースを削除できませんでした", + "testFailed": "インデクサーに到達できませんでした", + "nameAndUrlRequired": "名前とベース URL が必要です", + "nameTaken": "その名前のインデクサーは既に存在します", + "urlUnsafe": "ベースURLに到達できませんでした。アドレスとhttpまたはhttpsを使用していることを確認してください。", + "urlPrivate": "そのアドレスはプライベートまたはローカルネットワーク上にあります。インデクサーが実行されている場合は「プライベートアドレスを許可」をオンにしてください。", + "credentialRequired": "そのインデクサーは使用する前に資格情報が必要です", + "invalidSettings": "1 つ以上のソース設定が無効です。使用可能な選択を確認してください。", + "nameRequired": "このインデクサーに名前を付けてください。", + "urlRequired": "BookOrbitで検索するアドレスを入力します。" + }, + "editName": "{name} を編集", + "editorDescription": "このインデクサーの設定", + "chooseType": "インデクサの種類を選択", + "chooseTypeHint": "BookOrbitを検索する必要がある場所を選択します。フォームはそのソースが必要とするものだけを要求します。", + "builtIn": "建てられた", + "plugin": "プラグイン", + "typeDescriptions": { + "torznab": "あなた自身のジャケット、ProwlarrまたはNZBHydra。カテゴリとシード目標を使用します。", + "newznab": "Newznab互換のUsenetインデクサー。カテゴリを使用し、APIキーが必要です。" + }, + "plugins": { + "title": "プラグイン", + "hint": "サイトBookOrbitは、単一のプラグインファイルとして追加された検索が可能です。", + "directoryLink": "オープンなライブラリプラグインを参照する", + "none": "プラグインがインストールされていません。組み込みプロトコルがカバーされていないサイトを検索するためにインストールします。", + "install": "プラグインをインストール", + "installed": "インストール済み {label}.", + "installFailed": "プラグインをインストールできませんでした。", + "inspectFailed": "そのファイルはプラグインとして読み込めませんでした。", + "removeAction": "プラグインを削除", + "removed": "削除された {type} とそのソース。", + "removeFailed": "そのプラグインを削除できませんでした。", + "confirmRemove": "{label} プラグインを削除しますか?", + "replaces": "既にインストールされている {type} プラグインを置き換えます。", + "restartRequired": "プラグインの変更を有効にするには BookOrbit を再起動します。", + "confirmInstall": "プラグインをインストール", + "configure": "設定", + "notSetUp": "設定されていません", + "brokenTitle": "プラグインが読み込まれませんでした", + "managedHint": "このサーバーにインストールされています。更新はコードを置き換えます。削除するとプラグインとこの種類のすべてのソースが削除されます。", + "missingHint": "プラグインファイルはすでになくなっています。このプラグインエントリを削除して、残りのソースをすべて削除し、そのタイプの資格情報を保存します。", + "removeWarning": "{count, plural, one {# ソースと保存された設定と資格情報はこのプラグインで完全に削除されます。} other {# ソースとその保存された設定と資格情報はこのプラグインで完全に削除されます。}}", + "configureAria": "{label} を設定", + "usedBy": "#ソース {count, plural, one {使用されている #ソース} other {使用されている #ソース}}", + "unused": "情報源はまだ使っていません", + "update": "プラグインを更新", + "checkUpdates": "アップデートを確認", + "updateCheckComplete": "プラグインの更新の確認が完了しました。", + "updateCheckFailed": "プラグインのアップデートを確認できませんでした。", + "updateInspectFailed": "公開されたプラグインの更新を検証できませんでした。", + "reviewUpdate": "更新を確認する", + "updated": "{label} を {version} に更新しました。", + "autoUpdate": "署名済みアップデートを自動的にインストールする", + "autoUpdateFailed": "このプラグインの自動更新を変更できませんでした。", + "installedVersion": "インストールされたバージョン", + "updateChannel": "署名済み更新チャンネル", + "signatureVerified": "ダウンロードされたソースは、パブリッシャーの Ed25519 署名と一致します。", + "updateStates": { + "unsupported": "手動アップデート", + "unchecked": "まだチェックされていません", + "current": "最新です", + "available": "バージョン {version} が利用可能です", + "custom": "カスタムビルド", + "failed": "アップデートのチェックに失敗しました" + }, + "wrongType": "そのファイルは {found} プラグインで、 {expected} ではありません。", + "replaceTitle": "このプラグインを置き換えますか?", + "replace": "プラグインを置き換え", + "reviewTitle": "このプラグインをインストールしますか?", + "reviewDescription": "ファイルがそれ自身について宣言するものと、それが実行されるコード。", + "declares": "宣言内容", + "source": "実行されるもの", + "type": "タイプ", + "version": "バージョン", + "versionLabel": "プラグインのバージョン {version}", + "versionUnknown": "プラグインのバージョンが不明", + "versionUnknownValue": "不明", + "media": "メディア", + "credential": "資格情報", + "credentialRequired": "必須", + "credentialNone": "なし", + "trustWarning": "プラグインは BookOrbit 内で実行され、データベース、ライブラリファイル、暗号化キーにアクセスできます。 信頼できるソースからのみインストールし、最初に読んでください。", + "sectionTitle": "プラグイン", + "removeUnusedWarning": "プラグインはサーバーから完全に削除されます。" + }, + "posture": "BookOrbitはインデクサソースを提供または推奨しません。 ここにあるすべてのソースはあなたが設定したものであり、あなたはそれを介してあなたが何を検索し、ダウンロードするかについて責任があります。" + }, + "managers": { + "add": "Prowlarrを追加", + "loading": "Prowlarr接続を読み込んでいます...", + "managedSources": "{count, plural, one {# managed indexer} other {# managed indexers}}", + "protocol": { + "torrent": "Torrent", + "usenet": "Usenet" + }, + "saved": "Prowlarr設定を保存しました", + "deleted": "Prowlarr removed", + "synced": "Prowlarrソースを同期", + "test": "接続をテスト", + "sync": "Synchronize", + "testOk": "Prowlarrに接続しました {version}見つかりました {count,plural,one{# ソース} other{# ソース}}.", + "unavailable": "Unavailable", + "priority": "Prowlarr priority {priority}", + "toggleSource": "{name} で検索", + "changeColor": "{name} の色を変更", + "sourceColor": "ソースカラー", + "sourceColorHint": "BookOrbit 全体で {name} によって返されたマークのリリース。", + "noSources": "互換性のあるトレントやUsenetインデックスが見つかりませんでした。Prowlarrに追加した後に同期します。", + "unknown": "不明", + "editorDescription": "Prowlarrの接続とソースの同期設定。", + "confirmDelete": "このProwlarr接続を削除しますか?", + "deleteConsequence": "接続、暗号化された API キー、およびすべての同期ソースが削除されます。進行中のダウンロードは削除されません。", + "fields": { + "name": "名前", + "color": "接続の色", + "colorHint": "ここでこの Prowlarr 接続をマークします。各管理インデクサーはそれぞれ独自のリリース色を持っています。", + "baseUrl": "ベースURL", + "apiKey": "API キー", + "apiKeyHint": "設定>一般>セキュリティのProwlarで見つかりました。保存されている暗号化されています。", + "syncNew": "新しく発見されたソースを有効にする", + "syncNewHint": "新しいProwlarrインデクサーはすぐに検索可能です。後で同期した後はオフにしてください。", + "autoExpand": "カテゴリフィルタなしで再試行する", + "autoExpandHint": "インデクサが結果がないときは、BookOrbitのブックカテゴリフィルタなしで一度再試行してください。", + "inheritSeedLimits": "Prowlarrシードの上限を使用する", + "inheritSeedLimitsHint": "BookOrbitのオーバーライドが存在しない場合、今後のダウンロードに各トレントインデクサの設定されたシード比とシード時間を適用します。", + "perIndexerTimeout": "インデクサのタイムアウト(秒)", + "perIndexerTimeoutHint": "同期されたソースがどれくらいかかるか。遅いFlareSolver-background-indexersはより多くの時間を必要とするかもしれません。", + "overallBudget": "Prowlarr予算(秒)", + "overallBudgetHint": "このProwlarr接続のすべてのソースによって1つの検索中に共有される最大ウォールクロック時間。" + }, + "errors": { + "load": "インデクサーマネージャーを読み込めませんでした", + "nameTaken": "その名前を持つProwlarr接続は既に存在します", + "urlPrivate": "そのアドレスはプライベートまたはローカルネットワーク上にあります。Prowlarrが実行されている場合は「プライベートアドレスを許可」をオンにしてください。", + "required": "名前、ベース URL 、および API キーを入力します。", + "save": "Prowlarr接続を保存できませんでした", + "delete": "Prowlarr接続を削除できませんでした", + "test": "Prowlarrに到達できませんでした", + "sync": "Prowlarrソースを同期できませんでした", + "source": "ソースを変更できませんでした" + } + }, + "automation": { + "title": "自動化", + "pipeline": "ダウンロードが完了すると、ブックドックを通過します ファイルの名前とファイル名を正しく読み込むことができるように、 それからリクエストの宛先ライブラリに入っていきます インポートチェックがオンで、リクエストされたファイルと一致しない場合にのみ停止します。", + "groupDownloads": "自動ダウンロード", + "groupImports": "インポートチェック", + "stateOn": "オン", + "stateOff": "オフ", + "summaryOff": "承認されたすべてのリクエストは、人がリリースピッカーを開いて選択するのを待ちます。", + "summaryNoRetry": "承認されたリクエストは、スコア {score} 以上の限り、独自に最高のリリースをダウンロードします。 失敗した場合、リクエストは人を待ちます。", + "summaryRetry": "承認されたリクエストは、そのリリーススコアがある限り、独自に最高のリリースをダウンロードします {score} またはそれ以上。 {count,plural,one{リクエストが人を待つ前に試された唯一のリリースです。} other{まで # リクエストが人を待つ前にリリースが試されます。}}", + "howDownloads": "自動ダウンロードの仕組み", + "howImports": "インポートチェックの仕組み", + "minScoreShort": "ダウンロードされていないものはありません。", + "autoRetryShort": "失敗したダウンロードは次点に進みます。", + "maxAttemptsShort": "最初の試みとすべての再試行はこれに向かってカウントされます。", + "verificationShort": "この下では、ファイルはブックドックでレビューを待ちます。", + "loading": "オートメーション設定を読み込んでいます...", + "loadFailed": "オートメーション設定を読み込めませんでした", + "saveFailed": "設定を保存できませんでした", + "saved": "自動化設定を保存しました", + "autoGrab": "最適なリリースを自動的にダウンロード", + "noSourcesConfigured": "検索ソースが設定されていないため、検索は実行されず、承認済みのリクエストはすべてそのまま返されます。「ソース」で追加してください。", + "noSourcesEnabled": "すべての検索ソースが無効なため、検索は実行されず、承認済みのリクエストはすべてそのまま返されます。「ソース」でいずれかを有効にしてください。", + "autoGrabHint": "リクエストが承認されると、その最高得点のリリースはダウンロードクライアントに直接渡され、誰もリリースピッカーを開く必要はありません。 デフォルトでは、書籍を右のリリースにマッチさせるのは難しく、人は通常より良い判断者です。", + "autoGrabEnabled": "自動ダウンロードはオンです", + "autoGrabDisabled": "自動ダウンロードはオフです", + "minScore": "自動ダウンロードの最小スコア", + "minScoreHint": "以下のリリースのスコアは自動的にダウンロードされません。 スコアは100まで実行され、タイトルと著者の一致がどれくらいの割合で構成されているか。 書式、ファイルサイズ、シード、ソースの優先順位を持っています。 十分に高いスコアがない場合, リクエストは誰かが手でリリースを選択し、なぜそれが停止したかを言うために待っています.", + "minScoreHintV2": "以下のスコアは自動的にダウンロードされません。スコアは100まで実行されます。 タイトルと著者の関連性は、ソースがそれらを提供するときに使用される群れの健康およびfreeech との形式および妥当なファイルサイズが続く最も貢献する。 十分に高いスコアがない場合, リクエストは誰かが手でリリースを選択し、なぜそれが停止したかを言うために待っています.", + "autoRetry": "失敗したら次のリリースをお試しください", + "autoRetryHint": "自動ダウンロードに失敗すると、次の最高のリリースがあきらめずに試されます。 これはファイルを渡すことを拒否するソースと途中で死ぬダウンロードをカバーします。 BookOrbitが選んだリリースにのみ適用されます。手作業で選んだ承認者は失敗し、それらを待ちます。", + "maxAttempts": "リクエストごとの試行", + "maxAttemptsHint": "すべてのリリースBookOrbitは、このリクエストのためにダウンロードクライアントに送信されますこの制限にカウントされます:最初の自動試行。 1つのソースがダウンした後に試みた何かがダウンロードに失敗した後に試みた。 最初の試行後に停止するには1に設定してください。", + "autoSearch": "リクエストを探し続けます。何も見つかりませんでした:", + "autoSearchShort": "承認されたリクエストは後で再び検索されません。", + "autoSearchHint": "リクエストは承認されると一度検索されます。 十分に良いものがない場合、または本がまだリリースされていない場合、その要求は承認されるのを待って、何も再びそれを探しません。 これをオンにすると、BookOrbitは独自にチェックを続けるため、来月投稿されたリリースがまだ見つかります。 自動ダウンロードがオンになっている間だけ、それが唯一のあなたのソースのトラフィックを要するものを見つけるものとは何の関係もないので、それは実行します。", + "autoSearchEnabledToast": "リクエストは再度検索されます", + "autoSearchDisabledToast": "リクエストは承認された場合にのみ検索されます", + "autoSearchInterval": "次の後に検索する", + "autoSearchIntervalShort": "最後の検索からカウントされ、要求の年齢として広がりました。", + "autoSearchIntervalHint": "再度リクエストを探すまで待つ時間、何も見つかりませんでした。 リクエストが待機している毎週の待機時間は、この数字の最大8倍になります。 古いリクエストの長いバックログは全ての情報源に対する日常的なトラフィックにはならない", + "autoSearchIntervalUnit": "時間", + "autoSearchMaxAge": "管理を停止する", + "autoSearchMaxAgeShort": "リクエストが行われたときからカウントされます。", + "autoSearchMaxAgeHint": "これより古いリクエストは単独で残されます。 それは承認されたままであり、いつでもリリースを手で選ぶことができます。何も自動的に探すものはありません。", + "autoSearchMaxAgeUnit": "日", + "verify": "リクエストに対するインポートをチェック", + "verifyOnHint": "ダウンロードしたすべてのファイルは、ファイルされる前に要求された本と比較されます。 十分に密接に一致しないものは、誰かが見ているためにブックドックで待機します。", + "verifyOffHint": "レビューのために保留されているものはありません。 すべてのダウンロードは、タイトルと著者が読み込まれるとすぐにファイルされるので、誤ったラベルが付けられたリリースの土地は、警告なしにライブラリ内にあります。", + "verificationEnabled": "インポートチェックはオンです", + "verificationDisabled": "インポートのチェックはオフです。レビューなしでダウンロードがファイルされます", + "verification": "検証のしきい値", + "verificationHint": "ダウンロードされたファイルが、リクエストを独自に提出する前にどの程度密接に一致させなければなりません。 これ以下のものは代わりにブックドックでレビューを待っています。手で選んだリリースを含むすべてのリクエストに適用されます。", + "destinations": "既定の保存先", + "destinationsHint": "誰もそれのためのライブラリを選択したときに本が提出される場所。 メディアごとに1つの既定値があります メディアは検索される前に選ばれてるのよ そんなに早い時期にファイルについて知ってるのは 要求者がピン留めした宛先、または承認時に選択した宛先がこれらの前に使用されます。", + "destinationUnset": "デフォルトなし", + "destinationHiddenLibrary": "見ることができないライブラリ", + "destinationHiddenFolder": "表示できないフォルダ", + "selectFolder": "フォルダを選択", + "destinationLibraryFor": "{medium} リクエストのデフォルトライブラリ", + "destinationFolderFor": "{medium} リクエストのデフォルトフォルダ", + "destinationClearFor": "{medium} リクエストの既定の宛先をクリアします", + "importFormats": "フォーマットをインポート", + "importFormatsHint": "1つのリリースがEPUBやPDFといった複数のフォーマットで同じ本を運ぶときに保つべきこと。 これは、競合するエディションではなく、その部分が1冊の本であるため、マルチパートオーディオブックには適用されません。", + "importFormatsOption": { + "all": "すべて利用可能", + "allHint": "リリースに付属のすべてのフォーマットを維持します。", + "preferred": "優先のみ", + "preferredHint": "宛先ライブラリの書式の優先順位で最も高い書式のみを保持してください。" + } + }, + "profiles": { + "title": "リリースプロファイル", + "effectiveRule": "自動ダウンロードルール: 最初に一致する階層、次に最高得点(最小 {score})。", + "summary": "手動選択のために利用可能なプロファイルの外にリリース. ない層で, 単独でスコアによってランクをリリース.", + "howProfiles": "リリースプロファイルの動作方法", + "hint": "リリースは上から下への階層と一致し、最初の階層に合うようになります。 自動ダウンロードは、プロファイルが存在する場合にのみ階層化されたリリースを考慮します。手動選択では、階層化された結果の後に階層化されたリリースが含まれます。", + "bitrateNote": "ビットレートフロアは、より低いものを示すリリースをオフにします。 ほとんどのソースは、リリースのほとんどを測定します, そして、測定されていないリリースは裏返されません, したがって、これは見かけよりも狭くなります.", + "empty": "プロフィールがありません。このメディアのリリースはスコア単独でランク付けされています。", + "addTier": "階層を追加", + "removeTier": "この階層を削除", + "moveUp": "この階層を上に移動", + "moveDown": "この階層を下に移動", + "tierName": "段階名", + "newTier": "等級 {position}", + "formats": "書式", + "files": "ファイル", + "anyLayout": "任意の", + "minBitrate": "Min kbps", + "minSeeders": "最小シード数", + "torrentConditions": "トレント条件", + "nonTorrentConditions": "選択したソースにはシーダー、フリーリーク、VIP条件は適用されません。", + "incompatibleTorrentConditions": "このトレント以外の階層は今でもトレント条件を保存しています。これらは無視されたり、階層が一致しないようにすることができます。", + "removeTorrentConditions": "トレント条件を削除", + "channels": "チャンネル", + "anyChannels": "任意の", + "mono": "モノラル", + "stereo": "Stereo", + "maxSize": "最大MB", + "languages": "言語", + "indexers": "ソース", + "multiSelectHint": "1つまたは複数を選択するか、いずれかを許可するには空のままにします", + "multiSelectAny": "任意の" + }, + "health": { + "ok": "接続しました", + "failed": "接続できません", + "untested": "テストされていません", + "disabled": "無効", + "testedAt": "テスト済み {time}", + "failedAt": "{time} に失敗しました" + }, + "categoryLabel": "カテゴリ {category}", + "priorityLabel": "優先度 {priority}", + "editClientName": "{name} を編集", + "sections": { + "connection": "接続", + "search": "検索するもの", + "access": "アクセス", + "seeding": "シード中", + "availability": "在庫状況", + "behaviour": "行動" + }, + "continueWithType": "続ける", + "external": "外部", + "editorDescription": "このダウンロードクライアントの設定。", + "chooseClientType": "クライアントの種類を選択", + "chooseClientTypeHint": "BookOrbitの手にダウンロードするプログラムを選択します。", + "clientTypeDescriptions": { + "qbittorrent": "あなた自身のqBittorrentです。アドレスとアカウントが必要です。", + "transmission": "独自の送信. カテゴリがないため、カテゴリはダウンロードディレクトリのサブフォルダになります。", + "deluge": "独自のDeluge。Web UIパスワードでサインインします。カテゴリにはLabelプラグインがオンになっている必要があります。", + "nzbget": "BookOrbitは、NZBファイルをJSON-RPC API経由で送信します。", + "sabnzbd": "あなた自身のSABnzbd.BookOrbitは、そのAPIキーを使用してNZBファイルを送信します。" + }, + "searchHealth": { + "failingOnce": "最後の検索に失敗しました", + "failingStreak": "{count} の検索は行内で失敗しました", + "lastSearchAt": "最後に検索した {time}" + } } }, "nav": { "title": "設定", "ariaLabel": "設定セクション", + "breadcrumbLabel": "パンくずリスト", "searchPlaceholder": "検索設定", "clearSearch": "検索をクリア", "noResults": "{query} に一致する設定がありません。", "shortcutHint": "{shortcut} を押して任意の設定にジャンプします", + "status": { + "scanning": "スキャン中" + }, "groups": { "you": "あなたです", "library": "ライブラリ", "devices": "デバイスと同期", + "accounts": "アカウント", "server": "サーバー" }, "descriptions": { @@ -2300,9 +4212,69 @@ "oidc": "シングルサインオンプロバイダ、請求、およびプロビジョニング。", "serverFonts": "このサーバー上のすべてのリーダーにインストールされたフォント。", "bookDock": "ブックページに表示されるクイックアクションです。", - "auditLog": "誰が何を変更し、いつ。" + "auditLog": "誰が何を変更し、いつ。", + "requests": "ソース、クライアントをダウンロードし、一度本をダウンロードするとどうなるか。", + "readerTts": "音声読み上げ、音声、スピード、ナレーションのデフォルトです。", + "adminTts": "テキスト読み上げエンジンは、このサーバー上のすべてのリーダーが利用できます。" }, - "backToApp": "ライブラリに戻る" + "backToApp": "ライブラリに戻る", + "pageDescriptions": { + "profile": "あなたの名前、写真、タイムゾーン、アチーブメントの追跡、さらにこのアカウントにリンクされているパスワードとサインインプロバイダー。", + "appearance-theme": "外観設定を保存する場所を選択し、スタイル、カラースキーム、アクセント、コーナー、表面の明るさ、ライブラリの背後にあるパターンを設定します。", + "appearance-book-covers": "アプリ全体でカバーする方法:1つのない本のためのプレースホルダーアート 表紙の表紙に合うようにすることができます", + "appearance-icons": "ライブラリ、スマートスコープ、コレクションに組み込まれたセットと一緒に使用する独自のアイコンをアップロードします。", + "appearance-layout": "ライブラリグリッドのカバーサイズと間隔、折りたたまれたシリーズのカバー、および著者グリッドのレイアウト方法。", + "appearance-behavior": "グリッドまたはリストから本を開くことは、シリーズが一つのカードに崩壊するかどうか、そしてブックリクエストがこのアカウントに表示されるかどうかにかかわらず、何をします。", + "appearance-language": "BookOrbit言語は、メニュー、ラベルとメッセージ、日付と数字の地域フォーマットに使用されます。", + "reader-ebook": "eBook リーダーのデフォルト: 新しい本が設定、ページフローおよび列、テーマ、フォント、サイズ、スペースなどの組版で始まるかどうか。", + "reader-pdf": "PDF の開き方: ページごとまたはスクロールを1つずつ続けるページで、ページは2ページの拡散を開始し、デフォルトではズームフィットします。", + "reader-comics": "漫画の読み取り方法:読書モードと方向、単一または2ページの広がり、フィット、ワイドページ処理、シリーズの次の本への移行。", + "reader-audio": "新しいオーディオブックの開始速度と音量、およびスキップバックとスキップボタンがジャンプします。", + "reader-fonts": "読者用に独自のフォントをアップロードし、サーバー管理者が共有するフォントを選択します。", + "reader-general": "読者の好みが保存され、デフォルトはすべての読書モードで共有されます。", + "tts": "BookOrbitが本を読み上げたときのデフォルトの音声とスピード。", + "notifications": "完了したスキャンとメタデータフェッチから、ファイル名、import、Book Dockの結果に通知するイベントを選択します。", + "privacy": "閲覧アクティビティ管理者の表示量、共有プロファイルのプレビュー、および閲覧者の確認を決定します。", + "restrictions": "このアカウントに設定されているコンテンツ制限は、年齢評価や非表示のコンテンツ、ライブラリから遠ざける内容などです。", + "libraries": "一目ですべてのライブラリ:フォルダ、保持されているもの、スキャンされたもの、最後に実行されたもの。ここにライブラリを追加、編集、または再スキャンします。", + "metadata-providers": "メタデータソースのオン/オフを切り替え、ソースが必要とするAPIキーまたはCookieを追加し、ライブサービスに対する認証情報をテストします。", + "metadata-field-rules": "各メタデータ項目に入力するプロバイダと、どの順序、値のマージ方法、およびジャンルとプロバイダー ID の収集方法を選択します。", + "metadata-custom-fields": "独自のメタデータ フィールドを作成し、それらを使用するタイプとライブラリを選択し、並べ替えまたはアーカイブします。", + "metadata-score": "各本に表示される完全性スコアに対して各メタデータフィールドがどれだけカウントされるかを決定します。", + "metadata-auto-fetch": "ライブラリごとに上書きされて、本がインポートされたり詳細が不足している場合に、本のメタデータを自動的に取得します。", + "metadata-authors": "著者の伝記と写真を自動的に取得し、注文のソースを選択し、どの著者が資格を取得するかを決定します。", + "metadata-search-cache": "プロバイダの回答を保持するので、繰り返し検索は高速であり、プロバイダがダウンしているときにも動作し、どのくらい保持されるかを制御します。", + "metadata-genre-blocklist": "ここに記載されているジャンルの値は、メタデータが書き込まれる前にプロバイダの結果から取り除かれるため、Audiobook のようなラベルは本から外れます。", + "metadata-reminders": "ブックのリマインダーに表示される不足している項目を選択します。これにより、リマインダーのみが変更され、メタデータの得点は変更されません。", + "file-naming": "BookOrbitがディスク上のブック名を変更する際に使用するフォルダとファイル名パターン 結果のプレビューと値が欠落した場合の動作を示しています", + "maintenance": "サーバーのハウスキーピング: アップロードサイズの制限、過去のインポート、再構築の推奨事項、実績のバックフィル、更新の確認。", + "kobo": "Kobo e-リーダーを接続し、書籍、棚、読み取り進行状況の同期方法を選択し、各デバイスの最近の同期アクティビティに従ってください。", + "koreader": "進行状況を同期し、アクティビティとハイライトをKOReaderで読み取り、同期URLとプラグインを取得し、接続するデバイスを管理します。", + "opds": "OPDS カタログをオンにしてアカウントを作成し、サードパーティの読書アプリがブックを閲覧してダウンロードできるようにします。", + "email": "Kindleの受信トレイ、星印、グループ受信者などに送信されるアドレス帳を管理します。", + "hardcover": "Hardcoverアカウントに接続し、読書状態、進捗状況、評価の同期方法、同期されたブックの表示方法を選択します。", + "readwise": "そこに自動的にハイライトを送信するためにReadwiseアカウントを接続します。", + "storygraph": "閲覧の進行状況とステータスを同期するには、ブラウザセッションクッキーを使用してStoryGraphアカウントを接続します。", + "users": "アカウント、ロール、権限、ライブラリへのアクセスを作成して管理し、どのアカウントに注意が必要かを確認します。", + "account-activity": "各アカウントが最後にアクティブになり、どのようにサインインし、ユーザーごとの読み取りとセッションの洞察を開きます。", + "magic-links": "パスワードなしで誰かにサインインする共有可能なリンクを作成し、不要になったときにそれらを取り消します。", + "oidc": "Keycloakなどのシングルサインオンプロバイダを接続し、その要求をマップし、新しいアカウントの作成方法を決定します。", + "requests": "BookOrbitは、クライアントがそれらを取得し、ダウンロードが完了したら何が起こるかを、要求された本を検索します。", + "admin-tts": "テキスト読み上げエンジンは読み上げに使用できます, それぞれから提供される声, そして、彼らが表示される順序.", + "book-dock": "Book Dock dropフォルダ、新しいファイルの自動フェッチのメタデータ、およびファイルが独自に最終化されるスコア。", + "server-fonts": "このサーバー上のすべてのリーダーに一度フォントをアップロードします。各リーダーはそれらのいずれかを非表示にできます。", + "audit-log": "イベント、人、影響を受けたアイテムと日付によってフィルタリング可能な、何を変更したかの検索可能なレコード。" + } + }, + "field": { + "required": "(必須)" + }, + "editor": { + "discardTitle": "変更を破棄しますか?", + "discardDescription": "このエディターには保存されなかった変更があります。閉じるとそれらが捨てられます。", + "discardConfirm": "変更を破棄", + "moreActions": "その他のアクション", + "removeQuestion": "削除しますか?" } }, "achievements": { @@ -2327,6 +4299,201 @@ "earned": "獲得 ({count})", "inProgress": "進行中 ({count})", "locked": "ロックされています ({count})" + }, + "tiersEarnedFact": "{earned} / {total} tiers", + "loading": "実績を読み込んでいます", + "filters": { + "label": "実績をフィルタする", + "all": "すべて", + "earned": "獲得済み", + "inProgress": "進行中", + "locked": "ロック中" + }, + "showcase": { + "label": "ハイライト", + "latest": "最新のロック解除", + "newToday": "{count, plural, one {# new today} other {# new today}}", + "secretRevealed": "シークレットを公開しました", + "categoryAndDate": "{category} · {date}", + "alsoNew": "また新規", + "openMedal": "{name} を開く", + "emptyTitle": "最初のメダルが待っています", + "emptyBody": "本を完成させ、1つを評価したり、ハイライトしたりして、ここに着陸します。", + "collection": "コレクション", + "shareOfTiers": "すべての階層の{percent}", + "tiersEarned": "{earned} 段階の {total} を獲得しました", + "closest": "ロック解除に最も近い", + "allInProgress": "すべての {count}", + "tierOfSet": "{tier} の等級 {set}", + "nothingCounting": "まだメダルに向かって数えるものはない。" + }, + "shelf": { + "tiers": "{earned} / {total}", + "progressLabel": "{category} 獲得した階層数" + }, + "medal": { + "label": "{name}, {rarity}, {status}", + "tier": "等級 {tier}", + "allTiers": "{count, plural, one {唯一のティア} other {すべての # ティア}}", + "keepReading": "読み続ける", + "notStarted": "開始していません" + }, + "progress": { + "generic": "{current} / {threshold}", + "toGo": "{count, plural, one {#} other {# to go}}" + }, + "hints": { + "howToGetIt": "手に入れる方法", + "readingPace": "{count,plural,one{既読: # 最後の時間 {days} 何日も} other{既読: # 最後の時間 {days} 何日も}}", + "etaDays": "{count, plural, one {このペースでの#日について。} other {このペースでの#日について。}}", + "etaWeeks": "{count,plural,one{About # このペースで} other{About # このペースで何週間も}}", + "etaMonths": "{count,plural,one{About # 月はこのペースで} other{About # このペースで何ヶ月も}}", + "decadeUnread": "{count,plural,one{# からの本 {decade}Sはあなたの棚で待ってるわ} other{# 本を書いたのは {decade}Sが待ってるぞ}}", + "centuryUnread": "{count,plural,one{# からの本 {century}Sはあなたの棚で待ってるわ} other{# 本を書いたのは {century}Sが待ってるぞ}}", + "stalled": "{title} は {percent} を読み込み、 {date} に開始されました。", + "stalledNoProgress": "{title} は {date} に開始されました。", + "untitledBook": "進行中の本", + "nearlyFinished": "{count,plural,one{# 進行中の本はもう過ぎています {percent}.} other{# 進行中の本は過去です {percent}.}}", + "unratedFinished": "{count,plural,one{# あなたが完成した本にはまだ評価はありません} other{# まだ評価されていません}}", + "shortBooks": "{count,plural,one{# 本の下に {pages} あなたの棚でページが待っている。} other{# 以下の本: {pages} あなたの棚でページが待っている。}}", + "alreadyStarted": "{count, plural, one {# は既に進行中です。} other {# は既に進行中です。}}", + "longBooks": "{count,plural,one{# の本 {pages} あなたの棚でページ以上が待っています} other{# の本 {pages} あなたの棚でページ以上が待っています}}", + "oldBooks": "{count,plural,one{# 以前に公開された本 {year} あなたの棚で待っています} other{# 以前に出版された本 {year} あなたの棚で待っています}}", + "authorUnread": "{author}: {finished,plural,one{# 完了} other{# 完了}}, {count,plural,one{# もっと棚に置いておいて} other{# もっと棚に置いておいて}}.", + "languageUnread": "{count,plural,one{# 本を {language} あなたの棚で待っています} other{# 本を {language} あなたの棚で待っています}}", + "monthsRead": "{count,plural,one{読み込み済みです # 月 {year} これまでのところ} other{読み込み済みです # ヶ月の数 {year} これまでのところ}}", + "monthsLeft": "{count,plural,one{{months} 左です} other{{months} 残っています}}", + "noLongBook": "{pages} ページ以上の本はまだ棚にありません。", + "nothingBeforeYear": "棚に {year} 以前に公開されたものはありません。", + "tooFewDecades": "{count, plural, one {あなたの棚は # 10 年しかありません。} other {あなたの棚は # 数十年しかありません。}}", + "tooFewCenturies": "{count,plural,one{棚の間隔のみ # 今までのところ世紀。} other{棚の間隔のみ # 何世紀も前からね}}", + "missedMonth": "{month}で読んでいないので、 {year} が手が届きません。カウントは1月に再び開始されます。", + "continueReading": "続きを読む", + "rateFinished": "完成した本を評価", + "viewAuthor": "投稿者を表示", + "openBook": "{title} を開く", + "openUntitledBook": "本を開く" + }, + "sets": { + "booksFinished": "本が完成しました", + "pagesRead": "既読ページ", + "hoursRead": "読んだ時間", + "longestBook": "最長の本が完成しました", + "librarySize": "ライブラリサイズ", + "annotations": "注釈", + "booksRated": "定格の本", + "genresFinished": "ジャンルが終了しました", + "languagesFinished": "言語が完了しました", + "readingStreak": "連続読書中" + }, + "units": { + "books": { + "progress": "{current} / {threshold} 本", + "toGo": "{count,plural,one{# 行くための本} other{# 行くべき本}}" + }, + "pages": { + "progress": "{current} / {threshold} ページ", + "toGo": "{count, plural, one {# ページ} other {# ページ to go}}" + }, + "hours": { + "progress": "{current} / {threshold} 時間", + "toGo": "{count, plural, one {#1 時間} other {# 時間}}" + }, + "annotations": { + "progress": "{current} / {threshold} 注釈", + "toGo": "{count, plural, one {# annotation to go} other {# annotations to go}}" + }, + "ratings": { + "progress": "{current} / {threshold} 評価", + "toGo": "{count, plural, one {# rating to go} other {# ratings to go}}" + }, + "genres": { + "progress": "{current} / {threshold} genres", + "toGo": "{count, plural, one {# genre to go} other {# genres to go}}" + }, + "languages": { + "progress": "{current} / {threshold} 言語", + "toGo": "{count, plural, one {# 言語} other {# 言語 to go}}" + }, + "days": { + "progress": "{current} / {threshold} 日", + "toGo": "{count, plural, one {#1 日} other {# 日後}}" + } + }, + "moments": { + "nthBook": "本 {number} は {title} でした", + "pagesAtUnlock": "{count, plural, one {# ページ} other {# ページ}}", + "hoursAtUnlock": "{count, plural, one {# 時間} other {# 時間}}", + "titleWithPages": "{title}, {count, plural, one {# page} other {# pages}}", + "booksAtUnlock": "{count, plural, one {# book} other {ライブラリ内の # book}}", + "annotationsAtUnlock": "{count, plural, one {# annotation} other {# annotations}}", + "ratingsAtUnlock": "{count, plural, one {# rating} other {# rating}}", + "genresAtUnlock": "{count, plural, one {# ジャンル} other {# ジャンル}}", + "languagesAtUnlock": "{count, plural, one {#言語} other {#言語}}", + "streakAtUnlock": "{count, plural, one {#日} other {#日}}", + "longSession": "あるセッションで {duration} が実行されました", + "durationHours": "{hours} 時間 {minutes} 分", + "durationMinutes": "{minutes} 分", + "sessionStartedAt": "{time} から始まったセッション", + "oneDayBook": "{title}、1日で終了します", + "booksInWeek": "{count, plural, one {# book} other {# book}} 1 週間後に終了", + "booksInMonth": "{count, plural, one {# book} other {# book}} finished in {month}", + "booksInYear": "{count, plural, one {# book} other {# book}} finished in {year}", + "wholeBookOneSession": "一回のセッションで本全体を見る", + "pagesInSession": "{count, plural, one {# ページ} other {# ページ}}", + "pagesInDay": "{count, plural, one {# ページ} other {# ページ}} 1 日で", + "slowBurn": "{title}, 終了した {count, plural, one {#日} other {#日}}", + "formatsOwned": "{count,plural,one{# 書式} other{# 書式}} 棚の上に", + "annotationsWithNote": "{count, plural, one {# annotation} other {# annotations}} with a note", + "annotationsInDay": "{count, plural, one {# annotation} other {# annotations}} in one day", + "everyStar": "1つの星から5つまでのすべての評価", + "everyColour": "すべてのハイライト色を使用", + "titlePublished": "{title}、 {year} を公開", + "booksInGenre": "{count, plural, one {# book} other {# book}}", + "firstInSeries": "{title}, {series} シリーズより", + "centuries": "{count, plural, one {#世紀} other {#世紀}}", + "booksBySameAuthor": "{count, plural, one {# book} other {# book}}", + "decades": "以下の本 {count,plural,one{# 10 年} other{# 数十年}}", + "shortBooks": "{count,plural,one{# 短い本} other{# 短い本}} 完了", + "allSeasons": "全ての四季 {year}", + "consistentDays": "{count, plural, one {#日} other {#日}} 30分以上", + "weekendsInRow": "{count, plural, one {#週末} other {# 週末}} 行に", + "weekendHours": "{count, plural, one {#1 時間} other {#時間}} 週末の {date}", + "categoriesCovered": "{count, plural, one {#分類} other {#分類}}", + "readingSources": "{count, plural, one {# reading source} other {# reading source}}", + "oneBookSources": "1冊の本を読み込みました。 {count,plural,one{# ソース} other{# ソース}}" + }, + "records": { + "title": "本を記録", + "subtitle": "各メダルがアンロックされたとき、あなたのメダルの後ろの数字が表示されます", + "value": "{value}", + "oneSession": "1回の読書セッション", + "pagesInSession": "Pages in one session", + "pagesInDay": "Pages in one day", + "booksInWeek": "1週間後の本", + "booksInMonth": "{month} の本", + "booksInYear": "本は {year} で終了しました", + "annotations": "注釈", + "genresFinished": "ジャンルが終了しました", + "daysInRow": "連続した日数", + "booksInLibrary": "ライブラリ内の本" + }, + "detail": { + "categoryTierSet": "{category} · Tier セット", + "secretHint": "これを明らかにするために読み続けなさい。", + "tierOf": "{earned} の等級 {total}", + "current": "現在", + "noneYet": "まだありません", + "progress": "進捗状況", + "allTiersEarned": "獲得したすべてのTier", + "tiers": "階層型", + "earned": "獲得済み", + "status": "ステータス", + "hidden": "Hidden", + "rarity": "レア度", + "category": "カテゴリ", + "theSet": "セット", + "theMoment": "瞬間" } }, "adminFeature": { @@ -2410,8 +4577,12 @@ "trend": "毎日の読書トレンド", "emptyTitle": "この期間内に読書アクティビティはありません", "noData": "この期間の読み取りデータは記録されていません。", + "sessionCount": "{count, plural, one {# session} other {# sessions}}", "sourceNames": { "web": "ウェブリーダー", + "ios": "iOS アプリ", + "watchos": "Apple Watch", + "android": "Android app", "koreader": "KOReader", "manual": "マニュアル", "kobo": "Kobo", @@ -2420,8 +4591,10 @@ "formats": "書式", "genres": "Genres", "broadGenres": { + "science_fiction": "サイエンスフィクション(SF)", "fantasy": "Fantasy", "mystery_thriller": "謎とスリラー", + "romance": "ロマンス(ロマンス)", "horror": "ホラー", "history_biography": "歴史・略歴", "science_technology": "科学技術・技術", @@ -2474,6 +4647,7 @@ }, "sharedAccount": "共有アカウント", "sharedAccountHint": "パスワードがありません。アクセスは魔法のリンクのみで許可されます。", + "sharedAccountManageHint": "設定からログインリンクを管理する - マジックリンク", "username": "ユーザー名", "fullName": "フルネーム", "email": "Eメールアドレス", @@ -2486,14 +4660,47 @@ "presetClearAll": "すべてクリア", "permissionGroups": { "content": "コンテンツ", + "podcasts": "ポッドキャスト", "devicesAccess": "デバイスとアクセス", "email": "Eメールアドレス", "administration": "管理", "notifications": "通知", - "restrictions": "制限" + "restrictions": "制限", + "libraryBooks": "ライブラリ&ブック", + "bookRequests": "ブックリクエスト", + "bookDock": "ブック・ドック", + "devices": "デバイス", + "readingIntegrations": "Reading Integrations", + "emailNotifications": "Eメール&通知", + "libraryConfiguration": "ライブラリの設定", + "usersSecurity": "ユーザー & セキュリティ", + "system": "システム" }, + "permissionLevels": { + "use": "使用", + "manage": "管理" + }, + "accountRestrictions": "アカウントの制限", + "demoRestrictedHint": "制限されたデモ体験にこのアカウントを制限します。", "superuserTarget": "Superuser Target", "superuserTargetHint": "コンテンツ制限はスーパーユーザには適用できません。", + "superuserAccess": { + "title": "スーパーユーザーアクセス", + "enabled": "有効", + "disabled": "無効", + "enabledHint": "このアカウントには制限されていないサーバーアクセスがあります。削除後、保存された権限、ライブラリ、および制限は再び適用されます。", + "disabledHint": "プロモーションは無制限のサーバーアクセスを許可し、権限、ライブラリの割り当て、およびコンテンツの制限を迂回します。", + "selfHint": "あなた自身のスーパーユーザーアクセスを変更することはできません。", + "sharedHint": "共有アカウントはスーパーユーザーに昇格できません。", + "promote": "スーパーユーザーに昇格する", + "demote": "スーパーユーザーアクセスを削除", + "promoteDialogTitle": "スーパーユーザーに昇格しますか?", + "promoteDialogBody": "{name} 無制限のサーバーアクセスを許可します。彼らのアクティブなセッションは終了し、再度サインインする必要があります。", + "demoteDialogTitle": "スーパーユーザーアクセスを削除しますか?", + "demoteDialogBody": "{name}から無制限のアクセスを削除します。保存された権限、ライブラリ、および制限は有効になり、再度ログインする必要があります。", + "changing": "アクセスを更新しています...", + "changeError": "スーパーユーザーアクセスを更新できませんでした。アカウントを再読み込みして再度お試し下さい。" + }, "noRestrictions": "コンテンツの制限はありません", "noRestrictionsHint": "このユーザーは、割り当てられたライブラリ内のすべての本にフルアクセスできます。", "addRestrictions": "+ コンテンツの制限を追加", @@ -2507,6 +4714,11 @@ "includeGenresHint": "(このジャンルの本だけを見せる)", "excludeGenres": "ジャンルを除外", "excludeGenresHint": "(このジャンルの本を隠す)", + "seeOwnRequestedBooks": "このユーザーに要求された本を表示させます", + "seeOwnRequestedBooksHint": "自分の本のリクエストで届いた本は上記のルールを無視します。デフォルトではオフです。", + "searchTagsPlaceholder": "タグを検索...", + "searchGenresPlaceholder": "ジャンルを検索...", + "saving": "保存中...", "errors": { "updateUser": "ユーザーの更新に失敗しました", "updatePermissions": "権限の更新に失敗しました", @@ -2514,8 +4726,67 @@ "updateContentFilters": "コンテンツフィルタの更新に失敗しました", "emailRequired": "メールアドレスが必要です", "createSharedAccount": "共有アカウントの作成に失敗しました", - "createUser": "ユーザーの作成に失敗しました" - } + "createUser": "ユーザーの作成に失敗しました", + "nameRequired": "フルネームが必要です", + "usernameRequired": "ユーザー名が必要です" + }, + "drawerDescription": "このアカウントのプロファイル、ライブラリへのアクセス、権限、および制限を編集します。", + "createHint": "あなたが許可するまで、新しいアカウントには権限がありません。", + "sectionsLabel": "アカウント設定", + "sections": { + "profile": "プロフィール", + "libraries": "ライブラリ", + "permissions": "アクセス許可", + "restrictions": "制限" + }, + "sectionSummary": { + "newAccount": "作成されていません", + "libraries": "{selected} / {total}", + "permissions": "{count, plural, =0 {アクセス権限がありません} one {1 付与されました} other {# 付与された}}", + "restrictionsNone": "なし", + "restrictionsContent": "コンテンツフィルター", + "restrictionsDemo": "制限されたデモの数", + "restrictionsBoth": "フィルターとデモモード" + }, + "account": "アカウント", + "status": "ステータス", + "statusHint": "一時停止中のユーザーはサインインやデバイスの同期ができません。", + "signInMethod": "サインイン", + "signInMethods": { + "password": "パスワード", + "oidc": "シングルサインイン", + "shared": "マジックリンク" + }, + "created": "作成済み", + "lockedUntil": "{time} までロック", + "lockedHint": "サインインに失敗した回数が多すぎます。ユーザー一覧からロックを解除してください。", + "usernameFixedHint": "ユーザー名は変更できません。", + "emailHint": "パスワードのリセットと通知に使用されます。", + "libraryAccessHint": "これらのライブラリ以外の本はこのユーザーには見えません。", + "selectAll": "すべて選択", + "clearAll": "クリア", + "permissionsHint": "このアカウントに許可されていること。 {granted} / {total} が付与されました。", + "groupLegend": "{group}: {granted} / {total} 許可された", + "presets": { + "label": "パーミッションプリセット", + "none": "なし", + "standard": "標準", + "custom": "カスタム", + "admin": "管理者", + "customHint": "この選択はプリセットと一致しません。" + }, + "filterPermissions": "権限をフィルタする", + "grantedOnly": "付与されたもののみ", + "noPermissionMatches": "そのフィルタに一致する権限がありません。", + "clearFilters": "フィルターをクリア", + "filteredNotice": "フィルタリングされました。非表示になっている権限は現在の設定を維持します。", + "contentRestrictionsHint": "タグまたはジャンルで、このユーザーが見ることができる書籍を制限します。", + "contentRestrictionsAfterCreate": "アカウントが存在すると、コンテンツの制限を設定できます。", + "unsavedChanges": "{count, plural, one {1 つの未保存の変更} other {# 未保存の変更}}", + "libraryBookCount": "{count, plural, =0 {本はありません} one {1本} other {# 本}}", + "dangerZone": "危険ゾーン", + "deleteUserHint": "このアカウントとその読み取りデータを完全に削除します。ライブラリ内のブックは影響を受けません。", + "libraryReach": "このアカウントでは確認できます {selected} / {total} 本だ" }, "usersPage": { "usersTitle": "ユーザー", @@ -2527,7 +4798,10 @@ "email": "Eメールアドレス", "access": "アクセス", "status": "ステータス", - "actions": "アクション" + "actions": "アクション", + "user": "ユーザー", + "libraries": "ライブラリ", + "lastActive": "最後に有効になっています" }, "adminBadge": "管理者", "permissionCount": "{count, plural, =0 {アクセス許可なし} one {1 つのアクセス許可} other {# permissions}}", @@ -2544,9 +4818,11 @@ "resetPasswordSharedHint": "共有アカウントにパスワードがありません", "resetPasswordOidcHintFull": "OIDCユーザーはIDプロバイダーのパスワードをリセットします。", "resetPasswordSharedHintFull": "共有アカウントにパスワードがありません。", + "resetPasswordDisabledHintFull": "パスワード認証はサーバーの設定によって無効化されています。", "deleteUserAction": "ユーザーを削除", "deleteDialogTitle": "ユーザーを削除しますか?", "deleteDialogBody": "ユーザー \"{username}\" を削除します。この操作は元に戻せません。", + "deleting": "削除中...", "errors": { "load": "読み込みに失敗しました", "deleteUser": "ユーザーの削除に失敗しました", @@ -2568,6 +4844,7 @@ "description": "新規ユーザーに自動的に割り当てられたライブラリを選択します。", "noLibraries": "利用可能なライブラリがありません。", "save": "既定値を保存", + "saving": "保存中...", "saveError": "デフォルトのライブラリへのアクセスを保存できませんでした" }, "filters": { @@ -2582,17 +4859,72 @@ "inactive": "非アクティブ" }, "empty": { + "title": "ユーザーはまだいません。", "description": "最初のアカウントを作成して開始します。", "filtered": "現在の検索とフィルターに一致するユーザーはいません。" }, "pagination": { "label": "ユーザーのページネーション", - "page": "ページ {page} / {totalPages}" + "page": "ページ {page} / {totalPages}", + "showing": "{shown} アカウントの {total} を表示" }, "editUserAria": "{name} を編集", "resetPasswordAria": "{name} のパスワードをリセットする", "deleteUserAria": "{name} を削除", - "moreActionsAria": "{name} の他のアクション" + "moreActionsAria": "{name} の他のアクション", + "headerSummary": "{count, plural, =0 {アカウントはありません} one {#アカウント} other {# アカウント}} · 管理者権限のある {admins}", + "noEmail": "住所なし", + "editAccount": "アカウントを編集", + "cardMeta": "{access} · {libraries} · {lastActive}", + "accessTier": { + "superuser": "スーパーユーザー", + "admin": "管理者", + "standard": "標準", + "custom": "カスタム", + "none": "アクセスできません" + }, + "libraries": { + "all": "すべての {total}", + "some": "{granted} / {total}" + }, + "statusLocked": "ロック中", + "status": { + "never": "一切なし", + "neverSignedIn": "サインインしない", + "defaultPassword": "デフォルトのパスワード", + "contentFiltered": "フィルターされたコンテンツ", + "unlocksIn": "{when} のロックを解除" + }, + "attention": { + "title": "注意が必要です", + "count": "{count, plural, one {# account} other {# accounts}}", + "filter": "{count, plural, one {# 注意が必要です} other {# 注意が必要です}}", + "more": "{count} 件以上ここには表示されません", + "reason": { + "locked": "{name} は、サインインに失敗した回数が多すぎるとロックアウトされています", + "neverSignedIn": "{name} はサインインしていません", + "defaultPassword": "{name} はまだアカウントが作成されたパスワードを使用しています" + }, + "detail": { + "unlocksIn": "{when} を自動的にロック解除", + "created": "作成された {when}", + "linkExpired": "作成された {when} · サインインリンクの有効期限が切れています", + "linkValid": "作成された {when} · サインインリンクは {expiry} まで有効です" + }, + "action": { + "unlock": "今すぐロック解除", + "sendResetLink": "リセットリンクを送信", + "sendNewLink": "新しいリンクを送信" + }, + "collapse": "非表示", + "expand": "表示" + }, + "defaults": { + "title": "新規アカウントの既定値", + "appliesTo": "自己登録と OIDC に適用されます。", + "startingLibraries": "ライブラリを開始しています", + "startingLibrariesHint": "すべての新しいアカウントに自動的にビューアへのアクセスが許可されます。" + } } }, "annotations": { @@ -2608,6 +4940,7 @@ "filterByBook": "本でフィルター", "allBooks": "すべての本", "clearBookFilter": "本のフィルタをクリア", + "searching": "検索中...", "noBooksFound": "本が見つかりません" }, "bulk": { @@ -2619,6 +4952,7 @@ "restyleTo": "{style} に再起動する" }, "chips": { + "active": "アクティブ:", "removeFilter": "フィルター {label}を削除", "clearAll": "すべてクリア" }, @@ -2715,7 +5049,16 @@ "noMatch": "フィルタに一致するハイライトはありません。", "resetFilters": "フィルターをリセット", "trashEmpty": "ごみ箱は空です", - "noAnnotations": "まだ注釈はありません。Web上で作成したハイライトが表示されるか、eリーダーがここに表示されます。" + "noAnnotations": "まだ注釈はありません。Web上で作成したハイライトが表示されるか、eリーダーがここに表示されます。", + "noMatchHint": "短いフレーズを試すか、カラーとブックのフィルターをクリアしてください。", + "noAnnotationsBody": "あなたがマークし、任意の本や任意のデバイス上のすべてが、ここに収集されます。", + "readHere": "こちらを見る", + "readHereBody": "リーダーでテキストを選択し、色を選択します。", + "syncKobo": "Sync a Kobo", + "syncKoboBody": "デバイス上で行われたマークは次の同期に到着します。", + "syncKoreader": "KOReader を同期", + "syncKoreaderBody": "プラグインは注釈を自分の位置にアップロードします。", + "goToLibrary": "ライブラリに移動" }, "toast": { "movedToTrash": "ごみ箱に移動しました", @@ -2725,8 +5068,70 @@ "bulkTrashed": "{count, plural, =0 {アノテーションをゴミ箱に移動しました} one {アノテーションをゴミ箱に移動しました} other {アノテーションをゴミ箱に移動しました}}", "bulkRestored": "{count, plural, =0 {ノーアノテーション} one {リストアされた#アノテーション} other {リストアされた#アノテーション}}", "bulkRecolored": "{count, plural, =0 {ノーアノテーションを再着色しました} one {recolored # annotation} other {recolored # annotations}}", - "bulkRestyled": "{count, plural, =0 {リセットされたアノテーションはありません} one {リセットされた # アノテーション} other {リセットされた # アノテーション}}" - } + "bulkRestyled": "{count, plural, =0 {リセットされたアノテーションはありません} one {リセットされた # アノテーション} other {リセットされた # アノテーション}}", + "noteSaved": "メモを保存しました" + }, + "railTitle": "{marks} マーク · {books} 本", + "lastTwelveMonths": "過去 12 ヶ月", + "colour": "色", + "whereFrom": "彼らがどこから来たか", + "theShelf": "棚", + "devices": "デバイス", + "allBooks": "すべての {count} 本", + "behindCount": "{count, plural, one {#} other {#}}", + "busiestWeek": "最高の週", + "longestQuiet": "最長の静かなストレッチ", + "mostMarked": "最もマークされたもの", + "weekCount": "{count, plural, one {#週間} other {# 週間}}", + "anchorsUnplaced": "{count, plural, one {# アンカーを配置できませんでした} other {# アンカーを配置できませんでした}}", + "reviewThem": "レビューする", + "anchorLost": "アンカーが負けました", + "anchorRepaired": "修復済み", + "notes": "メモ", + "review": "レビュー", + "viewLabel": "グループ化と並べ替え", + "views": { + "newest": "最も新しい順", + "oldest": "古い順", + "book": "本順", + "color": "色順", + "source": "ソース順" + }, + "matchCount": "{shown} / {total}", + "moreActions": "その他のアクション", + "loadMore": "{count, plural, one {あと1つ} other {さらに#}}", + "openBook": "本を開く", + "noteLabel": "メモ", + "yourNote": "あなたのメモ", + "notePlaceholder": "なぜこれが重要か言ってください。", + "openAtThisPage": "このページで開く", + "positionAndSync": "位置と同期", + "loadFailed": "ハイライトを読み込めませんでした。しばらくしてからもう一度お試しください。", + "chips": { + "dateBetween": "{from} から {to}", + "dateFrom": "{from} から", + "dateUntil": "{to} まで" + }, + "activitySummary": "{count, plural, one {# highlight between {from} and {to}} other {# highlight between {from} and {to}}}", + "book": "本", + "needsReview": "レビューが必要" + }, + "sources": { + "web": "ウェブ", + "koreader": "KOReader", + "kobo": "Kobo" + }, + "colors": { + "yellow": "黄色", + "green": "緑", + "blue": "青", + "pink": "ピンク", + "orange": "オレンジ", + "red": "赤", + "olive": "オリーブ", + "cyan": "水色", + "purple": "パープル", + "gray": "グレー" } }, "audit": { @@ -2802,6 +5207,7 @@ "resource": "リソース", "targetType": "ターゲットタイプ(影響を受けたもの)", "userId": "ユーザー ID", + "from": "差出人:", "to": "終了日" }, "filterPlaceholders": { @@ -2819,7 +5225,13 @@ "user": "ユーザー", "action": "アクション", "description": "説明", - "ip": "IP" + "ip": "IP", + "time": "時刻", + "person": "人", + "source": "ソース", + "open": "開く", + "network": "ネットワーク", + "activity": "アクティビティ" }, "categories": { "authentication": "認証", @@ -2829,15 +5241,23 @@ "collections": "コレクション", "integrations": "統合", "settings": "設定", - "other": "その他" + "other": "その他", + "access": "サインイン&アクセス", + "requests": "リクエスト", + "devices": "デバイス&メール" }, "resourceLabels": { "User": "ユーザー", "Library": "ライブラリ", "Book": "本", + "Podcast": "ポッドキャスト", + "PodcastEpisode": "ポッドキャストエピソード", "Collection": "コレクション", "SmartScope": "スマートスコープ", "BookDockFile": "ブックドックファイル", + "BookRequest": "本のリクエスト", + "DownloadClient": "クライアントをダウンロード", + "RequestIndexer": "インデクサー", "Author": "作成者", "AppSettings": "アプリケーションの設定", "Genre": "ジャンル", @@ -2895,6 +5315,18 @@ "LibraryAccessRevoke": "ライブラリへのアクセスを取り消す", "LibraryWriteMetadataToFiles": "ファイルにメタデータを書く", "LibraryBulkRename": "ライブラリファイルの名前を変更", + "LibraryRecomputeAddedAt": "再計算の日付が追加されました", + "PodcastCreate": "ポッドキャストを作成", + "PodcastUpdate": "ポッドキャストを更新", + "PodcastArchive": "アーカイブポッドキャスト", + "PodcastRestore": "ポッドキャストを復元", + "PodcastPurge": "ポッドキャストを削除", + "PodcastMerge": "ポッドキャストを統合", + "PodcastDownload": "ポッドキャストのエピソードをダウンロード", + "PodcastDownloadRemove": "ポッドキャストのダウンロードを削除", + "PodcastRetentionUpdate": "ポッドキャストの保持を更新", + "PodcastOpmlImport": "ポッドキャストOPMLをインポート", + "PodcastOpmlExport": "ポッドキャストOPMLをエクスポート", "BookUpload": "本をアップロード", "BookMetadataUpdate": "本のメタデータを更新", "BookMetadataLocksUpdate": "メタデータロックを更新", @@ -2920,6 +5352,24 @@ "SmartScopeUpdate": "スマートスコープを更新", "SmartScopeDelete": "スマートスコープを削除", "BookDockFinalize": "ブックドックファイルを終了する", + "BookRequestCreate": "ブックのリクエストを作成", + "BookRequestApprove": "本のリクエストを承認する", + "BookRequestReject": "本のリクエストを拒否", + "BookRequestCancel": "本のリクエストをキャンセル", + "BookRequestFulfill": "フルフィル本のリクエスト", + "BookRequestGrab": "ダウンロードクライアントに本のリクエストを送信", + "BookRequestImport": "ブックリクエストのダウンロードをインポート", + "BookRequestRemoveDownload": "クライアントからのブックリクエストのダウンロードを削除", + "BookRequestDelete": "本のリクエストを削除", + "DownloadClientCreate": "ダウンロードクライアントを作成", + "DownloadClientUpdate": "ダウンロードクライアントを更新", + "DownloadClientDelete": "ダウンロードクライアントを削除", + "RequestIndexerCreate": "インデクサが追加されました", + "RequestIndexerUpdate": "インデクサが更新されました", + "RequestIndexerDelete": "ソースが削除されました", + "RequestIndexerPluginInspect": "インデクサプラグインを検査しました", + "RequestIndexerPluginInstall": "インデクサプラグインがインストールされました", + "RequestIndexerPluginRemove": "インデクサプラグインを削除しました", "AuthorUpdate": "投稿者を更新", "AuthorDelete": "投稿者を削除", "AuthorMerge": "著者をマージ", @@ -2954,11 +5404,182 @@ "EmailRecipientGroupUpdate": "受信者グループを更新", "EmailRecipientGroupDelete": "受信者グループを削除", "EmailRecipientGroupMemberAdd": "グループに宛先を追加", - "EmailRecipientGroupMemberRemove": "グループから受信者を削除" - } + "EmailRecipientGroupMemberRemove": "グループから受信者を削除", + "MaintenanceMissingBooksClean": "欠けている本をクリーンアップしました", + "MaintenanceBrokenCoversClean": "壊れたカバーを消去しました", + "MaintenanceOrphanedCoversClean": "孤立したカバーフォルダをクリーンアップしました" + }, + "views": { + "label": "表示", + "changes": "変更", + "signins": "サインイン", + "security": "セキュリティ", + "all": "すべて" + }, + "search": { + "label": "予定を検索", + "placeholder": "人物、ターゲット、または IP アドレスを検索", + "placeholderShort": "予定を検索" + }, + "range": { + "label": "Date range: {range}", + "today": "今日", + "7d": "過去 7 日間", + "30d": "過去 30 日間", + "all": "全て保管されています", + "custom": "カスタム範囲", + "from": "差出人:", + "to": "終了日", + "between": "{from} から {to}", + "since": "{date} 以降", + "until": "{date} まで", + "sinceOldest": "{date} 以降" + }, + "filterMenu": { + "button": "フィルタ", + "category": "カテゴリ", + "person": "人", + "findPerson": "人を探す", + "noPeople": "一致する人がいません。", + "clear": "クリア", + "done": "完了" + }, + "activeFilters": { + "target": "{type}: {name}", + "clearAll": "すべてクリア" + }, + "securityGroups": { + "label": "セキュリティイベントの種類", + "all": "すべて", + "failed": "失敗したサインイン", + "accounts": "アカウント", + "passwords": "パスワード", + "permissions": "アクセス許可", + "access": "ライブラリへのアクセス", + "links": "サインインリンク" + }, + "day": { + "today": "今日", + "yesterday": "昨日", + "changes": "{count, plural, one {# changes} other {# changes}}", + "events": "{count, plural, one {# イベント} other {# イベント}}" + }, + "person": { + "system": "システム", + "deleted": "削除されたアカウント", + "automation": "自動化" + }, + "source": { + "server": "このサーバー", + "local": "ローカルネットワーク", + "internet": "インターネット", + "job": "バックグラウンドジョブ", + "unknown": "記録されていません" + }, + "target": { + "none": "No target", + "more": "+{count}", + "sinceDeleted": "削除された後", + "withId": "{type} #{id}" + }, + "openEvent": "詳細を開く: {event}", + "signIns": { + "signIns": "{count, plural, one {# sign-in} other {# sign-in}}", + "signOuts": "{count, plural, one {# sign-out} other {# sign-outs}}", + "failed": "{count, plural, one {# 失敗しました} other {# 失敗しました}}", + "failedAs": "{count, plural, one {# {names}} other {# failed as {names}}}", + "range": "{from} – {to}", + "footer": "{count, plural, one {{events} サインインイベントを # 人、日、ネットワークに} other {{events} サインインイベントを # 人、日、ネットワークに}}" + }, + "pager": { + "label": "ページ", + "previous": "前のページ", + "next": "次のページ", + "page": "ページ {page}", + "changes": "{from}–{to} / {count,plural,one{# 変更} other{# 変更}}", + "events": "{from}–{to} / {count,plural,one{# イベント} other{# イベント}}" + }, + "drawer": { + "description": "1つの監査イベントの詳細", + "close": "閉じる", + "subtitle": "{category} · {day}, {time}", + "when": "日時", + "person": "人", + "source": "ソース", + "target": "Target", + "usernameTried": "ユーザー名を入力してください", + "deletedHere": "{type} · deleted by this event", + "deletedSince": "{type} · 削除後", + "inThisRow": "{count, plural, one {# イベント この行} other {# イベント この行}}", + "around": "このイベントの周辺", + "aroundHint": "{name}, 40 分", + "aroundEmpty": "{name} から40分以内に何もありません。", + "history": "沿革", + "historyCount": "{count, plural, one {# イベント} other {# イベント}}", + "historyMeta": "{name} · {date}, {time}", + "thisEvent": "このイベント", + "raw": "生のイベント", + "rawEventId": "イベントID", + "rawAction": "アクション", + "rawTarget": "Target type", + "rawNote": "サーバーノート", + "only": "{name} のみ" + }, + "facts": { + "format": "書式", + "size": "サイズ", + "download": "ダウンロード", + "dockFile": "ブックドックファイル", + "rejected": "拒否", + "failed": "失敗しました", + "cleaned": "Cleaned", + "skipped": "スキップ", + "remaining": "残り", + "sharingLevel": "共有レベル", + "sharing": { + "private": "共有していません", + "summary": "Summary", + "detailed": "詳細情報" + } + }, + "retention": { + "button": "{count, plural, one {#日保留} other {#日保留}}", + "title": "イベントを保持する", + "days": "{count, plural, one {#日} other {# 日}}", + "hint": "古いイベントは深夜に毎晩削除されます。", + "hintWithOldest": "古いイベントは、深夜に毎晩削除されます。最も古いイベントは {date} です。", + "readOnly": "これを変更できるのはアプリの設定を変更できる人だけです。", + "saved": "{count,plural,one{監査イベントが保持されました # 今日だ} other{監査イベントが保持されました # 何日も}}", + "saveFailed": "イベントの保持期間を変更できませんでした。" + }, + "export": { + "button": "エクスポート", + "title": "表示されているものをエクスポート", + "hint": "現在のビュー、フィルタ、日付範囲を使用します。", + "csv": "CSV", + "json": "JSON", + "failed": "監査ログをエクスポートできませんでした。" + }, + "emptyFiltered": "これらのフィルタに一致するイベントはありません。" }, "auth": { "backToSignIn": "サインインに戻る", + "plate": { + "exLibris": "Ex Libris" + }, + "endpaper": { + "change": "エンドペーパーを変更", + "options": { + "seigaiha": "波", + "shippo": "リンクされた円", + "asanoha": "大麻葉", + "quatrefoil": "四分位", + "ogee": "Ogee", + "harlequin": "Harlequin", + "greekKey": "ギリシャ語キー", + "plain": "Plain" + } + }, "themePicker": { "switchToLight": "ライトに切り替える", "switchToDark": "暗闇に切り替える", @@ -2976,7 +5597,10 @@ "confirmPassword": "パスワードの確認", "confirmNewPassword": "新しいパスワードを確認", "currentPassword": "現在のパスワード", - "passwordHint": "大文字、小文字、数字を含む最小8文字" + "passwordHint": "大文字、小文字、数字を含む最小8文字", + "showPassword": "パスワードを表示", + "hidePassword": "パスワードを隠す", + "capsLockOn": "Caps LockがONです" }, "errors": { "generic": "問題が発生しました。もう一度やり直してください。", @@ -2985,18 +5609,27 @@ "login": { "subtitle": "アカウントにサインインする", "signIn": "サインイン", + "signingIn": "サインイン中...", "orDivider": "または", "forgotPassword": "パスワードを忘れましたか?", + "resetPasswordAction": "パスワードのリセット", "noAccount": "アカウントをお持ちでないですか?", "signUp": "新規登録", "registeredNotice": "アカウントが作成されました。続行するにはサインインしてください。管理者がライブラリにアクセスする前に権限を許可する必要があります。", + "resetNotice": "パスワードを更新しました。新しいパスワードでサインインしてください。", "errors": { "invalidCredentials": "ユーザー名またはパスワードが正しくありません", - "tooManyAttempts": "ログイン試行回数が多すぎます。しばらく待ってからもう一度お試しください。" + "tooManyAttempts": "ログイン試行回数が多すぎます。しばらく待ってからもう一度お試しください。", + "passwordDisabled": "パスワードのサインインが無効です。シングルサインオンプロバイダーを使用してください。", + "optionsUnavailable": "サインインオプションをロードできませんでした。ページを更新するか、管理者に問い合わせてください。", + "accountLocked": "パスワードは正しいですが、サインインに失敗した回数が多すぎると、このアカウントは一時的にロックされています。再度お試しください {minutes,plural,one{# 分} other{# 分}}今すぐロックを解除するにはパスワードをリセットしてください。" } }, "oidc": { + "loginFailed": "OIDC ログインに失敗しました。", + "redirecting": "リダイレクト中...", "signInWith": "{provider} でサインイン", + "completingSignIn": "サインインを完了しています...", "tryAgain": "もう一度やり直してください", "errors": { "stateExpired": "ログインセッションの有効期限が切れました。もう一度ログインしてください。", @@ -3015,6 +5648,7 @@ "forgotPassword": { "subtitle": "パスワードをリセットする", "submitted": "そのメールアドレスを持つアカウントが存在する場合、リセットリンクが送信されました。受信トレイを確認してください。", + "sending": "送信中...", "sendResetLink": "リセットリンクを送信", "errors": { "emailUnavailable": "Eメール経由のパスワードリセットは利用できません。管理者に問い合わせてください。" @@ -3022,6 +5656,7 @@ }, "resetPassword": { "subtitle": "新しいパスワードを設定", + "saving": "保存中...", "setNewPassword": "新しいパスワードを設定", "errors": { "invalidLink": "無効なリセットリンクです。新しいリンクをリクエストしてください。", @@ -3032,6 +5667,7 @@ "title": "アカウントを作成する", "subtitle": "サインアップして始めましょう。", "createAccount": "アカウントを作成", + "creatingAccount": "アカウントを作成しています...", "haveAccount": "既にアカウントをお持ちですか?", "signIn": "サインイン", "errors": { @@ -3055,6 +5691,7 @@ "subtitle": "最初の管理者アカウントを作成する。", "setupToken": "トークンのセットアップ", "setupTokenHint": "(生産に必要)", + "creatingAccount": "アカウントを作成しています...", "createAccount": "管理者アカウントを作成", "errors": { "failed": "セットアップを完了できませんでした" @@ -3068,6 +5705,7 @@ } }, "magicLink": { + "signingIn": "サインイン中...", "loginFailed": "ログインに失敗しました", "goToLogin": "ログインへ移動", "errors": { @@ -3083,7 +5721,15 @@ "deleteAuthor": "投稿者を削除" }, "filters": { - "allLibraries": "すべてのライブラリ" + "allLibraries": "すべてのライブラリ", + "chips": { + "groupLabel": "著者をフィルター", + "all": "すべて", + "noPortrait": "ポートレートなし", + "multipleBooks": "2冊以上の本", + "recentlyAdded": "今週追加", + "noSortName": "ソート名がありません" + } }, "header": { "never": "一切なし", @@ -3091,10 +5737,12 @@ "actions": "アクション", "editAuthor": "投稿者を編集", "mergeAuthors": "作成者を結合", + "refreshing": "更新中...", "refreshMetadata": "メタデータを更新", "deleteAuthor": "投稿者を削除", "showLess": "表示を減らす", "showMore": "詳細を表示", + "lookingUpMetadata": "作者のメタデータを検索中...", "noBiography": "伝記はありません。メニューを使用してメタデータを更新してください。", "previewFrom": "{provider}からプレビューします。メタデータを保存して永続化します。", "booksLabel": "本", @@ -3138,15 +5786,23 @@ "selection": { "selectVisible": "表示しているものを選択", "refreshMetadata": "メタデータを更新", + "refreshingMetadata": "メタデータを更新中...", + "confirmRefreshCount": "{count,plural,one{メタデータを更新: # 作者?} other{メタデータを更新: # 著者?}}", + "refreshAction": "更新", "deleteSelected": "選択したものを削除", - "exitSelection": "選択を終了" + "deleting": "削除中...", + "exitSelection": "選択を終了", + "confirmDeleteCount": "{count,plural,one{削除 # 作者?} other{削除 # 著者?} =0{削除 # 作者?}}" }, "toast": { "refreshed": "投稿者のメタデータを更新しました", "refreshedNoImage": "メタデータを更新しましたが、投稿者の画像が見つかりませんでした。", "refreshFailed": "著者のメタデータを更新できませんでした", + "bulkRefreshPartial": "更新しました {updated} 著者(s) {failed} 失敗しました", + "bulkRefreshSuccess": "更新されたメタデータ: {updated} 作成者", "bulkRefreshFailed": "選択した著者の更新に失敗しました", - "deleteSuccess": "{count, plural, =0 {#著者を削除しました {books} 本} one {#著者を削除しました {books} 本} other {#著者を削除しました {books} 本}}" + "deleteSuccess": "{count, plural, =0 {#著者を削除しました {books} 本} one {#著者を削除しました {books} 本} other {#著者を削除しました {books} 本}}", + "deleteFailed": "著者の削除に失敗しました" } }, "detail": { @@ -3154,24 +5810,32 @@ "pageTitleNamed": "著者 · {name}", "pageTitleId": "著者 #{id}", "entityName": "作成者", + "loadingAuthor": "作成者を読み込み中...", "previewError": "今すぐ外部著者プレビューメタデータを読み込めませんでした。", "edit": { "name": "名前", "sortName": "ソート名", "description": "説明", "image": "画像", + "uploading": "アップロード中...", "replaceImage": "画像を置き換え", "uploadImage": "画像をアップロード", + "removing": "削除中...", "removeImage": "Remove image", - "imageHint": "PNG/JPEG/WEBP/GIF/BMP から {size} MB" + "imageHint": "PNG/JPEG/WEBP/GIF/BMP から {size} MB", + "saving": "保存中..." }, "merge": { "searchPlaceholder": "この著者にマージするために著者を検索", + "searching": "検索中...", "bookCount": "{count, plural, =0 {本はありません} one {# 本} other {# 本}}", + "selectedSummary": "選択済み {count} 著者, 約 {books} 本に影響を与えた", + "merging": "マージ中...", "mergeSelected": "選択項目を結合", "confirmLabel": "結合" }, "mergeDialog": { + "title": "結合 {count} 作成者 \"{name}\"?", "titleFallback": "選択した著者をマージしますか?", "description": "選択した著者を現在の著者にマージし、関連する本を再リンクします。この操作は元に戻せません。", "descriptionEmpty": "この操作は元に戻せません。" @@ -3194,6 +5858,7 @@ "publishedYear": "出版年" }, "empty": { + "title": "この著者のための本は見つかりませんでした。", "hint": "並べ替え/順序を変更するか、別のライブラリを選択してください。" } }, @@ -3208,14 +5873,38 @@ "imageUploadFailed": "作成者の画像をアップロードできませんでした", "imageRemoved": "作成者の画像が削除されました", "imageRemoveFailed": "著者画像の削除に失敗しました", + "mergeSuccess": "マージ済み {count} author(s);影響を受けた {books} 本", "mergeFailed": "著者をマージできませんでした", "deleteSuccess": "削除された著者; 影響を受けた {books} 本", "deleteFailed": "著者の削除に失敗しました" } + }, + "portrait": { + "fromTheirBook": "彼らの本のいずれかの表紙; ファイルに肖像画がありません" + }, + "index": { + "bookCount": "{count, plural, =0 {本はありません} one {# 本} other {# 本}}", + "rowLabel": "{name}, {count,plural,one{# 本} other{# 本} =0{本はありません}}", + "actionsFor": "{name} のアクション", + "refreshing": "{name} のメタデータを更新しています", + "deleting": "{name} の削除" } }, "book": { "untitled": "無題のタイトル", + "placeholder": { + "volume": "{number}", + "genre": { + "horror": "ホラー", + "romance": "ロマンス(ロマンス)", + "fantasy": "Fantasy", + "scifi": "Sci-fi", + "mystery": "Mystery", + "classic": "クラシック", + "nonfiction": "ノンフィクション(ノンフィクション)", + "young": "若い読者たち" + } + }, "unknownFormat": "不明", "collapsedSeries": { "label": "シリーズ", @@ -3226,11 +5915,37 @@ "missing": "見つかりません" }, "file": { + "primary": "プライマリ(プライマリ)", "audiobook": "オーディオブック" }, + "formats": { + "djvu": "DjVu ドキュメント", + "epub": "EPUB-book", + "kepub": "KEPUB-book", + "pdf": "PDF ドキュメント", + "cbz": "CBZ comic", + "cbr": "CBRコミック(CBR)", + "cb7": "CB7 comic", + "mobi": "MOBI e book", + "azw3": "AZW3 e-book", + "azw": "AZWの電子ブック", + "fb2": "フィクションブック", + "m4b": "M4Bオーディオブック", + "mp3": "MP3 オーディオ", + "m4a": "M4Aオーディオ", + "opus": "Opus audio", + "ogg": "OGGオーディオ", + "flac": "FLACオーディオ", + "readAlong": "EPUBを読み込みます。", + "primary": "プライマリフォーマット" + }, "actions": { "read": "既読にする", "listen": "Listen", + "startReading": "読み込みを開始", + "continueReading": "続きを読む", + "startListening": "聴き始めます", + "continueListening": "リッスンを続ける", "peek": "Peek", "quickView": "クイックビュー", "details": "詳細", @@ -3244,7 +5959,18 @@ "setStatus": "ステータスを設定", "sendViaEmail": "メールで送信", "rate": "{star} を評価", - "openAs": "{format} として開く" + "openAs": "{format} として開く", + "openReadAlong": "EPUBを開きます" + }, + "refreshMetadata": { + "success": "メタデータを更新しました", + "failed": "メタデータの更新に失敗しました" + }, + "coverRegeneration": { + "failed": "カバーを再生成できませんでした", + "bulkInProgress": "カバーを再抽出します。", + "bulkFailed": "カバーを再抽出できませんでした", + "bulkCompleted": "再抽出済み {updated} / {processed,plural,one{# カバー} other{# カバー}}" }, "readStatus": { "unread": "未読です", @@ -3260,7 +5986,20 @@ "action": "ダウンロード", "audiobookZip": "オーディオブック (ZIP)", "allFormatsZip": "すべてのフォーマット (ZIP)", - "primaryOnlyZip": "プライマリのみ (ZIP)" + "primaryOnlyZip": "プライマリのみ (ZIP)", + "preparing": "ダウンロードを準備しています...", + "preparingExport": "準備中 {count,plural,one{# 本} other{# 本}} ダウンロード...", + "progressPercent": "{percent} / {total} をダウンロード中", + "progressBytes": "{transferred} をダウンロード中", + "failed": "ダウンロードに失敗しました", + "exportFailed": "エクスポートに失敗しました", + "audiolessEpub": "KOReader EPUB", + "audiolessEpubHint": "オーディオファイルが削除された KOReader 用 EPUB をダウンロード", + "noAudio": "音声なし", + "textOnlyEpub": "テキストのみのEPUB", + "textOnlyEpubHint": "読書アンカーを維持しながら、ナレーションフリーのEPUBをダウンロードしてください。", + "originalNarrated": "ナレーション付き元の EPUB", + "originalNarratedEpub": "ナレーション付き元の EPUB" }, "sort": { "moveUp": "上へ移動", @@ -3268,6 +6007,7 @@ "ascending": "昇順", "descending": "降順", "fields": { + "relevance": "関連", "author": "作成者", "title": "タイトル", "series": "シリーズ", @@ -3317,18 +6057,21 @@ "collection": "コレクション", "library": "ライブラリ", "format": "書式", + "fileSize": "プライマリファイルサイズ", "addedAt": "追加日", "startedAt": "開始日", "finishedAt": "終了日", "fileAvailability": "ファイルの有効期間", "rating": "評価", "communityRating": "コミュニティの評価", + "communityRatingCount": "コミュニティレビュー数", "readProgress": "読書の進捗状況", "readStatus": "読み取り状況", "description": "説明", "isbn": "ISBN", "metadataScore": "メタデータスコア", "cover": "カバー", + "audioCover": "オーディオブック カバー", "lockStatus": "ロック状態", "seriesStatus": "系列ステータス" }, @@ -3344,9 +6087,11 @@ "gt": "より大きい", "gte": "少なくとも", "lt": "より小さい", + "lte": "せいぜい...", "between": "の間", "includesAny": "次のいずれかを含む", "includesAll": "すべてを含む", + "excludesAll": "を除外します。", "before": "前", "after": "後", "withinLast": "最後まで", @@ -3365,12 +6110,16 @@ "customFieldFallback": "カスタムフィールド", "anyProvider": "任意のプロバイダー", "communityRatingProvider": "コミュニティ評価プロバイダー", + "loadingLibraries": "ライブラリを読み込んでいます...", "noLibrariesAvailable": "利用可能なライブラリがありません", + "selectLibrary": "ライブラリを選択...", + "selectStatus": "ステータスを選択...", "withinLastPlaceholder": "例: 7", "unit": { "days": "日", "weeks": "週間", - "months": "ヶ月" + "months": "ヶ月", + "megabytes": "MB" }, "scorePreset": { "outstanding": "Outstanding", @@ -3379,24 +6128,31 @@ "poor": "悪い" }, "scoreRangePlaceholder": "0-100", + "fileSizePlaceholder": "例: 10", + "fileSizeValueAria": "プライマリファイルサイズ(メガバイト)", + "fileSizeMaximumAria": "プライマリファイルの最大サイズ(メガバイト)", "valuePlaceholder": "値", "maxPlaceholder": "最大", "to": "to", "group": "グループ", "addRule": "ルールを追加", - "addGroup": "グループを追加" + "addGroup": "グループを追加", + "typeToSearch": "入力して検索..." }, "deleteDialog": { "title": "本を削除しますか?", "description": "本とすべてのメタデータ、ファイル、読み取り進行状況、ブックマークを完全に削除します。元に戻すことはできません。" }, "bulkEdit": { + "title": "{count,plural,one{メタデータを編集 - # 本} other{メタデータを編集 - # 本} =0{メタデータを編集 - # 本}}", "instructions": "トグルフィールドを編集し、値を設定します。切り替えられたフィールドのみが変更されます。", "invalidYear": "有効な年を入力してください(数字のみ)", "clearWarning": "選択した本からすべての {field} が削除されます。", + "searchPlaceholder": "検索 {field}...", "enterPlaceholder": "{field} を入力", "yearPlaceholder": "例: 2024", "leaveEmptyHint": "選択したすべての本にこのフィールドをクリアするには、空白のままにします。", + "applying": "適用中...", "apply": "適用", "mode": { "add": "追加", @@ -3424,6 +6180,8 @@ "includeContextMeta": "コンテキストメタデータを含める", "preflight": "プリフライト", "scopeLabel": "スコープ: {summary}", + "calculatingSize": "エクスポートサイズを計算中...", + "estimatedSize": "推定サイズ:", "fileLabel": "ファイル: {fileName}", "exportAction": "エクスポート", "selectedRowsSummary": "{count, plural, =0 {# selected row} one {# selected row} other {# selected rows}}", @@ -3435,6 +6193,7 @@ "columnPanel": { "columnsHeading": "列", "reset": "Reset", + "tableDensity": "テーブルの密度:", "density": { "compact": "コンパクト化", "comfortable": "快適さ", @@ -3516,6 +6275,7 @@ "failedCount": "{count} に失敗しました", "remainingCount": "残り {count}", "readOnlyNotice": "表の編集は小さい画面では無効になります。リストまたはグリッドに切り替えると操作が速くなります。", + "fetching": "フェッチ中...", "updated": "更新日時", "failed": "失敗しました", "noBooks": "表示する本がありません", @@ -3535,7 +6295,8 @@ }, "header": { "previousBook": "前の本", - "nextBook": "次の本" + "nextBook": "次の本", + "backToLibrary": "{library} に戻る" }, "tabs": { "details": "詳細", @@ -3564,9 +6325,12 @@ "renameFailed": "名前の変更に失敗しました", "autoWriteAndRenameDisabled": "ライブラリ設定で自動書き込みと名前変更が無効になります。変更は保存時に自動的に同期されません。", "autoWriteDisabled": "ライブラリ設定で自動書き込みが無効になっています。変更は保存時に自動的に同期されません。", - "autoRenameDisabled": "ライブラリ設定で自動名前変更が無効になっています。変更は保存時に自動的に同期されません。" + "autoRenameDisabled": "ライブラリ設定で自動名前変更が無効になっています。変更は保存時に自動的に同期されません。", + "writeLabel": "書き込み:", + "renameLabel": "名前の変更:" }, "addFile": { + "uploading": "アップロード中...", "uploadComplete": "アップロード完了", "title": "ファイルを追加", "dropzone": { @@ -3578,7 +6342,9 @@ "clearAll": "すべてクリア", "done": "完了", "retry": "再試行する", + "filesAdded": "{count,plural,one{1 つのファイルが追加されました} other{# ファイルが追加されました} =0{ファイルが追加されていません}}", "uploadedFailed": "{done} がアップロードされました。 {failed} に失敗しました", + "uploadingProgress": "{done} / {total} アップロード中...", "renameAfter": "アップロード後にすべての本ファイルの名前を変更する", "uploadCount": "アップロード ({count})", "upload": "アップロード" @@ -3597,6 +6363,7 @@ "optional": "省略可能", "format": "書式", "noFormat": "特定の形式がありません", + "saving": "保存中...", "submit": "セッションを追加" }, "coverEditor": { @@ -3604,10 +6371,37 @@ "lockCover": "カバーをロック", "fileTab": "ファイル", "urlTab": "URL", + "chooseImage": "画像を選択...", "findCoverOnline": "オンラインでカバーを見つける", + "saving": "保存中...", "saveCover": "カバーを保存", "revertToOriginal": "元に戻す", - "regenerateCover": "カバーを再生成する" + "regenerateCover": "カバーを再生成する", + "slotsLabel": "編集するためにカバーする", + "slotEbook": "本", + "slotAudio": "オーディオブック", + "slotEbookName": "本のカバー", + "slotAudioName": "オーディオブックカバー", + "editingEbook": "ブックカバーの編集", + "editingAudio": "オーディオブックカバーの編集", + "lockEbookCover": "本の表紙をロック", + "unlockEbookCover": "本の表紙をアンロック", + "lockAudioCover": "オーディオブックのカバーをロック", + "unlockAudioCover": "オーディオブックカバーをアンロック", + "viewLarger": "拡大表示", + "viewLargerEbook": "大きな本の表紙を見る", + "viewLargerAudio": "大きなオーディオブックカバーを見る", + "sourceMode": "画像ソース", + "urlLabel": "画像URL", + "saveFailed": "カバーを保存できませんでした", + "revertFailed": "カバーを元に戻せませんでした" + }, + "coverLightbox": { + "title": "カバープレビュー", + "description": "フルサイズのカバー。エスケープキーを押して閉じます。", + "switchLabel": "表示するカバー", + "ebook": "本", + "audio": "オーディオブック" }, "coverSearch": { "title": "オンライン検索", @@ -3618,6 +6412,7 @@ "allSources": "すべてのソース", "audiobookCovers": "オーディオブックのカバー", "squareHint": "(正方形)", + "searching": "検索中...", "findCovers": "カバーを見つける", "selectCover": "カバーを選択", "noResultsTitle": "結果が見つかりませんでした", @@ -3627,6 +6422,7 @@ "resolutionTip": "ヒント: 高解像度カバーは緑色でマークされています" }, "details": { + "by": "作成者:", "narratedBy": "によってナレーションされた", "ratingLocked": "評価はロックされています", "rateStar": "{star} を評価", @@ -3634,6 +6430,7 @@ "read": "既読にする", "chooseFormat": "フォーマットを選択", "audiobook": "オーディオブック", + "primary": "プライマリ(プライマリ)", "peek": "Peek", "sendViaEmail": "メールで送信", "personalReview": { @@ -3645,13 +6442,38 @@ "cancelEditAria": "個人レビュー編集をキャンセル" }, "editCover": "カバーを編集", + "viewCover": "大きなカバーを見る", "finished": "完了", "resetFileProgress": "ファイルの進行状況をリセット", + "resetEditionProgress": "{format} の進行状況をリセット", + "resetting": "リセット中...", "resetProgressConfirm": "{label} の読み取り進行状況をリセットしますか?", "moreCount": "+{count} 以上", "untitled": "無題のタイトル", "metadataScore": "メタデータスコア", "primaryFormat": "プライマリフォーマット", + "readAloudSync": { + "title": "読み上げ進行状況の同期", + "state": { + "enabled": "有効", + "disabled": "無効", + "unavailable": "Unavailable", + "epubCopiesOnly": "EPUBのコピーのみ" + }, + "enabledDescription": "Audiobook、Webリーダー、Kobo、KOReaderのポジションは同期を保ちます。", + "disabledDescription": "各フォーマットは、独自の読み取り位置を保持します。", + "epubCopiesDescription": "Webリーダー、Kobo、KOReaderのポジションは、EPUBコピー間で同期を維持します。オーディオブックを同期するために、一致するオーディオブックファイルを追加します。", + "reason": { + "no_media_overlay_epub": "メディアオーバーレイ付きの既読のEPUBが必要です。", + "no_audio_files": "スタンドアロンのオーディオブックファイルに一致する必要があります。", + "missing_duration": "音声期間のメタデータが不完全です。", + "durationMismatch": "期間は十分に密接に一致しません: オーディオブック {audio}、既読のEPUB {overlay}." + }, + "enable": "有効にする", + "disable": "無効", + "saving": "保存中...", + "saveFailed": "読み上げ進行状況の同期を更新できませんでした。" + }, "openIn": "{provider} で開く", "showLess": "表示を減らす", "showMore": "詳細を表示", @@ -3668,7 +6490,9 @@ "library": "ライブラリ", "added": "追加しました", "cancelDateAddedEdit": "追加された日付の編集をキャンセル", + "editDateAdded": "日付を編集します。", "dateStarted": "開始日", + "saving": "保存中...", "cancelDateStartedEdit": "キャンセル開始日", "editDateStarted": "開始日付の編集", "dateFinished": "終了日", @@ -3682,6 +6506,7 @@ "dateAddedFutureError": "追加された日付は未来にはできません。", "dateFinishedFutureError": "終了した日付は将来できません。", "dateFinishedBeforeStartedError": "終了した日付は開始日以降でなければなりません。", + "dateFinishedBeforeStartedErrorWithDate": "終了した日付は、開始日({date})以降でなければなりません。", "saveReadingDatesError": "読み取り日を保存できませんでした。", "saveAddedDateError": "追加された日付を保存できませんでした。", "koboPendingDelete": "デバイスからの削除を保留中", @@ -3691,8 +6516,37 @@ "koboNotSynced": "同期していません", "koboNotSyncedTooltip": "次回の弘法同期を待機中。", "filesNotFound": "ファイルが見つかりません", + "filesNotFoundDescription": "この本のファイルはディスク上に見つかりません。 メタデータはまだ利用可能です。ライブラリスキャンを実行して確認するか、レコードを削除してください。", + "resetHoldNotice": "{device} 古い位置がある{percent})", "resetHoldRelease": "この端末の位置を使用する", - "resetHoldReleaseFailed": "この位置を使用できませんでした。もう一度お試しください。" + "resetHoldReleasing": "リリース中...", + "resetHoldReleaseFailed": "この位置を使用できませんでした。もう一度お試しください。", + "editions": "エディション一覧", + "editionsSummary": "{count} · {size}", + "moreFormats": "+{count} 以上", + "filesOnDisk": "ディスク上のファイル", + "yourReading": "あなたの読み取り", + "lastRead": "最後に読んだ {when}", + "notStarted": "未開始", + "noSessionsYet": "読み取りセッションはまだありません。リーダーでこの本を開くと、時間、ペース、デバイスごとの進捗状況を追跡できます。", + "activitySessions": "セッション", + "activityTime": "時刻", + "activityAverage": "平均", + "activityProgress": "進捗状況", + "activityDayTooltip": "{day}: {minutes} 分", + "activityReached": "{percent} に達しました", + "durationS": "{seconds}秒", + "durationM": "{minutes}m", + "durationHm": "{hours}h {minutes}m", + "yourReview": "あなたのレビュー", + "reviewNotWritten": "まだ書かれていません", + "writeReview": "書き込み", + "collections": "コレクション", + "noCollections": "なし", + "onDisk": "ディスク上", + "detailsHeading": "詳細", + "percentUnderOne": "<1%", + "percentOverNinetyNine": ">99%" }, "editMetadata": { "fieldCount": "{count, plural, =0 {No fields} one {one field} other {# fields}}", @@ -3702,7 +6556,9 @@ "formatNotSupported": "このファイル形式は書き込みをサポートしていません", "formatDisabled": "この形式の書き込みは無効です", "fileExceedsSizeLimit": "このファイルは書き込みバックサイズ制限を超えています", + "writing": "書き込み中...", "saveInProgress": "保存中", + "writeManualLibraryDisabled": "ファイルにメタデータを書き込み、ディスクの名前を変更します。このライブラリでは自動書き込みは無効になっています。", "writeManualTooltip": "{fields} を {target} に書き込み、ディスク上の名前を変更", "applyResult": "{skipped}, {updated}", "skippedLockedFields": "{count, plural, =0 {ロックされたフィールドをスキップしました} one {ロックされたフィールドをスキップしました} other {ロックされたフィールドをスキップしました}}", @@ -3721,17 +6577,22 @@ "saveFailed": "変更を保存できませんでした", "saveFailedWithStatus": "変更を保存できませんでした (HTTP {status})", "loadFromFileFailed": "ファイルからメタデータを読み込めませんでした", + "loadedFieldsFromFile": "{count,plural,one{ファイルから1つのフィールドを読み込みました} other{読み込まれました # ファイルからフィールド} =0{ファイルからフィールドが読み込まれませんでした}}", "noMetadataInFile": "ファイルにメタデータが見つかりません", "loadFromFile": "ファイルから読み込む", "loadFromFileTooltip": "プライマリブックファイルからメタデータを読み込む", "writeToFile": "ファイルに書き込み", "autoFill": "自動入力", + "autoFillFailed": "自動入力に失敗しました", + "fetchingMetadata": "メタデータを取得中...", + "noExistingProviderIds": "メタデータが取得されていません: アクティブなフィールドルールプロバイダのどれもこの本に保存されているIDを持っていません。", "allFieldsLocked": "すべてのフィールドがロックされています", "autoFillTooltip": "メタデータ設定を使用してフィールドを自動入力", "lockAll": "すべてロック", "lockAllTooltip": "すべてのフィールドをロック", "unlockAll": "すべてのロックを解除", "unlockAllTooltip": "すべてのフィールドをロック解除", + "saving": "保存中...", "fileWriteBackDetails": "ファイルへの書き込みの詳細", "fileWriteBack": "ファイルの書き込み", "enabled": "有効", @@ -3757,6 +6618,7 @@ "pageCountLabel": "ページ数", "isbn13Label": "ISBN-13", "isbn10Label": "ISBN-10", + "durationLabel": "期間", "abridgedLabel": "接続済み", "providerIds": "プロバイダー ID", "comicDetails": "コミックの詳細", @@ -3768,6 +6630,7 @@ "comicColoristsLabel": "カラーリスト", "comicLetterersLabel": "文字", "comicCoverArtistsLabel": "カバーアーティスト", + "comicCharactersLabel": "登場人物:", "comicTeamsLabel": "チーム", "comicLocationsLabel": "場所", "customMetadata": "カスタムメタデータ", @@ -3777,6 +6640,7 @@ "diffPanel": { "untitled": "無題のタイトル", "noFieldsSelected": "フィールドが選択されていません", + "fieldsSelected": "{count,plural,one{1つのフィールドが選択されました} other{# 選択されたフィールド} =0{フィールドが選択されていません}}", "results": "結果", "providerMatches": "{provider} に一致", "selectedOf": "{selected} の {total} を選択しました", @@ -3789,9 +6653,19 @@ "hideUnchanged": "変更せずに隠す", "showUnchanged": "変更せずに表示", "current": "現在", + "new": "新規作成", "noMetadata": "このソースから利用可能なメタデータはありません。", "noChangedFields": "変更または不足しているフィールドはありません。すべてを検査するには変更されていないフィールドを使用してください。", - "applyToForm": "フォームに適用" + "applyToForm": "フォームに適用", + "secondCover": { + "audioResults": "オーディオブックのカバー結果", + "bookResults": "本のカバーの結果", + "showCover": "{provider} カバー、 {index} の {total} を表示", + "searchingAudio": "オーディオブック版を検索中...", + "searchingBook": "本のエディションを検索中...", + "noAudio": "オーディオブックのカバーは見つかりませんでした。", + "noBook": "表紙が見つかりませんでした。" + } }, "diff": { "locked": "ロック中", @@ -3800,15 +6674,79 @@ "newCoverAlt": "新しいカバー", "pickCoverFromProvider": "別のプロバイダからカバーを選択", "pickCoverSource": "カバーのソースを選択", + "coverShapeHint": { + "portraitForAudio": "縦向き画像です音声ブックのカバーは四角いです", + "squareForBook": "正方形の画像です。本の表紙は肖像です。" + }, "pickFromProvider": "別のプロバイダから選択", "pickSource": "ソースを選択", + "useNew": "新しい {field} を使用する", + "keepCurrent": "現在の {field} を維持", + "genreWriteMode": { + "label": "ジャンルの適用方法", + "merge": "結合", + "replace": "置換" + }, "empty": "空", "showLess": "表示を減らす", "showMore": "詳細を表示", - "coverPreviewAlt": "カバープレビュー" + "coverPreviewAlt": "カバープレビュー", + "fields": { + "coverUrl": "カバー", + "bookCover": "本のカバー", + "audioCover": "オーディオブックカバー", + "title": "タイトル", + "subtitle": "サブタイトル", + "authors": "著者", + "description": "説明", + "publisher": "発行者", + "publishedDate": "公開済み", + "language": "言語", + "pageCount": "ページ数", + "communityRating": "コミュニティ評価", + "seriesName": "シリーズ", + "seriesIndex": "系列インデックス", + "isbn13": "ISBN-13", + "isbn10": "ISBN-10", + "genres": "Genres", + "narrators": "ナレーターたち", + "durationSeconds": "期間 (秒)", + "abridged": "接続済み", + "hardcoverEditionId": "ハードカバー版ID", + "comicIssueNumber": "発行番号", + "comicVolumeName": "音量", + "comicPencillers": "Pencillers", + "comicInkers": "Inker", + "comicColorists": "カラーリスト", + "comicLetterers": "文字", + "comicCoverArtists": "カバーアーティスト", + "comicCharacters": "登場人物:", + "comicTeams": "チーム", + "comicLocations": "場所", + "comicStoryArcs": "Story arcs", + "sourceUrl": "ソースURL" + }, + "providerIds": { + "google": "Google Books ID", + "goodreads": "Goodreads ID", + "amazon": "Amazon ID", + "hardcover": "ハードカバーID", + "openLibrary": "ライブラリIDを開く", + "itunes": "iTunes ID", + "audible": "Audible ID", + "librofm": "Libro.fm ISBN", + "comicvine": "ComicVine ID", + "ranobedb": "RanobeDB ID", + "kobo": "Kobo ID", + "lubimyczytac": "LubimyCzytac ID", + "aladin": "Aladin ID" + } }, "searchDrawer": { "searchTitle": "メタデータを検索", + "autoSearchOnOpen": "開いたときに自動的に検索", + "autoSearchOnOpenHint": "次回このパネルが開いたときに本の詳細を使用します。このブラウザであなたのアカウントを記憶します。", + "searchOptions": "検索オプション", "compareTitle": "メタデータの比較", "searchSubtitle": "この本に最適なプロバイダーを見つけてください。", "compareSubtitle": "違いを確認し、望むものだけを適用します。" @@ -3818,35 +6756,273 @@ "titlePlaceholder": "タイトル", "authorPlaceholder": "作成者", "isbnPlaceholder": "ISBN", + "searching": "検索中...", "activeQuery": "有効なクエリ", "searchScope": "検索範囲", "allEnabled": "すべて有効", "all": "すべて", "fieldRules": "フィールドルール", "custom": "カスタム", + "providerNotInFieldRules": "{provider} は有効になっていますが、フィールドルールでは有効になりません", + "notInFieldRulesLabel": "フィールドルールに含まれていません:", "notInFieldRulesText": "{providers}. Allが有効な手動検索に含まれますが、自動メタデータフェッチでは使用されません。", "noResults": "結果が見つかりませんでした", "noResultsHint": "タイトルまたは著者を調整してみてください", + "searchInterrupted": "検索が完了しませんでした", + "searchIncomplete": "いくつかの結果が欠落している可能性があります", + "providerTimedOut": "{provider} は応答に時間がかかりすぎました。", + "providerThrottled": "{provider} がレート上限に達しました。しばらくお待ちください。", + "providerFailed": "{provider} に到達できませんでした。", + "searchInterruptedHint": "再試行するか、検索範囲を絞り込みます。", "searchPrompt": "上記の検索結果をクリックして、メタデータの比較を開始します。" }, + "match": { + "sheetDescription": "メタデータプロバイダを検索し、この本にコピーする内容を選択します。", + "mediumAudiobook": "オーディオブック", + "mediumEbook": "Ebook", + "query": { + "label": "メタデータ検索", + "title": "タイトル", + "author": "作成者", + "isbn": "ISBN", + "edited": "クエリが編集されました", + "useBookDetails": "本の詳細を使用" + }, + "sources": { + "heading": "ソース", + "allEnabledHint": "{count,plural,one{# ソース。手動検索に最適です。} other{# ソースです。手動検索に最適です。}}", + "fieldRulesHint": "{count,plural,one{# ソースは自動的に使うものだ} other{# 自動フェッチが使う情報源だ}}", + "outsideRules": "{providers} {count, plural, one {はフィールドルールでは有効になっていませんので、自動フェッチはそれをスキップします。} other {はフィールドルールでは有効になっていませんので、自動フェッチはそれらをスキップします。}}", + "manualOnly": "{providers}: 手動検索のみ、自動フェッチでは使用されません。", + "count": "{provider}: {count,plural,one{# result} other{# 結果} =0{結果がありません}}", + "searching": "{provider}: 検索", + "stopped": "{provider}: 終了する前に停止" + }, + "results": { + "label": "一致", + "best": "ベストマッチ", + "otherEditions": "その他の版", + "otherBooks": "おそらく違う本", + "stillSearching": "検索中", + "linked": "リンク", + "linkedHint": "このレコードはすでに本にリンクされています", + "isbn": "ISBN一致", + "fills": "+{count} は空です", + "fillsHint": "{count, plural, one {塗りつぶし # 空フィールド} other {塗りつぶし # 空フィールド}}", + "differ": "{count} が異なる", + "differHint": "{count, plural, one {# フィールドは本と異なります} other {# フィールドは本と異なります}}", + "inSync": "同期", + "inSyncHint": "ここでは本を変更することはありません", + "differentAuthor": "別の著者", + "titleDiffers": "タイトルが異なる", + "sparse": "Sparse", + "sparseHint": "{count, plural, one {# フィールドのみ} other {フィールドのみ}}", + "staged": "{count, plural, one {# 変更が} other {# 変更が}}", + "noMatches": "このクエリに一致するものはありません", + "noMatchesHint": "{count, plural, one {ソースは何も答えませんでした。} other {# ソースは何も答えませんでした。}} 検索を緩めて、もう一度やり直してください。", + "searchTitleOnly": "タイトルのみを検索", + "prompt": "検索するタイトルまたはISBNを入力します。", + "mayBeMissing": "それからの結果が不足している可能性があります。", + "retry": "{provider} を再試行する", + "pages": "{count, plural, one {# ページ} other {# ページ}}", + "fetched": "Fetched" + }, + "tier": { + "strong": "強い一致", + "possible": "一致します。", + "weak": "おそらく一致しません" + }, + "compare": { + "label": "比較", + "backToMatches": "マッチ相手に戻る", + "previous": "前の結果", + "next": "次の結果", + "position": "{index} / {total}", + "viewOn": "{provider} で表示", + "linkedToBook": "この本にリンクされました", + "sameTitleAuthor": "同じタイトルと著者", + "streaming": "今までで最高の試合を見せています。 {providers} でまだ待っています。", + "rows": "行", + "differences": "違い", + "allFields": "すべてのフィールド", + "fillEmpty": "{count,plural,one{塗りつぶし # 空} other{塗りつぶし # 空} =0{空のフィールドはありません}}", + "takeAll": "{count,plural,one{使用 #} other{すべて使用 #} =0{使用するものがありません}}", + "more": "その他のアクション", + "clearAll": "すべてのピックをクリア", + "clearAllHint": "現在の値に戻ります。", + "field": "フィールド", + "pickTitle": "比較するマッチを選択", + "pickHint": "結果を選択します。そのフィールドは本に対して並ぶので、それぞれのフィールドを保持または交換できます。", + "noneTitle": "まだ比較するものはありません", + "noneHint": "検索結果が一致すると、今日の {title} の隣に最適な検索結果が表示されます。", + "allMatch": "すべてのフィールドが本と一致しています。表示するには「すべてのフィールド」に切り替えてください。", + "toReview": "{count,plural,one{# レビューする} other{# レビューする} =0{レビューするものがありません}}", + "stagedInSection": "{count} がステージされました" + }, + "sections": { + "identity": "Identity", + "description": "説明", + "publication": "公開", + "series": "シリーズ", + "genres": "Genres", + "comics": "コミッククレジット", + "identifiers": "識別子", + "ratings": "コミュニティ評価" + }, + "kind": { + "fill": "塗りつぶしなし", + "change": "異なります", + "same": "同じ", + "missing": "提供されていません" + }, + "minor": { + "reordered": "再注文", + "formatting": "書式設定のみ", + "punctuation": "句読点", + "capitalization": "大文字化", + "yearOnly": "年のみ", + "addsDay": "日を追加", + "languageCode": "同じ言語", + "ratingCount": "カウントのみ" + }, + "decision": { + "keep": "保持する", + "use": "使用", + "merge": "結合", + "replace": "置換", + "alreadyMatches": "既に一致しています", + "nothingToApply": "申請するものがありません", + "lockedHint": "エディターでロックを解除して変更します。", + "usingFrom": "以下の値を使用する", + "switchTo": "{provider} に切り替える" + }, + "value": { + "empty": "なし", + "notProvided": "提供されていません", + "showAll": "すべての {count} 単語を表示", + "otherValues": "{count, plural, one {# other value} other {# other values}}", + "otherValuesHeading": "他の結果からの{field}", + "otherValuesHint": "このフィールドのステージを1つ選択します", + "sameAsCurrent": "現在と同じ", + "useThis": "これを使用", + "using": "使用中" + }, + "providerRating": "{provider} 評価", + "cover": { + "slotAudio": "オーディオブックスロット、スクエア", + "slotBook": "本のスロット、縦向きです", + "current": "現在", + "staged": "ステージ", + "size": "{width} × {height}", + "fits": "スロットに合わせる", + "portraitInSquare": "肖像画:レターボックス", + "squareInPortrait": "正方形:レターボックス", + "broken": "壊れたようです", + "unknown": "シェイプ不明", + "fitShort": "フィット", + "portraitShort": "縦向き", + "squareShort": "正方形(正方形)", + "brokenShort": "壊れた", + "noCover": "この結果にカバーはありません", + "noCurrent": "カバーはまだありません", + "strip": "一致する結果をカバーします", + "stripMeta": "{count, plural, one {# cover} other {# cover}}, fitting first", + "choose": "カバーを選択", + "preview": "カバーを全画面表示でプレビュー", + "previewTitle": "並んでカバー", + "previewDescription": "それを置き換えるものの隣の現在のカバー。", + "choice": "{provider} カバー", + "choiceSized": "{provider} カバー、 {width} by {height}", + "using": "使用中" + }, + "footer": { + "changes": "{count, plural, one {# changes} other {# changes}}", + "from": "from", + "nothingStaged": "ステージングされていません。フィールドで使用を選択するか、カバーを選択してください。", + "nothingStagedShort": "ステージがありません", + "formHint": "編集フォームを塗りつぶします。保存してください。", + "fileHint": "このファイルのメタデータに保存します。", + "apply": "{count,plural,one{適用 # 変更} other{適用 # 変更} =0{適用}}", + "stagedHeading": "フォーム用のステージ", + "clearAll": "すべてクリア", + "undo": "{field} を元に戻す", + "merged": "統合された", + "live": "{count, plural, =0 {変更はありません} one {# 変更は} other {#変更は}}" + }, + "keyboard": { + "title": "キーボードショートカット", + "results": "前または次の結果", + "fields": "フィールド間を移動", + "toggle": "フィールドを保持または使用", + "search": "検索を編集", + "close": "メニューを閉じる" + } + }, "writeAndRename": "ファイルへの書き込みと名前の変更", - "writeAndRenameShort": "書き込みと名前の変更" + "writeAndRenameShort": "書き込みと名前の変更", + "identityCard": "Identity", + "catalogCard": "カタログ", + "sourceCard": "ソース", + "score": "スコア", + "scoreTooltip": "メタデータスコア {score} / 100", + "emptyFields": "{count, plural, one {空フィールド} other {空フィールド}}", + "emptyFieldsCount": "{count, plural, one {# 空フィールド} other {# 空フィールド}}", + "emptyFieldsHeading": "メタデータフィールドが空です", + "emptyFieldsTooltip": "未入力: {fields}。オンラインで検索してください。", + "libraryRow": "ライブラリ", + "primaryRow": "プライマリ(プライマリ)", + "writeBackRow": "書き込みを行う", + "writeBackOff": "オフ", + "lastWrittenRow": "最後に書かれた", + "neverWritten": "一切なし", + "fileCount": "{count, plural, =0 {ファイル} one {ファイル} other {# ファイル}}", + "unknownFormat": "不明" }, "files": { "title": "ファイルの予約", + "stats": { + "files": "ファイル", + "total": "合計", + "runtime": "Runtime", + "formats": "書式" + }, + "filesHeading": "ファイル", + "allPresent": "すべてのプレゼント", + "groupedByReader": "リーダーごとにグループ化", + "thisFile": "このファイル", + "writeBackShort": "書き込みを行う", + "fieldsSet": "{filled} / {total} セット", + "writtenSummary": "{fields} と {count, plural, one {# より多くのフィールド} other {# より多くのフィールド}} が {format} に書き込まれました。", + "writtenSummaryAll": "{fields} は {format} に書き込まれます。", + "writtenNothing": "{total} 書き込み可能なフィールドのどれも値を持っていません。", + "writeBackOff": "この本の書き込みは休んでいる。", + "editMetadata": "メタデータを編集", + "showAllTracks": "すべて表示", + "collapseTracks": "折りたたむ", + "moreTracks": "{count, plural, one {# より多くのトラック} other {# より多くのトラック}}", + "tracksRolled": "{count, plural, one {# トラック} other {# トラック}}", + "fileDetails": "ファイルの詳細", + "openDetails": "ファイルの詳細を開く", + "closeDetails": "ファイル詳細を閉じる", + "trackFrom": "トラック {track} / {total}、から {time}", + "throughCopy": "あなたはこのコピーを通じて {percent} です", "fileCount": "{count, plural, =0 {ファイルなし} one {# ファイル} other {# ファイル}}", "synced": "同期済み {time}", "sortAria": "ファイルの並べ替え", "syncHistory": "同期履歴", "metadataWriteBack": "メタデータの書き込み", "relative": { - "seconds": "{value}秒前" + "seconds": "{value}秒前", + "minutes": "{value}分前", + "hours": "{value}時間前", + "days": "{value}d日前" }, "renameFailed": "ファイル名を変更できませんでした", "deleteFailed": "ファイルの削除に失敗しました", "addFile": "ファイルを追加", "lastSynced": "最終同期日: {time}", "sort": { + "label": "並べ替え:", "name": "名前", "format": "書式", "size": "サイズ", @@ -3859,6 +7035,7 @@ "noWriteHistory": "書き込み履歴はまだありません。", "fieldsWritten": "{count, plural, =0 {No fields} one {one field} other {# fields}}", "track": "{number} を追跡", + "primary": "プライマリ(プライマリ)", "read": "既読にする", "play": "再生", "peek": "Peek", @@ -3874,12 +7051,108 @@ "description": "ディスク上の物理ファイルの名前を変更する。", "placeholder": "新しいファイル名" }, + "saving": "保存中...", "deleteModal": { + "title": "ファイルを削除しますか", "description": "「{filename}」を削除してもよろしいですか?この操作は元に戻せません。" + }, + "deleting": "削除中...", + "folderAria": "フォルダの場所", + "folderContents": "フォルダの内容", + "inspectorAria": "選択したファイル", + "libraryRoot": "ライブラリルート", + "onDisk": "ディスク上", + "missing": "見つかりません", + "backToFolder": "フォルダに戻る", + "copyPath": "フルパスをコピー", + "pathCopied": "パスをクリップボードにコピーしました", + "resume": "再開", + "audiobook": "オーディオブック", + "writeTarget": "Write target", + "notWritten": { + "formatNotSupported": "Not written: unsupported format", + "formatDisabled": "書き込み不可: 書式をオフにしました", + "fileExceedsSizeLimit": "書き込み不可:サイズ制限を超えています", + "notContentFile": "書かれていない: 本の内容ではありません" + }, + "enabled": "有効", + "disabled": "オフ", + "notSet": "未設定", + "sortAdded": "追加しました", + "formatCount": "{count, plural, one {# format} other {# format}}", + "trackCount": "{count, plural, one {# トラック} other {# トラック}}", + "formatsInFolder": "{count, plural, one {# format here} other {# format here}}", + "compositionAria": "フォルダサイズをフォーマットで共有", + "percentRead": "{percent} の読み取り", + "trackOf": "トラック {track} の {total}", + "groups": { + "ebook": "Ebook", + "document": "ドキュメント", + "comic": "コミック", + "audio": "オーディオ", + "extras": "Extras" + }, + "roles": { + "primary": "プライマリ(プライマリ)", + "content": "オルタナート", + "supplement": "サプリメント", + "cover": "カバー" + }, + "reader": { + "none": "読者なし", + "ebook": "電子ブックリーダー", + "document": "PDF リーダー", + "comic": "コミックリーダー", + "audio": "オーディオプレーヤー" + }, + "spec": { + "format": "書式", + "role": "ロール", + "size": "サイズ", + "length": "長さ", + "added": "追加しました", + "indexed": "インデックス付き", + "opensIn": "開く", + "writeBack": "書き込みを行う", + "track": "トラック", + "targetFile": "ターゲットファイル", + "notWritten": "未書き込み" + }, + "duration": { + "hoursMinutes": "{hours}h {minutes}m", + "minutes": "{minutes}m", + "minutesSeconds": "{minutes}m {seconds}s", + "seconds": "{seconds}秒" + }, + "positionHeading": "このコピーでのあなたの位置", + "copiesStarted": "{started} / {total} コピーを開始しました", + "nothingStarted": "まだ開始されていません", + "throughFile": "{percent} がこのファイルを通過しました", + "notOpened": "まだ開いていません", + "lastRead": "最後に読んだ {time}", + "noPosition": "読み取り位置が保存されていません", + "trackPositionHeading": "このトラックがある場所", + "totalRuntime": "合計 {duration}", + "startsAt": "{time} で開始", + "trackLength": "{duration} long", + "switchFileHeading": "ファイルを切り替える", + "writeBackHeading": "このファイルに書き込まれました", + "fieldsWithValue": "{filled} の {total} フィールドに値があります", + "lastRun": "最終実行 {time}", + "neverRun": "実行しない", + "historyHeading": "沿革", + "timeline": { + "written": "{format} に書き込まれたメタデータ", + "writtenMany": "{format} ×{count} に書き込まれたメタデータ", + "writeDetail": "{count, plural, one {# フィールド} other {# フィールド}} · {ms}ms · {trigger}", + "failed": "書き込みに失敗しました", + "indexed": "{name} がインデックスされました", + "indexedMany": "{count} {format} ファイルがインデックスされました" } }, "highlights": { "note": { + "placeholder": "メモを追加...", "saving": "保存中" }, "export": { @@ -3909,9 +7182,247 @@ "hint": "ハイライトを作成するには、読み取り中にテキストを選択してください" }, "uncategorized": "未分類", - "paginationUnit": "ハイライト" + "paginationUnit": "ハイライト", + "rail": { + "title": "Marks", + "unit": "{count, plural, one {highlight} other {highlighting}}", + "withNotes": "メモを運んで", + "chaptersMarked": "マークされた章", + "ofChaptersMarked": "マークされた {total} 章のうち", + "colour": "色", + "showOnly": "{colour} のみ表示", + "source": "彼らがどこから来たか", + "health": "体力の位置", + "needsAttention": "{count, plural, one {# 注意が必要です} other {# 注意が必要です}}", + "anchorLost": "{count,plural,one{ファイルが変更されるとアンカーを失いました} other{# ファイルが変更されたときにアンカーを失いました}}", + "reAnchored": "{count, plural, one {1 つが自動的にアンカーされました} other {# が自動的にアンカーされました}}", + "reviewPositions": "位置を確認する", + "span": "Span", + "firstMark": "最初のマーク", + "lastMark": "最後のマーク", + "markingDays": "日付をマーク", + "exportCount": "{count} をエクスポート" + }, + "row": { + "select": "このハイライトを選択", + "showMore": "詳細を表示", + "showLess": "表示を減らす", + "note": "メモ", + "addNote": "メモを追加", + "page": "p.{page}", + "anchorLost": "アンカーが負けました", + "reAnchored": "再アンカー済み" + }, + "stream": { + "title": "ストリーム", + "searchPlaceholder": "{count} のハイライトとメモを検索", + "all": "すべて", + "notes": "メモ", + "review": "レビュー", + "density": "快適とコンパクトの行を切り替える", + "matchCount": "{shown} / {total} 一致", + "textChip": "テキスト\"{query}\"", + "marks": "{count, plural, one {# mark} other {# marks}}", + "loadingMore": "さらに読み込み中" + }, + "bulk": { + "selected": "{count} が選択されました", + "selectAll": "すべての {count}を選択", + "recolour": "選択内容を変更する", + "recolourTo": "{colour} にカラーを変更", + "clear": "選択をクリア" + }, + "index": { + "title": "目次と索引", + "groupBy": "ストリームをグループ化", + "byChapter": "章", + "byColour": "色", + "byDay": "日数" + }, + "activity": { + "title": "マーキング中のアクティビティ", + "days": "{count, plural, one {#日} other {# 日}}", + "showAll": "すべての {count} 日間を表示", + "showFewer": "少なく表示する" + }, + "inspector": { + "title": "詳細をハイライト", + "back": "インデックスに戻る", + "counter": "{position} のマーク {total}", + "previous": "前のマーク", + "next": "次のマーク", + "notePrompt": "なぜこれが重要なのですか? ノートは検索可能で、エクスポートと一緒に旅行できます。", + "style": "スタイル", + "position": "位置と同期", + "openHere": "ここで開く" + }, + "band": { + "title": "マークがある場所", + "subtitle": "すべての章を読み順に色付けされています", + "barTitle": "{chapter}, {count} marks", + "start": "開始", + "densest": "Densest", + "marks": "{count, plural, one {# mark} other {# marks}}", + "longestGap": "マークなしで最長実行", + "chapters": "{count, plural, one {# chapter} other {# chapters}}", + "end": "終了" + }, + "emptyStage": { + "title": "{title} のハイライトはまだありません", + "body": "ハイライトは3つの場所から到着し、このページは1つの背骨でそれらのすべてを収集します。", + "openReader": "読者を開く", + "web": { + "title": "こちらをご覧ください", + "body": "ビルトインリーダーでテキストを選択し、色を選択します。" + }, + "kobo": { + "title": "Sync a Kobo", + "body": "デバイスで行われたハイライトは、次の同期で表示されます。" + }, + "koreader": { + "title": "KOReader を同期", + "body": "プラグインはアノテーションを正確な位置にアップロードします。" + } + }, + "shortcuts": { + "title": "Keyboard", + "description": "ハイライトリストのキーボードショートカット。", + "move": "次/前のマーク", + "open": "インスペクターを開く", + "back": "インデックスに戻る", + "search": "検索", + "note": "メモを書く", + "recolour": "カラーを変更", + "select": "このマークを選択", + "regroup": "ストリームを再グループ化", + "copy": "見積もりをコピー", + "reader": "読者で開く" + }, + "railTitle": "{marks} マーク · {chapters} 章", + "whenMarked": "彼らがマークされたとき", + "chapters": "章", + "noChapter": "章がありません", + "views": { + "position": "読み取り順", + "newest": "最も新しい順", + "oldest": "古い順", + "colour": "色順", + "source": "ソース順" + } }, "readingLog": { + "resetReadingState": "読み取り状態をリセット", + "vitals": { + "aria": "読書の概要", + "notSet": "未設定", + "started": "開始", + "finished": "完了", + "editStarted": "この本を始めた日付を編集", + "editFinished": "この本を終了した日付を編集", + "totalTime": "合計時間", + "sessions": "セッション", + "avgSession": "平均セッション", + "activeDays": "有効な日数", + "activeDaysOf": "{active} / {total}", + "pace": "Pace", + "pacePerHour": "{percent}%/h", + "lastRead": "最後に読んだもの", + "whereYouRead": "あなたがそれを読む場所", + "addSession": "セッションを追加", + "durationHm": "{hours}h {minutes}m", + "durationM": "{minutes}m", + "durationS": "{seconds}秒" + }, + "ledger": { + "title": "セッション", + "none": "なし", + "colDay": "日", + "colTime": "時刻", + "colLength": "長さ", + "colChange": "変更", + "colPosition": "本の中の位置", + "colReached": "到達しました", + "colSource": "ソース", + "colFormat": "書式", + "gapDays": "{count, plural, one {# 日} other {# 日 未読日}}", + "attemptBegan": "{index} の試行が開始されました", + "attemptOutsideAny": "任意の試みの外", + "empty": "セッションはまだ記録されていません", + "emptyHint": "本を開き、デバイスを同期するか、手動でセッションを追加します。" + }, + "attempts": { + "title": "試行", + "none": "なし", + "ordinal": "Attempt {index}", + "addPast": "過去の試行を追加", + "reread": "再表示", + "rereadPrompt": "新しい読み取り試行を開始しますか?", + "rereadResetProgress": "読み取り位置を最初にリセットします。同期されたデバイスはこのリセットを受け取る可能性があります。", + "rereadConfirm": "再読み込みを開始", + "fieldStarted": "開始", + "fieldEnded": "終了", + "fieldOutcome": "成果", + "outcome": { + "completed": "完了", + "skimmed": "Skimmed", + "abandoned": "放棄されました", + "inProgress": "進行中" + }, + "spanRange": "{from} から {to}", + "spanSince": "{from} 以降", + "spanEnded": "終了した {to}", + "spanUnknown": "日付が記録されていません", + "sessionCount": "{count, plural, one {# session} other {# sessions}}", + "endBeforeStart": "終了日は開始日以降でなければなりません。", + "editAria": "この答えを編集", + "deleteAria": "この試行を削除する", + "cancelDeleteAria": "この試みの削除をキャンセル", + "confirmDeleteAria": "この試みの削除を確認する", + "empty": "試行が記録されていません", + "emptyHint": "再起動するか、このライブラリが存在する前に完了した試行を追加してください。" + }, + "records": { + "title": "レコード", + "longestSession": "最長セッション", + "bestDay": "最高の日", + "longestStreak": "連続長", + "streakDays": "{count, plural, one {#日} other {# 日}}", + "pace": "読書速度", + "jumpedBack": "後ろにジャンプしました", + "jumpedBackTimes": "{count, plural, one {# 時間} other {# 回}}", + "firstOpened": "最初に開いた", + "empty": "この本にセッションがあるとレコードが表示されます。" + }, + "band": { + "curve": "曲線", + "trace": "トレース", + "switchAria": "グラフビュー", + "curveTitle": "経過時間の進捗状況", + "traceTitle": "あなたが本の中にいた場所", + "curveSubDays": "{active} が {total} 経由で有効な日数", + "curveSubSitting": "1つ座ってセッションごとに", + "traceSub": "各バーは1セッションでカバーされています", + "traceSubWithBacktracks": "{count, plural, one {各バーは1つのセッションで、#ジャンプしました} other {各バーは1つのセッションです、#ジャンプしました}}", + "legendPosition": "ポジションに達しました", + "legendMinutes": "読んだ時間(分)", + "legendBacktrack": "後ろにジャンプしました", + "traceEmpty": "トレースはまだありません", + "traceEmptyHint": "セッションが存在すると、これは本のストレッチがそれぞれカバーされ、あなたが戻って倍増したことを示しています。", + "tooltipCovered": "{from}%から {to} %を覆いました", + "tooltipMinutes": "{minutes} 分" + }, + "emptyStage": { + "title": "この本の記録はまだありません", + "description": "読み取りログはセッションから構築されます。 BookOrbitは、Webリーダーで読むたびに1つを記録し、同期したデバイスから残りをピックアップします。", + "readerTitle": "こちらをご覧ください", + "readerBody": "BookOrbitリーダーの毎分が自動的にログに記録されます。", + "koreaderTitle": "KOReader を同期", + "koreaderBody": "プラグインは、あなたが到達したページで、それぞれの座ってプッシュバックします。", + "koboTitle": "Sync a Kobo", + "koboBody": "デバイスを差し込み、BookOrbitは独自の読み取りタイムカウンタを読み込みます。", + "addSession": "手でセッションを追加", + "recordPast": "過去の読書を記録" + }, "moreActionsAria": "その他の読み取りログアクション", "export": { "button": "エクスポート" @@ -3950,6 +7461,9 @@ "notSet": "未設定", "relative": { "seconds": "{count}秒前", + "minutes": "{count}分前", + "hours": "{count}時間前", + "days": "{count}d日前", "months": "{count, plural, =0 {#1ヶ月前} one {#1ヶ月前} other {#ヶ月前}}", "years": "{count, plural, =0 {#年前} one {#年前} other {#年前}}" }, @@ -3958,10 +7472,12 @@ "startFuture": "開始日を未来にすることはできません。", "finishFuture": "終了日は未来にすることはできません。", "finishBeforeStart": "終了日時は開始日時以降でなければなりません。", + "finishBeforeStartWithDate": "終了日は開始日付({date})以降でなければなりません。", "saveFailed": "読み取り日を保存できませんでした。" }, "eta": { "max": "99h+ で終了", + "minutes": "~{m}終了までの時間", "hours": "~{h}時間で終了", "hoursMinutes": "~{h}時間 {m}分で終了" }, @@ -4010,6 +7526,8 @@ "table": { "title": "セッション", "sourceWeb": "ウェブ", + "sourceIos": "iOS アプリ", + "sourceWatchos": "Apple Watch", "sourceManual": "マニュアル", "colDate": "日付", "colDateMobile": "日付", @@ -4019,6 +7537,7 @@ "colProgressChangeMobile": "Delta", "colEndProgress": "進捗の終了", "colEndProgressMobile": "終了", + "jumpToProgress": "{progress} %へジャンプ", "empty": "読み取りセッションはまだ記録されていません。", "emptyHint": "セッションを追加して、この本の読書履歴を構築しましょう。", "colPace": "Pace", @@ -4068,6 +7587,7 @@ "moveDown": "下に移動", "removeSeries": "系列を削除", "seriesIndexLabel": "直列の位置", + "invalidSeriesIndex": "5.10 のような小数点以下の桁数を入力します。", "totalLabel": "直列の本", "totalPlaceholder": "/", "totalHint": "このシリーズの本の合計。このシリーズを持っているすべての人と共有されます。" @@ -4087,6 +7607,18 @@ "ariaTrue": "True - クリックしてfalse を設定", "ariaFalse": "False - クリックでクリア" }, + "chips": { + "addPlaceholder": "追加..." + }, + "quickFilter": { + "presentFiles": "現在のファイルへのフィルタ", + "missingFiles": "不足しているファイルにフィルター", + "withCovers": "カバー付きの本へのフィルタ", + "missingCovers": "本のカバーがありません。", + "missingAudioCovers": "オーディオブックのカバーがない本へのフィルタ", + "withValues": "値を持つ行にフィルター", + "emptyRows": "空の行にフィルター" + }, "cover": { "previewDescription": "ブックカバーのプレビュー", "editDescription": "ブックカバーを編集", @@ -4133,6 +7665,9 @@ "read": { "play": "再生", "read": "既読にする", + "readFormat": "{format} の読み取り", + "playFormat": "{format} をプレイ", + "primary": "プライマリ(プライマリ)", "peekFormat": "Peek {format}", "chooseFormat": "読み取りまたは再生するフォーマットを選択してください", "fileFallback": "ファイル" @@ -4141,6 +7676,7 @@ "unread": "未読です" }, "series": { + "seriesRow": "系列行", "bookCount": "{count, plural, =0 {(本なし)} one {(# 本)} other {(# 本)}}", "readOfCount": "{read} / {total} 既読数" }, @@ -4181,6 +7717,7 @@ "ineligible": { "book_not_present": "この本のファイルがありません", "no_content_file": "この本には読めるファイルがありません", + "multi_file_target_per_file": "宛先には1冊のファイルが格納されており、この本には以下が含まれています {detail} ファイル", "no_source_access": "この本のライブラリを編集することはできません", "pattern_unresolved": "コピー先ライブラリに使用可能な命名パターンがありません", "path_too_long": "宛先パスが長すぎます", @@ -4281,19 +7818,29 @@ "apply": "適用", "done": "完了", "discard": "破棄する", + "deselect": "選択を解除", "finalize": "完了", "rescan": "再スキャン", "uploadAction": "アップロード", + "uploading": "アップロード中...", + "searchPlaceholder": "ファイルを検索...", "setDestinationAction": "目的地を設定", "bulkEditAction": "一括編集", "applyFetched": "適用する", "retryErrors": "再試行エラー", + "discardDialog": { + "title": "{count,plural,one{選択したファイルを破棄しますか?} other{破棄する # 選択したファイル?} =0{ファイルを破棄しますか?}}", + "description": "{count, plural, =0 {ファイルが選択されていません。} one {ディスクから選択したファイルを完全に削除します。この操作は元に戻せません。} other {ディスクから選択したファイルを完全に削除します。この操作は元に戻せません。}}", + "confirm": "{count,plural,one{ファイルを削除} other{削除 # ファイル}}", + "failed": "選択したファイルを削除できませんでした。もう一度お試しください。" + }, "commaSeparated": "カンマで区切られた", "destinationLibrary": "宛先ライブラリ", "destinationFolder": "宛先フォルダ", "nFailed": "{count} に失敗しました", "updatedOfFiles": "{updated} の {total} ファイルを更新しました", "errorStatus": "エラー {status}", + "invalidSeriesIndex": "5.10 のような小数点以下の桁数を入力します。", "tab": { "all": "すべて", "pending": "保留中", @@ -4329,6 +7876,22 @@ "nFailed": "{count} に失敗しました", "nTotal": "合計 {count}" }, + "uploadFailures": { + "heading": "{count, plural, one {# ファイルをアップロードできませんでした} other {# ファイルをアップロードできませんでした}}", + "dismissAll": "すべて解除", + "retry": "{name} のアップロードを再試行する", + "dismiss": "{name} を閉じる", + "reason": { + "unsupported": "サポートされていないファイル形式: .{extension}", + "noExtension": "ファイルに拡張子がないため、その形式は不明です", + "tooLarge": "{limit} のアップロード制限より大きい", + "tooLargeServer": "サーバーのアップロード制限より大きい", + "tooLargeProxy": "BookOrbitに達する前に大きすぎると拒否されました。おそらくリバースプロキシによります。", + "storageFull": "サーバーのストレージ容量が足りません", + "network": "サーバーにアクセスできませんでした", + "status": "アップロードに失敗しました (HTTP {status})" + } + }, "fileList": { "emptyTitle": "ブックドックにファイルがありません", "emptyMessageDefault": "ファイルをアップロードするか、ブックドックフォルダにドロップします", @@ -4368,12 +7931,14 @@ "failed": "一括編集に失敗しました" }, "setDestination": { + "title": "{count,plural,one{宛先を設定 # ファイル} other{宛先を設定 # ファイル} =0{ファイルなしの場所を設定}}", "resultTitle": "更新された保存先", "failed": "目的地を設定できませんでした" }, "finalizeDialog": { "title": "{count, plural, =0 {ファイルなし} one {完了する # ファイル} other {完了する # ファイル}}", "resultTitle": "結果を完了する", + "needDestination": "{count,plural,one{{without} / # 選択されたファイルには目的地が必要です} other{{without} / # 選択されたファイルには目的地が必要です} =0{{without} / # 選択されたファイルには目的地が必要です}}", "allHaveDestination": "選択したすべてのファイルは既に宛先が設定されています", "defaultDestinationLibrary": "デフォルトの宛先ライブラリ", "defaultDestinationFolder": "既定の保存先フォルダ", @@ -4381,6 +7946,7 @@ "moreFiles": "+{count} 個以上のファイル", "start": "開始", "filesFinalized": "{succeeded} / {total} ファイルが完了しました", + "checking": "選択したファイルを確認しています...", "readyCount": "{count, plural, =0 {ファイルの準備ができていません} one {# ファイルの準備ができています} other {# ファイルの準備ができています}}", "duplicateCount": "{count, plural, =0 {まだライブラリにありません} one {# 既にライブラリに} other {# 既にライブラリに}}", "conflictCount": "{count, plural, =0 {ファイル名の競合はありません} one {# ファイル名の競合} other {# ファイル名の競合}}", @@ -4388,11 +7954,13 @@ "blockedCount": "{count, plural, =0 {がブロックされていません} one {# ファイルが} other {# ファイルが}}", "moreDuplicates": "+{count} は既にライブラリに入っています", "discardDuplicates": "重複を破棄する", + "failedCount": "{count,plural,one{# ファイルに失敗しました} other{# ファイルに失敗しました} =0{失敗したファイルはありません}}", "failedWithDuplicates": "{count, plural, =0 {{failed} 失敗 (# 重複)} one {{failed} 失敗 (# 重複)} other {{failed} 失敗 (# 重複)}}", "view": "表示", "viewExisting": "既存の表示", "hide": "非表示", "details": "詳細", + "alreadyExistsSaveAs": "既に存在します - 次のように保存します:", "renamePlaceholder": "例: {name} (2)", "import": "インポート" }, @@ -4416,6 +7984,7 @@ "setDestination": "目的地を設定", "file": "ファイル", "match": "{percent}%の一致", + "noAuthor": "作者はまだいません。", "proposedChanges": "提案された変更", "noChanges": "メタデータはまだ取得されていません", "editDetails": "詳細を編集", @@ -4433,6 +8002,7 @@ }, "empty": { "nothingToReview": "レビューは必要ありません。すべての準備済みファイルには宛先と自信のある一致があります。", + "nothingReadyToFile": "ファイルの準備ができていません。", "dropHint": "または、このページのどこかにファイルをドロップします。" }, "selectAllOnPage": "このページのすべてのファイルを選択", @@ -4457,19 +8027,853 @@ "access_denied": "アクセスできません", "invalid_format": "フォーマットが正しくありません", "error": "失敗する" + }, + "unit": { + "fileCount": "{count, plural, one {# ファイル} other {# ファイル}}", + "filesHeading": "{count, plural, one {ファイル} other {# ファイル in this entry}}", + "role": { + "content": "本", + "cover": "カバー", + "metadata": "メタデータ", + "supplement": "追加機能" + } } } }, + "bookRequests": { + "title": "リクエスト (ベータ版)", + "subtitle": "ライブラリがまだ持っていない本をリクエストしてください。この機能は実験的なものであり、マイナーなバグを期待しています。", + "tabs": { + "search": "本をリクエスト", + "mine": "私のリクエスト", + "all": "すべてのリクエスト" + }, + "mediaKind": { + "ebook": "E-book", + "audiobook": "オーディオブック", + "comic": "コミック" + }, + "status": { + "pending": "保留中", + "approved": "承認済み", + "rejected": "拒否", + "cancelled": "キャンセルしました", + "searching": "検索中", + "grabbed": "つかんでください", + "downloading": "ダウンロード中", + "importing": "インポート中", + "needs_review": "レビューが必要", + "available": "利用可能です", + "failed": "失敗しました" + }, + "search": { + "titleLabel": "タイトル", + "titlePlaceholder": "書籍タイトル", + "authorLabel": "作成者", + "authorPlaceholder": "投稿者名", + "mediaKindLabel": "書式", + "libraryLabel": "ライブラリに追加", + "libraryAny": "承認者が決定する", + "libraryDefault": "デフォルト ({library})", + "libraryChoose": "ライブラリを選択", + "libraryRequired": "あなたの要求はあなたがそれらを作るとすぐに承認されるので、本が着陸するべき図書館を選びなさい。", + "fulfillmentLabel": "フルフィルメント", + "fulfillmentAutomatic": "自動", + "fulfillmentChooseRelease": "リリースを選択", + "folderLabel": "フォルダ", + "languageLabel": "言語のリクエスト", + "languageAny": "すべての言語", + "languageDefaultToggleLabel": "新しいリクエストにこの言語を使用する", + "languageDefaultSetHint": "新しいリクエストごとにこの言語をリクエストする", + "languageDefaultClearHint": "デフォルトでこの言語を要求しないでください", + "languageDefaultSaved": "新しいリクエストは {language} を要求します", + "languageDefaultCleared": "新しいリクエストはインターフェイスの言語に従います", + "languageDefaultFailed": "言語設定を保存できませんでした", + "submit": "検索", + "searching": "プロバイダーを検索しています...", + "noResultsTitle": "一致する本が見つかりませんでした", + "noResultsHint": "別のタイトルまたは著者を試してみてください。", + "noResultsIndexerHint": "別のタイトルや著者を試してみるか、インデックスを「{title}」で検索して、自分でリリースを選択してください。", + "freeTextAction": "インデックスを検索", + "manualSearchAction": "インデックスを手動で検索", + "yearUnknown": "不明な年", + "sourceCount": "{count, plural, one {# source} other {# source}}", + "sourcesLabel": "ソース: {sources}", + "sourcesUnavailable": "一部のソースが応答しませんでした。結果が不完全である可能性があります: {sources}", + "identifiers": { + "none": "ISBNなし", + "one": "1 ISBN", + "confirmed": "ISBNが確認されました", + "count": "{count} ISBNs", + "sourcesTitle": "メタデータソース", + "provider": "プロバイダー", + "providerTitle": "プロバイダーのタイトル", + "isbn": "ISBN", + "year": "年", + "language": "言語", + "notProvided": "提供されていません", + "searchScope": "いずれかの {count, plural, one {# ISBN} other {# ISBNs}} を選択するか、タイトルと作者で検索します。", + "searchScopeLimited": "検索するISBNを一つ選択してください。", + "titleAuthorOnly": "ISBNは提供されませんでした。BookOrbitはタイトルと著者で一度検索します。", + "chooseSearch": "検索するエディションを選択", + "searchByEdition": "版のリリースを見つける", + "findRelease": "リリースを探す", + "primaryIsbn": "ISBN {isbn}", + "primaryTitleAuthor": "タイトルと作成者", + "recommended": "Recommended", + "recommendationHelpLabel": "BookOrbitが推奨するISBNの選択", + "recommendationTitle": "おすすめの検索方法を選択", + "recommendationLanguage": "既知の不一致の前に、要求された言語、そして未知の言語を優先します。", + "recommendationAgreement": "より独立したメタデータプロバイダによって確認されたISBNを好みます。", + "recommendationProvider": "BookOrbitの安定したメタデータプロバイダの優先順位を使用します。", + "recommendationRelevance": "そのプロバイダの結果でエディションの位置を使用します。", + "recommendationYear": "最も早く知られている年に最も近い版年を好む。", + "recommendationStable": "ISBN自体を最終的な安定したタイブレーカーとして使用してください。", + "recommendationFallback": "有効なISBNがない場合、BookOrbitはタイトルと著者によって一度検索されます。メニューからエディションを選択すると、常にこの推奨事項が上書きされます。", + "withoutIsbn": "タイトルと著者で検索", + "action": "アクション" + }, + "request": "リクエスト", + "download": "ダウンロード", + "getAutomatically": "自動的に取得", + "chooseRelease": "リリースを選択", + "joinRequest": "私も加えてください", + "submitted": "リクエストが送信されました", + "joinedExisting": "既存のリクエストにあなたを追加しました", + "submitFailed": "リクエストを送信できませんでした", + "alreadyInLibrary": "すでにあなたのライブラリにいます", + "alreadyRequested": "すでに他の人からリクエストされています", + "alreadyRequestedByYou": "すでにリクエストされています", + "preferredFormatsLabel": "優先する形式", + "preferredFormatsHint": "これらの形式でリリースされるより高いランクがあります, 他のフォーマットはまだ提供されています.", + "noteLabel": "承認者のメモ", + "notePlaceholder": "このリクエストについて知っておくべきこと", + "moreOptions": "その他のオプション", + "fewerOptions": "オプションが少ない順", + "optionsSummary": "{formats} · メモが追加されました", + "formatToggleAria": "{format} を優先", + "pair": { + "choice": "両方とも", + "choiceHint": "電子書籍とオーディオブックを一緒に求める", + "ebookLibraryLabel": "電子書籍ライブラリ", + "audiobookLibraryLabel": "オーディオブックライブラリ", + "audiobookFolderLabel": "オーディオブックフォルダ", + "landsTogether": "どちらのフォーマットも {library}に1冊の本として届きます。", + "landsSeparately": "{library} はファイルごとに1冊の本を保管しているので、各フォーマットは独自の本として届きます。", + "landsApart": "電子書籍とオーディオブックは別の図書館に行くので、彼らは2冊の本として到着します。", + "preferredEbookFormats": "優先電子書籍形式", + "preferredAudiobookFormats": "好みのオーディオブック形式", + "state": { + "owned": "ライブラリ内で", + "following": "これをリクエストしました", + "joinable": "要求済み", + "new": "リクエストなし" + }, + "requestBoth": "両方をリクエスト", + "getBoth": "両方を入手", + "chooseReleases": "リリースを選択", + "joinBoth": "両方に自分を追加", + "requestEbook": "電子書籍を要求する", + "requestAudiobook": "オーディオブックをリクエスト", + "getEbook": "電子書籍を取得", + "getAudiobook": "オーディオブックを取得", + "joinEbook": "電子書籍のリクエストに私を追加", + "joinAudiobook": "オーディオブックのリクエストに私を追加", + "haveBoth": "ライブラリ内で", + "requestedBoth": "要求済み", + "submitted": "要求された電子書籍とオーディオブック", + "submittedPartlyJoined": "両方をリクエストしました。1つは既に途中でしたので、そのリクエストに追加されました", + "submittedJoinsBook": "要求されました。すでにライブラリにコピーを参加します。" + } + }, + "card": { + "details": "詳細", + "mediaKind": "書式", + "library": "ライブラリ", + "requestedBy": "リクエスト者", + "requestedByAt": "{name} on {time}", + "alsoWanted": "次のユーザーにも指名されています", + "alsoWantedCount": "{count, plural, one {# 人は} other {# 人は}}", + "moreActions": "{title} の他のアクション", + "settledIn": "{library}、 {time} でファイルされています", + "settledAt": "閉じた {time}", + "dismissedBadge": "却下済み" + }, + "detail": { + "unknownAuthor": "作者不明", + "requestedBy": "リクエスト者", + "requestedOn": "リクエスト日時", + "library": "ライブラリ", + "series": "シリーズ", + "isbn": "ISBN", + "decidedBy": "決定者:", + "requesterNote": "依頼者からのメモ", + "decisionNote": "意思決定ノート", + "statusReason": "何がそれを停止しましたか?", + "alsoWanted": "次のユーザーにも指名されています", + "decisionNoteLabel": "メモ (オプション)", + "decisionNotePlaceholder": "決定を説明する", + "destinationLibraryLabel": "宛先ライブラリ", + "destinationLibraryPlaceholder": "ライブラリを選択", + "destinationFolderLabel": "宛先フォルダ", + "languageLabel": "要求された言語", + "languageAny": "すべての言語", + "destinationRequired": "本をライブラリにファイルすることを承認しているので、承認する前に1つ選択してください。", + "fulfilTitle": "このリクエストを閉じる", + "fulfilHint": "追加したブック、または提出されるのを待っているブックドックファイルでリクエストをポイントします。", + "bookIdLabel": "書籍ID", + "bookIdPlaceholder": "例: 128", + "dockFileIdLabel": "ブックドックファイルID", + "dockFileIdPlaceholder": "例: 42", + "backToList": "すべてのリクエスト", + "loading": "リクエストを読み込んでいます...", + "transfer": "送金", + "requestSection": "リクエスト", + "decideTitle": "承認または拒否", + "fulfilSourceLabel": "このリクエストをクローズするもの", + "fulfilFromLibrary": "図書館の本", + "fulfilFromDock": "ブックドックファイル", + "fulfilSearchLabel": "このリクエストを閉じるファイルを検索", + "fulfilSearchBooks": "タイトルまたは著者でライブラリを検索", + "fulfilSearchDock": "ファイル名でブックドックを検索", + "fulfilSearching": "検索中...", + "fulfilNoResults": "一致するものはありません。別の検索をお試しください。", + "errors": { + "notFound": "そのリクエストは存在しません。", + "forbidden": "その要求は他の誰かのものです。", + "loadFailed": "リクエストを読み込めませんでした" + }, + "entityName": "リクエスト", + "pairSwitchLabel": "このリクエストのフォーマット", + "joinsBook": "あなたが持っている本に参加します", + "joinsBookHint": "これが到着すると、すでにあなたのライブラリ内の本に追加されます" + }, + "actions": { + "approve": "承認", + "approveAndNext": "承認して次へ", + "reject": "拒否", + "cancel": "リクエストをキャンセル", + "cancelDownload": "ダウンロードをキャンセル", + "dismiss": "却下する", + "restore": "復元", + "delete": "リクエストを削除", + "markFulfilled": "成立したマーク", + "grab": "リリースを探す", + "goToBook": "本に移動", + "retryRelease": "別のリリースを試す", + "leave": "要求を退出する", + "pair": { + "approveBoth": "両方を承認する", + "approveEbook": "電子書籍を承認", + "approveAudiobook": "オーディオブックを承認する", + "rejectBoth": "両方を拒否", + "rejectEbook": "電子書籍を拒否する", + "rejectAudiobook": "オーディオブックを拒否", + "cancelBoth": "両方をキャンセル", + "cancelEbook": "電子書籍をキャンセル", + "cancelAudiobook": "オーディオブックをキャンセル", + "dismissBoth": "両方を閉じる", + "dismissEbook": "電子書籍を閉じる", + "dismissAudiobook": "オーディオブックを解除", + "restoreBoth": "両方を復元", + "restoreEbook": "電子書籍を復元", + "restoreAudiobook": "オーディオブックを復元", + "grabEbook": "電子書籍のリリースを見つける", + "grabAudiobook": "オーディオブックのリリースを見つける", + "chooseReleases": "リリースを選択", + "openEbook": "電子書籍のリクエストを開く", + "openAudiobook": "オーディオブックのリクエストを開く" + } + }, + "filters": { + "status": "ステータス", + "anyStatus": "任意のステータス", + "mediaKind": "書式", + "anyMediaKind": "任意の形式", + "requester": "要求者", + "anyRequester": "任意のリクエスト", + "showDismissed": "却下されたものを表示", + "fulfilment": "フルフィルメント", + "anyFulfilment": "全ての履行数", + "selfServeOnly": "自炊済み", + "approvedOnly": "承認を通過しました" + }, + "list": { + "loading": "リクエストを読み込み中...", + "emptyMine": "まだ本をリクエストしていません。", + "emptyAll": "まだ本のリクエストはありません。", + "pagination": "ページをリクエスト", + "pageOf": "ページ {page} / {total}", + "emptyHint": "本を検索すると、あなたがそれを求めると、ここに表示されます。" + }, + "toasts": { + "approved": "リクエストが承認されました", + "rejected": "リクエストが拒否されました", + "cancelled": "リクエストがキャンセルされました", + "downloadCancelled": "ダウンロードがキャンセルされました", + "dismissed": "リストに表示しない", + "restored": "リストに戻る", + "deleted": "リクエストが削除されました", + "fulfilled": "マークが付けられたリクエストが満たされました", + "grabbed": "ダウンロードを開始しました", + "downloadRemoved": "ダウンロードクライアントから削除されました", + "bulkApproved": "{count, plural, one {# request approved} other {# requests approved}}", + "bulkApprovedPartial": "{done} が承認されました。 {failed} はできませんでした", + "bulkDismissed": "{count, plural, one {# request hidden} other {# requests hidden}}", + "bulkDismissedPartial": "非表示の {done} はできませんでした {failed}", + "unitChosen": "選択した本をインポートしています", + "languageChanged": "言語が更新されました", + "left": "このリクエストを残しました", + "bulkRejected": "{count, plural, one {# request rejected} other {# requests rejected}}", + "bulkRejectedPartial": "{done} は拒否されました、 {failed} はできません", + "importDiscarded": "インポートされたファイルは破棄されました", + "pairApproved": "承認された両方", + "pairRejected": "両方が拒否されました" + }, + "errors": { + "loadFailed": "リクエストを読み込めませんでした", + "approveFailed": "そのリクエストを承認できませんでした", + "rejectFailed": "リクエストを拒否できませんでした", + "cancelFailed": "そのリクエストをキャンセルできませんでした", + "cancelDownloadFailed": "ダウンロードをキャンセルできませんでした", + "dismissFailed": "そのリクエストを非表示にできませんでした", + "restoreFailed": "そのリクエストを元に戻すことができませんでした", + "deleteFailed": "そのリクエストを削除できませんでした", + "fulfilFailed": "リクエストを閉じることができませんでした", + "grabFailed": "ダウンロードを開始できません", + "removeDownloadFailed": "ダウンロードクライアントからそのトレントを削除できませんでした", + "bulkApproveFailed": "選択したリクエストを承認できませんでした", + "bulkDismissFailed": "選択したリクエストを非表示にできませんでした", + "selectUnitFailed": "その本はインポートできなかった。", + "languageChangeFailed": "言語を変更できませんでした", + "leaveFailed": "そのリクエストを残すことができませんでした", + "bulkRejectFailed": "その選択は拒否できませんでした", + "discardImportFailed": "インポートを破棄できませんでした", + "approveCompanionFailedEbook": "承認されましたが、電子書籍は承認できませんでした", + "approveCompanionFailedAudiobook": "これを承認しましたが、オーディオブックは承認できませんでした" + }, + "grab": { + "title": "ダウンロードクライアントに送る", + "subtitle": "磁石リンクを貼り付けるか、.Torrent を \"{title}\" にアップロードしてください。", + "singleFileNote": "リリースは、いくつかの形式で1冊の本、部分的にオーディオブック、またはアーカイブすることができます - それらのすべての単一の本としてインポートします。 いくつかの別々の本を保持するリリースは、あなたにどちらを保持するかを尋ねます。", + "magnet": "Magnet link", + "torrentFile": ".Torrent ファイル", + "client": "クライアントをダウンロード", + "submit": "送信", + "errors": { + "pickOne": "マグネットリンクまたは.Torrent ファイルを提供します。両方とも提供しません。", + "fileTooLarge": "そのファイルは {limit}より大きいので、.Torrent ファイルではありません", + "fileUnreadable": "そのファイルは読み込めませんでした" + }, + "noClientList": "BookOrbitは、最も優先度の高い有効化されたダウンロードクライアントを使用します。" + }, + "attempts": { + "title": "以前の試行", + "loading": "以前の試行を読み込んでいます...", + "loadFailed": "以前の試行を読み込めませんでした", + "refused": "拒否、何もダウンロードされていません", + "handPicked": "手で送信" + }, + "download": { + "source": { + "automatic": "自動的に取得", + "manual": "承認者に拾われました", + "pasted": "手で貼り付け" + }, + "transferred": "{done} / {total}", + "transferredUnknown": "{done} をダウンロードしました", + "progressLabel": "{title} の進行状況をダウンロード", + "status": { + "queued": "ダウンロード待ち", + "downloading": "ダウンロード中", + "completed": "ダウンロード完了", + "importing": "ライブラリにインポートしています", + "needs_review": "ブックドックでレビューを待っています", + "imported": "ライブラリに追加しました", + "failed": "ダウンロードに失敗しました" + } + }, + "releases": { + "title": "リリースを選択", + "retryTitle": "別のリリースを試す", + "pairTitle": "リリースを選択", + "pair": { + "tabsLabel": "リリースを選択するフォーマット", + "releaseCount": "{count, plural, one {# release} other {# releases}}", + "searching": "検索中", + "toChoose": "選択するには", + "sent": "送信済み", + "finishedTitle": "選択するものがありません", + "finishedHint": "どちらのフォーマットもリリースされました。リクエストからそれぞれのフォーマットをフォローできます。", + "backToRequest": "リクエストに戻る", + "done": "完了" + }, + "subtitle": "すべての有効化されたインデクサでランク付けされました。", + "summaryCount": "{count, plural, one {# release} other {# releases}}", + "allFreeleech": "フリーリーチなら", + "allLanguage": "すべての {language}", + "allFormat": "すべての {format}", + "allIndexer": "すべて {name} から", + "criteria": { + "label": "アクティブな検索", + "searched": "検索", + "searchedTitleAuthor": "検索されたタイトルと著者", + "nothingFound": "{key} には何も見つかりませんでした", + "changeSearch": "検索を変更", + "closeSearch": "閉じる", + "sources": "ソース", + "sourceSearchedIsbn": "ISBNを検索", + "sourceSearchedTitleAuthor": "タイトルと著者を検索しました", + "sourceNoAdapter": "一致するアダプターがありません", + "sourceReleases": "{count, plural, one {# release} other {# releases}}", + "sourceNone": "一致するものはありません", + "sourceFiltered": "{count} 除外された", + "sourcesSearched": "{count,plural,one{# ソースが検索されました} other{# ソースが検索されました}}", + "showEachSource": "それぞれを表示", + "uncovered": "{count, plural, one {# enabled source does} other {# enabled source does}} not carry this type of book", + "fixSource": "設定で修正", + "searchInstead": "代わりにこれを検索", + "keyTried": "試してみたが何も見つからなかった", + "keyTriedCount": "試しました! {count, plural, one {# release} other {# releases}}", + "searchWithoutIsbn": "タイトルと作成者", + "customIsbnSource": "カスタム ISBN", + "filteredLocally": "ローカルでフィルタされました:", + "title": "タイトル", + "author": "作成者", + "additionalAuthors": "追加の著者", + "isbn10": "ISBN-10", + "isbn13": "ISBN-13", + "isbns": "ISBNs", + "mediaKind": "メディア", + "language": "言語", + "formats": "優先する形式", + "editFields": "フィールドを編集", + "closeEditor": "エディタを閉じる", + "authorsEditor": "作者、1行に1名", + "authorsPlaceholder": "1行に1人の著者", + "authorsInvalid": "作者は50人以下で、作者1人につき255文字以下で使用してください。", + "languagePlaceholder": "すべての言語", + "formatsPlaceholder": "epub, azw3", + "formatsInvalid": "20文字以下のフォーマットで20以下のフォーマットを使用してください。", + "isbnSelection": "検索方法", + "isbnSelectionHint": "ISBN、タイトル、作成者を一つ選択するか、カスタムISBNを追加します。", + "noIsbnSelected": "ISBNなしのタイトルと著者", + "customIsbn": "カスタム ISBN", + "customIsbnPlaceholder": "ISBN-10 または ISBN-13", + "addIsbn": "ISBNを追加", + "invalidIsbn": "{isbn} は有効な ISBN-10 または ISBN-13 ではありません。", + "titleRequired": "検索するタイトルを入力してください", + "fixedMedia": "互換性のあるソースとフルフィルメントパスを制御するため、メディアは {media} のままです。", + "useRequestFields": "リクエストフィールドを使用", + "runSearch": "これらのフィールドで検索" + }, + "previousFailure": "最後の試行に失敗しました: {reason}", + "refused": { + "sourceRefused": "このソースは以前のリリースを拒否しました", + "sourceUnavailable": "このソースは応答していません", + "vipRequired": "このソースにVIPアカウントが必要です", + "clientRefused": "ダウンロードクライアントは以前のリリースを拒否しました", + "clientUnavailable": "ダウンロードクライアントは以前のリリースに応答していません" + }, + "singleFileNote": "リリースは、いくつかの形式で1冊の本、部分的にオーディオブック、またはアーカイブすることができます - それらのすべての単一の本としてインポートします。 いくつかの別々の本を保持するリリースは、あなたにどちらを保持するかを尋ねます。", + "searching": "インデックスを検索しています...", + "refresh": "再検索", + "cached": "最後の検索を表示しています。新しい検索結果をもう一度検索してください。", + "sortBy": "並び替え", + "sort": { + "score": "ベストマッチ", + "seeders": "Seeders", + "size": "サイズ", + "bitrate": "ビットレート", + "added": "追加日" + }, + "freeleechOnly": "フリーリーチのみ ({count})", + "clearFilters": "フィルターをクリア", + "filteredEmpty": "これらのフィルタに一致するリリースはありません。", + "grab": "リリースをダウンロード", + "viewFiles": "ファイルを表示", + "hideFiles": "ファイルを隠す", + "viewDetails": "コンテンツについて", + "hideDetails": "詳細を隠す", + "inspectingFiles": "リリースファイルリストを読み込んでいます...", + "inspectingNzb": "NZBを取得して検証しています...", + "inspectingShort": "ファイルを確認しています...", + "inspectionFailed": "このリリースのファイルリストを読み込めませんでした。", + "manifest": { + "ready": "{count, plural, one {このリリースには # ファイルが含まれています。サポートされているブックファイルをインポートできます。} other {このリリースには # ファイルが含まれています。サポートされているブックファイルをインポートすることができます。}}", + "noSupported": "このリリースには直接サポートされているブックファイルがないため、送信できません。", + "contentsUnknown": "このリリースはアーカイブ(RAR、ZIP、または7z)としてパッケージ化されています。BookOrbitはダウンロード後に解凍されるため、その内容はまだ分かっていません。", + "multipleBooks": "このリリースには {count} 個別の本が含まれています。ダウンロード後は、どの本をインポートするかを尋ねられます。", + "multiPartBook": "{count,plural,one{このリリースは1冊の本で構成されています # ファイルを選択します。} other{このリリースは1冊の本で構成されています # ファイルを単一の本としてインポートします。}}", + "metadataUnavailable": "これはマグネットリンクです。Torrentクライアントがswarmからメタデータを取得するまで、ファイル一覧は利用できません。", + "usenetMetadataUnavailable": "これはUsenetのリリースです。最終的なファイルリストは、NZBGetのダウンロードと後処理まで使用できません。", + "bookFile": "書籍ファイル", + "extraFile": "追加機能", + "truncated": "{shown} の {total} ファイルを表示しています。", + "untitledUnit": "無題のタイトル", + "unitFiles": "{count, plural, one {# ファイル} other {# ファイル}}", + "unitsTruncated": "表示 {shown} / {total} 本だ", + "ignored": "{count,plural,one{無視 # サンプルまたはパディングファイル。} other{無視 # サンプルとパディングファイル}}", + "mediaKind": { + "ebook": "E-book", + "audiobook": "オーディオブック", + "comic": "コミック" + } + }, + "manual": "代わりにリンクを貼り付け", + "manualTorrent": "マグネットまたは .Torrent を代わりに使用", + "indexer": "インデクサー", + "size": "サイズ", + "seeders": "Seeders", + "language": "言語", + "seederCountPlural": "{count, plural, one {# seeder} other {# seeders}}", + "seederCountUnknown": "シーダー不明", + "format": "書式", + "files": "ファイル", + "fileLayout": { + "single": "1 つのリストされたファイル", + "multi": "複数のリストされたファイル" + }, + "fileCount": "{count, plural, one {# ファイル} other {# ファイル}}", + "audio": "オーディオ", + "bitrateAtLeast": "{rate}k+", + "channels": { + "mono": "モノラル", + "stereo": "Stereo" + }, + "chapterCountPlural": "{count, plural, one {# chapter} other {# chapters}}", + "durationHm": "{hours}h {minutes}m", + "durationM": "{minutes}m", + "freeleech": "Freeleech", + "vipOnly": "VIPのみ", + "hideVipOnly": "VIPのみ非表示", + "noneMatchedProfile": "このメディアのプロフィールと一致するリリースはありませんので、どれも自動的にダウンロードされません。 あなたはまだ手で1つを送ることができます。それを広げるためには、あなたが持っているものよりも少ない条件で階層を追加します。", + "profileMismatch": { + "summary": "{count,plural,one{# リリースが見つかりましたが、自動ダウンロードは一致しないのでスキップされます {medium} プロファイル階層。} other{# リリースが見つかりましたが、自動ダウンロードは該当するものがないためスキップされます {medium} プロファイル階層。}} スコアとプロファイルのルールは別々のチェックです。format@@0をクリックすることはできます。", + "review": "{medium} プロファイルを確認", + "row": "自動ダウンロードはこれをスキップします。最も近い階層: {tier}. {reasons}", + "failures": { + "formatUnknown": "{source} はフォーマットを述べていません。この階層は {expected} が必要です。", + "format": "フォーマットは {actual}です。この階層は {expected} が必要です。", + "fileLayoutUnknown": "{source} はファイル数を指定していません。この階層は {expected} が必要です。", + "fileLayout": "ファイルのレイアウトは {actual}です。この階層は {expected} が必要です。", + "bitrate": "ビットレートは {actual} kbpsです。この層は少なくとも {expected} kbpsが必要です。", + "channels": "オーディオは {actual}です。この階層は {expected} が必要です。", + "languageUnknown": "{source} は言語を述べていません。この階層は {expected} が必要です。", + "language": "言語は {actual}です。この階層は {expected} が必要です。", + "source": "このソースは階層には含まれていません。", + "seeders": "このリリースには {actual} シードがあります。このレベルは少なくとも {expected} が必要です。", + "sizeUnknown": "{source} はサイズを述べていません。この階層は {expected} まで許可されています。", + "size": "サイズは {actual}です。この階層は {expected} まで使用できます。", + "freeleech": "この階層にはフリーリーチが必要です。", + "vipOnly": "この階層はVIPのみのリリースを除外します。" + } + }, + "alreadyGrabbed": "既に奪われています", + "freeleechLabel": "Freeleech", + "published": "公開済み", + "scoreLabel": "100点満点中 {score} 点満点中", + "scoreBreakdown": "このリリースのスコア", + "whyThisScore": "Why this score", + "failures": { + "unauthorized": "サインインの期限切れ", + "throttled": "レートが制限されました", + "timeout": "タイムアウト", + "unreachable": "到達不可", + "unsupportedMedium": "この種の本を持ち合わせていないのです", + "error": "検索に失敗しました" + }, + "reasons": { + "isbnMatch": "ISBN一致", + "titleMatch": "タイトルの一致", + "authorMatch": "タイトルと著者の一致", + "preferredFormat": "優先フォーマット {detail}", + "knownFormat": "{detail} のフォーマット", + "unknownFormat": "書式が記載されていません", + "expectedSize": "もっともらしいサイズ", + "suspiciousSize": "{detail} のサイズが不適切です", + "seeders": "{detail} 種", + "freeleech": "Freeleech", + "likelySeveralBooks": "{detail} ファイルは複数の書籍かもしれません" + }, + "errors": { + "loadFailed": "リリースを検索できませんでした" + }, + "backToRequest": "リクエストに戻る", + "bestMatch": "ベストマッチ", + "flags": "フラグ", + "score": "スコア", + "release": "リリース", + "send": "送信", + "tableCaption": "リリース, ランク", + "onlyBestMatch": "それがマッチした唯一のリリースです。", + "tiedWithBest": "{count,plural,one{# 他のリリースも同じ得点を取った} other{# 他のリリースも同じ得点を記録しました}}", + "inspectionFailedHint": "ダウンロードクライアントに送信されませんでした。もう一度やり直すか、リンクを貼り付けを使用してください。", + "inspectionFailedHintGeneric": "ダウンロードクライアントに送信されませんでした。もう一度やり直すか、別のリリースを選択してください。", + "mediumUncovered": "この種の本を持っている資料はない。", + "mediumUncoveredHint": "有効なインデクサーには該当しません。リンクを追加するか、自分で貼り付けてください。", + "noSourcesConfigured": "検索ソースが設定されていません。", + "noSourcesEnabled": "すべての検索ソースがオフになっています。", + "noSourcesConfiguredHint": "何も検索されませんでした。インデクサを追加するか、ソースプラグインをインストールするか、自分でリリースにリンクを貼り付けてください。", + "noSourcesEnabledHint": "何も検索されませんでした。再度オンに切り替えるか、自分でリリースへのリンクを貼り付けてください。", + "noSourcesAskAdmin": "何も検索されませんでした。管理者に検索ソースを設定するか、自分でリリースへのリンクを貼り付けてください。", + "addSource": "ソースを追加", + "reviewSources": "ソースの確認", + "protocol": { + "torrent": "Torrent", + "usenet": "Usenet", + "direct": "直接ダウンロード", + "directPill": "Direct" + } + }, + "seed": { + "title": "クライアントをダウンロード", + "automated": "BookOrbitはこのリリースを自動的に選択しました。", + "loading": "ダウンロードクライアントを読んでいます...", + "loadFailed": "このリクエストのダウンロードクライアントにアクセスできませんでした。", + "notInClient": "ダウンロードクライアントにはこのトレントがありません。", + "state": "ステータス", + "seeding": "シード中", + "stopped": "停止しました", + "client": "クライアント", + "ratio": "Ratio", + "time": "シード時間", + "uploaded": "アップロードしました", + "hours": "{value} 時間", + "ofGoal": "{value} / {goal}", + "deleteFiles": "ダウンロードしたファイルも削除する", + "remove": "クライアントから削除", + "removeHint": "BookOrbitは単独でシードを停止することはありません。インポートされた本はどちらの方法でもライブラリに残ります。", + "confirm": { + "title": "このトレントを削除しますか?", + "description": "Torrent はシードを停止します。ダウンロードしたファイルはディスクに残ります。", + "descriptionWithFiles": "トレントがシードを停止し、ダウンロードしたファイルが削除されます。インポートされた本はライブラリに残ります。" + } + }, + "pipeline": { + "label": "進捗状況", + "steps": { + "asked": "質問済み", + "approved": "承認済み", + "release": "リリースが見つかりました", + "downloading": "ダウンロード中", + "filed": "提出済み" + }, + "summary": { + "waiting": "待機中: {step}", + "progress": "進行中: {step}", + "done": "ライブラリにファイルされています", + "failed": "エラーにより停止されました: {step}", + "stopped": "停止: {step}" + } + }, + "density": { + "label": "リストの密度:", + "comfortable": "快適さ", + "compact": "コンパクト化" + }, + "drawer": { + "label": "リクエスト詳細", + "description": "要求、それが達した段階と決定はそれに開く。", + "previous": "前のリクエスト", + "next": "次のリクエスト", + "position": "{position} / {total}", + "shortcuts": "J / K を移動します, A を承認します, Escを閉じます" + }, + "table": { + "caption": "ブックのリクエストは、各ステージに到達しました。", + "cover": "カバー", + "title": "タイトル", + "mediaKind": "書式", + "requestedBy": "リクエスト者", + "age": "年齢", + "state": "都道府県:", + "outcome": "成果", + "actions": "アクション", + "selectAll": "承認待ちのリクエストを選択してください", + "selectRow": "{title} を選択", + "toggleDetail": "{title} に何が起こったかを表示", + "release": "リリース", + "decidedBy": "決定者:", + "decisionNote": "意思決定ノート", + "requestNote": "リクエストノート", + "openDetail": "詳細を開く", + "pairMedia": "電子書籍とオーディオブック" + }, + "confirm": { + "cancelDownloadTitle": "このダウンロードをキャンセルしますか?", + "cancelDownloadDescription": "アクティブな転送が停止し、別のリリースを選択できるようにリクエストが開いたままになります。クライアント管理データは保持されます。部分的な直接ダウンロードステージングは削除されます。", + "cancelTitle": "このリクエストを停止しますか?", + "cancelDescription": "キャンセルされるようになります待つ人は誰も本を手に入れません", + "cancelDescriptionWithDownload": "アクティブな転送が停止します。ダウンロードクライアントのデータは保持されます。部分的な直接ダウンロードステージングは削除されます。", + "deleteTitle": "このリクエストを削除しますか?", + "deleteDescription": "要求とそれを求めた人の記録は皆のために行く。 まだシードされている任意のトレントは、そのファイルが保管されているダウンロードクライアントから削除されます。 直接ダウンロードステージングは自動的に消去されます。リクエストを消去するには、自分のリストから非表示にするだけです。", + "discardImportTitle": "このインポートを破棄しますか?", + "discardImportDescription": "ダウンロードしたファイルはブックドックから削除され、リクエストに失敗しました。 急流は種を蒔き続けます; あなたがそれを行ってほしい場合は別々にそれを停止します。", + "leaveTitle": "このリクエストを終了しますか?", + "leaveDescription": "フォローを停止し、通知されるのをやめます。リクエストされた人は誰でもリクエストを保持します。", + "rejectDescription": "これらのリクエストを待っている人は誰もが拒否されたと伝えられます。何もダウンロードされません。" + }, + "outcome": { + "filedIn": "{library} {time} でファイルされています", + "filed": "提出された {time}", + "rejected": "拒否された {time}", + "cancelled": "{time} をキャンセルしました", + "awaitingApproval": "承認待ち", + "awaitingReview": "手動チェックを待っています", + "failedUnknown": "インデクサから理由なしに停止しました", + "atStage": { + "asked": "要求されたところ", + "approved": "承認済み、まだ検索されていません", + "release": "リリースを探す", + "downloading": "リリースをダウンロード中", + "filed": "ライブラリにファイルしています" + } + }, + "handback": { + "AUTOMATION_DISABLED": "自動グラブがオフになっているため、手動で選択したリリースが必要です", + "NO_DESTINATION": "このリクエストには宛先ライブラリがないため、本をファイルする場所がありません", + "ATTEMPT_LIMIT": "{attempts} の試行後に自動実行があきらめられました", + "SEARCH_FAILED": "リリースを検索できませんでした: {detail}", + "NO_SOURCES_CONFIGURED": "検索ソースが設定されていないため、このリクエストは検索されませんでした", + "NO_SOURCES_ENABLED": "すべての検索ソースがオフになっているため、このリクエストは検索されませんでした", + "MEDIUM_UNCOVERED": "有効な検索ソースがこの種類の本を運ぶため、このリクエストは検索されませんでした。", + "PROFILE_EXCLUDED_ALL": "このメディアのプロファイルに一致するリリースはありません。手作業で選択したリリースが必要です。", + "ALL_TRIED": "つかむのに十分なすべてのリリースはすでに試されているので、これは手で選んだリリースが必要です", + "BELOW_SCORE_FLOOR": "{floor} 以上の得点はありません。手で選んだリリースが必要です", + "ALL_BLOCKED": "つかむのに十分なすべてのリリースは以前の失敗によって除外された、従って、これは手で選ばれたリリースが必要です", + "ABANDONED": "リリースが選択されていないため、このダウンロードは開始されませんでした" + }, + "submitError": { + "SUBMIT_TITLE_REQUIRED": "リクエストする前に本にタイトルを付けてください", + "SUBMIT_SELF_FULFIL_FORBIDDEN": "あなた自身のリクエストを満たすことはできません", + "SUBMIT_LIBRARY_FORBIDDEN": "そのライブラリへのアクセス権がありません", + "SUBMIT_FOLDER_NEEDS_LIBRARY": "フォルダを選択する前にコピー先ライブラリを選択してください", + "SUBMIT_FOLDER_NOT_IN_LIBRARY": "そのフォルダは宛先ライブラリに含まれていません", + "SUBMIT_DEFAULT_LIBRARY_UNREACHABLE": "到達できるライブラリを選択してください:このインスタンスのデフォルトはあなたのものではありません", + "SUBMIT_DESTINATION_REQUIRED": "作成後すぐにリクエストが承認されますので、本が着陸するライブラリを選択してください", + "SUBMIT_SELF_SERVE_LIMIT": "最初にいくつかのダウンロードを完了またはキャンセルします: 一度に {limit} を持つことができます", + "SUBMIT_ON_BEHALF_FORBIDDEN": "他の人に本をリクエストすることはできません", + "SUBMIT_ON_BEHALF_UNKNOWN_USER": "そのユーザーはブックのリクエストを行うことができません", + "SUBMIT_TARGET_BOOK_NOT_FOUND": "その本は図書館にありません。", + "SUBMIT_TARGET_BOOK_HAS_MEDIUM": "その本は既にこのフォーマットを持っています" + }, + "actionError": { + "BOOK_REQUEST_NOT_PENDING": "保留中のリクエストのみがこのアクションをサポートしています。このリクエストは現在 {status}", + "BOOK_REQUEST_NOT_CANCELLABLE": "{status} のリクエストはキャンセルできません", + "BOOK_REQUEST_DESTINATION_REQUIRED": "このリクエストを承認する前に、宛先ライブラリを選択してください", + "BOOK_REQUEST_ACTION_FORBIDDEN": "このリクエストは {action} に許可されていません", + "BOOK_REQUEST_STALE_TRANSITION": "このリクエストはアクションが適用されている間に変更されました。これは {status} です。" + }, + "bulk": { + "selected": "{count, plural, one {# request selected} other {# requests selected}}", + "approveSelected": "{count, plural, one {承認#リクエスト} other {承認#}}", + "clear": "クリア", + "dismissSelected": "{count, plural, one {Hide # request} other {Hide all #}}", + "rejectSelected": "{count, plural, one {リクエストを拒否} other {すべて拒否する #}}", + "rejectNoteLabel": "理由(任意)", + "rejectNotePlaceholder": "なぜこれらは拒否されています", + "rejectTitle": "拒否 {count,plural,one{# リクエスト} other{# リクエスト}}?", + "rejectConfirm": "拒否" + }, + "chooser": { + "title": "インポートする本を選択", + "hint": "このリリースには、 {count} 個別の本が含まれていることが判明しました。ダウンロードは完了しました。要求されたものを選択し、残りの本は取り残されています。", + "untitled": "無題のタイトル", + "files": "{count, plural, one {# ファイル} other {# ファイル}}", + "import": "この本をインポート", + "mediaKind": { + "ebook": "E-book", + "audiobook": "オーディオブック", + "comic": "コミック" + } + }, + "review": { + "title": "なぜこれが待っているのか", + "scoreShort": "インポートされたファイルは、このリクエストに対して {score} を得点しました。 {threshold} は自動的にファイルを作成する必要があります。", + "scoreClears": "インポートされたファイルは {score}を得点しました。これは {threshold} を自動的にクリアします。", + "verificationOff": "インポートチェックがオフになっているため、このファイルはリクエストに対して決して採点されませんでした。", + "reason": { + "isbn_match": "そのISBNは、要求されたものです。", + "above_threshold": "求められた本のように見えます。", + "below_threshold": "以下の項目を確認し、それが正しい本であるかどうかを決定してください。", + "author_mismatch": "タイトルは近いですが、著者は他の誰かです。", + "no_title": "ファイルには読みやすいタイトルがないため、比較するものはありませんでした。" + }, + "field": { + "title": "タイトル", + "authors": "作成者", + "isbn13": "ISBN" + }, + "verdict": { + "match": "一致", + "mismatch": "一致しません", + "unknown": "未比較" + }, + "requested": "要求済み", + "imported": "インポートしました", + "absent": "リクエストもファイルも一つも持っていません。", + "notSet": "未設定", + "filesTitle": "着陸したもの", + "fileCount": "{count, plural, one {# ファイル} other {# ファイル}}", + "role": { + "cover": "カバー", + "metadata": "メタデータ", + "supplement": "追加機能" + }, + "fileAnyway": "とにかくファイルする", + "fileAnywayHint": "これを宛先ライブラリにファイルし、リクエストが利用可能であることを、合格スコアが持つのと全く同じようにマークします。", + "noDestination": "このリクエストにはフォルダが入っている宛先ライブラリがないため、まだ本をファイルする場所がありません。", + "openDock": "ブックドックを開く", + "missingEntry": "このリクエストが保持されたファイルは、Book Dock には存在しません。 手作業でファイルや破棄されたので、見直すものは何も残っていません。", + "missingEntryNext": "本がすでにあなたのライブラリにある場合は、下記のリクエストを閉じてください。 そうでない場合は、リクエストをキャンセルし、別のリリースを検索します。", + "filed": "ライブラリにファイルされます。", + "fileFailed": "このインポートをファイルできませんでした", + "discard": "このインポートを破棄", + "discardHint": "リリースが間違った本であることが判明したときにこれを使用してください。 ファイルはブックドックから削除され、リクエストに失敗しました。" + }, + "sources": { + "noneConfigured": "検索ソースが設定されていません。", + "allDisabled": "すべての検索ソースがオフになっています。", + "noneConfiguredHint": "リクエストは提出できますが、インデクサを追加したり、ソースプラグインをインストールしたりするまでは、何も検索されません。", + "allDisabledHint": "リクエストは提出できますが、切り替えるまでは検索されません。", + "askAdmin": "リクエストは提出することができますが、管理者がセットアップするまでは何も検索されません。", + "addSource": "ソースを追加", + "reviewSources": "ソースの確認" + }, + "selfServeBadge": "自炊済み", + "selfServeBadgeHint": "承認ステップのない要求者によって直接ダウンロードされました", + "missingFormat": { + "labelAudiobook": "この本のオーディオブック", + "labelEbook": "この本のE-book", + "noAudiobook": "オーディオブックはまだありません", + "noEbook": "電子書籍はまだありません", + "requestAudiobook": "オーディオブックをリクエスト", + "requestEbook": "電子書籍を要求する", + "requested": "要求済み", + "requestedBySomeone": "他のユーザーからのリクエスト", + "ownedElsewhere": "別の本としてあなたのライブラリで", + "open": "開く", + "viewRequest": "リクエストを表示", + "submittedAudiobook": "リクエストされました。オーディオブックが到着したときにこの本に参加します", + "submittedEbook": "要求されました。電子書籍が到着したときにこの本に参加します" + } + }, "collection": { + "visibleToAll": "すべてのユーザーに表示", + "visibleToAllHint": "すべてのユーザーはこのコレクションを見ることができますが、あなただけがその本を変更することができます", "dialog": { "name": "名前", "icon": "アイコン", + "iconPlaceholder": "アイコンを選択...", "nameRequired": "名前が必要です", "iconRequired": "アイコンを選択", + "creating": "作成中...", "createFailed": "コレクションの作成に失敗しました" }, "createDialog": { "title": "新しいコレクション", + "podcastTitle": "新しいポッドキャストコレクション", "namePlaceholder": "例: お気に入り" }, "editDialog": { @@ -4478,12 +8882,15 @@ "syncToKoboHint": "このコレクションの本が工房の装置に表示されます", "deleteCollection": "コレクションを削除", "confirmDelete": "確認してください?", + "deleting": "削除中...", + "saving": "保存中...", "deleted": "\"{name}\" が削除されました", "updateFailed": "コレクションの更新に失敗しました", "deleteFailed": "コレクションの削除に失敗しました" }, "addToSheet": { "title": "コレクションの管理", + "selectedCount": "{count,plural,one{選択された本} other{# 選択された本} =0{本が選択されていません}}", "newCollection": "新しいコレクション", "namePlaceholder": "コレクション名", "create": "作成", @@ -4497,15 +8904,22 @@ "partialInCollection": "このコレクションの{partial} の {total}", "bookCount": "{count, plural, =0 {本はありません} one {1冊の本} other {# 本}}", "loadFailed": "コレクションの読み込みに失敗しました", + "createdAndAdded": "{count,plural,one{作成済み \"{name}\" と 1 冊の本を追加} other{作成済み \"{name}\" と追加 # 本} =0{作成済み \"{name}\" そして本を追加しない}}", "createdButAddFailed": "\"{name}\" を作成しましたが、本の追加に失敗しました", "createFailed": "コレクションの作成に失敗しました", + "addedNewWithExisting": "{count,plural,one{新しい本を追加しました:{name}\" ({alreadyHad} すでに存在しています)} other{追加しました # 新しい本を{name}\" ({alreadyHad} すでに存在しています)} =0{新しい本を追加しました:{name}\" ({alreadyHad} すでに存在しています)}}", + "addedToCollection": "{count,plural,one{追加された1冊の本{name}\"} other{追加しました # 本を{name}\"} =0{ブックを追加しませんでした:{name}\"}}", "addFailed": "コレクションに追加できませんでした", + "removedFromCollection": "{count,plural,one{1冊の本を削除しました:{name}\"} other{削除しました # \"からの本{name}\"} =0{本を削除しませんでした:{name}\"}}", "removeFailed": "コレクションから削除できませんでした" } }, "components": { "appHeader": { + "searchAllBooks": "すべての本を検索...", + "searching": "検索中...", "noResults": "結果がありません", + "loadingMore": "さらに読み込み中...", "loadMore": "さらに読み込む ({loaded}/{total})", "allMatchesShown": "{count, plural, =0 {すべての 1 試合に} one {すべて 1 試合に} other {すべて # マッチに}}", "bookCount": "{count, plural, =0 {本はありません} one {# 本} other {# 本}}", @@ -4520,7 +8934,11 @@ "uploadBooks": "本をアップロード", "appearance": "外観", "appearanceDescription": "テーマ、アクセント、コーナー半径、サーフェス、背景のオプションを選択します。", + "style": "スタイル", + "surfacePalette": "Surface", + "topGlow": "上部の光彩", "theme": "テーマ", + "accent": "アクセント:", "radius": "Radius", "background": "背景", "settings": "設定", @@ -4557,8 +8975,16 @@ "newCollection": "新しいコレクション", "noCollections": "コレクションはまだありません", "newReleaseNotes": "新しいリリースノートが利用可能です", + "requestBadge": { + "allActive": "{count, plural, one {全ユーザーの} other {# 件の有効なリクエスト}}", + "mineActive": "{count, plural, one {# あなたの} other {# あなたの}}" + }, "support": "BookOrbitをサポート", "supportAria": "Ko-FiでBookOrbitをサポート", + "appLinks": { + "ios": "iOSアプリを入手", + "android": "Androidアプリがまもなく登場します" + }, "sectionHeader": { "add": "追加", "showAll": "すべて表示", @@ -4572,16 +8998,44 @@ "clearFilter": "フィルターをクリア", "filterSummary": "{shown} / {total} 表示", "filterLibraries": "ライブラリをフィルター", + "filterLibrariesPlaceholder": "ライブラリをフィルタリング...", "filterSmartScopes": "スマートスコープでフィルター", + "filterSmartScopesPlaceholder": "スマートスコープのフィルタ...", "filterCollections": "コレクションをフィルター", + "filterCollectionsPlaceholder": "コレクションを絞り込む...", "seeAllLibraries": "すべてのライブラリを見る ({count})", "seeAllSmartScopes": "すべてのスマートスコープを見る ({count})", "seeAllCollections": "すべてのコレクションを見る ({count})", + "podcasts": "ポッドキャスト", + "newPodcastLibrary": "新しいポッドキャストライブラリ", + "noPodcastLibraries": "Podcast ライブラリはまだありません。", + "filterPodcastLibraries": "ポッドキャストライブラリをフィルター", + "filterPodcastLibrariesPlaceholder": "Podcast ライブラリをフィルター...", + "seeAllPodcastLibraries": "すべての Podcast ライブラリを表示 ({count})", + "podcastScopes": "ポッドキャストスコープ", + "newPodcastScope": "新しいポッドキャストスコープ", + "noPodcastScopes": "ポッドキャストスコープはまだありません", + "filterPodcastScopes": "ポッドキャストスコープをフィルター", + "filterPodcastScopesPlaceholder": "ポッドキャストスコープをフィルター...", + "seeAllPodcastScopes": "すべてのポッドキャストスコープを見る ({count})", + "podcastCollections": "ポッドキャストコレクション", + "newPodcastCollection": "新しいポッドキャストコレクション", + "noPodcastCollections": "ポッドキャストコレクションはまだありません", + "filterPodcastCollections": "ポッドキャストコレクションをフィルター", + "filterPodcastCollectionsPlaceholder": "Podcast コレクションをフィルター...", + "seeAllPodcastCollections": "すべてのポッドキャストコレクションを見る ({count})", + "queue": "キュー", + "mode": { + "books": "本", + "podcasts": "ポッドキャスト", + "switcherAria": "ブックとポッドキャストを切り替える" + }, "updateAvailable": "{version} を更新", "updateTooltip": "{version} のアップデートがあります", "openUpdateRelease": "GitHub で {version} リリースを開く", "zones": { - "browse": "検索" + "browse": "検索", + "reading": "読書中" }, "reorder": { "gripAria": "{name} を再注文", @@ -4590,7 +9044,14 @@ "dropped": "{name} が {position} の位置 {total} にドロップしました", "cancelled": "再注文はキャンセルされました。 {name} は {position} の {total} に戻りました。", "filteredHint": "並べ替えるフィルターをクリアする" - } + }, + "podcastImportProgress": "{processed} / {total} ファイル", + "playlists": "スマートプレイリスト", + "newPlaylist": "新規スマートプレイリスト", + "noPlaylists": "スマートプレイリストはまだありません", + "filterPlaylists": "スマートプレイリストをフィルターする", + "filterPlaylistsPlaceholder": "スマートプレイリストのフィルター...", + "seeAllPlaylists": "すべてのスマートプレイリストを見る ({count})" }, "selectionActionBar": { "setReadingStatus": "読み取り状態を設定", @@ -4604,6 +9065,8 @@ "moreActions": "その他のアクション", "setField": "フィールドを設定", "refreshMetadata": "メタデータを更新", + "refreshConfirm": "{count,plural,one{メタデータを更新: # 本?} other{メタデータを更新: # 本?}}", + "refreshConfirmAction": "更新", "reExtractCover": "カバーを再抽出", "metadataLock": "メタデータロック", "lockAll": "すべてロック", @@ -4611,13 +9074,17 @@ "exportMetadata": "メタデータをエクスポート", "deleteSelected": "選択したものを削除", "exitSelection": "選択を終了", + "downloadFilesZipLabel": "ZIP形式でファイルをダウンロード:", "primaryOnly": "プライマリのみ", "allFormats": "すべての形式", "audioOnly": "音声のみ", + "setRatingLabel": "評価を設定:", "clear": "クリア", + "setFieldLabel": "Set field:", "apply": "適用", "fieldPlaceholder": "空白のままにするとクリアします", "fieldPlaceholderArray": "カンマ区切り(空白にするとクリア)", + "deleteConfirm": "{count,plural,one{削除 # 本?} other{削除 # 本?} =0{削除 # 本?}}", "typeDelete": "DELETE入力" }, "viewHeader": { @@ -4626,6 +9093,9 @@ "displayDescription": "カバーサイズ、グリッド間隔、表示オプションを調整します。", "columnVisibilityHint": "テーブルヘッダーの列表示パネルを使用して、列の表示/非表示を切り替えます。", "columnVisibilityMobileHint": "テーブルヘッダーから列の表示を管理できます。", + "searchPlaceholder": "タイトル、著者、シリーズ、ナレーターを検索...", + "clearSearch": "検索をクリア", + "closeSearch": "検索を閉じる", "mobileSearch": { "description": "タイトル、著者、シリーズ、またはナレーターで項目を検索します。", "done": "完了" @@ -4640,16 +9110,95 @@ "display": "表示", "coverSize": "カバーのサイズ", "gridGap": "グリッドの間隔", + "pixelValue": "{value} ピクセル", "showJumpRails": "ジャンプレールを表示", "columnsHint": "テーブルヘッダーの列表示パネルを使用して、列の表示/非表示を切り替えます。", "coverShape": "カバーの形", - "circle": "円" + "circle": "円", + "square": "正方形(正方形)", + "rowDensity": "行の高さ", + "densityCompact": "コンパクト化", + "densityComfortable": "Cosy", + "densityRoomy": "部屋", + "coverFallback": "欠けているポートレートのためのブックカバーを使用してください" + }, + "viewModes": { + "grid": "グリッドビュー", + "list": "一覧表示", + "table": "テーブルビュー" } }, + "browseHeader": { + "eyebrow": { + "library": "ライブラリ", + "smartScope": "スマートスコープ", + "collection": "コレクション", + "browse": "検索" + }, + "facts": { + "books": "{count, plural, one {# book} other {# book}}", + "booksOf": "{matching} of {total, plural, one {# book} other {# book}}", + "authors": "{count, plural, one {# author} other {# authors}}", + "series": "{count, plural, one {# シリーズ} other {# シリーズ}}", + "scanned": "スキャン済み {time}", + "scanningProgress": "{processed} / {total} をスキャン中", + "syncsToKobo": "弘法に同期" + }, + "switcher": { + "open": "{name} から切り替え", + "jumpTo": "ジャンプ...", + "libraries": "ライブラリ", + "smartScopes": "スマートスコープ", + "collections": "コレクション", + "empty": "一致するものはありません" + }, + "search": { + "removeToken": "フィルター {label}を削除", + "clearAll": "検索とフィルターをクリア", + "save": "保存", + "summaryToken": "{count, plural, one {# filter} other {# filters}}" + }, + "tokens": { + "anyOf": "いずれの {count, plural, one {# ルール} other {# ルール}}", + "allOf": "すべての {count, plural, one {# ルール} other {# ルール}}" + }, + "sort": { + "sortBy": "{field} でソート", + "ascending": "昇順。降順に切り替える", + "descending": "降順。昇順に切り替える" + }, + "facets": { + "format": "書式", + "rules": "ルール", + "show": "表示", + "library": "ライブラリ", + "status": "ステータス", + "ruleCount": "{count, plural, one {# ルール} other {# ルール}}" + }, + "menu": { + "more": "{name} の詳細", + "editRules": "ルールを編集", + "deleteSmartScope": "スマートスコープを削除", + "deleteCollection": "コレクションを削除", + "confirmDelete": "\"{name}\" を削除しますか?元に戻すことはできません。", + "upload": "本をアップロード" + }, + "scan": { + "scanning": "スキャン中", + "started": "{name} をスキャン中", + "finished": "{name} のスキャンが完了しました" + }, + "viewModes": "ビューモード", + "legend": "音量の色" + }, "iconPicker": { "clearSelectionAria": "選択したアイコンをクリア", + "searchLucide": "Lucide アイコンを検索...", + "searchCustom": "カスタムアイコンを検索...", + "chooseIcon": "アイコンを選択...", "selectIcon": "アイコンを選択", "customTab": "カスタム", + "searching": "検索中...", "noIconsMatch": "\"{query}\" に一致するアイコンはありません", "typeToSearch": "すべてのアイコンを検索する", "noCustomIcons": "カスタムアイコンはアップロードされていません", @@ -4660,6 +9209,11 @@ "description": "この {entity} は存在しないか、削除されています。", "goBack": "戻る" }, + "media": { + "volume": "音量", + "mute": "ミュート", + "unmute": "ミュート解除" + }, "themePicker": { "light": "ライト", "dark": "ダーク", @@ -4686,11 +9240,21 @@ "sidebar": { "title": "Sidebar", "mobileDescription": "モバイルサイドバーを表示します。", - "toggle": "サイドバーの切り替え" + "toggle": "サイドバーの切り替え", + "collapse": "サイドバーを閉じる", + "expand": "Expand sidebar", + "open": "サイドバーを開く", + "close": "サイドバーを閉じる" }, "chipInput": { "typeAndEnter": "Enter キーを押して追加", - "pressEnter": "Enter キーを押して追加" + "pressEnter": "Enter キーを押して追加", + "remove": "{value} を削除" + }, + "tokenSelect": { + "remove": "{value} を削除", + "noMatches": "一致するものはありません", + "showOptions": "オプションを表示" } }, "entityIndex": { @@ -4698,7 +9262,8 @@ "sort": { "custom": "カスタム注文", "name": "名前", - "bookCount": "本の数" + "bookCount": "本の数", + "showCount": "カウントを表示" }, "ascending": "昇順", "descending": "降順", @@ -4707,14 +9272,61 @@ "noMatches": "一致するものはありません", "noMatchesHint": "別の検索語を試してみてください。", "bookCount": "本: {count}", + "showCount": "ショー: {count}", "librariesEmptyHint": "図書の追加を開始するライブラリを作成します。", + "podcastLibrariesEmptyHint": "Podcast ライブラリを作成して、次の番組を開始します。", "smartScopesEmptyHint": "スマートスコープは、頻繁に使用するフィルタのセットを保存します。", "collectionsEmptyHint": "コレクションは、手で選ぶグループの本。" + }, + "legalNotices": { + "about": "BookOrbitについて", + "trigger": "法的通知", + "title": "BookOrbitについて", + "description": "BookOrbitのアトリビューション、ライセンス、およびソースコード。", + "poweredBy": "Powered by BookOrbit", + "originalDevelopment": "このソフトウェアは、もともとBookOrbitとして開発された材料が含まれています。", + "copyright": "Copyright (C) 2025-2026 neon.", + "contributors": "追加の著作権は BookOrbit コントリビューターによって保持されています。", + "licenseSummary": "GNU Affero General Public Licenseの下でライセンスされ、バージョン 3 のみ、追加の条項を使用しています。 このソフトウェアは保証なしで提供されています。これらの条件に基づいて再配布および変更することができます。", + "sourceCode": "ソース コード", + "license": "AGPLv3 ライセンス", + "additionalTerms": "追加条件" + }, + "confirmDialog": { + "typeToConfirm": "“{phrase}” と入力して確認します" + }, + "formSheet": { + "discardTitle": "変更を破棄しますか?", + "discardDescription": "保存されていない変更は失われます。", + "discardConfirm": "破棄する" + }, + "backgroundPicker": { + "none": "なし", + "dots": "ドット", + "cross": "クロス", + "millimeter": "Millimeter", + "blueprint": "建設計画", + "brushed": "ブラシ", + "scanlines": "走査線", + "vinyl": "ビニル", + "carbon": "Carbon", + "perforated": "穿孔済み", + "aurora": "Aurora", + "horizon": "ホライゾン州", + "glow": "Glow", + "mesh": "メッシュ", + "elevation": "標高上昇", + "prism": "Prism", + "spectrum": "Spectrum", + "spectrum-x": "Spectrum X", + "spectrum-plus": "Spectrum Plus", + "eclipse": "Eclipse" } }, "customIcons": { "dialogTitle": "カスタムアイコンをアップロード", "dialogDescription": "ライブラリに追加する前に名前を確認してください。", + "readingFiles": "ファイルを読み込んでいます...", "dropPrompt": "SVGファイルをドロップまたはクリックして参照する", "fileLimit": "最大 {max} ファイル、128 KB", "namePlaceholder": "名前", @@ -4726,6 +9338,7 @@ "skipThisOne": "スキップする", "readyToUpload": "{count} アップロードの準備ができました", "noIconsStaged": "まだステージングされたアイコンはありません", + "uploading": "アップロード中...", "upload": "アップロード", "uploadCount": "{count} をアップロード", "onlySvgSupported": "SVG ファイルのみサポートされています", @@ -4755,6 +9368,7 @@ "empty": { "continueReading": "進行中の本はまだありません。ここから読んでみてください。", "continueListening": "オーディオブックはまだありません。ここで視聴を開始してください。", + "continuePodcasts": "進行中のポッドキャストのエピソードはまだありません。ここでポッドキャストを見てみましょう。", "wantToRead": "まだ読みたいとマークされた本はありません。", "upNextInSeries": "次のシリーズのピックはまだありません。ボリュームを終了して次のピックを表面化します。", "recentlyAdded": "まだ図書館に本がありません。", @@ -4764,6 +9378,7 @@ }, "settings": { "title": "ダッシュボードをカスタマイズ", + "preferencesTitle": "ダッシュボードの設定", "tabs": { "widgets": "ウィジェット", "shelves": "棚" @@ -4786,6 +9401,7 @@ "recentlyAdded": "最近追加された項目", "continueReading": "読書を続ける", "continueListening": "リスニングを続ける", + "continuePodcasts": "ポッドキャストを続ける", "wantToRead": "読みたい", "upNextInSeries": "次の系列を開く", "random": "新しい本を見つける", @@ -4799,6 +9415,19 @@ "twoColumns": "2列", "twoColumnsDescription": "行ごとに2つの棚を表示します。" }, + "shelfSync": { + "label": "セッション間で棚を同期", + "description": "棚の順序、表示、行数、およびあなたのアカウントのレイアウトを保存します。オフにすると、棚の設定はこのブラウザのままです。" + }, + "saveFailed": "ダッシュボードの設定を保存できませんでした。接続を確認して再度お試し下さい。", + "libraryScope": { + "title": "ダッシュボードライブラリ", + "description": "どのライブラリがこのダッシュボードに本を投稿し、データを読むかを選択します。", + "allLibraries": "すべてのアクセス可能なライブラリ", + "summaryNone": "ライブラリが選択されていません", + "summaryCount": "{count, plural, one {# ライブラリ} other {# ライブラリ}}", + "required": "少なくとも一つのライブラリを選択してください。" + }, "shelfRows": { "label": "本の行", "option": "{count, plural, one {1列の本} other {#行の本}}", @@ -4827,6 +9456,7 @@ "diversityScore": { "title": "多様性スコア", "notEnoughData": "あなたの多様性スコアを見るために少なくとも3冊の本を読んでください", + "booksAnalyzed": "{count,plural,one{# 本は分析され} other{# 分析された本} =0{分析された本はありません}}", "subScores": { "genre": "ジャンル", "author": "作成者", @@ -4857,11 +9487,14 @@ "startReading": "読書を開始" }, "monthlyChallenge": { - "title": "月間チャレンジ" + "title": "月間チャレンジ", + "complete": "Complete!" }, "neglectedGems": { "title": "無視された宝石", + "empty": "あなたの最高評価の本はすべて読まれました!", "rating": "{rating}/5", + "daysWaiting": "{count}d待機中", "queued": "キューに入りました", "addToQueue": "キューに追加", "shuffle": "シャッフル" @@ -4873,6 +9506,7 @@ "traits": { "length": "長さ", "variety": "Variety", + "rhythm": "リズム(リズム)", "time": "時刻", "speed": "速度" } @@ -4888,6 +9522,7 @@ }, "readingRhythm": { "title": "リズムを読んでいる", + "empty": "あなたのリズムが形を取るのを見るために読書を開始します。", "activeDays": "{count, plural, =0 {アクティブな日} one {# アクティブ日} other {# アクティブ日}}", "consistency": "{activeDays} · {percent}% 一貫性", "avgPerDay": "平均 {time}/日" @@ -4896,6 +9531,7 @@ "title": "読書継続記録", "empty": "今日から読書を始めて、連続記録をつけましょう", "streakLabel": "{count, plural, =0 {日連続} one {日連続} other {日連続}}", + "best": "{count,plural,one{ベスト: # 日} other{ベスト: # 日} =0{ベスト: # 日}}", "lastSevenDays": "過去 7 日間" }, "yearProjection": { @@ -4906,7 +9542,8 @@ "trendSteady": "着実な速度", "pages": "ページ", "hours": "時間", - "readCount": "{count} の読み取り" + "readCount": "{count} の読み取り", + "daysLeft": "{count}残り日" } } }, @@ -4918,6 +9555,7 @@ "deleteFailed": "削除に失敗", "setDefaultFailed": "デフォルトの設定に失敗しました", "setAsDefault": "既定に設定", + "saving": "保存中...", "update": "更新", "create": "作成", "deleteConfirm": "\"{name}\" を削除します。この操作は元に戻せません。", @@ -4928,6 +9566,7 @@ }, "tabs": { "providers": "プロバイダー", + "servers": "メールサーバー", "recipients": "Recipients", "groups": "グループ", "templates": "テンプレート", @@ -4961,6 +9600,7 @@ "toggleSharing": "共有の切り替え", "removeSystemBeforeDelete": "削除する前にシステム名称を削除", "notesHeading": "プロバイダーのメモ", + "notesBody": "、 {system} プロバイダー (スーパーユーザーのみ) はパスワードリセットメールに使用されます。 {defaultProvider} 明示的なプロバイダが選択されていないブックを送信するときにプロバイダが使用されます。プロバイダがマークされました {shared} すべてのユーザーが利用できます。", "deleteTitle": "プロバイダを削除しますか?", "nameHostRequired": "名前とホストが必要です", "created": "プロバイダーが作成されました", @@ -5008,14 +9648,17 @@ "newTitle": "新しいグループ", "name": "グループ名", "namePlaceholder": "例: Book Club", + "creating": "作成中...", "empty": "グループはまだありません。一度に複数の受信者に送信するグループを作成してください。", "memberCount": "{count, plural, =0 {メンバーなし} one {メンバー} other {# メンバー}}", "deleteTooltip": "グループを削除", "noMembers": "まだメンバーがいません。", "removeMember": "削除", + "selectRecipient": "受信者を選択...", "add": "追加", "addMember": "メンバーを追加", "allRecipientsInGroup": "すべての受信者はすでにこのグループにいます。", + "deleteTitle": "グループを削除しますか", "created": "グループを作成しました", "createFailed": "グループの作成に失敗しました", "deleted": "\"{name}\" が削除されました", @@ -5089,8 +9732,320 @@ "template": "テンプレート", "default": "デフォルト", "send": "送信", + "sending": "送信中...", "queued": "{count, plural, =0 {キューに入れられたメールはありません} one {1 つのメールがキューに入れられました} other {# 件のメールがキューに入れられました}}", "failed": "送信に失敗しました" + }, + "page": { + "addRecipient": "受信者を追加", + "recipients": "Recipients", + "groups": "グループ", + "newGroup": "新しいグループ", + "servers": "メールサーバー", + "addServer": "メールサーバーを追加", + "templates": "テンプレート", + "newTemplate": "新規テンプレート", + "noServersReadonly": "メールサーバーはまだあなたと共有されていません。管理者に追加してもらってください。", + "roleShared": "全員と共有", + "roleSystem": "パスワードのリセット", + "cantConnect": "接続できません", + "builtIn": "建てられた", + "recipientsEmptyTitle": "電子リーダーまたは受信トレイを追加する", + "recipientsEmptyBody": "Kindleのアドレスは次のように終了します {kindle} をクリックし、Amazonアカウントのデバイスの下に表示されます。PocketBookの終了まで: {pocketbook}通常の受信トレイも使用できます。", + "kindleNote": "Kindleは承認された送信者からのみメールを受信します。アマゾンアカウントの個人用ドキュメント設定に {address} を追加してください。", + "copyAddress": "アドレスをコピー", + "addressCopied": "アドレスをコピーしました", + "editServer": "{name} を編集", + "editTemplate": "{name} を編集", + "editGroup": "{name} を編集", + "groupCount": "{count, plural, one {# recipient} other {# recipients}}", + "recipientsHint": "星印付きのものは送信時に選択されます。", + "groupsHint": "一度に複数の宛先に送信します。", + "groupsEmpty": "グループはまだありません。", + "serversHint": "スター付きの人があなたの本を送ります。", + "templatesHint": "それぞれの本とともに送られた主題とメッセージ。", + "kindleTemplateNote": "Kindleは、テンプレートを表示することはありません:その電子メールは、常に件名 {subject}と外に出ます。", + "test": "テスト", + "testServer": "テスト {name}", + "testOk": "{name} が接続されました", + "testFailed": "{name} は接続できません", + "defaultRecipient": "デフォルトの受信者", + "makeDefaultRecipient": "{name} をデフォルトの受信者にする", + "defaultServer": "デフォルトのサーバー", + "makeDefaultServer": "{name} をデフォルトのサーバーにする", + "defaultTemplate": "デフォルトのテンプレート", + "makeDefaultTemplate": "{name} をデフォルトのテンプレートにする", + "editRecipient": "{name} を編集", + "serversEmptyTitle": "メールサーバーがありません", + "serversEmptyBody": "Gmail、Outlook、iCloud、Fastmailはワンクリックで、他のサーバーも動作します。", + "needServerTitle": "送信する前にメールサーバーを追加する", + "needServerBody": "BookOrbitは、Gmailなどの独自のSMTPアカウントを介して、アプリのパスワードを持つ本を送信します。", + "needServerAsk": "管理者にメールサーバーを共有するよう依頼してください。", + "goToServers": "メールサーバーに移動", + "noEncryption": "暗号化なし" + }, + "route": { + "defaultSaved": "既定の更新" + }, + "attention": { + "title": "注意が必要です", + "count": "{count, plural, one {# アイテム} other {# アイテム}}", + "hide": "非表示", + "show": "表示", + "serverDown": "{name} は接続できません", + "notDelivered": "{book} は {recipient} に到達していません", + "maybeDelivered": "{book} は {recipient} に達していない可能性があります", + "testedAgo": "テスト済み {time}", + "editServer": "サーバーを編集", + "editRecipient": "受信者を編集", + "resend": "再送信する" + }, + "reason": { + "tooLarge": "{size} は {server} 以上承認されています。", + "tooLargeGmail": "{size} は Gmail の 25 MB の添付ファイルの上限を超えています。", + "tooLargeFix": "小さめのエディションを送信するか、テキストのみのEPUBに受信者を設定します。", + "signIn": "{server} はサインインを拒否しました。", + "signInFix": "メールサーバのユーザ名とパスワードを確認します。", + "unreachable": "{server} は応答していません。", + "unconfirmed": "メッセージが引き渡された後、接続が切断されたので、到着した可能性があります。", + "unconfirmedFix": "再送信する前に受信トレイをチェックするか、二度到着する可能性があります。", + "interrupted": "このメールが出ている間にBookOrbitが再起動しました。", + "interruptedFix": "再送信する前に受信トレイをチェックしてください。", + "preparation": "ファイルを送信できませんでした。", + "other": "メールサーバーはそれを拒否しました。", + "server": "メールサーバー", + "serverMessage": "サーバーメッセージ", + "retryAt": "次は {time} を試してください。" + }, + "status": { + "sent": "送信済み", + "sending": "送信中", + "retrying": "再試行中 · {attempt} of {total}", + "unconfirmed": "未確認", + "failed": "失敗しました" + }, + "recent": { + "moreActions": "{title} の他のアクション", + "deletedBook": "削除された本", + "openBook": "本を開く", + "resend": "再送信する", + "delete": "項目を削除" + }, + "log": { + "all": "すべて", + "attention": "注意が必要です", + "active": "進行中", + "book": "本", + "sentTo": "送信先:", + "file": "ファイル", + "status": "ステータス", + "when": "日時", + "sentMeans": "Sent means your mail server accepted it", + "emptyFilter": "現在ここには何もありません。", + "loadMore": "さらに読み込む", + "showing": "{shown} の {total} を表示", + "emptyTitle": "まだ送信されていません", + "emptyBody": "あなたが電子メールで送られた本はどこに行ったのか、そしてメールサーバーがそれらを取ったのかどうかここに表示されます。" + }, + "card": { + "nothingSent": "まだ送信されていません", + "failed": "失敗しました", + "retrying": "再試行中", + "unconfirmed": "未確認", + "sending": "送信中", + "narration": "ナレーション", + "narrationTitle": "読み取り専用の本がナレーションを保ちます" + }, + "device": { + "kindle": "Kindle", + "kobo": "Kobo", + "other": "その他の電子リーダー", + "otherShort": "電子リーダー", + "none": "個人または受信トレイ" + }, + "sheet": { + "title": "メールで送信", + "sendTo": "送信先:", + "groups": "グループ", + "templateName": "{name} テンプレート", + "eachFormat": "各受信者の形式", + "formatForAll": "全員に{format}", + "file": "ファイル", + "mailServer": "メールサーバー", + "template": "テンプレート", + "yourDefault": "あなたのデフォルト", + "emails": "{count, plural, one {# email} other {# emails}}", + "noOnePicked": "誰も選択していません", + "total": "{size} の合計", + "send": "{count, plural, one {送信} other {メール}}", + "noFormat": "{format}がありません、 {got} を取得", + "readAlong": "読み込み先、 {size}", + "overKindle": "{size}、Kindleの50 MBの上限以上", + "overGmail": "Gmailの25MBの上限を超える{size}", + "kindleRejects": "Kindleは {format}を拒否", + "blockedKindle": "{name} は {format}を取ることができません。EPUBまたはPDFを選択するか、チェックを外してください。", + "books": "{count, plural, one {# book} other {# book}}", + "notReadyTitle": "メールアドレスがまだ設定されていません", + "notReadyBody": "本がどこにでも行くことができる前に、このアカウントにはメールサーバーと受信者が必要です。", + "addServer": "メールサーバーを追加", + "addServerHint": "Gmail、Outlook、iCloud、Fastmail、SMTPアカウント。", + "askForServer": "管理者にメールサーバーを共有するよう依頼してください。", + "addRecipient": "受信者を追加", + "addRecipientHint": "Kindle、PocketBook、または任意の受信トレイ。", + "openSettings": "メール設定を開く", + "sendingTitle": "{title} を送信中", + "closeHint": "これを閉じることができます。失敗は通知やメール履歴にも表示されます。", + "openHistory": "開いた履歴", + "done": "完了", + "acceptedBy": "{server} {time} によって承認されました", + "handingOver": "{server} に引き渡します" + }, + "editor": { + "kindleSubject": "変換", + "recipient": { + "newTitle": "新しい受信者", + "description": "受信者の名前、住所、デバイス、受信する内容。", + "sectionRecipient": "受信者", + "sectionReceives": "受け取るもの", + "name": "名前", + "email": "メールアドレス", + "device": "デバイス", + "deviceHint": "Kindleは件名を {subject} に変更し、以下のフォーマットを制限します。", + "format": "書式", + "formatPrimary": "本のプライマリです。", + "formatHint": "この形式のない本は、その主要版を取得します。", + "kindleFormatHint": "Amazonは2023年にMOBIとAZW3のメール受信を停止したため、Kindleには提供されません。 この形式のない本は、その主要版を取得します。", + "kindleLegacyFormat": "KindleはEメールで {format} を受け付けなくなりました。EPUBまたはPDFを選択してください。", + "readAlong": "既読の本", + "readAlongAutomatic": "自動", + "readAlongAutomaticHint": "安全なコピーを作成できる場合はテキストのみ、それ以外の場合はオリジナルです。", + "readAlongTextOnly": "テキストのみのEPUB", + "readAlongTextOnlyHint": "ナレーションが剥ぎ取られた。電子メールに十分な小ささ。", + "readAlongOriginal": "ナレーション付きオリジナル", + "readAlongOriginalHint": "ナレーションを維持します。ほとんどのメールサーバーの制限を超えて、100 MB 以上が多いことがあります。", + "notForKindle": "Kindleではない", + "template": "テンプレート", + "templateDefault": "デフォルト({name})", + "templateKindleHint": "メッセージが表示されないKindleに無視されます。", + "approveTitle": "Amazonで送信者を承認する", + "approveBody": "Kindleは知らないアドレスからバウンスなしでメールをドロップします。 {path}では、 {address} を追加します", + "approvePath": "コンテンツとデバイスの管理 › 環境設定 › 個人用ドキュメント設定", + "approveNoServer": "Kindleが承認しなければならないアドレスを確認するには、メールサーバーを最初に追加してください。", + "lastSent": "前回 {time}を送信しました", + "sendTest": "テストメールを送信", + "testSubject": "BookOrbit テストメール", + "testBody": "これはBookOrbitのテストです。読むことができれば、 {name} に送られた本もここに届きます。", + "testSent": "テストメールを {name} に送信しました", + "testFailed": "テストメールが送信されませんでした: {error}", + "makeDefault": "クイック送信の受信者に設定", + "remove": "受信者を削除", + "removeConfirm": "{name} を削除しますか?", + "removeConsequence": "送信履歴は残ります。", + "removeDefaultConsequence": "送信履歴は残り、クイック送信は別の受信者に星印を付けるまで停止します。", + "required": "名前とメールアドレスが必要です。", + "sectionLastSent": "最終送信" + }, + "server": { + "newTitle": "新しいメールサーバー", + "description": "SMTP サーバー、サインイン、誰がそれを介して送信することができます。", + "sectionProvider": "プロバイダー", + "sectionServer": "サーバー", + "sectionSignIn": "サインイン", + "sectionSender": "送信者", + "sectionWho": "誰が使っているのか", + "presetGmail": "Gmail", + "presetOutlook": "Outlook", + "presetIcloud": "iCloud Mail", + "presetFastmail": "Fastmail", + "presetOther": "その他のSMTP", + "presetHint": "ホスト、ポート、セキュリティにプリセットが入力されます。変更することもできます。", + "name": "名前", + "host": "ホスト", + "port": "ポート", + "security": "セキュリティ", + "securityStarttls": "STARTTLS", + "securitySsl": "SSL/TLS", + "securityNone": "なし", + "securityHint": "STARTTLSの587, SSL/TLSの465. 1つまたは他の, 両方を決して.", + "needsPassword": "このサーバーにはパスワードが必要です", + "username": "ユーザー名", + "password": "パスワード", + "appPassword": "アプリのパスワード", + "passwordKeep": "保存しました。置き換えるタイプ", + "appPasswordHint": "GmailとiCloudには、アカウントのパスワードではなく、アプリのパスワードが必要です。", + "fromName": "差出人名", + "fromAddress": "差出人アドレス", + "fromAddressHint": "Kindleの所有者はこのアドレスを承認する必要があります。", + "share": "全員と共有", + "shareHint": "他の人はパスワードを見ずにこのサーバーを通じて本を送ることができます。", + "system": "パスワードリセットとサインインリンクを送信", + "systemHint": "一つのサーバー BookOrbit 自体が使用しています。スーパーユーザーのみがこれを変更できます。", + "verifyTls": "サーバー証明書を確認する", + "verifyTlsHint": "自己署名証明書を使用して、独自のネットワーク上のサーバーのみをオフにします。", + "test": "接続をテスト", + "testDirty": "最初に保存してからテストする", + "testOk": "接続しました", + "testFailed": "接続できません: {error}", + "remove": "サーバーを削除", + "removeConfirm": "{name} を削除しますか?", + "removeConsequence": "それが共有されるすべての人はそれを失う。", + "removeSystemFirst": "このサーバーを削除する前にパスワードリセットをオフにしてください。", + "makeDefault": "デフォルトとして使用", + "required": "名前とホストが必要です。" + }, + "template": { + "newTitle": "新規テンプレート", + "description": "それぞれの本とともに送られた主題とメッセージ。", + "sectionTemplate": "テンプレート", + "sectionInsert": "Insert", + "sectionPreview": "プレビュー", + "name": "名前", + "subject": "件名", + "message": "メッセージ", + "groupBook": "本", + "groupFile": "ファイル", + "groupOther": "その他", + "insertHint": "件名またはメッセージ内のカーソルに移動します。空の値は何も表示されません。", + "insertVariable": "Insert {variable}", + "previewWith": "次でプレビュー", + "previewEmpty": "ブックを一度送信すると、テンプレートをプレビューできます。", + "previewFailed": "プレビューをレンダリングできませんでした。", + "previewTo": "終了日", + "builtInReadonly": "組み込まれています。スーパーユーザのみが変更できます。", + "kindleNote": "Kindle にはテンプレートが表示されることはありません。これは常にサブジェクト {subject}を取得します。", + "makeDefault": "デフォルトにする", + "remove": "テンプレートを削除", + "removeConfirm": "{name} を削除しますか?", + "removeConsequence": "使用する受信者は既定のテンプレートに戻ります。", + "required": "名前と件名が必要です。", + "attachment": "添付: {name}" + }, + "group": { + "newTitle": "新しいグループ", + "description": "一度に一冊の本を送信する受信者のセット。", + "sectionGroup": "グループ", + "sectionMembers": "メンバー", + "name": "名前", + "memberCount": "{count} / {total}", + "noRecipientsTitle": "受信者が選択されていません", + "noRecipientsBody": "グループは一連の受信者です。最初に受信者を追加してください。", + "remove": "グループを削除", + "removeConfirm": "{name} を削除しますか?", + "removeConsequence": "その受信者が滞在します。", + "required": "グループには名前が必要です", + "updated": "グループが更新されました" + } + } + }, + "errors": { + "network": "BookOrbitに到達できませんでした。接続を確認してから、もう一度お試しください。", + "codes": { + "PODCAST_LOCAL_NO_REFRESH": "この番組にはフィードがないため、リフレッシュするものはありません。", + "PODCAST_LOCAL_NO_DOWNLOAD": "このエピソードはあなた自身のファイルの一つであるため、ダウンロードするものは何もありません。あなたのコピーはすでに唯一のものです。", + "PODCAST_LOCAL_FILE_NOT_REMOVABLE": "このエピソードはあなた自身のファイルの1つであるため、BookOrbitはそれを削除しません。自分でフォルダから削除してください。", + "PODCAST_LOCAL_MEDIA_MISSING": "このエピソードの唯一のコピーは、もはやディスク上にないため、再生することはできません。", + "PODCAST_LOCAL_FOLDER_EMPTY": "このフォルダにはオーディオBookOrbitをインポートできないため、ショーにはなりません。", + "PODCAST_STORAGE_FULL": "このポッドキャストライブラリは保存されていません。空き領域を確保するか、クォータを上げてからもう一度お試しください。 ローカル番組に属するファイルは、部屋を作るために削除されることはありません。" } }, "hardcover": { @@ -5165,11 +10120,13 @@ "selected": "選択された本", "eligible": "適格な本" }, + "checkingPending": "保留中のアイテムを確認しています...", "pendingOf": "{pending} 保留中の {total} 本。", "noBooksInScope": "同期スコープに書籍がありません。", "allSynced": "すべての本は既に同期されています。", "lastSyncedLabel": "最終同期", "lastSuccessfulSync": "前回の同期完了", + "syncing": "同期中...", "progressCount": "{synced} / {total} 本", "unavailable": { "permissionDenied": "ハードカバー同期を使用する権限がありません。", @@ -5195,6 +10152,7 @@ "importProgress": "進行状況をインポート", "reviewMatches": "レビューの一致", "importReady": "インポートの準備完了", + "exactMatches": "{count,plural,one{# 完全一致はレビューなしでインポートできます} other{# 完全一致はレビューなしでインポートすることができます} =0{レビューなしで正確な一致はインポートできません}}", "progressAvailable": "{count, plural, =0 {進行状況の更新はありません} one {# 進行状況の更新はありません} other {# 進行状況の更新は}}", "progressConflicts": "{count, plural, =0 {コンフリクトはありません} one {# コンフリクト} other {# コンフリクト}}", "unavailable": { @@ -5210,6 +10168,7 @@ "skipped": "スキップ" }, "result": { + "summary": "{applied} インポートしました{progress}, {failed} 失敗しました", "progressUpdated": "{count} 進捗が更新されました" }, "toast": { @@ -5275,6 +10234,7 @@ "linkedBooks": { "title": "リンクした本", "description": "現在読んでいる本を表示 本がHardcoverにマッチしたら、ここで別のエディション(物理的、ebook、オーディオブック)を選び、読書の進行状況が同期する内容を変更します。", + "loading": "本を読み込んでいます...", "loadError": "本の読み込みに失敗しました。", "retry": "再試行する", "empty": "現在読まれている本はありません。", @@ -5339,11 +10299,42 @@ "namePlaceholder": "マイライブラリ", "coverStyle": { "title": "カバーのスタイル", - "portrait": "縦向き" + "portrait": "縦向き", + "square": "正方形(正方形)", + "hint": "電子ブックや混合ライブラリのための肖像画. audiobookのみのライブラリのためのスクエア.", + "hintSlots": "電子ブックまたは混合ライブラリのための縦、オーディオブックのみのライブラリのための正方形。 電子ブックとオーディオブックの両方の本は、肖像画のライブラリとそのオーディオブックのカバーの正方形のものでその本のカバーを示しています。" }, "icon": { "label": "アイコン", - "selected": "選択済み" + "placeholder": "アイコンを選択...", + "selected": "選択済み", + "more": "その他のアイコン" + }, + "identity": "Identity", + "podcastName": "ポッドキャストライブラリ名", + "podcastPlaceholder": "ポッドキャスト", + "podcastDefaultName": "ポッドキャスト", + "type": { + "title": "ライブラリの種類", + "books": "本", + "booksHint": "本、コミック、オーディオブック", + "podcasts": "ポッドキャスト", + "podcastsHint": "RSSフィードと管理されたエピソードストレージ" + }, + "cover": { + "portraitTitle": "ポートレート2:3", + "portraitHint": "電子ブックと混合ライブラリ", + "squareTitle": "平方1:1", + "squareHint": "オーディオブック専用ライブラリ", + "slotsHint": "電子ブックとオーディオブックの両方の本は、この形に合うカバーを示しています。" + }, + "gridShape": { + "title": "グリッド形状", + "tallTitle": "背の高いセル", + "tallHint": "電子ブックや混合ライブラリに最適です", + "squareTitle": "正方形のセル", + "squareHint": "オーディオブックのライブラリに最適です", + "hint": "各本は、その主要な形式のカバーを表示します, オーディオブックの平方. タイルに一致しないカバーは、あなたのカバーディスプレイ設定に従います." } }, "folders": { @@ -5368,7 +10359,42 @@ "overlapsWith": "\"{library}\" でオーバーラップする", "noneAdded": "フォルダはまだ追加されていません", "runPrescanHint": "保存する前にパスを検証するには、prescan を実行します。", - "prescan": "Prescan" + "prescan": "Prescan", + "local": { + "title": "既存のポッドキャストフォルダ", + "optional": "省略可能", + "description": "既にポッドキャストを保持しているフォルダ BookOrbitはポッドキャストがどこにあるかを読み込み、名前を変更したり、移動したり、削除したりすることはありません。", + "addTitle": "既存の Podcast フォルダーを追加", + "addDescription": "内部のすべてのフォルダがショーになります。", + "add": "別のフォルダを追加", + "remove": "{folder} を削除" + }, + "listTitle": "フォルダ", + "storageTitle": "ストレージフォルダ", + "matchingFiles": "{count, plural, one {# マッチングファイル} other {# マッチングファイル}}", + "bookCount": "{count, plural, one {# book} other {# book}}", + "checkAll": "もう一度フォルダを確認する", + "checkAgain": "{folder} をもう一度確認する", + "checkHint": "各フォルダは追加するとすぐにチェックされます。 両方のライブラリが同じファイルをインポートするため、既に別のライブラリが読み込まれているフォルダにフラグが付けられます。", + "emptyHint": "サーバーのパスを以下に貼り付けるか、または参照してください。", + "emptyPodcastHint": "ダウンロードしたポッドキャストエピソードをどこに保存するかを選択します。", + "pastePlaceholder": "サーバーのパスを貼り付けます。例:/books/Sci-Fi", + "pastePodcastPlaceholder": "サーバーのパスを貼り付けます。例: /podcast", + "browse": "参照...", + "status": { + "checking": "確認中", + "failed": "チェックに失敗しました", + "notAccessible": "アクセスできません", + "overlap": "また、 {library} で", + "overlapTitle": "ライブラリ「{library}」は既にこのフォルダを読み込みます。", + "files": "{count, plural, one {# ファイル} other {# ファイル}}" + }, + "errors": { + "empty": "サーバーフォルダのパスを入力します。", + "notAbsolute": "/で始まる絶対サーバーパスを入力します。", + "duplicate": "そのフォルダは既に追加されています。", + "covered": "そのフォルダは既に {path}でカバーされています。" + } }, "scanner": { "scanMode": { @@ -5385,6 +10411,49 @@ "hint": "すべてのファイルを個別の本として扱います。タイトルごとに1つの形式のライブラリに最適です。オーディオブックが複数のファイルにまたがっている場合は避けてください。" } }, + "addedAt": { + "title": "追加日", + "hint": "本の「追加日時」が反映するものを選択します。これは今後インポートされた本に適用されます。", + "options": { + "imported": { + "title": "インポートされた時", + "hint": "BookOrbitが最初にブックをインポートした日付です。これはデフォルトです。" + }, + "file_modified": { + "title": "ファイルの変更時間", + "hint": "ファイルの最後に変更された時間 (mtime) は、ファイルがコピーされたときによく保存されます。" + }, + "file_created": { + "title": "ファイル作成時間", + "hint": "ファイルが最初にディスクに着陸したとき(誕生日)、作成時間を記録しないファイルシステムの変更された時間に戻ります。" + } + }, + "recompute": "今すぐ再計算", + "recomputing": "再読み込み中...", + "recomputeHint": "この設定を使用して、既存の書籍に追加された日付を更新します。", + "recomputeSaveFirst": "最初に変更を保存し、次に既存のブックを再計算します。", + "backgroundConfirm": "既存のブックの日付を再計算しますか?これはバックグラウンドで実行され、このエディタを閉じることができます。読み取り不可能なファイルがあるブックは現在の日付を保持します。", + "progressSummary": "処理完了 {processed} / {total}: {updated} 更新しました {unchanged} 変更なし {skipped} スキップされました {failed} 失敗しました", + "failedBooksHint": "失敗した本は日付を保持しました。ファイルへのアクセスを確認し、再試行するために再度再計算を実行してください。", + "jobStatus": { + "running": "バックグラウンドで日付を再入力します。", + "completed": "日付の再計算が終了しました。", + "failed": "終了する前に再計算が停止しました。完了した変更は保持されました。もう一度安全に実行できます。" + }, + "errors": { + "sourceImported": "日付を再計算する前にファイルタイムスタンプのソースを保存します。", + "alreadyRunning": "このライブラリは既に再計算が実行されています。", + "busy": "他の再計算が実行されています。もう一度お試しください。", + "requestFailed": "再計算サービスに到達できませんでした。ステータスを確認するには、このエディタを閉じて再度開いてください。", + "interrupted": "ジョブの状態は利用できません。サーバーの再起動によって中断された可能性があります。再計算を再実行することは安全にできます。" + }, + "failureSample": "本 {bookId}: {reason}", + "failureReasons": { + "file_unavailable": "コンテンツファイルを読み込めませんでした。", + "unsafe_path": "コンテンツファイルは、許可されているライブラリフォルダ外にあります。", + "database_error": "データベースの更新に失敗しました。" + } + }, "allowedFormats": { "title": "許可されるフォーマット", "allowAll": "すべて許可", @@ -5394,8 +10463,40 @@ }, "excludePatterns": { "title": "パターンを除外", + "hintBefore": "スキャン中にスキップするグローブパターン(例) ", + "hintAfter": ").", "add": "追加", "empty": "パターンは追加されていません。" + }, + "mode": { + "title": "ファイルが本になる方法", + "locked": "作成時に設定", + "cannotChange": "これは後で変更できない設定です。", + "folderHint": "タイトルは一緒にいくつかのフォーマットを保持する場合に最適, またはオーディオブックは、多くのファイルをカバー.", + "fileHint": "各ファイルは、独自の本です. タイトルごとに1つの形式でフラットフォルダに最適.", + "folderResult": "2種類の1冊の本", + "fileResult": "3冊、1ファイルにつき1冊。" + }, + "import": { + "title": "インポート", + "all": "すべての形式", + "some": "これらのみ", + "groups": { + "ebook": "Ebooks", + "kindle": "Kindle", + "document": "ドキュメント", + "comic": "コミックス", + "audio": "オーディオ" + } + }, + "skip": { + "title": "一致するファイルをスキップ", + "count": "{count, plural, one {# pattern} other {# pattern}}", + "hint": "Glob パターンは、ライブラリフォルダ内のパスと一致しました。", + "inputLabel": "パターンをスキップ", + "placeholder": "**/samples/** のようなパターンを入力し、Enter キーを押します", + "placeholderMore": "別のパターンを追加", + "remove": "パターン {pattern} を削除" } }, "metadata": { @@ -5406,6 +10507,90 @@ "formatPriority": { "title": "書式の優先順位", "hint": "ブックに複数の書式がある場合は、リストの中で最も高い書式が推奨されます。" + }, + "moveUp": "{item} を上に移動", + "moveDown": "{item} を下に移動", + "primary": { + "title": "プライマリファイル", + "hint": "本に複数のファイルがある場合 この順序の最初の書式がその主要なファイルになります: 最初に開き、本の詳細を提供するもの。 行をドラッグするか、矢印を使用します。", + "reset": "順序をリセット", + "first": "最初の選択", + "notImported": "インポートされていません", + "notHeld": "{count,plural,one{# このライブラリが保持されていない書式は、その後もデフォルトの場所を保持します。} other{# 書式を指定すると、このライブラリのデフォルトの順序は維持されません。}}", + "moreBelow": "{count,plural,one{# より多くのフォーマットがこの順序に従います。} other{# より多くのフォーマットはこの順序に従います。}}", + "showingAll": "すべてのフォーマットを表示しています。", + "showAll": "すべての {count} を表示", + "showFewer": "少なく表示する" + }, + "source": { + "title": "書籍の詳細は", + "embeddedTitle": "本ファイル内のタグ", + "embeddedHint": "プライマリファイルからの読み取り", + "opfTitle": "metadata.opf ファイル", + "opfHint": "キャリバーによって本の横に保存されました", + "swap": "注文を入れ替え", + "hint": "BookOrbitは、本が持つ最初のものを使用し、他のものを無視します。 キャリバーライブラリは通常、最初にmetadata.opfを必要とします。" + }, + "regex": { + "title": "正規表現のメタデータを構成", + "sourceTitle": "正規表現", + "description": "ライブラリフォルダに対するプライマリファイルパスからメタデータを抽出します。 ファイル拡張子が一致する前に削除されます。使用可能なフィールドを持つ最初のルールが勝利します。", + "enable": "正規表現メタデータを有効にする", + "primaryFileHint": "オーディオブックトラックのようないくつかのファイルで作られた本については、ルールはプライマリファイルのパスを読み取ります。", + "groups": "名前付きグループ:", + "valuesHint": "セミコロンで区切られた作者または作者に作者を使用してください。日付は YYYY-MM-DD を使用します。フラグ: i は大文字と小文字を無視し、uはUnicodeを有効にします。", + "rules": "注文済み抽出ルール", + "rule": "ルール {number}", + "moveUp": "ルールを上に移動", + "moveDown": "ルールを下に移動", + "remove": "ルールを削除", + "basePath": "ライブラリフォルダ", + "extensionHint": "ファイル拡張子は自動的に無視されます。終了アンカーは拡張子なしでファイル名にマッチします。", + "flags": "フラグ", + "add": "ルールを追加", + "examplePath": "拡張子を含む相対ファイルパスの例", + "examplePlaceholder": "Author/Series/08 - My.Book.epub", + "exampleTitle": "著者のバック参照を持つ例", + "exampleTestPath": "パスをテスト (拡張機能を含む)", + "validationSuccess": "ルールの構文とグループは有効です。ファイルパスの一致を確認するにはプレビューを使用してください。", + "validationError": "ルールを検証できませんでした。適用する前にもう一度お試しください。", + "validationRetry": "もう一度確認", + "validationRuleCount": "{min} と {max} ルールの間に追加します。", + "preview": "プレビュー", + "previewing": "テストルール…", + "previewError": "ルールをプレビューできませんでした。相対パスと設定を確認し、再度お試し下さい。", + "actualInput": "パステスト済み:", + "matched": "一致したルール {number}", + "noMatch": "利用可能なメタデータが一致しません。ファイルメタデータが使用されます。", + "scanHint": "変更は新規または変更されたファイルの将来のメタデータ抽出に適用されます。保存はスキャンを開始したり、変更されていないブックを更新したりすることはありません。", + "apply": "ライブラリフォームに適用", + "configure": "設定", + "enabledHint": "ファイル拡張子のない相対パスからフィールドを抽出します。", + "disabledHint": "無効です。有効にするルールを設定してください。", + "moveSourceUp": "{source} を上に移動", + "moveSourceDown": "{source} を下に移動", + "diagnostics": { + "pattern_required": "正規表現を入力します。", + "pattern_too_long": "式は {count} 文字を超えてはいけません。", + "invalid_flags": "私とuだけが許可されています, 最大で一度にそれぞれ.", + "invalid_pattern": "無効な正規表現です。", + "missing_group": "サポートされているグループを少なくとも1つ含めます。", + "conflicting_authors": "両方ではなく、著者または著者のいずれかを使用してください。", + "invalid_value": "無効なフィールド値がスキップされました。", + "timeout": "式に時間がかかりすぎます。パターンを簡単にしましょう。", + "busy": "すべてのプレビューワーカーがビジーです。しばらくしてからもう一度お試しください。", + "worker_failed": "式を評価できませんでした。もう一度お試しください。" + }, + "precedenceHint": "最初に使用可能なファイルソースがメタデータを提供します。Regexフィールドはこの順序に従い、欠落している値は他のソースから記入されます。", + "summary": "{format} が最初に、Regex メタデータ優先", + "fields": { + "title": "タイトル", + "authors": "著者", + "series": "シリーズ", + "seriesIndex": "シリーズ番号", + "publishedYear": "出版年", + "publishedDate": "公開日時" + } } }, "fileWrite": { @@ -5421,13 +10606,23 @@ }, "cover": { "title": "カバー画像を含める", - "hint": "保存されたカバーをサポートされているファイル形式に書き込みます。" + "hint": "保存されたカバーをサポートされているファイル形式に書き込みます。", + "mediumHint": "保存されたカバーをファイルに書き込みます。 Ebookファイルは本のカバーを得、可聴周波カバーを得る; カバーが欠けているファイルは独特を保つ。" + }, + "allFiles": { + "title": "本のすべてのファイルに書く", + "hint": "また、その電子ブックまたは同じフォルダ内のPDFの横に保持オーディオブックなどの本の他の本ファイルに書き込みます。 すべての本のフォーマットが書かれているので、ワークブックなどのコンパニオンファイルを独自のフォルダに保存しないようにしてください。 フォーマットはまだ適用されます。オフにすると、書き込みを停止します。すでに書き込まれているファイルは元に戻されません。" }, "epub": { "title": "EPUB", "hint": "メタデータをEPUBアーカイブ内のOPFファイルに書き込みます。", "toggleAria": "EPUBメタデータを書く" }, + "readAlong": { + "title": "EPUBを読み込みます。", + "hint": "ストーリーテラーの読み取り装置のような同期ナレーションとEPUBは、彼らのオーディオを運ぶので、彼らは大きく、書き換えるために、より多くのメモリが必要です。", + "toggleAria": "既読のEPUBメタデータを書く" + }, "fb2": { "title": "フィクションブック (FB2)", "hint": "FB2 ファイル内の説明ブロックを書き換え、本文をそのままにします。", @@ -5451,8 +10646,20 @@ "audio": { "title": "オーディオ", "hint": "保存されたカバーをM4B、M4A、MP3、およびFLACファイルに埋め込みます。", - "toggleAria": "オーディオカバーの書き込み" - } + "toggleAria": "オーディオカバーの書き込み", + "tagsHint": "タイトル、著者、ナレーター、およびシリーズなどのタグをM4B、M4A、MP3、およびFLACファイルに書き込みます。", + "tagsToggleAria": "オーディオメタデータの書き込み" + }, + "coverAudioHint": "保存されたカバーをファイルに書き込みます。オーディオファイルはカバーのみを取ることができます。", + "audioNeedsCover": "「カバー画像を含める」をオンにする必要があります。", + "table": { + "format": "書式", + "inLibrary": "ここ", + "sizeLimit": "サイズ制限" + }, + "sizeLimitAria": "{format} MB単位のサイズ制限", + "mb": "MB", + "summary": "{count,plural,one{# ファイルが書き込まれます。サイズ制限を超えるファイルはスキップされます。} other{# 種類のファイルが書き込まれます。サイズ制限を超えるファイルはスキップされます。} =0{ファイルタイプが書き込まれていません。}}" }, "reading": { "readingStart": { @@ -5461,8 +10668,18 @@ }, "markAsFinished": { "title": "完了としてマーク", - "hint": "この進捗率に達すると、ブックは自動的に「既読」としてマークされます。" - } + "hint": "この進捗率に達すると、ブックは自動的に「既読」としてマークされます。", + "invalidThreshold": "完了として扱う進捗は90%から100%の間でなければなりません。" + }, + "statusTitle": "読み込み状態", + "zones": { + "notStarted": "開始していません", + "reading": "読書中", + "read": "既読にする" + }, + "range": "{min} と {max} の間。", + "startSlider": "本を開始したときにドラッグして設定します", + "finishSlider": "本が終了したときにドラッグして設定します" }, "schedule": { "fileWatching": "ファイルを見る", @@ -5501,6 +10718,7 @@ "notYetCreated": "ライブラリの作成後にアクセスを設定できます。", "grant": "許可", "empty": "アクセスが許可されているユーザーはまだいません。", + "loading": "アクセス設定を読み込み中...", "userSelectAria": "アクセスを許可するユーザー", "levelSelectAria": "許可するアクセスレベルです", "levels": { @@ -5515,9 +10733,104 @@ "errors": { "grant": "アクセス許可に失敗しました", "updateLevel": "アクセスレベルの更新に失敗しました", - "revoke": "アクセスの取り消しに失敗しました" + "revoke": "アクセスの取り消しに失敗しました", + "load": "ライブラリアクセス設定を読み込めませんでした。" + }, + "peopleTitle": "アクセス権を持つ人", + "peopleCount": "{count, plural, one {# 人} other {# 人}}", + "add": "追加", + "emptyCreate": "あなたがここに追加した人は、ライブラリが存在するとすぐにアクセスできます。", + "superusers": "スーパーユーザーは常にフルアクセスを持っています。", + "levelsHint": "編集者や所有者は、アカウントにメタデータの編集権限がある場合にメタデータを編集することもできます。", + "levelFor": "{name} のアクセスレベルです", + "revokeFor": "{name} のアクセスを削除", + "revokeQuestion": "アクセスを削除しますか?", + "revoke": "削除", + "keep": "保持する", + "failed": { + "title": "{count, plural, one {# 人を追加できませんでした} other {# 人を追加できませんでした}}", + "body": "ライブラリが作成されました。 {names} をもう一度追加するか、後でこのセクションから追加してください。" } - } + }, + "optional": "省略可能", + "nav": { + "details": "ライブラリ", + "folders": "フォルダ", + "scanner": "スキャン中", + "metadata": "メタデータ", + "reading": "読書中", + "schedule": "自動化", + "fileWrite": "ファイルの更新", + "access": "アクセス", + "descriptions": { + "details": "ライブラリがどのように呼ばれ、そのカバーがどのように見えるか。", + "folders": "このライブラリが読み込むサーバーフォルダ。", + "scanner": "どのようにファイルが本に分類され、どのファイルがスキップされるか。", + "metadata": "どのファイルは、本がいくつかあるとき、そしてその詳細がどこから来るかにつながります。", + "reading": "本が未読から読むことに動くとき。", + "schedule": "Scan を押さずにライブラリの電流を維持します。", + "fileWrite": "オプションの変更 BookOrbitはディスク上のファイルになります。", + "access": "他に誰が見ることができ、このライブラリで動作します。" + } + }, + "sheet": { + "createTitle": "新しいライブラリ", + "createHint": "フォルダに名前を付けて指定します。それ以外のものはすべて、賢明なデフォルトで始まります。", + "editFallbackTitle": "ライブラリの設定", + "editSubtitle": "{books, plural, one {# book} other {# book}} · {folders, plural, one {# folder} other {# folder}} · {mode}", + "editSubtitleNoBooks": "{folders, plural, one {# folder} other {# folders}} · {mode}", + "readyHint": "準備ができました。残りは待つことができます。", + "needsHint": "名前、アイコン、フォルダが必要です。", + "discardQuestion": "未保存の変更を破棄しますか?", + "discard": "破棄する", + "keepEditing": "編集を続ける", + "done": "完了", + "loading": "設定を読み込んでいます...", + "staleWarning": "最新のライブラリ設定を読み込めませんでした。ここに表示されているキャッシュ設定を編集できます。", + "scanNow": "今すぐスキャン" + }, + "summary": { + "needsName": "名前が必要です", + "needsIcon": "アイコンが必要です", + "needsFolder": "フォルダが必要です", + "detailsPortrait": "{name} · ポートレートカバー", + "detailsSquare": "{name} · スクエアカバー", + "folders": "{folders, plural, one {# フォルダ} other {# フォルダ}}", + "foldersFiles": "{folders, plural, one {# フォルダ} other {# フォルダ}} · {files, plural, one {# ファイル} other {# ファイル}}", + "foldersBooks": "{folders, plural, one {# フォルダ} other {# フォルダ}} · {books, plural, one {# book} other {# book}}", + "scannerAll": "{mode} · すべてのフォーマット", + "scannerSome": "{mode} · {count, plural, one {# format} other {# format}}", + "metadataFile": "{format} リード・ブックファイルを先に表示", + "metadataOpf": "{format} リード· metadata.opf first", + "reading": "{start} 起動済み {finish}", + "watching": "フォルダを見る", + "notWatching": "見ていません", + "watchingScheduled": "視聴中 · {schedule}", + "watchingOnly": "視聴中・スケジュールなし", + "scheduledOnly": "視聴しない · {schedule}", + "manualOnly": "手動スキャンのみ", + "customSchedule": "カスタムスケジュール", + "writesAndRenames": "{count, plural, =0 {何も書き込みません} one {書き込みます#種類} other {書き込みます#種類}} · Renames", + "writes": "{count,plural,one{書き込み # 一種のファイル} other{書き込み # ファイルの種類} =0{何も書き込みません}}", + "renames": "ファイル名の変更", + "untouched": "ファイルをそのまま残しました", + "onlySuperusers": "スーパーユーザーのみ", + "accessQueued": "{count, plural, one {# 人} other {# 人}}", + "accessPeople": "{count, plural, =0 {スーパーユーザー} one {# 人} other {# 人}}" + }, + "errors": { + "nameRequired": "ライブラリ名を入力します。", + "iconRequired": "アイコンを選択します。", + "folderRequired": "少なくとも1つのフォルダを追加してください。", + "podcastStorageFolder": "ポッドキャスト用のストレージフォルダを1つだけ選択してください。", + "podcastFolderOverlap": "既存の Podcast フォルダは、ストレージフォルダの外側にある必要があります。", + "cronInvalid": "有効な 5 フィールドの cron 式を入力します。", + "readingStartRange": "読書開始位置は0.05%から5%の間でなければなりません。", + "fileSizeRange": "ファイルサイズの制限は、1 から 10,000 MB までの整数でなければなりません。", + "saveFailed": "ライブラリを保存できませんでした。", + "connection": "サーバーに接続できませんでした。接続を確認して再度お試し下さい。" + }, + "copyName": "{name} コピー" }, "folderPicker": { "title": "サーバーフォルダを参照", @@ -5530,12 +10843,14 @@ "clearFilterAria": "フォルダフィルタをクリア", "newFolderNamePlaceholder": "新しいフォルダ名", "create": "作成", + "loading": "フォルダの読み込み中...", "selectCurrent": "現在のフォルダを選択", "noMatches": "一致するフォルダがありません", "noMatchesHint": "別のフィルターを試してください。", "empty": "このフォルダは空です", "emptyHint": "現在のフォルダを選択するか、新しいフォルダを作成できます。", "openFolderAria": "{name} を開く", + "selectedCount": "{count,plural,one{# 選択されたフォルダ} other{# 選択されたフォルダ} =0{フォルダが選択されていません}}", "noFolders": "フォルダが見つかりません", "selectFolder": "このフォルダを選択", "errors": { @@ -5545,8 +10860,16 @@ "createFolder": "フォルダを作成できませんでした" } }, + "destination": { + "loadFailed": "コピー先ライブラリを読み込めませんでした。閉じて再度開いて再試行してください。", + "noLibraries": "ブックライブラリがありません。ライブラリを作成するか、管理者にアクセスを依頼してください。", + "noFolders": "このライブラリには保存先フォルダーがありません。ライブラリ設定でフォルダーを追加してください。", + "unavailable": "選択したライブラリは使用できません。", + "selectFolder": "フォルダを選択..." + }, "upload": { "library": "ライブラリ", + "selectLibrary": "ライブラリを選択...", "targetFolder": "ターゲットフォルダ", "addMoreFiles": "さらにファイルを追加", "clearAll": "すべてクリア", @@ -5558,7 +10881,9 @@ "fileCount": "{count, plural, =0 {ファイルなし} one {# ファイル} other {# ファイル}}", "booksAdded": "{count, plural, =0 {本が追加されません} one {# 本が追加されました} other {# 本が}}", "uploadedFailed": "{done} がアップロードされました。 {failed} に失敗しました", + "progress": "{done} / {total} アップロード中...", "header": { + "uploading": "アップロード中...", "complete": "アップロード完了", "uploadTo": "{library} にアップロード", "uploadBooks": "本をアップロード" @@ -5569,6 +10894,85 @@ } } }, + "metadataReminders": { + "title": "フィールドのリマインダーがありません", + "navDescription": "表示したいメタデータフィールドを選択してください", + "personal": "あなたの設定", + "description": "ブックのリマインダーに表示される不足している項目を選択します。これらの設定はライブラリに適用され、メタデータの得点は変更されません。", + "sheetDescription": "この本を残さずに好きなフィールドを選んでください。", + "fieldsHeading": "チェックするフィールド", + "autoSave": "変更は自動的にアカウントに保存されます。", + "saving": "設定を保存しています...", + "saved": "設定を保存しました。", + "reset": "既定にリセット", + "disabled": "フィールドが選択されていません。フィールドリマインダーを非表示にします。", + "saveFailed": "設定を保存できませんでした。以前の設定が復元されました。", + "customize": "リマインダーをカスタマイズ...", + "missingHeading": "メタデータがありません", + "missingDescription": "追跡するために選択したフィールドがありません。", + "missingCount": "{count, plural, one {# missing field} other {# missing fields}}", + "missingFields": "{count, plural, one {ミッシングフィールド} other {ミッシングフィールド}}", + "fields": { + "publisher": { + "label": "発行者", + "hint": "出版社が満たされています。" + }, + "language": { + "label": "言語", + "hint": "言語が満たされています。" + }, + "publication": { + "label": "出版年", + "hint": "出版年または完全な日付で十分である。" + }, + "pageCount": { + "label": "ページ数", + "hint": "ページ数が入力されています。音声のみの本はスキップされます。" + }, + "isbn": { + "label": "ISBN", + "hint": "ISBN-10 または ISBN-13 のいずれかで十分です。" + }, + "genres": { + "label": "Genres", + "hint": "少なくとも一つのジャンルが満たされています。" + }, + "tags": { + "label": "タグ", + "hint": "少なくとも 1 つのタグが入力されています。" + }, + "description": { + "label": "説明", + "hint": "説明が記入されます。" + } + } + }, + "metadataCache": { + "badge": { + "cached": "キャッシュ済み", + "stale": "古い", + "cachedHint": "{when} から結果を保存しました", + "cachedHintUndated": "保存された結果", + "staleHint": "プロバイダが利用できなかったため、 {when} から保存された結果が使用されました", + "staleHintUndated": "プロバイダが利用できなかったため、保存された結果が使用されました" + }, + "notice": { + "someCached": "一部の結果は保存された検索(古い検索: {when} )から送信されました。", + "someCachedUndated": "保存された検索結果があります。", + "someStale": "いくつかのプロバイダが利用できなかったため、保存された結果が表示されました (古い: {when})。", + "someStaleUndated": "いくつかのプロバイダが利用できないため、保存された結果が表示されました。", + "searchFresh": "新しく検索", + "searchFreshHint": "保存された回答を使用する代わりに再度すべてのプロバイダに確認する" + }, + "fallback": { + "usedSaved": "{count,plural,one{{providers} が利用できなかったため、保存された結果が使用されました。} other{{providers} が存在しないため、保存された結果が使用されました。}}" + }, + "ignoreCache": { + "label": "キャッシュされた結果を無視", + "hint": "保存した回答を再利用する代わりに再度すべてのプロバイダに問い合わせてください。よりゆっくりと、各プロバイダのリクエスト手当をより多く使用します。", + "runHint": "ここで始めた実行に適用されます。すべてのプロバイダは保存された回答を再利用する代わりに再度尋ねられます。これは遅いです。" + } + }, "metadataScore": { "missingFields": "{count, plural, =0 {フィールドがありません - メタデータを編集} one {# フィールドがありません - メタデータを編集} other {# フィールドがありません - メタデータを編集}}" }, @@ -5667,12 +11071,14 @@ "backupPathHint": "設定された移行インポートディレクトリ内に絶対サーバーパスを入力します。", "cwaAppDatabasePath": "Calibre-Web Automated app.dbスナップショット", "cwaAppDatabasePathPlaceholder": "/imports/calibre-web-automated/app.db", + "cwaMetadataDatabasePath": "Calibre metadata.db のスナップショット", "cwaMetadataDatabasePathPlaceholder": "/imports/calibre-web-automated/metadata.db" }, "validation": { "nameRequired": "ソース名が必要です", "databaseFieldsRequired": "ホスト、ユーザー、データベース、およびソース名が必要です", "apiFieldsRequired": "オーディオブック棚 URL、API トークン、およびソース名が必要です", + "baseUrlInvalid": "オーディオブックシェルフの URL は、パスのない HTTP または HTTPS オリジンでなければなりません。", "backupPathRequired": "バックアップファイルのパスとソース名が必要です", "backupPathAbsolute": "バックアップファイルのパスは絶対パスでなければなりません", "cwaAppDatabasePathRequired": "Calibre-Web Automated app.dbスナップショットパスが必要です", @@ -5697,6 +11103,7 @@ }, "compatibility": { "title": "テストされた互換性", + "verifiedAgainst": "確認済み:", "note": "以降のバージョンは互換性がありますが、確認されていません。データをコミットする前に最初にドライランを実行してください。" }, "snapshot": { @@ -5718,6 +11125,8 @@ "addMapping": "マッピングを追加", "pathMappingsExplanation": "パスマッピングは、ソースファイルのパスをターゲットパスに変換し、ブックをファイルの場所にマッチさせることができます。 本は、パスマッピングに関係なく、ISBN、ファイルハッシュ、タイトル/著者によっても一致します。", "noPrefixesFound": "プレフィックスが見つかりません - ソースを最初に検証してください", + "selectSourcePrefix": "ソースプレフィックスを選択...", + "selectTargetFolder": "Select target folder...", "remove": "削除", "saveMappings": "マッピングを保存", "pathValidation": { @@ -5729,11 +11138,15 @@ }, "dryRun": { "run": "ドライランの実行", + "matched": "一致:", + "unresolved": "未解決:", + "duplicates": "重複:", "unresolvedSummary": "未解決の概要" }, "duplicates": { "title": "重複したターゲットの一致を解決", "explanation": "ターゲットブックごとに、保存するソースブックを1つ選択します。最強マッチがある場合は、推奨される選択肢が事前に選択されます。", + "remainingGroups": "残りのグループ:", "ofCount": "/ {total}", "targetBookId": "ターゲットブック #{id}", "recommended": "Recommended", @@ -5753,12 +11166,14 @@ "mappingsSaved": "マッピングを保存しました", "saveUserAndPathMappings": "ユーザーとパスのマッピングを保存", "pathMappingsValidated": "パスマッピングが検証されました", + "savePathMappingsToValidate": "パスマッピングを保存して検証します。", "dryRunUpToDate": "ドライランは最新です", "runFreshDryRun": "新鮮なドライランを実行する", "issues": { "saveSource": "ソース接続設定を保存", "validateSource": "ソース接続を検証する", "saveMappings": "ユーザーとパスのマッピングを保存", + "savePathMappings": "パスマッピングを保存して検証します。", "freshDryRun": "新鮮なドライランを実行する", "resolveDuplicates": "重複したターゲットブックの一致をドライランで解決する", "waitForRun": "アクティブな実行が終了するまで待つ" @@ -5770,6 +11185,7 @@ "startMigration": "移行を開始", "cancelRun": "実行をキャンセル", "refreshStatus": "状態を更新", + "pollingStopped": "エラーのためステータスのポーリングが停止しました", "retry": "再試行する", "stage": "ステージ: {stage}", "initializing": "初期化中", @@ -5812,6 +11228,7 @@ "unresolvedBooksExplanation": "これらの本はソースに存在しますが、ライブラリ内のどの本とも一致することができませんでした。", "mappedUsers": "マップされたユーザー ({count})", "mappedUsersExplanation": "ユーザー毎の合計は、マイグレーションプランでキャッシュされたドライランプレビューから生成されます。", + "coverFailures": "{count} カバーインポートに失敗しました。詳細な失敗行は保存されません。", "userPreviewCounts": "{statuses} ステータス、 {progress} 進捗エントリ、 {sessions} 読み込みセッション、 {bookmarks} ブックマーク、 {annotations} アノテーション、 {collections} コレクションエントリ" }, "unresolvedReason": { @@ -5857,7 +11274,9 @@ "loadSuggestionsFailed": "ユーザーのマッピング候補の読み込みに失敗しました", "sourceFieldsRequired": "ホスト、ユーザー、データベース、およびソース名が必要です", "connectionPassedWithWarnings": "接続テストは警告付きで合格しました", + "connectionPassedWithWarningCount": "接続テストに合格しました {count} 警告(s). まず: {warning}", "connectionPassed": "接続テストが完了しました", + "connectionMissingTables": "接続は大丈夫ですが、 {count} 必須テーブルがありません", "cannotTestMediaWhileRunning": "実行中はメディアパスをテストできません", "mediaPathRequired": "カバーインポートにはメディアのルートパスが必要です。", "mediaPathAbsolute": "絶対パスを使用します (例: /books)。", @@ -5866,6 +11285,7 @@ "mediaPathValidationFailed": "メディアパスの検証に失敗しました。", "connectionFailedBeforeMedia": "メディアパスの検証が完了する前に接続テストに失敗しました。", "cannotModifySourceWhileRunning": "実行中はソースを変更できません", + "sourceSavedWithWarnings": "保存され検証されたソース {count} 警告", "sourceSaved": "ソースを保存して検証しました", "saveSourceFailed": "ソースの保存または検証に失敗しました", "cannotSaveMappingsWhileRunning": "実行中はマッピングを保存できません", @@ -5905,9 +11325,13 @@ "clear": "クリア", "empty": "まだ通知はありません", "loadMore": "通知をもっと読み込む", + "dismiss": "通知を閉じる", + "occurrences": "{count} 回発生しました", + "occurrencesShort": "x{count}", "preferences": { "title": "通知", "subtitle": "受信したい通知カテゴリを選択してください。", + "saving": "保存中...", "unsavedChanges": "保存されていない変更", "saved": "通知設定を保存しました", "saveFailed": "設定の保存に失敗しました", @@ -5922,6 +11346,20 @@ "app": "アプリの更新" }, "enabledCount": "{enabled} / {total} 有効", + "levels": { + "off": { + "short": "オフ", + "description": "このことについて私に通知しないでください。" + }, + "problems": { + "short": "問題", + "description": "何かが失敗した場合や注意が必要な場合にのみ通知してください。" + }, + "all": { + "short": "すべて", + "description": "成功を含め、毎回通知します。" + } + }, "categories": { "scanning": { "label": "ライブラリのスキャン", @@ -5932,7 +11370,8 @@ "description": "ブックのメタデータ検索が完了または失敗した場合。" }, "authorEnrichment": { - "label": "投稿者エンリッチメント" + "label": "投稿者エンリッチメント", + "description": "著者の伝記や写真が取得され終了すると." }, "fileWriteBack": { "label": "ファイルの書き込み", @@ -5965,18 +11404,100 @@ "achievements": { "label": "実績", "description": "新しい読書成果のロックを解除するとき。" + }, + "bookRequests": { + "label": "ブックのリクエスト", + "description": "本の要求が提出されるとき、決定される、または本が利用できるようになる。" } } } }, "reader": { + "pageImages": { + "loadFailed": "このドキュメントを開けませんでした。アクセスを確認するか、もう一度やり直してください。", + "pageFailed": "このページを読み込めませんでした。サーバーが利用可能になった時に再試行してください。", + "pageAlt": "ページ {page}", + "previousPage": "前のページ", + "nextPage": "次のページ", + "goToPage": "ページに移動", + "pin": "リーダーメニューをピン留めする", + "unpin": "リーダーメニューのピン留めを解除" + }, + "djvu": { + "pageText": "埋め込みページのテキスト", + "textDescription": "DjVu ドキュメントに保存されているテキスト。OCR にはミスが含まれている場合があります。", + "noText": "このページには埋め込みテキストはありません。", + "textFailed": "このページの埋め込みテキストを読み込めませんでした。" + }, "retry": "再試行する", "pdf": { "openError": "このPDFを開くことができません", "preparing": "PDFリーダーを準備中", - "opening": "PDFを開く" + "opening": "PDFを開く", + "loading": "PDFを読み込み中", + "loadFallback": "ドキュメントを読み込めませんでした。", + "requestFailed": "PDFリクエストはステータス {status}で失敗しました。", + "emptyDocument": "PDF リクエストは空のドキュメントを返しました。", + "managerError": "PDFドキュメントマネージャを初期化できませんでした。", + "engineNoPages": "PDFエンジンは、このドキュメントをページなしで開きました。", + "engineOpenError": "PDFをドキュメントエンジンで開くことができませんでした。", + "noPages": "このPDFはページなしで開きました", + "noPagesHint": "不完全な PDF エンジン応答から復元するには、ドキュメントを再読み込みしてください。", + "externalLinkTitle": "外部リンクを開きますか?", + "externalLinkDescription": "このPDFは、新しいタブで {host} を開きたいと考えています。", + "openLink": "リンクを開く", + "annotationsLoadError": "このPDFのハイライトを読み込めませんでした。", + "loadingAnnotations": "PDFハイライトを読み込んでいます", + "loadMoreAnnotations": "さらにハイライトを読み込む", + "sidebar": { + "pages": "ページ", + "contents": "内容", + "search": "検索", + "tabsLabel": "PDF navigation", + "closeNavigation": "ナビゲーションを閉じる", + "goToPage": "{page} ページに移動", + "noOutline": "このPDFにはドキュメントのアウトラインがありません。", + "searchPlaceholder": "このPDFを検索", + "clearSearch": "検索をクリア", + "matchCase": "大文字と小文字を区別する", + "wholeWord": "単語全体", + "resultPosition": "{current} / {total}", + "previousResult": "前の結果", + "nextResult": "次の結果", + "searchingPage": "{page} ページの {total} を検索中", + "searchPrompt": "このPDFを検索する用語を入力してください。", + "searchTooShort": "このPDFを検索するには、少なくとも {min} 文字を入力してください。", + "noSearchResults": "クエリに一致する検索可能なテキストはありません。", + "page": "ページ {page}", + "filterOutline": "アウトラインをフィルター", + "noOutlineMatch": "フィルタに一致するアウトラインエントリはありません。", + "loadingOutline": "アウトラインを読み込み中", + "expandSection": "{title} を展開", + "collapseSection": "Collapse {title}", + "jumpToPage": "ページへジャンプ", + "resizePanel": "ナビゲーションパネルのサイズを変更" + }, + "toolbar": { + "navigation": "ドキュメントナビゲーション", + "previousPage": "前のページ", + "currentPage": "現在のページ", + "nextPage": "次のページ", + "zoomOut": "ズームアウト", + "zoomIn": "拡大", + "panTool": "パン ツール", + "pan": "パン", + "selectTool": "テキストツールを選択", + "selectText": "テキストを選択", + "pinHeader": "ピンリーダーヘッダー", + "unpinHeader": "リーダーのピン留めを解除", + "pinHeaderShort": "ヘッダーをピン留めする", + "unpinHeaderShort": "ヘッダーのピン留めを解除", + "moreTools": "その他のPDFツール", + "settings": "PDF設定" + } }, "failedToLoadBook": "本の読み込みに失敗しました", + "bookLoadTimeout": "本を開くのに時間がかかりすぎました。ページを更新してください。", "chapterNumber": "チャプター {number}", "peek": { "badge": "Peeking", @@ -5994,6 +11515,12 @@ "keyboardShortcutsHint": "キーボードショートカット (?)", "enterFullscreen": "全画面表示にする", "exitFullscreen": "全画面表示を終了", + "narrationPlaying": "ナレーション再生", + "ttsPlaying": "TTS再生", + "listenWithNarrationShort": "聞く (ナレーション)", + "listen": "Listen", + "listenWithNarration": "ナレーションで聞く", + "listenWithTts": "TTSで聞く", "footerMode": { "pageProgress": "フッター情報: page + progress", "sessionTimeLeft": "フッター情報:セッションの読み込み+残り時間", @@ -6028,7 +11555,18 @@ "fontBuiltIn": "ビルトイン", "fontServer": "サーバーフォント", "fontYours": "あなたのフォント", + "fontStyle": "スタイル", + "fontStyleItalicOf": "{style} Italic", "lineSpacing": "行間隔", + "paragraphSpacing": "段落間隔", + "paragraphSpacingDefault": "デフォルト", + "paragraphSpacingValue": "{value} em", + "letterSpacing": "文字間隔", + "wordSpacing": "単語間隔", + "textIndent": "最初の行のインデント", + "bookDefault": "本", + "custom": "カスタム", + "emValue": "{value} em", "pageWidth": "ページ幅", "pageWidthNarrow": "狭いです", "pageWidthMedium": "ミディアム", @@ -6057,6 +11595,7 @@ "gray": "グレー", "sepia": "Sepia", "crimson": "深紅色", + "meadow": "草原", "rosewood": "Rosewood", "azure": "Azure", "dawnlight": "Dawnlight", @@ -6074,6 +11613,7 @@ } }, "search": { + "placeholder": "本を検索 (分) {min} 数字...", "tooShort": "少なくとも {min} 文字を入力してください", "noResults": "結果が見つかりませんでした", "prompt": "検索するために入力", @@ -6094,8 +11634,11 @@ "close": "サイドバーを閉じる", "noChapters": "チャプターが見つかりません", "noBookmarks": "ブックマークはまだありません", + "noBookmarksMatch": "フィルタに一致するブックマークはありません。", "noHighlights": "ハイライトはまだありません", "noHighlightsMatch": "フィルタに一致するハイライトはありません", + "searchBookmarks": "ブックマークを検索...", + "searchHighlights": "ハイライトを検索...", "bookmarkFallback": "ブックマーク", "locationUnavailable": "位置情報が利用できません", "customColor": "カスタム ({color})", @@ -6104,6 +11647,7 @@ "notesOnly": "ノートのみ", "deleteBookmark": "ブックマークを削除", "deleteHighlight": "ハイライトを削除", + "approximatePosition": "デバイスから同期されました。正確な位置が利用できません。チャプターにジャンプします。", "sort": { "readingOrder": "注文を読み込み中", "newest": "最も新しい順", @@ -6117,7 +11661,15 @@ "translate": "翻訳する", "define": "定義", "deleteAnnotation": "注釈を削除", - "apply": "適用" + "apply": "適用", + "color": "ハイライト色: {color}", + "style": "Highlight style: {style}", + "styles": { + "highlight": "強調表示", + "underline": "アンダーライン", + "strikethrough": "取り消し線", + "squiggly": "Squiggly underline" + } }, "note": { "title": "メモを追加" @@ -6129,6 +11681,7 @@ "translation": { "original": "オリジナル", "translation": "翻訳", + "translating": "翻訳中...", "noTranslation": "翻訳はまだありません", "viaProvider": "{provider} 経由で", "copyTranslation": "翻訳をコピー" @@ -6157,6 +11710,9 @@ "scrollMode": "スクロール モード", "scrollModeHint": "ウェブトゥーンと垂直ストリップには「空白なし」を使用します。", "readingDirection": "読書方向", + "autoAdvance": "自動前進(自動前進)", + "autoAdvanceHint": "最後のページを過ぎると、シリーズの次の本が開きます。", + "autoAdvancePagedOnly": "自動前進はページングモードでのみ適用されます。", "pageView": "ページビュー", "twoPagePagedOnly": "2ページはページングモードでのみ表示されます。", "spreadSection": "2ページ展開", @@ -6202,10 +11758,19 @@ "black": "ブラック", "gray": "グレー", "white": "白" + }, + "nextIssue": { + "eyebrow": "次の連続データ", + "action": "次のを読む", + "open": "次を読む: {title}", + "numbered": "#{index} {title}", + "untitled": "無題のタイトル", + "autoAdvanceHint": "ページをもう一度回して続行します" } }, "audiobook": { "untitled": "無題のタイトル", + "loading": "オーディオブックを読み込んでいます...", "loadError": "オーディオブックの読み込みに失敗しました", "noAudioFiles": "この本の音声ファイルは見つかりませんでした。", "speed": "速度", @@ -6214,6 +11779,7 @@ "volume": "音量", "muted": "ミュート中", "sleep": "スリープ", + "chapterAbbrev": "Ch.", "sleepTimer": "スリープタイマー", "minutes": "{count, plural, one {# 分} other {# 分}}", "endOfChapter": "章の終わり", @@ -6227,6 +11793,23 @@ "playerSettings": "プレイヤーの設定", "skipBack": "スキップバック", "skipForward": "前にスキップ" + }, + "sheet": { + "expand": "パネルを展開する", + "collapse": "パネルを閉じる" + }, + "narration": { + "fallbackTitle": "ナレーション", + "meta": "音声ナレーション - {speed}x", + "openControls": "ナレーションコントロールを開く", + "previousSentence": "前の文章へ", + "nextSentence": "次の文章へ", + "play": "ナレーションを再生", + "pause": "ナレーションを一時停止", + "showControls": "コントロールを表示", + "hideControls": "コントロールを隠す", + "stop": "ナレーションを停止", + "error": "ナレーション再生エラー" } }, "scanner": { @@ -6241,6 +11824,12 @@ "label": "ライブラリ内", "ownedOfExpected": "ライブラリ内の{owned} の {expected}" }, + "gaps": { + "label": "考えられるギャップ:", + "missingCount": "{count, plural, one {#} other {# missing}}", + "missingList": "{list} がありません", + "previewMore": "{shown} +{count}" + }, "filters": { "title": "シリーズフィルタ", "clearAll": "すべてクリア", @@ -6269,7 +11858,10 @@ "bookCount": "書籍数", "recentAdditions": "最近の追加", "readingProgress": "読書の進捗状況" - } + }, + "clearSearch": "検索をクリア", + "noMatchHint": "別のライブラリを試すか、何が設定されているかを確認してください。", + "emptyHint": "シリーズはシリーズのメタデータを運ぶあなたの本が一度現れる。" }, "detail": { "pageTitle": "シリーズ", @@ -6279,15 +11871,19 @@ "bookCount": "{count, plural, =0 {本はありません} one {# 本} other {# 本}}", "byAuthors": "作成者: {authors}", "moreAuthors": "+{count} 以上", + "preparingEditor": "エディタを準備しています...", "editMetadata": "メタデータを編集", "firstInSeries": "連続第 1 回", "untitled": "無題のタイトル", + "loadingFirstBook": "最初のブックプレビューを読み込んでいます...", "showLess": "表示を減らす", "showMore": "詳細を表示", "moreGenres": "+{count} 以上", "synopsis": "あらすじ", "noDescription": "説明はありません。", + "updatingPreview": "プレビューを更新しています...", "noBooksToPreview": "プレビュー可能な本はありません。", + "loadingSeries": "シリーズを読み込み中...", "booksHeading": "本", "allLibraries": "すべてのライブラリ", "groupByMedia": "メディアでグループ化", @@ -6306,22 +11902,87 @@ "ascending": "昇順", "descending": "降順" } + }, + "authorsPlus": "{authors} +{count}", + "track": { + "readCount": "{count, plural, one {# read} other {# read}}", + "readingCount": "{count, plural, one {# 進行中です} other {# 進行中です}}", + "unreadCount": "{count, plural, one {# 未読} other {# 未読}}", + "missingCount": "{count, plural, one {#} other {# missing}}", + "slotMissing": "{number} はライブラリにありません", + "untitled": "無題のタイトル" + }, + "legend": { + "read": "既読にする", + "reading": "読書中", + "unread": "ライブラリ内", + "missing": "見つかりません" + }, + "status": { + "label": "読取り状態で系列をフィルター", + "all": "すべて", + "reading": "読書中", + "unread": "未読です", + "complete": "Complete", + "gaps": "ギャップ数", + "read": "既読にする", + "inProgress": "進行中", + "hasGaps": "ギャップあり", + "notStarted": "開始していません" + }, + "index": { + "columnSeries": "シリーズ", + "columnVolumes": "ボリューム", + "columnRead": "既読にする", + "columnNext": "次へ", + "columnAdded": "追加しました", + "percent": "{value}%", + "captionReading": "{base} · {count, plural, one {# 進行中} other {# 進行中}}", + "finished": "端から端まで読み込みます", + "reading": "読書中", + "next": "次へ", + "start": "開始" + }, + "grouping": { + "label": "グループ化", + "none": "グループ化しない", + "letter": "文字順", + "library": "ライブラリ順", + "status": "ステータス順" + }, + "libraries": { + "more": "+{count}" + }, + "card": { + "oneVolume": "1巻", + "oneVolumeShort": "1 vl", + "volumeCount": "{count, plural, one {# ボリューム} other {# ボリューム}}", + "readSummary": "{base} · {read} read", + "publishedOf": "{owned} / {total} 公開済み", + "complete": "Complete", + "moreVolumes": "{count, plural, one {# より多くのボリューム} other {# より多くのボリューム}}", + "label": "{name}, {read} / {total} ボリュームの読み取り" } }, "smartScope": { "syncToKobo": "工房に同期", "syncToKoboHint": "このスコープに一致する本が弘法デバイスに表示されます", "visibleToAll": "すべてのユーザーに表示", + "visibleToAllHint": "すべてのユーザーがこのスマートスコープを見ることができます。", "dialog": { "name": "名前", "namePlaceholder": "例: Unread Sci-Fi", "icon": "アイコン", + "iconPlaceholder": "アイコンを選択...", "nameRequired": "名前が必要です", "iconRequired": "アイコンを選択", - "create": "作成" + "create": "作成", + "creating": "作成中...", + "saving": "保存中..." }, "createDialog": { "title": "新しいスマートスコープ", + "podcastTitle": "新規スマートプレイリスト", "createFailed": "スマートスコープの作成に失敗しました" }, "saveAsDialog": { @@ -6332,11 +11993,13 @@ "editorPanel": { "untitled": "無題のSmartScope", "subtitle": "スマートスコープの設定を構成する", + "counting": "数えてる...", "bookCount": "{count, plural, =0 {本はありません} one {1冊の本} other {# 本}}", "identity": "Identity", "filters": "フィルタ", "noFilters": "フィルタが設定されていません。アクセス可能なブックはすべてこのスマートスコープに含まれます。", "buildFromScratch": "ゼロからビルド", + "replaceWithTemplate": "テンプレートに置き換え:", "defaultSort": "デフォルトの並べ替え", "saveChanges": "変更を保存", "saveFailed": "保存に失敗しました", @@ -6347,6 +12010,14 @@ "noGenres": "ジャンルがありません", "epubOnly": "EPUBのみ" } + }, + "errors": { + "load": "スマートスコープの読み込みに失敗しました", + "loadEpisodes": "このスマートプレイリストのエピソードの読み込みに失敗しました", + "save": "スマートスコープの保存に失敗しました", + "delete": "スマートスコープの削除に失敗しました", + "reorder": "スマートスコープの並べ替えに失敗しました", + "koboSync": "このスマートスコープの Kobo 同期の更新に失敗しました" } }, "statistics": { @@ -6430,6 +12101,9 @@ "metadataCompleteness": { "title": "メタデータの完全性" }, + "metadataFreshness": { + "title": "メタデータの鮮度" + }, "metadataScoreDistribution": { "title": "メタデータスコアの分布" }, @@ -6512,13 +12186,19 @@ "week": "{week} 週", "dragHint": "セッションを移動するにはバーをドラッグします。時間はロックされ、重複するセッションは拒否されます。", "noSessionsTitle": "今週のセッションはありません", + "noSessionsDescription": "「前へ」または「次へ」、もしくは週セレクターを使用して別の週を表示します。", "overlapError": "セッションはこのウィンドウで別のセッションと重複します", "moveError": "セッションの移動に失敗しました" }, + "sessionArchetypes": { + "title": "セッションの原型:" + }, "sourceDistribution": { "title": "読んだ場所", "emptyTitle": "読み取りアクティビティはまだありません", - "emptyDescription": "ソース分割を見るには、ウェブ、KOReader、またはKoboを読んでください。" + "emptyDescription": "ソース分割を見るには、ウェブ、KOReader、またはKoboを読んでください。", + "emptyDescriptionWithAppleClients": "Web、iOSアプリ、Apple Watch、KOReader、Kobo を読んで、ソース分割を確認してください。", + "emptyDescriptionWithNativeClients": "ソース分割を見るには、Web、iOSアプリ、Androidアプリ、Apple Watch、KOReader、Koboをご覧ください。" } } }, @@ -6526,7 +12206,8 @@ "header": { "entityManager": "エンティティマネージャー", "bulkRename": "一括名前の変更", - "duplicateBooks": "本を複製" + "duplicateBooks": "本を複製", + "missingResources": "不足しているリソース" }, "entityTypes": { "authors": "著者", @@ -6539,13 +12220,25 @@ }, "bulkRename": { "library": "ライブラリ", + "selectLibraryPlaceholder": "ライブラリを選択...", "noEligibleLibraries": "ファイル名が有効になっているライブラリがありません。ライブラリ設定で有効にしてください。", "refresh": "更新", "previewFailed": "プレビューの読み込みに失敗しました", "executionFailed": "一括名称変更に失敗しました", "openBookDetails": "本の詳細を開く", + "openBook": "本を開く", + "toRenameCount": "{count,plural,one{# 名前を変更する} other{# 名前を変更する} =0{名前を変更するものはありません}}", + "applyCount": "{count, plural, one {#リネームを} other {リネームを # リネームする}}", + "search": { + "placeholder": "本またはパスを見つける", + "label": "本を探す", + "clear": "検索をクリア" + }, "filter": { - "all": "すべて" + "all": "すべて", + "changes": "変更", + "conflicts": "競合", + "unchanged": "変更なし" }, "status": { "willRename": "名前を変更する", @@ -6554,14 +12247,105 @@ "noPattern": "パターンなし", "error": "エラー" }, + "group": { + "collision": "送信先の競合", + "unchanged": "既に修正されています", + "noPattern": "名前のパターンがありません", + "error": "エラー", + "includeAll": "全ての {kind} の名前を含める", + "expand": "{kind} を展開", + "collapse": "Collapse {kind}", + "heldBack": "これらの名前は変更できません" + }, + "changeKind": { + "ungroup": "系列グループを削除しました", + "flatten": "重複フォルダレベルを削除しました", + "yearRemoved": "公開年が削除されました", + "yearAdded": "公開年を追加", + "yearCorrected": "公開年を修正しました", + "authorSpelling": "著者名のスペリング", + "capitalisation": "大文字化と間隔", + "unsafeCharacters": "安全でない文字を置き換えました", + "filenameRebuilt": "メタデータからファイル名を再構築しました", + "folderRenamed": "フォルダの名前を変更しました", + "rebuilt": "フォルダとファイル名を再構築しました", + "restructured": "パスを再構築しました", + "multiple": "複数の変更" + }, + "select": { + "ofSelected": "選択された {total}", + "toggleAll": "名前の変更をすべて選択またはクリア", + "toggleGroup": "{kind} の名前を変更するごとに選択または消去します", + "toggleBook": "名前の変更 {title}" + }, + "review": { + "loadMore": "さらに読み込む", + "queue": "保留中の名前の変更", + "position": "{index} / {total}", + "previous": "前の本", + "next": "次の本", + "keyboardHint": "うごき", + "keyboardSkip": "スキップ", + "skip": "スキップ", + "include": "Include", + "excluded": "除外", + "back": "リストに戻る" + }, + "detail": { + "whatChanges": "変更するもの", + "foldedFolders": "{count, plural, one {# 変更フォルダ} other {# 変更されていないフォルダ}}", + "onDisk": "ディスク上", + "today": "今日", + "afterRename": "名前の変更後", + "showLibraryFolders": "ライブラリフォルダを表示", + "hideLibraryFolders": "ライブラリフォルダを隠す", + "currentPath": "現在のパス", + "whyItMoves": "動く理由", + "levelTop": "トップフォルダ", + "levelFolder": "フォルダ {depth}", + "levelFilename": "ファイル名", + "levelRemoved": "削除しました", + "tokenCount": "{count, plural, one {# token} other {# token}}", + "optionalLevel": "パターン内のグループによって生成される任意のフォルダレベル。", + "removedExplainer": "命名パターンにはフォルダがありませんので、 {folder} がドロップされ、その内容が上に移動します。", + "conflictTitle": "別のファイルはすでにこの宛先を主張しています。", + "conflictBody": "名前の変更はそれを上書きするので、この本は競合が解決されるまで保留されます。", + "siblings": "{count, plural, one {# more with the same change} other {# more with the same change}}", + "siblingsMore": "+{count} 以上" + }, "empty": { "title": "開始するライブラリを選択", "description": "上記のライブラリを選択すると、変更の名前をプレビューし、ステータスごとにフィルタを適用し、一括変更を実行できます。", - "chooseLibrary": "ライブラリを選択" + "chooseLibrary": "ライブラリを選択", + "noneTitle": "レビューするものがありません", + "noneDescription": "現在のフィルタに一致するブックがありません。検索をクリアするか、すべてに切り替えてください。", + "noMatch": "検索に一致する本はありません。" }, "confirmDialog": { "title": "{count, plural, other {ディスク上の # 個のファイルの名前を変更しますか?}}", - "body": "{library} 内の実際のファイルを移動します。BookOrbit は各移動を記録しますが、元に戻すには再度名前を変更する必要があります。" + "body": "{library} 内の実際のファイルを移動します。BookOrbit は各移動を記録しますが、元に戻すには再度名前を変更する必要があります。", + "willRename": "名前を変更します", + "skippedByYou": "あなたにスキップされました", + "heldBack": "競合として保留されます", + "untouched": "左にそのままにする", + "confirm": "{count, plural, one {リネーム#ファイル} other {リネーム#ファイル}}", + "cannotRename": "名前を変更できません" + }, + "run": { + "preparingHint": "移動する前に、すべてのファイルを命名パターンに対してチェックします。", + "title": "{done} / {total} の名前を変更中", + "runningHint": "ファイル名が変更されています。現在のファイルが終了すると停止できます。", + "stop": "このファイルの後に停止", + "resultTitle": "{done,plural,one{名前を変更 # / {total} ファイル} other{名前を変更 # / {total} ファイル}}", + "resultFailed": "{count, plural, one {# failed} other {# failed}}", + "resultSkipped": "{count, plural, one {# skipped} other {# skiped}}", + "dismiss": "却下する" + }, + "executionError": { + "http": "サーバーはリクエストを拒否しました (HTTP {status})。", + "noBody": "サーバーはレスポンスボディを送信しませんでした。", + "incomplete": "名前変更が完了する前に接続が終了しました。一部のファイルは名前を変更されていない可能性があります。", + "unknown": "名前の変更を完了できませんでした。" } }, "bookDuplicates": { @@ -6589,6 +12373,7 @@ "unknownAuthor": "不明な作成者", "unknown": "不明", "none": "なし", + "accessDenied": "重複したブックツールを使用する権限がありません.", "pairDetails": "一致する詳細", "pairLabel": "{first} と {second}", "fields": { @@ -6596,7 +12381,16 @@ "isbn": "ISBN", "formats": "書式", "collections": "コレクション", - "added": "追加しました" + "added": "追加しました", + "size": "サイズ", + "metadata": "メタデータ", + "reading": "読書中", + "folder": "フォルダ", + "noIsbn": "未設定", + "notStarted": "開始していません", + "outOfHundred": "/100", + "percentRead": "{percent} の読み取り", + "fileCount": "{count, plural, one {# ファイル} other {# ファイル}}" }, "initial": { "title": "重複した本を探す", @@ -6616,11 +12410,101 @@ "status": "スキャンの進行状況を読み込めませんでした。", "scan": "重複したスキャンに失敗しました。もう一度実行してみてください。", "results": "重複グループを読み込めませんでした。", - "delete": "選択した重複した本を削除できませんでした。" + "delete": "選択した重複した本を削除できませんでした。", + "dismiss": "そのグループを削除できませんでした。", + "restore": "そのペアを復元できませんでした。" }, "pagination": { "label": "グループページを複製", "page": "ページ {page} / {total}" + }, + "similarityOption": "{percent} 以上", + "scannedBooks": "{count} 書籍・ {when} チェック", + "scanProgress": "{processed} / {total} 本", + "recommended": "Recommended", + "keeping": "維持", + "willDelete": "削除", + "keepCopy": "{name} を維持", + "selectGroup": "{title} を選択", + "selectAll": "このページのすべてのグループを選択", + "compareCopies": "{title} のコピーを比較する", + "compareCaption": "{count} コピーのフィールド比較", + "fieldColumn": "フィールド", + "filesEach": "{count, plural, one {# ファイル} other {# ファイル each}}", + "moreFilesCount": "{count, plural, one {他 # ファイル} other {以上 # ファイル}}", + "identicalAcross": "{count, plural, one {両方のコピーに同じです:} other {すべての # コピーに同じです:}}", + "deleteGroup": "{count, plural, one {# 個のコピーを削除、無料 {size}} other {# 個のコピーを削除、無料 {size}}}", + "confidence": { + "file_hash": "同じ", + "isbn": "同じ ISBN", + "exact_metadata": "完全一致", + "fuzzy_metadata": "似ています", + "withSimilarity": "{label} {percent}" + }, + "summary": { + "groups": "{count, plural, one {グループ} other {グループ}}", + "extraCopies": "{count, plural, one {extra copy} other {extra copy}}", + "reclaimable": "回収可能" + }, + "columns": { + "match": "一致", + "book": "本", + "copies": "コピー", + "libraries": "ライブラリ", + "frees": "無料", + "keeping": "維持" + }, + "keepRule": { + "label": "保持する", + "metadata": "最高のメタデータ", + "size": "最大のファイル", + "formats": "ほとんどの形式", + "oldest": "最も古いコピー", + "newest": "最新のコピー", + "hint": "すべてのグループのキーパーを選択します。任意の行を上書きできます。" + }, + "sort": { + "label": "並べ替え", + "reclaimable": "ほとんどのスペースが解放されました", + "copies": "ほとんどのコピー", + "confidence": "最強の一致", + "title": "タイトル A から Z" + }, + "keeper": { + "yourChoice": "あなたの選択", + "reading": "あなたは... {percent} それを通して...", + "collection": "{name} にあります", + "metadata": "メタデータ {score}", + "largest": "最大: {size}", + "formats": "{count} 形式", + "isbn": "ISBNがあります", + "added": "{date} を追加しました", + "riskReading": "現在のコピーを削除します {percent} を介して", + "riskCollection": "でコピーを削除します {name}" + }, + "selection": { + "summary": "選択された {groups} グループ, {copies} コピーで {size} が解放されます", + "clear": "クリア", + "review": "{count, plural, one {レビュー # copy} other {レビュー # copy}}", + "hint": "信頼するグループにチェックを入れるか、コピーを比較するために開きます。" + }, + "keys": { + "move": "うごき", + "expand": "展開", + "keep": "保持する", + "select": "select" + }, + "review": { + "title": "{count, plural, one {# copy} other {Delete # copy}}", + "description": "{groups} グループを横断して、 {size}を解放します。確認するまで何も削除されません。", + "riskWarning": "{count, plural, one {# グループはあなたの読書データを持つコピーを削除します。} other {# グループはあなたの読書データを持つコピーを削除します。}}", + "footer": "{size} を解放する" + }, + "dismissed": { + "show": "{count, plural, one {#個の解雇されたペアを表示} other {#個の解雇されたペアを表示}}", + "hide": "却下されたペアを非表示", + "restore": "このペアを復元", + "restored": "ペアが復元されました。次のスキャンで再度一致することができます。" } }, "entityManager": { @@ -6637,15 +12521,20 @@ }, "actions": { "rename": "名前の変更", - "split": "分割" + "split": "分割", + "merge": "結合" }, "duplicates": { + "similarity": "類似:", "scan": "スキャン", + "scanning": "スキャン中...", + "computing": "候補を計算しています...", "computedAt": "候補者は {date}を計算しました", "recompute": "再計算する", "noneComputed": "まだ計算された候補はありません。", "computeNow": "今すぐ計算する", "emptyTitle": "重複したエンティティを検索", + "emptyDescription": "類似度のしきい値を調整し、「スキャン」をクリックして重複の可能性がある項目を検出します。", "noneFoundTitle": "重複が見つかりません", "noneFoundDescription": "現在の設定で潜在的な重複は検出されませんでした。", "clustersFound": "{count, plural, =0 {クラスターが} one {# cluster found} other {# clusters found}}", @@ -6653,9 +12542,23 @@ "percentSimilar": "{percent}%が同様です", "pairDetails": "ペアの詳細", "dismissEntityTitle": "このエンティティのすべてのペアを閉じる", - "dismissPairTitle": "このペアを閉じる" + "dismissPairTitle": "このペアを閉じる", + "groupsLabel": "重複する可能性のあるグループ", + "keepThisOne": "これを保持する", + "mergeAway": "統合する", + "notAMatch": "一致しません", + "notAMatchTitle": "このグループ内のすべてのペアを閉じる", + "selectPromptTitle": "レビューするグループを選択してください", + "selectPromptDescription": "リストからグループを選択して、エンティティを並べて比較します。", + "backToList": "グループに戻る", + "noBookTitles": "このレコードにリンクされている本はありません", + "thresholdLabel": "最小の類似度", + "thresholdValue": "{percent}%+", + "willBeMerged": "{count,plural,one{# エンティティがマージされ削除されます} other{# エンティティはマージされ削除されます}}", + "chooseTargetHint": "保持するエンティティを選択します。グループ内の他のすべてがマージされます。" }, "dismissed": { + "loading": "削除されたペアを読み込んでいます...", "empty": "却下されたペアがありません", "restore": "復元", "restoreTitle": "このペアを復元", @@ -6663,6 +12566,7 @@ "showPairs": "却下されたペアを表示" }, "browse": { + "searchPlaceholder": "検索...", "emptyOnly": "空のみです", "clear": "クリア", "noEntities": "エンティティが見つかりません", @@ -6675,7 +12579,44 @@ "nameDesc": "名前 Z-A", "fewestBooks": "本数が少ない順", "mostBooks": "ほとんどの本" - } + }, + "sortByLabel": "並び替え", + "entityTypeLabel": "エンティティタイプ", + "resultCount": "{count, plural, =0 {エンティティはありません} one {# エンティティ} other {# entities}}", + "selectedCount": "{count, plural, one {# selected} other {# selected}}", + "columns": { + "name": "名前", + "sortName": "ソート名", + "books": "本", + "status": "ステータス", + "actions": "アクション" + }, + "selectAllOnPage": "このページのすべてのエンティティを選択", + "selectEntity": "{name} を選択", + "actionsFor": "{name} のアクション", + "status": { + "noBooks": "本はありません" + }, + "filters": { + "all": "すべて", + "noBooks": "本はありません" + }, + "density": { + "label": "行の高さ", + "comfortable": "快適さ", + "compact": "コンパクト化" + }, + "rowsPerPage": "ページあたりの行数", + "range": "{from}-{to} の {total} を表示", + "pagination": "改ページ", + "previousPage": "前のページ", + "nextPage": "次のページ", + "goToPage": "{page} ページに移動", + "morePages": "その他のページ", + "noEntitiesDescription": "まだこのエンティティタイプに追加されていません。", + "noMatchesTitle": "一致するものはありません", + "noMatchesDescription": "検索とフィルターに一致するエンティティはありません。", + "clearFilters": "フィルターをクリア" }, "deleteMode": { "label": "削除モード", @@ -6699,16 +12640,100 @@ "title": "エンティティを分割", "splitting": "分割中", "newNames": "新しい名前(最小2)", + "namePlaceholder": "名前を入力...", "addAnother": "別のものを追加" }, "bulkDeleteModal": { "title": "一括削除", + "confirm": "{count,plural,one{削除してもよろしいですか? # 選択されたエンティティ?} other{削除してもよろしいですか? # 選択したエンティティ?} =0{削除してもよろしいですか? # 選択されたエンティティ?}}", "deleteButton": "{count} を削除" }, "mergeModal": { "title": "エンティティを結合", "description": "保持するエンティティを選択します。その他のエンティティがマージされ、削除されます。" } + }, + "missingResources": { + "title": "不足しているリソース", + "accessDenied": "不足しているリソースをクリーンアップする権限がありません。", + "categoriesLabel": "クリーンアップカテゴリ", + "untitled": "無題のタイトル", + "clearSelection": "選択をクリア", + "cleanSelected": "選択した {count} を消去する", + "selectAllMatching": "すべての {count} に一致する項目を選択", + "allSelected": "すべての {count} 一致する項目が選択されています。", + "sweep": { + "title": "カバーチェック", + "description": "ディスク上のファイルに対してカバーを主張するすべての本をチェックし、削除されたブックによって残されたカバーフォルダを探します。 チェック中は何も削除されません。", + "run": "チェックを実行", + "running": "確認中", + "progress": "{processed} の書籍の {total} をチェックしました", + "lastRun": "最終確認 {at}", + "truncated": "最初の結果のみが表示されます. これらをきれいに, その後、残りの部分を参照するには、再度チェックを実行します." + }, + "categories": { + "missing_books": "欠けている本", + "broken_covers": "壊れたカバー", + "orphaned_cover_dirs": "孤立したカバーフォルダ" + }, + "found": { + "missing_books": "{count, plural, =0 {ファイルがない本はありません} one {ファイルがない本が1冊あります} other {ファイルがない本が1冊あります}}", + "broken_covers": "{count, plural, =0 {壊れたカバーの参照} one {壊れたカバーの参照} other {# 壊れたカバーの参照}}", + "orphaned_cover_dirs": "{count, plural, =0 {孤立したカバーフォルダはありません} one {孤立したカバーフォルダ} other {# 孤立したカバーフォルダ}}" + }, + "empty": { + "missing_books": "欠けている本はありません", + "broken_covers": "壊れたカバーの参照はありません", + "orphaned_cover_dirs": "孤立したカバーフォルダはありません", + "description": "このカテゴリーのすべてが説明されています。" + }, + "needsSweep": { + "title": "最初にカバーチェックを実行する", + "description": "カバー結果はディスクチェックから来ています。破損した参照と孤立したフォルダを表示するには、それを実行してください。" + }, + "coverSource": { + "extracted": "抽出済み", + "custom": "カスタム" + }, + "brokenSlot": { + "ebookExtracted": "ブックカバー、抽出されました", + "ebookCustom": "ブックカバー、カスタム", + "audioExtracted": "オーディオブックカバー、抽出された", + "audioCustom": "オーディオブックカバー、カスタム" + }, + "table": { + "selectPage": "このページのすべてを選択", + "coverFolder": "ブック #{bookId} のカバーフォルダ", + "fileCount": "{count, plural, one {# ファイル} other {# ファイル}}", + "orphanMedia": { + "ebook": "本のカバー", + "audio": "オーディオブックカバー", + "both": "本とオーディオブックのカバー" + } + }, + "confirm": { + "title": "不足しているリソースを消去しますか?", + "action": "クリーンアップ", + "missing_books": "{count, plural, one {ファイルがない本の 1 冊のデータベースレコードを削除します。 本、そのメタデータ、読書の進捗、およびカバーは削除されます。元に戻すことはできません。} other {ファイルが消えた # 冊のデータベースレコードを削除します。 本、彼らのメタデータ、読書の進行状況、カバーは削除されます。これは元に戻すことはできません。}}", + "broken_covers": "{count, plural, one {1 冊の本のカバー参照をクリアするので、カバーがないと表示されます。メタデータはそれ以外の場合は変更されません。} other {# 本のカバー参照を消去するのでカバーがないと表示されます。メタデータは変更されません。}}", + "orphaned_cover_dirs": "{count, plural, one {ディスクから1つのカバーフォルダを削除します。そのブックはデータベースに存在しません。元に戻すことはできません。} other {ディスクからフォルダを削除します。彼らのブックはデータベースにありません。元に戻すことはできません。}}" + }, + "cleaned": { + "missing_books": "{count, plural, =0 {クリーンアップするものはありません} one {欠けている本を 1 冊削除しました} other {欠けている本を # 削除しました}}", + "broken_covers": "{count,plural,one{壊れたカバーの参照を消去しました} other{消去しました # 壊れたカバー参照} =0{クリーンアップするものがありません}}", + "orphaned_cover_dirs": "{count, plural, =0 {クリーンアップするものはありません} one {孤立したカバーフォルダを1つ削除しました} other {孤立したカバーフォルダ}}" + }, + "pagination": { + "label": "リソースページがありません", + "page": "ページ {page} / {total}" + }, + "errors": { + "summary": "不足しているリソースサマリをロードできませんでした。", + "sweepStart": "カバーチェックを開始できませんでした。", + "sweep": "カバーチェックに失敗しました。", + "list": "これらのエントリを読み込めませんでした。", + "clean": "クリーンアップに失敗しました。" + } } }, "views": { @@ -6725,6 +12750,9 @@ "sort": "並べ替え", "sortOn": "オン", "resetSort": "並べ替えをデフォルトにリセット", + "shuffle": "シャッフル", + "shuffleAria": "本の順番をシャッフル", + "shuffleHint": "新しいランダムな順序を描く", "filters": "フィルタ", "clear": "クリア", "clearAllFilters": "すべてのフィルターをクリア", @@ -6735,6 +12763,7 @@ "exportMetadata": "メタデータをエクスポート", "showControlsAria": "ライブラリコントロールを表示", "export": "エクスポート", + "searchPlaceholder": "タイトル、著者、シリーズ、ナレーターを検索...", "allBooksLoaded": "すべての {count} 本が読み込まれました" }, "notFound": { @@ -6749,6 +12778,7 @@ "night": "おやすみなさい", "morning": "おはようございます", "afternoon": "こんにちは", + "evening": "こんばんは。", "fallbackName": "あそこだ" } }, @@ -6782,6 +12812,8 @@ "retrying": "{count, plural, =0 {1つのファイルを再試行中} one {1つのファイルを再試行中} other {#ファイルを再試行中}}" }, "applyFetched": { + "applied": "{count,plural,one{1つのファイルに適用されました} other{適用先 # ファイル} =0{ファイルがありません}}", + "skippedEdited": "{count,plural,one{手動で編集したため、1つのファイルをスキップしました} other{スキップされました # ファイルは手動で編集されています} =0{手動で編集するため1つのファイルをスキップしました}}", "skippedNoMetadata": "{count, plural, =0 {フェッチされたメタデータがないため、1つのファイルをスキップしました} one {フェッチされたメタデータがないので、1つのファイルをスキップしました} other {フェッチされたメタデータがないのでスキップしました}}", "noneApplied": "ファイルが適用されていません。 {reasons}", "noneSelected": "ファイルが選択されていません" @@ -6819,13 +12851,16 @@ "saveFilterTooltip": "このライブラリのフィルタを保存", "removeSavedFilter": "保存されたフィルターを削除", "empty": { + "noFilterMatch": "フィルターに一致する本はありません。", "noFilterMatchHint": "より多くの本を見るためにフィルターを調整またはクリアしてみてください。", "clearFilters": "フィルターをクリア", + "scanning": "ライブラリをスキャンしています...", "scanningHint": "彼らが発見されたときに本がここに現れます。", "emptyLibrary": "ライブラリが空です", "emptyLibraryHint": "このライブラリに本を追加すると、ここに表示されます。" }, "querySelection": { + "loadedSelected": "{selected} / {total} 読み込まれた本を選択しました", "selectAllMatching": "すべての {total} に一致する本を選択" } }, @@ -6857,13 +12892,44 @@ "noRules": "ルールが設定されていません", "noRulesHint": "このスマートスコープに表示されるブックをフィルタや並べ替えルールを使用して定義するには、エディタを開きます。", "configure": "SmartScopeの設定", + "noMatch": "このスマートスコープに一致する本はありません。", "noMatchHint": "フィルタのルールを調整してみてください。", "edit": "SmartScopeを編集" } + }, + "podcastScope": { + "title": "スマートプレイリスト", + "entity": "スマートプレイリスト", + "loadFailed": "このプレイリストのエピソードを読み込めませんでした。", + "loadMoreFailed": "これ以上のエピソードを読み込めませんでした。", + "retry": "再試行する", + "editRules": "ルールを編集", + "saveFailed": "プレイリストルールを保存できませんでした。", + "deleteFailed": "このプレイリストを削除できませんでした。", + "empty": { + "title": "一致するエピソードはありません", + "hint": "より多くのエピソードに合わせてルールを調整します。" + } + }, + "podcastCollection": { + "title": "ポッドキャストコレクション", + "entity": "ポッドキャストコレクション", + "loadFailed": "このコレクションにショーをロードできませんでした。", + "remove": "削除", + "removeAria": "このコレクションから {name} を削除", + "removed": "{name} を削除しました", + "removeFailed": "その番組を削除できませんでした。", + "empty": { + "title": "まだ番組はありません", + "hint": "Podcast ライブラリからこのコレクションに番組を追加します。" + }, + "loadMoreFailed": "これ以上ショーをロードできませんでした。", + "retry": "再試行する" } }, "whatsNew": { "title": "新着情報", + "subtitle": "最新のものが最初に出荷されました", "versionPrefix": "バージョン {version}", "newUpdates": "{count, plural, =0 {新しいアップデート} one {新しいアップデート} other {# new updates}}", "remindLater": "後で通知", @@ -6889,9 +12955,824 @@ "previousImage": "前の画像", "nextImage": "次の画像" }, + "podcast": { + "actions": { + "add": "追加", + "cancel": "キャンセル", + "save": "保存", + "play": "再生", + "pause": "一時停止", + "playEpisode": "エピソードを再生", + "listen": "Listen", + "remove": "削除", + "episodeActions": "エピソードアクション", + "removeFromQueue": "キューから削除", + "addToQueue": "キューに追加", + "playNext": "次に再生", + "retryDownload": "ダウンロードを再試行", + "download": "ダウンロード", + "removeDownload": "ダウンロードを削除", + "markUnplayed": "再生されていないマーク", + "markPlayed": "再生済みのマーク", + "follow": "フォロー", + "unfollow": "フォローを解除", + "followPodcast": "ポッドキャストをフォローする", + "unfollowPodcast": "ポッドキャストフォロー解除", + "resume": "再開", + "playLatest": "最新の曲を再生", + "moveToTop": "先頭に移動", + "playFromHere": "ここからプレイ", + "moveDown": "下に移動", + "clearQueue": "キューをクリア", + "clearAll": "すべてクリア", + "search": "検索", + "clearPlayed": "再生済みをクリア", + "downloadSelected": "選択したものをダウンロード", + "removeSelectedDownloads": "選択したダウンロードを削除", + "markSelectedPlayed": "選択済みにする", + "removeSelectedFromQueue": "キューから選択されたものを削除", + "selectEpisode": "{title} を選択", + "playNamedEpisode": "{title} をプレイ", + "listenToEpisode": "{title} を聴く", + "resumeEpisode": "{title} を再開", + "playLatestEpisode": "最新のエピソード {title}を再生", + "episodeDetails": "エピソードの詳細", + "episodeDetailsNamed": "{title} のエピソードの詳細", + "editEpisodeMetadata": "メタデータを編集", + "openFullPlayer": "フルプレーヤーを開く", + "reorderEpisode": "{title} を再注文", + "playAll": "すべて再生", + "resumeNamed": "{title} を再開", + "queueAll": "すべてのキュー", + "markAllPlayed": "すべて再生済みにする", + "latestCount": "最新の {count}", + "downloadLatest": "最新版をダウンロード", + "removeAllDownloads": "すべてのダウンロードを削除", + "pin": "ピン留めする", + "unpin": "Unpin", + "pinEpisode": "エピソードをピン留めする", + "unpinEpisode": "エピソードのピン留めを解除" + }, + "status": { + "nowPlaying": "再生中", + "paused": "一時停止", + "downloaded": "ダウンロード済み", + "downloadQueued": "ダウンロードキューに入っています", + "downloading": "ダウンロード中", + "downloadFailed": "ダウンロードに失敗しました", + "unavailable": "Unavailable", + "played": "プレイ済み", + "following": "フォロー中", + "playbackProgress": "再生の進捗状況", + "downloadProgress": "ダウンロードの進捗状況", + "removedFromFeed": "もうフィードにありません", + "inQueue": "キュー内", + "feedFailing": "フィードに失敗しました", + "archived": "アーカイブ済み", + "localShow": "ローカル", + "localShowDescription": "このショーにはフィードがありません。エピソードはフォルダ内のファイルです。", + "missing": "見つかりません", + "missingDescription": "このショーのフォルダはディスク上にありません。 フォルダが戻ってきた場合に備え、番組を削除して永久に削除します。" + }, + "selection": { + "select": "選択", + "selectAll": "すべて選択", + "count": "{count} が選択されました", + "toggleShow": "{title} を選択" + }, + "bulkDelete": { + "title": "選択した番組を削除", + "action": "削除", + "confirmPhrase": "削除", + "description": "{count} ショーと、あなたのリスニング履歴を含むBookOrbitが知っているすべてのショーを完全に削除します。これは元に戻すことはできません。", + "descriptionWithFiles": "{count} を完全に削除すると、BookOrbitが知っているすべての情報が表示され、ダウンロードしたファイルの {size} が表示されます。あなた自身のフォルダには触れられることはありません。元に戻すことはできません。", + "queued": "{count} 番組を削除中", + "queuedWithFailures": "{count} 番組の削除、 {failed} を開始できませんでした", + "errors": { + "prepare": "これらのショーを削除することができませんでした", + "delete": "選択した番組を削除できませんでした" + } + }, + "views": { + "queue": "キュー" + }, + "labels": { + "episodeCount": "{count} エピソード", + "unknownPublisher": "不明な出版者", + "durationHoursMinutes": "{hours}h {minutes}m", + "durationMinutes": "{minutes}m", + "durationSeconds": "{seconds}秒", + "durationUnavailable": "利用できない期間", + "unknownDate": "不明な日付", + "seasonEpisode": "S{season} E{episode}", + "season": "秒{season}", + "episode": "E{episode}", + "episodeTypeTrailer": "予告編", + "episodeTypeBonus": "ボーナス", + "pinnedHint": "ピン留めされたエピソードは、ストレージ保持の削除から保護されます。", + "explicit": "明示的な", + "lastListened": "リッスン済み {time}", + "timeLeft": "{time} 左", + "remainingClock": "-{time}", + "pinnedEpisode": "ピン留めされたエピソード", + "newEpisodeCount": "{count} 新規", + "unplayedShort": "{count} は再生されていません" + }, + "acquisition": { + "title": "自動ダウンロード", + "never": "一切なし", + "newEpisodes": "新しいエピソード", + "recentEpisodes": "最近のエピソード", + "maximumNewest": "最新の最大エピソード", + "publishedWithinDays": "公開日時 (日)", + "remoteDescription": "エピソードをデフォルトでストリーミングします。オフラインリスニング用に個々のエピソードをダウンロードすることもできます。", + "newestDescription": "すでに保存またはキューされていない最新のエピソードの選択した数を自動的にダウンロードします。このルールを保存すると、フィード内で既にエピソードがチェックされます。", + "windowDescription": "この期間に公開された既存および新たに発見されたエピソードをダウンロードします。公開日時のないエピソードはスキップされます。 このルールを変更すると、古いダウンロードは削除されませんが、スペースが必要な場合、固定されていないダウンロードを保存することができます。" + }, + "cleanup": { + "title": "リッスン後に削除", + "keep": "ダウンロードを維持", + "afterFinished": "終了後に削除", + "delayHours": "最後のリスナーが終了した後にこの時間を削除する", + "keepDescription": "ダウンロードされたエピソードは、ストレージの保存にスペースが必要になるまでディスクに留まります。", + "afterFinishedDescription": "開始したすべてのリスナーがそれを終了し、遅延が経過したら、ダウンロードしたエピソードを削除します。 再生されていないマーク、ピン留め、またはそのウィンドウの間にキューに戻すと、削除がキャンセルされます。" + }, + "player": { + "miniPlayer": "ポッドキャストミニプレイヤー", + "openFullPlayer": "フルプレーヤーを開く", + "expandMiniPlayer": "ミニプレーヤーを展開", + "collapseMiniPlayer": "コンパクトなプレイヤーに折りたたむ", + "stopAndClose": "プレイヤーを停止して閉じる", + "sleepActive": "スリープタイマー有効: {value}", + "previousEpisode": "前回のエピソード", + "nextEpisode": "次のエピソード", + "backSeconds": "戻る {count} 秒", + "forwardSeconds": "{count} 秒を転送", + "episodePosition": "エピソードの位置", + "toggleTimeDisplay": "残り時間と合計時間を切り替える", + "positionValue": "{elapsed} が {duration} 経過しました", + "playingAnnouncement": "{title} を {podcast} から再生中", + "pausedAnnouncement": "{title} から {podcast} を一時停止しました", + "volume": "音量", + "positionValueWithChapter": "{elapsed} が {duration}章、 {chapter}を経過しました" + }, + "bookmarks": { + "title": "ブックマーク", + "empty": "ブックマークなし", + "closeForm": "ブックマークフォームを閉じる", + "saveAt": "{time} に保存", + "titlePlaceholder": "ブックマークのタイトル", + "notePlaceholder": "任意のメモ", + "save": "ブックマークを保存", + "edit": "ブックマークを編集", + "delete": "ブックマークを削除", + "titleLabel": "ブックマークのタイトル", + "noteLabel": "ブックマークノート", + "editTitleLabel": "ブックマークのタイトルを編集", + "editNoteLabel": "ブックマークメモを編集", + "defaultTitle": "{time} でブックマーク" + }, + "library": { + "episodes": "エピソード", + "shows": "表示", + "latest": "最新", + "inProgress": "進行中", + "unplayed": "未プレイ", + "finished": "完了", + "health": "健康", + "search": "ポッドキャストを検索", + "clearSearch": "ポッドキャスト検索をクリア", + "import": "インポート", + "importOpml": "OPMLをインポート", + "importDescription": "OPMLサブスクリプションリストをインポート", + "addFeed": "フィードを追加", + "settings": "ポッドキャスト設定", + "views": "ポッドキャストビュー", + "loading": "ポッドキャストを読み込み中...", + "noMatchingShows": "一致する番組がありません", + "ready": "ポッドキャストライブラリの準備ができました", + "tryDifferentSearch": "別のタイトルや出版社を試してみてください。", + "readyDescription": "RSSフィードを追加するか、OPMLファイルをインポートしてリスニングライブラリの構築を開始します。", + "loadMoreShows": "さらに番組を読み込む", + "upNext": "次へ", + "emptyQueue": "キューが空です", + "emptyQueueDescription": "簡単に手の届く範囲内であなたの次の聞くことを保つためにショーからエピソードを追加しなさい。", + "loadMore": "さらに読み込む", + "lastSuccess": "最終成功", + "failureCount": "{count} 失敗: {error}", + "unknownError": "不明なエラー", + "healthy": "健康的", + "noFeeds": "監視するフィードがありません", + "noFeedsDescription": "ここにポッドキャストのリフレッシュステータスを表示するにはポッドキャストフィードを追加してください。", + "noMatchingEpisodes": "一致するエピソードはありません", + "noEpisodesLatest": "エピソードはまだありません", + "noEpisodesDownloaded": "ダウンロードしたエピソードはありません", + "noEpisodesInProgress": "進行中のエピソードはありません", + "noEpisodesUnplayed": "未再生のエピソードはありません", + "noEpisodesFinished": "完了したエピソードはありません", + "noEpisodesPinned": "ピン留めされたエピソードはありません", + "pinned": "ピン留めしました", + "continueListening": "リッスンを続ける", + "viewAllContinue": "すべて表示", + "noEpisodesDescription": "番組の新しいエピソードがここに表示されます。", + "loadMoreEpisodes": "さらにエピソードを読み込む", + "addPodcastFeed": "ポッドキャストフィードを追加", + "rssUrl": "RSS フィードURL", + "preview": "プレビュー", + "addPodcast": "ポッドキャストを追加", + "storage": "ポッドキャストストレージ", + "currentlyUsing": "現在 {size} を使用しています", + "libraryQuotaGb": "ライブラリクォータ (GB)", + "freeSpaceReserveGb": "空きスペースリザーブ(GB)", + "defaultRefreshMinutes": "デフォルトの更新 (分)", + "finishRemainingSeconds": "残りの秒数で終了", + "exportOpml": "OPMLをエクスポート", + "exportDescription": "このライブラリをOPMLサブスクリプションリストとしてエクスポート", + "importOpmlDescription": "すべてのフィードに適用するOPMLファイルとダウンロードポリシーを選択します。", + "opmlFile": "OPML ファイル", + "chooseOpmlFile": "ファイルを選択", + "noOpmlFileChosen": "ファイルが選択されていません", + "importPolicyHint": "これはインポートされたすべてのフィードに適用されます。後でショーごとに変更できます。", + "searchShows": "検索ショーを表示", + "searchEpisodes": "エピソードを検索", + "searchHealth": "フィードの健康状態を検索", + "manageFeeds": "フィードの管理", + "feedHealth": "フィードの健康", + "feedsNeedAttention": "フィードに注意が必要です", + "episodeFilters": "エピソードフィルター", + "previewing": "プレビュー中...", + "addingPodcast": "追加中...", + "openShow": "{title} を開く", + "retryFeed": "{title} を更新", + "reparseFeed": "保存されたフィードの再構築: {title}", + "confirmClearQueue": "キューに入ったエピソードをすべて削除しますか?", + "importProgress": "進行状況をインポート", + "jobsQueued": "{count} がキューに追加されました", + "jobsProcessing": "{count} 処理中", + "jobsFailed": "{count} に失敗しました", + "retryUnhealthy": "不健康なフィードを再試行する", + "followedOnly": "フォローのみ", + "queueDuration": "合計 {duration}", + "confirmClearPlayed": "キューから再生されたエピソードをすべて削除しますか?", + "searchQueue": "キューを検索", + "noMatchingQueueEpisodes": "キューに一致するエピソードはありません", + "showAllEpisodes": "すべてのエピソードを表示", + "browseShows": "番組を見る", + "browseEpisodes": "エピソードを見る", + "allLoaded": "すべての {total} が読み込まれました", + "addFeedDescription": "Podcast ディレクトリを検索するか、RSS フィードの URL を貼り付け、番組をプレビューして、エピソードの取得方法を選択します。", + "searchDirectory": "Podcast ディレクトリを検索します", + "searchDirectoryPlaceholder": "表示またはパブリッシャー名", + "searchDirectoryEmpty": "検索対象のディレクトリには表示されていません。", + "searchDirectoryHint": "プレビュー結果を選択するか、以下にフィード URL を貼り付けます。", + "inLibrary": "ライブラリ内", + "openExistingShow": "{title}を既にライブラリに開きます", + "pasteFeedUrl": "またはフィード URL を貼り付けます", + "selectAllLoaded": "ロードされたすべてのエピソードを選択", + "reorderLoadedHint": "これまでにロードされたエピソードに並べ替えが適用されます。", + "retryUnhealthyLoaded": "失敗したフィードの読み込みを再試行する", + "manageFeedsUnhealthy": "フィードの管理:失敗したフィードに注意が必要です", + "localImportTitle": "フォルダからポッドキャストをインポートしています", + "localImportDoneTitle": "インポートが完了しました", + "localImportProgress": "{processed} / {total} ファイル", + "localImportDone": "{processed} ファイルがインポートされました", + "importingTitle": "ポッドキャストをインポート中", + "importingHint": "ファイルが読み込まれたときに表示されます。" + }, + "import": { + "title": "ローカルファイルをインポート", + "description": "このライブラリのフォルダにすでにあるオーディオを、あなたがフォローしているフィードからのエピソードと一致させます。", + "placementHint": "最初にこのライブラリのフォルダにファイルを入れます。BookOrbitは、コピー、名前変更、移動などの何もない場所を採用します。", + "scan": "ファイルをスキャン", + "running": "スキャン中...", + "progress": "{current} / {total} ファイルがスキャンされました", + "apply": "一致したファイルをインポート", + "applyWithChoices": "一致したファイルと選択肢をインポート", + "applied": "{count} ファイルを採用。", + "quota": "{adopt} を採用するには、クォータの {headroom} が無料です", + "truncated": "いくつかのリストが短縮されています。上記のカウントは完了です。", + "chooseEpisode": "エピソードを選択", + "leaveUnresolved": "後で退出する", + "noDate": "日付なし", + "fileCount": "{count} ファイル", + "subscribe": "購読する", + "subscribed": "購読中", + "suggestedFeedsHint": "これらのフォルダはまだフォローしていないフィードに名前を付けます。購読してから、もう一度スキャンしてファイルと一致します。", + "rescanHint": "サブスクライブしたフォルダ内のファイルと一致するように再度スキャンします。", + "duplicateDiffers": "このエピソードには別のファイルが既に添付されています", + "duplicateSame": "このエピソードは既にこのファイルを持っています", + "unreadableFolders": "{count} フォルダを読み込めませんでした。", + "groups": { + "matched": "一致しました", + "ambiguous": "決定が必要", + "unmatched": "一致するものはありません", + "duplicates": "既に添付されています", + "skipped": "スキップ", + "suggestedFeeds": "購読するフィード", + "unclaimedFolders": "フィードのないフォルダ" + }, + "signals": { + "episode_guid": "ファイルのタグのエピソード ID", + "episode_id_suffix": "ファイル名の BookOrbit ID", + "enclosure_file_name": "ファイル名がフィードに一致します。", + "title_and_date": "タイトルと日付", + "title_and_duration": "タイトルと長さ", + "manual": "あなたの選択" + }, + "scopes": { + "request": "選択したものを表示", + "folder_suffix": "フォルダ名を表示", + "feed_url_tag": "ファイルのタグにフィードアドレス", + "feed_sidecar": "フォルダに保存されたフィード", + "title_similarity": "類似の番組タイトル", + "library": "ショーが特定されていません" + }, + "reasons": { + "show_unresolved": "このファイルではショーが識別できませんでした。", + "no_episode_candidate": "ショーはマッチしましたが、エピソードはありません", + "single_fuzzy_signal": "1つのエピソードに1つの信号しか指されていません", + "multiple_candidates": "いくつかのエピソードが均等に適合します", + "empty_file": "ファイルが空です", + "unsupported_format": "サポートされていないオーディオ ファイルです", + "symlink": "シンボリックリンクはインポートされていません", + "unreadable": "ファイルを読み込めませんでした", + "outside_library_root": "ファイルがライブラリフォルダ外で解決されます", + "attach_conflict": "スキャン中にエピソードがファイルを取得しました", + "quota_exceeded": "これらのファイルのインポートは、このライブラリのストレージ容量を超えています。クォータを上げるか、ファイルを少なくしてください。" + }, + "sources": { + "feed_sidecar": "フィードファイルを保存しました", + "metadata_json": "メタデータ.json", + "feed_url_tag": "ファイルタグ" + }, + "errors": { + "status": "インポートステータスの読み込みに失敗しました", + "start": "インポートの開始に失敗しました", + "subscribe": "このフィードの購読に失敗しました", + "createLocalShow": "このフォルダからローカルショーを作成できませんでした" + }, + "messages": { + "subscribed": "ポッドキャストが追加されました。ファイルに一致するように再度スキャンしてください。", + "localShowCreated": "ローカルショーが作成されました。そのエピソードはインポートされています。", + "localShowUpdated": "このフォルダ内の新しいファイルをインポートします。" + }, + "createLocalShow": "ローカルショーを作成", + "addLocalEpisodes": "新しいエピソードを追加", + "localShowCreated": "作成済み", + "unclaimedFoldersHint": "これらのフォルダはフィード名なしです。ローカルのショーに変換すると、その中のすべてのオーディオファイルがエピソードになります。", + "localRescanHint": "もう一度スキャンして、インポートしたフォルダに変更されたものを選択します。" + }, + "messages": { + "podcastAdded": "ポッドキャストを追加しました", + "feedsQueued": "{count} ポッドキャストフィード", + "settingsSaved": "ポッドキャスト設定を保存しました", + "downloadQueued": "エピソードのダウンロードがキューに追加されました", + "downloadRemoved": "エピソードのダウンロードが削除されました", + "refreshQueued": "ポッドキャストの更新がキューに追加されました", + "reparseQueued": "ポッドキャストの再解析がキューに追加されました", + "mergeQueued": "ポッドキャストマージがキューに追加されました", + "showDeleted": "{title} が削除されました", + "queueCleared": "ポッドキャストキューをクリアしました", + "playerClosed": "プレイヤーが閉じました", + "feedsRefreshQueued": "{count} フィードのキュー更新中", + "finishedQueueCleared": "再生されたエピソードがキューから削除されました", + "bulkQueueActionCompleted": "{count} 選択したエピソードを更新しました", + "bulkQueueActionFailed": "{completed} エピソードを更新しました。 {failed} に失敗しました", + "bulkQueued": "キューに入れられた {completed} エピソード; {skipped} はすでにキューに入れられているか、キューの上限を超えていました", + "bulkMarkedPlayed": "{count} のエピソードが再生されました", + "bulkDownloadsQueued": "{count} エピソードのダウンロード待ち", + "bulkDownloadsRemoved": "{count} エピソードのダウンロードを削除しました", + "bulkDownloadsRemovedWithFailures": "{completed} のダウンロードを削除しました。 {failed} 失敗", + "queueRestored": "{count} エピソードをキューに復元しました", + "playlistSaved": "プレイリストを保存しました", + "playlistDeleted": "プレイリストを削除しました", + "playlistQueued": "{completed} エピソードをキューに入れました。 {skipped} をスキップしました", + "playlistQueueEmpty": "このプレイリストに一致するエピソードはありません", + "detailsSaved": "保存された詳細を表示", + "episodeDetailsSaved": "エピソードの詳細を保存しました", + "artworkUpdated": "アートワークが更新されました", + "artworkRemoved": "カスタムアートワークが削除されました", + "localFileDeleted": "エピソードファイルが削除されました", + "opmlOmittedLocalShows": "エクスポートから {count} ローカルショーを残しました:OPMLはフィードのみを記述できます。" + }, + "fullPlayer": { + "queueNowPlaying": "再生中 #{position} · {count} 残り", + "queuedCount": "{count} がキューに追加されました", + "mediaUnavailable": "メディアが利用できません", + "streaming": "ストリーミング", + "backToPodcast": "ポッドキャストに戻る", + "loading": "エピソードを読み込んでいます...", + "tryAgain": "もう一度やり直してください", + "nowListening": "聴いています", + "retry": "再試行する", + "restart": "再起動", + "durationUnavailable": "利用できない期間", + "previousQueued": "前回キューに入れられたエピソード", + "nextQueued": "次のキューに入ったエピソード", + "startingPlayback": "再生を開始", + "speed": "速度", + "playbackSpeed": "再生速度", + "sleep": "スリープ", + "off": "オフ", + "endOfChapter": "章の終わり", + "endOfEpisode": "エピソードの終わり", + "minutesLeft": "{count}残り分", + "aboutEpisode": "このエピソードについて", + "showLess": "表示を減らす", + "showMore": "詳細を表示", + "chapters": "章", + "previousChapter": "前の章", + "nextChapter": "次の章", + "removeNamedFromQueue": "{title} をキューから削除", + "queueClear": "キューがクリアされました。", + "transcripts": "トランスクリプト", + "transcript": "トランスクリプト", + "sleepMinutes": "{count} 分", + "speedValue": "{rate}x", + "cyclePlaybackSpeed": "再生速度のサイクル", + "choosePlaybackSpeed": "再生速度を選択", + "moreSpeeds": "もっと見る", + "showSpeedOverride": "この速度はこのショーのために記憶されています。", + "clearSpeedOverride": "この番組のデフォルトの速度を使用する", + "extendSleepLabel": "スリープタイマーに {count} 分を追加する", + "sleepTimer": "スリープタイマー", + "sleepRemaining": "{count}m", + "fineTuneSpeed": "微調整", + "decreaseSpeed": "再生速度を減らす", + "increaseSpeed": "再生速度を上げる", + "extendSleep": "{count} 分追加", + "bookmarkTooltip": "ブックマーク: {title}", + "openQueue": "キューを開く", + "openChapterLink": "{title} のチャプターリンクを開く" + }, + "show": { + "loading": "ポッドキャストを読み込んでいます...", + "noAlerts": "アラートはありません", + "immediate": "即時", + "dailyDigest": "デイリーダイジェスト", + "weeklyDigest": "Weekly digest", + "refreshFeed": "フィードを更新", + "refreshInterval": "間隔を分単位で更新", + "restore": "復元", + "archive": "アーカイブ", + "deletePermanently": "完全に削除", + "mergeSource": "別の Podcast ID をこの番組にマージします", + "queueMerge": "キューのマージ", + "confirmMerge": "このポッドキャストにポッドキャスト {id} をマージしますか?ソースポッドキャストは完全に削除されます。", + "confirmDelete": "{title}、 {episodes} エピソード、およびすべてのリスニング状態を完全に削除しますか? これは元に戻すことはできません。", + "confirmDeleteWithDownloads": "{title}, その {episodes} エピソード, {files} ダウンロードしたファイル ({size}) とすべてのリスニング状態を完全に削除しますか? この操作は元に戻すことはできません。", + "back": "戻る", + "notificationMode": "通知頻度", + "readMore": "もっと読む", + "searchEpisodes": "このショーのエピソードを検索", + "clearEpisodeSearch": "エピソード検索をクリア", + "episodeFilter": "エピソードフィルタ", + "episodeSort": "エピソードの並べ替え順", + "newestFirst": "最も新しい順", + "oldestFirst": "古い順", + "noEpisodes": "一致するエピソードはありません", + "noEpisodesDescription": "別の検索、フィルター、並び替えを試してみてください。", + "dangerZone": "危険ゾーン", + "dangerZoneActions": "フィードをアーカイブ、削除、マージします。削除は元に戻すことはできません。", + "mergeTitle": "Merge duplicate show", + "mergeDescription": "マージするソースショーを見つけます。ソースは永久に削除されます。", + "searchMergeSource": "重複した番組を検索", + "mergeSelected": "“{title}” をこの番組にマージする", + "fromDate": "差出人:", + "toDate": "終了日", + "feedFailingTitle": "フィードに注意が必要です", + "feedFailingDetail": "{count} 連続更新に失敗しました。最終更新: {lastSuccess}", + "archivedTitle": "このショーはアーカイブされています", + "archivedDescription": "アーカイブされたショーは更新を停止し、新しいエピソードをダウンロードしません。", + "downloadLatestCount": "ダウンロードする最新のエピソードの数", + "confirmRemoveAllDownloads": "このショーのためにダウンロードされたすべてのエピソードを削除しますか?ストリーミングされたエピソードとリスニングの進行状況は保持されます。", + "refreshCompleted": "更新、 {count} 新しいエピソード", + "refreshFailed": "更新に失敗: {error}", + "manageTitle": "ショーを管理する", + "manageActionsDescription": "アーカイブ、削除、マージは個別に処理されるため、ルーチンの設定は変更しても安全です。", + "openManageActions": "アーカイブ、削除、マージ", + "archiveOrDelete": "アーカイブは可逆的で、すべてのエピソードを保持します。削除すると、ショー、エピソード、およびダウンロードされたファイルが永久に削除されます。", + "deleteRequiresOwner": "このショーをアーカイブして更新を停止します。Podcast を削除する権限を持つライブラリ所有者だけが、それを完全に削除できます。", + "settingsDescription": "エピソードの取得方法とフィードのチェック頻度を選択します。", + "updatedAgo": "{time} を更新しました", + "checksEvery": "{time} ごとにチェック", + "visitWebsite": "ウェブサイトを開く", + "backToLibrary": "{library} に戻る", + "categoryOverflow": "+{count}", + "moreCategories": "{count} より多くのカテゴリを表示", + "allCategories": "すべてのカテゴリ", + "serial": "シリアル番号", + "daysShort": "{count} d", + "hoursShort": "{count} 時間", + "minutesShort": "{count} 分", + "moreActions": "アクションをもっと表示", + "dates": "日付", + "anyDate": "任意の", + "dateRange": "{from} - {to}", + "dateFilter": "エピソードの公開日時", + "clearDates": "日付をクリア", + "seasonHeader": "シーズン {season}", + "localSettingsHint": "このショーにはフィードがないため、更新またはダウンロードの設定はありません。" + }, + "edit": { + "title": "詳細を編集", + "description": "ここで変更したものはすべてロックされているため、次のフィードの更新はそれを上書きできません。", + "titleLabel": "タイトルを表示", + "authorLabel": "発行者", + "authorPlaceholder": "誰がこの番組を公開します", + "descriptionLabel": "説明", + "descriptionPlaceholder": "このショーの内容について", + "descriptionHint": "フィードからの書式は、ここで入力したプレーンテキストに置き換えられます。", + "siteUrlLabel": "ウェブサイト", + "siteUrlPlaceholder": "https://example.com/show", + "languageLabel": "言語", + "languagePlaceholder": "ja-JP", + "categoriesLabel": "カテゴリ", + "categoriesPlaceholder": "カテゴリを追加し、Enter キーを押します", + "removeCategory": "カテゴリ {category}を削除", + "categoryLimit": "{count} カテゴリに追加できます。", + "explicitLabel": "明示的な", + "explicitHint": "明示的なコンテンツを含むものとしてマークします。", + "artworkTitle": "アート", + "artworkHint": "PNG、JPEG、WebP、GIF、または AVIF まで 10 MB カスタムアートワークは、どこでもフィード画像を置き換えます。", + "artworkUrlLabel": "画像アドレス", + "artworkUrlPlaceholder": "https://example.com/artwork.png", + "chooseImage": "画像を選択", + "useImage": "この画像を使用", + "removeCustomArtwork": "カスタムアートワークを削除", + "lockField": "フィードの更新から {field} をロック", + "unlockField": "フィードが更新できるように {field} をロック解除してください", + "willLockField": "{field} は保存時にロックされます", + "willLockHint": "このフィールドは保存時にロックされます。", + "localDescription": "このショーにはフィードがないため、編集内容は永続的で上書きできません。" + }, + "episodeEdit": { + "title": "エピソードを編集", + "description": "ここで変更したものはすべてロックされているため、次のフィードの更新はそれを上書きできません。", + "lockHint": "編集された項目はフィードの更新から保護されています。", + "titleLabel": "エピソードのタイトル", + "subtitleLabel": "サブタイトル", + "subtitlePlaceholder": "タイトルの下の短い行", + "descriptionLabel": "説明", + "descriptionPlaceholder": "このエピソードがカバーするもの", + "descriptionHint": "フィードからの書式は、ここで入力したプレーンテキストに置き換えられます。", + "publishedAtLabel": "公開済み", + "seasonLabel": "シーズン", + "seasonPlaceholder": "2", + "episodeLabel": "エピソード番号", + "episodePlaceholder": "14", + "episodeTypeLabel": "エピソードの種類", + "episodeTypeNone": "未設定", + "episodeTypeFull": "全エピソード", + "episodeTypeTrailer": "予告編", + "episodeTypeBonus": "ボーナス", + "episodeTypeFromFeed": "{value} (フィードから)", + "durationLabel": "期間", + "durationPlaceholder": "分", + "durationHint": "分単位。時間を削除するには空のままにしてください。", + "durationInvalid": "0 より大きい分単位で持続時間を入力します。", + "explicitLabel": "明示的な", + "explicitHint": "このエピソードを明示的な内容としてマークします。", + "localHint": "このエピソードはフィードではなくファイルから来ているため、編集内容は永続的で上書きできません。" + }, + "errors": { + "createBookmark": "ブックマーク作成に失敗しました", + "updateBookmark": "ブックマークの更新に失敗しました", + "deleteBookmark": "ブックマークの削除に失敗しました", + "feedPreview": "フィードのプレビューに失敗しました", + "directorySearch": "ディレクトリ検索は現在利用できません。代わりにフィードURLを貼り付けてください。", + "invalidEpisodeLimit": "有効な最大エピソード数を入力してください", + "invalidEpisodeWindow": "有効な最近のエピソードウィンドウを入力してください", + "invalidCleanupDelay": "クリーンアップの遅延は0から8,760時間でなければなりません", + "addPodcast": "ポッドキャストの追加に失敗しました", + "opmlTooLarge": "OPML ファイルは 5 MB を超えることはできません", + "opmlImport": "OPML インポートに失敗しました", + "opmlExport": "OPML エクスポートに失敗しました", + "loadSettings": "Podcast 設定の読み込みに失敗しました", + "invalidStorage": "ストレージの値は非負数でなければなりません", + "invalidRefresh": "デフォルトの更新は5分から10,080分でなければなりません", + "invalidCompletion": "完了しきい値は0から3,600秒でなければなりません", + "saveSettings": "ポッドキャスト設定の保存に失敗しました", + "markPlayed": "エピソード再生のマークに失敗しました", + "restartEpisode": "エピソードの再起動に失敗しました", + "queueDownload": "エピソードのダウンロード待ちに失敗しました", + "removeDownload": "エピソードのダウンロードを削除できませんでした", + "addToQueue": "キューにエピソードを追加できませんでした", + "removeFromQueue": "キューからエピソードを削除できませんでした", + "loadPodcast": "ポッドキャストの読み込みに失敗しました", + "loadEpisodes": "ポッドキャストエピソードの読み込みに失敗しました", + "queueNext": "次のエピソードのキューに失敗しました", + "follow": "ポッドキャストをフォローできませんでした", + "unfollow": "ポッドキャストのフォロー解除に失敗しました", + "updateEpisode": "エピソードの更新に失敗しました", + "refresh": "ポッドキャストの更新をキューに入れませんでした", + "reparse": "ポッドキャストの再解析キューに失敗しました", + "reparseNoSnapshot": "BookOrbitにはまだこのフィードの保存されているコピーがありません。最初に更新してください。", + "updatePodcast": "ポッドキャストの更新に失敗しました", + "archive": "Podcast のアーカイブに失敗しました", + "prepareDelete": "ショーを削除する準備に失敗しました", + "deleteShow": "ショーの削除に失敗しました", + "restore": "ポッドキャストの復元に失敗しました", + "merge": "ポッドキャストマージのキューに失敗しました", + "libraryAccess": "ライブラリアクセスの読み込みに失敗しました", + "reorderQueue": "ポッドキャストキューの順序変更に失敗しました", + "clearQueue": "ポッドキャストキューのクリアに失敗しました", + "podcastNotFound": "ポッドキャストが見つかりません", + "loadPodcasts": "ポッドキャストの読み込みに失敗しました", + "loadQueue": "Podcast キューの読み込みに失敗しました", + "loadHealth": "フィードの健康状態の読み込みに失敗しました", + "loadPlaybackSettings": "Podcast の再生設定の読み込みに失敗しました", + "invalidPlaybackRate": "再生速度は0.5から3まででなければなりません", + "invalidSkipBackward": "後方スキップは 5 〜 120 秒でなければなりません", + "invalidSkipForward": "スキップするには5秒から120秒でなければなりません", + "invalidDateRange": "開始日は終了日より前でなければなりません", + "episodeNotFound": "ポッドキャストエピソードが見つかりません", + "loadEpisode": "ポッドキャストエピソードの読み込みに失敗しました", + "refreshPlaybackContext": "再生コンテキストの更新に失敗しました", + "streamUnavailable": "このポッドキャストのエピソードを読み込むことができません", + "bulkAction": "ポッドキャストエピソードの更新に失敗しました", + "invalidVolume": "音量は 0 から 100% にする必要があります", + "restoreQueue": "ポッドキャストキューの復元に失敗しました", + "loadPlaylists": "プレイリストの読み込みに失敗しました", + "savePlaylist": "プレイリストの保存に失敗しました", + "deletePlaylist": "プレイリストの削除に失敗しました", + "queuePlaylist": "プレイリストのキューに失敗しました", + "playlistNameRequired": "保存する前にプレイリストに名前を付けてください", + "playlistLimitReached": "保存されたプレイリストの上限に達しました", + "playlistDurationRange": "最も短い期間は最長でなければなりません", + "updatePinned": "ピン留めされた状態を更新できませんでした", + "titleRequired": "タイトルを空にすることはできません", + "episodeTitleRequired": "エピソードのタイトルは空にできません", + "updateArtwork": "アートワークの更新に失敗しました", + "removeArtwork": "カスタムアートワークの削除に失敗しました" + }, + "settingsPage": { + "title": "ポッドキャスト設定", + "subtitle": "各ポッドキャストライブラリの再生のデフォルトとストレージの動作を管理します。", + "loading": "Podcast の設定を読み込んでいます...", + "saving": "保存中...", + "playbackTitle": "再生のデフォルト", + "playbackDescription": "これらの設定は、デバイス間のアカウントに従います。個々の番組で記憶される再生速度は維持されます。", + "defaultPlaybackRate": "デフォルトの再生速度", + "skipBackwardSeconds": "後方にスキップ(秒)", + "skipForwardSeconds": "スキップ(秒)", + "playbackSaved": "Podcast 再生設定を保存しました", + "playbackSaveFailed": "Podcast の再生設定の保存に失敗しました", + "libraryTitle": "ライブラリの既定値とストレージ", + "libraryDescription": "Podcast ライブラリを選択して、ストレージの制限とデフォルトの更新動作を表示します。", + "library": "ポッドキャストライブラリ", + "noLibraries": "ポッドキャストライブラリへのアクセスがまだありません。", + "loadingLibrary": "ライブラリ設定を読み込み中...", + "readOnlyLibrary": "ポッドキャストの保持権限を持つライブラリ所有者のみがこれらの設定を変更できます。", + "showSettingsHint": "自動ダウンロードルールと更新のオーバーライドは各ショーの設定に残ります。", + "defaultVolume": "デフォルトの音量", + "gigabytesUnit": "GB" + }, + "queueReorder": { + "lifted": "{title} は {position} の {total} で解除されました", + "moved": "{title} が {position} の {total} に移動しました", + "dropped": "{title} が {position} の位置 {total} にドロップしました", + "cancelled": "並べ替え {title} がキャンセルされました" + }, + "sort": { + "label": "並べ替え", + "showLabel": "ショーの並べ替え", + "episodeLabel": "エピソードを並べ替える", + "showTitle": "タイトル A から Z", + "showRecent": "最近更新", + "showUnplayed": "再生されていない順", + "shortest": "最も短い順", + "longest": "最長先", + "recentlyListened": "最近聴いた曲" + }, + "announce": { + "queued": "{title} がキューに追加されました", + "queuedNext": "{title} は次に再生されます", + "unqueued": "{title} がキューから削除されました", + "downloadReady": "{title} のダウンロードが完了しました", + "downloadFailed": "{title} のダウンロードに失敗しました", + "evictedSpace": "{title} のダウンロードが空きストレージに削除されました", + "evictedPlayed": "{title} のダウンロードは聴いた後に削除されました", + "sleepExpired": "スリープタイマーが終了し、再生は一時停止しました", + "sleepExtended": "スリープタイマーを {count} 分延長しました", + "sleepChapterUnavailable": "スリープタイマーがキャンセルされました。このエピソードには章がありません" + }, + "shortcuts": { + "title": "ポッドキャストキーボード ショートカット", + "description": "これらの作品はエピソードが読み込まれています。 スペースと矢印キーはプレイヤーページまたはミニプレーヤーで動作し、ブックマークはプレイヤーページからのみ追加できます。", + "open": "キーボードショートカット", + "togglePlayback": "再生または一時停止", + "skipBackward": "後方にスキップ", + "skipForward": "前にスキップ", + "next": "次のエピソード", + "previous": "前回のエピソード", + "speedDown": "再生速度を減らす", + "speedUp": "再生速度を上げる", + "mute": "ミュートまたはミュート", + "volumeUp": "音量を上げる", + "volumeDown": "音量を減らす", + "bookmark": "ブックマークを追加", + "help": "このリストを表示", + "spaceKey": "スペース", + "groups": { + "playback": "再生", + "navigation": "Navigation", + "tools": "ツール" + } + }, + "playlists": { + "title": "プレイリスト", + "builtInLabel": "建てられた", + "savedLabel": "保存しました", + "choose": "プレイリストを選択", + "search": "プレイリストのエピソードを検索", + "summary": "{count} エピソード、 {duration}", + "summaryShortest": "最短値", + "summaryLongest": "Longest", + "summaryPublishedWithin": "以下で公開", + "create": "新規プレイリスト", + "createTitle": "新しいスマートプレイリスト", + "editTitle": "スマートプレイリストを編集", + "editorDescription": "このスマートプレイリストが収集するエピソードを選択します。ルールは開くたびに再評価されるため、新しいエピソードが自動的に表示されます。", + "edit": "ルールを編集", + "adjustRules": "ルールを調整", + "saveAs": "プレイリストとして保存", + "save": "プレイリストを保存", + "delete": "プレイリストを削除", + "deleteConfirmTitle": "このプレイリストを削除しますか?", + "deleteConfirmDescription": "\"{name}\" とそのルールは削除されます。収集したエピソードは影響を受けません。", + "nameLabel": "プレイリスト名", + "namePlaceholder": "朝の■普通", + "filterLabel": "エピソード", + "sortLabel": "ご注文", + "minDuration": "最短(分)", + "maxDuration": "最長(分)", + "publishedWithin": "公開日: (日)", + "showsLabel": "表示", + "showsDescription": "ライブラリにすべてのショーを含めるには、この空白のままにしてください。", + "searchShows": "追加する検索ショー", + "removeShow": "{title} を削除", + "showLimit": "プレイリストは最大 {count} ショーをターゲットにできます。", + "copyOf": "{name} コピー", + "empty": "このプレイリストに一致するものはありません", + "emptyDescription": "ルールを調整するか、新しいエピソードが到着したら戻ってきます。", + "builtIn": { + "quick": "クイックリスニング", + "continue": "リッスンを続ける", + "downloaded": "ダウンロード済み", + "fresh": "今週は新鮮です" + }, + "nameRequired": "保存する前にプレイリストに名前を付けてください" + }, + "downloadWidget": { + "title": "ダウンロード", + "progress": "{completed} / {total} がダウンロードされました", + "progressWithFailures": "{completed} / {total} をダウンロードしました。 {failed} に失敗しました", + "progressWithCancelled": "{completed} の {total} がダウンロードされました。 {cancelled} がキャンセルされました", + "complete": "ダウンロード完了: {count}", + "expand": "ダウンロードの進行状況を展開", + "collapse": "ダウンロードの進行状況を折りたたむ", + "overallProgress": "全体的なダウンロードの進捗状況", + "unknownPodcast": "ポッドキャスト", + "unknownEpisode": "エピソード", + "batchProgress": "{completed} / {total} 完了", + "dismiss": "ダウンロードの進行状況を却下する", + "bytes": "{received} / {total}", + "episodeProgress": "{title} の進行状況をダウンロード", + "status": { + "queued": "キューに入りました", + "downloading": "ダウンロード中", + "completed": "ダウンロード済み", + "failed": "失敗しました", + "cancelled": "キャンセルしました" + } + }, + "collections": { + "addAction": "コレクションに追加", + "addTitle": "コレクションに追加", + "addDescription": "{title} のポッドキャストコレクションを選択します。", + "added": "{name} に追加しました", + "addFailed": "そのコレクションにショーを追加できませんでした。", + "createFailed": "コレクションを作成できませんでした。", + "alreadyIn": "既にこのコレクションに登録されています", + "none": "ポッドキャストのコレクションはまだありません。以下に作成してください。", + "newPlaceholder": "Sci-fi ポッドキャスト", + "newLabel": "新しいコレクション名", + "create": "作成", + "newCollection": "新しいコレクション", + "existing": "コレクション", + "inCollection": "このコレクション内", + "showCount": "{count} ショー", + "removed": "{name} から削除しました", + "removeFailed": "そのコレクションからショーを削除できませんでした。" + } + }, "titles": { "dashboard": "ダッシュボード", "libraries": "ライブラリ", + "podcastLibraries": "ポッドキャストライブラリ", + "podcastScope": "スマートプレイリスト", + "podcastCollection": "ポッドキャストコレクション", "opds": "OPDS", "koboSync": "Kobo Sync", "koreaderSync": "KOReader 同期", @@ -6920,6 +13801,9 @@ "collection": "コレクション", "author": "作成者", "book": "本", + "podcasts": "ポッドキャスト", + "podcast": "ポッドキャスト", + "podcastEpisode": "エピソード", "seriesItem": "シリーズ", "appearance": { "theme": "表示", @@ -6939,6 +13823,7 @@ }, "email": { "providers": "プロバイダー", + "servers": "メールサーバー", "recipients": "Recipients", "groups": "グループ", "templates": "テンプレート", @@ -6952,18 +13837,21 @@ "genre-blocklist": "Genre Blocklist", "score": "自信度スコア", "auto-fetch": "本の自動取得", - "authors": "作成者の自動取得" + "authors": "作成者の自動取得", + "search-cache": "キャッシュを検索" }, "admin": { "users": "ユーザー", "account-activity": "アカウントアクティビティ", "magic-links": "マジックリンク", "oidc": "OIDC / SSO", - "server-fonts": "サーバーフォント" + "server-fonts": "サーバーフォント", + "tts": "テキスト読み上げ" }, "system": { "file-naming": "ファイル名", "book-dock": "Book Dock", + "requests": "リクエスト", "maintenance": "メンテナンス", "audit-log": "監査ログ" }, @@ -6974,6 +13862,178 @@ "restrictions": "コンテンツの制限" }, "smartScopes": "スマートスコープ", - "collections": "コレクション" + "collections": "コレクション", + "missingResources": "不足しているリソース", + "bookRequests": "リクエスト", + "bookRequestDetail": "リクエスト", + "bookRequestReleases": "リリースを選択", + "tts": "テキスト読み上げ" + }, + "tts": { + "readerControls": { + "listen": "Listen", + "playing": "再生中" + }, + "player": { + "fallbackTitle": "TTS再生", + "play": "TTSを再生", + "pause": "TTSを一時停止", + "openMiniPlayer": "ミニプレーヤーを開く", + "shrinkPlayer": "プレイヤーを縮小", + "expandPlayer": "プレイヤーを展開", + "collapsePlayer": "プレイヤーを折りたたむ", + "openDetails": "プレイヤーの詳細を開く", + "previousSentence": "前の文章へ", + "nextSentence": "次の文章へ", + "meta": "Ch {chapter} - Sent {sentence} - {voice} - {speed}x", + "metaWithoutVoice": "Ch {chapter} - {sentence} - {speed}x", + "position": "チャプター {chapter} - 文章 {sentence}", + "playbackError": "再生エラー - 再生をタップして再試行します", + "voice": "音声", + "sleep": "スリープ", + "sleepRemaining": "{count}m", + "currentVoice": "現在の音声", + "chooseVoice": "音声を選択", + "saveForBook": "この本に保存", + "setAsDefault": "グローバルデフォルトに設定", + "bookVoiceSaved": "この本に音声を保存しました", + "bookVoiceSaveFailed": "本の音声を保存できませんでした", + "defaultVoiceSaved": "既定のTTS音声が更新されました", + "defaultVoiceSaveFailed": "デフォルトの音声を更新できませんでした", + "stop": "停止" + }, + "speed": { + "label": "再生速度", + "value": "{speed}x" + }, + "sleepTimer": { + "title": "スリープタイマー", + "preset": "{count}m", + "presetLabel": "{count} 分後に再生を停止", + "cancel": "キャンセル", + "cancelLabel": "スリープタイマーをキャンセル", + "remaining": "{minutes}m {seconds}秒で停止" + }, + "resume": { + "title": "TTSを再開しますか?", + "description": "TTSの位置を保存しています", + "descriptionWithChapter": "あなたはTTSの位置を保存しています(チャプター {chapter})", + "resume": "再開", + "startHere": "このページを開始", + "dismiss": "却下する", + "clearing": "消去中...", + "confirmClear": "削除の確認", + "clearSavedPosition": "保存した位置をクリア" + }, + "voicePicker": { + "search": "音声を検索...", + "allProviders": "すべて", + "allLanguages": "すべての言語", + "allCountries": "すべての国", + "filterByLanguage": "言語でフィルター", + "filterByCountry": "国でフィルター", + "empty": "音声が見つかりません", + "select": "{name} を選択", + "preview": "{name} をプレビュー", + "voiceWithLocale": "{voice} - {locale}" + }, + "settings": { + "description": "デフォルトのTTS音声と再生設定を構成します。", + "defaultVoice": "既定の音声", + "selectVoice": "音声を選択...", + "change": "変更", + "defaultSpeed": "デフォルトの速度", + "saved": "TTS設定を保存しました", + "saveFailed": "TTS設定の保存に失敗しました" + }, + "errors": { + "generic": "TTS エラー" + } + }, + "delivery": { + "readAloud": { + "label": "EPUBを読み上げて配信", + "automatic": "自動: テキストのみを好み、オリジナルのフォールバックを許可します。", + "textOnly": "テキストのみのEPUB", + "original": "ナレーション付き元の EPUB", + "hint": "今後の配信に適用されます。オリジナルは既存のナレーションを保存し、はるかに大きくすることができます。安全なコピーが作成できない場合、テキストのみの準備は失敗します。", + "koboHint": "元のEPUBはKEPUB変換をバイパスします。ネイティブのKoboファームウェアはナレーションを再生できない場合があり、そのコピーでは正確な位置とハイライトの同期が利用できません。", + "profileHint": "EPUBのバリエーションが異なる場合は、別のOPDSプロファイルを使用してください。", + "replacementTitle": "工房コピーを交換する", + "bookId": "書籍ID", + "device": "デバイス", + "prepare": "交換の準備", + "offer": "デバイスのコピーのみを削除しました。交換を申し出てください", + "confirm": "交換をインストールしました", + "cancel": "置換をキャンセル", + "replacementHint": "準備とレビューを最初に行います。デバイスコピーを削除してもライブラリブックは削除されません。自分でデバイスローカルノートをバックアップしてください。 BookOrbitは正規の進行状況とサーバー注釈を保持します。遅延イベントは正確な同期を制限する可能性があります。", + "prepared": "交換準備: {format}, {size}. 選択されたデバイスからのみこの本を削除し、準備された交換と同期を提供します。", + "offered": "置き換えが提供されています。デバイス上で同期してダウンロードし、インストールを確認します。完了したHTTP転送はインストールを証明しません。", + "cancelled": "交換はキャンセルされました。キャンセルは削除または部分的に交換されたデバイスのコピーを復元しません。リカバリのダウンロードを準備するには、同じ本を選択してください。", + "alreadyOnDevice": "デバイスはすでにこの正確なコピーを持っているので、置き換えるものはありません。", + "failed": "この置換を準備または更新できませんでした。", + "searchBook": "本を検索", + "chooseBook": "本を選択", + "moreResults": "さらに本を表示", + "noResults": "一致する本は見つかりませんでした。", + "refresh": "配送ステータスを更新", + "confirmed": "インストールを確認しました。デバイスの確認ではなく、確認を記録します。", + "transferred": "転送が完了しました。インストールを確認する前に、デバイスの交換を開きます。", + "koreaderDefaultTitle": "KOReader EPUB配信", + "koreaderDefaultHint": "デフォルトは、これらの資格情報を使用してデバイス上の将来のダウンロードに適用されます。デバイス設定はそれを上書きすることができます。 既存のコピーと中断されたダウンロードは変更されません。自動で既存のデバイス選択肢を保持します。", + "koreaderUseDefault": "認証情報のデフォルトを使用", + "koreaderSaveFailed": "KOReader EPUBの配信設定を保存できませんでした。もう一度お試しください。", + "koreaderSaved": "KOReader EPUBの配信設定を保存しました。" + } + }, + "commandPalette": { + "title": "検索", + "description": "本、著者、シリーズおよび設定を検索、場所にジャンプするか、アクションを実行します。", + "close": "検索を閉じる", + "clear": "検索をクリア", + "tabs": { + "all": "すべて", + "books": "本", + "authors": "著者", + "series": "シリーズ", + "settings": "設定" + }, + "sections": { + "continueReading": "読書を続ける", + "goTo": "移動", + "actions": "アクション", + "books": "本", + "authors": "著者", + "series": "シリーズ", + "settings": "設定" + }, + "kinds": { + "author": "作成者", + "series": "シリーズ", + "library": "ライブラリ", + "smartScope": "スマートスコープ", + "collection": "コレクション", + "page": "ページ", + "setting": "設定" + }, + "showAllBooks": "{count, plural, one {# 本を表示} other {すべての # 本を表示}}", + "showAllAuthors": "{count, plural, one {#人の投稿者を表示} other {すべての # 作者を表示}}", + "showAllSeries": "{count, plural, one {#シリーズを表示} other {すべての #シリーズを表示}}", + "showAllSettings": "{count,plural,one{表示 # 設定} other{すべて表示 # 設定}}", + "actions": { + "lightTheme": "ライトテーマに切り替える", + "darkTheme": "ダークテーマに切り替える" + }, + "hints": { + "navigate": "Navigate", + "open": "開く", + "filter": "フィルター", + "close": "閉じる" + }, + "keys": { + "escape": "esc", + "tab": "tab" + }, + "resultCount": "{count, plural, =0 {No results} one {# results} other {# results}}" } } diff --git a/client/src/locales/nl.json b/client/src/locales/nl.json index 3035d54bd..f109c1fec 100644 --- a/client/src/locales/nl.json +++ b/client/src/locales/nl.json @@ -107,10 +107,52 @@ }, "theme": { "title": "Thema", + "style": { + "label": "CSS", + "hint": "Het algehele uiterlijk van de app. Modus, accent, hoeken en achtergrond behouden hun instellingen.", + "bookorbit": { + "label": "Boekenorbit", + "description": "Tinted oppervlakken, glazen panelen en serif headings." + }, + "nostalgia": { + "label": "Nostalgia", + "description": "Neutrale gronden, systeemtype, platte panelen en een top gloed." + } + }, "colorScheme": { "label": "Kleurenschema", "hint": "Lichte of donkere interface" }, + "surfacePalette": { + "label": "Oppervlak", + "hint": "Het neutrale terrein achter panelen en kaarten.", + "palettes": { + "onyx": "Onyx", + "carbon": "Koolstof", + "neutral": "Neutraal", + "zinc": "Zink", + "iron": "IJzer", + "steel": "Staal", + "ash": "As", + "smoke": "Rook", + "charcoal": "Houtskool", + "slate": "Schrijfplaat", + "midnight-blue": "Middernacht blauw", + "ocean": "Oceaan", + "pine": "Pijn", + "olive": "Olijf", + "stone": "Steen", + "sepia": "Sepia", + "crimson": "Donkerrood", + "plum": "Pruim" + } + }, + "topGlow": { + "label": "Top gloed", + "hint": "Hoe ver het accent gloed de pagina bereikt. Schuif helemaal naar links om het uit te schakelen.", + "value": "{value}%", + "off": "UIT" + }, "accents": { "grey": "Grijs", "scarlet": "Scharlakenrood", @@ -183,7 +225,13 @@ }, "cornerRadius": { "label": "Hoekafronding", - "hint": "Afronding van kaarten en UI-elementen" + "hint": "Afronding van kaarten en UI-elementen", + "options": { + "sharp": "Scherp", + "default": "Standaard", + "rounded": "Afgerond", + "pill": "Pill" + } }, "surfaceBrightness": { "label": "Oppervlaktehelderheid", @@ -202,7 +250,8 @@ "structural": "Structureel", "ambient": "Sfeervol", "refractive": "Refractief" - } + }, + "syncSaveFailed": "Thema voorkeuren opslaan mislukt" }, "storage": { "title": "Waar weergavevoorkeuren opslaan", @@ -234,6 +283,21 @@ "loadError": "Kan de standaardomslagzoeker niet laden", "saveError": "Kan de standaardomslagzoeker niet opslaan" }, + "placeholderStyle": { + "title": "Stijl plaatshouder", + "hint": "Boeken zonder omslagkunst worden getekend in deze stijl.", + "options": { + "bauhaus": "Bauhaus", + "constructivist": "Constructivist", + "memphis": "Memphis", + "clothbound": "Kladgebonden", + "poster": "Poster", + "aurora": "Aurora", + "vista": "Tarief", + "marbled": "Gemarkeerd", + "paperback": "Papieren" + } + }, "displayMode": { "title": "Weergavemodus omslag", "hint": "Bepaalt hoe echte omslagen in boekvakken passen wanneer de verhoudingen verschillen", @@ -1216,6 +1280,11 @@ "portrait": "2:3 portret", "square": "1:1 vierkant" }, + "gridShape": "Raster vorm", + "gridShapeValue": { + "tall": "Hoog cellen", + "square": "Vierkante cellen" + }, "none": "Geen", "allSupported": "Alles ondersteund", "patternCount": "{count, plural, one {# patroon} other {# patronen}}", @@ -1518,7 +1587,132 @@ "subtitle": "Upload lettertypen die elke gebruiker kan kiezen in de eBook-lezer, zonder zijn eigen lettertypen te uploaden.", "listLabel": "Serverlettertypen", "noFontsYet": "Nog geen serverlettertypen", - "noFontsHint": "Lettertypen die je hier toevoegt, verschijnen in de lezer van elke gebruiker." + "noFontsHint": "Lettertypen die je hier toevoegt, verschijnen in de lezer van elke gebruiker.", + "addFonts": "Lettertypen toevoegen", + "filterLabel": "Families filteren", + "filterPlaceholder": "Families filteren", + "filterClear": "Filter wissen", + "noMatches": "Geen families met \"{query}\"", + "previewLabel": "Voorbeeld tekst", + "previewPlaceholder": "Typ om het in elke familie te bekijken", + "previewSize": "Voorbeeld grootte", + "previewSizeOption": "{size} px", + "familiesUnit": "{count, plural, one {family} other {families}}", + "filesOfMax": "{count} van {max} bestanden", + "onDisk": "{size} op schijf", + "columns": { + "family": "Familie", + "specimen": "Specimen", + "styles": "Styles", + "readers": "Lezers" + }, + "fileSummary": "{count, plural, one {# bestand} other {# bestanden}} · {size}", + "newBadge": "Nieuw", + "styles": { + "single": "Alleen {style}", + "many": "{count} styles", + "manyNoItalics": "{count} styles, no italics" + }, + "facts": { + "books": "{count, plural, one {Op # boek} other {Op # boeken}}", + "booksDetail": "{books, plural, one {Zet op # boek} other {Zet op # boeken}} door {readers, plural, one {# lezer} other {# lezers}}", + "defaults": "{count, plural, one {Standaard voor # lezer} other {Standaard voor # lezers}}", + "hidden": "{count, plural, one {Verborgen door # lezer} other {Verborgen door # lezers}}" + }, + "moreActions": "Meer voor {name}", + "menu": { + "rename": "Familie hernoemen", + "addFiles": "Bestanden toevoegen", + "remove": "Lettertypefamilie verwijderen…" + }, + "footerHint": "Elke lezer ziet deze in de lettertypelijst van de lezer en kan ze verbergen onder Reader mod_Fonts.", + "empty": { + "dropHint": "of laat bestanden ergens op deze pagina vallen", + "tip": "Een familie leest het beste als vier bestanden: Regulier, Italiaans, Vetgedrukt en Vetgedrukt Italië. Een bestand met variabele kan voor elk gewicht staan." + }, + "drop": { + "title": "{count, plural, one {Drop om # bestand toe te voegen voor elke lezer} other {Drop om # bestanden toe te voegen voor elke lezer}}" + }, + "upload": { + "ariaLabel": "Bezig met uploaden", + "title": "{count, plural, one {Toevoegen # bestand} other {Toevoegen # bestanden}}", + "progress": "{done} van {total} gedaan", + "addedCount": "{count} toegevoegd", + "duplicateCount": "{count} is al hier", + "refusedCount": "{count} niet toegevoegd", + "dismiss": "Uitschakelen", + "newFamily": "nieuwe familie", + "states": { + "queued": "Wachten", + "uploading": "Uploaden", + "added": "Toegevoegd", + "duplicate": "Al op de server", + "refused": "Niet toegevoegd", + "failed": "Mislukt" + }, + "reasons": { + "tooLarge": "Groter dan {maxMb} MB.", + "unsupportedType": "Geen lettertypebestand. Gebruik TTF, OTF, WOFF of WOFF2.", + "invalidFile": "Het bestand is beschadigd of is niet echt een lettertype.", + "faceTaken": "{familyName} heeft al een bestand bij dit gewicht en stijl.", + "limitReached": "De server bevat al {limit} lettertypebestanden.", + "failed": "Upload mislukt. Probeer het opnieuw." + } + }, + "sheet": { + "description": "Voorbeeld bekijken, hernoemen en beheren van de bestanden van {name}", + "variable": "Variabele", + "preview": "Voorvertoning", + "pageColour": "Pagina kleur", + "papers": { + "app": "App oppervlak", + "white": "Witte pagina", + "sepia": "Sepia page", + "night": "Nacht pagina" + }, + "previewHeading": "De tuin van de Live Bloemen", + "previewParagraph1": "Alice keek hoogst verbaasd om zich heen. “Wel, ik geloof echt dat we al die tijd onder deze boom hebben gestaan! Alles is precies zoals het was!”", + "previewParagraph2": "\"Nu zul je zien dat alles wat je kunt doen nodig is om op dezelfde plaats te blijven. Als je ergens anders wilt komen, moet je minstens twee keer zo snel rennen!", + "styles": "Styles", + "stylesHint": "Wat de stijlrij van de lezer biedt", + "singleStyleNote": "Eén stijl, dus lezers krijgen geen stijlrij. Vetgedrukt en cursieve tekst in boeken wordt vervalst door de browser van {style}.", + "inReader": "In de lezer", + "inReaderHint": "De lettertypelijst die elke lezer in Reader › Instellingen ziet, met {name} geselecteerd.", + "pickerLabel": "Voorbeeld van de lettertypelijst van de lezer", + "files": "Bestanden", + "filesUsed": "{count} van {max} gebruikt op deze server", + "fileDetail": "{summary} · Toegevoegd {date}", + "upright": "Rechtstreeks", + "italic": "Italic", + "fileActions": "Meer voor {name}", + "changeStyle": "Verander gewicht en stijl", + "removeFile": "Bestand verwijderen", + "removeFileQuestion": "Dit bestand voor elke lezer verwijderen?", + "weight": "Gewicht", + "style": "CSS", + "name": "Familie naam", + "nameHint": "Lezers kiezen lettertypen met deze naam.", + "nameHiddenWarning": "{count, plural, one {# lezer hid {name}} other {# lezers hid {name}}}; een nieuwe naam laat het weer aan hen zien.", + "nameBooksWarning": "Een nieuwe naam verstuurt {count, plural, one {Het # boek dat het gebruikt} other {Het # boek dat het gebruikt}} terug naar het eigen lettertype van het boek.", + "readers": "Lezers", + "stats": { + "books": "{count, plural, one {Boek gebruikt het} other {boeken gebruiken het}}", + "defaults": "{count, plural, one {lezer standaard} other {lezen's standaard}}", + "hidden": "{count, plural, one {Lees het verstopt} other {lezers hebben het verborg}}" + }, + "readersPrivacy": "Tel alleen. Welke boeken en welke lezers blijven privé.", + "removeLabel": "Familie verwijderen", + "removeQuestion": "{name} verwijderen voor elke lezer?", + "removeConsequenceBooks": "{books, plural, one {Dit is ingesteld voor # boek} other {Dit is ingesteld voor # boeken}} door {readers, plural, one {# lezer} other {# lezers}}; die boeken schakelen terug naar het eigen lettertype van het boek.", + "removeConsequenceFiles": "{count, plural, one {Het bijbehorende bestand wordt van de server verwijderd.} other {Alle # bestanden worden van de server verwijderd.}}", + "loadFailedNote": "Deze browser kan het lettertype bestand niet laden, dus de previews tonen een fallback gezicht. De browsers van de lezers zullen het waarschijnlijk ook weigeren; probeer een andere kopie van het lettertype." + }, + "toasts": { + "removed": "{name} verwijderd", + "removePartial": "{failed, plural, one {# bestand} other {# bestanden}} van {name} kon niet worden verwijderd", + "renameTaken": "{name} heeft al een bestand met hetzelfde gewicht en dezelfde stijl" + }, + "loadFailed": "Deze browser kan niet laden" } }, "common": { @@ -1570,6 +1764,7 @@ "publishedYear": "Publicatiejaar", "language": "Taal", "pageCount": "Aantal pagina's", + "isbn": "ISBNs", "communityRating": "Communitybeoordeling", "seriesName": "Reeksnaam", "seriesIndex": "Reeksnummer", @@ -1671,6 +1866,92 @@ "inheritFromGlobal": "Overnemen van globaal", "usingGlobalDefaults": "Globale standaardinstellingen worden gebruikt.", "saveOverride": "Overschrijving opslaan" + }, + "scope": { + "ownSettings": "{count, plural, one {# eigen instelling} other {# eigen instellingen}}", + "globalIntro": "Elke bibliotheek volgt deze regel tenzij ze haar eigen regels heeft.", + "globalCoverage": "{libraryCount, plural, one {Geldt voor # bibliotheek} other {Geldt voor # bibliotheken}} {bookCount, plural, one {# boek} other {# boeken}}.", + "ownLibraries": "{names} {count, plural, one {heeft een eigen regel.} other {hebben hun eigen regels.}}", + "libraryFollows": "{library} volgt de mondiale regel. Verander hier alles om het zijn eigen regels te geven.", + "libraryOwn": "{library} heeft zijn eigen regel voor {count, plural, one {# instelling} other {# instellingen}}. Alles anders volgt de wereldregel.", + "lastRun": "Laatste uitvoering {when}, {count, plural, one {# boek} other {# boeken}} in de wachtrij.", + "neverRun": "Nog niet uitgevoerd.", + "useGlobalRule": "Gebruik de globale regel", + "loadFailed": "Instellingen automatisch ophalen kon niet worden geladen. Herlaad de pagina om het opnieuw te proberen.", + "saved": "Opgeslagen {scope}", + "saveFailed": "Kon {scope} niet opslaan. Probeer het opnieuw." + }, + "run": { + "all": "Voer voor elke bibliotheek uit", + "library": "Uitvoeren voor {library}", + "saveFirst": "Voert de opgeslagen regel uit. Sla eerst op.", + "failed": "De uitvoering kon niet gestart worden. Probeer het opnieuw." + }, + "onImport": { + "label": "Metadata voor nieuwe boeken ophalen", + "hint": "Scans en upload wachtrijovereenkomstige boeken onmiddellijk. Een ophalen bij het importeren vult alleen lege velden op; vergrendelde velden worden nooit gewijzigd.", + "follow": "Wereld volgen", + "on": "op", + "off": "UIT" + }, + "columns": { + "books": "{count, plural, one {boek} other {boeken}}", + "ofTotal": "van {total}", + "off": "UIT", + "own": "Eigen", + "global": "Wereldwijd", + "useGlobal": "Gebruik globaal", + "globalValue": "Globale regel: {value}", + "on": "op", + "scoreBelowValue": "Score onder {threshold}", + "neverFetchedSplit": "{count, plural, one {# heeft nooit gehaald} other {# heeft nooit gehaald}}", + "fetchedBeforeSplit": "{count, plural, one {# binnengehaald voor} other {# voor}}", + "lowScoreLabel": "Lage vertrouwensscore", + "lowScoreHint": "Haal boeken op waarvan de vertrouwensscore onder de regel valt.", + "outOf": "/ 100", + "lowerThreshold": "Drempelwaarde verlagen", + "raiseThreshold": "Verhoog de drempel", + "missingHint": "Ophalen als een geselecteerd veld leeg is. Elk veld toont hoeveel boeken het ontbreekt.", + "audioGroup": "Boeken met audio", + "audioHint": "{count, plural, =0 {Geen enkel boek hier heeft audio.} one {Alleen het # boek met audio kan deze missen.} other {Alleen de # boeken met audio kunnen deze missen.}}", + "fieldCount": "{field}: {count, plural, one {# boek mist het} other {# boeken ontbreekt het}}" + }, + "histogram": { + "label": "Vertrouwen score drempel", + "valueText": "Score onder {threshold}" + }, + "preview": { + "title": "Wat een run zou halen", + "matching": "{matching, plural, one {# {total} boeken matchen} other {# van {total} boeken overeenkomen}}", + "showing": "{count, plural, one {Toon de minst complete} other {Toon de minst complete #}}", + "empty": "Geen enkel boek komt overeen met deze regel, dus een uitvoering zou niets in de wachtrij plaatsen.", + "unknownAuthor": "Onbekende auteur", + "score": "Score {score}", + "more": "+{count}", + "missing": { + "title": "Geen titel", + "subtitle": "Geen ondertitel", + "description": "Geen beschrijving", + "cover": "Geen omslag", + "audioCover": "Geen audiobook cover", + "authors": "Geen auteurs", + "publisher": "Geen uitgever", + "isbn": "Geen ISBN", + "publishedYear": "Geen gepubliceerd jaar", + "language": "Geen taal", + "pageCount": "Geen aantal pagina's", + "communityRating": "Geen community rating", + "seriesName": "Geen serienaam", + "seriesIndex": "Geen serie index", + "genres": "Geen genres", + "narrators": "Geen narrators", + "duration": "Geen duur", + "abridged": "Verbruikt niet ingesteld" + } + }, + "queue": { + "progress": "{done} van {total}", + "failed": "{count, plural, one {# boek kon niet worden opgehaald} other {# boeken konden niet worden opgehaald}}" } }, "providers": { @@ -1766,7 +2047,8 @@ "overwriteTerm": "Overschrijven:", "overwriteBody": "Vervangen zodra een provider gegevens heeft." }, - "summary": "Providers worden van boven naar beneden geprobeerd en de eerste die een waarde retourneert, wint. De samenvoegstrategie beslist of die waarde kan vervangen wat het boek al heeft; genres kunnen ook nieuwe unieke waarden toevoegen. Stel hier standaardwaarden in en overschrijf vervolgens individuele velden per bibliotheek." + "summary": "Providers worden van boven naar beneden geprobeerd en de eerste die een waarde retourneert, wint. De samenvoegstrategie beslist of die waarde kan vervangen wat het boek al heeft; genres kunnen ook nieuwe unieke waarden toevoegen. Stel hier standaardwaarden in en overschrijf vervolgens individuele velden per bibliotheek.", + "summaryByMedium": "Providers worden van boven naar beneden geprobeerd, en de eerste met een waarde-win; geslachten in samenvoegmodus en gemeenschapsbeoordelingen combineren in plaats daarvan elke aanbieder. De samenvoegstrategie bepaalt of een waarde kan vervangen wat het boek al heeft. Audiabel, AudNexus en Libro. m alleen antwoord voor boeken met audio, leesbare EPUB's inbegrepen, dus geef ze eerst de voorkeur aan metagegevens van audioboek, zonder alleen boeken met ebook aan te raken. Omslag kunst van de verkeerde vorm vult een slot alleen als niets anders kan. Een bibliotheek overschrijft de gehele regel van het veld." }, "libraryOverrides": { "title": "Bibliotheekoverschrijvingen", @@ -1835,6 +2117,7 @@ }, "field": { "noProviders": "Ingeschakeld maar heeft geen providers", + "noUsableProvider": "Ingeschakeld, maar hier kan geen enkele provider het invullen", "empty": "Leeg", "config": "Configuratie", "custom": "Aangepast", @@ -1893,7 +2176,11 @@ "disabled": "Uitgeschakeld", "notConfigured": "Niet geconfigureerd", "disabledDetail": "{provider} is uitgeschakeld, dus het blijft in de volgorde, maar wordt overgeslagen.", - "notConfiguredDetail": "{provider} heeft nog geen inloggegevens, dus het blijft in de bestelling staan, maar wordt overgeslagen." + "notConfiguredDetail": "{provider} heeft nog geen inloggegevens, dus het blijft in de bestelling staan, maar wordt overgeslagen.", + "neverSupplies": "Levert nooit dit", + "neverSuppliesDetail": "{provider} vult dit veld nooit aan, dus het wordt hier overgeslagen.", + "otherShape": "Andere omslagvorm", + "otherShapeDetail": "{provider} heeft alleen een afdekking van de andere vorm, dus het vult dit vakje alleen als er niets anders kan." }, "detail": { "priority": "Prioriteit provider", @@ -1947,6 +2234,123 @@ "emptyHint": "Voeg exacte waarden toe zoals Audioboek of Volwassen om ze uit opgehaalde metadata te houden.", "removeLabel": "{genre} verwijderen" }, + "searchCache": { + "loadFailed": "Kon de zoek cache instellingen niet laden.", + "retry": "Opnieuw proberen", + "saved": "Zoekcache-instellingen opgeslagen", + "saveFailed": "Opslaan van cache instellingen mislukt", + "units": { + "hours": "Uren", + "days": "dagen" + }, + "general": { + "title": "Opgeslagen antwoorden", + "enabled": "Provider antwoorden opslaan", + "enabledHint": "Zoeken, bulk vernieuwingen en achtergrond worden opgeslagen antwoorden hergebruikt in plaats van elke aanbieder opnieuw te vragen.", + "resultsTtl": "Resultaten behouden voor", + "resultsTtlHint": "Hoelang een antwoord met resultaten wordt hergebruikt voordat de provider opnieuw wordt gevraagd.", + "resultsTtlUnit": "Resultaten tijdeenheid", + "emptyTtl": "Houd lege antwoorden voor", + "emptyTtlHint": "Hoe lang een aanbieder die niets vindt niet vergeet. Alleen toepasbaar op aanbieders die gemarkeerd zijn als het cachen van lege antwoorden. 0 houdt nooit lege antwoorden.", + "emptyTtlUnit": "Lege antwoorden tijdeenheid", + "staleGrace": "Gebruik verlopen antwoorden voor", + "staleGraceHint": "Wanneer een aanbieder faalt, wordt een antwoord tot zijn lange periode gebruikt in plaats daarvan. 0 valt nooit terug.", + "staleGraceUnit": "Verlopen antwoord tijdeenheid", + "storage": "Opslag budget", + "storageHint": "De oudste antwoorden worden verwijderd zodra de opgeslagen antwoorden dit formaat passeren. Op schijf kan de tabel ongeveer 1,5 tot 2 keer het budget kosten.", + "storageUnit": "Mb" + }, + "providers": { + "title": "Instellingen per provider", + "hint": "Laat een veld leeg om de bovenstaande waarde te gebruiken. Schakel een provider uit om er altijd om te vragen.", + "books": "Boeken", + "authors": "Auteurs", + "none": "Er zijn geen aanbieders beschikbaar.", + "globalOff": "Antwoorden opslaan is uitgeschakeld, dus deze instellingen zijn van toepassing zodra deze weer is ingeschakeld.", + "on": "op", + "off": "UIT", + "enabledLabel": "Sla antwoorden op van {provider}", + "resultsTtl": "Resultaten behouden voor", + "resultsTtlLabel": "Houd {provider} resultaten voor", + "resultsTtlUnitLabel": "Tijdeenheid voor {provider} resultaten", + "emptyTtl": "Houd lege antwoorden voor", + "emptyTtlLabel": "Houd lege {provider} antwoorden voor", + "emptyTtlUnitLabel": "Tijdeenheid voor lege {provider} antwoorden", + "noEmptyCaching": "Lege antwoorden van deze provider worden nooit opgeslagen.", + "notCacheable": "Antwoorden van deze provider worden nooit opgeslagen.", + "reset": "{provider} terugzetten naar de standaardinstellingen" + }, + "validation": { + "required": "Voer een waarde in.", + "wholeNumber": "Vul een geheel nummer in.", + "range": "Voer een waarde in van {min} tot {max}.", + "tooManyOverrides": "Te veel aanbieders hebben hun eigen instellingen. Stel een aantal van hen in om op te slaan." + }, + "save": { + "unsaved": "Niet-opgeslagen wijzigingen", + "invalid": "Repareer de gemarkeerde velden om op te slaan", + "upToDate": "Alle wijzigingen opgeslagen", + "discard": "Weggooien", + "action": "Opslaan" + }, + "stats": { + "group": "Gebruik", + "title": "Opgeslagen antwoorden", + "refresh": "Vernieuwen", + "loadFailed": "Kan het cache-gebruik niet laden.", + "storage": "Gebruikte opslagruimte", + "storageUsed": "{used} van {budget}", + "storageHint": "Grootte van de opgeslagen antwoorden zelf. De tabel op de schijf is groter.", + "entries": "Opgeslagen antwoorden", + "emptyEntries": "Lege antwoorden", + "diskSize": "Tabel grootte op schijf", + "hitRate": "Trek tarief", + "requestsAvoided": "Verzoeken voorkomen", + "fallbacks": "Terugvallen", + "skippedWrites": "Overgeslagen schrijvingen", + "oldest": "Oudste antwoord", + "none": "Nog geen", + "countersHint": "Trek snelheid, verzoeken vermijden, terugvallen en overgeslagen geschriften tellen sinds de server voor het laatst gestart.", + "perProvider": "Antwoorden per provider opgeslagen", + "provider": "Leverancier", + "kind": "Type", + "size": "Grootte", + "empty": "Er is nog niets opgeslagen." + }, + "clear": { + "group": "Onderhoud", + "title": "Opgeslagen antwoorden wissen", + "regionHint": "Providers kunnen anders antwoorden per locatie. Wis de cache nadat de server naar een andere regio of VPN is verplaatst.", + "action": "Verwijderen", + "failed": "Opgeslagen antwoorden wissen mislukt", + "done": "{count, plural, one {Verwijder # opgeslagen antwoord} other {Verwijderd # opgeslagen antwoorden}}", + "donePending": "{count, plural, one {# opgeslagen antwoord is verwijderd. De rest wordt op de achtergrond verwijderd.} other {# opgeslagen antwoorden zijn verwijderd. De rest wordt op de achtergrond verwijderd.}}", + "empty": { + "label": "Alleen lege antwoorden wissen", + "hint": "Vergeet dat aanbieders niets hebben gevonden, dus de zoekmachines vragen het opnieuw.", + "confirmTitle": "Lege antwoorden wissen?", + "confirmDescription": "Opgeslagen antwoorden waar een provider niets heeft gevonden. Antwoorden met resultaten worden bewaard." + }, + "book": { + "label": "Boekenantwoorden wissen", + "hint": "Verwijdert alles opgeslagen van de boekaanbieders.", + "confirmTitle": "Boekenantwoorden wissen?", + "confirmDescription": "Elk opgeslagen antwoord van de boekaanbieders wordt verwijderd. De volgende zoekopdrachten vragen deze aanbieders opnieuw." + }, + "author": { + "label": "Leeg de antwoorden van de auteur", + "hint": "Verwijdert alles opgeslagen van auteursaanbieders.", + "confirmTitle": "Antwoorden van auteur wissen?", + "confirmDescription": "Elk opgeslagen antwoord van auteursaanbieders wordt verwijderd. De volgende zoekopdrachten vragen deze providers opnieuw." + }, + "all": { + "label": "Alle opgeslagen antwoorden wissen", + "hint": "Cache leegmaakt. Elke provider wordt opnieuw gevraagd bij de volgende zoekopdracht.", + "confirmTitle": "Alle opgeslagen antwoorden wissen?", + "confirmDescription": "De hele cache is leeggemaakt. Zoekopdrachten zullen langzamer verlopen tot het opnieuw gevuld wordt, en er is niets meer over om terug te vallen terwijl een aanbieder offline is." + } + } + }, "customFields": { "label": "Label", "labelPlaceholder": "bijv. Originele titel", @@ -1995,7 +2399,145 @@ "selectAll": "Alles selecteren", "clear": "Wissen", "noLibraries": "Nog geen bibliotheken beschikbaar.", - "allLibraries": "Alle bibliotheken" + "allLibraries": "Alle bibliotheken", + "pageFacts": "{fields, plural, one {# veld} other {# velden}} {values, plural, one {# waarde opgeslagen} other {# waarden opgeslagen}}", + "newFieldAction": "Nieuw veld", + "views": { + "label": "Toon actieve of gearchiveerde velden", + "active": "actief", + "archived": "Gearchiveerd" + }, + "columns": { + "order": "Bestelling", + "field": "Veld", + "type": "Type", + "libraries": "Bibliotheken", + "filled": "Gevuld", + "valuesKept": "Behouden waarden", + "archived": "Gearchiveerd", + "actions": "acties" + }, + "orderHint": "Sleep om de ordervelden in te stellen die worden weergegeven op Bewerken Metadata, in tabelkolommen en in exports.", + "archivedHint": "Gearchiveerde velden zijn verborgen voor boeken, filters en exporten. Hun waarden blijven opgeslagen totdat het veld is verwijderd.", + "coverage": "{filled} van {total}", + "coverageAria": "{filled} van {total} boeken hebben een waarde", + "onNoLibrary": "Geen bibliotheken", + "onNoLibraryHint": "In geen enkele bibliotheek, dus dit veld verschijnt nergens", + "moreLibraries": "+{count}", + "noValues": "geen", + "rowActions": { + "edit": "Bewerken", + "editField": "Veld bewerken", + "moveUp": "Verplaats omhoog", + "moveDown": "Verplaats naar beneden", + "archive": "Archief", + "restore": "Herstellen", + "deletePermanently": "Permanent verwijderen…", + "more": "Meer acties voor {label}" + }, + "toasts": { + "loadFailed": "Kan aangepaste velden niet laden", + "created": "{label} aangemaakt", + "createFailed": "Kon {label} niet aanmaken", + "saved": "{label} opgeslagen", + "saveFailed": "Kan {label} niet opslaan", + "archived": "{label} gearchiveerd", + "archiveFailed": "Kon {label} niet archiveren", + "restored": "{label} hersteld", + "restoreFailed": "Kan {label} niet herstellen", + "deleted": "{label} verwijderd", + "deleteFailed": "Kon {label} niet verwijderen", + "reorderFailed": "Kon de nieuwe bestelling niet opslaan" + }, + "empty": { + "body": "Volg waar BookOrbit geen veld voor heeft, zoals waar een boek op je plank zit of voor wie het heeft geleend. Velden verschijnen op Metadata, in tabelkolommen en in de filters.", + "examples": "Start bij een voorbeeld", + "shelfNumber": "Shelf Nummer", + "acquiredOn": "Verworven op", + "signedCopy": "Ondertekende kopie", + "loanedTo": "Geleend aan" + }, + "types": { + "text": { + "label": "Tekstveld", + "hint": "Alle woorden", + "example": "Eerste bedrukking, ondertekende bladplaat" + }, + "url": { + "label": "Koppeling", + "hint": "Opent in een nieuw tabblad", + "example": "https://voorbeeld.com/boek" + }, + "number": { + "label": "Nummer", + "hint": "Sorteren op waarde", + "example": "42" + }, + "date": { + "label": "Datum", + "hint": "Een kalender dag", + "example": "2024-03-09" + }, + "boolean": { + "label": "Ja / Nee", + "hint": "Een checkbox", + "example": "ja" + } + }, + "sheet": { + "newTitle": "Nieuw veld", + "editDescription": "Bewerk de label en bibliotheken van een aangepast veld en zie waar het verschijnt.", + "newDescription": "Naam van een nieuw aangepast veld, kies het type en kies de bibliotheken.", + "archivedDescription": "Een gearchiveerd aangepast veld. Herstel het of verwijder het met de waarden.", + "statusFilled": "{filled} van {total, plural, one {# boek} other {# boeken}} gevuld", + "statusNone": "Niet in een bibliotheek", + "statusHidden": "{count} hidden", + "statusCreated": "aangemaakt {date}", + "labelHint": "Weergegeven op Bewerk Metadata, in tabelkolommen en in filters.", + "renameHint": "Hernoemen bewaart elke opgeslagen waarde en de bestandssleutel {key}.", + "keyHint": "Opgeslagen in bestanden en exporten als {key}, die hetzelfde blijft als je het veld hernoemt.", + "typeLocked": "Instellen bij aanmaken", + "typeLockedHint": "Het type kan later niet worden gewijzigd, daarom komen de opgeslagen waarden altijd overeen.", + "libraries": "Bibliotheken", + "books": "{count, plural, one {# boek} other {# boek}}", + "filledOfBooks": "{filled} van {total, plural, one {# boek} other {# boeken}}", + "hiddenCount": "{count} hidden", + "leavingNote": "{count, plural, one {# waarde in {libraries} blijft opgeslagen maar verborgen terwijl het veld daar ligt.} other {# waarden in {libraries} blijf opgeslagen maar verborgen terwijl het veld daar ligt.}} Draai hem terug wanneer hij hem terug brengt.", + "noLibraryWarning": "Zonder bibliotheken wordt dit veld nergens weergegeven: niet op Metadata, in filters of in exports.", + "appears": { + "title": "Waar het verschijnt", + "editMetadata": "Metadata bewerken", + "details": "Details tab", + "filters": "Filters", + "table": "Tabel en sorteer", + "tableBody": "Beschikbaar als kolom en een sorteeroptie", + "files": "Bestanden", + "filesWritten": "Geschreven in EPUB en FB2 bestanden in {libraries}, waar metadata naar bestanden schrijven is aan.", + "filesNotWritten": "Niet in bestanden opgeslagen: geen van deze bibliotheken schrijft metadata naar EPUB of FB2 bestanden.", + "exports": "Exporteren" + }, + "archiveAction": "Archiveer veld", + "archiveConfirm": "Archiveer {label}?", + "archiveConsequence": "{count, plural, =0 {Dit veld verdwijnt uit Metadata bewerken, filters en exports. Je kunt het op elk moment vanuit Gearchiveerd herstellen.} one {Dit veld verdwijnt uit Metadata bewerken, filters en exports. # waarde blijft opgeslagen totdat het veld wordt verwijderd.} other {Dit veld verdwijnt uit Metadata bewerken, filters en exports. # waarden blijven opgeslagen totdat het veld wordt verwijderd.}}", + "create": "Veld aanmaken", + "onLibraries": "Op {count} van {total} bibliotheken", + "onAllLibraries": "In alle {total} bibliotheken", + "archivedBadge": "Gearchiveerd", + "archivedTitle": "Gearchiveerde {when}.", + "archivedBody": "{count, plural, =0 {Dit veld is verborgen voor boeken, filters en exports. Het bevat geen waarden.} one {Dit veld is verborgen voor boeken, filters en exports. # opgeslagen waarde blijft behouden en keert terug bij herstel.} other {Dit veld is verborgen voor boeken, filters en exports. # opgeslagen waarden blijven behouden en keren terug bij herstel.}}", + "facts": { + "type": "Type", + "libraries": "Bibliotheken", + "valuesKept": "Behouden waarden", + "fileKey": "Bestand sleutel", + "created": "Aangemaakt", + "archived": "Gearchiveerd" + }, + "deleteQuestion": "Verwijder {label} voor de goed?", + "deleteConsequence": "{count, plural, =0 {Dit veld bevat geen waarden. Dit kan niet ongedaan worden gemaakt.} one {De # opgeslagen waarde wordt uit elk boek verwijderd. Reeds geschreven bestanden behouden hun kopie. Dit kan niet ongedaan worden gemaakt.} other {De # opgeslagen waarden worden uit elk boek verwijderd. Reeds geschreven bestanden behouden hun kopie. Dit kan niet ongedaan worden gemaakt.}}", + "deleteConfirmLabel": "Typ de veldnaam om te bevestigen", + "deleteConfirmPlaceholder": "Type {label} om te bevestigen" + } }, "tabs": { "providers": "Providers", @@ -2004,7 +2546,8 @@ "genre-blocklist": "Genre-blokkeerlijst", "score": "Score", "auto-fetch": "Boeken", - "authors": "Auteurs" + "authors": "Auteurs", + "search-cache": "Zoek Cache" }, "tabTitles": { "providers": "Providers", @@ -2013,7 +2556,8 @@ "genre-blocklist": "Genre-blokkeerlijst", "score": "Betrouwbaarheidsscore", "auto-fetch": "Boeken automatisch ophalen", - "authors": "Auteurs automatisch ophalen" + "authors": "Auteurs automatisch ophalen", + "search-cache": "Zoek Cache" }, "tabSubtitles": { "providers": "Schakel externe metadatabronnen in en configureer hun inloggegevens.", @@ -2022,7 +2566,8 @@ "genre-blocklist": "Voorkom dat ongewenste genrewaarden van providers naar boeken worden geschreven.", "score": "Ken gewichten toe aan metadatavelden om te berekenen hoeveel vertrouwen opgehaalde resultaten verdienen.", "auto-fetch": "Haal automatisch omslagen, beschrijvingen en andere details op wanneer nieuwe boeken aan je bibliotheek worden toegevoegd.", - "authors": "Haal automatisch biografieën en profielfoto's op wanneer nieuwe auteurs in je bibliotheek verschijnen." + "authors": "Haal automatisch biografieën en profielfoto's op wanneer nieuwe auteurs in je bibliotheek verschijnen.", + "search-cache": "Hergebruik provider antwoorden zodat herhalingszoekopdrachten snel zijn en nog steeds werkt wanneer een provider offline is." }, "preferences": { "toast": { @@ -2238,7 +2783,25 @@ "serverFontsHint": "Deze lettertypen zijn afkomstig van je serverbeheerder. Schakel er een uit om deze buiten je lezer te houden.", "serverFontsShown": "{count} van {total} getoond", "serverFontsAllHidden": "Alle serverlettertypen zijn verborgen. Je reader biedt alleen ingebouwde en je eigen lettertypen.", - "serverFontVisibilityFailed": "Kan de zichtbaarheid van het serverlettertype niet bijwerken" + "serverFontVisibilityFailed": "Kan de zichtbaarheid van het serverlettertype niet bijwerken", + "library": { + "columns": { + "use": "In gebruik" + }, + "yourDefault": "Jouw standaard", + "hiddenBadge": "Hidden", + "emptyHint": "Voeg bovenstaande lettertypen toe of laat bestanden ergens op deze pagina vallen.", + "dropTitle": "{count, plural, one {Drop om # bestand aan je lettertypen toe te voegen} other {Drop to add # bestanden aan je lettertypes}}", + "limitReached": "U heeft al {limit} lettertypebestanden.", + "filesUsed": "{count} van jouw {max} gebruikt", + "nameHint": "Dit is de naam in de lettertype van uw lezer.", + "inReaderHint": "Je lettertypelijst in Reader › Instellingen, met {name} geselecteerd.", + "showInReader": "Toon in mijn lezer", + "showFamily": "Toon {name} in mijn lezer", + "removeConsequenceBooks": "{count, plural, one {Dit is ingesteld voor # van je boeken; dat boek schakelt terug naar het eigen lettertype.} other {Dit is ingesteld voor # van je boeken; deze schakelen terug naar hun eigen lettertype.}}", + "removeConsequenceDefault": "Het is je standaard lettertype; boeken zonder hun eigen instelling gaan terug naar de standaard boeken.", + "removeQuestion": "{name} uit uw lettertypen verwijderen?" + } }, "bookDock": { "title": "Book Dock", @@ -2474,7 +3037,58 @@ "noLanguage": "Geen taal", "noPublisher": "Geen uitgever" }, - "unknownModifier": "Onbekende modificator \"{modifier}\". Het wordt genegeerd, waardoor de waarde ongewijzigd blijft." + "unknownModifier": "Onbekende modificator \"{modifier}\". Het wordt genegeerd, waardoor de waarde ongewijzigd blijft.", + "rulesNav": "Naamgeving regels", + "railFoot": "Een bibliotheek zonder een eigen patroon volgt de standaard waarin het zit.", + "usedBy": "Gebruikt door {libraries}", + "followsBase": "Volgt de {base}.", + "copyPattern": "Kopieer patroon", + "recipes": "Recepten", + "recipesTitle": "Begin bij een recept", + "recipesReplace": "Vervangt het hele patroon", + "recipeInUse": "In gebruik", + "insert": "Insert", + "insertToolbar": "In het patroon invoegen", + "insertOptional": "Optioneel", + "insertFallback": "Fallback", + "insertFolder": "Map", + "lineHint": "Druk op {enter} om een nieuwe map te starten of type {brace} om een token te kiezen. Klik op een mappictogram om deze map over te slaan als de waarde ontbreekt.", + "downloadLineHint": "Downloads hebben geen mappen, dus alleen het laatste deel van het patroon wordt gebruikt.", + "tokenSuggestions": "Overeenkomende tokens", + "noTokenMatch": "Geen token komt overeen met \"{query}\".", + "uploadedNameKept": "Geüploade bestandsnaam bewaard", + "level": { + "folder": "Map {n}", + "bookFolder": "Map reserveren", + "file": "Bestandsnaam is vereist", + "skipWhenEmpty": "Sla {level} over wanneer de waarde ontbreekt", + "skippedWhenEmpty": "Overgeslagen wanneer de waarde ontbreekt. Klik om deze map altijd aan te maken.", + "alwaysCreated": "Altijd aangemaakt. Klik om deze map over te slaan als de waarde ontbreekt." + }, + "result": "Resultaat", + "previewWith": "Voorbeeldweergave met", + "previewWithAria": "Voorbeeld met {title}", + "previewBook": { + "sample": "Voorbeeld boek", + "longTitle": "Lange titel en series", + "longSubtitle": "Lange ondertitel", + "manyAuthors": "Vijf auteurs", + "audiobook": "Audiobook", + "standalone": "Geen serie" + }, + "previewingCase": "Voorbeeld: {case}", + "showComplete": "Toon compleet", + "previewStale": "Het voorbeeld vangt aan zodra het patroon is bevestigd.", + "noChange": "Geen verandering", + "tagSkipped": "overgeslagen", + "tagFallback": "fallback", + "tagBookFolder": "Boek map", + "tagUploadedName": "geüploade naam", + "tagShortened": "verkorte tot 255 bytes", + "tagEmptyName": "lege naam", + "levelSkipped": "Overgeslagen omdat {token} leeg is", + "levelEmptyName": "Lege map naam. Geef deze map een fallback zodat het altijd een folder heeft.", + "renameNote": "Boeken houden al op schijf hun paden bij. Bibliotheken die bestanden hernoemen passen dit patroon toe wanneer de volgende keer dat de details van een boek worden opgeslagen: {libraries}." }, "kobo": { "title": "Kobo-synchronisatie", @@ -2835,7 +3449,13 @@ "unmatchedDismissed": "Niet-gekoppeld boek genegeerd", "dismissFailed": "Negeren van niet-gekoppeld boek mislukt", "allDismissed": "{count, plural, =0 {Geen niet-gekoppelde boeken genegeerd} one {# niet-gekoppeld boek genegeerd} other {# niet-gekoppelde boeken genegeerd}}", - "dismissAllFailed": "Negeren van alle niet-gekoppelde boeken mislukt" + "dismissAllFailed": "Negeren van alle niet-gekoppelde boeken mislukt", + "reviewRefreshed": "Boeken om te bekijken vernieuwd", + "reviewRefreshFailed": "Vernieuwen van boeken om te bekijken mislukt", + "reviewDismissed": "Boek verwijderd uit review", + "reviewDismissFailed": "Afwijzen boek uit review is mislukt", + "reviewAllDismissed": "{count, plural, =0 {Weg geen boeken uit de review} one {Ontsloeg # boek van beoordeling} other {Ontsloeg # boeken uit de review}}", + "reviewDismissAllFailed": "Niet gelukt om alle boeken uit review te verwijderen" }, "modal": { "linkTitle": "KOReader-boek koppelen", @@ -2888,7 +3508,15 @@ "syncedStatsNote": "Reeds gesynchroniseerde statistieken blijven bij hun huidige BookOrbit-boek.", "chooseDifferent": "Andere kiezen", "saving": "Opslaan...", - "confirmLink": "Koppeling bevestigen" + "confirmLink": "Koppeling bevestigen", + "reviewTitle": "KOReader boeken te controleren", + "reviewHint": "Boeken zonder een automatische overeenkomst en boeken die je niet verbonden hebt verschijnen hier. Ontkoppelde boeken kunnen nog steeds synchroniseren via een automatische wedstrijd. Koppel een boek om te overschrijven die overeenkomen, of verwijder het om het te verwijderen van deze lijst.", + "loadingReview": "Boeken laden om te beoordelen...", + "noReview": "Geen KOReader boeken om te bekijken.", + "manualUnlinkConfirmBody": "Verwijder de handmatige link naar {title} en geef dit boek terug naar de beoordelingslijst. Toekomstige synchronisatie zal een automatische match gebruiken als deze bestaat. Al gesynchroniseerde statistieken zullen in hun huidige BookOrbit boek blijven.", + "reviewDismissConfirmBody": "Dit verwijdert het uit je boeken die moeten worden beoordeeld. Automatische overeenkomende en bestaande synchronisatiegegevens worden bewaard. Als een apparaat de hash opnieuw zonder match rapporteert, kan het opnieuw verschijnen.", + "reviewDismissAllConfirmTitle": "{count, plural, =0 {Geen boeken om te beoordelen} one {Verwijder al het # boek om te beoordelen?} other {Alle # boeken afwijzen om te beoordelen?}}", + "reviewDismissAllConfirmBody": "Dit wist je hele boeken om de lijst te beoordelen, inclusief items op andere pagina's. Automatische overeenkomende en bestaande synchronisatiegegevens worden bewaard. Als een apparaat een hash opnieuw rapporteert zonder een vergelijking, kan het opnieuw verschijnen." }, "remove": "Verwijderen", "removing": "Verwijderen...", @@ -3538,6 +4166,7 @@ "nav": { "title": "Instellingen", "ariaLabel": "Instellingensecties", + "breadcrumbLabel": "Kruimelpad", "searchPlaceholder": "Zoekinstellingen", "clearSearch": "Clear search", "noResults": "Er komen geen instellingen overeen met {query}.", @@ -3584,9 +4213,58 @@ "serverFonts": "Lettertypen geïnstalleerd voor elke lezer op deze server.", "bookDock": "Snelle acties weergegeven op boekpagina's.", "auditLog": "Wie heeft wat gewijzigd, en wanneer.", - "requests": "Bronnen, downloadclients en wat er met een boek gebeurt zodra het is gedownload." + "requests": "Bronnen, downloadclients en wat er met een boek gebeurt zodra het is gedownload.", + "readerTts": "Lees-luide stem, snelheid en verhaal standaard.", + "adminTts": "Tekst-naar-spraak engines beschikbaar voor elke lezer op deze server." }, - "backToApp": "Terug naar bibliotheek" + "backToApp": "Terug naar bibliotheek", + "pageDescriptions": { + "profile": "Uw naam, foto, tijdzone en prestatie tracking, plus uw wachtwoord en de inlog aanbieders gekoppeld aan dit account.", + "appearance-theme": "Kies waar je weergave-instellingen worden opgeslagen, en stel vervolgens het stijl, kleurschema, accent, hoeken, oppervlaktehelderheid en het patroon achter je bibliotheek in.", + "appearance-book-covers": "Hoe omslag ziet in de app: plaatshouder kunst voor boeken zonder één, hoe omslag past bij hun slots, ruggen- en hoogglans effecten en de omslag tint op de boekenpagina's.", + "appearance-icons": "Upload uw eigen pictogrammen om te gebruiken naast de ingebouwde set voor bibliotheken, slimme schermen en collecties.", + "appearance-layout": "Cover formaten en afstand voor het bibliotheekrad, de omslag getoond voor een ingeklapte ser, en hoe het auteursraster is uitgelegd.", + "appearance-behavior": "Wat het openen van een boek vanuit een raster of lijst doet, of series inklappen op één kaart en of Boekenverzoeken op dit account staan.", + "appearance-language": "De taal BookOrbit gebruikt voor menu's, labels en berichten en de regionale formaten voor data en getallen.", + "reader-ebook": "Standaard voor de eBook leader: of nieuwe boeken beginnen met uw instellingen, paginagrootte en kolommen, thema en typografie zoals letterlijk, grootte en spatie.", + "reader-pdf": "Hoe PDFs openen: pagina per pagina of een continue scroll, welke pagina een spread-tweepagina start en de standaard zoompas.", + "reader-comics": "Hoe comics lezen: leesmodus en richting, enkelvoudige of tweepagina's spreads, fit, handling van meerdere pagina's en ga verder naar het volgende boek in de reeks.", + "reader-audio": "De startsnelheid en volume voor nieuwe audioboods, en hoe ver de knoppen terug kunnen overslaan en vooruit kunnen springen.", + "reader-fonts": "Upload je eigen lettertypen voor de lezer, en kies welke lettertypen gedeeld worden door de serverbeheerder.", + "reader-general": "Waar uw lezervoorkeuren worden opgeslagen, en de standaardwaarden worden gedeeld door elke leesmodus.", + "tts": "Uw standaard stem en snelheid wanneer BookOrbit een boek hardop leest.", + "notifications": "Kies welke events u informeren van voltooide scans en metagegevens naar hernoemen, importeren en boek Dock-resultaten.", + "privacy": "Bepaal hoeveel leesactiviteit beheerders kunnen zien, uw gedeelde profiel bekijken en controleren wie het heeft bekeken.", + "restrictions": "Inhoudslimieten voor dit account, zoals leeftijdwaarderingen en verborgen inhoud, en wat ze buiten je bibliotheken houden.", + "libraries": "Elke bibliotheek op een oogopslag: zijn mappen, wat het bezit, hoe het wordt gescand en wanneer het voor het laatst bereikbaar is. Hier bibliotheken toevoegen, bewerken of opnieuw versturen.", + "metadata-providers": "Zet metadata bronnen aan of uit, voeg API sleutels of cookies toe waar een bron ze nodig heeft, en test de referenties met de live service.", + "metadata-field-rules": "Kies welke aanbieders het veld metadata invullen, in welke volgorde, hoe waarden worden samengevoegd en hoe genres en provider-ID's worden verzameld.", + "metadata-custom-fields": "Maak uw eigen metadata velden, kies hun type en de bibliotheken die ze gebruiken, en herschik of archiveer ze.", + "metadata-score": "Bepaal hoeveel elke metadata veld telt voor de volledigheidsscore die getoond wordt in elk boek.", + "metadata-auto-fetch": "Haal de metadata van het boek automatisch op wanneer boeken worden geïmporteerd of ontbrekende details ontbreken, met overrides voor elke bibliotheek.", + "metadata-authors": "Ophalen biografieën en foto's automatisch, kies de bronnen van de bestelling en kies welke auteurs gekwalificeerd zijn.", + "metadata-search-cache": "Bewaar de provider antwoorden zodat herhalingszoekopdrachten snel zijn en nog steeds werken wanneer een provider af is, en bepaal hoe lang en hoeveel wordt bewaard.", + "metadata-genre-blocklist": "De hier vermelde genre waarden worden van provider resultaten gehaald voordat metadata wordt geschreven, dus labels zoals Audiobook blijven buiten uw boeken.", + "metadata-reminders": "Kies welke ontbrekende velden worden weergegeven in boekherinneringen. Dit wijzigt alleen de herinneringen, niet de metadata scores.", + "file-naming": "Map en bestandsnaam patronen die worden gebruikt wanneer BookOrbit boeken op schijf hernoemt, met een voorbeeld van het resultaat en wat er gebeurt als een waarde ontbreekt.", + "maintenance": "Server huishouding: upload limiet, import uit het verleden, het opnieuw opbouwen van aanbevelingen, backfill prestaties en controleren op updates.", + "kobo": "Verbind Kobo e-lezers, kies hoe boeken, planken en het lezen van de voortgang synchronisatie en volg de recente synchronisatie van elk apparaat.", + "koreader": "Synchroniseer voortgang, lees activiteit en markeert met KOReader, verplaats de sync URL en plugin en beheer de apparaten die verbinden.", + "opds": "Schakel de OPDS catalogus in en maak accounts aan zodat apps die door derden lezen uw boeken kunnen bladeren en downloaden.", + "email": "Beheer de adresboeken waarnaar u wordt verzonden, zoals Kindle inboxes, ster de standaard en groep ontvangers om meerdere tegelijk te verzenden.", + "hardcover": "Verbind je Hardcover-account en kies wanneer je de status, voortgang en beoordelingen synchroniseert en hoe gesynchroniseerde boeken verschijnen.", + "readwise": "Verbind uw Readwise account om uw hoogtepunten automatisch te sturen.", + "storygraph": "Verbind uw StoryGraph account met behulp van uw browser sessie cookies om leesvoortgang en status te synchroniseren.", + "users": "Maak en beheer accounts, hun rollen, rechten en toegang tot de bibliotheek en zie welke accounts aandacht nodig hebben.", + "account-activity": "Zie wanneer elk account voor het laatst actief was en hoe het tekent, en open per-user lees- en sessie-inzichten.", + "magic-links": "Maak deelbare links die iemand zonder een wachtwoord ondertekenen en trek ze in wanneer ze niet meer nodig zijn.", + "oidc": "Verbind een enkele aanwijzing-provider zoals Keycloak, wijs zijn claims in kaart en beslis hoe nieuwe accounts worden gemaakt.", + "requests": "Waar BookOrbit zoekt naar aangevraagde boeken, welke klanten downloaden deze en wat er gebeurt als een download klaar is.", + "admin-tts": "De tekst-naar-spraak-motoren kunnen lezers gebruiken voor lees-aloud, de stemmen die van elk worden aangeboden en de volgorde waarin ze verschijnen.", + "book-dock": "De Boek Dock drop map, automatische metadata ophalen voor nieuwe bestanden, en de score waarop de bestanden zelf afgerond zijn.", + "server-fonts": "Upload lettertypen éénmaal voor elke lezer op deze server. Elke lezer kan er nog een verbergen.", + "audit-log": "Een doorzoekbare record van wie wat heeft veranderd en wanneer, filterbaar door event, persoon, beïnvloed voorwerp en datum." + } }, "field": { "required": "(vereist)" @@ -3621,6 +4299,201 @@ "earned": "Behaald ({count})", "inProgress": "Bezig ({count})", "locked": "Vergrendeld ({count})" + }, + "tiersEarnedFact": "{earned} van {total} niveaus", + "loading": "Prestaties laden", + "filters": { + "label": "Resultaten filteren", + "all": "Allemaal", + "earned": "Verdiend", + "inProgress": "In behandeling", + "locked": "Vergrendeld" + }, + "showcase": { + "label": "Hoogtepunten", + "latest": "Laatste ontgrendeling", + "newToday": "{count, plural, one {# nieuw vandaag} other {# nieuw vandaag}}", + "secretRevealed": "Geheim onthullen", + "categoryAndDate": "{category} · {date}", + "alsoNew": "Ook nieuw", + "openMedal": "Open {name}", + "emptyTitle": "Je eerste medaille wacht op je", + "emptyBody": "Voltooi een boek, beoordeel één of markeer een passage, en het landt hier.", + "collection": "Collectie", + "shareOfTiers": "{percent} van elke rang", + "tiersEarned": "{earned} van {total} niveaus verdiend", + "closest": "Dichtstbijzijnde te ontgrendelen", + "allInProgress": "Alle {count}", + "tierOfSet": "Rang {tier} van {set}", + "nothingCounting": "Niets telt nog in een medaille." + }, + "shelf": { + "tiers": "{earned} / {total}", + "progressLabel": "{category} niveaus verdiend" + }, + "medal": { + "label": "{name}, {rarity}, {status}", + "tier": "Rang {tier}", + "allTiers": "{count, plural, one {De enige tier} other {Alle # niveaus}}", + "keepReading": "Blijf lezen", + "notStarted": "Niet gestart" + }, + "progress": { + "generic": "{current} / {threshold}", + "toGo": "{count, plural, one {# om te gaan} other {# om te gaan}}" + }, + "hints": { + "howToGetIt": "Hoe krijg je het", + "readingPace": "{count, plural, one {U leest # uur in de laatste {days} dagen.} other {U leest # uur in de laatste {days} dagen.}}", + "etaDays": "{count, plural, one {Ongeveer # dag in dit tempo.} other {Ongeveer # dagen in dit tempo.}}", + "etaWeeks": "{count, plural, one {Ongeveer # week in dit tempo.} other {Ongeveer # weken in dit tempo.}}", + "etaMonths": "{count, plural, one {Ongeveer # maand in dit tempo.} other {Ongeveer # maanden in dit tempo.}}", + "decadeUnread": "{count, plural, one {# boek uit de jaren {decade} wacht op je boekenplanken.} other {# boeken uit de jaren {decade} wachten op je boekenplanken.}}", + "centuryUnread": "{count, plural, one {# boek uit de jaren {century} wacht op je boekenplanken.} other {# boeken uit de jaren {century} wachten op je boekenplanken.}}", + "stalled": "{title} is {percent} gelezen en is gestart op {date}.", + "stalledNoProgress": "{title} werd gestart op {date}.", + "untitledBook": "Een boek in uitvoering", + "nearlyFinished": "{count, plural, one {# boek dat je aan het lezen bent, is voor meer dan {percent} gelezen.} other {# boeken die je aan het lezen bent, zijn voor meer dan {percent} gelezen.}}", + "unratedFinished": "{count, plural, one {# boek dat je hebt uitgelezen, heeft nog geen beoordeling.} other {# boeken die je hebt uitgelezen, hebben nog geen beoordeling.}}", + "shortBooks": "{count, plural, one {# boek met minder dan {pages} pagina's wacht op je boekenplanken.} other {# boeken met minder dan {pages} pagina's wachten op je boekenplanken.}}", + "alreadyStarted": "{count, plural, one {# wordt al gelezen.} other {# worden al gelezen.}}", + "longBooks": "{count, plural, one {# boek met {pages} pagina's of meer wacht op je boekenplanken.} other {# boeken met {pages} pagina's of meer wachten op je boekenplanken.}}", + "oldBooks": "{count, plural, one {# boek dat vóór {year} is gepubliceerd, wacht op je boekenplanken.} other {# boeken die vóór {year} zijn gepubliceerd, wachten op je boekenplanken.}}", + "authorUnread": "{author}: {finished, plural, one {# uitgelezen} other {# uitgelezen}}, {count, plural, one {nog # op je boekenplanken} other {nog # op je boekenplanken}}.", + "languageUnread": "{count, plural, one {# boek in het {language} wacht op je boekenplanken.} other {# boeken in het {language} wachten op je boekenplanken.}}", + "monthsRead": "{count, plural, one {Je hebt tot nu toe in # maand van {year} gelezen.} other {Je hebt tot nu toe in # maanden van {year} gelezen.}}", + "monthsLeft": "{count, plural, one {{months} resteert.} other {{months} resteren.}}", + "noLongBook": "Er is nog geen boek op uw plank met {pages} pagina's of meer.", + "nothingBeforeYear": "Er is niets op uw plank gepubliceerd voor {year}.", + "tooFewDecades": "{count, plural, one {Je boekenplanken beslaan tot nu toe slechts # decennium.} other {Je boekenplanken beslaan tot nu toe slechts # decennia.}}", + "tooFewCenturies": "{count, plural, one {Je boekenplanken beslaan tot nu toe slechts # eeuw.} other {Je boekenplanken beslaan tot nu toe slechts # eeuwen.}}", + "missedMonth": "Je hebt niet gelezen in {month}, dus {year} is buiten bereik. De telling begint opnieuw in januari.", + "continueReading": "Lees verder", + "rateFinished": "Beoordeel een voltooid boek", + "viewAuthor": "Bekijk auteur", + "openBook": "Open {title}", + "openUntitledBook": "Boek openen" + }, + "sets": { + "booksFinished": "Boeken voltooid", + "pagesRead": "Pagina's gelezen", + "hoursRead": "Uren gelezen", + "longestBook": "Langste boek afgelopen", + "librarySize": "Bibliotheek grootte", + "annotations": "Aantekeningen", + "booksRated": "Boeken beoordeeld", + "genresFinished": "Genres voltooid", + "languagesFinished": "Talen voltooid", + "readingStreak": "Lezen reeks" + }, + "units": { + "books": { + "progress": "{current} / {threshold} boeken", + "toGo": "{count, plural, one {# boek om te gaan} other {# boeken om te gaan}}" + }, + "pages": { + "progress": "{current} / {threshold} pagina's", + "toGo": "{count, plural, one {# pagina om te gaan} other {# pagina's om te gaan}}" + }, + "hours": { + "progress": "{current} / {threshold} uur", + "toGo": "{count, plural, one {# uur om te gaan} other {# uur om te gaan}}" + }, + "annotations": { + "progress": "{current} / {threshold} aantekeningen", + "toGo": "{count, plural, one {# aantekening om te gaan} other {# aantekeningen te gaan}}" + }, + "ratings": { + "progress": "{current} / {threshold} beoordelingen", + "toGo": "{count, plural, one {# beoordeling om te gaan} other {# beoordelingen om te gaan}}" + }, + "genres": { + "progress": "{current} / {threshold} genres", + "toGo": "{count, plural, one {# genre om te gaan} other {# genres om te gaan}}" + }, + "languages": { + "progress": "{current} / {threshold} talen", + "toGo": "{count, plural, one {# taal om te gaan} other {# talen om te gaan}}" + }, + "days": { + "progress": "{current} / {threshold} dagen", + "toGo": "{count, plural, one {# dag om te gaan} other {# dagen om te gaan}}" + } + }, + "moments": { + "nthBook": "Boek {number} was {title}", + "pagesAtUnlock": "{count, plural, one {# pagina} other {# pagina's}} wanneer het ontgrendeld is", + "hoursAtUnlock": "{count, plural, one {# uur} other {# uur}} wanneer het ontgrendeld is", + "titleWithPages": "{title}, {count, plural, one {# pagina} other {# pagina's}}", + "booksAtUnlock": "{count, plural, one {# boek} other {# boeken}} in je bibliotheek wanneer deze ontgrendeld is", + "annotationsAtUnlock": "{count, plural, one {# aantekening} other {# aantekeningen}} op het moment van ontgrendelen", + "ratingsAtUnlock": "{count, plural, one {# beoordeling} other {# beoordelingen}} wanneer het ontgrendeld is", + "genresAtUnlock": "{count, plural, one {# genre} other {# genres}} wanneer het ontgrendeld is", + "languagesAtUnlock": "{count, plural, one {# taal} other {# talen}} wanneer het ontgrendeld is", + "streakAtUnlock": "{count, plural, one {# dag} other {# dagen}} op rij", + "longSession": "Één sessie liep {duration}", + "durationHours": "{hours} u {minutes} min", + "durationMinutes": "{minutes} minuten", + "sessionStartedAt": "Een sessie die begon bij {time}", + "oneDayBook": "{title}, begin met voltooien in één dag", + "booksInWeek": "{count, plural, one {# boek} other {# boeken}} uitgelezen in één week", + "booksInMonth": "{count, plural, one {# boek} other {# boeken}} uitgelezen in {month}", + "booksInYear": "{count, plural, one {# boek} other {# boeken}} uitgelezen in {year}", + "wholeBookOneSession": "Een heel boek in één sessie", + "pagesInSession": "{count, plural, one {# pagina} other {# pagina's}} in één sessie", + "pagesInDay": "{count, plural, one {# pagina} other {# pagina's}} in één dag", + "slowBurn": "{title}, uitgelezen na {count, plural, one {# dag} other {# dagen}}", + "formatsOwned": "{count, plural, one {# formaat} other {# formaten}} op je planken", + "annotationsWithNote": "{count, plural, one {# aantekening} other {# aantekeningen}} met een notitie", + "annotationsInDay": "{count, plural, one {# aantekening} other {# aantekeningen}} in één dag", + "everyStar": "Elke beoordeling van één ster naar vijf", + "everyColour": "Elke gemarkeerde kleur gebruikt", + "titlePublished": "{title}, gepubliceerd {year}", + "booksInGenre": "{count, plural, one {# boek} other {# boek}} in één genre", + "firstInSeries": "{title}, van de {series} series", + "centuries": "Boeken van {count, plural, one {# eeuw} other {# eeuwen}}", + "booksBySameAuthor": "{count, plural, one {# boek} other {# boek}} door één auteur", + "decades": "Boeken van {count, plural, one {# decennium} other {# decennia}}", + "shortBooks": "{count, plural, one {# kort boek} other {# korte boek}} klaar", + "allSeasons": "Alle vier seizoenen {year}", + "consistentDays": "{count, plural, one {# dag} other {# dagen}} van 30 minuten of meer", + "weekendsInRow": "{count, plural, one {# weekend} other {# weeken}} op rij", + "weekendHours": "{count, plural, one {# uur} other {# uur}} in het weekend van {date}", + "categoriesCovered": "{count, plural, one {# categorie} other {# categorieën}} met een prestatie", + "readingSources": "{count, plural, one {# leesbron} other {# lezen bronnen}}", + "oneBookSources": "Eén boek gelezen uit {count, plural, one {# bron} other {# bronnen}}" + }, + "records": { + "title": "Boek opnemen", + "subtitle": "De getallen achter je medailles, zoals ze stonden wanneer ze elk ontgrendeld zijn", + "value": "{value}", + "oneSession": "Één leessessie", + "pagesInSession": "Pagina's in één sessie", + "pagesInDay": "Pagina's in één dag", + "booksInWeek": "Boeken in één week", + "booksInMonth": "Boeken in {month}", + "booksInYear": "Boeken beëindigd in {year}", + "annotations": "Aantekeningen", + "genresFinished": "Genres voltooid", + "daysInRow": "Dagen achter elkaar", + "booksInLibrary": "Boeken in je bibliotheek" + }, + "detail": { + "categoryTierSet": "{category} · Rang ingesteld", + "secretHint": "Blijf lezen om deze te onthullen.", + "tierOf": "Rang {earned} van {total}", + "current": "Stroom", + "noneYet": "Nog geen", + "progress": "Vooruitgang", + "allTiersEarned": "Elk niveau verdiend", + "tiers": "Rang", + "earned": "Verdiend", + "status": "status", + "hidden": "Hidden", + "rarity": "Zeldzaamheid", + "category": "categorie", + "theSet": "De set", + "theMoment": "Het moment" } }, "adminFeature": { @@ -4352,7 +5225,13 @@ "user": "Gebruiker", "action": "Actie", "description": "Beschrijving", - "ip": "IP" + "ip": "IP", + "time": "Tijd", + "person": "Persoon", + "source": "Bron", + "open": "Open", + "network": "Netwerk", + "activity": "Activiteit" }, "categories": { "authentication": "Authenticatie", @@ -4362,7 +5241,10 @@ "collections": "Collecties", "integrations": "Integraties", "settings": "Instellingen", - "other": "Overig" + "other": "Overig", + "access": "Inloggen en toegang", + "requests": "Verzoeken", + "devices": "Apparaten & e-mail" }, "resourceLabels": { "User": "Gebruiker", @@ -4526,10 +5408,178 @@ "MaintenanceMissingBooksClean": "Ontbrekende boeken opgeruimd", "MaintenanceBrokenCoversClean": "Kapotte covers schoongemaakt", "MaintenanceOrphanedCoversClean": "Verweesde omslagmappen opgeschoond" - } + }, + "views": { + "label": "Weergeven", + "changes": "Veranderingen", + "signins": "Aanmeldingen", + "security": "Beveiliging", + "all": "Allemaal" + }, + "search": { + "label": "Afspraken zoeken", + "placeholder": "Zoek mensen, doelen of IP-adressen", + "placeholderShort": "Afspraken zoeken" + }, + "range": { + "label": "Date range: {range}", + "today": "vandaag", + "7d": "Afgelopen 7 dagen", + "30d": "Laatste 30 dagen", + "all": "Alles bewaard", + "custom": "Aangepast bereik", + "from": "van", + "to": "tot", + "between": "{from} naar {to}", + "since": "Sinds {date}", + "until": "Tot {date}", + "sinceOldest": "Sinds {date}" + }, + "filterMenu": { + "button": "Filters", + "category": "categorie", + "person": "Persoon", + "findPerson": "Zoek een persoon", + "noPeople": "Geen overeenkomende personen", + "clear": "Verwijderen", + "done": "Voltooid" + }, + "activeFilters": { + "target": "{type}: {name}", + "clearAll": "Alles wissen" + }, + "securityGroups": { + "label": "Type veiligheidsgebeurtenis", + "all": "Alles", + "failed": "Mislukte aanmeldingen", + "accounts": "Rekeningen", + "passwords": "Wachtwoorden", + "permissions": "Machtigingen", + "access": "Bibliotheek toegang", + "links": "Inlog links" + }, + "day": { + "today": "vandaag", + "yesterday": "gisteren", + "changes": "{count, plural, one {# verander} other {# wijzigingen}}", + "events": "{count, plural, one {# event} other {# gebeurtenissen}}" + }, + "person": { + "system": "Systeem", + "deleted": "Verwijderd account", + "automation": "Automatisering" + }, + "source": { + "server": "Deze server", + "local": "Lokaal netwerk", + "internet": "Internet", + "job": "Achtergrond job", + "unknown": "Niet opgenomen" + }, + "target": { + "none": "No target", + "more": "+{count}", + "sinceDeleted": "Sinds verwijderd", + "withId": "{type} #{id}" + }, + "openEvent": "Open details: {event}", + "signIns": { + "signIns": "{count, plural, one {# Aanmelden} other {# aanmelden}}", + "signOuts": "{count, plural, one {# uitlog} other {# uitlogt}}", + "failed": "{count, plural, one {# mislukte pogingen} other {# mislukte pogingen}}", + "failedAs": "{count, plural, one {# is mislukt als {names}} other {# mislukt als {names}}}", + "range": "{from} - {to}", + "footer": "{count, plural, one {{events} Aanmelden voor evenementen, vouw in # rijen per persoon, dag en netwerk} other {{events} Meld je aan om in te loggen op # rijen per persoon, dag en per netwerk}}" + }, + "pager": { + "label": "Pagina's", + "previous": "Vorige pagina", + "next": "Volgende pagina", + "page": "Pagina {page}", + "changes": "{from}–{to} van {count, plural, one {# verander} other {# wijziging}}", + "events": "{from}–{to} van {count, plural, one {# gebeurtenis} other {# # gebeurtenissen}}" + }, + "drawer": { + "description": "Details van één auditgebeurtenis", + "close": "Afsluiten", + "subtitle": "{category} {day}, {time}", + "when": "Wanneer", + "person": "Persoon", + "source": "Bron", + "target": "Target", + "usernameTried": "Gebruikersnaam geprobeerd", + "deletedHere": "{type} verwijderd door deze gebeurtenis", + "deletedSince": "{type} · sinds verwijderd", + "inThisRow": "{count, plural, one {# event in deze rij} other {# events in deze rij}}", + "around": "Om dit evenement heen", + "aroundHint": "{name}, 40 minuten aan beide zijden", + "aroundEmpty": "Niets anders van {name} binnen 40 minuten.", + "history": "Geschiedenis", + "historyCount": "{count, plural, one {# event} other {# gebeurtenissen}}", + "historyMeta": "{name} {date}, {time}", + "thisEvent": "Deze gebeurtenis", + "raw": "Onbewerkte gebeurtenis", + "rawEventId": "Gebeurtenis ID", + "rawAction": "actie", + "rawTarget": "Target type", + "rawNote": "Server notitie", + "only": "Alleen {name}" + }, + "facts": { + "format": "Formatteren", + "size": "Grootte", + "download": "downloaden", + "dockFile": "Dock-bestand reserveren", + "rejected": "Geweigerd", + "failed": "Mislukt", + "cleaned": "Opgeschoond", + "skipped": "Overgeslagen", + "remaining": "Resterend", + "sharingLevel": "Deel niveau", + "sharing": { + "private": "Niet gedeeld", + "summary": "Summary", + "detailed": "Gedetailleerd" + } + }, + "retention": { + "button": "{count, plural, one {Kept voor # dag} other {Kept voor # dagen}}", + "title": "Evenementen behouden voor", + "days": "{count, plural, one {# dag} other {# dagen}}", + "hint": "Oudere gebeurtenissen worden elke nacht om middernacht verwijderd.", + "hintWithOldest": "Oudere gebeurtenissen worden elke nacht om middernacht verwijderd. Het oudste evenement dat wordt bijgehouden is van {date}.", + "readOnly": "Alleen mensen die app instellingen kunnen wijzigen kunnen dit aanpassen.", + "saved": "{count, plural, one {Auditgebeurtenissen worden nu # dag bewaard.} other {Auditgebeurtenissen worden nu # dagen bewaard.}}", + "saveFailed": "Kan niet veranderen hoe lang gebeurtenissen worden bewaard." + }, + "export": { + "button": "Exporteren", + "title": "Exporteer wat getoond wordt", + "hint": "Gebruikt de huidige weergave, filters en datumbereik.", + "csv": "csv", + "json": "JSON", + "failed": "Kan het auditlogboek niet exporteren." + }, + "emptyFiltered": "Geen overeenkomende afspraken gevonden met deze filters." }, "auth": { "backToSignIn": "Terug naar inloggen", + "plate": { + "exLibris": "Ex Libris" + }, + "endpaper": { + "change": "Verander eindpapier", + "options": { + "seigaiha": "Golven", + "shippo": "Gekoppelde cirkels", + "asanoha": "Hemp blad", + "quatrefoil": "Quatrefolie", + "ogee": "Ogee", + "harlequin": "Harlequin", + "greekKey": "Griekse sleutel", + "plain": "Eenvoudig" + } + }, "themePicker": { "switchToLight": "Naar licht schakelen", "switchToDark": "Naar donker schakelen", @@ -4547,7 +5597,10 @@ "confirmPassword": "Wachtwoord bevestigen", "confirmNewPassword": "Nieuw wachtwoord bevestigen", "currentPassword": "Huidig wachtwoord", - "passwordHint": "Min. 8 tekens met hoofdletter, kleine letter en een cijfer" + "passwordHint": "Min. 8 tekens met hoofdletter, kleine letter en een cijfer", + "showPassword": "Toon wachtwoord", + "hidePassword": "Wachtwoord verbergen", + "capsLockOn": "Caps Lock is ingeschakeld" }, "errors": { "generic": "Er is iets misgegaan. Probeer het opnieuw.", @@ -4559,9 +5612,11 @@ "signingIn": "Inloggen...", "orDivider": "of", "forgotPassword": "Wachtwoord vergeten?", + "resetPasswordAction": "Wachtwoord opnieuw instellen", "noAccount": "Heb je geen account?", "signUp": "Meld je aan", "registeredNotice": "Account aangemaakt. Meld je aan om door te gaan. Een beheerder moet machtigingen verlenen voordat je toegang krijgt tot de bibliotheek.", + "resetNotice": "Wachtwoord bijgewerkt. Log in met je nieuwe wachtwoord.", "errors": { "invalidCredentials": "Ongeldige gebruikersnaam of wachtwoord", "tooManyAttempts": "Te veel inlogpogingen. Wacht een minuut en probeer het opnieuw.", @@ -4733,6 +5788,8 @@ "selectVisible": "Zichtbare selecteren", "refreshMetadata": "Metadata vernieuwen", "refreshingMetadata": "Metadata vernieuwen...", + "confirmRefreshCount": "{count, plural, one {Vernieuw metadata voor # auteur?} other {Vernieuw metadata voor # auteurs?}}", + "refreshAction": "Vernieuwen", "deleteSelected": "Selectie verwijderen", "deleting": "Verwijderen...", "exitSelection": "Selectie afsluiten", @@ -4836,6 +5893,19 @@ }, "book": { "untitled": "Naamloos", + "placeholder": { + "volume": "Vol. {number}", + "genre": { + "horror": "Afgrijzen", + "romance": "Romantiek", + "fantasy": "Fantasy", + "scifi": "Sci-fi", + "mystery": "Mysterie", + "classic": "Klassieke", + "nonfiction": "Niet-fictie", + "young": "Jonge lezers" + } + }, "unknownFormat": "onbekend", "collapsedSeries": { "label": "Reeks", @@ -4850,6 +5920,7 @@ "audiobook": "Luisterboek" }, "formats": { + "djvu": "DjVu document", "epub": "EPUB e-boek", "kepub": "KEPUB e-boek", "pdf": "PDF-document", @@ -4892,6 +5963,10 @@ "openAs": "Openen als {format}", "openReadAlong": "Lees meeleesvenster EPUB" }, + "refreshMetadata": { + "success": "Metagegevens vernieuwd", + "failed": "Metadata vernieuwen mislukt" + }, "coverRegeneration": { "failed": "Kan de omslag niet opnieuw genereren", "bulkInProgress": "Hoezen er weer uit halen", @@ -4921,7 +5996,11 @@ "exportFailed": "Exporteren mislukt", "audiolessEpub": "KOReader EPUB", "audiolessEpubHint": "Download EPUB voor KOReader met verwijderde audiobestanden", - "noAudio": "geen geluid" + "noAudio": "geen geluid", + "textOnlyEpub": "Uitsluitende EPUB", + "textOnlyEpubHint": "Download een narrationeloze EPUB terwijl de leesankers behouden worden.", + "originalNarrated": "Originele EPUB met verhaal", + "originalNarratedEpub": "Originele EPUB met verhaal" }, "sort": { "moveUp": "Omhoog verplaatsen", @@ -5217,7 +6296,8 @@ }, "header": { "previousBook": "Vorige boek", - "nextBook": "Volgende boek" + "nextBook": "Volgende boek", + "backToLibrary": "Terug naar {library}" }, "tabs": { "details": "Details", @@ -5665,6 +6745,9 @@ }, "searchDrawer": { "searchTitle": "Metadata zoeken", + "autoSearchOnOpen": "Zoek automatisch bij openen", + "autoSearchOnOpenHint": "Gebruikt de details van het boek de volgende keer dat dit paneel wordt geopend. Onthoud uw account in deze browser.", + "searchOptions": "Zoek opties", "compareTitle": "Metadata vergelijken", "searchSubtitle": "Vind de beste provider-overeenkomst voor dit boek.", "compareSubtitle": "Bekijk verschillen en pas alleen toe wat je wilt." @@ -5884,6 +6967,8 @@ "score": "Score", "scoreTooltip": "Metadatascore {score} van 100", "emptyFields": "{count, plural, one {leeg veld} other {lege velden}}", + "emptyFieldsCount": "{count, plural, one {# leeg veld} other {# lege velden}}", + "emptyFieldsHeading": "Lege metadata velden", "emptyFieldsTooltip": "Nog niet ingevuld: {fields}. Zoek online om ze op te zoeken.", "libraryRow": "Bibliotheek", "primaryRow": "Primair", @@ -5985,6 +7070,12 @@ "resume": "Hervatten", "audiobook": "Audioboek", "writeTarget": "Doel schrijven", + "notWritten": { + "formatNotSupported": "Niet geschreven: niet-ondersteund formaat", + "formatDisabled": "Niet geschreven: formaat uitgeschakeld", + "fileExceedsSizeLimit": "Niet geschreven: overschrijding maximale grootte", + "notContentFile": "Niet geschreven: geen boek inhoud" + }, "enabled": "Ingeschakeld", "disabled": "Uit", "notSet": "niet ingesteld", @@ -6786,6 +7877,22 @@ "nFailed": "{count} mislukt", "nTotal": "{count} totaal" }, + "uploadFailures": { + "heading": "{count, plural, one {Kan # bestand niet uploaden} other {Kan # bestanden niet uploaden}}", + "dismissAll": "Alles afwijzen", + "retry": "Probeer {name} opnieuw te uploaden", + "dismiss": "{name} afwijzen", + "reason": { + "unsupported": "Niet-ondersteund bestandstype: .{extension}", + "noExtension": "Het bestand heeft geen extensie, dus de indeling is onbekend", + "tooLarge": "Groter dan de {limit} upload limiet", + "tooLargeServer": "Groter dan de server upload limiet", + "tooLargeProxy": "Geweigerd als te groot voordat het BookOrbit bereikte, waarschijnlijk door een reverse proxy", + "storageFull": "De server heeft geen opslagruimte", + "network": "Kon server niet bereiken", + "status": "Uploaden mislukt (HTTP {status})" + } + }, "fileList": { "emptyTitle": "Geen bestanden in Book Dock", "emptyMessageDefault": "Upload bestanden of plaats ze in de Book Dock-map", @@ -7045,7 +8152,40 @@ "moreOptions": "Meer opties", "fewerOptions": "Minder opties", "optionsSummary": "{formats} · notitie toegevoegd", - "formatToggleAria": "Liever {format}" + "formatToggleAria": "Liever {format}", + "pair": { + "choice": "Allebei", + "choiceHint": "Vraag het e-book en de audiobook samen", + "ebookLibraryLabel": "E-book bibliotheek", + "audiobookLibraryLabel": "Audiobook bibliotheek", + "audiobookFolderLabel": "Audiobook map", + "landsTogether": "Beide formaten komen als één boek in {library}.", + "landsSeparately": "{library} houdt één boek per bestand bij, dus elk formaat komt als een eigen boek.", + "landsApart": "Het e-boek en de audiobook gaan naar verschillende bibliotheken, zodat ze als twee boeken aankomen.", + "preferredEbookFormats": "Voorkeursindelingen voor e-books", + "preferredAudiobookFormats": "Gewenste audiobook indelingen", + "state": { + "owned": "In uw bibliotheek", + "following": "U heeft dit aangevraagd", + "joinable": "Aangevraagd", + "new": "Niet gevraagd" + }, + "requestBoth": "Beide aanvragen", + "getBoth": "Krijg beide", + "chooseReleases": "Kies releases", + "joinBoth": "Voeg me toe aan beide", + "requestEbook": "E-book aanvragen", + "requestAudiobook": "Audiobook aanvragen", + "getEbook": "Krijg e-book", + "getAudiobook": "Audiobook verkrijgen", + "joinEbook": "Voeg me toe aan het e-book verzoek", + "joinAudiobook": "Voeg me toe aan het audiobook-verzoek", + "haveBoth": "In uw bibliotheek", + "requestedBoth": "Aangevraagd", + "submitted": "Verzocht het e-book en de audiobook", + "submittedPartlyJoined": "Aangevraagd beiden. Er was er al een onderweg, dus je bent aan dat verzoek toegevoegd", + "submittedJoinsBook": "Gevraagd. Het zal al aansluiten bij de kopie in uw bibliotheek" + } }, "card": { "details": "Details", @@ -7104,7 +8244,10 @@ "forbidden": "Dat verzoek is van iemand anders.", "loadFailed": "Kan dat verzoek niet laden" }, - "entityName": "Verzoek" + "entityName": "Verzoek", + "pairSwitchLabel": "Formaten in dit verzoek", + "joinsBook": "Word lid van een boek dat je hebt", + "joinsBookHint": "Wanneer dit arriveert wordt het toegevoegd aan het boek al in uw bibliotheek" }, "actions": { "approve": "Goedkeuren", @@ -7119,7 +8262,29 @@ "grab": "Zoek een vrijgave", "goToBook": "Ga naar boeken", "retryRelease": "Probeer een andere release", - "leave": "Verlofaanvraag" + "leave": "Verlofaanvraag", + "pair": { + "approveBoth": "Keur beide goed", + "approveEbook": "Goedkeuren e-book", + "approveAudiobook": "Audiobook goedkeuren", + "rejectBoth": "Weiger beide", + "rejectEbook": "e-book afwijzen", + "rejectAudiobook": "Audiobook afwijzen", + "cancelBoth": "Annuleer beide", + "cancelEbook": "e-book annuleren", + "cancelAudiobook": "Audiobook annuleren", + "dismissBoth": "Negeer beide", + "dismissEbook": "e-book verwijderen", + "dismissAudiobook": "Audiobook verwijderen", + "restoreBoth": "Herstel beide", + "restoreEbook": "E-book herstellen", + "restoreAudiobook": "Herstel audiobook", + "grabEbook": "Vind een e-book release", + "grabAudiobook": "Vind een audiobook release", + "chooseReleases": "Kies releases", + "openEbook": "Open het e-book verzoek", + "openAudiobook": "Open het audiobook verzoek" + } }, "filters": { "status": "Status", @@ -7162,7 +8327,9 @@ "left": "Je heeft dit verzoek verlaten", "bulkRejected": "{count, plural, one {# verzoek afgewezen} other {# verzoeken afgewezen}}", "bulkRejectedPartial": "{done} afgewezen, {failed} kon niet worden", - "importDiscarded": "Het geïmporteerde bestand is verwijderd" + "importDiscarded": "Het geïmporteerde bestand is verwijderd", + "pairApproved": "Beide goedgekeurd", + "pairRejected": "Beide afgewezen" }, "errors": { "loadFailed": "Kan verzoeken niet laden", @@ -7182,7 +8349,9 @@ "languageChangeFailed": "Kan de verzoektaal niet wijzigen", "leaveFailed": "Dat verzoek kon niet worden gehonoreerd", "bulkRejectFailed": "Die selectie kon niet worden afgewezen", - "discardImportFailed": "Die import kon niet worden verwijderd" + "discardImportFailed": "Die import kon niet worden verwijderd", + "approveCompanionFailedEbook": "Deze is goedgekeurd, maar het e-book kon niet worden goedgekeurd", + "approveCompanionFailedAudiobook": "Deze is goedgekeurd, maar de audiobook kon niet worden goedgekeurd" }, "grab": { "title": "Verzenden naar een downloadclient", @@ -7228,6 +8397,18 @@ "releases": { "title": "Kies een release", "retryTitle": "Probeer een andere release", + "pairTitle": "Kies releases", + "pair": { + "tabsLabel": "Formaten om releases te kiezen voor", + "releaseCount": "{count, plural, one {# release} other {# releases}}", + "searching": "Zoeken", + "toChoose": "Om te kiezen", + "sent": "Verzonden", + "finishedTitle": "Niets om te kiezen", + "finishedHint": "Beide formaten hebben hun release nu. Je kan elk volgen vanaf het verzoek.", + "backToRequest": "Terug naar het verzoek", + "done": "Voltooid" + }, "subtitle": "Gerangschikt voor elke ingeschakelde indexer.", "summaryCount": "{count, plural, one {# vrijgave} other {# releases}}", "allFreeleech": "allemaal freeleech", @@ -7517,7 +8698,8 @@ "decidedBy": "Besloten door", "decisionNote": "Beslissingsnota", "requestNote": "Opmerking aanvragen", - "openDetail": "Volledige details openen" + "openDetail": "Volledige details openen", + "pairMedia": "E-boek en audiobook" }, "confirm": { "cancelDownloadTitle": "Deze download annuleren?", @@ -7573,7 +8755,9 @@ "SUBMIT_DESTINATION_REQUIRED": "Je verzoeken worden goedgekeurd zodra je ze doet, dus kies de bibliotheek waarin het boek terecht moet komen", "SUBMIT_SELF_SERVE_LIMIT": "Voltooi of annuleer eerst enkele downloads: je kunt {limit} in één keer in de vlucht hebben", "SUBMIT_ON_BEHALF_FORBIDDEN": "Het is je niet toegestaan boeken voor andere mensen aan te vragen", - "SUBMIT_ON_BEHALF_UNKNOWN_USER": "Voor die gebruiker kan geen boekaanvraag worden gedaan" + "SUBMIT_ON_BEHALF_UNKNOWN_USER": "Voor die gebruiker kan geen boekaanvraag worden gedaan", + "SUBMIT_TARGET_BOOK_NOT_FOUND": "Dat boek is niet in een bibliotheek die je kunt bereiken", + "SUBMIT_TARGET_BOOK_HAS_MEDIUM": "Dat boek heeft al dit formaat" }, "actionError": { "BOOK_REQUEST_NOT_PENDING": "Alleen een in behandeling zijnd verzoek ondersteunt deze actie; dit verzoek is momenteel {status}", @@ -7659,7 +8843,22 @@ "reviewSources": "Bronnen beoordelen" }, "selfServeBadge": "Zelfbediening", - "selfServeBadgeHint": "Rechtstreeks gedownload door de aanvrager, zonder goedkeuringsstap" + "selfServeBadgeHint": "Rechtstreeks gedownload door de aanvrager, zonder goedkeuringsstap", + "missingFormat": { + "labelAudiobook": "Audiobook voor dit boek", + "labelEbook": "E-book voor dit boek", + "noAudiobook": "Nog geen audiobook", + "noEbook": "Nog geen e-book", + "requestAudiobook": "Audiobook aanvragen", + "requestEbook": "E-book aanvragen", + "requested": "Aangevraagd", + "requestedBySomeone": "Aangevraagd door iemand anders", + "ownedElsewhere": "In uw bibliotheek als een apart boek", + "open": "Open", + "viewRequest": "Bekijk verzoek", + "submittedAudiobook": "Aangevraagd. De audiobook zal deelnemen aan dit boek wanneer het aankomt", + "submittedEbook": "Aangevraagd. Het e-boek zal bij aankomst deelnemen aan dit boek" + } }, "collection": { "visibleToAll": "Zichtbaar voor alle gebruikers", @@ -7736,6 +8935,9 @@ "uploadBooks": "Boeken uploaden", "appearance": "Weergave", "appearanceDescription": "Kies opties voor thema, accent, hoekradius, oppervlak en achtergrond.", + "style": "CSS", + "surfacePalette": "Oppervlak", + "topGlow": "Top gloed", "theme": "Thema", "accent": "Accent", "radius": "Radius", @@ -7833,7 +9035,8 @@ "updateTooltip": "{version}-update beschikbaar", "openUpdateRelease": "Open de {version}-release op GitHub", "zones": { - "browse": "Bladeren" + "browse": "Bladeren", + "reading": "Lezen" }, "reorder": { "gripAria": "Bestel {name} opnieuw", @@ -7864,6 +9067,8 @@ "moreActions": "Meer acties", "setField": "Veld instellen", "refreshMetadata": "Metadata vernieuwen", + "refreshConfirm": "{count, plural, one {Vernieuw metadata voor # boek?} other {Vernieuw metadata voor # boeken?}}", + "refreshConfirmAction": "Vernieuwen", "reExtractCover": "Omslag opnieuw extraheren", "metadataLock": "Metadata vergrendelen", "lockAll": "Alles vergrendelen", @@ -7925,6 +9130,69 @@ "table": "Tabelweergave" } }, + "browseHeader": { + "eyebrow": { + "library": "Bibliotheek", + "smartScope": "Slim bereik", + "collection": "Collectie", + "browse": "Bladeren" + }, + "facts": { + "books": "{count, plural, one {# boek} other {# boek}}", + "booksOf": "{matching} van {total, plural, one {# boek} other {# boeken}}", + "authors": "{count, plural, one {# auteur} other {# auteurs}}", + "series": "{count, plural, one {# series} other {# series}}", + "scanned": "Gescande {time}", + "scanningProgress": "Scannen van {processed} / {total}", + "syncsToKobo": "Kobo synchroniseren" + }, + "switcher": { + "open": "Overschakelen van {name}", + "jumpTo": "Spring naar...", + "libraries": "Bibliotheken", + "smartScopes": "Slimme toepassingsgebieden", + "collections": "Collecties", + "empty": "Geen resultaten" + }, + "search": { + "removeToken": "Filter {label} verwijderen", + "clearAll": "Zoek- en filters wissen", + "save": "Opslaan", + "summaryToken": "{count, plural, one {# filter} other {# filters}}" + }, + "tokens": { + "anyOf": "Een van {count, plural, one {# regel} other {# regels}}", + "allOf": "Alles van {count, plural, one {# regel} other {# regels}}" + }, + "sort": { + "sortBy": "Sorteren op {field}", + "ascending": "Oplopend. Overschakelen naar aflopend", + "descending": "Aflopend. Overschakelen naar oplopend" + }, + "facets": { + "format": "Formatteren", + "rules": "Regels", + "show": "Weergeven", + "library": "Bibliotheek", + "status": "status", + "ruleCount": "{count, plural, one {# regel} other {# regels}}" + }, + "menu": { + "more": "Meer voor {name}", + "editRules": "Regels bewerken", + "deleteSmartScope": "Verwijder Smart Scope", + "deleteCollection": "Collectie verwijderen", + "confirmDelete": "Verwijder \"{name}\"? Dit kan niet ongedaan worden gemaakt.", + "upload": "Upload boeken" + }, + "scan": { + "scanning": "Scannen", + "started": "Scannen van {name}", + "finished": "Scan van {name} voltooid" + }, + "viewModes": "Bekijk modus", + "legend": "Volume kleuren" + }, "iconPicker": { "clearSelectionAria": "Geselecteerd pictogram wissen", "searchLucide": "Lucide-pictogrammen zoeken...", @@ -8033,6 +9301,28 @@ "discardTitle": "Wijzigingen negeren?", "discardDescription": "Je niet-opgeslagen wijzigingen gaan verloren.", "discardConfirm": "Weggooien" + }, + "backgroundPicker": { + "none": "geen", + "dots": "Stippen", + "cross": "Doorkruisen", + "millimeter": "Millimeter", + "blueprint": "Blauwdruk", + "brushed": "Geborsteld", + "scanlines": "Scanlijnen", + "vinyl": "Vinyl", + "carbon": "Koolstof", + "perforated": "Geperforeerd", + "aurora": "Aurora", + "horizon": "horizon", + "glow": "Gloeien", + "mesh": "mesh", + "elevation": "Hoogte", + "prism": "Prisma", + "spectrum": "Spectrum", + "spectrum-x": "Spectrum X", + "spectrum-plus": "Spectrum Plus", + "eclipse": "Eclipse" } }, "customIcons": { @@ -8090,6 +9380,7 @@ }, "settings": { "title": "Dashboard aanpassen", + "preferencesTitle": "Voorkeuren Dashboard", "tabs": { "widgets": "Widgets", "shelves": "Planken" @@ -8126,6 +9417,11 @@ "twoColumns": "Twee kolommen", "twoColumnsDescription": "Toon twee planken per rij." }, + "shelfSync": { + "label": "Synchroniseer planken over sessies", + "description": "Sla jezelf volgorde, zichtbaarheid, rijtellingen en lay-out op in je account. Wanneer uit, blijf instellingen in deze browser staan." + }, + "saveFailed": "Kan de dashboardinstellingen niet opslaan. Controleer uw verbinding en probeer het opnieuw.", "libraryScope": { "title": "Dashboardbibliotheken", "description": "Kies welke bibliotheken boeken en leesgegevens bijdragen aan dit dashboard.", @@ -8272,6 +9568,7 @@ }, "tabs": { "providers": "Providers", + "servers": "Mail servers", "recipients": "Ontvangers", "groups": "Groepen", "templates": "Sjablonen", @@ -8440,6 +9737,306 @@ "sending": "Versturen...", "queued": "{count, plural, =0 {geen e-mails in wachtrij} one {één e-mail in wachtrij} other {# e-mails in wachtrij}}", "failed": "Versturen mislukt" + }, + "page": { + "addRecipient": "Ontvanger toevoegen", + "recipients": "Ontvangers", + "groups": "Groepen", + "newGroup": "Nieuwe groep", + "servers": "Mail servers", + "addServer": "E-mailserver toevoegen", + "templates": "Sjablonen", + "newTemplate": "Nieuwe sjabloon", + "noServersReadonly": "Er wordt nog geen e-mailserver met u gedeeld. Vraag een beheerder om er een toe te voegen.", + "roleShared": "Gedeeld met iedereen", + "roleSystem": "Wachtwoord reset", + "cantConnect": "Kan niet verbinden", + "builtIn": "Ingebouwd in", + "recipientsEmptyTitle": "Voeg de e-reader of inbox waar je boeken naar stuurt toe", + "recipientsEmptyBody": "Een Kindle's adres eindigt in {kindle} en wordt vermeld onder Apparaten in uw Amazon account. Een PocketBook's eindigt in {pocketbook}. Een gewone inbox werkt ook.", + "kindleNote": "Kindle accepteert alleen mail van goedgekeurde afzenders. Voeg {address} toe onder Persoonlijke Document Instellingen in uw Amazon account.", + "copyAddress": "Kopieer adres", + "addressCopied": "Adres gekopieerd", + "editServer": "{name} bewerken", + "editTemplate": "{name} bewerken", + "editGroup": "{name} bewerken", + "groupCount": "{count, plural, one {# recipient} other {# recipients}}", + "recipientsHint": "De ster wordt gekozen wanneer je verzendt.", + "groupsHint": "Naar meerdere ontvangers tegelijk verzenden.", + "groupsEmpty": "Nog geen groepen.", + "serversHint": "De ster verstuurt jouw boeken.", + "templatesHint": "Het onderwerp en de berichten die verzonden zijn bij elk boek.", + "kindleTemplateNote": "Een Kindle toont nooit de sjabloon: de e-mail komt altijd uit met het onderwerp {subject}.", + "test": "Test", + "testServer": "Test {name}", + "testOk": "{name} verbonden", + "testFailed": "{name} kan geen verbinding maken", + "defaultRecipient": "Standaard ontvanger", + "makeDefaultRecipient": "Maak {name} de standaard ontvanger", + "defaultServer": "Standaard server", + "makeDefaultServer": "Maak {name} de standaard server", + "defaultTemplate": "Standaard sjabloon", + "makeDefaultTemplate": "Maak {name} het standaardsjabloon", + "editRecipient": "{name} bewerken", + "serversEmptyTitle": "Nog geen mailserver", + "serversEmptyBody": "Boeken gaan uit via een SMTP-account. Gmail, Outlook, iCloud en Fastmail zijn één klik; elke andere server werkt ook.", + "needServerTitle": "Voeg een mailserver toe voordat u kunt verzenden", + "needServerBody": "BookOrbit stuurt boeken door een SMTP-account dat u hebt, zoals Gmail met een app-wachtwoord.", + "needServerAsk": "Vraag een beheerder om een e-mailserver met u te delen.", + "goToServers": "Ga naar de mailservers", + "noEncryption": "Geen versleuteling" + }, + "route": { + "defaultSaved": "Standaard bijgewerkt" + }, + "attention": { + "title": "Heeft aandacht nodig", + "count": "{count, plural, one {# item} other {# artikel}}", + "hide": "Verbergen", + "show": "Weergeven", + "serverDown": "{name} kan geen verbinding maken", + "notDelivered": "{book} heeft {recipient} niet bereikt", + "maybeDelivered": "{book} heeft mogelijk {recipient} niet bereikt", + "testedAgo": "getest {time}", + "editServer": "Server bewerken", + "editRecipient": "Ontvanger bewerken", + "resend": "Opnieuw" + }, + "reason": { + "tooLarge": "{size} is meer dan {server} accepteert.", + "tooLargeGmail": "{size} overschrijdt de limiet van 25 MB voor bijlagen in Gmail.", + "tooLargeFix": "Stuur een kleinere editie, of stel de ontvanger in op alleen tekstgerichte EPUB's.", + "signIn": "{server} heeft de aanmelding geweigerd.", + "signInFix": "Controleer de gebruikersnaam en het wachtwoord op de mailserver.", + "unreachable": "{server} heeft niet geantwoord.", + "unconfirmed": "De verbinding is verbroken nadat het bericht was overhandigd, dus deze is mogelijk binnengekomen.", + "unconfirmedFix": "Controleer het postvak in voordat u het opnieuw verzendt, of het kan twee keer aankomen.", + "interrupted": "BookOrbit werd opnieuw gestart terwijl deze e-mail begon.", + "interruptedFix": "Controleer de inbox voordat u opnieuw verzendt.", + "preparation": "Het bestand kon niet worden voorbereid om te verzenden.", + "other": "De e-mailserver zette het uit.", + "server": "de mailserver", + "serverMessage": "Server bericht", + "retryAt": "Probeer nu {time}." + }, + "status": { + "sent": "Verzonden", + "sending": "Verzenden", + "retrying": "Opnieuw proberen · {attempt} van {total}", + "unconfirmed": "Onbevestigd", + "failed": "Mislukt" + }, + "recent": { + "moreActions": "Meer acties voor {title}", + "deletedBook": "Boek verwijderd", + "openBook": "Boek openen", + "resend": "Opnieuw", + "delete": "Invoer wissen" + }, + "log": { + "all": "Allemaal", + "attention": "Heeft aandacht nodig", + "active": "In behandeling", + "book": "Boek", + "sentTo": "Verzonden aan", + "file": "Bestand", + "status": "status", + "when": "Wanneer", + "sentMeans": "Verstuurd betekent dat je mailserver deze geaccepteerd heeft", + "emptyFilter": "Op dit moment is hier niets.", + "loadMore": "Meer laden", + "showing": "Toont {shown} van {total}", + "emptyTitle": "Nog niets verzonden", + "emptyBody": "Boeken die je per e-mail ontvangt, worden hier weergegeven waar ze naartoe gingen en of de e-mailserver ze heeft overgenomen." + }, + "card": { + "nothingSent": "Nog niets verzonden", + "failed": "Mislukt", + "retrying": "opnieuw proberen", + "unconfirmed": "onbevestigd", + "sending": "verzenden", + "narration": "Arratie", + "narrationTitle": "Lees-langs boeken houden hun verhaal" + }, + "device": { + "kindle": "Vriendelijk", + "kobo": "Kobo", + "other": "Andere e-reader", + "otherShort": "E-lezer", + "none": "Persoon of inbox" + }, + "sheet": { + "title": "Verstuur per e-mail", + "sendTo": "Verzenden naar", + "groups": "Groepen", + "templateName": "{name} sjabloon", + "eachFormat": "Het formaat van elke ontvanger", + "formatForAll": "{format} voor iedereen", + "file": "Bestand", + "mailServer": "E-mail server", + "template": "Sjabloon", + "yourDefault": "jouw standaard", + "emails": "{count, plural, one {# email} other {# emails}}", + "noOnePicked": "Niemand geselecteerd", + "total": "{size} in totaal", + "send": "{count, plural, one {Verstuur} other {Stuur # e-mails}}", + "noFormat": "Geen {format}, wordt {got}", + "readAlong": "Lees, {size}", + "overKindle": "{size}, de limiet van 50 MB van Kindle's", + "overGmail": "{size}, meer Gmail's limiet van 25 MB", + "kindleRejects": "Vriendelijk verwerpt {format}", + "blockedKindle": "{name} kan {format} niet ontvangen. Kies EPUB of PDF, of schakel deze optie uit.", + "books": "{count, plural, one {# boek} other {# boek}}", + "notReadyTitle": "E-mail is nog niet ingesteld", + "notReadyBody": "Voordat een boek ergens naartoe kan gaan, heeft dit account een mailserver en een ontvanger nodig.", + "addServer": "Een mailserver toevoegen", + "addServerHint": "Gmail, Outlook, iCloud, Fastmail of elk SMTP-account.", + "askForServer": "Vraag een beheerder om een mailserver te delen.", + "addRecipient": "Een ontvanger toevoegen", + "addRecipientHint": "Uw vriendelijke PocketBook of elke andere inbox.", + "openSettings": "E-mailinstellingen openen", + "sendingTitle": "Verzenden {title}", + "closeHint": "U kunt dit sluiten. Failures worden ook weergegeven in uw meldingen en in uw e-mailgeschiedenis.", + "openHistory": "Geschiedenis openen", + "done": "Voltooid", + "acceptedBy": "Geaccepteerd door {server} {time}", + "handingOver": "Overhandigen aan {server}" + }, + "editor": { + "kindleSubject": "converteren", + "recipient": { + "newTitle": "Nieuwe ontvanger", + "description": "De naam, adres, apparaat en wat het ontvangt.", + "sectionRecipient": "Ontvanger", + "sectionReceives": "Wat het ontvangt", + "name": "naam", + "email": "E-mail adres", + "device": "Apparaat", + "deviceHint": "Vriendelijk wijzigt het onderwerp naar {subject} en beperkt de onderstaande formaten.", + "format": "Formatteren", + "formatPrimary": "Primair boek", + "formatHint": "Een boek zonder dit formaat krijgt de primaire editie.", + "kindleFormatHint": "Amazon accepteerde geen MOBI en AZW3 via e-mail in 2023, dus ze worden niet aangeboden voor een Kindle. Een boek zonder dit formaat krijgt de primaire editie.", + "kindleLegacyFormat": "Vriendelijk accepteert {format} niet meer per e-mail. Kies EPUB of PDF.", + "readAlong": "Lezen langs boeken", + "readAlongAutomatic": "Automatisch", + "readAlongAutomaticHint": "Tekst alleen wanneer een veilige kopie gemaakt kan worden, anders het origineel.", + "readAlongTextOnly": "Uitsluitende EPUB", + "readAlongTextOnlyHint": "Narratie verwijderd. Klein genoeg voor e-mail.", + "readAlongOriginal": "Origineel met verhaal", + "readAlongOriginalHint": "Houdt het verhaal vast. Vaak 100 MB of meer over de limieten van de meeste mailsers.", + "notForKindle": "Niet voor Kindle", + "template": "Sjabloon", + "templateDefault": "Uw standaard ({name})", + "templateKindleHint": "Genegeerd voor Kindle, deze toont nooit het bericht.", + "approveTitle": "Afzender in Amazon goedkeuren", + "approveBody": "Kindle verwijdert e-mail van onbekende adressen zonder een foutmelding te sturen. Voeg in {path} {address} toe", + "approvePath": "Je content en apparaten beheren › Voorkeuren › Instellingen voor persoonlijke documenten", + "approveNoServer": "Voeg eerst een mailserver toe om het adres te zien dat Kindle moet goedkeuren.", + "lastSent": "Laatste boek verzonden {time}", + "sendTest": "Stuur een test e-mail", + "testSubject": "BookOrbit test e-mail", + "testBody": "Dit is een test vanuit BookOrbit. Als u het kunt lezen, zullen ook de naar {name} verzonden boeken hier komen.", + "testSent": "Test e-mail verzonden naar {name}", + "testFailed": "De test e-mail ging niet: {error}", + "makeDefault": "Maak snel verzenden ontvanger", + "remove": "Ontvanger verwijderen", + "removeConfirm": "{name} verwijderen?", + "removeConsequence": "De verzendingsgeschiedenis blijft bestaan.", + "removeDefaultConsequence": "Het verzendt geschiedenis blijft, en snel verzenden stopt totdat je een andere ontvanger ster geeft.", + "required": "Naam en e-mailadres zijn vereist.", + "sectionLastSent": "Laatst verzonden" + }, + "server": { + "newTitle": "Nieuwe e-mailserver", + "description": "De SMTP-server, de inlog en die via deze server kan verzenden.", + "sectionProvider": "Leverancier", + "sectionServer": "Server", + "sectionSignIn": "Log in", + "sectionSender": "Afzender", + "sectionWho": "Wie gebruikt het", + "presetGmail": "Gmail", + "presetOutlook": "Uitzicht", + "presetIcloud": "iCloud Mail", + "presetFastmail": "Snelheids", + "presetOther": "Andere SMTP", + "presetHint": "Een vooraf ingestelde vulling in de host, poort en beveiliging. Je kunt ze nog steeds veranderen.", + "name": "naam", + "host": "Hostnaam", + "port": "Poort", + "security": "Beveiliging", + "securityStarttls": "STARTTLS", + "securitySsl": "SSL/TLS", + "securityNone": "geen", + "securityHint": "STARTTLS op 587, SSL/TLS op 465. Het ene of het andere, nooit beide.", + "needsPassword": "Deze server heeft een wachtwoord nodig", + "username": "Gebruikersnaam", + "password": "Wachtwoord", + "appPassword": "App wachtwoord", + "passwordKeep": "Opgeslagen. Typ om te vervangen", + "appPasswordHint": "Gmail en iCloud hebben een app-wachtwoord nodig, niet uw accountwachtwoord.", + "fromName": "Afzender naam", + "fromAddress": "Afzender adres", + "fromAddressHint": "Kindle eigenaren moeten dit adres goedkeuren.", + "share": "Delen met iedereen", + "shareHint": "Andere mensen kunnen boeken via deze server verzenden zonder het wachtwoord te zien.", + "system": "Verzend wachtwoord reset en login links", + "systemHint": "De ene server gebruikt BookOrbit zelf. Alleen een supergebruiker kan dit veranderen.", + "verifyTls": "Verifieer het servercertificaat", + "verifyTlsHint": "Schakel alleen uit voor een server op je eigen netwerk met een zelfondertekend certificaat.", + "test": "Verbindingstest testen", + "testDirty": "Eerst opslaan, dan test", + "testOk": "Verbonden", + "testFailed": "Kan geen verbinding maken: {error}", + "remove": "Verwijder server", + "removeConfirm": "{name} verwijderen?", + "removeConsequence": "Iedereen die het deelt met verlies.", + "removeSystemFirst": "Schakel wachtwoordreset uit op deze server voordat u deze verwijdert.", + "makeDefault": "Gebruik als mijn standaard", + "required": "Naam en host zijn vereist." + }, + "template": { + "newTitle": "Nieuwe sjabloon", + "description": "Het onderwerp en de berichten die verzonden zijn bij elk boek.", + "sectionTemplate": "Sjabloon", + "sectionInsert": "Insert", + "sectionPreview": "Voorvertoning", + "name": "naam", + "subject": "Onderwerp", + "message": "bericht", + "groupBook": "Boek", + "groupFile": "Bestand", + "groupOther": "anders", + "insertHint": "Gaat naar binnen bij de cursor, het onderwerp of het bericht. Lege waarden print niets.", + "insertVariable": "Insert {variable}", + "previewWith": "Voorbeeldweergave met", + "previewEmpty": "Stuur een boek één keer om een sjabloon ermee te bekijken.", + "previewFailed": "De preview kon niet worden weergegeven.", + "previewTo": "tot", + "builtInReadonly": "Ingebouwd. Alleen een supergebruiker kan het veranderen.", + "kindleNote": "Vriendelijk laat nooit een sjabloon zien: het krijgt altijd het onderwerp {subject}.", + "makeDefault": "Maak mijn standaard", + "remove": "Sjabloon verwijderen", + "removeConfirm": "{name} verwijderen?", + "removeConsequence": "Ontvangers die dit gebruiken gaan terug naar uw standaard sjabloon.", + "required": "Naam en onderwerp zijn verplicht.", + "attachment": "Bijgevoegd: {name}" + }, + "group": { + "newTitle": "Nieuwe groep", + "description": "Een set van ontvangers om één boek tegelijk te verzenden.", + "sectionGroup": "Groeperen", + "sectionMembers": "leden", + "name": "naam", + "memberCount": "{count} van {total}", + "noRecipientsTitle": "Geen ontvangers om uit te kiezen", + "noRecipientsBody": "Een groep is een set van ontvangers. Voeg eerst een ontvanger toe.", + "remove": "Groep verwijderen", + "removeConfirm": "{name} verwijderen?", + "removeConsequence": "De ontvangers blijven aanwezig.", + "required": "Een groep heeft een naam nodig.", + "updated": "Groep bijgewerkt" + } } }, "errors": { @@ -8734,6 +10331,14 @@ "squareTitle": "Vierkant 1:1", "squareHint": "Bibliotheken met alleen audioboeken", "slotsHint": "Bij een boek met zowel een e-boek als een luisterboek wordt de omslag weergegeven die bij deze vorm past." + }, + "gridShape": { + "title": "Raster vorm", + "tallTitle": "Hoog cellen", + "tallHint": "Best voor ebooks of gemengde bibliotheken", + "squareTitle": "Vierkante cellen", + "squareHint": "Het beste voor audiobook bibliotheken", + "hint": "Elk boek toont de omslag van het primaire formaat, vierkant voor audiobook. Een omslag die niet overeenkomt met de tegel volgt de weergave-instelling." } }, "folders": { @@ -8930,6 +10535,68 @@ "opfHint": "Bewaard naast het boek door Calibre", "swap": "Wissel de bestelling om", "hint": "BookOrbit gebruikt de eerste die een boek heeft en negeert de andere. Calibre bibliotheken willen meestal eerst metadata.opf." + }, + "regex": { + "title": "Configureren regex metagegevens", + "sourceTitle": "Regex", + "description": "Voeg metadata uit van het primaire bestandspad relatief aan de bibliotheekmap. De bestandsextensie is verwijderd voor de overeenstemming. De eerste regel met bruikbare velden wint.", + "enable": "Regex metadata inschakelen", + "primaryFileHint": "Voor een boek van verschillende bestanden, zoals audiobook tracks, lezen de regels het pad van het primaire bestand.", + "groups": "Benoemde groepen:", + "valuesHint": "Gebruik auteur voor één auteur of auteurs gescheiden door puntkomma's. Datums gebruiken JJJJJ-MM-DD. Vlaggen: i negeert geval, u maakt Unicode mogelijk.", + "rules": "Geordende extractieregels", + "rule": "Regel {number}", + "moveUp": "Regel omhoog verplaatsen", + "moveDown": "Regel omlaag verplaatsen", + "remove": "Regel verwijderen", + "basePath": "Bibliotheek map", + "extensionHint": "De bestandsextensie wordt automatisch genegeerd. De eindanker komt overeen met de bestandsnaam zonder de extensie.", + "flags": "Vlaggen", + "add": "Regel toevoegen", + "examplePath": "Voorbeeld relatief bestandspad met inbegrip van extensie", + "examplePlaceholder": "Auteur/Series/08 - My.Book.epub", + "exampleTitle": "Voorbeeld met achterreferentie auteur", + "exampleTestPath": "Test pad (inclusief extensie)", + "validating": "Regels controleren…", + "validationSuccess": "Regelsyntaxis en groepen zijn geldig. Gebruik de voorvertoning om overeenkomsten te controleren voor een bestandspad.", + "validationError": "Kon de regels niet valideren. Probeer het opnieuw voordat je ze toepast.", + "validationRetry": "Controleer opnieuw", + "validationRuleCount": "Toevoegen tussen {min} en {max} regels.", + "preview": "Voorvertoning", + "previewing": "Regels testen…", + "previewError": "Kon de regels niet bekijken. Controleer het relatieve pad en de configuratie, en probeer het dan opnieuw.", + "actualInput": "Pad getest:", + "matched": "Overeenkomende regel {number}", + "noMatch": "Geen bruikbare match. Bestandsmetadata zal worden gebruikt.", + "scanHint": "Wijzigingen zijn van toepassing op toekomstige metadata extractie voor nieuwe of gewijzigde bestanden. Opslaan van scan of bijwerken van ongewijzigde boeken wordt niet gestart.", + "apply": "Toepassen op bibliotheekformulier", + "configure": "Configureren", + "enabledHint": "Velden uit relatieve paden zonder bestandsextensies halen.", + "disabledHint": "Uitgeschakeld. Configureer regels om in te schakelen.", + "moveSourceUp": "Verplaats {source} omhoog", + "moveSourceDown": "Verplaats {source} omlaag", + "diagnostics": { + "pattern_required": "Voer een reguliere expressie in.", + "pattern_too_long": "De expressie mag niet langer zijn dan {count} tekens.", + "invalid_flags": "Alleen i en u zijn toegestaan, hoogstens éénmaal.", + "invalid_pattern": "Ongeldige reguliere expressie.", + "missing_group": "Voeg ten minste één ondersteunde groep toe.", + "conflicting_authors": "Gebruik auteur of auteurs, niet beide.", + "invalid_value": "Een ongeldige veldwaarde is overgeslagen.", + "timeout": "De expressie duurde te lang. Vereenvoudig het patroon.", + "busy": "Alle preview-workers zijn bezig. Probeer het binnenkort opnieuw.", + "worker_failed": "De expressie kon niet worden geëvalueerd. Probeer het opnieuw." + }, + "precedenceHint": "De eerste beschikbare bestandsbron metagegevens. Regex velden volgen deze order en ontbrekende waarden worden ingevuld vanuit de andere bron.", + "summary": "{format} eerst, voorkeur voor regex metadata", + "fields": { + "title": "Aanspreektitel", + "authors": "Auteurs", + "series": "Serie", + "seriesIndex": "Serie nummer", + "publishedYear": "Gepubliceerd jaar", + "publishedDate": "Gepubliceerde datum" + } } }, "fileWrite": { @@ -8945,13 +10612,23 @@ }, "cover": { "title": "Omslagafbeelding toevoegen", - "hint": "Schrijft de opgeslagen omslag terug naar ondersteunde bestandsformaten." + "hint": "Schrijft de opgeslagen omslag terug naar ondersteunde bestandsformaten.", + "mediumHint": "Schrijft de omslag ook naar het bestand. Ebook bestanden krijgen de albumhoes en audio bestanden krijgen de omslag van Audiobook; een bestand waarvan de cover ontbreekt, houdt zijn eigen omslag." + }, + "allFiles": { + "title": "Schrijf elk bestand van een boek in", + "hint": "Schrijf ook in andere boekbestanden van het boek, zoals een audiobook naast zijn ebook of een PDF in dezelfde map. Elk boekformaat daar is geschreven, dus geef een bijbehorende bestand zoals een werkboek om het buiten te houden. Formateer schakelaars en limieten hieronder zijn nog steeds van toepassing. Dit uitschakelen stopt toekomstige schrijven; bestanden worden niet reeds geschreven ongedaan gemaakt." }, "epub": { "title": "EPUB", "hint": "Schrijft metadata naar het OPF-bestand in het EPUB-archief.", "toggleAria": "EPUB-metadata schrijven" }, + "readAlong": { + "title": "Lezen langs EPUB", + "hint": "EPUB's met gesynchroniseerd verhaal, zoals Storyteller leeslijsten. Ze dragen hun audio, dus ze zijn groot en hebben meer geheugen nodig om te herschrijven.", + "toggleAria": "Schrijf lees-langs EPUB metadata" + }, "fb2": { "title": "Fictieboek (FB2)", "hint": "Herschrijft het beschrijvingsblok in FB2-bestanden, waarbij de boektekst onaangeroerd blijft.", @@ -8975,7 +10652,9 @@ "audio": { "title": "Audio", "hint": "Sluit de opgeslagen omslag in M4B-, M4A-, MP3- en FLAC-bestanden in.", - "toggleAria": "Audio-omslagen schrijven" + "toggleAria": "Audio-omslagen schrijven", + "tagsHint": "Schrijft tags zoals titel, auteurs, narrators en series in M4B, M4A, MP3 en FLAC bestanden.", + "tagsToggleAria": "Audio-metadata schrijven" }, "coverAudioHint": "Schrijft de opgeslagen omslag ook naar het bestand. Audiobestanden kunnen alleen een omslag hebben.", "audioNeedsCover": "'Inclusief omslagafbeelding' moet zijn ingeschakeld.", @@ -9069,6 +10748,7 @@ "add": "Toevoegen", "emptyCreate": "Nog niemand anders. Mensen die je hier toevoegt, krijgen toegang zodra de bibliotheek bestaat.", "superusers": "Superusers hebben altijd volledige toegang.", + "levelsHint": "Bekijkers kunnen bladeren en lezen. Editor en eigenaren kunnen ook metadata bewerken als hun account de rechten heeft om metadata te bewerken.", "levelFor": "Toegangsniveau voor {name}", "revokeFor": "Toegang verwijderen voor {name}", "revokeQuestion": "Toegang verwijderen?", @@ -9188,6 +10868,13 @@ "createFolder": "Kan map niet aanmaken" } }, + "destination": { + "loadFailed": "Kon de bestemming bibliotheken niet laden. Sluit en heropen om het opnieuw te proberen.", + "noLibraries": "Er zijn geen boekbibliotheken beschikbaar. Maak een bibliotheek aan of vraag een beheerder om toegang.", + "noFolders": "Deze bibliotheek heeft geen bestemmingsmappen. Een map toevoegen in de instellingen van de bibliotheek.", + "unavailable": "De geselecteerde bibliotheek is niet langer beschikbaar.", + "selectFolder": "Selecteer een map..." + }, "upload": { "library": "Bibliotheek", "selectLibrary": "Selecteer een bibliotheek...", @@ -9215,6 +10902,85 @@ } } }, + "metadataReminders": { + "title": "Missing-field herinneringen", + "navDescription": "Kies welke ontbrekende metadata velden u wilt zien", + "personal": "Uw voorkeuren", + "description": "Kies welke ontbrekende velden worden weergegeven in boekherinneringen. Deze voorkeuren zijn van toepassing op uw gehele bibliotheek en wijzigen geen metadata scores.", + "sheetDescription": "Kies de velden waar je om geeft zonder dit boek te verlaten.", + "fieldsHeading": "Velden om te controleren", + "autoSave": "Wijzigingen worden automatisch in uw account opgeslagen.", + "saving": "Voorkeuren opslaan...", + "saved": "Voorkeuren opgeslagen.", + "reset": "Standaardinstellingen herstellen", + "disabled": "Geen velden geselecteerd. Missing-field herinneringen zijn verborgen.", + "saveFailed": "Kon uw voorkeuren niet opslaan. Uw eerdere voorkeuren zijn hersteld.", + "customize": "Herinneringen aanpassen...", + "missingHeading": "Ontbrekende metagegevens", + "missingDescription": "Ontbrekende velden die u hebt gekozen om te volgen.", + "missingCount": "{count, plural, one {# ontbrekend veld} other {# ontbrekende velden}}", + "missingFields": "{count, plural, one {Het veld ontbreekt} other {ontbrekende velden}}", + "fields": { + "publisher": { + "label": "Uitgever", + "hint": "De uitgever is ingevuld." + }, + "language": { + "label": "Taal", + "hint": "De taal is ingevuld." + }, + "publication": { + "label": "Publicatie jaar", + "hint": "Een publicatiejaar of volledige datum is genoeg." + }, + "pageCount": { + "label": "Aantal pagina's", + "hint": "Het aantal pagina's wordt ingevuld. Audio-only boeken worden overgeslagen." + }, + "isbn": { + "label": "Internetprovider", + "hint": "ISBN-10 of ISBN-13 is genoeg." + }, + "genres": { + "label": "Genres", + "hint": "Ten minste één genre is ingevuld." + }, + "tags": { + "label": "Labels", + "hint": "Ten minste één label is ingevuld." + }, + "description": { + "label": "Beschrijving", + "hint": "De beschrijving is ingevuld." + } + } + }, + "metadataCache": { + "badge": { + "cached": "gecached", + "stale": "Verouderde", + "cachedHint": "Resultaat opgeslagen van {when}", + "cachedHintUndated": "Resultaat opgeslagen", + "staleHint": "De aanbieder was niet beschikbaar, dus een opgeslagen resultaat van {when} werd gebruikt", + "staleHintUndated": "De provider was niet beschikbaar, dus er werd een opgeslagen resultaat gebruikt" + }, + "notice": { + "someCached": "Sommige resultaten kwamen van opgeslagen zoekopdrachten (oudheid: {when}).", + "someCachedUndated": "Sommige resultaten kwamen uit opgeslagen zoekopdrachten.", + "someStale": "Sommige providers waren niet beschikbaar, dus er werden opgeslagen resultaten weergegeven (oudheid: {when}).", + "someStaleUndated": "Sommige providers waren niet beschikbaar, dus opgeslagen resultaten werden getoond.", + "searchFresh": "Zoek nieuw", + "searchFreshHint": "Vraag elke provider opnieuw in plaats van opgeslagen antwoorden te gebruiken" + }, + "fallback": { + "usedSaved": "{count, plural, one {{providers} was niet beschikbaar, daarom zijn opgeslagen resultaten gebruikt.} other {{providers} waren niet beschikbaar, daarom zijn opgeslagen resultaten gebruikt.}}" + }, + "ignoreCache": { + "label": "Negeer gecachte resultaten", + "hint": "Vraag elke provider opnieuw in plaats van opgeslagen antwoorden te hergebruiken. Langzamer dan weer en gebruik meer van de aanvraagvergoeding van elke aanbieder.", + "runHint": "Van toepassing op de uitvoering die u hier begint. Elke provider wordt gevraagd in plaats van opgeslagen antwoorden te hergebruiken, wat langzamer is." + } + }, "metadataScore": { "missingFields": "{count, plural, =0 {geen velden ontbreken - metadata bewerken} one {# veld ontbreekt - metadata bewerken} other {# velden ontbreken - metadata bewerken}}" }, @@ -9655,6 +11421,22 @@ } }, "reader": { + "pageImages": { + "loadFailed": "Dit document kon niet worden geopend. Controleer uw toegang of probeer het opnieuw.", + "pageFailed": "Deze pagina kan niet worden geladen. Probeer opnieuw wanneer de server beschikbaar is.", + "pageAlt": "Pagina {page}", + "previousPage": "Vorige pagina", + "nextPage": "Volgende pagina", + "goToPage": "Ga naar pagina", + "pin": "Menu lezer vastzetten", + "unpin": "Losmaken menu lezer" + }, + "djvu": { + "pageText": "Tekst ingesloten pagina", + "textDescription": "Tekst opgeslagen in het DjVu document. OCR kan fouten bevatten.", + "noText": "Deze pagina heeft geen ingesloten tekst.", + "textFailed": "Kan de ingesloten tekst van deze pagina niet laden." + }, "retry": "Opnieuw proberen", "pdf": { "openError": "Deze PDF kan niet worden geopend", @@ -9725,6 +11507,7 @@ }, "loadingBook": "Boek laden…", "failedToLoadBook": "Boek kon niet worden geladen", + "bookLoadTimeout": "Het boek heeft te lang geduurd om te openen. Probeer de pagina te vernieuwen.", "chapterNumber": "Hoofdstuk {number}", "peek": { "badge": "Voorproefje", @@ -12056,6 +13839,7 @@ }, "email": { "providers": "Providers", + "servers": "Mail servers", "recipients": "Ontvangers", "groups": "Groepen", "templates": "Sjablonen", @@ -12069,7 +13853,8 @@ "genre-blocklist": "Genre-blokkeerlijst", "score": "Betrouwbaarheidsscore", "auto-fetch": "Boeken automatisch ophalen", - "authors": "Auteurs automatisch ophalen" + "authors": "Auteurs automatisch ophalen", + "search-cache": "Zoek Cache" }, "admin": { "users": "Gebruikers", @@ -12180,5 +13965,92 @@ "errors": { "generic": "TTS fout" } + }, + "delivery": { + "readAloud": { + "label": "Lees-voorste EPUB levering", + "automatic": "Automatisch: geef de voorkeur aan teksten, sta originele terugvallen.", + "textOnly": "Uitsluitende EPUB", + "original": "Originele EPUB met verhaal", + "hint": "Van toepassing op toekomstige leveringen. Originelen behouden bestaande verhalen en kunnen veel groter zijn. Voorbereiding alleen mislukt als een veilige kopie niet kan worden gemaakt.", + "koboHint": "Oorspronkelijke EPUB's bypass KEPUB-conversie. Native Kobo firmware mag narration niet afspelen en exacte positie en sync accentueren zijn niet beschikbaar voor die kopie.", + "profileHint": "Gebruik aparte OPDS-profielen voor lezers die verschillende EPUB-varianten nodig hebben.", + "replacementTitle": "Vervang een Kobo kopie", + "bookId": "Boek ID", + "device": "Apparaat", + "prepare": "Vervanging voorbereiden", + "offer": "Ik heb alleen de kopie van het apparaat verwijderd; bied de vervanging aan", + "confirm": "Ik heb de vervanging geïnstalleerd", + "cancel": "Annuleer vervanging", + "replacementHint": "Bereid je voor en beoordeel eerst. Het verwijderen van een kopie van het apparaat verwijdert niet het bibliotheekboek. Maak zelf een back-up van apparaatlokale notities. Boekarest behoudt canonische vooruitgang en serveraantekeningen. Vertraagde evenementen kunnen de exacte synchronisatie beperken.", + "prepared": "Vervanging voorbereid: {format}, {size}. Verwijder dit boek alleen van het geselecteerde apparaat en bied vervolgens de voorbereiding en synchronisatie aan.", + "offered": "Vervanging aangeboden. Synchroniseer en download op het apparaat, bevestig dan de installatie. Een voltooide HTTP-overdracht bewijst de installatie niet.", + "cancelled": "Vervanging geannuleerd. Annulering herstelt geen verwijderde of gedeeltelijk vervangen toestel. Selecteer hetzelfde boek om een hersteldownload voor te bereiden.", + "alreadyOnDevice": "Het apparaat heeft deze exacte kopie al, dus er is niets te vervangen.", + "failed": "Deze vervanging kon niet worden voorbereid of bijgewerkt.", + "searchBook": "Zoek naar een boek", + "chooseBook": "Selecteer een boek", + "moreResults": "Toon meer boeken", + "noResults": "Geen overeenkomende boeken gevonden.", + "refresh": "Ververs verzendstatus", + "confirmed": "U bevestigde installatie. Dit neemt uw bevestiging op, niet de verificatie van het apparaat.", + "transferred": "De overdracht is voltooid. Open de vervanging op het apparaat voordat de installatie wordt bevestigd.", + "koreaderDefaultTitle": "KOReader EPUB levering", + "koreaderDefaultHint": "De standaard is van toepassing op toekomstige downloads op apparaten die deze referenties gebruiken. Apparaatinstellingen kunnen dit overschrijven. Bestaande kopieën en onderbroken downloads blijven ongewijzigd. Automatisch behouden bestaande apparaatkeuzes.", + "koreaderUseDefault": "Standaard inloggegevens gebruiken", + "koreaderSaveFailed": "Kon de instelling voor aflevering van KOReader niet opslaan. Probeer het opnieuw.", + "koreaderSaved": "KOReader EPUB leveringsinstelling opgeslagen." + } + }, + "commandPalette": { + "title": "Zoeken", + "description": "Zoek boeken, auteurs, reeksen en instellingen, spring naar een plaats of voer een actie uit.", + "placeholder": "Zoek boeken, auteurs of series of ga naar…", + "close": "Zoekopdracht sluiten", + "clear": "Zoekopdracht wissen", + "tabs": { + "all": "Allemaal", + "books": "Boeken", + "authors": "Auteurs", + "series": "Serie", + "settings": "Instellingen" + }, + "sections": { + "continueReading": "Lees verder", + "goTo": "Ga naar", + "actions": "acties", + "books": "Boeken", + "authors": "Auteurs", + "series": "Serie", + "settings": "Instellingen" + }, + "kinds": { + "author": "Auteur", + "series": "Serie", + "library": "Bibliotheek", + "smartScope": "Slim bereik", + "collection": "Collectie", + "page": "Pagina", + "setting": "Instellingen" + }, + "showAllBooks": "{count, plural, one {Toon # boek} other {Toon alle # boeken}}", + "showAllAuthors": "{count, plural, one {Toon # auteur} other {Toon alle # auteurs}}", + "showAllSeries": "{count, plural, one {Toon # series} other {Toon alle # series}}", + "showAllSettings": "{count, plural, one {Toon # instelling} other {Toon alle # instellingen}}", + "actions": { + "lightTheme": "Overschakelen naar licht thema", + "darkTheme": "Overschakelen naar donker thema" + }, + "hints": { + "navigate": "Navigate", + "open": "Open", + "filter": "Filteren", + "close": "Afsluiten" + }, + "keys": { + "escape": "esc", + "tab": "tab" + }, + "resultCount": "{count, plural, =0 {Geen resultaten} one {# resultaat} other {# resultaten}}" } } diff --git a/client/src/locales/pt.json b/client/src/locales/pt.json index 5ca85ad4b..940e8aa1c 100644 --- a/client/src/locales/pt.json +++ b/client/src/locales/pt.json @@ -107,10 +107,52 @@ }, "theme": { "title": "Tema", + "style": { + "label": "Estilo", + "hint": "A aparência geral do app. Modo, cantos e plano de fundo mantêm suas configurações.", + "bookorbit": { + "label": "BookOrbit", + "description": "Superfícies coloridas, painéis de vidro e cabeçalhos de serifa." + }, + "nostalgia": { + "label": "Nostalgia", + "description": "Terrenos neutros, tipo de sistema, painéis planos e um brilho superior." + } + }, "colorScheme": { "label": "Esquema de cores", "hint": "Interface clara ou escura" }, + "surfacePalette": { + "label": "Superfície", + "hint": "A espeço neutro por trás de painéis e cartões.", + "palettes": { + "onyx": "Ônix", + "carbon": "Carbono", + "neutral": "Neutro", + "zinc": "Zinco", + "iron": "Ferro", + "steel": "Aço", + "ash": "Cinzas", + "smoke": "Fumaça", + "charcoal": "Carvão", + "slate": "Ardósia", + "midnight-blue": "Azul meia-noite", + "ocean": "Oceano", + "pine": "Pinho", + "olive": "Oliva", + "stone": "Pedra", + "sepia": "Sépia", + "crimson": "Carmesim", + "plum": "Ameixa" + } + }, + "topGlow": { + "label": "Brilho superior", + "hint": "O quão longe o brilho de cor atinge a página. Deslize para a esquerda para desativá-lo.", + "value": "{value}%", + "off": "Desligado" + }, "accents": { "grey": "Cinza", "scarlet": "Escarlate", @@ -183,7 +225,13 @@ }, "cornerRadius": { "label": "Arredondamento das bordas", - "hint": "Arredondamento de cartões e elementos da interface" + "hint": "Arredondamento de cartões e elementos da interface", + "options": { + "sharp": "Nítido", + "default": "Padrão", + "rounded": "Arredondado", + "pill": "Pílula" + } }, "surfaceBrightness": { "label": "Brilho da superfície", @@ -202,7 +250,8 @@ "structural": "Estrutural", "ambient": "Ambiente", "refractive": "Refrativo" - } + }, + "syncSaveFailed": "Falha ao salvar preferências do tema" }, "storage": { "title": "Onde salvar as preferências de aparência", @@ -234,6 +283,21 @@ "loadError": "Falha ao carregar o provedor padrão de pesquisa de capa", "saveError": "Falha ao salvar o provedor de pesquisa de capa padrão" }, + "placeholderStyle": { + "title": "Estilo do espaço reservado", + "hint": "Livros sem capa são desenhados neste estilo.", + "options": { + "bauhaus": "Bauhaus", + "constructivist": "Construtivista", + "memphis": "Mênfis", + "clothbound": "Roupagem", + "poster": "Pôster", + "aurora": "Aurora", + "vista": "Vista", + "marbled": "Marmorizado", + "paperback": "Retorno" + } + }, "displayMode": { "title": "Modo de exibição da capa", "hint": "Controle como as capas reais se encaixam nos espaços dos livros quando as proporções são diferentes", @@ -1216,6 +1280,11 @@ "portrait": "2:3 retrato", "square": "1:1 quadrado" }, + "gridShape": "Formato da grade", + "gridShapeValue": { + "tall": "Células altas", + "square": "Células quadradas" + }, "none": "Nenhum", "allSupported": "Todos suportados", "patternCount": "{count, plural, one {# pattern} other {# patterns}}", @@ -1518,7 +1587,132 @@ "subtitle": "Carregue fontes que cada usuário pode escolher no leitor de eBook sem carregar as suas próprias.", "listLabel": "Fontes do servidor", "noFontsYet": "Nenhuma fonte do servidor ainda", - "noFontsHint": "Os fontes que você adicionar aqui aparecem no leitor de todos os usuários." + "noFontsHint": "Os fontes que você adicionar aqui aparecem no leitor de todos os usuários.", + "addFonts": "Adicionar fontes", + "filterLabel": "Filtrar famílias", + "filterPlaceholder": "Filtrar famílias", + "filterClear": "Limpar filtro", + "noMatches": "Nenhuma família corresponde a “{query}”", + "previewLabel": "Pré-visualização de texto", + "previewPlaceholder": "Digite para pré-visualizar em cada família", + "previewSize": "Tamanho da prévia", + "previewSizeOption": "{size} px", + "familiesUnit": "{count, plural, one {família} other {famílias}}", + "filesOfMax": "{count} de {max} arquivos", + "onDisk": "{size} no disco", + "columns": { + "family": "Família", + "specimen": "Espécime", + "styles": "Estilos", + "readers": "Leitores" + }, + "fileSummary": "{count, plural, one {# arquivo} other {# arquivos}} · {size}", + "newBadge": "Novo", + "styles": { + "single": "{style} apenas", + "many": "{count} estilos", + "manyNoItalics": "{count} styles, no italics" + }, + "facts": { + "books": "{count, plural, one {Em # livros} other {Em # livros}}", + "booksDetail": "{books, plural, one {Definido em # livro} other {Definido em # livros}} por {readers, plural, one {# leitor} other {# leitores}}", + "defaults": "{count, plural, one {Padrão para # leitor} other {Padrão para # leitores}}", + "hidden": "{count, plural, one {Escondido pelo leitor de #} other {Oculto por # leitores}}" + }, + "moreActions": "Mais para {name}", + "menu": { + "rename": "Renomear a família", + "addFiles": "Adicionar arquivos", + "remove": "Remover família…" + }, + "footerHint": "Cada leitor vê isso na lista de fontes do leitor e pode ocultar qualquer um deles sob Leitor › Fontes.", + "empty": { + "dropHint": "ou solte arquivos em qualquer lugar nesta página", + "tip": "Uma família lê melhor em quatro ficheiros: Regular, Italiano, Negrito e Negrito. Um ficheiro variável pode representar cada peso." + }, + "drop": { + "title": "{count, plural, one {Solte para adicionar # arquivos para cada leitor} other {Adicione # arquivos para cada leitor}}" + }, + "upload": { + "ariaLabel": "Progresso do envio", + "title": "{count, plural, one {Adicionando o arquivo #} other {Adicionando # arquivos}}", + "progress": "{done} de {total} concluído", + "addedCount": "{count} adicionado", + "duplicateCount": "{count} já existe", + "refusedCount": "{count} não adicionado", + "dismiss": "Dispensar", + "newFamily": "nova família", + "states": { + "queued": "Aguardando", + "uploading": "Enviando", + "added": "Adicionado", + "duplicate": "Já está no servidor", + "refused": "Não adicionado", + "failed": "Falhou" + }, + "reasons": { + "tooLarge": "Maior que {maxMb} MB.", + "unsupportedType": "Não é um arquivo de fonte. Use TTF, OTF, WOFF ou WOFF2.", + "invalidFile": "O arquivo está danificado ou não é realmente uma fonte.", + "faceTaken": "{familyName} já tem um arquivo neste peso e estilo.", + "limitReached": "O servidor já possui arquivos de fonte {limit}.", + "failed": "Falha no envio. Tente novamente." + } + }, + "sheet": { + "description": "Visualize, renomeie e gerencie os arquivos do {name}", + "variable": "Variável", + "preview": "Pré-visualizar", + "pageColour": "Cor da página", + "papers": { + "app": "Superfície do App", + "white": "Página branca", + "sepia": "Sepia page", + "night": "Página noturna" + }, + "previewHeading": "O Jardim das Flores Vivas", + "previewParagraph1": "Alice olhou em volta dela com grande surpresa. \"Por isso, eu acredito que estivemos debaixo dessa árvore o tempo todo! Tudo está como está!\"", + "previewParagraph2": "\"Agora, aqui, você vê, leva toda a corrida que você pode fazer, para ficar no mesmo lugar. Se quisermos chegar a algum outro lugar, temos de correr pelo menos o dobro do que precisam!\"", + "styles": "Estilos", + "stylesHint": "O que a linha de estilo do leitor oferece", + "singleStyleNote": "Um estilo, então os leitores não têm linha de estilo. Texto em negrito e itálico em livros é falsificado pelo navegador do {style}.", + "inReader": "No leitor", + "inReaderHint": "A lista de fontes que cada leitor fica no Leitor › Configurações, com {name} escolhido.", + "pickerLabel": "Pré-visualização da lista de fontes do leitor", + "files": "Arquivos", + "filesUsed": "{count} de {max} usados neste servidor", + "fileDetail": "{summary} · Adicionado {date}", + "upright": "Expulso", + "italic": "Itálico", + "fileActions": "Mais para {name}", + "changeStyle": "Alterar peso e estilo", + "removeFile": "Remover arquivo", + "removeFileQuestion": "Remover este arquivo para todos os leitores?", + "weight": "Peso", + "style": "Estilo", + "name": "Sobrenome", + "nameHint": "Os leitores escolhem fontes com este nome.", + "nameHiddenWarning": "{count, plural, one {# leitor se escondeu {name}} other {# leitores se esconderam {name}}}; um novo nome mostra-o novamente.", + "nameBooksWarning": "Um novo nome envia {count, plural, one {O livro # que o utiliza} other {Os # livros que o usam}} de volta para a própria fonte do livro.", + "readers": "Leitores", + "stats": { + "books": "{count, plural, one {O livro o utiliza} other {Os livros o utilizam}}", + "defaults": "{count, plural, one {padrão do leitor} other {padrão dos leitores}}", + "hidden": "{count, plural, one {O leitor escondeu} other {Os leitores esconderam}}" + }, + "readersPrivacy": "Conta somente. Quais livros e quais leitores permanecem privados para eles.", + "removeLabel": "Remover família", + "removeQuestion": "Remover {name} para todos os leitores?", + "removeConsequenceBooks": "{books, plural, one {Ela está definida em # livro} other {Ela está definida em # livros}} por {readers, plural, one {# leitor} other {# leitores}}; esses livros voltam a usar a própria fonte do livro.", + "removeConsequenceFiles": "{count, plural, one {Seu arquivo foi apagado do servidor.} other {Todos os # arquivos são apagados do servidor.}}", + "loadFailedNote": "Esse navegador não pôde carregar o arquivo de fonte, então as pré-visualizações mostram uma face padrão. Os navegadores dos aderentes provavelmente também o recusarão; tente uma cópia diferente da fonte." + }, + "toasts": { + "removed": "{name} removido", + "removePartial": "{failed, plural, one {# arquivo} other {# arquivos}} do {name} não pôde ser removido", + "renameTaken": "{name} já tem um arquivo com o mesmo peso e estilo" + }, + "loadFailed": "Este navegador não pode carregá-lo" } }, "common": { @@ -1672,6 +1866,92 @@ "inheritFromGlobal": "Herdar do global", "usingGlobalDefaults": "Usando padrões globais.", "saveOverride": "Salvar substituição" + }, + "scope": { + "ownSettings": "{count, plural, one {# own setting} other {# own settings}}", + "globalIntro": "Toda biblioteca segue esta regra, a menos que tenha a sua própria.", + "globalCoverage": "{libraryCount, plural, one {Aplica-se a # biblioteca} other {Aplica-se a # bibliotecas}}, {bookCount, plural, one {# livro} other {# livros}}.", + "ownLibraries": "{names} {count, plural, one {tem sua própria regra.} other {têm suas próprias regras.}}", + "libraryFollows": "{library} segue a regra global. Altere qualquer coisa aqui para dar sua própria.", + "libraryOwn": "{library} tem sua própria regra para {count, plural, one {# definindo} other {# configurações}}Todo o resto segue a regra global.", + "lastRun": "Última execução {when}, {count, plural, one {# livro} other {# livros}} na fila.", + "neverRun": "Ainda não foi executado.", + "useGlobalRule": "Usar a regra global", + "loadFailed": "Não foi possível carregar as configurações de busca automática. Recarregue a página para tentar novamente.", + "saved": "Salvo {scope}", + "saveFailed": "Não foi possível salvar {scope}. Tente novamente." + }, + "run": { + "all": "Executar para cada biblioteca", + "library": "Executar para {library}", + "saveFirst": "As rodas usam a regra salva. Salve primeiro.", + "failed": "Não foi possível iniciar a execução. Tente novamente." + }, + "onImport": { + "label": "Buscar metadados para novos livros", + "hint": "Escaneamentos e uploads para filas correspondentes de livros imediatamente. Uma busca ao importar só preenche campos vazios; campos bloqueados nunca são alterados.", + "follow": "Seguir global", + "on": "Ligado", + "off": "Desligado" + }, + "columns": { + "books": "{count, plural, one {livro} other {livros}}", + "ofTotal": "de {total}", + "off": "Desligado", + "own": "Próprio", + "global": "Global", + "useGlobal": "Usar global", + "globalValue": "Regra global: {value}", + "on": "Ligado", + "scoreBelowValue": "Pontuação abaixo de {threshold}", + "neverFetchedSplit": "{count, plural, one {# nunca obteve} other {# nunca obteve}}", + "fetchedBeforeSplit": "{count, plural, one {# buscou antes de} other {# buscou antes de}}", + "lowScoreLabel": "Pontuação de baixa confiança", + "lowScoreHint": "Buscar os livros cuja nota de confiança está abaixo da linha.", + "outOf": "/ 100", + "lowerThreshold": "Diminuir o limite", + "raiseThreshold": "Aumentar o limite", + "missingHint": "Buscar se algum campo selecionado estiver vazio. Cada campo mostra quantos livros o não tem.", + "audioGroup": "Livros com áudio", + "audioHint": "{count, plural, =0 {Nenhum livro aqui tem áudio.} one {Somente o # livro com áudio pode não ter estes campos.} other {Somente os # livros com áudio podem não ter estes campos.}}", + "fieldCount": "{field}: {count, plural, one {# livro não tem isso} other {# livros não usam}}" + }, + "histogram": { + "label": "Pontuação de confiança limite", + "valueText": "Pontuação abaixo de {threshold}" + }, + "preview": { + "title": "O que uma execução buscaria", + "matching": "{matching, plural, one {# de {total} Os livros combinam com} other {# de {total} os livros correspondem}}", + "showing": "{count, plural, one {mostrando o menos completo} other {mostrando o # pelo menos}}", + "empty": "Nenhum livro corresponde a esta regra, então uma execução não enfileiraria nada.", + "unknownAuthor": "Autor desconhecido", + "score": "Pontuação {score}", + "more": "+{count}", + "missing": { + "title": "Sem título", + "subtitle": "Sem legenda", + "description": "Sem descrição", + "cover": "Sem capa", + "audioCover": "Nenhuma capa do audiolivro", + "authors": "Sem autor", + "publisher": "Sem editora", + "isbn": "Sem ISBN", + "publishedYear": "Nenhum ano publicado", + "language": "Sem idioma", + "pageCount": "Sem contagem de páginas", + "communityRating": "Sem avaliação da comunidade", + "seriesName": "Sem nome de série", + "seriesIndex": "Sem índice de séries", + "genres": "Sem gêneros", + "narrators": "Sem narradores", + "duration": "Sem duração", + "abridged": "Aberto não definido" + } + }, + "queue": { + "progress": "{done} de {total}", + "failed": "{count, plural, one {# livro não pôde ser buscado} other {# livros não puderam ser buscados}}" } }, "providers": { @@ -1767,7 +2047,8 @@ "overwriteTerm": "Sobrescrever:", "overwriteBody": "Substituir sempre que um provedor tiver dados." }, - "summary": "Os provedores estão no topo da lista e o primeiro que retorna um valor ganha em cima. A estratégia de fusão determina se esse valor pode substituir o que o livro já tem; os gêneros também podem acrescentar novos valores únicos. Definir padrões aqui, em seguida, substituir campos individuais por biblioteca." + "summary": "Os provedores estão no topo da lista e o primeiro que retorna um valor ganha em cima. A estratégia de fusão determina se esse valor pode substituir o que o livro já tem; os gêneros também podem acrescentar novos valores únicos. Definir padrões aqui, em seguida, substituir campos individuais por biblioteca.", + "summaryByMedium": "Os provedores são tentados no topo do topo e o primeiro com um valor vencido; gêneros no modo de mesclagem e classificações da comunidade combinam todos os provedores. A estratégia de fusão decide se um valor pode substituir o que o livro já tem. Audiível, AudNexus e Libro. m a resposta apenas para livros com áudio, incluindo EPUB ao longo dos livros, então colocá-los em primeiro lugar prefere metadados do audiolivro sem tocar em livros exclusivos do e-livro. A arte de capa da forma errada preenche um slot apenas quando nada mais puder. Uma biblioteca substitui a regra inteira desse campo." }, "libraryOverrides": { "title": "Substituições da Biblioteca", @@ -1836,6 +2117,7 @@ }, "field": { "noProviders": "Ativado, mas não possui provedores", + "noUsableProvider": "Ativado, mas nenhum provedor aqui pode preenchê-lo", "empty": "Vazio", "config": "Configuração", "custom": "Personalizado", @@ -1894,7 +2176,11 @@ "disabled": "Desativado", "notConfigured": "Não configurado", "disabledDetail": "{provider} está desligado, então ele permanece na ordem mas é ignorado.", - "notConfiguredDetail": "{provider} ainda não tem credenciais e, portanto, permanece no pedido, mas é ignorado." + "notConfiguredDetail": "{provider} ainda não tem credenciais e, portanto, permanece no pedido, mas é ignorado.", + "neverSupplies": "Nunca suplique isso", + "neverSuppliesDetail": "{provider} nunca fornece este campo, então ele é ignorado aqui.", + "otherShape": "Outra forma de capa", + "otherShapeDetail": "{provider} só tem capas da outra forma, então ele preenche este slot apenas quando nada mais puder." }, "detail": { "priority": "Prioridade do provedor", @@ -1948,6 +2234,123 @@ "emptyHint": "Adicione valores exatos como Audiolivro ou Adulto para mantê-los fora dos metadados buscados.", "removeLabel": "Remover {genre}" }, + "searchCache": { + "loadFailed": "Não foi possível carregar as configurações de pesquisa de cache.", + "retry": "Tente novamente", + "saved": "Configurações de cache de pesquisa salvas", + "saveFailed": "Falha ao salvar as configurações de cache de pesquisa", + "units": { + "hours": "Horas", + "days": "Dias" + }, + "general": { + "title": "Respostas salvas", + "enabled": "Salvar respostas do provedor", + "enabledHint": "Pesquisas, atualizações em massa e pesquisas em segundo plano reutilizam respostas salvas em vez de perguntar novamente a cada provedor.", + "resultsTtl": "Manter resultados para", + "resultsTtlHint": "Quanto tempo uma resposta com resultados é reutilizada até que o provedor seja perguntado novamente.", + "resultsTtlUnit": "Mostra unidade de tempo", + "emptyTtl": "Manter respostas vazias para", + "emptyTtlHint": "Quanto tempo um provedor de nada é lembrado. Aplica-se apenas a provedores marcados como respostas vazias em cache. 0 nunca mantém respostas vazias.", + "emptyTtlUnit": "Unidade de tempo de respostas vazias", + "staleGrace": "Usar respostas expiradas para", + "staleGraceHint": "Quando um provedor falha, uma resposta para este longo passado seu vencimento é usada. 0 nunca voltar.", + "staleGraceUnit": "Unidade de tempo de resposta expirada", + "storage": "Armazenamento usado", + "storageHint": "As respostas mais antigas são removidas depois que respostas salvas passam este tamanho. No disco, a tabela pode levar cerca de 1,5 a 2 vezes o orçamento.", + "storageUnit": "MB" + }, + "providers": { + "title": "Configurações por provedor", + "hint": "Deixe uma caixa em branco para usar o valor acima. Desative um provedor para sempre perguntar ao vivo.", + "books": "Livros", + "authors": "Autores", + "none": "Não há provedores disponíveis.", + "globalOff": "Salvando as respostas está desativado, então essas configurações serão aplicadas assim que elas forem reativadas.", + "on": "Ligado", + "off": "Desligado", + "enabledLabel": "Salvar respostas de {provider}", + "resultsTtl": "Manter resultados para", + "resultsTtlLabel": "Mantenha resultados {provider} para", + "resultsTtlUnitLabel": "Unidade de tempo de resultados {provider}", + "emptyTtl": "Manter respostas vazias para", + "emptyTtlLabel": "Manter respostas {provider} vazias para", + "emptyTtlUnitLabel": "Unidade de tempo para respostas {provider} vazias", + "noEmptyCaching": "Respostas vazias deste provedor nunca são salvas.", + "notCacheable": "As respostas deste provedor nunca são salvas.", + "reset": "Redefinir {provider} para os padrões" + }, + "validation": { + "required": "Insira um valor.", + "wholeNumber": "Digite um número inteiro.", + "range": "Insira um valor de {min} a {max}.", + "tooManyOverrides": "Muitos provedores têm suas próprias configurações. Redefina alguns deles para salvar." + }, + "save": { + "unsaved": "Alterações não salvas", + "invalid": "Corrija os campos destacados para salvar", + "upToDate": "Todas as alterações foram salvas", + "discard": "Descartar", + "action": "Salvar" + }, + "stats": { + "group": "Utilização", + "title": "Respostas salvas", + "refresh": "Atualizar", + "loadFailed": "Não foi possível carregar o uso do cache.", + "storage": "Armazenamento usado", + "storageUsed": "{used} de {budget}", + "storageHint": "Tamanho das próprias respostas salvas. A tabela em disco é maior.", + "entries": "Respostas salvas", + "emptyEntries": "Respostas vazias", + "diskSize": "Tamanho da tabela em disco", + "hitRate": "Taxa de acerto", + "requestsAvoided": "Requisições evitadas", + "fallbacks": "Alternativo", + "skippedWrites": "Gravações ignoradas", + "oldest": "Resposta mais antiga", + "none": "Nenhum ainda", + "countersHint": "Taxa de acesso, solicitações evitadas, fallbacks e sobrepostos contagem de gravações desde o último início do servidor.", + "perProvider": "Respostas salvas pelo provedor", + "provider": "Provedor", + "kind": "Tipo", + "size": "Tamanho", + "empty": "Nada foi salvo ainda." + }, + "clear": { + "group": "Manutenção", + "title": "Limpar respostas salvas", + "regionHint": "Provedores podem responder de forma diferente por local. Limpe o cache após mover o servidor para outra região ou VPN.", + "action": "Limpar", + "failed": "Falha ao limpar respostas salvas", + "done": "{count, plural, one {Removido # resposta} other {Removido # respostas}}", + "donePending": "{count, plural, one {Removido # resposta salva. O restante está sendo removido em segundo plano.} other {Removido # respostas salvas. O restante está sendo removido em segundo plano.}}", + "empty": { + "label": "Limpar apenas respostas vazias", + "hint": "Esqueça que provedores não encontraram nada, então essas pesquisas perguntem novamente.", + "confirmTitle": "Limpar respostas vazias?", + "confirmDescription": "Respostas salvas onde um provedor não encontrou nada são removidas. Respostas com resultados são mantidas." + }, + "book": { + "label": "Limpar respostas do livro", + "hint": "Remove tudo salvo dos provedores de livros.", + "confirmTitle": "Limpar respostas do livro?", + "confirmDescription": "Todas as respostas salvas por provedores de livros são removidas. A próxima busca pede a esses provedores novamente." + }, + "author": { + "label": "Limpar respostas do autor", + "hint": "Remove tudo salvo dos provedores do autor.", + "confirmTitle": "Limpar respostas do autor?", + "confirmDescription": "Todas as respostas salvas por provedores de autores são removidas. A próxima busca pede a esses provedores novamente." + }, + "all": { + "label": "Limpar todas as respostas salvas", + "hint": "Esvazia o cache. Cada provedor é perguntado novamente na próxima pesquisa.", + "confirmTitle": "Limpar todas as respostas salvas?", + "confirmDescription": "Todo o cache está esvaziado. As pesquisas serão mais lentas até que elas se preencham novamente, e nada é deixado para voltar enquanto um provedor cai." + } + } + }, "customFields": { "label": "Rótulo", "labelPlaceholder": "ex: Título Original", @@ -1996,7 +2399,145 @@ "selectAll": "Selecionar todos", "clear": "Limpar", "noLibraries": "Nenhuma biblioteca disponível ainda.", - "allLibraries": "Todas as bibliotecas" + "allLibraries": "Todas as bibliotecas", + "pageFacts": "{fields, plural, one {# campo} other {# campos}} · {values, plural, one {# valor armazenado} other {# valores armazenados}}", + "newFieldAction": "Novo campo", + "views": { + "label": "Exibir campos ativos ou arquivados", + "active": "Ativo", + "archived": "Arquivado" + }, + "columns": { + "order": "Encomenda", + "field": "Campo", + "type": "tipo", + "libraries": "Bibliotecas", + "filled": "Preenchido", + "valuesKept": "Valores mantidos", + "archived": "Arquivado", + "actions": "Ações" + }, + "orderHint": "Arraste para definir os campos da ordem que aparecem na edição de metadados, nas colunas da tabela e nas exportações.", + "archivedHint": "Os campos arquivados são ocultados dos livros, filtros e exportações. Seus valores permanecem armazenados até que o campo seja excluído.", + "coverage": "{filled} de {total}", + "coverageAria": "{filled} de livros de {total} têm um valor", + "onNoLibrary": "Nenhuma biblioteca", + "onNoLibraryHint": "Em nenhuma biblioteca, portanto este campo aparece em nenhum lugar", + "moreLibraries": "+{count}", + "noValues": "Nenhuma", + "rowActions": { + "edit": "Alterar", + "editField": "Campo de edição", + "moveUp": "Mover para cima", + "moveDown": "Mover para baixo", + "archive": "Arquivar", + "restore": "Restaurar", + "deletePermanently": "Excluir permanentemente…", + "more": "Mais ações para {label}" + }, + "toasts": { + "loadFailed": "Não foi possível carregar campos personalizados", + "created": "{label} criado", + "createFailed": "Não foi possível criar {label}", + "saved": "{label} salvo", + "saveFailed": "Não pode salvar {label}", + "archived": "{label} arquivado", + "archiveFailed": "Não foi possível arquivar {label}", + "restored": "{label} restaurado", + "restoreFailed": "Não foi possível restaurar {label}", + "deleted": "{label} excluído", + "deleteFailed": "Não foi possível excluir {label}", + "reorderFailed": "Não foi possível salvar a nova ordem" + }, + "empty": { + "body": "Monitore para que a BookOrbit não tem campo, como onde um livro se senta em sua prateleira ou quem o emprestou. Campos são exibidos na edição de metadados, em colunas de tabela e em filtros.", + "examples": "Começar de um exemplo", + "shelfNumber": "Número do Shelf", + "acquiredOn": "Adquirido em", + "signedCopy": "Cópia assinada", + "loanedTo": "Emprestado para" + }, + "types": { + "text": { + "label": "Texto", + "hint": "Qualquer palavras", + "example": "Primeira impressão, placa assinada" + }, + "url": { + "label": "Link", + "hint": "Abrir em uma nova aba", + "example": "https://exemplo.com.br/book" + }, + "number": { + "label": "Número", + "hint": "Ordenar por valor", + "example": "42" + }, + "date": { + "label": "Encontro", + "hint": "Um dia do calendário", + "example": "2024-03-09" + }, + "boolean": { + "label": "Sim / Não", + "hint": "Uma caixa de seleção", + "example": "sim" + } + }, + "sheet": { + "newTitle": "Novo campo", + "editDescription": "Edite o rótulo e bibliotecas de um campo personalizado, e veja onde ele aparece.", + "newDescription": "Nomeie um novo campo personalizado, escolha seu tipo e escolha suas bibliotecas.", + "archivedDescription": "Um campo personalizado arquivado. Restaura-o, ou apague-o com seus valores.", + "statusFilled": "{filled} de {total, plural, one {# livro} other {# livros}} preenchido", + "statusNone": "Não em nenhuma biblioteca", + "statusHidden": "{count} hidden", + "statusCreated": "criado {date}", + "labelHint": "Mostrado em Editar Metadados, em colunas de tabela e em filtros.", + "renameHint": "Renomear mantém todos os valores armazenados e a chave de arquivo {key}.", + "keyHint": "Salvo em arquivos e exportações como {key}, que permanece o mesmo se você renomear o campo.", + "typeLocked": "Definir quando criado", + "typeLockedHint": "O tipo não pode mudar mais tarde, então os valores armazenados sempre combinam com ele.", + "libraries": "Bibliotecas", + "books": "{count, plural, one {# livro} other {# livros}}", + "filledOfBooks": "{filled} de {total, plural, one {# livro} other {# livros}}", + "hiddenCount": "{count} hidden", + "leavingNote": "{count, plural, one {# valor em {libraries} permaneça armazenado, mas oculto, enquanto o campo estiver lá.} other {# valores em {libraries} Fique armazenado, mas oculto, enquanto o campo estiver lá fora.}} Girar de volta traz eles de volta.", + "noLibraryWarning": "Sem bibliotecas este campo não aparece em lado algum: não na edição de metadados, nos filtros ou nas exportações.", + "appears": { + "title": "Onde ele aparece", + "editMetadata": "Editar Metadados", + "details": "Details tab", + "filters": "Filtros", + "table": "Tabela e ordenação", + "tableBody": "Disponível como coluna da tabela e opção de ordenação", + "files": "arquivos", + "filesWritten": "Escrito em arquivos EPUB e FB2 no {libraries}, onde está escrita metadados para arquivos.", + "filesNotWritten": "Não gravado em arquivos: nenhuma dessas bibliotecas escreve metadados para arquivos EPUB ou FB2.", + "exports": "Exportações" + }, + "archiveAction": "Campo arquivo", + "archiveConfirm": "Arquivar {label}?", + "archiveConsequence": "{count, plural, =0 {Deixa para editar metadados, filtros e exportações. Restaure a qualquer momento.} one {Deixa para editar metadados, filtros e exportações. # O valor permanece armazenado até que o campo seja excluído.} other {Deixa editar metadados, filtros e exportações. # valores permanecem armazenados até que o campo seja excluído.}}", + "create": "Criar campo", + "onLibraries": "Em {count} das bibliotecas {total}", + "onAllLibraries": "Em todas as bibliotecas {total}", + "archivedBadge": "Arquivado", + "archivedTitle": "Arquivado {when}.", + "archivedBody": "{count, plural, =0 {Este campo está escondido de livros, filtros e exportações. Não contém valores.} one {Este campo está escondido de livros, filtros e exportações. # O valor armazenado é mantido e volta a restaurar.} other {Este campo está escondido de livros, filtros e exportações. # valores armazenados são mantidos e voltam a restaurar.}}", + "facts": { + "type": "tipo", + "libraries": "Bibliotecas", + "valuesKept": "Valores mantidos", + "fileKey": "Chave do arquivo", + "created": "Criado", + "archived": "Arquivado" + }, + "deleteQuestion": "Excluir {label} para bem?", + "deleteConsequence": "{count, plural, =0 {Isso não tem valores. Isso não pode ser desfeito.} one {Seu valor # armazenado foi removido de cada livro. Os arquivos já escritos mantêm sua cópia. Isso não pode ser desfeito.} other {Seus # valores armazenados são removidos de todos os livros. Arquivos já gravados mantêm sua cópia. Isso não pode ser desfeito.}}", + "deleteConfirmLabel": "Digite o nome do campo para confirmar", + "deleteConfirmPlaceholder": "Digite {label} para confirmar" + } }, "tabs": { "providers": "Provedores", @@ -2005,7 +2546,8 @@ "genre-blocklist": "Lista de Bloqueio de Gêneros", "score": "Pontuação", "auto-fetch": "Livros", - "authors": "Autores" + "authors": "Autores", + "search-cache": "Pesquisar Cache" }, "tabTitles": { "providers": "Provedores", @@ -2014,7 +2556,8 @@ "genre-blocklist": "Lista de Bloqueio de Gêneros", "score": "Pontuação de Confiança", "auto-fetch": "Busca Automática de Livros", - "authors": "Busca Automática de Autores" + "authors": "Busca Automática de Autores", + "search-cache": "Pesquisar Cache" }, "tabSubtitles": { "providers": "Ative fontes externas de metadados e configure suas credenciais.", @@ -2023,7 +2566,8 @@ "genre-blocklist": "Evite que valores indesejados de gêneros dos provedores sejam gravados nos livros.", "score": "Atribua pesos aos campos de metadados para calcular o quanto confiar nos resultados buscados.", "auto-fetch": "Busque automaticamente capas, descrições e outros detalhes quando novos livros forem adicionados à sua biblioteca.", - "authors": "Busque automaticamente biografias e fotos de perfil quando novos autores aparecerem em sua biblioteca." + "authors": "Busque automaticamente biografias e fotos de perfil quando novos autores aparecerem em sua biblioteca.", + "search-cache": "Reutilizar as respostas do fornecedor, então pesquisas repetidas são rápidas e ainda funcionam quando um provedor está fora do ar." }, "preferences": { "toast": { @@ -2239,7 +2783,25 @@ "serverFontsHint": "Essas fontes vêm do administrador do servidor. Desligue uma opção para mantê-la fora do seu leitor.", "serverFontsShown": "{count} de {total} mostrado", "serverFontsAllHidden": "Todas as fontes do servidor estão ocultas. Seu leitor somente oferecerá fontes integradas e suas próprias fontes.", - "serverFontVisibilityFailed": "Falha ao atualizar a visibilidade da fonte do servidor" + "serverFontVisibilityFailed": "Falha ao atualizar a visibilidade da fonte do servidor", + "library": { + "columns": { + "use": "Em Uso" + }, + "yourDefault": "Seu padrão", + "hiddenBadge": "Hidden", + "emptyHint": "Adicione fontes acima, ou solte arquivos em qualquer lugar desta página.", + "dropTitle": "{count, plural, one {Solte para adicionar # arquivos às suas fontes} other {Solte para adicionar # arquivos às suas fontes}}", + "limitReached": "Você já tem arquivos de fonte {limit}.", + "filesUsed": "{count} dos seus {max} usados", + "nameHint": "Esse é o nome na lista de fontes do seu leitor.", + "inReaderHint": "Sua lista de fontes no Leitor › Configurações, com {name} escolhida.", + "showInReader": "Exibir no meu leitor", + "showFamily": "Mostrar {name} no meu leitor", + "removeConsequenceBooks": "{count, plural, one {Ela está definida em # dos seus livros; esse livro volta a usar a própria fonte.} other {Ela está definida em # dos seus livros; eles voltam a usar suas próprias fontes.}}", + "removeConsequenceDefault": "É sua fonte padrão; livros sem sua própria configuração voltam para o padrão do livro.", + "removeQuestion": "Remover {name} de suas fontes?" + } }, "bookDock": { "title": "Doca de Livros (Book Dock)", @@ -3604,6 +4166,7 @@ "nav": { "title": "Configurações", "ariaLabel": "Seções de configurações", + "breadcrumbLabel": "Trilha", "searchPlaceholder": "Procurar nas configurações", "clearSearch": "Limpar busca", "noResults": "Nenhuma configuração corresponde a {query}.", @@ -3650,9 +4213,58 @@ "serverFonts": "Fontes instaladas para todos leitores neste servidor.", "bookDock": "Ações rápidas exibidas nas páginas de livros.", "auditLog": "Quem mudou o quê e quando.", - "requests": "Fontes, downloads de clientes e o que acontece com um livro uma vez que ele baixa." + "requests": "Fontes, downloads de clientes e o que acontece com um livro uma vez que ele baixa.", + "readerTts": "Voz, velocidade e narração em voz alta.", + "adminTts": "Mecanismos de conversão de texto em fala disponíveis para todos os leitores deste servidor." }, - "backToApp": "Voltar para a biblioteca" + "backToApp": "Voltar para a biblioteca", + "pageDescriptions": { + "profile": "Seu nome, foto, fuso horário e rastreamento de conquistas, mais sua senha e os provedores de login vinculados a esta conta.", + "appearance-theme": "Escolha onde suas configurações de aparência são salvas, em seguida, defina o estilo, esquema de cores, acentos, brilho superficial e o padrão atrás de sua biblioteca.", + "appearance-book-covers": "Como você olha para o aplicativo: arte do espaço reservado para livros sem um, como se encaixam seus efeitos de espinha e glosa e a tonalidade da capa nas páginas de livros.", + "appearance-icons": "Carregue seus próprios ícones para usar junto com o conjunto embutido para bibliotecas, escopos inteligentes e coleções.", + "appearance-layout": "Cubra os tamanhos e o espaçamento para a grade da biblioteca, a capa mostrada para uma série colapsada e como a grade do autor é fornecida.", + "appearance-behavior": "O que abrir um livro a partir de uma grade ou lista, caso a série caia em um só cartão, e se os Book Requests aparecem nesta conta.", + "appearance-language": "O idioma que o BookOrbit usa para menus, rótulos e mensagens e formatos regionais para datas e números.", + "reader-ebook": "Padrão para o leitor de ebook: se novos livros começam com suas configurações, fluxo de página e colunas, tema e tipografia, como fonte, tamanho e espaçamento.", + "reader-pdf": "Como os PDFs abrem: página por página ou uma rolagem contínua, qual página inicia um \"spread\" de duas páginas e o zoom padrão se ajusta.", + "reader-comics": "Como se pode ler em quadrinhos: modo de leitura e direção, spreads individuais ou em duas páginas, fit, handling de páginas largas e passando para o próximo livro da série.", + "reader-audio": "A velocidade inicial e o volume para novas caixas de áudio e o quão longe saltar e pular botões para frente pula.", + "reader-fonts": "Carregue suas próprias fontes para o leitor e escolha as fontes compartilhadas pelo administrador do servidor que aparecem nelas.", + "reader-general": "Onde suas preferências de leitor são salvas, e os padrões são compartilhados por cada modo de leitura.", + "tts": "Sua voz e velocidade padrão quando a BookOrbit lê um livro em voz alta.", + "notifications": "Escolha quais eventos te notificam, de verificações terminadas e metadados buscam para renomear arquivos, importar e resultados da Doca de Livros.", + "privacy": "Decida quanto de seus administradores de atividades de leitura podem ver, visualize seu perfil compartilhado e verifique quem o visualizou.", + "restrictions": "Limites de conteúdo definidos nesta conta, como avaliações de idade e conteúdo oculto, e o que eles se mantêm fora de suas bibliotecas.", + "libraries": "Toda biblioteca num piscar de olhos: suas pastas, o que segura, como é escaneado e quando ele é publicado na última fileira. Adicione, edite ou reescaneie bibliotecas aqui.", + "metadata-providers": "Ative ou desative as fontes de metadados, adicione chaves de API ou cookies onde uma fonte precisa deles e teste as credenciais contra o serviço ao vivo.", + "metadata-field-rules": "Escolha quais provedores preenchem cada campo de metadados e em que ordem, como os valores são mesclados e como os gêneros e IDs de provedor são coletados.", + "metadata-custom-fields": "Crie seus próprios campos de metadados, escolha seu tipo e as bibliotecas que os usam, reordenando ou arquivando.", + "metadata-score": "Decida o quanto cada campo de metadados conta para a pontuação de completude mostrada em cada livro.", + "metadata-auto-fetch": "Buscar metadados de livro automaticamente quando livros são importados ou estão faltando detalhes, com substituições para cada biblioteca.", + "metadata-authors": "Buscar as biografias e fotos do autor automaticamente, escolher as fontes da ordem que são testadas e decidir quais autores se qualificam.", + "metadata-search-cache": "Mantenha as respostas do fornecedor, assim pesquisas repetidas são rápidas e ainda funcionam quando um provedor está inativo, e controle quanto tempo e quanto é mantido.", + "metadata-genre-blocklist": "Os valores do gênero listados aqui são retirados dos resultados do provedor antes que os metadados sejam escritos, portanto rótulos como Audiobook ficam fora dos seus livros.", + "metadata-reminders": "Escolha quais campos em falta aparecem nos lembretes do livro. Isso altera apenas os lembretes e não as pontuações de metadados.", + "file-naming": "Padrões de nome de pasta e nome de arquivo usados quando BookOrbit renomeia livros no disco, com uma prévia do resultado e o que acontece quando falta um valor.", + "maintenance": "Manutenção do servidor: o limite de tamanho de upload, importações passadas, recomendações de reconstrução, conquistas de backling e a verificação de atualizações.", + "kobo": "Conecte os leitores eletrônicos Kobo, escolha como livros, prateleiras e leitura da sincronização de progresso e siga a atividade recente de sincronização de cada dispositivo.", + "koreader": "Sincronize o progresso, lendo a atividade e destaques com o KOReader, obtenha a URL de sincronização e o plugin e gerencie os dispositivos que se conectam.", + "opds": "Ative o catálogo OPDS e crie contas para que aplicativos de leitura de terceiros possam navegar e baixar seus livros.", + "email": "Gerenciar os livros de endereços são enviados, como caixas de entrada do Kinrond, adicionar estrela do padrão e enviar vários destinatários de grupo de uma só vez.", + "hardcover": "Conecte sua conta do Hardcover e escolha quando estiver lendo o status, o progresso e a sincronização de classificações e como os livros sincronizados aparecem.", + "readwise": "Conecte sua conta Readwise para enviar seus destaques para lá automaticamente.", + "storygraph": "Conecte sua conta do StoryGraph usando seus cookies de sessão do navegador para sincronizar o progresso e o status da leitura.", + "users": "Crie e gerencie contas, suas funções, permissões e acesso à biblioteca, e veja quais contas precisam de atenção.", + "account-activity": "Veja quando cada conta foi ativada pela última vez e como se conecta, e abra as dicas por usuário de leitura e sessão.", + "magic-links": "Crie links compartilháveis que assinam alguém sem uma senha e revoge-os quando eles não são mais necessários.", + "oidc": "Conecte um provedor de login único como Keycloak, mapeie suas reivindicações e decida como novas contas são criadas.", + "requests": "Onde a BookOrbit procura os livros solicitados, que baixa os clientes os buscam, e o que acontece quando um download termina.", + "admin-tts": "Os leitores de texto em voz pode usar para a leitura em voz alta, as vozes oferecidas por cada voz e a ordem em que aparecem.", + "book-dock": "A pasta de drop do Livro Dock, metadados automáticos buscando por novos arquivos e a pontuação em que arquivos são finalizados por conta própria.", + "server-fonts": "Envie fontes uma vez para cada leitor neste servidor. Cada leitor ainda pode ocultar qualquer uma delas.", + "audit-log": "Um registro pesquisável de quem mudou o quê e quando, filtrável por evento, pessoa, item e data afetados." + } }, "field": { "required": "(obrigatório)" @@ -3687,6 +4299,201 @@ "earned": "Conquistadas ({count})", "inProgress": "Em Progresso ({count})", "locked": "Bloqueadas ({count})" + }, + "tiersEarnedFact": "{earned} de {total} níveis", + "loading": "Carregando conquistas", + "filters": { + "label": "Filtrar conquistas", + "all": "Todos", + "earned": "Ganho", + "inProgress": "Em progresso", + "locked": "Bloqueado" + }, + "showcase": { + "label": "Destaques", + "latest": "Desbloqueio mais recente", + "newToday": "{count, plural, one {# new hoje} other {# new today}}", + "secretRevealed": "Secreto revelado", + "categoryAndDate": "{category} · {date}", + "alsoNew": "Também novo", + "openMedal": "Abrir {name}", + "emptyTitle": "Sua primeira medalha está à espera", + "emptyBody": "Termine um livro, avalie ou realce uma passagem e ele aterrize aqui.", + "collection": "Coleção", + "shareOfTiers": "{percent} de todos os níveis", + "tiersEarned": "{earned} de {total} níveis ganhos", + "closest": "Mais próximo do desbloqueio", + "allInProgress": "Todos {count}", + "tierOfSet": "Nível {tier} de {set}", + "nothingCounting": "Nada está contando em direção a uma medalha ainda." + }, + "shelf": { + "tiers": "{earned} / {total}", + "progressLabel": "Nível {category} ganho" + }, + "medal": { + "label": "{name}, {rarity}, {status}", + "tier": "Nível {tier}", + "allTiers": "{count, plural, one {O único nível} other {Todos os # níveis}}", + "keepReading": "Continuar lendo", + "notStarted": "Não iniciada" + }, + "progress": { + "generic": "{current} / {threshold}", + "toGo": "{count, plural, one {# para ir} other {# para ir}}" + }, + "hints": { + "howToGetIt": "Como obter", + "readingPace": "{count, plural, one {Você leu por # hora nos últimos {days} dias.} other {Você leu por # horas nos últimos {days} dias.}}", + "etaDays": "{count, plural, one {Cerca de # dia nesse ritmo.} other {Cerca de # dias nesse ritmo.}}", + "etaWeeks": "{count, plural, one {Cerca de # semanas neste ritmo.} other {Cerca de # semanas neste ritmo.}}", + "etaMonths": "{count, plural, one {Cerca de # mês neste ritmo.} other {Cerca de # meses neste ritmo.}}", + "decadeUnread": "{count, plural, one {# livro do {decade}está esperando em suas prateleiras.} other {# livros do {decade}estão esperando nas suas prateleiras.}}", + "centuryUnread": "{count, plural, one {# livro do {century}está esperando em suas prateleiras.} other {# livros do {century}estão esperando nas suas prateleiras.}}", + "stalled": "{title} é {percent} lido e foi iniciado em {date}.", + "stalledNoProgress": "{title} foi iniciado em {date}.", + "untitledBook": "Um livro em andamento", + "nearlyFinished": "{count, plural, one {# livro em andamento já passou de {percent}.} other {# livros em andamento já passaram de {percent}.}}", + "unratedFinished": "{count, plural, one {# O livro que você terminou não tem classificação ainda.} other {# livros que você terminou não tem classificação ainda.}}", + "shortBooks": "{count, plural, one {# livro sob {pages} páginas esperam em suas prateleiras.} other {# livros sob {pages} páginas estão esperando nas suas prateleiras.}}", + "alreadyStarted": "{count, plural, one {# já está em andamento.} other {# já está em andamento.}}", + "longBooks": "{count, plural, one {# livro de {pages} páginas ou mais estão esperando em suas prateleiras.} other {# livros de {pages} ou mais páginas estão esperando nas suas prateleiras.}}", + "oldBooks": "{count, plural, one {# livro publicado antes {year} está esperando em suas prateleiras.} other {# livros publicados antes de {year} estão esperando nas suas prateleiras.}}", + "authorUnread": "{author}: {finished, plural, one {# concluído} other {# concluídos}}, {count, plural, one {mais # na sua estante} other {mais # na sua estante}}.", + "languageUnread": "{count, plural, one {# livro em {language} está esperando em suas prateleiras.} other {# livros em {language} estão esperando nas suas prateleiras.}}", + "monthsRead": "{count, plural, one {Até agora, você leu em # mês de {year}.} other {Até agora, você leu em # meses de {year}.}}", + "monthsLeft": "{count, plural, one {Falta {months}.} other {Faltam {months}.}}", + "noLongBook": "Nenhum livro em suas prateleiras tem páginas do {pages} ou mais ainda.", + "nothingBeforeYear": "Nada foi publicado nas suas prateleiras antes da publicação {year}.", + "tooFewDecades": "{count, plural, one {Até agora, sua estante abrange apenas # década.} other {Até agora, sua estante abrange apenas # décadas.}}", + "tooFewCenturies": "{count, plural, one {Suas prateleiras duram apenas # século até agora.} other {Suas prateleiras duram apenas # séculos até agora.}}", + "missedMonth": "Você não leu em {month}, portanto {year} está fora de alcance. A contagem recomeça em janeiro.", + "continueReading": "Continue lendo", + "rateFinished": "Avaliar um livro acabado", + "viewAuthor": "Visualizar autor", + "openBook": "Abrir {title}", + "openUntitledBook": "Abrir o livro" + }, + "sets": { + "booksFinished": "Livros Finalizados", + "pagesRead": "Páginas lidas", + "hoursRead": "Horas lidas", + "longestBook": "Um livro mais longo terminou", + "librarySize": "Tamanho da biblioteca", + "annotations": "Anotações", + "booksRated": "Livros avaliados", + "genresFinished": "Gêneros finalizados", + "languagesFinished": "Idiomas finalizados", + "readingStreak": "Sequência de Leitura" + }, + "units": { + "books": { + "progress": "{current} / {threshold} livros", + "toGo": "{count, plural, one {# reservas para ir} other {# livros para ir}}" + }, + "pages": { + "progress": "{current} / {threshold} páginas", + "toGo": "{count, plural, one {# página para ir} other {# páginas para ir}}" + }, + "hours": { + "progress": "{current} / {threshold} horas", + "toGo": "{count, plural, one {# hora para ir} other {# horas para ir}}" + }, + "annotations": { + "progress": "{current} / {threshold} anotações", + "toGo": "{count, plural, one {# Annotation to go} other {# Annotations to go}}" + }, + "ratings": { + "progress": "Avaliações {current} / {threshold}", + "toGo": "{count, plural, one {# rating para ir} other {# classificações para ir}}" + }, + "genres": { + "progress": "{current} / {threshold} genres", + "toGo": "{count, plural, one {# gênero para ir} other {# gêneros para ir}}" + }, + "languages": { + "progress": "{current} / {threshold} idiomas", + "toGo": "{count, plural, one {# language to go} other {# languages to go}}" + }, + "days": { + "progress": "{current} / {threshold} dias", + "toGo": "{count, plural, one {# dia para ir} other {# dias para ir}}" + } + }, + "moments": { + "nthBook": "O livro {number} foi {title}", + "pagesAtUnlock": "{count, plural, one {Página #} other {# páginas}} quando desbloqueado", + "hoursAtUnlock": "{count, plural, one {# hora} other {# horas}} quando foi desbloqueado", + "titleWithPages": "{title}, {count, plural, one {Página #} other {# páginas}}", + "booksAtUnlock": "{count, plural, one {# livro} other {# livros}} na sua biblioteca quando for desbloqueado", + "annotationsAtUnlock": "{count, plural, one {# anotação} other {# anotações}} quando desbloqueado", + "ratingsAtUnlock": "{count, plural, one {# rating} other {# classificações}} quando desbloqueado", + "genresAtUnlock": "{count, plural, one {# gênero} other {# gêneros}} quando desbloqueado", + "languagesAtUnlock": "{count, plural, one {# Idiomas} other {# Idiomas}} quando desbloqueado", + "streakAtUnlock": "{count, plural, one {# dia} other {# dias}} seguidas no momento", + "longSession": "Uma sessão correu {duration}", + "durationHours": "{hours} h {minutes} min", + "durationMinutes": "{minutes} min", + "sessionStartedAt": "Uma sessão que começou em {time}", + "oneDayBook": "{title}, comece a terminar em um dia", + "booksInWeek": "{count, plural, one {# Livro} other {# livros}} terminou em uma semana", + "booksInMonth": "{count, plural, one {# livro} other {# livros}} terminou em {month}", + "booksInYear": "{count, plural, one {# livro} other {# livros}} terminou em {year}", + "wholeBookOneSession": "Um livro inteiro em uma sessão", + "pagesInSession": "{count, plural, one {# Página} other {# páginas}} em uma sessão", + "pagesInDay": "{count, plural, one {Página #} other {# páginas}} em um dia", + "slowBurn": "{title}, terminou após {count, plural, one {# dia} other {# dias}}", + "formatsOwned": "{count, plural, one {# formato} other {# formatos}} em suas prateleiras", + "annotationsWithNote": "{count, plural, one {# anotação} other {# anotações}} com uma nota", + "annotationsInDay": "{count, plural, one {# anotação} other {# anotações}} em um dia", + "everyStar": "Toda classificação de uma estrela a cinco", + "everyColour": "Cada cor de destaque usada", + "titlePublished": "{title}, publicado em {year}", + "booksInGenre": "{count, plural, one {# livro} other {# livros}} em um gênero", + "firstInSeries": "{title}, da série {series}", + "centuries": "Livros de {count, plural, one {# século} other {# séculos}}", + "booksBySameAuthor": "{count, plural, one {# livro} other {# livros}} por um autor", + "decades": "Livros de {count, plural, one {# década} other {# décadas}}", + "shortBooks": "{count, plural, one {# curto livro} other {# livros curtos}} terminou", + "allSeasons": "Todas as quatro temporadas de {year}", + "consistentDays": "{count, plural, one {# dia} other {# dias}} de 30 minutos ou mais", + "weekendsInRow": "{count, plural, one {# fim de semana} other {# fins de semana}} seguidas", + "weekendHours": "{count, plural, one {# hora} other {# horas}} no fim de semana de {date}", + "categoriesCovered": "{count, plural, one {# categoria} other {# categorias}} com uma conquista", + "readingSources": "{count, plural, one {# lendo a fonte} other {# lendo fontes}}", + "oneBookSources": "Um livro leu de {count, plural, one {# source} other {# sources}}" + }, + "records": { + "title": "Livro de Notas", + "subtitle": "Os números por trás de suas medalhas estavam parados quando cada um era desbloqueado", + "value": "{value}", + "oneSession": "Uma sessão de leitura", + "pagesInSession": "Páginas em uma sessão", + "pagesInDay": "Páginas em um dia", + "booksInWeek": "Livros em uma semana", + "booksInMonth": "Livros em {month}", + "booksInYear": "Livros terminados em {year}", + "annotations": "Anotação", + "genresFinished": "Gêneros finalizados", + "daysInRow": "Dias seguidos", + "booksInLibrary": "Livros na sua biblioteca" + }, + "detail": { + "categoryTierSet": "{category} · Nível definido", + "secretHint": "Continue lendo para revelar este.", + "tierOf": "Nível {earned} de {total}", + "current": "Atual", + "noneYet": "Nenhuma ainda", + "progress": "Progresso", + "allTiersEarned": "Cada nível ganho", + "tiers": "Níveis", + "earned": "Ganho", + "status": "SItuação", + "hidden": "Hidden", + "rarity": "Raridade", + "category": "categoria", + "theSet": "O conjunto", + "theMoment": "O momento" } }, "adminFeature": { @@ -4418,7 +5225,13 @@ "user": "Usuário", "action": "Ação", "description": "Descrição", - "ip": "IP" + "ip": "IP", + "time": "Horário", + "person": "Pessoa", + "source": "fonte", + "open": "Abertas", + "network": "Rede", + "activity": "Atividade" }, "categories": { "authentication": "Autenticação", @@ -4428,7 +5241,10 @@ "collections": "Coleções", "integrations": "Integrações", "settings": "Configurações", - "other": "Outro" + "other": "Outro", + "access": "Entrar e acessar", + "requests": "Solicitações", + "devices": "Dispositivos e e-mail" }, "resourceLabels": { "User": "Usuário", @@ -4592,10 +5408,178 @@ "MaintenanceMissingBooksClean": "Livros que faltam foram limpos", "MaintenanceBrokenCoversClean": "Capas quebradas limpas", "MaintenanceOrphanedCoversClean": "Pastas de capas órfãs limpas" - } + }, + "views": { + "label": "Apresentar", + "changes": "Mudanças", + "signins": "Log-ins", + "security": "Segurança", + "all": "TODOS" + }, + "search": { + "label": "Procurar eventos", + "placeholder": "Procurar pessoas, alvos ou endereços IP", + "placeholderShort": "Procurar eventos" + }, + "range": { + "label": "Date range: {range}", + "today": "hoje", + "7d": "Últimos 7 Dias", + "30d": "Últimos 30 Dias", + "all": "Tudo mantido", + "custom": "Faixa personalizada", + "from": "De", + "to": "Para", + "between": "{from} a {to}", + "since": "Desde {date}", + "until": "Até {date}", + "sinceOldest": "Desde {date}" + }, + "filterMenu": { + "button": "Filtros", + "category": "categoria", + "person": "Pessoa", + "findPerson": "Encontrar uma pessoa", + "noPeople": "Nenhuma pessoa correspondente", + "clear": "Limpar", + "done": "Concluído" + }, + "activeFilters": { + "target": "{type}: {name}", + "clearAll": "Limpar tudo" + }, + "securityGroups": { + "label": "Tipo de evento de segurança", + "all": "Tudo", + "failed": "Log-ins falhados", + "accounts": "Organizações", + "passwords": "Senhas", + "permissions": "Permissões", + "access": "Acesso à biblioteca", + "links": "Links de login" + }, + "day": { + "today": "hoje", + "yesterday": "ontem", + "changes": "{count, plural, one {# mude} other {# muda}}", + "events": "{count, plural, one {# evento} other {# eventos}}" + }, + "person": { + "system": "SISTEMA", + "deleted": "Conta apagada", + "automation": "Automatização" + }, + "source": { + "server": "Este servidor", + "local": "Rede local", + "internet": "Internet", + "job": "Trabalho em segundo plano", + "unknown": "Não registrado" + }, + "target": { + "none": "No target", + "more": "+{count}", + "sinceDeleted": "Como eliminado", + "withId": "{type} nº {id}" + }, + "openEvent": "Detalhes da abertura: {event}", + "signIns": { + "signIns": "{count, plural, one {# Entre} other {# entre}}", + "signOuts": "{count, plural, one {# Saia} other {# Log-outs}}", + "failed": "{count, plural, one {# falha na tentativa} other {# tentativas falharam}}", + "failedAs": "{count, plural, one {# falhou como {names}} other {# falhou como {names}}}", + "range": "{from} – {to}", + "footer": "{count, plural, one {{events} eventos de login, agrupados em # linha por pessoa, dia e rede} other {{events} eventos de login, agrupados em # linhas por pessoa, dia e rede}}" + }, + "pager": { + "label": "páginas", + "previous": "Página anterior", + "next": "Página seguinte", + "page": "Página {page}", + "changes": "{from}–{to} de {count, plural, one {# mude} other {# muda}}", + "events": "{from}–{to} de {count, plural, one {# evento} other {# eventos}}" + }, + "drawer": { + "description": "Detalhes de um evento de auditoria", + "close": "FECHAR", + "subtitle": "{category} · {day}, {time}", + "when": "Quando", + "person": "Pessoa", + "source": "fonte", + "target": "Target", + "usernameTried": "Nome de usuário testado", + "deletedHere": "{type} · excluído por este evento", + "deletedSince": "{type} · desde a exclusão", + "inThisRow": "{count, plural, one {# evento nesta linha} other {# eventos nesta linha}}", + "around": "Ao redor deste evento", + "aroundHint": "{name}, 40 minutos cada lado", + "aroundEmpty": "Nada mais do {name} dentro de 40 minutos.", + "history": "Histórico", + "historyCount": "{count, plural, one {# evento} other {# eventos}}", + "historyMeta": "{name} · {date}, {time}", + "thisEvent": "Este evento", + "raw": "Evento bruto", + "rawEventId": "Código do evento", + "rawAction": "Acão", + "rawTarget": "Target type", + "rawNote": "Nota do servidor", + "only": "Somente {name}" + }, + "facts": { + "format": "Formato", + "size": "Tamanho", + "download": "Download", + "dockFile": "Arquivo de dock", + "rejected": "Rejeitados", + "failed": "Falhou", + "cleaned": "Limpo", + "skipped": "Ignorado", + "remaining": "Restante", + "sharingLevel": "Nível de compartilhamento", + "sharing": { + "private": "Não compartilhado", + "summary": "Summary", + "detailed": "Detalhado" + } + }, + "retention": { + "button": "{count, plural, one {Mantém o dia #} other {Mantendo por # dias}}", + "title": "Manter eventos para", + "days": "{count, plural, one {# dia} other {# dias}}", + "hint": "Eventos mais velhos são eliminados todas as noites à meia-noite.", + "hintWithOldest": "Eventos mais antigos são excluídos todas as noites à meia-noite. O evento mais antigo mantido é de {date}.", + "readOnly": "Apenas as pessoas que podem alterar as configurações do app podem alterar isso.", + "saved": "{count, plural, one {Os eventos de auditoria foram mantidos por # dia.} other {Avalie os eventos por # dias.}}", + "saveFailed": "Não foi possível alterar quanto tempo os eventos são mantidos." + }, + "export": { + "button": "Exportação", + "title": "Exportar o que é mostrado", + "hint": "Usa a visão, filtros e intervalo de datas atuais.", + "csv": "Csv", + "json": "JSON", + "failed": "Não foi possível exportar o log de auditoria." + }, + "emptyFiltered": "Nenhum evento corresponde a esses filtros." }, "auth": { "backToSignIn": "Voltar para o login", + "plate": { + "exLibris": "Ex Libris" + }, + "endpaper": { + "change": "Alterar endpaper", + "options": { + "seigaiha": "Ondas", + "shippo": "Círculos interligados", + "asanoha": "Folha de cânhamo", + "quatrefoil": "Quatrefeil", + "ogee": "Ogee", + "harlequin": "Harlequin", + "greekKey": "Chave Grega", + "plain": "Simples" + } + }, "themePicker": { "switchToLight": "Mudar para modo claro", "switchToDark": "Mudar para modo escuro", @@ -4613,7 +5597,10 @@ "confirmPassword": "Confirmar senha", "confirmNewPassword": "Confirmar nova senha", "currentPassword": "Senha atual", - "passwordHint": "Mín. de 8 caracteres com maiúscula, minúscula e um número" + "passwordHint": "Mín. de 8 caracteres com maiúscula, minúscula e um número", + "showPassword": "Mostrar senha", + "hidePassword": "Ocultar senha", + "capsLockOn": "O Caps Lock está ativado" }, "errors": { "generic": "Ocorreu um erro. Por favor, tente novamente.", @@ -4625,9 +5612,11 @@ "signingIn": "Entrando...", "orDivider": "ou", "forgotPassword": "Esqueceu a senha?", + "resetPasswordAction": "Redefinir senha", "noAccount": "Não tem conta?", "signUp": "Registre-se", "registeredNotice": "Conta criada. Faça o login para continuar. Um administrador precisa conceder permissões para que você possa acessar a biblioteca.", + "resetNotice": "Senha atualizada. Entre com sua nova senha.", "errors": { "invalidCredentials": "Nome de usuário ou senha inválidos", "tooManyAttempts": "Muitas tentativas de login. Por favor, aguarde um minuto e tente novamente.", @@ -4799,6 +5788,8 @@ "selectVisible": "Selecionar visíveis", "refreshMetadata": "Atualizar metadados", "refreshingMetadata": "Atualizando metadados...", + "confirmRefreshCount": "{count, plural, one {Atualizar os metadados de # autor?} other {Atualizar os metadados de # autores?}}", + "refreshAction": "atualizar", "deleteSelected": "Excluir selecionados", "deleting": "Excluindo...", "exitSelection": "Sair da seleção", @@ -4902,6 +5893,19 @@ }, "book": { "untitled": "Sem título", + "placeholder": { + "volume": "Vol. {number}", + "genre": { + "horror": "Horror", + "romance": "Romance", + "fantasy": "Fantasy", + "scifi": "Sci-fi", + "mystery": "Misterioso", + "classic": "Clássicos", + "nonfiction": "Não-ficção", + "young": "Leitores jovens" + } + }, "unknownFormat": "desconhecido", "collapsedSeries": { "label": "Série", @@ -4916,6 +5920,7 @@ "audiobook": "Audiolivro" }, "formats": { + "djvu": "Documento DjVu", "epub": "EPUB e-book", "kepub": "KEPUB e-book", "pdf": "Documento em PDF", @@ -4958,6 +5963,10 @@ "openAs": "Abrir como {format}", "openReadAlong": "Abrir leitura ao longo do EPUB" }, + "refreshMetadata": { + "success": "Metadados atualizados", + "failed": "Atualização de metadados falhou" + }, "coverRegeneration": { "failed": "Não foi possível regerar a capa", "bulkInProgress": "Reextração de capas", @@ -4987,7 +5996,11 @@ "exportFailed": "Falha na exportação", "audiolessEpub": "EPUB do KOReader", "audiolessEpubHint": "Baixar EPUB para o KOReader com arquivos de áudio removidos", - "noAudio": "sem áudio" + "noAudio": "sem áudio", + "textOnlyEpub": "Texto-somente-EPUB", + "textOnlyEpubHint": "Baixe um EPUB sem narração preservando âncoras de leitura.", + "originalNarrated": "EPUB original com narração", + "originalNarratedEpub": "EPUB original com narração" }, "sort": { "moveUp": "Mover para cima", @@ -5283,7 +6296,8 @@ }, "header": { "previousBook": "Livro anterior", - "nextBook": "Próximo livro" + "nextBook": "Próximo livro", + "backToLibrary": "Voltar para {library}" }, "tabs": { "details": "Detalhes", @@ -6863,6 +7877,22 @@ "nFailed": "{count} falharam", "nTotal": "{count} total" }, + "uploadFailures": { + "heading": "{count, plural, one {Não foi possível carregar o arquivo #} other {Não foi possível carregar # arquivos}}", + "dismissAll": "Dispensar todos", + "retry": "Tentar enviar {name} novamente", + "dismiss": "Descartar {name}", + "reason": { + "unsupported": "Tipo de arquivo não suportado:{extension}", + "noExtension": "O arquivo não tem extensão, então o seu formato é desconhecido", + "tooLarge": "Maior que o limite de upload {limit}", + "tooLargeServer": "Maior que o limite de upload do servidor", + "tooLargeProxy": "Rejeitado muito antes de chegar ao BookOrbit, provavelmente por um proxy reverso", + "storageFull": "O servidor está sem espaço de armazenamento", + "network": "Não foi possível encontrar o servidor", + "status": "Envio falhou (HTTP {status})" + } + }, "fileList": { "emptyTitle": "Nenhum arquivo na Doca de Livros", "emptyMessageDefault": "Faça o upload de arquivos ou solte-os na pasta Doca de Livros", @@ -7122,7 +8152,40 @@ "moreOptions": "Mais opções", "fewerOptions": "Menos opções", "optionsSummary": "{formats} · nota adicionada", - "formatToggleAria": "Prefere {format}" + "formatToggleAria": "Prefere {format}", + "pair": { + "choice": "Ambos", + "choiceHint": "Peça o e-book e o audiobook juntos", + "ebookLibraryLabel": "Biblioteca de e-book", + "audiobookLibraryLabel": "Biblioteca de Audiobook", + "audiobookFolderLabel": "Pasta do Audiobook", + "landsTogether": "Ambos os formatos chegam como um livro no {library}.", + "landsSeparately": "{library} mantém um livro por arquivo, então cada formato chega como um livro de sua preferência.", + "landsApart": "O e-book e o audiobook vão para bibliotecas diferentes, por isso chegam como dois livros.", + "preferredEbookFormats": "Formatos preferidos de e-book", + "preferredAudiobookFormats": "Formatos preferidos de audiolivro", + "state": { + "owned": "Na sua biblioteca", + "following": "Você solicitou isto", + "joinable": "Solicitado", + "new": "Não solicitado" + }, + "requestBoth": "Pedir ambos", + "getBoth": "Obter os dois", + "chooseReleases": "Selecionar lançamentos", + "joinBoth": "Me adicione a ambos", + "requestEbook": "Solicitar e-book", + "requestAudiobook": "Solicitar audiolivro", + "getEbook": "Obter e-book", + "getAudiobook": "Obter audiolivro", + "joinEbook": "Adicione-me à solicitação de e-book", + "joinAudiobook": "Adicione-me ao pedido de audiobook", + "haveBoth": "Na sua biblioteca", + "requestedBoth": "Solicitado", + "submitted": "Solicitou o e-book e o audiobook", + "submittedPartlyJoined": "Solicitado ambos. Um já estava a caminho, então você foi adicionado a esse pedido", + "submittedJoinsBook": "Solicitado. Ele se juntará à cópia que já está na sua biblioteca" + } }, "card": { "details": "Detalhes", @@ -7181,7 +8244,10 @@ "forbidden": "Esse pedido pertence a outra pessoa.", "loadFailed": "Não foi possível excluir este pedido" }, - "entityName": "Pedido" + "entityName": "Pedido", + "pairSwitchLabel": "Formatos nesta requisição", + "joinsBook": "Junte-se a um livro que você tem", + "joinsBookHint": "Quando isto chega é adicionado ao livro que já está na sua biblioteca" }, "actions": { "approve": "Aprovar", @@ -7196,7 +8262,29 @@ "grab": "Encontrar versão", "goToBook": "Ir para o livro", "retryRelease": "Tente outra versão", - "leave": "Sair do pedido" + "leave": "Sair do pedido", + "pair": { + "approveBoth": "Aprovar ambos", + "approveEbook": "Aprovar e-book", + "approveAudiobook": "Aprovar audiolivro", + "rejectBoth": "Rejeitar ambos", + "rejectEbook": "Rejeitar e-book", + "rejectAudiobook": "Rejeitar audiolivro", + "cancelBoth": "Cancelar ambos", + "cancelEbook": "Cancelar e-book", + "cancelAudiobook": "Cancelar audiolivro", + "dismissBoth": "Descartar ambos", + "dismissEbook": "Dispensar e-book", + "dismissAudiobook": "Dispensar audiolivro", + "restoreBoth": "Restaurar ambos", + "restoreEbook": "Restaurar e-book", + "restoreAudiobook": "Restaurar audiolivro", + "grabEbook": "Encontre um lançamento de e-book", + "grabAudiobook": "Encontre um lançamento de audiolivro", + "chooseReleases": "Selecionar lançamentos", + "openEbook": "Abrir a solicitação de e-book", + "openAudiobook": "Abra o pedido do audiolivro" + } }, "filters": { "status": "Status", @@ -7239,7 +8327,9 @@ "left": "Você deixou este pedido", "bulkRejected": "{count, plural, one {# pedido rejeitado} other {# pedidos rejeitados}}", "bulkRejectedPartial": "{done} rejeitado, {failed} não pôde ser", - "importDiscarded": "O arquivo importado foi descartado" + "importDiscarded": "O arquivo importado foi descartado", + "pairApproved": "Ambos foram aprovados", + "pairRejected": "Rejeitou ambos" }, "errors": { "loadFailed": "Não foi possível fechar esta solicitação", @@ -7259,7 +8349,9 @@ "languageChangeFailed": "Não foi possível alterar o idioma do pedido", "leaveFailed": "Não foi possível deixar esse pedido", "bulkRejectFailed": "Essa seleção não pode ser rejeitada", - "discardImportFailed": "Essa importação não pôde ser descartada" + "discardImportFailed": "Essa importação não pôde ser descartada", + "approveCompanionFailedEbook": "Aprovou este, mas o e-book não pôde ser aprovado", + "approveCompanionFailedAudiobook": "Aprovado este, mas o audiolivro não pôde ser aprovado" }, "grab": { "title": "Enviar para um cliente de download", @@ -7305,6 +8397,18 @@ "releases": { "title": "Escolha uma versão", "retryTitle": "Tente outra versão", + "pairTitle": "Selecionar lançamentos", + "pair": { + "tabsLabel": "Formatos para selecionar lançamentos para", + "releaseCount": "{count, plural, one {# solte} other {# lança}}", + "searching": "Pesquisando", + "toChoose": "Para escolher", + "sent": "Enviado", + "finishedTitle": "Nada mais para escolher", + "finishedHint": "Ambos os formatos têm sua versão agora. Você pode seguir cada um da solicitação.", + "backToRequest": "Voltar para a solicitação", + "done": "Concluído" + }, "subtitle": "Classificado entre todos os indexadores habilitados.", "summaryCount": "{count, plural, one {# lançamento} other {# lançamentos}}", "allFreeleech": "apenas freeleech", @@ -7594,7 +8698,8 @@ "decidedBy": "Decidido por", "decisionNote": "Nota de decisão", "requestNote": "Solicitar anotação", - "openDetail": "Abrir todos os detalhes" + "openDetail": "Abrir todos os detalhes", + "pairMedia": "e-book e audiobook" }, "confirm": { "cancelDownloadTitle": "Cancelar este download?", @@ -7650,7 +8755,9 @@ "SUBMIT_DESTINATION_REQUIRED": "Seus pedidos são aprovados assim que você os fizer, então escolha a biblioteca em que o livro deve entrar", "SUBMIT_SELF_SERVE_LIMIT": "Termine ou cancele alguns downloads primeiro: você pode ter {limit} no vôo de uma vez", "SUBMIT_ON_BEHALF_FORBIDDEN": "Você não tem permissão para solicitar livros para outras pessoas", - "SUBMIT_ON_BEHALF_UNKNOWN_USER": "Este usuário não pode ter um pedido de livro feito para ele" + "SUBMIT_ON_BEHALF_UNKNOWN_USER": "Este usuário não pode ter um pedido de livro feito para ele", + "SUBMIT_TARGET_BOOK_NOT_FOUND": "Esse livro não está em uma biblioteca que você possa encontrar", + "SUBMIT_TARGET_BOOK_HAS_MEDIUM": "Este livro já tem este formato" }, "actionError": { "BOOK_REQUEST_NOT_PENDING": "Apenas uma solicitação pendente suporta esta ação. Esta solicitação é atualmente {status}", @@ -7736,7 +8843,22 @@ "reviewSources": "Revisar fontes" }, "selfServeBadge": "Autoatendida", - "selfServeBadgeHint": "Baixado diretamente pelo solicitante, sem etapa de aprovação" + "selfServeBadgeHint": "Baixado diretamente pelo solicitante, sem etapa de aprovação", + "missingFormat": { + "labelAudiobook": "Audiobook para este livro", + "labelEbook": "E-book para este livro", + "noAudiobook": "Nenhum audiolivro ainda", + "noEbook": "Nenhum e-book ainda", + "requestAudiobook": "Solicitar audiolivro", + "requestEbook": "Solicitar e-book", + "requested": "Solicitado", + "requestedBySomeone": "Solicitado por outra pessoa", + "ownedElsewhere": "Na sua biblioteca como um livro separado", + "open": "Abertas", + "viewRequest": "Exibir solicitação", + "submittedAudiobook": "Solicitado. O audiobook vai se juntar a este livro quando chegar", + "submittedEbook": "Solicitado. O e-book se juntará a este livro quando chegar" + } }, "collection": { "visibleToAll": "Visível para todos os usuários", @@ -7813,6 +8935,9 @@ "uploadBooks": "Upload de livros", "appearance": "Aparência", "appearanceDescription": "Escolha o tema, acento, raio do canto, superfície e opções de fundo.", + "style": "Estilo", + "surfacePalette": "Superfície", + "topGlow": "Brilho superior", "theme": "Tema", "accent": "Destaque", "radius": "Arredondamento", @@ -7910,7 +9035,8 @@ "updateTooltip": "Atualização para {version} disponível", "openUpdateRelease": "Abra o lançamento do {version} no GitHub", "zones": { - "browse": "Navegar" + "browse": "Navegar", + "reading": "Lendo" }, "reorder": { "gripAria": "Reordenar {name}", @@ -7941,6 +9067,8 @@ "moreActions": "Mais ações", "setField": "Definir campo", "refreshMetadata": "Atualizar metadados", + "refreshConfirm": "{count, plural, one {Atualize os metadados para # livro?} other {Atualize os metadados para # livros?}}", + "refreshConfirmAction": "atualizar", "reExtractCover": "Extrair capa novamente", "metadataLock": "Bloqueio de metadados", "lockAll": "Bloquear tudo", @@ -8002,6 +9130,69 @@ "table": "Visualização em tabela" } }, + "browseHeader": { + "eyebrow": { + "library": "Biblioteca", + "smartScope": "Escopo inteligente", + "collection": "Coleção", + "browse": "Navegar" + }, + "facts": { + "books": "{count, plural, one {# livro} other {# livros}}", + "booksOf": "{matching} de {total, plural, one {# livro} other {# livros}}", + "authors": "{count, plural, one {# autor} other {# autores}}", + "series": "{count, plural, one {# series} other {# series}}", + "scanned": "Escaneado {time}", + "scanningProgress": "Verificando {processed} / {total}", + "syncsToKobo": "Sincronizar com Kobo" + }, + "switcher": { + "open": "Mudar de {name}", + "jumpTo": "Pular para...", + "libraries": "Bibliotecas", + "smartScopes": "Âmbitos inteligentes", + "collections": "Coleções", + "empty": "Nada corresponde" + }, + "search": { + "removeToken": "Remover filtro {label}", + "clearAll": "Limpar busca e filtros", + "save": "Guardar", + "summaryToken": "{count, plural, one {# filtre} other {# Filtros}}" + }, + "tokens": { + "anyOf": "Qualquer uma das regras {count, plural, one {#} other {# Regras}}", + "allOf": "Tudo de {count, plural, one {Regra #} other {# Regras}}" + }, + "sort": { + "sortBy": "Ordenar por {field}", + "ascending": "Ascendente. Alterne para decrescente", + "descending": "Descendente - alterne para crescente" + }, + "facets": { + "format": "Formato", + "rules": "Regras", + "show": "Apresentar", + "library": "Biblioteca", + "status": "SItuação", + "ruleCount": "{count, plural, one {Regra #} other {# regras}}" + }, + "menu": { + "more": "Mais para {name}", + "editRules": "Editar regras", + "deleteSmartScope": "Excluir Escopo Inteligente", + "deleteCollection": "Excluir coleção", + "confirmDelete": "Deletar \"{name}\"? Essa ação não pode ser desfeita.", + "upload": "Enviar livros" + }, + "scan": { + "scanning": "Verificando", + "started": "Escaneando {name}", + "finished": "Verificação de {name} concluída" + }, + "viewModes": "Modo de exibição", + "legend": "Cores do volume" + }, "iconPicker": { "clearSelectionAria": "Limpar ícone selecionado", "searchLucide": "Buscar ícones Lucide...", @@ -8110,6 +9301,28 @@ "discardTitle": "Descartar alterações?", "discardDescription": "Suas alterações não salvas serão perdidas.", "discardConfirm": "Descartar" + }, + "backgroundPicker": { + "none": "Nenhuma", + "dots": "Pontos", + "cross": "Cruzar", + "millimeter": "Millimeter", + "blueprint": "Planta", + "brushed": "Escovado", + "scanlines": "Escaneamento", + "vinyl": "Vinil", + "carbon": "Carbono", + "perforated": "Perfurado", + "aurora": "Aurora", + "horizon": "Horizonte", + "glow": "Brilho", + "mesh": "Malha", + "elevation": "Elevação", + "prism": "Prisma", + "spectrum": "Espectro", + "spectrum-x": "Espectro X", + "spectrum-plus": "Espectro Plus", + "eclipse": "Eclipse" } }, "customIcons": { @@ -8355,6 +9568,7 @@ }, "tabs": { "providers": "Provedores SMTP", + "servers": "Servidores de correio", "recipients": "Destinatários", "groups": "Grupos", "templates": "Modelos", @@ -8523,6 +9737,306 @@ "sending": "Enviando...", "queued": "{count, plural, =0 {nenhum e-mail na fila} one {um e-mail na fila} many {# e-mails na fila} other {# e-mails na fila}}", "failed": "Falha ao enviar" + }, + "page": { + "addRecipient": "Adicionar destinatário", + "recipients": "Destinatários", + "groups": "grupos", + "newGroup": "Novo grupo", + "servers": "Servidores de correio", + "addServer": "Adicionar servidor de email", + "templates": "Modelos", + "newTemplate": "Novo modelo", + "noServersReadonly": "Nenhum servidor de email foi compartilhado com você ainda. Peça a um administrador para adicionar um.", + "roleShared": "Compartilhado com todos", + "roleSystem": "Redefinições de senha", + "cantConnect": "Falha na conexão", + "builtIn": "Construído em", + "recipientsEmptyTitle": "Adicione o e-read ou a caixa de entrada para a qual você envia livros", + "recipientsEmptyBody": "O endereço de um Kindle termina no {kindle} e é listado em Dispositivos na sua conta da Amazon. Um Pocketbook termina em {pocketbook}. Qualquer caixa de entrada comum também funciona.", + "kindleNote": "O Kindle recebe apenas o e-mail de remetentes aprovados. Adicione {address} nas Configurações de Documento Pessoal na sua conta da Amazon.", + "copyAddress": "Copiar endereço", + "addressCopied": "Endereço copiado", + "editServer": "Editar {name}", + "editTemplate": "Editar {name}", + "editGroup": "Editar {name}", + "groupCount": "{count, plural, one {# recipient} other {# recipients}}", + "recipientsHint": "O favorito é escolhido quando você envia.", + "groupsHint": "Envie para vários beneficiários de uma só vez.", + "groupsEmpty": "Nenhum grupo ainda.", + "serversHint": "O favorito envia os seus livros.", + "templatesHint": "O assunto e a mensagem foram enviados a cada livro.", + "kindleTemplateNote": "Um Kindle nunca mostra o template: seu email sempre sai com o assunto {subject}.", + "test": "teste", + "testServer": "Testar {name}", + "testOk": "{name} conectado", + "testFailed": "{name} não consegue se conectar", + "defaultRecipient": "Destinatário padrão", + "makeDefaultRecipient": "Tornar {name} o destinatário padrão", + "defaultServer": "Servidor padrão", + "makeDefaultServer": "Tornar o {name} o servidor padrão", + "defaultTemplate": "Modelo padrão", + "makeDefaultTemplate": "Tornar {name} o modelo padrão", + "editRecipient": "Editar {name}", + "serversEmptyTitle": "Nenhum servidor de email ainda", + "serversEmptyBody": "Os livros saem através de uma conta SMTP. Gmail, Outlook, iCloud e Fastmail são um clique; qualquer outro servidor também funciona.", + "needServerTitle": "Adicione um servidor de email antes de enviar", + "needServerBody": "A BookOrbit envia livros através de uma conta SMTP que você possui, como o Gmail com uma senha do aplicativo.", + "needServerAsk": "Peça a um administrador para compartilhar um servidor de email com você.", + "goToServers": "Ir para servidores de e-mail", + "noEncryption": "Sem criptografia" + }, + "route": { + "defaultSaved": "Padrão atualizado" + }, + "attention": { + "title": "Precisa de atenção", + "count": "{count, plural, one {# item} other {# itens}}", + "hide": "Esconder", + "show": "Apresentar", + "serverDown": "{name} não consegue se conectar", + "notDelivered": "{book} não chegou {recipient}", + "maybeDelivered": "Talvez {book} não tenha atingido {recipient}", + "testedAgo": "testado em {time}", + "editServer": "Editar servidor", + "editRecipient": "Editar destinatário", + "resend": "Reenviar" + }, + "reason": { + "tooLarge": "{size} é mais do que {server} aceita.", + "tooLargeGmail": "{size} está acima do limite de anexos do Gmail de 25 MB.", + "tooLargeFix": "Envie uma edição menor, ou defina o destinatário para EPUBs de texto único.", + "signIn": "{server} recusou o login.", + "signInFix": "Verifique o nome de usuário e senha no servidor de e-mail.", + "unreachable": "{server} não respondeu.", + "unconfirmed": "A conexão caiu após a entrega da mensagem, então ela pode ter chegado.", + "unconfirmedFix": "Selecione a caixa de entrada antes de reenviar, ou ela pode chegar duas vezes.", + "interrupted": "A BookOrbit reiniciou enquanto este e-mail estava sendo emitido.", + "interruptedFix": "Verifique a caixa de entrada antes de reenviar.", + "preparation": "O arquivo não pôde ser preparado para envio.", + "other": "O servidor de email desligou-o.", + "server": "servidor de correio", + "serverMessage": "Mensagem do servidor", + "retryAt": "Próxima tentativa {time}." + }, + "status": { + "sent": "Enviado", + "sending": "Enviando", + "retrying": "Tentando · {attempt} de {total}", + "unconfirmed": "Não confirmada", + "failed": "Falhou" + }, + "recent": { + "moreActions": "Mais ações para {title}", + "deletedBook": "Livro excluído", + "openBook": "Abrir livro", + "resend": "Reenviar", + "delete": "Excluir entrada" + }, + "log": { + "all": "TODOS", + "attention": "Precisa de atenção", + "active": "Em Execução", + "book": "Reservar", + "sentTo": "Enviado para", + "file": "Arquivo", + "status": "SItuação", + "when": "Quando", + "sentMeans": "Enviado significa que seu servidor de e-mails aceita", + "emptyFilter": "Nada aqui agora.", + "loadMore": "Carregue mais", + "showing": "Mostrando {shown} de {total}", + "emptyTitle": "Nada enviado ainda", + "emptyBody": "Livros que você recebe por e-mail aqui com onde eles foram e se o servidor de correio os levou." + }, + "card": { + "nothingSent": "Nada enviado ainda", + "failed": "falha", + "retrying": "tentando novamente", + "unconfirmed": "não confirmado", + "sending": "enviando", + "narration": "Narração", + "narrationTitle": "Livros com leituras mantêm sua narração" + }, + "device": { + "kindle": "Kindle", + "kobo": "Kobo", + "other": "Outro leitor eletrônico", + "otherShort": "Leitor de E-Mail", + "none": "Pessoa ou caixa de entrada" + }, + "sheet": { + "title": "Enviar por e-mail", + "sendTo": "Enviar para", + "groups": "grupos", + "templateName": "Modelo {name}", + "eachFormat": "Formato de cada destinatário", + "formatForAll": "{format} para todos", + "file": "Arquivo", + "mailServer": "Servidor de email", + "template": "Modelo", + "yourDefault": "seu padrão", + "emails": "{count, plural, one {# email} other {# emails}}", + "noOnePicked": "Ninguém escolheu", + "total": "{size} no total", + "send": "{count, plural, one {Envie} other {Envie # emails}}", + "noFormat": "Sem {format}, recebe {got}", + "readAlong": "Leitura, {size}", + "overKindle": "{size}, acima do limite de 50 MB do Kindle", + "overGmail": "{size}, acima do limite de 25 MB do Gmail", + "kindleRejects": "Kindle rejeita {format}", + "blockedKindle": "{name} não pode levar {format}. Escolha EPUB ou PDF ou desmarque-o.", + "books": "{count, plural, one {# livro} other {# livros}}", + "notReadyTitle": "O e-mail ainda não está configurado", + "notReadyBody": "Antes de um livro poder ir a qualquer lugar, esta conta precisa de um servidor de correio e de um destinatário.", + "addServer": "Adicionar servidor de email", + "addServerHint": "Gmail, Outlook, iCloud, Fastmail ou qualquer conta SMTP.", + "askForServer": "Peça a um administrador para compartilhar um servidor de e-mail.", + "addRecipient": "Adicionar um destinatário", + "addRecipientHint": "Seu Kindle, PocketBook ou qualquer caixa de entrada.", + "openSettings": "Abrir configurações de e-mail", + "sendingTitle": "Enviando {title}", + "closeHint": "Você pode fechar isto. As falhas também aparecem em suas notificações e em seu histórico de e-mails.", + "openHistory": "Histórico aberto", + "done": "Concluído", + "acceptedBy": "Aceito por {server} {time}", + "handingOver": "Disparando para {server}" + }, + "editor": { + "kindleSubject": "converter", + "recipient": { + "newTitle": "Novo destinatário", + "description": "O nome do destinatário, endereço, dispositivo e o que ele recebe.", + "sectionRecipient": "Destinatário", + "sectionReceives": "O que ele recebe", + "name": "Nome", + "email": "Endereço de e-mail", + "device": "Dispositivo", + "deviceHint": "O Kindle muda o assunto para {subject} e limita os formatos abaixo.", + "format": "Formato", + "formatPrimary": "Primário do livro", + "formatHint": "Um livro sem este formato tem sua edição primária.", + "kindleFormatHint": "A Amazon parou de aceitar MOBI e AZW3 por e-mail em 2023, então eles não são oferecidos por um Kindle. Um livro sem este formato tem sua edição primária.", + "kindleLegacyFormat": "Kindle não aceita mais {format} por e-mail. Escolha EPUB ou PDF.", + "readAlong": "Livros de leitura", + "readAlongAutomatic": "Automático", + "readAlongAutomaticHint": "Somente texto quando uma cópia segura pode ser feita, caso contrário o original.", + "readAlongTextOnly": "Texto-somente-EPUB", + "readAlongTextOnlyHint": "Narração estendida. Pequena o suficiente para o e-mail.", + "readAlongOriginal": "Original com narração", + "readAlongOriginalHint": "Mantém a narração. Frequentemente 100 MB ou mais, na maioria dos limites dos servidores de e-mail.", + "notForKindle": "Não é do Kindle", + "template": "Modelo", + "templateDefault": "Seu padrão ({name})", + "templateKindleHint": "Ignorado por Kindle, que nunca mostra a mensagem.", + "approveTitle": "Aprovar o remetente na Amazon", + "approveBody": "O Kindle deixa o e-mail para os endereços que ele não sabe, sem um saldo. Em {path}, adicione {address}", + "approvePath": "Gerencie Seu Conteúdo e Dispositivos › Preferências › Configurações de Documento Pessoal", + "approveNoServer": "Adicionar um servidor de email primeiro para ver o endereço de Kindle deve aprovar.", + "lastSent": "Último livro enviado {time}", + "sendTest": "Enviar um e-mail de teste", + "testSubject": "E-mail teste de BookOrbit", + "testBody": "Este é um teste da BookOrbit. Se você puder lê-lo, os livros enviados para {name} chegarão aqui também.", + "testSent": "E-mail de teste enviado para {name}", + "testFailed": "O e-mail de teste não saiu: {error}", + "makeDefault": "Enviar rapidamente o destinatário", + "remove": "Excluir destinatário", + "removeConfirm": "Excluir {name}?", + "removeConsequence": "Sua história de envio fica.", + "removeDefaultConsequence": "Seu histórico de envio permanece e envios rápidos para até você marcar um outro beneficiário.", + "required": "Nome e endereço de e-mail são necessários.", + "sectionLastSent": "Último enviado" + }, + "server": { + "newTitle": "Novo servidor de email", + "description": "O servidor SMTP, seu login e quem pode enviar através dele.", + "sectionProvider": "Fornecedor", + "sectionServer": "Servidor", + "sectionSignIn": "Iniciar sessão", + "sectionSender": "Remetente", + "sectionWho": "Quem o usa", + "presetGmail": "Gmail", + "presetOutlook": "Perspectiva", + "presetIcloud": "iCloud Mail", + "presetFastmail": "Correio", + "presetOther": "Outro SMTP", + "presetHint": "Uma predefinição preenche o host, porta e segurança. Você ainda pode mudá-los.", + "name": "Nome", + "host": "Servidor", + "port": "Porta", + "security": "Segurança", + "securityStarttls": "STARTTLS", + "securitySsl": "SSL/TLS", + "securityNone": "Nenhuma", + "securityHint": "STARTTLS em 587, SSL/TLS em 465. Um ou outro, nunca ambos.", + "needsPassword": "Este servidor precisa de uma senha", + "username": "Nome de usuário", + "password": "Palavra-passe", + "appPassword": "Senha do aplicativo", + "passwordKeep": "Salvo. Tipo para substituí-lo", + "appPasswordHint": "O Gmail e o iCloud precisam de uma senha do aplicativo, não de sua senha.", + "fromName": "Nome do remetente", + "fromAddress": "Endereço do remetente", + "fromAddressHint": "Os proprietários de Kindle devem aprovar este endereço.", + "share": "Compartilhar com todos", + "shareHint": "Outras pessoas podem enviar livros através desse servidor sem ver a senha.", + "system": "Enviar redefinições de senha e links de login", + "systemHint": "O próprio servidor BookOrbit. Apenas um superusuário pode alterar isso.", + "verifyTls": "Verificar o certificado do servidor", + "verifyTlsHint": "Desative somente para um servidor na sua rede com um certificado auto-assinado.", + "test": "Testar conexão", + "testDirty": "Salvar primeiro e depois testar", + "testOk": "Conectado", + "testFailed": "Não é possível conectar: {error}", + "remove": "Excluir servidor", + "removeConfirm": "Excluir {name}?", + "removeConsequence": "Todos são partilhados com as perdas.", + "removeSystemFirst": "Desative as redefinições de senha neste servidor antes de excluí-lo.", + "makeDefault": "Usar como meu padrão", + "required": "Nome e host são necessários." + }, + "template": { + "newTitle": "Novo modelo", + "description": "O assunto e a mensagem foram enviados a cada livro.", + "sectionTemplate": "Modelo", + "sectionInsert": "Insert", + "sectionPreview": "Pré-visualizar", + "name": "Nome", + "subject": "Cargo", + "message": "mensagem", + "groupBook": "Reservar", + "groupFile": "Arquivo", + "groupOther": "Outros", + "insertHint": "Entra com o cursor, no assunto ou na mensagem. Valores vazios não imprimem nada.", + "insertVariable": "Insert {variable}", + "previewWith": "Pré-visualizar com", + "previewEmpty": "Envie um livro uma vez para pré-visualizar um modelo com ele.", + "previewFailed": "A pré-visualização não pôde ser renderizada.", + "previewTo": "Para", + "builtInReadonly": "Construído. Apenas um superusuário pode mudá-lo.", + "kindleNote": "Kindle nunca mostra um template: ele sempre recebe o assunto {subject}.", + "makeDefault": "Tornar o meu padrão", + "remove": "Eliminar modelo", + "removeConfirm": "Excluir {name}?", + "removeConsequence": "Os destinatários que o usam voltaram para o modelo padrão.", + "required": "Nome e assunto são obrigatórios.", + "attachment": "Anexo: {name}" + }, + "group": { + "newTitle": "Novo grupo", + "description": "Um conjunto de destinatários para enviar um livro de uma só vez.", + "sectionGroup": "grupo", + "sectionMembers": "membros", + "name": "Nome", + "memberCount": "{count} de {total}", + "noRecipientsTitle": "Nenhum destinatário para escolher", + "noRecipientsBody": "O grupo é um conjunto de destinatários. Adicione um destinatário primeiro.", + "remove": "Apagar grupo", + "removeConfirm": "Excluir {name}?", + "removeConsequence": "Os seus beneficiários ficam.", + "required": "Um grupo precisa de um nome.", + "updated": "Grupo atualizado" + } } }, "errors": { @@ -8817,6 +10331,14 @@ "squareTitle": "Quadrado 1:1", "squareHint": "Bibliotecas somente audiolivro", "slotsHint": "Um livro com um ebook e um audiobook mostra a capa que se adapta a esta forma." + }, + "gridShape": { + "title": "Formato da grade", + "tallTitle": "Células altas", + "tallHint": "Melhor para ebooks ou bibliotecas mistas", + "squareTitle": "Células quadradas", + "squareHint": "Melhor para bibliotecas de audiolivro", + "hint": "Cada livro mostra a capa do seu formato principal, quadrado de um audiolivro. Uma capa que não coincide com o quadro segue a configuração de exibição da capa." } }, "folders": { @@ -9013,6 +10535,68 @@ "opfHint": "Salvo ao lado do livro pelo Calibre", "swap": "Inverter a ordem", "hint": "O BookOrbit usa o primeiro livro e ignora o outro. As bibliotecas calibre geralmente querem primeiro metadata.opf." + }, + "regex": { + "title": "Configurar metadados de regex", + "sourceTitle": "Regex", + "description": "Extrair metadados do caminho do arquivo primário relativo à pasta da biblioteca. A extensão do arquivo é removida antes de corresponder. A primeira regra com campos utilizáveis ganha.", + "enable": "Habilitar metadados de regex", + "primaryFileHint": "Para um livro feito de vários arquivos, como faixas de audioobook, as regras leem o caminho do arquivo primário.", + "groups": "Grupos nomeados:", + "valuesHint": "Use o autor para um autor ou autor separado por ponto e vírgula. As datas usam AAAA-MM-DD. Flags: i ignora o caso, u habilita o Unicode.", + "rules": "Regras de extração ordenadas", + "rule": "Regra {number}", + "moveUp": "Mover regra para cima", + "moveDown": "Mover regra para baixo", + "remove": "Remover regra", + "basePath": "Pasta da biblioteca", + "extensionHint": "A extensão do arquivo é automaticamente ignorada. A âncora do fim coincide com o nome do arquivo sem a sua extensão.", + "flags": "Bandeiras", + "add": "Adicionar regra", + "examplePath": "Exemplo de caminho de arquivo relativo, incluindo a extensão", + "examplePlaceholder": "Autor/Series/08 - My.Book.epub", + "exampleTitle": "Exemplo com uma rereferência de autor", + "exampleTestPath": "Caminho de teste (incluindo extensão)", + "validating": "Verificando regras…", + "validationSuccess": "Sintaxe da regra e grupos válidos. Use o preview para verificar correspondências para um caminho de arquivo.", + "validationError": "Não foi possível validar as regras. Tente novamente antes de aplicá-las.", + "validationRetry": "Verificar novamente", + "validationRuleCount": "Adicione entre {min} e as regras {max}.", + "preview": "Pré-visualizar", + "previewing": "Testando regras…", + "previewError": "Não foi possível visualizar as regras. Verifique o caminho relativo e configuração, e então tente novamente.", + "actualInput": "Caminho testado:", + "matched": "Regra encontrada {number}", + "noMatch": "Nenhuma correspondência utilizável. Os metadados do arquivo serão usados.", + "scanHint": "As alterações aplicam-se a futuras extração de metadados para arquivos novos ou alterados. Salvar não inicia uma verificação nem atualiza livros inalterados.", + "apply": "Aplicar ao formulário da biblioteca", + "configure": "Configurar", + "enabledHint": "Extrair campos de caminhos relativos sem extensões de arquivo.", + "disabledHint": "Desativado. Configure as regras para habilitar.", + "moveSourceUp": "Mover {source} para cima", + "moveSourceDown": "Mover {source} para baixo", + "diagnostics": { + "pattern_required": "Informe uma expressão regular.", + "pattern_too_long": "A expressão não pode exceder {count} caracteres.", + "invalid_flags": "Apenas i e u são permitidos, cada um no máximo.", + "invalid_pattern": "Expressão regular inválida.", + "missing_group": "Incluir pelo menos um grupo nomeado suportado.", + "conflicting_authors": "Use autor ou autores, não ambos.", + "invalid_value": "Um valor de campo inválido foi ignorado.", + "timeout": "A expressão levou muito tempo. Simplifique o padrão.", + "busy": "Todos os assistentes estão ocupados. Tente novamente mais tarde.", + "worker_failed": "A expressão não pôde ser avaliada. Tente novamente." + }, + "precedenceHint": "Os primeiros metadados da fonte do arquivo disponível. Os campos Regex seguem esta ordem e os valores que faltam são preenchidos pela outra fonte.", + "summary": "{format} primeiro, metadados regex preferidos", + "fields": { + "title": "Título", + "authors": "Autores", + "series": "Série", + "seriesIndex": "Número da série", + "publishedYear": "Ano publicado", + "publishedDate": "Data de publicação" + } } }, "fileWrite": { @@ -9164,6 +10748,7 @@ "add": "Adicionar", "emptyCreate": "Ninguém mais ainda. As pessoas que você adicionar aqui terão acesso assim que a biblioteca existir.", "superusers": "Os Superusuários sempre têm acesso total.", + "levelsHint": "Visualizadores podem procurar e ler. Editores e proprietários também podem editar metadados quando sua conta tiver a permissão de editar metadados.", "levelFor": "Nível de acesso para {name}", "revokeFor": "Remover acesso a {name}", "revokeQuestion": "Remover acesso?", @@ -9370,6 +10955,32 @@ } } }, + "metadataCache": { + "badge": { + "cached": "Cache", + "stale": "Atrasado", + "cachedHint": "Resultado salvo de {when}", + "cachedHintUndated": "Resultado salvo", + "staleHint": "O provedor não estava disponível, por isso foi usado um resultado salvo do {when}", + "staleHintUndated": "O provedor estava indisponível, por isso foi usado um resultado salvo" + }, + "notice": { + "someCached": "Alguns resultados vieram de pesquisas salvas (mais antigo: {when}).", + "someCachedUndated": "Alguns resultados vieram de pesquisas salvas.", + "someStale": "Alguns provedores estavam indisponíveis, então resultados salvos foram mostrados (o mais antigo: {when}).", + "someStaleUndated": "Alguns provedores estavam indisponíveis, por isso foram mostrados resultados salvos.", + "searchFresh": "Buscar novo", + "searchFreshHint": "Perguntar novamente a cada provedor em vez de usar as respostas salvas" + }, + "fallback": { + "usedSaved": "{count, plural, one {{providers} estava indisponível, então os resultados salvos foram usados.} other {{providers} estavam indisponíveis, então os resultados salvos foram usados.}}" + }, + "ignoreCache": { + "label": "Ignorar resultados em cache", + "hint": "Perguntar a cada provedor novamente em vez de reutilizar as respostas salvas. É mais lento e usa mais do subsídio de solicitação de cada provedor.", + "runHint": "Aplica-se à execução que você começa aqui. Cada provedor é perguntado novamente, em vez de reutilizar respostas salvas, que é mais lento." + } + }, "metadataScore": { "missingFields": "{count, plural, =0 {nenhum campo faltando - editar metadados} one {# campo faltando - editar metadados} many {# campos faltando - editar metadados} other {# campos faltando - editar metadados}}" }, @@ -9810,6 +11421,22 @@ } }, "reader": { + "pageImages": { + "loadFailed": "Não foi possível abrir este documento. Verifique seu acesso ou tente novamente.", + "pageFailed": "Esta página não pôde ser carregada. Tente novamente quando o servidor estiver disponível.", + "pageAlt": "Página {page}", + "previousPage": "Página anterior", + "nextPage": "Página seguinte", + "goToPage": "Ir para a página", + "pin": "Fixar menu do leitor", + "unpin": "Desafixar menu do leitor" + }, + "djvu": { + "pageText": "Texto da página incorporada", + "textDescription": "O texto armazenado no documento DjVu. OCR pode conter erros.", + "noText": "Esta página não possui texto incorporado.", + "textFailed": "Não foi possível carregar o texto incorporado desta página." + }, "retry": "Tentar novamente", "pdf": { "openError": "Não foi possível abrir este PDF", @@ -9880,6 +11507,7 @@ }, "loadingBook": "Carregando o livro…", "failedToLoadBook": "Falha ao carregar o livro", + "bookLoadTimeout": "O livro demorou muito para abrir. Tente atualizar a página.", "chapterNumber": "Capítulo {number}", "peek": { "badge": "Espiando", @@ -12211,6 +13839,7 @@ }, "email": { "providers": "Provedores", + "servers": "Servidores de correio", "recipients": "Destinatários", "groups": "Grupos", "templates": "Modelos", @@ -12224,7 +13853,8 @@ "genre-blocklist": "Lista de Bloqueio de Gêneros", "score": "Pontuação de Confiança", "auto-fetch": "Busca Automática de Livro", - "authors": "Busca Automática de Autor" + "authors": "Busca Automática de Autor", + "search-cache": "Pesquisar Cache" }, "admin": { "users": "Usuários", @@ -12335,5 +13965,92 @@ "errors": { "generic": "Erro de TTS" } + }, + "delivery": { + "readAloud": { + "label": "Read-aloud EPUB entrega", + "automatic": "Automático: preferir apenas texto, permitir recurso original.", + "textOnly": "Texto-somente-EPUB", + "original": "EPUB original com narração", + "hint": "Aplica-se a entregas futuras. Os originais preservam a narração existente e podem ser muito maiores. Preparação somente de texto falhará se uma cópia segura não puder ser feita.", + "koboHint": "O EPUBs original ignora a conversão KEPUB. O nativo Kobo pode não reproduzir narração e a posição precisa e destacar a sincronização não estão disponíveis para essa cópia.", + "profileHint": "Use perfis separados OPDS para leitores que precisam de diferentes variantes EPUB.", + "replacementTitle": "Substituir uma cópia Kobo", + "bookId": "ID do Livro", + "device": "Dispositivo", + "prepare": "Preparar substituição", + "offer": "Removi apenas a cópia do dispositivo; oferecer a substituição", + "confirm": "Instalei a substituição", + "cancel": "Cancelar substituição", + "replacementHint": "Prepare e analise primeiro. A remoção de uma cópia do dispositivo não exclui a biblioteca do livro. Faça o backup das notas locais do dispositivo. A BookOrbit preserva o progresso canônico e as anotações no servidor. Eventos atrasados podem limitar a sincronização exata.", + "prepared": "Substituição preparada: {format}, {size}. Remova este livro apenas do dispositivo selecionado, em seguida, ofereça a substituição e sincronização preparadas.", + "offered": "Substituído. Sincronize e baixe no dispositivo e confirme a instalação. Uma transferência HTTP completa não prova a instalação.", + "cancelled": "Substituição cancelada. O cancelamento não restaura um dispositivo removido ou parcialmente substituído. Selecione o mesmo livro para preparar o download da recuperação.", + "alreadyOnDevice": "O dispositivo já possui essa cópia exata, então não há nada para substituir.", + "failed": "Não foi possível preparar ou atualizar esta substituição.", + "searchBook": "Buscar um livro", + "chooseBook": "Selecione um livro", + "moreResults": "Mostrar mais livros", + "noResults": "Nenhum livro correspondente foi encontrado.", + "refresh": "Atualizar status de entrega", + "confirmed": "Você confirmou a instalação. Isso grava a sua confirmação, não a verificação do dispositivo.", + "transferred": "A transferência foi concluída. Abra o substituto no dispositivo antes de confirmar a instalação.", + "koreaderDefaultTitle": "Entrega EPUB do KOReader", + "koreaderDefaultHint": "O padrão se aplica a futuros downloads em dispositivos que usam essas credenciais. As configurações do dispositivo podem substituí-lo. As cópias existentes e downloads interrompidos permanecem inalterados. Salva automaticamente as opções do dispositivo existente.", + "koreaderUseDefault": "Usar padrão de credenciais", + "koreaderSaveFailed": "Não foi possível salvar a configuração de envio de EPUB para o KOReader. Tente novamente.", + "koreaderSaved": "Configuração de entrega EPUB do KOReader salva." + } + }, + "commandPalette": { + "title": "Pesquisa", + "description": "Procurar livros, autores, séries e configurações, ir para um lugar ou executar uma ação.", + "placeholder": "Pesquisar livros, autores, série ou ir para…", + "close": "Fechar pesquisa", + "clear": "Limpar pesquisa", + "tabs": { + "all": "TODOS", + "books": "Livros", + "authors": "Autores", + "series": "Série", + "settings": "Confirgurações" + }, + "sections": { + "continueReading": "Continuar lendo", + "goTo": "Ir para", + "actions": "Ações", + "books": "Livros", + "authors": "Autores", + "series": "Série", + "settings": "Confirgurações" + }, + "kinds": { + "author": "Autor", + "series": "Série", + "library": "Biblioteca", + "smartScope": "Escopo inteligente", + "collection": "Coleção", + "page": "Página", + "setting": "Configuração" + }, + "showAllBooks": "{count, plural, one {Mostre # livro} other {Mostre todos os # livros}}", + "showAllAuthors": "{count, plural, one {Mostre # autor} other {Mostre a todos os # autores}}", + "showAllSeries": "{count, plural, one {Mostre # série} other {Mostre todas as # séries}}", + "showAllSettings": "{count, plural, one {Mostre # configuração} other {Mostre todas as configurações de #}}", + "actions": { + "lightTheme": "Alternar para tema claro", + "darkTheme": "Mudar para tema escuro" + }, + "hints": { + "navigate": "Navigate", + "open": "Abertas", + "filter": "filtro", + "close": "FECHAR" + }, + "keys": { + "escape": "CC", + "tab": "tab" + }, + "resultCount": "{count, plural, =0 {Sem resultados} one {# resultado} other {# resultados}}" } } diff --git a/client/src/locales/ro.json b/client/src/locales/ro.json index 54c5d68e8..02ce4215f 100644 --- a/client/src/locales/ro.json +++ b/client/src/locales/ro.json @@ -14,7 +14,17 @@ "previous": "Anterior", "retry": "Reîncercați", "yes": "Da", - "no": "Nr" + "no": "Nr", + "show": "Afișare", + "hide": "Ascunde", + "undo": "Anulează", + "pagination": { + "label": "Paginare", + "pageOf": "Pagina {page} {totalPages}", + "previousPage": "Pagina precedentă", + "nextPage": "Pagina următoare", + "goToPage": "Mergeți la pagina {page}" + } }, "settings": { "privacySharing": { @@ -97,10 +107,52 @@ }, "theme": { "title": "Tema", + "style": { + "label": "Stil", + "hint": "Aspectul general al aplicației. Modul, accentul, colțurile și fundalul își păstrează setările.", + "bookorbit": { + "label": "BookOrbit", + "description": "Suprafeţe nuanţate, panouri de sticlă şi capete de seră." + }, + "nostalgia": { + "label": "Nostalgia", + "description": "Teren neutru, tip sistem, panouri plate și o strălucire superioară." + } + }, "colorScheme": { "label": "Schemă de culori", "hint": "Interfață deschisă sau întunecată" }, + "surfacePalette": { + "label": "Suprafață", + "hint": "Tărâmul neutru din spatele panourilor şi cardurilor.", + "palettes": { + "onyx": "Onyx", + "carbon": "Carbon", + "neutral": "Neutral", + "zinc": "Zinc", + "iron": "Fier", + "steel": "Oţel", + "ash": "Cenușă", + "smoke": "Fum", + "charcoal": "Cărbune", + "slate": "Întârziat", + "midnight-blue": "Albastru miezul nopţii", + "ocean": "Ocean", + "pine": "Pin", + "olive": "Oliv", + "stone": "Piatră", + "sepia": "Sepia", + "crimson": "Crimson", + "plum": "Plumb" + } + }, + "topGlow": { + "label": "Strălucire sus", + "hint": "Cât de departe ajunge strălucirea cu accent în josul paginii. Glisați până la stânga pentru a o opri.", + "value": "{value}", + "off": "Dezactivat" + }, "accents": { "grey": "Gri", "scarlet": "Scarlet", @@ -168,11 +220,18 @@ "blush": "Blurare" }, "accentColor": { - "label": "Culoare accent" + "label": "Culoare accent", + "hint": "Evidențierile comenzilor și elementele interactive" }, "cornerRadius": { "label": "Corner radius", - "hint": "Rotunjirea cardurilor și a elementelor UI" + "hint": "Rotunjirea cardurilor și a elementelor UI", + "options": { + "sharp": "Ascuţit", + "default": "Implicit", + "rounded": "Rotunjit", + "pill": "Pill" + } }, "surfaceBrightness": { "label": "Luminozitate suprafață", @@ -191,7 +250,8 @@ "structural": "Structurală", "ambient": "Ambient", "refractive": "Refractiv" - } + }, + "syncSaveFailed": "Salvarea preferinţelor temei a eşuat" }, "storage": { "title": "Unde se salvează preferințele de aspect", @@ -223,6 +283,21 @@ "loadError": "Încărcarea furnizorului implicit de căutare pentru copertă a eșuat", "saveError": "Salvarea furnizorului implicit de căutare pentru copertă a eșuat" }, + "placeholderStyle": { + "title": "Stil substituent", + "hint": "Cărţile fără copertă sunt desenate în acest stil.", + "options": { + "bauhaus": "Bauhaus", + "constructivist": "Constructivist", + "memphis": "Memphis", + "clothbound": "Îmbrăcăminte", + "poster": "Poster", + "aurora": "Aurora", + "vista": "Vista", + "marbled": "Măsătorit", + "paperback": "Hârtie" + } + }, "displayMode": { "title": "Mod afișare copertă", "hint": "Controlează cum coperţile reale se potrivesc în interiorul sloturilor cărţilor atunci când raportul de aspect diferă", @@ -417,6 +492,11 @@ "collapseSeries": { "label": "Restrânge seriile în mod implicit", "hint": "Grupează cărți în aceeași serie într-un singur card în bibliotecă și colectează puncte de vedere" + }, + "bookRequests": { + "label": "Arată cererile de carte", + "hint": "Arată paginile solicitării, solicitările și setările din acest cont. Cererile existente continuă să ruleze atunci când sunt ascunse.", + "saveFailed": "Nu s-a putut actualiza vizibilitatea cererilor de carte" } }, "icons": { @@ -666,6 +746,7 @@ "noActiveHint": "Toate link-urile magice generate pentru această pagină au expirat sau au fost revocate.", "copyLinkAria": "Copiați link-ul pentru {label}", "pauseAria": "Întrerupeți {label}", + "resumeAria": "Reluare {label}", "revokeAria": "Revoke {label}", "lastUsedLabel": "Ultima utilizare {date}" }, @@ -697,6 +778,7 @@ "iconPreviewAlt": "previzualizare pictogramă", "connection": "Conexiune", "issuerUri": "URI Emitent", + "issuerUriHint": "URL-ul de bază al furnizorului", "test": "Testare", "testing": "Testare...", "clientId": "ID client", @@ -728,6 +810,8 @@ "test": { "connected": "Conectat - {issuer}", "connectionFailed": "Conexiune eșuată", + "privateIssuerAddress": "Adresa URL a emitentului se rezolvă la o adresă de rețea privată sau locală, astfel încât serverul a refuzat să se conecteze. Setează OIDC_ALLOW_LOCAL_ISSUERS=true pe serverul BookOrbit pentru a-l permite.", + "tlsCertificateUntrusted": "BookOrbit nu a putut verifica certificatul TLS al furnizorului OIDC. Dacă furnizorul folosește o autoritate privată de certificare, montați pachetul PEM CA, setați NODE_EXTRA_CA_CERTS pe pachetul în container și reporniți BookOrbit.", "hide": "Ascunde", "details": "Detalii", "supported": "suportat", @@ -735,6 +819,7 @@ }, "groupMappings": { "title": "Asocieri de grup", + "description": "Grupul Harta OIDC pretinde permisiuni de BookOrbit. Sincronizat la fiecare autentificare.", "noPermission": "Fără permisiune", "empty": "Nicio mapare de grup configurată.", "addMapping": "Adauga mapare", @@ -776,6 +861,7 @@ "recommendationsGroup": "Recomandări", "achievementsGroup": "Realizări", "updatesGroup": "Actualizări", + "importFromBooklore": "Importă din Cartelă", "bookloreImportConfigured": "Import Booklore configurat", "importLibraryData": "Importă datele bibliotecii", "migrationConfigured": "Sursa de migrare configurată", @@ -860,6 +946,7 @@ "issueFreshDryRun": "Rulează o cursă uscată nouă", "issueResolveDuplicates": "Rezolvă dublarea meciurilor din cartonașul uscat", "issueWaitActiveRun": "Așteptați ca rularea activă să se termine", + "sourceRecordId": "ID înregistrare sursă #{id}", "byAuthorWithId": "de {author} (ID: {id})", "filePathWithId": "{path} (ID: {id})", "bookloreSourceId": "ID sursa: {id}", @@ -873,7 +960,9 @@ "errorLoadSuggestions": "Nu s-a putut încărca sugestiile de cartografiere ale utilizatorului", "requiredFields": "Gazdă, Utilizator, baza de date și numele sursei sunt necesare", "connectionTestPassedWithWarnings": "Testul conexiunii a trecut cu avertismente", + "connectionTestPassedWithCount": "Test de conexiune trecut cu {count} atenționare(e). Primul: {first}", "connectionTestPassed": "Testul conexiunii a trecut", + "connectionOkMissingTables": "Conexiune Ok, dar {count} tabelul(tabelele necesare) lipsesc", "cannotTestMediaPathActiveRun": "Nu se poate testa calea media în timp ce o execuție este activă", "mediaRootPathRequiredCover": "Calea Media Root este necesară pentru importul de coperte.", "useAbsolutePath": "Folosiți o cale absolută (de exemplu: /cărți).", @@ -1067,6 +1156,7 @@ "syncMetadataToFiles": "Sincronizare metadate în fișiere", "deleteLibrary": "Șterge biblioteca", "bookCount": "{count, plural, =0 {Nici o carte} one {# carte} few {# cărţi} other {# de cărţi}}", + "booksUnit": "{count, plural, one {Cărţi} other {Cărţi} few {Cărţi}}", "folderCount": "{count, plural, =0 {nici un folder} one {# folder} few {# foldere} other {# de foldere}}", "fileMode": "Mod fișier", "folderMode": "Mod dosar", @@ -1087,13 +1177,170 @@ "scanStartFailed": "Pornirea scanării pentru \"{name} \" a eșuat", "refreshCoversFailed": "Reîmprospătarea coperților pentru \"{name} \" a eșuat", "scanStartedAll": "Scanarea a început pentru toate bibliotecile", + "librariesFailedToStart": "{count,plural,one{# Pornirea bibliotecii a eșuat} few{# Pornirea bibliotecilor a eșuat} other{# Pornirea bibliotecilor a eșuat} =0{nici o bibliotecă nu a reușit să pornească}}", "scansStartFailed": "Pornirea scanărilor a eșuat", "libraryCreated": "Biblioteca \"{name}\" creată", "libraryUpdated": "Biblioteca \"{name}\" actualizată", "libraryDeleted": "\"{name}\" șters", "deleteFailed": "Biblioteca nu a putut fi ștearsă", "refreshingCovers": "Împrospătarea acoperă {pct}% ({processed}/{total})", - "coversRefreshed": "Coversuri actualizate ({count} procesat)" + "coversRefreshed": "Coversuri actualizate ({count} procesat)", + "onDiskUnit": "{size} pe disc", + "noFilesIndexed": "Niciun fișier indexat", + "formatEntry": "{format} {count}", + "formatOverflow": "{count, plural, one {+# mai mult format} other {+# mai multe formate} few {+# mai multe formate}}", + "extraFolders": "{count, plural, one {+# dosar} other {+# dosare} few {+# dosare}}", + "openLibrary": "Deschide {name}", + "moreActions": "Mai multe acțiuni pentru {name}", + "statsFailed": "Conturile bibliotecii nu au putut fi încărcate. Tot ce altceva de pe această pagină încă funcționează.", + "filterLabel": "Filtrează bibliotecile", + "filterPlaceholder": "Filtrare după nume sau cale", + "filterClear": "Curăță filtrul", + "sortLabel": "Sortează", + "noMatchesTitle": "Nici o bibliotecă nu se potrivește cu filtrul", + "noMatchesHint": "Nimic nu se potrivește \"{query}\" după nume sau cale folder.", + "totalLibraries": "{count, plural, one {# bibliotecă} other {# biblioteci} few {# biblioteci}}", + "neverScanned": "Niciodată scanat", + "neverScannedHint": "Rulează o scanare pentru indexarea dosarelor sale", + "scanFailedAt": "{time} Eșuat", + "scanningPercent": "Se scanează {pct}%", + "scanCounting": "Numărarea fişierelor", + "scanCounts": "{processed} {total}", + "scanAdded": "{count, plural, one {+# adăugat} other {+# adăugat} few {+# adăugat}}", + "scanUpdated": "{count, plural, one {# a actualizat} other {# a actualizat} few {# a actualizat}}", + "scanMissing": "{count, plural, one {# lipsește} other {# lipsește} few {# lipsește}}", + "scanNoChange": "nicio modificare", + "outcomeSeparator": ", ", + "scanOutcome": "{trigger} · {outcome}", + "syncConfirmBody": "Acest lucru va suprascrie metadatele din fiecare fișier suportat în {name} direct pe disc. Acest lucru nu poate fi anulat.", + "columns": { + "library": "Bibliotecă", + "contents": "Conținutul", + "onDisk": "Pe disc", + "automation": "Automatizare", + "lastScan": "Ultima scanare", + "actions": "Acțiuni" + }, + "sort": { + "default": "Ordinea implicită", + "name": "Nume", + "books": "Cărți", + "size": "Dimensiune pe disc", + "lastScan": "Ultima scanare", + "sidebar": "Sidebar order" + }, + "trigger": { + "manual": "Manual", + "watcher": "Observator", + "schedule": "Programare" + }, + "capability": { + "watch": "Urmărește dosarele", + "schedule": "Scanare programată", + "fileWrite": "Scrie în fișier", + "fileRename": "Redenumire fişiere", + "on": "{name}: pornit", + "off": "{name}: oprit", + "legendHint": "Întrerupere mijloace oprite" + }, + "stateOn": "Activat", + "stateOff": "Dezactivat", + "toggleDetail": "Arată detalii pentru {name}", + "durationMs": "{ms} Mi", + "durationSeconds": "{seconds}s", + "durationMinutes": "{minutes}m {seconds}s", + "history": { + "when": "Când", + "trigger": "Declanșare", + "duration": "Durată", + "result": "Rezultat", + "status": "Status", + "statusValue": { + "running": "Rulează", + "completed": "Completat", + "failed": "Eșuat" + } + }, + "detail": { + "foldersTitle": "Dosare și aspect", + "metadataTitle": "Metadate și lecturi", + "accessTitle": "Acces", + "historyTitle": "Scanare istoric", + "path": "Calea {index}", + "organization": "Organizație", + "excludePatterns": "Exclude modele", + "precedence": "Prioritatea sursei", + "allowedFormats": "Formate permise", + "countsAsStarted": "Numără ca început", + "countsAsFinished": "Numărări terminate", + "peopleWithAccess": "Persoane cu acces", + "added": "Adăugat", + "coverShape": "Formă copertă", + "coverShapeValue": { + "portrait": "2:3 portret", + "square": "1:1 pătrat" + }, + "gridShape": "Forma grilei", + "gridShapeValue": { + "tall": "Celule înalte", + "square": "Celule pătrate" + }, + "none": "Niciunul", + "allSupported": "Totul este acceptat", + "patternCount": "{count, plural, one {# model} other {# modele} few {# modele}}", + "peopleCount": "{count, plural, =0 {Nici o ofertă explicită} one {# persoană} other {# persoane} few {# persoane}}", + "historyEmpty": "Această bibliotecă nu a fost scanată niciodată.", + "historyFailed": "Istoricul scanării nu a putut fi încărcat pentru această bibliotecă.", + "manageAccess": "Gestionează", + "peopleMore": "{count, plural, one {+# mai multe} other {+# mai multe} few {+# mai multe}}" + }, + "scannedAt": "Scanat {time}", + "detailRegion": "Detalii pentru {name}", + "scanTrigger": { + "manual": "Manual", + "watcher": "Observator", + "schedule": "Programat" + }, + "schedule": { + "at": "{preset} · {time}", + "weeklyAt": "{preset} · {day} {time}" + }, + "librariesUnit": "{count, plural, one {Biblioteca} other {Biblioteci} few {Biblioteci}}", + "foldersUnit": "{count, plural, one {folder} other {foldere} few {foldere}}", + "copyPath": "Copiază calea", + "pathCopied": "Cale copiată", + "pathCopyFailed": "Nu s-a putut copia calea", + "problem": { + "neverTitle": "Nu scanați niciodată.", + "neverBody": "{count,plural,one{Nimic din dosarul său nu este indexat încă.} few{Nimic în el # folderele sunt indexate încă.} other{Nimic în el # folderele sunt indexate încă.}}", + "failedTitle": "Ultima scanare a eșuat {time}.", + "scanNow": "Scanează acum", + "retry": "Reîncercați scanarea" + }, + "quick": { + "watchAria": "Urmărește dosare pentru {name}", + "scheduleAria": "Scanare programată pentru {name}: {value}", + "customSchedule": "Program personalizat…", + "watchOn": "Urmărire dosare pentru \"{name}\"", + "watchOff": "S-a oprit vizionarea dosarelor pentru \"{name}\"", + "scheduleSet": "Scanare programată pentru \"{name}\": {value}", + "scheduleOff": "Scanare programată oprită pentru \"{name}\"", + "saveFailed": "Nu s-a putut actualiza „{name}”", + "fileWriteAria": "Scrie în fișier pentru {name}", + "renameAria": "Redenumiţi fişierele pentru {name}", + "fileWriteOn": "\"{name}\" va scrie detaliile în fişierele sale data viitoare când acestea sunt salvate", + "fileWriteOff": "\"{name}\" nu va mai scrie detalii în fişierele sale", + "renameOn": "\"{name}\" va redenumi fișierele în modelul de nume data viitoare când detaliile sunt salvate", + "renameOff": "\"{name}\" nu va mai redenumi fişiere" + }, + "historyFor": "Scanare istoric pentru {name}", + "scanNothingNew": "nimic nou încă", + "scanTimeLeftSeconds": "{count, plural, one {Aproape # secundă rămasă} other {Aproximativ # secunde rămase} few {Aproximativ # secunde rămase}}", + "scanTimeLeftMinutes": "{count, plural, one {A mai rămas aproximativ # minut} other {Aproape # de minute} few {Aproape # de minute}}", + "scanFinished": "Scanare finalizată pentru \"{name}\": {outcome}", + "scanFinishedFailed": "Scanare eșuată pentru \"{name}\"", + "viewChanges": "Vizualizați modificările", + "duplicateSettings": "Setări duplicat" }, "authorEnrichment": { "configuration": "Configurare", @@ -1112,6 +1359,7 @@ "missingBioTitle": "Lipsește o biografie", "missingBioHint": "Îmbrățișează dacă autorul nu are biografie.", "missingPhotoTitle": "Fotografie lipsă", + "missingPhotoHint": "Enrich if the author has no profile photo. (Automatic Copy)", "runForEligibleAuthors": "Execută pentru autorii eligibili", "eligibleCount": "~{count} eligibile", "runForAllAuthors": "Execută pentru toți autorii", @@ -1146,6 +1394,10 @@ "resetToDefaultsButton": "Resetare la valorile implicite", "recalculateAll": "Recalculează tot", "confirmReset": "Confirmare resetare", + "resetDialog": { + "title": "Reinițializați fiecare pondere la valoarea implicită?", + "description": "Toate cele 24 de câmpuri merg înapoi la carnetele cu greutate. Nimic nu este salvat până nu alegeți Salvare și resetare." + }, "reset": "Reset", "recalculate": "Recalculare", "subtotal": "subtotal: {count}", @@ -1153,21 +1405,314 @@ "saveFailed": "Salvarea greutății scorului nu a reușit", "recalcStarted": "Recalcularea scorului a început în fundal", "recalcFailed": "Recalculare eșuată", - "resetToDefaults": "Greutățile se resetează la valorile implicite. Salvați pentru a aplica." + "resetToDefaults": "Greutățile se resetează la valorile implicite. Salvați pentru a aplica.", + "howItWorks": { + "title": "Cum funcţionează.", + "summary": "Fiecare carte primește un scor din 100 pentru cât de completă este metadata sa. O greutate este semnificativă doar lângă celelalte, astfel încât fiecare câmp de mai jos arată proporția unui scor final pentru care este responsabil. Dublarea oricărei greutăţi nu schimbă nimic." + }, + "readOnly": "Puteți vedea cum sunt calculate scorurile, dar modificarea greutății necesită permisiunea setărilor aplicației.", + "compositionTitle": "Unde vine un scor de la", + "compositionHint": "Procentele însumează întotdeauna până la 100.", + "searchFields": "Filtrează câmpurile", + "clearSearch": "Ștergeți căutarea", + "noMatches": "Niciun câmp nu se potrivește cu această căutare.", + "totalSummary": "{scoring} din 24 de câmpuri scanate, {total} puncte total", + "countGroups": "Numără față de scor", + "notScored": "Nu a obținut", + "notScoredHeading": "Nu are scor ({count})", + "notScoredHint": "Un câmp de la zero părăsește și el totalul, așa că cărțile care îl lipsesc nu sunt marcate în jos.", + "decreaseWeight": "Scade greutatea lui {field}", + "increaseWeight": "Crește greutatea lui {field}", + "revertField": "Reveniți {field} la greutatea salvată", + "table": { + "field": "Câmp", + "weight": "Greutate", + "share": "Proporția scorului", + "versusDefault": "Schimbă" + }, + "groups": { + "core": "Nucleu", + "publishing": "Publicare", + "classification": "Clasificare", + "enrichment": "Îmbogățire", + "providers": "ID furnizor" + }, + "rules": { + "text": "Numără când nu este gol", + "positive": "Numără când este mai mare de zero", + "count": "Numără când cel puțin unul este setat", + "cover": "Numără când o imagine de copertă este stocată", + "providerId": "Numără când ID-ul este stocat", + "seriesIndex": "Numără când peste zero, deci volumul 0 nu contorizează" + }, + "rail": { + "title": "Unde aterizează cărțile tale", + "description": "Culoarea pe care un cititor o vede pe o carte de carte, împotriva fiecărei cărţi pe care o puteţi vedea astăzi.", + "bandsLabel": "Benzi de culoare insignă", + "bands": { + "poor": "ÎN CADRUL 50", + "fair": "50-69", + "good": "70-89", + "great": "90+" + }, + "median": "Mediana", + "belowFifty": "Sub 50 de ani", + "ninetyPlus": "90 și mai sus", + "noBooks": "Nici o carte notată încă. Execută un rescor după ce biblioteca a terminat de importat.", + "scopeNote": "Peste {count, plural, one {# rezervă} other {# cărţi} few {# cărţi}} în bibliotecile pe care le poţi accesa, cu greutatea salvată în prezent." + }, + "progress": { + "running": "Rescoring library", + "failed": "Rescore a eșuat", + "count": "{processed} cărți procesate", + "countOf": "{processed} de {total} cărți", + "failedCount": "({count} a eșuat)", + "safeToLeave": "Sigur să părăsiți această pagină.", + "dismiss": "Renunţaţi" + }, + "save": { + "upToDate": "Toate modificările au fost salvate.", + "unsaved": "{count, plural, one {Câmpul # a fost modificat} other {# câmpuri modificate} few {# câmpuri modificate}}", + "totalShift": "Total {from} la {to} puncte", + "rescores": "Salvare rescore-uri {count, plural, one {# cărţi} other {# cărţi} few {# cărţi}} în fundal.", + "rescoresUnknown": "Salvarea reface biblioteca în fundal.", + "action": "Salvează și reclasifică", + "discard": "Renunțați", + "leaveWarning": "Aveți modificări de greutate nesalvate. Lăsați pagina și pierdeți?" + } }, "tabs": { "users": "Utilizatori", "account-activity": "Activitatea contului", "magic-links": "Link-uri Magice", "oidc": "OIDC / SSO", + "tts": "Text-pe-vorbire", "server-fonts": "Fonturi Server" }, + "tts": { + "title": "Furnizori", + "subtitle": "Motoare de vorbire disponibile cititorilor. Vocile sunt curate per furnizor.", + "summary": "{providers, plural, one {# furnizor} other {# furnizori} few {# furnizori}} · {enabled} activat · {voices, plural, one {# voce blestemată} other {# voci blestemate} few {# voci blestemate}}", + "addProvider": "Adăugare furnizor", + "loadFailed": "Încărcarea configurației text-to-speech a eșuat", + "empty": "Niciun furnizor de vorbire configurat.", + "reorderHint": "Trage pentru a reordona. Cititorii văd furnizorii în această ordine.", + "dragHandle": "Reordonare {name}", + "moveUp": "Mutați {name} în sus", + "moveDown": "Mutați {name} în jos", + "reorderFailed": "Salvarea comenzii furnizorului nu a reușit", + "expand": "Arată detalii pentru {name}", + "collapse": "Ascunde detaliile pentru {name}", + "toggleEnabled": "Activează {name}", + "enableFailed": "Actualizarea {name} a eșuat", + "statusConnected": "Conectat", + "statusUnreachable": "Inaccesibil", + "statusUnchecked": "Nu este verificat", + "voiceCount": "{count, plural, one {# voce} other {# voci} few {# voci}}", + "configuration": "Configurare", + "fieldType": "Tip", + "fieldTypeOpenAi": "compatibil OpenAI-compatibil", + "fieldApiKey": "Cheie API", + "apiKeySet": "Setează", + "apiKeyNotSet": "Nu este setat", + "fieldModel": "Model implicit", + "fieldModelNone": "Furnizor implicit", + "fieldDiscovery": "Descoperirea vocii", + "discoverySupported": "Suportat", + "discoveryUnsupported": "Nu este suportat", + "voices": "Voci", + "voicesCurated": "{count} blindate", + "voicesTapToPreview": "Atingeți o voce pentru a o previzualiza", + "voicesNone": "Nicio voce configurată încă", + "manageVoices": "Gestionează vocile", + "previewVoice": "Previzualizare {name}", + "previewStop": "Oprește previzualizarea", + "previewFailed": "Nu s-a putut reda o previzualizare pentru {name}", + "previewNeedsEnabled": "Permite acestui furnizor să previzualizeze vocile sale", + "editConfiguration": "Editați configurația", + "testConnection": "Testare conexiune", + "testPassed": "Conectat · {count, plural, one {# voce găsită} other {# voci găsite} few {# voci găsite}}", + "testFailed": "Conexiune eșuată", + "delete": "Ștergere", + "deleteConfirm": "Ștergeți furnizorul \"{name}\"? Cititorii care folosesc vocile sale se întorc la un alt furnizor.", + "deleteFailed": "Nu s-a putut șterge {name}", + "deleted": "Furnizor șters", + "saveFailed": "Salvarea {name} a eșuat", + "saved": "Furnizor salvat", + "formAddTitle": "Furnizor nou", + "formEditTitle": "Editare furnizor", + "formName": "Nume", + "formNamePlaceholder": "Kokoro", + "formBaseUrl": "URL de bază", + "formBaseUrlPlaceholder": "http://localhost:8880/v1", + "formApiKey": "Cheie API", + "formApiKeyOptional": "Opţional", + "formApiKeyPlaceholder": "sk-...", + "formApiKeyKeep": "Lăsați necompletat pentru a păstra cheia curentă", + "formModel": "Model implicit", + "formModelPlaceholder": "Tat1-1", + "formDiscovery": "Acest furnizor poate afișa propriile voci", + "formRequired": "Numele și adresa URL de bază sunt necesare", + "curation": { + "title": "Gestionare voci - {provider}", + "summary": "{count, plural, one {# voce configurată} other {# voci configurate} few {# voci configurate}}", + "summaryUnsaved": "{count, plural, one {# voce configurată} other {# voci configurate} few {# voci configurate}} - Modificări nesalvate", + "importFromProvider": "Importă de la furnizor", + "loadPreset": "Load {preset} preset", + "importUnsupported": "Acest furnizor nu acceptă descoperirea vocală.", + "importUnsupportedWithPreset": "Acest furnizor nu acceptă descoperirea vocală. Utilizați „Încărcătura” {preset} în loc de apăsare buton.", + "discoveryUnsupported": "Acest furnizor nu expune obiectivul final al listei de voce.", + "discoverFailed": "Descoperirea vocilor a eșuat", + "emptyImportOrPreset": "Nicio voce configurată. Importați de la furnizor sau încărcați o presetare.", + "emptyImport": "Nicio voce configurată. Importați de la furnizor.", + "emptyPreset": "Nicio voce configurată. Încărcați o presetare pentru a începe.", + "emptyManual": "Nicio voce configurată. Adăugați vocile manual.", + "columnId": "ID", + "columnName": "Nume", + "columnLocale": "Localizare", + "columnGender": "Sex", + "genderMale": "Bărbat", + "genderFemale": "Femeie", + "genderUnknown": "Necunoscut", + "cancelEdit": "Anulează editarea", + "editVoice": "Editare {name}", + "deleteVoice": "Șterge {name}", + "previewVoice": "Previzualizare {name}", + "stopPreview": "Oprește previzualizarea pentru {name}", + "saveVoices": "{count, plural, one {Economiseşte # voce} other {Salvează # voci} few {Salvează # voci}}" + } + }, "serverFonts": { "title": "Fonturi Server", "subtitle": "Încarcă fonturile pe care fiecare utilizator le poate alege în cititorul eBook, fără să le încarce proprii.", "listLabel": "Fonturi server", "noFontsYet": "Nici un font server încă", - "noFontsHint": "Fonturile pe care le adăugaţi aici apar în cititorul fiecărui utilizator." + "noFontsHint": "Fonturile pe care le adăugaţi aici apar în cititorul fiecărui utilizator.", + "addFonts": "Adaugă fonturi", + "filterLabel": "Filtrează familiile", + "filterPlaceholder": "Filtrează familiile", + "filterClear": "Curăță filtrul", + "noMatches": "Nicio familie nu se potrivește „{query}”", + "previewLabel": "Previzualizare text", + "previewPlaceholder": "Tastați pentru a o previzualiza în fiecare familie", + "previewSize": "Previzualizare dimensiune", + "previewSizeOption": "{size} px", + "familiesUnit": "{count,plural,one{familie} few{familii} other{familii}}", + "filesOfMax": "{count} de {max} fișiere", + "onDisk": "{size} pe disc", + "columns": { + "family": "Familie", + "specimen": "Specimen", + "styles": "Styles", + "readers": "Cititori" + }, + "fileSummary": "{count, plural, one {# fișier} other {# fișiere} few {# fișiere}} · {size}", + "newBadge": "Nou", + "styles": { + "single": "{style} doar", + "many": "{count} styles", + "manyNoItalics": "{count} styles, no italics" + }, + "facts": { + "books": "{count, plural, one {În # carte} other {Pe # cărţi} few {Pe # cărţi}}", + "booksDetail": "{books, plural, one {Setează în # carte} other {Setează pe # cărţi} few {Setează pe # cărţi}} de {readers, plural, one {# cititor} other {# cititoare} few {# cititoare}}", + "defaults": "{count, plural, one {Implicit pentru # cititor} other {Implicit pentru # cititori} few {Implicit pentru # cititori}}", + "hidden": "{count, plural, one {Ascuns de # cititor} other {Ascuns de # cititori} few {Ascuns de # cititori}}" + }, + "moreActions": "Mai multe pentru {name}", + "menu": { + "rename": "Redenumire familie", + "addFiles": "Adaugă fișiere", + "remove": "Elimină familia…" + }, + "footerHint": "Fiecare cititor le vede în lista de fonturi a cititorului și le poate ascunde pe oricare din ele la Cititor > Fonturi.", + "empty": { + "dropHint": "sau plasează fişiere oriunde pe această pagină", + "tip": "O familie citeşte cel mai bine ca patru fişiere: regular, italian, aldin şi îngroşat din Italia. Un fişier variabil poate sta pentru fiecare greutate." + }, + "drop": { + "title": "{count, plural, one {Adaugă fişierul # pentru fiecare cititor} other {Adaugă # fişiere pentru fiecare cititor} few {Adaugă # fişiere pentru fiecare cititor}}" + }, + "upload": { + "ariaLabel": "Progres incarcare", + "title": "{count, plural, one {Adăugarea fişierului #} other {Adăugarea a # fişiere} few {Adăugarea a # fişiere}}", + "progress": "{done} din {total} realizat", + "addedCount": "{count} adăugat", + "duplicateCount": "{count} deja aici", + "refusedCount": "{count} nu a fost adăugat", + "dismiss": "Renunţaţi", + "newFamily": "familie nouă", + "states": { + "queued": "Aşteptare", + "uploading": "Încărcare", + "added": "Adăugat", + "duplicate": "Deja pe server", + "refused": "Nu este adăugat", + "failed": "Eșuat" + }, + "reasons": { + "tooLarge": "Mai mare decât {maxMb} MB.", + "unsupportedType": "Nu este un fișier font. Folosește TTF, OTF, WOFF sau WOFF2.", + "invalidFile": "Fişierul este deteriorat sau nu este de fapt un font.", + "faceTaken": "{familyName} are deja un fișier la această greutate și stil.", + "limitReached": "Serverul deţine deja fişiere de font {limit}.", + "failed": "Încărcarea a eșuat. Încercați din nou." + } + }, + "sheet": { + "description": "Previzualizare, redenumește și gestionează fișierele {name}", + "variable": "Variabilă", + "preview": "Previzualizare", + "pageColour": "Culoarea paginii", + "papers": { + "app": "Suprafața aplicației", + "white": "Pagină albă", + "sepia": "Sepia page", + "night": "Pagina de noapte" + }, + "previewHeading": "Grădina de flori vii", + "previewParagraph1": "Alice a privit în jurul ei cu mare surprindere. “De ce, eu cred că am fost sub acest copac tot timpul! Totul este la fel cum a fost!”", + "previewParagraph2": "„Acum, vedeți, e nevoie de toată alergarea pe care o poți face, ca să păstrezi în același loc. Dacă vrei să ajungi în altă parte, trebuie să rulezi de cel puțin două ori mai repede decât atât!”", + "styles": "Styles", + "stylesHint": "Ce oferă rândul de stil al cititorului", + "singleStyleNote": "Un stil, astfel încât cititorii nu au rând de stil. Textul îngroșat și italic din cărți este falsificat de browser de la {style}.", + "inReader": "În cititor", + "inReaderHint": "Lista de fonturi pe care fiecare cititor apare în Cititor > Setări, cu {name} alesă.", + "pickerLabel": "Previzualizarea listei de fonturi a cititorului", + "files": "Fișiere", + "filesUsed": "{count} {max} folosit pe acest server", + "fileDetail": "{summary} · {date} adăugat", + "upright": "Verde", + "italic": "Italic", + "fileActions": "Mai multe pentru {name}", + "changeStyle": "Schimbă greutatea și stilul", + "removeFile": "Şterge fişierul", + "removeFileQuestion": "Eliminați acest fișier pentru fiecare cititor?", + "weight": "Greutate", + "style": "Stil", + "name": "Numele de familie", + "nameHint": "Cititorii aleg fonturi cu acest nume.", + "nameHiddenWarning": "{count, plural, one {# cititor a ascuns {name}} other {# cititoare ascunse {name}} few {# cititoare ascunse {name}}}; un nume nou le arată din nou.", + "nameBooksWarning": "Un nou nume trimite {count, plural, one {# cartea care o foloseşte} other {# cărţile care o folosesc} few {# cărţile care o folosesc}} înapoi la propriul font al cărţii.", + "readers": "Cititori", + "stats": { + "books": "{count, plural, one {Cartea îl foloseşte} other {Cărţile îl folosesc} few {Cărţile îl folosesc}}", + "defaults": "{count, plural, one {Implicit al cititorului} other {Cititoarele implicite} few {Cititoarele implicite}}", + "hidden": "{count, plural, one {Cititorul l-a ascuns} other {cititorii l-au ascuns} few {cititorii l-au ascuns}}" + }, + "readersPrivacy": "Numără doar. Care cărți și care cititori rămân privați de ele.", + "removeLabel": "Elimină familie", + "removeQuestion": "Eliminați {name} pentru fiecare cititor?", + "removeConsequenceBooks": "{books,plural,one{Acesta este pornit # carte} few{Acesta este pornit # cărți} other{Acesta este pornit # cărți}} de {readers,plural,one{# cititor} few{# cititoare} other{# cititoare}}; acele cărţi se întorc la propriul font al cărţii.", + "removeConsequenceFiles": "{count, plural, one {Fișierul său este șters de pe server.} other {Toate # fișiere sunt șterse de pe server.} few {Toate # fișiere sunt șterse de pe server.}}", + "loadFailedNote": "Acest browser nu a putut încărca fișierul de font, astfel încât previzualizările să afișeze o față de rezervă. Browserele cititorilor îl vor refuza, cel mai probabil, să încerce o copie diferită a fontului." + }, + "toasts": { + "removed": "{name} eliminat", + "removePartial": "{failed, plural, one {# fişier} other {# fişiere} few {# fişiere}} {name} nu a putut fi şters", + "renameTaken": "{name} are deja un fișier la aceeași greutate și același stil" + }, + "loadFailed": "Acest browser nu îl poate încărca" } }, "common": { @@ -1176,15 +1721,18 @@ "display": "Afişare", "reader": "Cititor", "metadata": "Metadate", + "usersAccess": "Utilizatori & Acces", "email": "E-mail", "opds": "OPD-uri", "kobo": "Kobo", "koreader": "KOReader", + "tts": "Text-pe-vorbire", "integrations": "Integrări", "hardcover": "Hardcop", "admin": "Admin", "system": "Sistem", - "account": "Cont" + "account": "Cont", + "podcasts": "Podcasturi" } }, "integrations": { @@ -1197,6 +1745,7 @@ "storygraph": "Grafic" }, "providerSubtitles": { + "readwise": "Trimite automat punctele de atracție către Readwise", "storygraph": "Sincronizează-ți progresul și starea lecturii în graficul de povestiri." } }, @@ -1209,31 +1758,52 @@ "subtitle": "Subtitrare", "description": "Descriere", "cover": "Copertă", + "audioCover": "Copertă audio", "authors": "Autori", "publisher": "Editor", "publishedYear": "Anul Publicat", "language": "Limba", "pageCount": "Număr de pagini", + "isbn": "ISBNs", "communityRating": "Evaluare comunitară", "seriesName": "Numele seriilor", "seriesIndex": "Indexul seriilor", "genres": "Genres", "narrators": "Naratori", "duration": "Durată", - "abridged": "Abandonat" + "abridged": "Abandonat", + "tags": "Etichete", + "isbn13": "ISBN-13", + "isbn10": "ISBN-10", + "googleBooksId": "ID Google Books", + "goodreadsId": "ID Goodreads", + "amazonId": "ID Amazon", + "hardcoverId": "ID Hardcover", + "openLibraryId": "Deschide ID Librărie", + "itunesId": "ID iTunes", + "koboId": "Kobo ID", + "aladinId": "ID Aladin" }, "mergeStrategy": { "fillMissing": { "label": "Umplere lipsă", - "description": "Scrie doar dacă câmpul este gol în prezent" + "description": "Scrie doar dacă câmpul este gol în prezent", + "short": "Completează golurile" + }, + "mergeExisting": { + "label": "Îmbinați cu cele existente", + "description": "Păstrați genurile stocate și adăugați genuri noi de furnizori", + "short": "Îmbinare" }, "overwriteIfProvided": { "label": "Suprascrie dacă este furnizat", - "description": "Scrie dacă furnizorul returnează o valoare" + "description": "Scrie dacă furnizorul returnează o valoare", + "short": "Dacă este furnizat" }, "overwrite": { "label": "Suprascrie întotdeauna", - "description": "Înlocuire întotdeauna a valorii existente" + "description": "Înlocuire întotdeauna a valorii existente", + "short": "Întotdeauna" } }, "autoFetch": { @@ -1253,6 +1823,7 @@ }, "status": { "inQueuePaused": "{count} în coadă - întrerupt", + "remaining": "{count} rămas", "eligible": "~{count} eligibile" }, "trigger": { @@ -1262,6 +1833,7 @@ "lastRun": { "justNow": "chiar acum", "minutesAgo": "{count}m în urmă", + "hoursAgo": "{count}h în urmă", "yesterday": "ieri", "daysAgo": "{count, plural, one {# zile în urmă} few {# zile în urmă} other {# de zile în urmă}}", "label": "Ultima rulare: {when}", @@ -1294,21 +1866,129 @@ "inheritFromGlobal": "Moștenește de la nivel global", "usingGlobalDefaults": "Se folosesc implicitele globale.", "saveOverride": "Salvează suprascriere" + }, + "scope": { + "ownSettings": "{count, plural, one {# setarea proprie} other {# setări proprii} few {# setări proprii}}", + "globalIntro": "Fiecare bibliotecă urmează această regulă dacă nu are a sa.", + "globalCoverage": "{libraryCount,plural,one{Se aplică la # biblioteca} few{Se aplică la # biblioteci} other{Se aplică la # biblioteci}}, {bookCount,plural,one{# carte} few{# cărți} other{# cărți}}.", + "ownLibraries": "{names} {count,plural,one{are propria regulă.} few{să aibă propriile reguli.} other{să aibă propriile reguli.}}", + "libraryFollows": "{library} respectă regula globală. Schimbă orice aici pentru a-i da propria regulă.", + "libraryOwn": "{library} are propria sa regulă pentru {count, plural, one {# setare} other {# setări} few {# setări}}. Orice altceva respectă regula globală.", + "lastRun": "Ultima execuție {when}, în așteptare {count,plural,one{# carte} few{# cărți} other{# cărți}}.", + "neverRun": "Nu se execută încă.", + "useGlobalRule": "Utilizează regula globală", + "loadFailed": "Setările de auto preluare nu au putut fi încărcate. Reîncărcați pagina pentru a încerca din nou.", + "saved": "Salvat {scope}", + "saveFailed": "Nu s-a putut salva {scope}. Încercați din nou." + }, + "run": { + "all": "Rulează pentru fiecare bibliotecă", + "library": "Rulează pentru {library}", + "saveFirst": "Rulează utilizarea regulii salvate. Salvează mai întâi.", + "failed": "Rularea nu a putut fi pornită. Încercați din nou." + }, + "onImport": { + "label": "Preia metadate pentru cărți noi", + "hint": "Scanează și încarcă coada de așteptare care se potrivește imediat cu cărțile. La import se completează doar câmpurile goale; câmpurile blocate nu se mai schimbă.", + "follow": "Urmărește global", + "on": "Activat", + "off": "Dezactivat" + }, + "columns": { + "books": "{count, plural, one {Cărţi} other {Cărţi} few {Cărţi}}", + "ofTotal": "de {total}", + "off": "Dezactivat", + "own": "Propriu", + "global": "Global", + "useGlobal": "Utilizează global", + "globalValue": "Regulă globală: {value}", + "on": "Activat", + "scoreBelowValue": "Scor sub {threshold}", + "neverFetchedSplit": "{count, plural, one {# nu a prins niciodată} other {# nu a prins niciodată} few {# nu a prins niciodată}}", + "fetchedBeforeSplit": "{count, plural, one {# a preluat înainte de} other {# a preluat înainte de} few {# a preluat înainte de}}", + "lowScoreLabel": "Scor de încredere scăzută", + "lowScoreHint": "Preia cărţi al căror scor de încredere este sub rând.", + "outOf": "/ 100", + "lowerThreshold": "Mai mică pragul", + "raiseThreshold": "Ridicați pragul", + "missingHint": "Preia daca orice camp selectat este gol. Fiecare camp arata cate carti le lipseste.", + "audioGroup": "Cărți cu audio", + "audioHint": "{count,plural,one{Doar pentru # Cărțile cu audio nu le pot lipsi.} few{Doar pentru # cu sunetul le poate lipsi.} other{Doar pentru # cu sunetul le poate lipsi.} =0{Nimeni de aici nu are audio.}}", + "fieldCount": "{field}: {count, plural, one {# cărţii îi lipseşte} other {# cărţilor le lipseşte} few {# cărţilor le lipseşte}}" + }, + "histogram": { + "label": "Pragul scorului de încredere", + "valueText": "Scor sub {threshold}" + }, + "preview": { + "title": "Ce rulaj ar aduce", + "matching": "{matching, plural, one {# din {total} Cărţile se potrivesc cu} other {# din {total} Cărţile se potrivesc} few {# din {total} Cărţile se potrivesc}}", + "showing": "{count, plural, one {Arată cel mai puțin complet} other {Arată # cel mai mic complet} few {Arată # cel mai mic complet}}", + "empty": "Nicio carte nu corespunde acestei reguli, așa că o execuție nu ar face nimic.", + "unknownAuthor": "Autor necunoscut", + "score": "Scor {score}", + "more": "+{count}", + "missing": { + "title": "Nici un titlu", + "subtitle": "Fără subtitrare", + "description": "Nici o descriere", + "cover": "Fără copertă", + "audioCover": "Fără copertă audiobook", + "authors": "Niciun autor", + "publisher": "Niciun editor", + "isbn": "Fără ISBN", + "publishedYear": "Niciun an publicat", + "language": "Nicio limbă", + "pageCount": "Niciun număr de pagini", + "communityRating": "Nicio evaluare a comunității", + "seriesName": "Nici un nume de serie", + "seriesIndex": "Niciun indice de serie", + "genres": "Fără gen", + "narrators": "Niciun narator", + "duration": "Fără durată", + "abridged": "Nu este setat" + } + }, + "queue": { + "progress": "{done} {total}", + "failed": "{count, plural, one {# cartea nu a putut fi preluată} other {# cărţile nu au putut fi preluate} few {# cărţile nu au putut fi preluate}}" } }, "providers": { "availableSources": "Surse disponibile", "saveChanges": "Salvează modificările", + "discard": "Renunțați", + "configure": "Configurare", "test": "Testare", "testing": "Testare...", + "testHint": "Verifică aceste acreditări în raport cu serviciul live. Nimic nu este salvat.", "enabled": "Activat", "retryIn": "Reîncercați în {duration}", "runTestBeforeEnabling": "Rulează testul înainte de activare", "hardcoverEnableHint": "Rulați testul cu token-ul curent pentru a debloca comutatorul de activare.", + "searchPlaceholder": "Filtrează sursele", + "sourcesEnabled": "{enabled} de {total} surse activate", + "groupEnabled": "{enabled} din {total} din", + "unsavedChanges": "{count, plural, one {# modificare nesalvată} other {# modificări nesalvate} few {# modificări nesalvate}}", + "noMatches": "Nicio sursă nu se potrivește cu acest filtru.", + "clearFilters": "Ștergeți filtrele", + "filter": { + "label": "Filtrează sursele după stare", + "all": "Toate", + "enabled": "Activat", + "needsSetup": "Necesită configurare" + }, + "groups": { + "books": "Cataloagele generale de carte", + "audiobooks": "Audioboks", + "comics": "Benzi desenate și romane ușoare", + "regional": "Cataloage regionale" + }, "badge": { "setupRequired": "Setare Necesară", "throttled": "Strâns", - "ready": "Gata" + "ready": "Gata", + "active": "Activ" }, "fields": { "apiKey": "Cheie API", @@ -1332,9 +2012,11 @@ "kobo": "Paginile cărţii publice a lui Kobo. Ţara şi limba trebuie să se potrivească cu căile URL Kobo; protecţia botului poate bloca cererile.", "audible": "Puls metadate audiobook de la Audibil. Nu este necesară nici o configurare suplimentară.", "audnexus": "Metadate audio obook conduse de comunitate. Nu este necesară configurarea.", + "librofm": "Metadate de catalog audiobook fără DRM. Utilizează un criteriu Libro.fm fără documentare şi este dezactivat în mod implicit.", "comicvine": "Comic book metadata din ComicVine. O cheie gratuită API este necesară pentru comicvine.gamespot.com.", "ranobedb": "Metadate uşoare romane japoneze de la RanobeDB. Nu sunt necesare instalări.", - "lubimyczytac": "Catalog de cărţi poloneze (lubimyczytac.pl). Răzuieşte pagini de cărţi publice. Nu este necesară configurarea." + "lubimyczytac": "Catalog de cărţi poloneze (lubimyczytac.pl). Răzuieşte pagini de cărţi publice. Nu este necesară configurarea.", + "aladin": "Metadate pentru cărți coreene de la Aladin (알라딘). Este necesară o cheie TTB de la aladin.co.kr." }, "blocked": { "google": "Google Books necesită o cheie API înainte de a putea fi activat", @@ -1348,6 +2030,7 @@ "clearAllProviders": "Șterge toți furnizorii", "clearAll": "Șterge tot", "resetToDefault": "Resetare la valorile implicite", + "bookCover": "Copertă de carte", "reset": "Reset", "dragProvidersHint": "Trageți furnizorii de aici pe orice câmp pentru a le adăuga", "dragProviderHere": "trage un furnizor aici", @@ -1363,7 +2046,9 @@ "fillMissingBody": "Scrie doar dacă valoarea curentă este goală.", "overwriteTerm": "Suprascrie:", "overwriteBody": "Înlocuiește ori de câte ori un furnizor are date." - } + }, + "summary": "Furnizorii sunt încercați de sus în jos și primul care returnează o valoare câștigă. Strategia de fuziune decide dacă această valoare poate înlocui ceea ce dispune deja în cadrul cărții; genurile pot, de asemenea, să adauge noi valori unice. Setaţi valorile implicite aici, apoi suprascrieţi câmpurile individuale per bibliotecă. (Automatic Translation)", + "summaryByMedium": "Furnizorii sunt încercați de sus în jos, iar primul cu o valoare câștigă; genurile în modul de îmbinare și evaluările comunității combină fiecare furnizor. Strategia de îmbinare decide dacă o valoare poate înlocui ceea ce are deja cartea. Audibil, AudNexus şi Libro. m răspunde doar pentru cărți cu audio incluse, folosind EPUB, așadar, punându-le mai întâi preferă metadatele audiobook fără a atinge cărțile doar ebook. Arta de copertă a formei greşite umple un slot doar când nimic altceva nu mai poate. O suprascriere a bibliotecii înlocuieşte întreaga regulă a acelui câmp." }, "libraryOverrides": { "title": "Suprascrie biblioteca", @@ -1385,11 +2070,16 @@ "maxGenres": { "label": "Număr maxim de genuri per carte", "hint": "Aplicat după excluderi și eliminare duplicat. Lăsați gol pentru nelimitat. Acest lucru afectează viitoarele fetuși de metadate.", - "unlimited": "Nelimitat" + "unlimited": "Nelimitat", + "error": "Introduceți un număr întreg de la 1 la {max}sau lăsați câmpul gol." }, "storeProviderIds": { "label": "ID-urile furnizorului magazinului în cărți", "hint": "La preluarea metadatelor, salvează ID-urile de furnizor returnate (ISBN, ASIN, ID Goodreads etc.) în înregistrările de carte pentru căutări viitoare mai precise." + }, + "existingProviderIdsOnly": { + "label": "Utilizați numai ID-urile furnizorilor existenți", + "hint": "Pentru cărțile deja din bibliotecă, interogați numai furnizorii cu un ID stocat și nu reveniți niciodată la o căutare atunci când nu reușește o căutare de identități. Căutarea manuală şi descoperirea cărţilor noi nu sunt afectate." } }, "library": { @@ -1415,21 +2105,36 @@ }, "groupSummary": { "base": "{fields} câmpuri · {enabled} activat", - "withOverrides": "{base} · {overrides} suprascrieri" + "withOverrides": "{base} · {overrides} suprascrieri", + "enabledOf": "{enabled} {fields} activat" }, "table": { "field": "Câmp", "activeProviders": "Furnizori activi (ordonați în funcție de prioritate)", "mergeStrategy": "Combinare strategie", - "status": "Status" + "status": "Status", + "noMatches": "Niciun câmp nu se potrivește cu aceste filtre." }, "field": { "noProviders": "Activat, dar nu are furnizori", + "noUsableProvider": "Activat, dar niciun furnizor aici nu îl poate completa", "empty": "Golire", "config": "Configurare", "custom": "Personalizat", "default": "Implicit", - "resetToDefault": "Resetare la valorile implicite" + "resetToDefault": "Resetare la valorile implicite", + "toggle": "Preluare {field} în timpul reîmprospătării metadatelor", + "configure": "Configurare {field}", + "add": "Adăugare", + "addHint": "Adăugat la sfârșitul ordinului. Trageți un cip pentru a-l muta mai devreme.", + "addProviderTo": "Adăugați un furnizor la {field}", + "removeProvider": "Elimină {provider}", + "noProvidersYet": "Niciun furnizor încă", + "skippedCount": "{count, plural, one {# sărit} other {# sărit} few {# sărit}}", + "unsaved": "nesalvate", + "override": "Suprascrie", + "inherited": "Moștenit", + "morePreview": "+{count} mai mult" }, "reservoir": { "disabled": "{provider} - dezactivat", @@ -1443,6 +2148,74 @@ "statusDisabled": "dezactivat", "statusNotConfigured": "nu este configurat", "done": "Terminat" + }, + "scope": { + "label": "Domeniul de aplicare al regulii", + "global": "Implicite globale", + "overrideCount": "{count, plural, one {# overridden field} other {# overridden fields} few {# overridden fields}}", + "unsavedMarker": "Modificări nesalvate" + }, + "toolbar": { + "searchFields": "Căutare câmpuri", + "clearSearch": "Ștergeți căutarea", + "provider": "Furnizor", + "anyProvider": "Oricare", + "providerMenuTitle": "Filtrare și editare în bloc de furnizor", + "usedIn": "{count, plural, =0 {nefolosit} one {# câmp} other {# câmpuri} few {# câmpuri}}", + "showOnlyThese": "Arată doar câmpurile folosindu-l", + "bulkLabel": "Aplică la toate câmpurile {count} care le utilizează", + "makeFirst": "Faceți primul loc peste tot", + "makeLast": "Faceți ultima dată peste tot", + "removeEverywhere": "Elimină din toate câmpurile", + "audioCoverOrderKept": "Reordonarea sare peste regula copertei Audiobook, care menţine sursele audiobook pe primul loc.", + "allFields": "Toate câmpurile", + "overridesOnly": "Doar suprascrieri", + "clearFilters": "Ștergeți filtrele" + }, + "providerState": { + "disabled": "Dezactivat", + "notConfigured": "Nu este configurat", + "disabledDetail": "{provider} este oprit, așa că rămâne în ordine, dar este omis.", + "notConfiguredDetail": "{provider} nu are încă credențiale, așa că rămâne în ordine, dar este omis.", + "neverSupplies": "Nu furnizați niciodată acest lucru", + "neverSuppliesDetail": "{provider} nu furnizează niciodată acest câmp, deci este omis aici.", + "otherShape": "Alte forme de copertă", + "otherShapeDetail": "{provider} are doar coperți de altă formă, astfel încât umple acest slot doar când nimic altceva nu mai poate." + }, + "detail": { + "priority": "Prioritate furnizor", + "priorityHint": "Primul furnizor care returnează o valoare câștigă.", + "moveUp": "Mutați {provider} mai devreme", + "moveDown": "Mutați {provider} mai târziu", + "result": "Rezultat", + "resultHint": "La următoarea reîmprospătare a acestui câmp se rezolvă în această comandă:", + "noUsableProviders": "Niciun furnizor utilizabil - acest câmp nu va fi completat.", + "skippedSummary": "{count,plural,one{{providers} este în ordine, dar va fi omis.} few{{providers} sunt în ordine, dar vor fi sărite.} other{{providers} sunt în ordine, dar vor fi sărite.}}", + "appliesTo": "Aplică pentru {scope}.", + "inheritGlobal": "Moștenește regula globală", + "inheritingGlobal": "Moștenirea regulii globale.", + "collapse": "Restrânge" + }, + "save": { + "upToDate": "Nicio modificare nesalvată", + "unsaved": "{count, plural, one {# modificare nesalvată} other {# modificări nesalvate} few {# modificări nesalvate}} în {scope}", + "discard": "Renunțați", + "action": "Salvează {scope}" + }, + "confirm": { + "clearProviders": { + "title": "Eliminați fiecare furnizor?", + "description": "Aceasta împarte lista furnizorilor de servicii pe toate cele 16 câmpuri din {scope}. Nimic nu este salvat până când alegeți Salvarea." + }, + "resetScope": { + "title": "Resetați la valorile implicite?", + "globalDescription": "Acest lucru înlocuiește regulile de câmp globale cu valorile implicite ale sistemului și salvează imediat.", + "libraryDescription": "Aceasta elimină orice suprascriere de pe {scope} astfel încât moștenește regulile globale din nou și salvează imediat." + }, + "removeProvider": { + "title": "Eliminați {provider} din fiecare câmp?", + "description": "Aceasta o ia pe {provider} din comanda furnizorului pe fiecare camp din {scope}. Nimic nu este salvat până nu alegeți Salvarea." + } } }, "genreBlocklist": { @@ -1461,6 +2234,123 @@ "emptyHint": "Adaugă valori exacte cum ar fi Audiobook sau Adult pentru a le ține departe de metadatele luate.", "removeLabel": "Elimină {genre}" }, + "searchCache": { + "loadFailed": "Nu s-au putut încărca setările de căutare cache-ului.", + "retry": "Încercați din nou", + "saved": "Setări de căutare salvate", + "saveFailed": "Salvarea setărilor cache a eșuat", + "units": { + "hours": "Ore", + "days": "Zile" + }, + "general": { + "title": "Răspunsuri salvate", + "enabled": "Salvați răspunsurile furnizorului", + "enabledHint": "Căutări, reîmprospătări în masă și preluări de fundal reutilizează răspunsurile salvate în loc să întrebi fiecare furnizor din nou.", + "resultsTtl": "Păstraţi rezultatele pentru", + "resultsTtlHint": "Cât timp se reutilizează un răspuns cu rezultate înainte ca furnizorul să fie întrebat din nou.", + "resultsTtlUnit": "Unitatea de timp pentru rezultate", + "emptyTtl": "Păstraţi răspunsuri goale pentru", + "emptyTtlHint": "Cât timp un furnizor nu a găsit nimic în memorie. Se aplică numai furnizorilor marcați ca caching răspunsuri goale. 0 nu păstrează niciodată răspunsuri goale.", + "emptyTtlUnit": "Unitate de timp pentru răspunsuri goale", + "staleGrace": "Utilizați răspunsurile expirate pentru", + "staleGraceHint": "Atunci când un furnizor eșuează, se folosește un răspuns până la acest mult timp de expirare. 0 nu se mai oprește.", + "staleGraceUnit": "Unitate timp răspunsuri expirată", + "storage": "Buget de stocare", + "storageHint": "Cele mai vechi răspunsuri sunt eliminate odată ce au fost salvate trec de această mărime. Pe disc tabelul poate dura aproximativ 1,5 până la 2 ori bugetul.", + "storageUnit": "MO" + }, + "providers": { + "title": "Setări Per-provider", + "hint": "Lăsați o cutie necompletată pentru a utiliza valoarea de mai sus. Dezactivați un furnizor pentru a-l cere întotdeauna live.", + "books": "Cărți", + "authors": "Autori", + "none": "Nu sunt furnizori disponibili.", + "globalOff": "Salvarea răspunsurilor este oprită, astfel încât aceste setări se aplică după ce este activată.", + "on": "Activat", + "off": "Dezactivat", + "enabledLabel": "Salvează răspunsurile de la {provider}", + "resultsTtl": "Păstraţi rezultatele pentru", + "resultsTtlLabel": "Păstrați {provider} rezultate pentru", + "resultsTtlUnitLabel": "Unitate de timp pentru {provider} rezultate", + "emptyTtl": "Păstraţi răspunsuri goale pentru", + "emptyTtlLabel": "Păstrează gol {provider} răspunsuri pentru", + "emptyTtlUnitLabel": "Unitate de timp pentru gol {provider} răspunsuri", + "noEmptyCaching": "Răspunsurile goale de la acest furnizor nu sunt salvate niciodată.", + "notCacheable": "Răspunsurile de la acest furnizor nu sunt salvate niciodată.", + "reset": "Reset {provider} la valorile implicite" + }, + "validation": { + "required": "Introduceți o valoare.", + "wholeNumber": "Introduceți un număr întreg.", + "range": "Introduceți o valoare de la {min} la {max}.", + "tooManyOverrides": "Prea mulți furnizori au propriile setări. Resetați unele dintre ele pentru a salva." + }, + "save": { + "unsaved": "Modificări nesalvate", + "invalid": "Repară câmpurile evidențiate pentru a salva", + "upToDate": "Toate modificările salvate", + "discard": "Renunțați", + "action": "Salvează" + }, + "stats": { + "group": "Utilizare", + "title": "Răspunsuri salvate", + "refresh": "Împrospătează", + "loadFailed": "Nu s-a putut încărca utilizarea cache-ului.", + "storage": "Stocare utilizată", + "storageUsed": "{used} {budget}", + "storageHint": "Mărimea răspunsurilor salvate. Tabelul de pe disc este mai mare.", + "entries": "Răspunsuri salvate", + "emptyEntries": "Răspunsuri goale", + "diskSize": "Dimensiune tabel pe disc", + "hitRate": "Rata de accesare", + "requestsAvoided": "Solicitări evitate", + "fallbacks": "Căderi", + "skippedWrites": "Scrieri sărite", + "oldest": "Cel mai vechi răspuns", + "none": "Niciuna încă", + "countersHint": "Rata de atingere, cererile evitate, carențele și scrierile omise de când serverul a pornit ultima dată.", + "perProvider": "Răspunsuri salvate de furnizor", + "provider": "Furnizor", + "kind": "Tip", + "size": "Dimensiune", + "empty": "Nimic nu a fost salvat încă." + }, + "clear": { + "group": "Mentenanţă", + "title": "Curăță răspunsurile salvate", + "regionHint": "Furnizorii pot răspunde diferit după locaţie. Goliţi memoria cache după mutarea serverului într-o altă regiune sau VPN.", + "action": "Curăță", + "failed": "Ștergerea răspunsurilor salvate a eșuat", + "done": "{count, plural, one {S-a eliminat # răspuns salvat} other {S-au eliminat # răspunsuri salvate} few {S-au eliminat # răspunsuri salvate}}", + "donePending": "{count, plural, one {S-a eliminat # răspuns salvat. Restul sunt șterse în fundal.} other {S-au eliminat # răspunsuri salvate. Restul sunt șterse în fundal.} few {S-au eliminat # răspunsuri salvate. Restul sunt șterse în fundal.}}", + "empty": { + "label": "Ștergeți doar răspunsurile goale", + "hint": "Uită că furnizorii nu au găsit nimic, așa că acele căutări întreabă din nou.", + "confirmTitle": "Ștergeți răspunsurile goale?", + "confirmDescription": "Răspunsurile salvate unde un furnizor nu a găsit nimic sunt eliminate. Răspunsurile cu rezultate sunt păstrate." + }, + "book": { + "label": "Curăță răspunsurile din carte", + "hint": "Elimină totul salvat de la furnizorii de cărţi.", + "confirmTitle": "Ștergeți răspunsurile din carte?", + "confirmDescription": "Fiecare răspuns salvat de la furnizorii de cărţi este eliminat. Căutările următoare întreabă din nou acei furnizori." + }, + "author": { + "label": "Curăță răspunsurile autorului", + "hint": "Elimină tot ce a fost salvat de la furnizorii de autori.", + "confirmTitle": "Ștergeți răspunsurile autorului?", + "confirmDescription": "Fiecare răspuns salvat de la furnizorii de autor este eliminat. Căutările următoare întreabă acești furnizori din nou." + }, + "all": { + "label": "Ștergeți toate răspunsurile salvate", + "hint": "Bifează geocutia. Fiecare furnizor este întrebat din nou la următoarea căutare.", + "confirmTitle": "Ștergeți toate răspunsurile salvate?", + "confirmDescription": "Întreaga geocutie este golită. Căutările vor fi mai lente până se umple din nou, şi nimic nu va mai rămâne înapoi în timp ce un furnizor va scădea." + } + } + }, "customFields": { "label": "Etichetă", "labelPlaceholder": "ex. Titlu Original", @@ -1509,7 +2399,145 @@ "selectAll": "Selectează tot", "clear": "Curăță", "noLibraries": "Nici o bibliotecă disponibilă încă.", - "allLibraries": "Toate librăriile" + "allLibraries": "Toate librăriile", + "pageFacts": "{fields, plural, one {# câmp} other {# câmpuri} few {# câmpuri}} · {values, plural, one {# valoare stocată} other {# valori stocate} few {# valori stocate}}", + "newFieldAction": "Camp nou", + "views": { + "label": "Arată câmpurile active sau arhivate", + "active": "Activ", + "archived": "Arhivat" + }, + "columns": { + "order": "Comanda", + "field": "Câmp", + "type": "Tip", + "libraries": "Biblioteci", + "filled": "Completat", + "valuesKept": "Valori păstrate", + "archived": "Arhivat", + "actions": "Acțiuni" + }, + "orderHint": "Trageți pentru a seta câmpurile comenzii în metadatele de editare, în coloanele de tabel și în exporturi.", + "archivedHint": "Câmpurile arhivate sunt ascunse de cărți, filtre și exporturi. Valorile lor rămân stocate până când câmpul este șters.", + "coverage": "{filled} {total}", + "coverageAria": "{filled} de {total} de cărți au o valoare", + "onNoLibrary": "Nu există biblioteci", + "onNoLibraryHint": "În nici o bibliotecă, deci acest câmp nu apare nicăieri", + "moreLibraries": "+{count}", + "noValues": "Niciunul", + "rowActions": { + "edit": "Editare", + "editField": "Editare câmp", + "moveUp": "Mută în sus", + "moveDown": "Mută în jos", + "archive": "Arhivează", + "restore": "Restaurează", + "deletePermanently": "Șterge permanent…", + "more": "Mai multe acțiuni pentru {label}" + }, + "toasts": { + "loadFailed": "Nu s-au putut încărca câmpurile personalizate", + "created": "{label} creat", + "createFailed": "Nu s-a putut crea {label}", + "saved": "{label} salvat", + "saveFailed": "Nu s-a putut salva {label}", + "archived": "{label} arhivat", + "archiveFailed": "Nu s-a putut arhiva {label}", + "restored": "{label} restaurat", + "restoreFailed": "Nu s-a putut restabili {label}", + "deleted": "{label} șters", + "deleteFailed": "Nu s-a putut șterge {label}", + "reorderFailed": "Nu s-a putut salva comanda nouă" + }, + "empty": { + "body": "Urmăriți ce BookOrbit nu are câmp, cum ar fi când o carte stă pe raftul dvs. sau cine a împrumutat-o. Câmpurile apar pe Editare metadate, în coloane de tabel și în filtre.", + "examples": "Începe de la un exemplu", + "shelfNumber": "Număr Shelf", + "acquiredOn": "Dobândit pe", + "signedCopy": "Copie semnată", + "loanedTo": "Împrumut lui" + }, + "types": { + "text": { + "label": "Text", + "hint": "Orice cuvinte", + "example": "Prima imprimare, cartonaş semnat" + }, + "url": { + "label": "Link-ul", + "hint": "Deschide într-o filă nouă", + "example": "https://exemplu.ro/carte" + }, + "number": { + "label": "Număr", + "hint": "Sortează după valoare", + "example": "42" + }, + "date": { + "label": "Data", + "hint": "O zi calendaristică", + "example": "2024-03-09" + }, + "boolean": { + "label": "Da / Nu", + "hint": "O casetă de selectare", + "example": "Da" + } + }, + "sheet": { + "newTitle": "Camp nou", + "editDescription": "Editați eticheta și bibliotecile câmpului personalizat și vedeți unde apare.", + "newDescription": "Numește un nou câmp personalizat, alege tipul său și alege bibliotecile sale.", + "archivedDescription": "Un câmp personalizat arhivat. Restaurați-l sau ștergeți-l cu valorile sale.", + "statusFilled": "{filled} de la {total, plural, one {# carte} other {# cărți} few {# cărți}} completate", + "statusNone": "Nu este în nici o bibliotecă", + "statusHidden": "{count} hidden", + "statusCreated": "a creat {date}", + "labelHint": "Afișat pe Editare metadate, în coloane de tabel și în filtre.", + "renameHint": "Redenumirea păstrează fiecare valoare stocată şi cheia fişierului {key}.", + "keyHint": "Salvat în fișiere și exporturi ca {key}, care rămâne la fel dacă redenumiți câmpul.", + "typeLocked": "Setează când este creat", + "typeLockedHint": "Tipul nu se poate schimba mai târziu, astfel încât valorile stocate se potrivesc întotdeauna.", + "libraries": "Biblioteci", + "books": "{count, plural, one {# carte} other {# cărţi} few {# cărţi}}", + "filledOfBooks": "{filled} de la {total, plural, one {# carte} other {# cărți} few {# cărți}}", + "hiddenCount": "{count} hidden", + "leavingNote": "{count, plural, one {# valoare în {libraries} rămâne stocată dar ascunsă în timp ce câmpul este oprit.} other {# valori în {libraries} rămân stocate, dar ascunse, în timp ce câmpul este dezactivat.} few {# valori în {libraries} rămân stocate, dar ascunse, în timp ce câmpul este dezactivat.}} Înapoi îi aduce înapoi.", + "noLibraryWarning": "Fără biblioteci, acest câmp apare nicăieri: nu pe Editare metadate, în filtre sau exporturi.", + "appears": { + "title": "Unde apare", + "editMetadata": "Editare metadate", + "details": "Details tab", + "filters": "Filtre", + "table": "Tabel și sortare", + "tableBody": "Disponibil ca coloană de tabel şi opţiune de sortare", + "files": "Fișiere", + "filesWritten": "Scris în fișierele EPUB și FB2 în {libraries}, unde este activată scrierea de metadate în fișiere.", + "filesNotWritten": "Nu este scris în fișiere: niciuna dintre aceste biblioteci nu scrie metadate fișierelor EPUB sau FB2.", + "exports": "Exporturi" + }, + "archiveAction": "Câmp arhivă", + "archiveConfirm": "Arhivați {label}?", + "archiveConsequence": "{count,plural,one{Aceasta lasă Editare metadate, filtre și exporturi. # valoarea rămâne stocată până când câmpul este șters.} few{Aceasta lasă Editare metadate, filtre și exporturi. # valorile rămân stocate până când câmpul este șters.} other{Aceasta lasă Editare metadate, filtre și exporturi. # valorile rămân stocate până când câmpul este șters.} =0{Acesta lasă Editare metadate, filtre și exporturi. Restaură-l din arhivat în orice moment.}}", + "create": "Crează câmp", + "onLibraries": "La {count} din {total} librării", + "onAllLibraries": "În toate librăriile {total}", + "archivedBadge": "Arhivat", + "archivedTitle": "{when} arhivat.", + "archivedBody": "{count,plural,one{Acest câmp este ascuns de cărți, filtre și exporturi. # valoarea stocată este păstrată și revine în restaurare.} few{Acest câmp este ascuns de cărți, filtre și exporturi. # valorile stocate sunt menținute și se întorc în restaurare.} other{Acest câmp este ascuns de cărți, filtre și exporturi. # valorile stocate sunt menținute și se întorc în restaurare.} =0{Acest câmp este ascuns de cărți, filtre și exporturi. Nu conține valori.}}", + "facts": { + "type": "Tip", + "libraries": "Biblioteci", + "valuesKept": "Valori păstrate", + "fileKey": "Cheie fișier", + "created": "Creat", + "archived": "Arhivat" + }, + "deleteQuestion": "Ștergeți {label} pentru bine?", + "deleteConsequence": "{count, plural, =0 {Nu conține nici o valoare. Această acțiune nu poate fi anulată.} one {Valoarea sa # stocată este eliminată din fiecare carte. Fișierele deja scrise își păstrează copia. Acest lucru nu poate fi anulat.} other {Valorile sale # stocate sunt eliminate din fiecare carte. Fișierele deja scrise își păstrează copia. Acest lucru nu poate fi anulat.} few {Valorile sale # stocate sunt eliminate din fiecare carte. Fișierele deja scrise își păstrează copia. Acest lucru nu poate fi anulat.}}", + "deleteConfirmLabel": "Introduceți numele câmpului pentru a confirma", + "deleteConfirmPlaceholder": "Introduceți {label} pentru a confirma" + } }, "tabs": { "providers": "Furnizori", @@ -1518,7 +2546,8 @@ "genre-blocklist": "Genre Blocklist", "score": "Scor", "auto-fetch": "Cărți", - "authors": "Autori" + "authors": "Autori", + "search-cache": "Căutare Cache" }, "tabTitles": { "providers": "Furnizori", @@ -1527,7 +2556,8 @@ "genre-blocklist": "Genre Blocklist", "score": "Scor de încredere", "auto-fetch": "Auto-Primire de cărți", - "authors": "Autor Auto-Fetch" + "authors": "Autor Auto-Fetch", + "search-cache": "Căutare Cache" }, "tabSubtitles": { "providers": "Activați sursele externe de metadate și configurați acreditările.", @@ -1536,7 +2566,17 @@ "genre-blocklist": "Împiedică scrierea valorilor de gen ale furnizorilor nedoriți în cărți.", "score": "Atribuiți greutăți câmpurilor de metadate pentru a calcula cât de mult să aveți încredere în rezultatele obținute.", "auto-fetch": "Preia automat coperte, descrieri și alte detalii atunci când noi cărți sunt adăugate la biblioteca ta.", - "authors": "Preia automat biografiile și fotografiile de profil atunci când apar autori noi în biblioteca ta." + "authors": "Preia automat biografiile și fotografiile de profil atunci când apar autori noi în biblioteca ta.", + "search-cache": "Reutilizeaza raspunsurile furnizorului astfel incat cautarile repetate sunt rapide si functioneaza in continuare cand un furnizor este inchis." + }, + "preferences": { + "toast": { + "saved": "Preferințe metadate salvate", + "saveFailed": "Nu s-au putut salva preferințele pentru metadate. Verificați conexiunea și încercați din nou.", + "globalReset": "Regulile câmpurilor globale resetează la valorile implicite ale sistemului", + "libraryReset": "Resetare bibliotecă la regulile globale", + "resetFailed": "Nu s-au putut reseta preferințele pentru metadate. Verificați conexiunea și încercați din nou." + } } }, "reader": { @@ -1584,12 +2624,26 @@ "typography": "Tipografie", "font": "Font", "fontHint": "Typeface utilizat pentru corpul text", + "fontStyle": "Stil font", + "fontStyleHint": "Greutatea şi slanta textului. Îngroşat şi cursiv în carte rămân în raport cu aceasta.", "builtInFonts": "Fonturi încorporate", "yourFonts": "Fonturile tale", "fontSize": "Font size", "fontSizeHint": "Dimensiunea textului de bază în pixeli", "lineHeight": "Înălțimea liniei", "lineHeightHint": "Spațiere verticală între linii", + "paragraphSpacing": "Spațiere puncte", + "paragraphSpacingHint": "Spațiu între paragrafe. Rezervă implicit păstrează spațiul editorului.", + "paragraphSpacingDefault": "Rezervare implicită", + "paragraphSpacingValue": "{value} em", + "letterSpacing": "Spațierea literelor", + "letterSpacingHint": "Spaţiu între litere. Rezervaţi implicit spaţiul editorului.", + "wordSpacing": "Spațiere cuvinte", + "wordSpacingHint": "Spațiu între cuvinte. Rezervarea implicită păstrează spațiul editorului.", + "textIndent": "indentare prima linie", + "textIndentHint": "Indentat la începutul paragrafelor obişnuite. Rezervarea implicită păstrează indentaţia editorului.", + "custom": "Personalizat", + "emValue": "{value} em", "justify": "Aliniază textul", "justifyHint": "Aliniere text la ambele marje", "hyphenation": "Hifenare", @@ -1658,6 +2712,8 @@ "widePageDisable": "Dezactivează", "forceTwoPage": "Forțează două pagini pe ecrane mici", "forceTwoPageHint": "Ignoră auto-reţinerea telefonului atunci când este selectat modul paginat pe două pagini", + "autoAdvance": "Avans automat în următoarea carte", + "autoAdvanceHint": "Întoarceţi peste ultima pagină pentru a deschide următoarea carte în serie", "off": "Dezactivat", "on": "Activat", "display": "Afişare", @@ -1703,6 +2759,9 @@ "deleteVariant": "Șterge varianta", "styleNormal": "Normală", "styleItalic": "Italic", + "weightItalicOf": "{weight} Italic", + "variableRange": "{min}-{max}", + "variableStyles": "{count, plural, one {# style} other {# styles} few {# styles}}", "weightThin": "Subțire", "weightExtraLight": "Lumină extra", "weightLight": "Lumină", @@ -1724,7 +2783,25 @@ "serverFontsHint": "Aceste fonturi provin de la administratorul serverului. Dezactivează una pentru a nu o lăsa la îndemâna cititorului.", "serverFontsShown": "{count} {total} afișat", "serverFontsAllHidden": "Toate fonturile serverului sunt ascunse. Cititorul dvs. va oferi doar fonturile dvs. și cele incluse.", - "serverFontVisibilityFailed": "Nu s-a reușit actualizarea vizibilității fontului serverului" + "serverFontVisibilityFailed": "Nu s-a reușit actualizarea vizibilității fontului serverului", + "library": { + "columns": { + "use": "În uz" + }, + "yourDefault": "Implicit", + "hiddenBadge": "Hidden", + "emptyHint": "Adaugă fonturi deasupra sau plasează fișiere oriunde pe această pagină.", + "dropTitle": "{count, plural, one {Lasă # fişier pentru a adăuga la fonturile tale} other {Adaugă # fişiere în fonturile tale} few {Adaugă # fişiere în fonturile tale}}", + "limitReached": "Aveţi deja fişiere de font {limit}.", + "filesUsed": "{count} din {max} utilizat", + "nameHint": "Acesta este numele din lista de fonturi a cititorului.", + "inReaderHint": "Lista de fonturi în Cititor > Setări, cu {name} alesă.", + "showInReader": "Arată în cititorul meu", + "showFamily": "Arată {name} în cititorul meu", + "removeConsequenceBooks": "{count, plural, one {Este setată pe # din cărțile tale; cartea se întoarce la propriul său font.} other {Este setat pe # din cărțile tale, se întorc la propriile lor fonturi.} few {Este setat pe # din cărțile tale, se întorc la propriile lor fonturi.}}", + "removeConsequenceDefault": "Este fontul tău implicit; cărțile fără setarea proprie se întorc la cartea implicită.", + "removeQuestion": "Elimină {name} din fonturile tale?" + } }, "bookDock": { "title": "Andocare carte", @@ -1733,6 +2810,7 @@ "containerPath": "Cale container", "containerPathHint": "Copiaţi sau mutaţi fişierele de carte în acest dosar şi acestea vor fi automat preluate şi procesate de către Book Dock. Subdirectoarele sunt suportate.", "changePathPrefix": "Pentru a schimba această cale, setați", + "changePathMiddle": "în dvs.", "changePathSuffix": "fișier.", "metadata": "Metadate", "autoFetch": "Preluare automată a metadatelor de la furnizori", @@ -1791,7 +2869,9 @@ "modSort": "Ultimul format, primul format", "modInitial": "Doar prima literă", "modFixed2": "Două zecimale", + "modMax3": "Până la trei valori, altfel nimic", "folderOnlyPrefix": "Terminați un model cu", + "folderOnlySuffix": "pentru a specifica doar un dosar. Numele fişierului original va fi păstrat în el. (Automatic Translation)", "conditionalLogic": "Logică condiționată", "conditionalPart1": "Încadrare în", "conditionalPart2": "pentru a sări peste un segment atunci când token-ul este gol. Utilizați", @@ -1841,9 +2921,11 @@ "librarySaved": "Model salvat pentru {name}", "librarySaveFailed": "Salvarea modelului librăriei a eșuat", "saveLibraryPattern": "Salvați modelul pentru {name}", + "resetLibraryPattern": "Reset {name} la modelul implicit", "tokenTitle": "Titlu carte", "tokenSubtitle": "Subtitrări de cărți", "tokenAuthors": "Autor(e), separate prin virgulă", + "tokenNarrators": "Artator(i) separat(e) de virgulă", "tokenYear": "Anul publicării", "tokenSeries": "Numele seriilor", "tokenSeriesIndex": "Indexul seriilor (zero-padded)", @@ -1853,7 +2935,160 @@ "tokenLibrary": "Nume bibliotecă", "tokenOriginalFilename": "Nume fișier original (fără extensie)", "tokenExtension": "Extensia fișierului (fără punct)", - "browseTokensAndExamples": "Răsfoiește jetoane și exemple" + "tokenReadaloud": "Cuvântul tare pentru un EPUB cu suprapuneri media", + "patternHelpIntro": "Modelele folosesc jetoane ca {titleToken} şi {authorsToken}, plus modificatori și segmente opționale.", + "browseTokensAndExamples": "Răsfoiește jetoane și exemple", + "subtitleShort": "Tipuri de nume de dosare și fișiere pentru fișierele stocate.", + "rule": { + "fileAsBook": "Fişier implicit ca carte", + "folderAsBook": "Dosar ca implicit pentru carte", + "download": "Descarcă numele fișierului" + }, + "howItWorks": { + "title": "Cum se alege o cale.", + "summary": "O bibliotecă cu un model al propriilor câștiguri. Fiecare altă bibliotecă urmează modelul global pentru modul său de organizare. Schimbarea unui model nu mută cărțile deja pe disc; urcarea de noi îl va urmări de la următoarea încărcare." + }, + "filterRules": "Reguli de filtrare", + "librariesGroup": "Biblioteci", + "customCount": "{custom}/{total} particularizat", + "noRuleMatches": "Nicio regulă nu corespunde \"{query}\".", + "unsavedMarker": "Modificări nesalvate", + "backToRules": "Înapoi la regulile de denumire", + "appliesToLibraries": "{count, plural, =0 {Nici o bibliotecă nu foloseşte acest lucru implicit} one {Se aplică la # bibliotecă} other {Se aplică la # biblioteci} few {Se aplică la # biblioteci}}", + "downloadScope": "Descărcări și exporturi ZIP-uri", + "badgeInherits": "Moștenește implicit", + "badgeUnsaved": "nesalvate", + "patternLabel": "Model", + "readOnlyFromGlobal": "Doar citire, de la valoarea implicită globală", + "useGlobalDefault": "Folosește implicit global", + "resetToShipped": "Resetare la livrare implicită", + "addOverride": "Adaugă o suprascriere", + "inheritsNotice": "Această bibliotecă urmează {base}. Adăugați o suprascriere pentru a-i da un model propriu.", + "libraryRuleHint": "Suprascrie {base} doar pentru această bibliotecă.", + "scopeLibrary": "Se aplică doar încărcărilor în {name}.", + "scopeDownload": "Se aplică la fiecare descărcare a unui singur fişier şi fiecărui fişier în interiorul unui ZIP de export.", + "scopeGlobal": "{count,plural,one{Se aplică la # bibliotecă care nu are un model propriu.} few{Se aplică la # biblioteci care nu au un model propriu.} other{Se aplică la # biblioteci care nu au un model propriu.}}", + "scopeGlobalNone": "Nici o bibliotecă nu foloseşte acest implicit acum; fiecare bibliotecă din acest mod are propriul model.", + "unbalancedOptional": "Un grup opțional îi lipsește paranteza cu unghi închis", + "unbalancedToken": "Un token nu are brută de închidere", + "structure": "Structura", + "paletteOptional": "opţional", + "paletteOptionalHint": "Înglobează un segment astfel încât este scăpat când un token din interior este gol", + "paletteFallback": "fallback", + "paletteFallbackHint": "În interiorul unui grup opţional, textul folosit atunci când partea stângă nu poate fi completată", + "paletteSeparator": "dosar", + "paletteSeparatorHint": "Începe un nou nivel de dosar", + "modUpper": "UPPERCAZA", + "modLower": "litere mici", + "recipesLabel": "Sau pornește de la o rețetă", + "recipe": { + "seriesShelf": "Raftul seriilor", + "calibre": "Calibre style", + "alphabetical": "Alfabetic", + "flat": "Plat, fără dosare", + "originalName": "Nume fișier original", + "authorTitle": "Autor și titlu", + "titleOnly": "Doar titlu", + "seriesOrdered": "Serii comandate" + }, + "resultPanel": "Rezultat rezolvat", + "resultFor": "Rezultat: {rule}", + "copyResult": "Copiază rezultatul rezolvat", + "resultCopied": "Rezultat rezolvat copiat în clipboard", + "resultCopyFailed": "Copierea rezultatului rezolvat a eșuat", + "sampleBookNote": "Mostră de carte folosită pentru fiecare previzualizare", + "missingMetadata": "Dacă metadatele lipsesc", + "readaloudComparison": "Comparație puternică", + "readaloudEpub": "EPUB citit", + "plainEpub": "EPUB simplu", + "caseNoSeriesLabel": "Nicio serie", + "caseNoYearLabel": "Niciun an", + "caseNoAuthorLabel": "Niciun autor", + "previewEmpty": "Acest model se rezolvă la nimic, astfel încât numele original al fișierului va fi folosit în schimb.", + "previewEmptyShort": "Rezolvare la nimic", + "crossPlatformShortHint": "Înlocuiește caracterele Windows resping. Previzualizările reflectă această setare.", + "rulesSaved": "{count, plural, one {# Regulă de numire salvată} other {# Reguli de nume salvate} few {# Reguli de nume salvate}}", + "rulesSaveFailed": "{count, plural, one {Nu s-a putut salva # Regula de denumire} other {Nu s-au putut salva # Regulile de numire} few {Nu s-au putut salva # Regulile de numire}}", + "rulesPartiallySaved": "Salvat {saved}, nu a reușit {failed}. Regulile care au eșuat încă au modificări nesalvate.", + "save": { + "unsaved": "{count, plural, one {# modificare nesalvată} other {# modificări nesalvate} few {# modificări nesalvate}}", + "upToDate": "Nicio modificare nesalvată", + "discard": "Renunțați", + "action": "Salvează modificările", + "blocked": "Repară modelul nevalid înainte de a salva" + }, + "examplesDescription": "Idiomoară rețetele nu acoperă. Un model care se termină într-un slash se rezolvă într-un folder și păstrează numele fișierului încărcat în interiorul său.", + "examplesApply": "Aplică", + "examplesApplyAria": "Aplică modelul {label}", + "examplesUploadOnly": "Acestea sunt modele de încărcare, afișate aici pentru referință. Treceți la un fișier ca carte sau folder ca regulă de carte pentru a aplica una.", + "examplesFileModeOnly": "Folder as Book are nevoie de un segment de nume de fișier, deci acest idiom se aplică fișierului doar ca biblioteci de carte.", + "example": { + "seriesOrStandalone": "Serii, sau un folder independent", + "optionalSubtitle": "Subtitrare opţională", + "languageFolder": "Dosar limbă", + "publisherFolder": "Dosar editor", + "stackedOptional": "Dosare opționale suprapuse", + "folderDrop": "Doar folder, păstrați numele fișierului încărcat" + }, + "exampleCase": { + "complete": "Complete", + "noSeries": "Nicio serie", + "noSubtitle": "Fără subtitrare", + "noLanguage": "Nicio limbă", + "noPublisher": "Niciun editor" + }, + "unknownModifier": "Modificator necunoscut \"{modifier}\". Va fi ignorat, lăsând valoarea neschimbată.", + "rulesNav": "Reguli de denumire", + "railFoot": "O bibliotecă fără un model propriu urmează modelul implicit la care se află.", + "usedBy": "Folosit de {libraries}", + "followsBase": "Urmează {base}.", + "copyPattern": "Copiază modelul", + "recipes": "Rețete", + "recipesTitle": "Începe de la o rețetă", + "recipesReplace": "Înlocuiește întregul model", + "recipeInUse": "În uz", + "insert": "Insert", + "insertToolbar": "Introduceți în model", + "insertOptional": "Opţional", + "insertFallback": "Fallback", + "insertFolder": "Dosar", + "lineHint": "Apăsați {enter} pentru a porni un folder nou sau tastați {brace} pentru a alege un token. Faceți clic pe pictograma dosarului pentru a sări peste acel dosar atunci când lipsește valoarea acestuia.", + "downloadLineHint": "Descărcările nu au dosare, astfel încât doar ultima parte a modelului este utilizată.", + "tokenSuggestions": "Tokeni potriviți", + "noTokenMatch": "Niciun token nu se potrivește \"{query}\".", + "uploadedNameKept": "Numele fişierului încărcat păstrat", + "level": { + "folder": "Dosar {n}", + "bookFolder": "Dosar carte", + "file": "Nume fișier", + "skipWhenEmpty": "Omiteți {level} când lipsește valoarea sa", + "skippedWhenEmpty": "Sărit când lipsește valoarea. Apasă pentru a crea întotdeauna acest dosar.", + "alwaysCreated": "Creat întotdeauna. Apasă pentru a sări peste acest dosar atunci când lipsește valoarea lui." + }, + "result": "Rezultat", + "previewWith": "Previzualizare cu", + "previewWithAria": "Previzualizare cu {title}", + "previewBook": { + "sample": "Mostră carte", + "longTitle": "Titlu si serie lungi", + "longSubtitle": "Subtitrare lunga", + "manyAuthors": "Cinci autori", + "audiobook": "Audiobok", + "standalone": "Nicio serie" + }, + "previewingCase": "Previzualizare: {case}", + "showComplete": "Afișare completă", + "previewStale": "Previzualizarea capturează odată ce modelul este fixat.", + "noChange": "Nicio schimbare", + "tagSkipped": "sărit", + "tagFallback": "fallback", + "tagBookFolder": "Dosarul cărții", + "tagUploadedName": "nume încărcat", + "tagShortened": "scurtare la 255 octeți", + "tagEmptyName": "nume gol", + "levelSkipped": "Sărit deoarece {token} este gol", + "levelEmptyName": "Nume gol de folder. Dă-i acestui folder o rezervă astfel încât să aibă întotdeauna unul.", + "renameNote": "Cărți deja pe disc își păstrează căile. Biblioteci care redenumesc fișierele aplică acest model data viitoare când detaliile unei cărți sunt salvate: {libraries}." }, "kobo": { "title": "Kobo Sync", @@ -1862,6 +3097,7 @@ "never": "Niciodată", "justNow": "Chiar acum", "minutesAgo": "{count}m în urmă", + "hoursAgo": "{count}h în urmă", "daysAgo": "{count}d acum", "loadFailed": "Încărcarea a eșuat", "devicePaired": "Dispozitiv asociat cu succes", @@ -1895,9 +3131,12 @@ "syncHighlightsHint": "Trimite atracţii făcute în BookOrbit sau KOReader către punctele principale Kobo. Kobo sunt importate în BookOrbit chiar şi atunci când este oprit. Notițele sincronizate asociate și șterg ambele căi. Necesită livrarea KEPUB; cartea de pe Kobo trebuie să fie KEPUB descărcat de pe BookOrbit.", "storeSync": "Include titlurile magazinului Kobo", "storeSyncHint": "De asemenea, livrează cărți din contul tău Kobo, inclusiv Kobo Plus, și cumpără, alături de biblioteca BookOrbit. Fără asta, doar cărțile BookOrbit ajung la dispozitiv. Titlurile magazinului sunt descărcate direct de pe Kobo și nu sunt adăugate la biblioteca dvs. BookOrbit.", + "fullSizeCovers": "Filme de dimensiune completă", + "fullSizeCoversHint": "Trimite fiecare copertă la rezoluția ecranului Kobo, așa că ecranele de somn și copertele în ecran complet rămân ascuțite. Dezactivați pentru a trimite coperți mai mici care se sincronizează mai repede. O copertă deja pe un Kobo se schimbă doar când coperta cărții se schimbă.", "convertKepub": "Convertește în KEPUB", "convertKepubHint": "Trimite EPUB eligibili sub denumirea de KEPUB. Acest lucru rămâne valabil atunci când este activată sincronizarea progresului sau evidențierea BookOrbit-to-Kobo. La următoarea sincronizare Kobo, cărțile afectate sunt oferite din nou sub formă de descărcări KEPUB; eliminați orice copie EPUB veche dacă Kobo continuă să o deschidă.", "forceHyphenation": "Forțează hifenarea", + "forceHyphenationHint": "Asigură justificarea consistentă a textului. Aceasta va regenera KEPUB cache", "progressThresholds": "Praguri de progres", "progressThresholdsHint": "Definiți când Kobo citind progresul actualizează starea bibliotecii.", "markAsReading": "Marchează ca lectură", @@ -2062,6 +3301,7 @@ "never": "Niciodată", "justNow": "Chiar acum", "minutesAgo": "{count}m în urmă", + "hoursAgo": "{count}h în urmă", "daysAgo": "{count}d acum", "unknown": "Necunoscut", "updateAvailable": "Actualizare disponibilă", @@ -2138,6 +3378,7 @@ "syncedTotals": "Totaluri sincronizate", "trashedHighlights": "Evidențe șterse", "pendingDeletes": "{count, plural, =0 {Nu s-au şters momente principale în aşteptarea acceptării plugin-ului KOReader.} one {# Evidenţiere ştearsă în aşteptarea acceptării plugin-ului KOReader.} few {# au şters repere în aşteptarea acceptării plugin-ului KOReader.} other {# de au şters repere în aşteptarea acceptării plugin-ului KOReader.}}", + "failedPositions": "{count,plural,one{# trebuie să se pună accentul pe poziție.} few{# trebuie să se acorde atenție pozițiilor evidențiate.} other{# trebuie să se acorde atenție pozițiilor evidențiate.} =0{nu trebuie să se acorde atenție pozițiilor evidențiate.}}", "setupGuide": "Ghid de configurare", "setupSteps": "Etapele configurării KOReader", "setupStepsHint": "Utilizați plugin-ul BookOrbit pentru navigarea catalogului, descărcări, progres, citire evenimente și evidențieri. Utilizați plugin-ul stoc doar pentru progres.", @@ -2210,7 +3451,13 @@ "unmatchedDismissed": "Carte neegalată respinsă", "dismissFailed": "Nu a reuşit să respingă cartea neegalată", "allDismissed": "{count, plural, =0 {Nu ai găsit cărţi de neegalat} one {Respingeţi # o carte de neegalat} few {Respingeţi # cărţi nepotrivite} other {Respingeţi # de cărţi nepotrivite}}", - "dismissAllFailed": "Nu s-a reușit respingerea tuturor cărților care nu se potrivesc" + "dismissAllFailed": "Nu s-a reușit respingerea tuturor cărților care nu se potrivesc", + "reviewRefreshed": "Cărți de revizuit", + "reviewRefreshFailed": "Reîmprospătarea cărților pentru revizuire a eșuat", + "reviewDismissed": "Carte respinsă de la recenzie", + "reviewDismissFailed": "Nu a reușit să respingă cartea de recenzie", + "reviewAllDismissed": "{count, plural, =0 {Nici o carte de recenzie nu a fost respinsă} one {# carte de recenzie} other {A respins # de cărţi de recenzie} few {A respins # de cărţi de recenzie}}", + "reviewDismissAllFailed": "Nu am reuşit să respingem toate cărţile de recenzie" }, "modal": { "linkTitle": "Link KOReader carte", @@ -2244,6 +3491,7 @@ "unlinkConfirmBody": "Viitoarele sincronizări pentru acest hash se vor opri la {title} până când va fi conectat din nou. Statisticile sincronizate deja vor rămâne în cartea lor curentă de BookOrbit.", "dismissConfirmTitle": "Renunțați la {title}?", "dismissConfirmBody": "Aceasta o elimină din lista ta de cărți. Dacă vreun dispozitiv raportează acest hash din nou, va apărea din nou ca o nouă intrare.", + "dismissAllConfirmTitle": "{count,plural,one{Renunțați la toate # carte neegalată?} few{Renunțați la toate # Cărți nepotrivite?} other{Renunțați la toate # Cărți nepotrivite?} =0{nu există cărți nepotrivite}}", "dismissAllConfirmBody": "Acest lucru șterge întreaga listă de cărți nepotrivită, nu doar pagina curentă. Dacă vreun dispozitiv raportează din nou unul dintre aceste hash-uri, va apărea din nou ca o nouă intrare.", "changeLinkTitle": "Schimbă link-ul KOReader", "linkBookTitle": "Link KOReader carte", @@ -2262,7 +3510,15 @@ "syncedStatsNote": "Statisticile deja sincronizate vor rămâne în cartea lor curentă de BookOrbit.", "chooseDifferent": "Alege alt element", "saving": "Salvare...", - "confirmLink": "Confirmă link-ul" + "confirmLink": "Confirmă link-ul", + "reviewTitle": "Cărți KOReader de revizuit", + "reviewHint": "Cărţile fără o potrivire automată şi cărţile nelegate apar aici. Cărţile nelegate se pot sincroniza printr-o potrivire automată. Link o carte pentru a suprascrie acel meci sau respinge-l pentru a-l elimina din această listă.", + "loadingReview": "Se încarcă cărţile de revizuit...", + "noReview": "Nu sunt cărți KOReader de revizuit.", + "manualUnlinkConfirmBody": "Eliminați link-ul manual către {title} și returnați această carte la lista de revizuire. Viitoarele sincronizări vor folosi o potrivire automată dacă există una. Statisticile sincronizate vor rămâne în cartea lor curentă de BookOrbit.", + "reviewDismissConfirmBody": "Aceasta o elimină din cărțile dvs. pentru a fi revizuită. Se păstrează datele sincronizate și cele existente. În cazul în care un dispozitiv raportează hash din nou fără a se potrivi, poate reapărea.", + "reviewDismissAllConfirmTitle": "{count, plural, =0 {Nici o carte de revizuit} one {Renunţă la toate # cărţi de revizuit?} other {Renunţă la toate # de recenzie?} few {Renunţă la toate # de recenzie?}}", + "reviewDismissAllConfirmBody": "Acest lucru șterge toate cărțile pentru a revizui lista, inclusiv intrările de pe alte pagini. Potrivirea automată și datele existente de sincronizare sunt păstrate. Dacă un dispozitiv raportează un hash din nou fără o potrivire, poate reapărea." }, "remove": "Elimină", "removing": "Eliminare...", @@ -2334,6 +3590,7 @@ "updateSortFailed": "Actualizarea ordinii de sortare a eșuat", "userDeleted": "Utilizator OPDS \"{username}\" șters", "deleteUserFailed": "Ștergerea utilizatorului OPDS a eșuat", + "labelCopied": "{label} copiat", "copyLabelFailed": "Copierea lui {label} a eșuat" }, "tabs": { @@ -2349,21 +3606,581 @@ "tabs": { "file-naming": "Nume Fişier", "book-dock": "Andocare carte", + "requests": "Cereri", "maintenance": "Mentenanţă", "audit-log": "Jurnal de audit" + }, + "requests": { + "title": "Cereri", + "subtitle": "Acolo unde se găsesc eliberările, ce le ia şi ce se întâmplă odată ce aterizează.", + "tabs": { + "sources": "Surse", + "clients": "Descarcă clienții", + "automation": "Automatizare" + }, + "loading": "Se încarcă clienții de descărcare...", + "clients": "Descarcă clienții", + "addClient": "Adaugă client", + "editClient": "Editare client", + "deleteClient": "Șterge {name}", + "clientsEmpty": { + "title": "Nici un client descărcat încă", + "body": "O descărcare directă HTTP nu necesită niciun client. Conectați unul, astfel încât BookOrbit să poată prelua versiunile livrate de torrent sau Usenet de asemenea.", + "note": "qBittorrent, Transmission, Deluge, NZBGet şi SABnzbd sunt acceptate." + }, + "summary": "{type} - categoria {category}, prioritate {priority}", + "disabled": "Dezactivat", + "test": "Testare conexiune", + "testSaveFirst": "Salvați modificările înainte de testare", + "testOk": "Conectat la {client} {version}", + "testOkNoVersion": "Conectat la {client}", + "lastTestOk": "Ultimul test {time}: conectat", + "lastTestFailed": "Ultimul test {time}: {error}", + "saved": "Descărcare client salvat", + "deleted": "Descărcare client eliminat", + "clientTypes": { + "qbittorrent": "qBittorrent", + "transmission": "Transmitere", + "deluge": "Pozitie", + "nzbget": "NZBGet", + "sabnzbd": "SABnzbd" + }, + "color": { + "label": "Culoare", + "hint": "Marchează acest client în detalii de transfer. Protocolul de transfer păstrează culoarea sa.", + "none": "Nici o culoare" + }, + "fields": { + "name": "Nume", + "type": "Tip client", + "baseUrl": "URL de bază", + "username": "Nume", + "password": "Parolă", + "apiKey": "Cheie API", + "passwordKeep": "Lăsați necompletat pentru a păstra parola stocată", + "apiKeyKeep": "Lăsați necompletat pentru a păstra cheia API stocată", + "passwordClear": "Curăță", + "passwordKeepAction": "Păstrați", + "passwordWillClear": "Parola stocată este eliminată atunci când salvați", + "apiKeyWillClear": "Cheia API stocată este eliminată atunci când salvați", + "category": "Categorie", + "categoryHint": "Etichetează fişierele descărcate adaugă BookOrbit, astfel încât acesta acţionează doar pe cont propriu.", + "priority": "Prioritate", + "enabled": "Activat", + "useHardlinks": "Utilizează link-uri fizice", + "allowPrivateAddress": "Permite adrese private", + "allowPrivateAddressHint": "Necesar atunci când clientul rulează pe rețeaua locală sau pe aceeași mașină.", + "passwordBrief": "Stocat criptat.", + "apiKeyBrief": "Găsit în SABnzbd sub Config > General. Stocat criptat.", + "useHardlinksBrief": "Importați fără a folosi discul de două ori. Zbați înapoi la o copie între sistemele de fișiere." + }, + "mappings": { + "title": "Mapări ale traiectoriei", + "hint": "Tradu căile pe care rapoartele clientului le pot deschide în trasee. Necesar atunci când cele două rulează în containere separate.", + "add": "Adauga mapare", + "remove": "Elimină maparea", + "remotePath": "Cale client", + "localPath": "Cale BookOrbit", + "brief": "Necesar. Declară directorul BookOrbit poate importa din; atunci când clientul vede aceleași fișiere în aceleași căi, mapează directorul de descărcări către sine.", + "identityExample": "Același sistem de fișiere? Utilizați aceeași cale pe ambele părți, de exemplu /download-uri în stânga și /download-uri în dreapta." + }, + "hardlink": { + "test": "Testează hardlink", + "checking": "Verificare...", + "works": "Aici lucrează legături delicate: importurile nu vor utiliza discul de două ori.", + "unavailable": "Legăturile fizice nu sunt disponibile aici: importurile vor copia folosind spaţiul de două ori.", + "link_refused": "Acest sistem de fişiere a refuzat link-ul ({code}): importurile vor copia, folosind spaţiul de două ori.", + "download_dir_unwritable": "BookOrbit nu poate scrie în directorul de descărcare ({code}), deci nu a putut fi testată conexiunea dificilă.", + "localMissing": "BookOrbit nu poate vedea această cale.", + "dockMissing": "Dosarul Book Dock nu poate fi citit." + }, + "reconciliation": { + "action": "Reconciliere", + "clean": "Fiecare element deținut de client corespunde unei încercări reținute de descărcare BookOrbit.", + "unsupported": "Acest client nu poate enumera elementele după marcajul de proprietate BookOrbit. Pentru Deluge, activați plugin-ul Etichetă; pentru Transmisiune, configurați un dosar de categorii.", + "truncated": "Clientul a returnat peste 1000 de obiecte deținute. Rezolvați intrările vizibile, apoi reconciliați din nou.", + "orphan": "Nici o încercare reţinută de BookOrbit nu deţine acest element al clientului.", + "failedAttempt": "Clientul încă deține acest element, dar încercarea lui \"{title}\" este marcată ca eșuată.", + "missing": "Această încercare {status} nu mai este prezentă în clientul de descărcare.", + "adopt": "Atașează la {title}", + "adopted": "A atașat clientului articolul la {title}", + "remove": "Elimină din client", + "removed": "S-a eliminat articolul orfan al clientului", + "removeTitle": "Eliminați acest obiect orfan?", + "removeDescription": "{name} este eliminat din clientul de descărcare. Fișierele descărcate sunt păstrate.", + "notOrphan": "Acea piesă a clientului este încă atașată la o încercare de descărcare BookOrbit.", + "notAdoptable": "Acest element al clientului sau încercarea eșuată s-a schimbat și nu mai poate fi atașat. Reconciliați din nou." + }, + "errors": { + "loadFailed": "Clienții nu au putut descărca", + "saveFailed": "Nu s-a putut salva acest client", + "deleteFailed": "Nu s-a putut elimina acest client", + "testFailed": "Nu s-a putut ajunge la acel client", + "nameAndUrlRequired": "Un nume și un URL de bază sunt necesare", + "nameTaken": "Un client de descărcare cu acest nume există deja", + "urlUnsafe": "Acea adresă URL de bază nu a putut fi atinsă. Verifică adresa și folosește http sau https.", + "urlPrivate": "Această adresă este pe o rețea privată sau locală. Activează \"Permite adrese private\" dacă clientul rulează acolo.", + "encryptionKeyMissing": "Setați BOOK_REQUEST_ENCRYPTION_KEY înainte de a salva o acreditare a clientului. Generați unul cu: openssl rand -hex 32", + "encryptionKeyChanged": "Acreditările clientului stocate nu au putut fi citite. BOOK_REQUEST_ENCRYPTION_KEY s-ar putea să se fi schimbat de când a fost salvat.", + "pathNotAbsolute": "Cartografierea căii trebuie să folosească căi absolute pe ambele feţe", + "nameRequired": "Dă un nume acestui client.", + "urlRequired": "Introduceți adresa BookOrbit pentru a ajunge la acest client.", + "mappingRequired": "Adăugați cel puțin o cartografiere a căilor, astfel încât BookOrbit să știe din ce director se poate importa.", + "apiKeyRequired": "Introduceți cheia API SABnzbd din Config > General." + }, + "encryptionKeyMissing": "BOOK_REQUEST_ENCRYPTION_KEY nu este setat, astfel încât acreditarea clientului nu poate fi salvată. Generați una cu: openssl rand -hex 32", + "confirmDelete": { + "title": "Eliminați acest client de descărcare?", + "description": "{name}adresa și acreditările stocate sunt șterse, iar cererile de descărcare de acolo nu mai sunt actualizate. Dezactivați-o în schimb pentru a păstra detaliile.", + "confirm": "Elimină pasagerul" + }, + "indexers": { + "title": "Fluxuri directe", + "hint": "Conectaţi un flux individual de Torznab pentru torrente sau Newznab pentru lansări Usenet.", + "allDisabled": "Fiecare sursă de mai jos este oprită, astfel încât nici o cerere de căutare nu va găsi nimic. Opriți cel puțin o întoarcere.", + "loading": "Se încarcă indexele...", + "empty": { + "title": "Nicio sursă încă", + "body": "BookOrbit nu oferă nici o sursă proprie, astfel încât o căutare de cereri nu găsește nimic până când adaugi una. Alege configurația care se potrivește indexării tale.", + "bodyOneWay": "BookOrbit nu oferă nici o sursă proprie, astfel încât o cerere de căutare nu găsește nimic până nu adăugați una.", + "responsibility": "Ce sursă adaugi indici este responsabilitatea ta.", + "prowlarrTitle": "Conectează Prowlarr", + "prowlarrBody": "Administreaza mai multe torente si indici Usenet printr-o singura conexiune.", + "recommended": "Recomandat", + "pluginTitle": "Instalează un plugin", + "pluginBody": "Un fișier care învață BookOrbit să caute un anumit site. Îl furnizați, apoi completați setările.", + "torznabTitle": "Adaugă un indexer Torznab", + "torznabBody": "Aruncați spre un Prowlarr, Jackett sau NZBHydra vă hrănesc deja cu unu per hrană.", + "builtInTitle": "Adaugă un indexer", + "builtInBody": "Îndreptați spre un feed de la Torznab sau Newznab pe care îl utilizați deja. O configurație per furaj." + }, + "add": "Adaugă indexare", + "edit": "Editare indexare", + "delete": "Șterge {name}", + "none": "Nici un indexer încă.", + "disabled": "Dezactivat", + "test": "Testare conexiune", + "testSaveFirst": "Salvați modificările înainte de testare", + "testOk": "Conectat la {name}", + "toggleAria": "Căutare cu {name}", + "enabledNotice": "{name} va fi căutat", + "disabledNotice": "{name} nu va fi căutat", + "lastTestOk": "Ultimul test {time}: conectat", + "lastTestFailed": "Ultimul test {time}: {error}", + "saved": "Indexator salvat", + "deleted": "Sursă ștearsă", + "unavailable": "Această instalare nu are tipul de indexer{type}. Modificați tipul sau ștergeți plugin-ul și salvați configurația.", + "pluginFailed": "Plugin-ul în \"{directory}\" nu s-a încărcat: {reason}", + "sources": { + "title": "Surse", + "hint": "Totul poate căuta, grupat după conexiune.", + "add": "Adaugă sursă", + "prowlarr": "Conectează Prowlarr", + "prowlarrHint": "Gestionează mai multe torente și indexări Usenet împreună.", + "direct": "Adaugă Torznab sau Newznab", + "directHint": "Conectează direct un flux compatibil.", + "plugin": "Instalează un plugin", + "pluginHint": "Adaugă o sursă specializată.", + "activeSummary": "{count, plural, one {# sursă activă} other {# surse active} few {# surse active}}: {torrent} torrent, {usenet} Usenet, {direct} direct" + }, + "network": { + "title": "Rețea avansată", + "hint": "Necesar numai atunci când calea implicită către această sursă nu funcționează. Ceea ce este permis nu se schimbă: indiferent de adresa la care s-a ajuns, se verifică în același mod.", + "resolvers": "Servere DNS", + "proxyUrl": "URL proxy", + "proxyHint": "Un proxy http sau https pentru a trimite cererile sursei prin acesta. SOCKS nu este acceptat.", + "brief": "Necesar numai atunci când calea implicită către această sursă nu funcționează.", + "resolversBrief": "Separat prin virgulă. Folosit în loc de sistemul rezolvă doar pentru această sursă; necompletat utilizează sistemul.", + "proxyBrief": "Un proxy http sau https pentru această sursă. SOCKS nu este acceptat." + }, + "types": { + "torznab": "Torznab (Jackett, Prowlarr, NZBHydra)", + "newznab": "Newznab" + }, + "fields": { + "name": "Nume", + "type": "Tipul indexului", + "baseUrl": "URL de bază", + "baseUrlHint": { + "torznab": "URL-ul fluxului de la Torznab, fără şirul de interogări. Jackett îl arată pe fiecare indexer ca \"Feed-ul Torznab\".", + "newznab": "URL-ul site-ului Newznab sau obiectivul API, fără o interogare de căutare." + }, + "credential": { + "apiKey": "Cheie API", + "sessionId": "ID sesiune" + }, + "credentialKeep": "Lăsați necompletat pentru a păstra acreditările stocate", + "credentialClear": "Curăță", + "credentialKeepAction": "Păstrați", + "credentialWillClear": "Acreditările stocate sunt eliminate atunci când salvați", + "enabled": "Activat", + "allowPrivateAddress": "Permite adrese private", + "credentialBrief": "Stocat criptat.", + "allowPrivateAddressBrief": "Oprit în mod implicit. Este necesar doar atunci când sursa este în rețeaua dvs. locală.", + "searchByIsbn": "Căutare după ISBN", + "searchByIsbnBrief": "In mod implicit. Dezactivați dacă această sursă returnează cartea greșită pentru un ISBN exact, și va fi căutat după titlu și autor în schimb." + }, + "color": { + "label": "Culoare", + "hint": "Marchează această sursă la fiecare eliberare pe care o returnează, astfel încât să poți vedea de unde a venit un rezultat înainte de a-i citi numele. Protocoalele de livrare îşi păstrează propriile culori, motiv pentru care aceste culori nu sunt oferite aici.", + "none": "Nici o culoare", + "options": { + "blue": "Albastru", + "indigo": "Indigo", + "purple": "Violet", + "pink": "Roz", + "red": "Roșu", + "orange": "Portocaliu", + "yellow": "Galben", + "lime": "Verde-Deschis", + "green": "Verde", + "teal": "Turcoaz" + } + }, + "mediaKinds": { + "label": "Caută această sursă pentru", + "hint": "Oprește un mediu despre care nu merită să te întrebi. Un tracker audio doar în spatele unui proxy general încă spune că poartă totul, iar căutarea după cărți electronice costă o solicitare pentru fiecare căutare.", + "notCarried": "Această sursă nu o are." + }, + "categories": { + "title": "Categorii", + "brief": "Numerele categoriei indexului, separate prin virgule." + }, + "settings": { + "restoreDefault": "Restabilire valori implicite" + }, + "seeding": { + "applyTracker": "Aplică obiectivele seed-ului trackerului", + "applyTrackerBrief": "Când o valoare manuală este goală, folosește un obiectiv valid raportat de tracker. Atunci când aceasta este dezactivată, valorile necompletate utilizează valorile implicite ale clientului. Valorile manuale se aplică în continuare.", + "ratio": "Rata seed-ului", + "ratioBrief": "O zecimală pozitivă. Ordinul moştenește de la tracker sau client.", + "time": "Timp seed-ului (minute)", + "timeBrief": "Un număr întreg pozitiv. Luminos moştenește de la tracker sau client.", + "clientSupport": "qBittorrent acceptă raportul și timpul total seed. Doar raportul de acceptare a delugului și transmisiei. Regulile globale ale clientului și orice limită este atinsă mai întâi pot opri semințele, astfel încât aceste valori nu garantează că fiecare trasor minim este respectat.", + "futureGrabs": "Modificările se aplică în cazul viitoarelor apucări. Torentele existente sau adoptate pot menține limite specifice pentru clienți. Dezactivarea căderii trackerului face ca clientul să rămână activ; nu înseamnă seeding nelimitat.", + "reset": "Resetați setările de seeding", + "summary": { + "title": "Rezumat de politică", + "ratio": "Raport", + "time": "Timp seed-ului", + "manual": "Manual: {value}", + "tracker": "Tracker fallback", + "client": "Client implicit" + }, + "errors": { + "ratio": "Introduceți un număr finit mai mare decât zero sau lăsați necompletat.", + "minutes": "Introduceți un număr întreg de la 1 la 2,147,483,647, sau lăsați acest gol." + } + }, + "confirmDelete": { + "title": "Ștergeți această sursă?", + "description": "{name}adresa, setările și acreditările stocate sunt șterse. Dezactivați-o pentru a opri căutarea fără a le pierde.", + "confirm": "Șterge sursa" + }, + "errors": { + "loadFailed": "Nu s-au putut încărca indexările", + "saveFailed": "Nu s-a putut salva indexul", + "deleteFailed": "Nu s-a putut șterge acea sursă", + "testFailed": "Nu s-a putut atinge indexul", + "nameAndUrlRequired": "Un nume și un URL de bază sunt necesare", + "nameTaken": "Un index cu acest nume există deja", + "urlUnsafe": "Acea adresă URL de bază nu a putut fi atinsă. Verifică adresa și folosește http sau https.", + "urlPrivate": "Această adresă este pe o rețea privată sau locală. Activează \"Permite adrese private\" dacă indexul rulează acolo.", + "credentialRequired": "Acea indexare nevoie de o acreditare înainte de a putea fi utilizată", + "invalidSettings": "Una sau mai multe setări sursă sunt invalide. Examinați opțiunile disponibile.", + "nameRequired": "Dă un nume acestui index.", + "urlRequired": "Introdu adresa pe care trebuie să o cauti." + }, + "editName": "Editare {name}", + "editorDescription": "Setări pentru acest index.", + "chooseType": "Alege tipul de indexare", + "chooseTypeHint": "Alege unde ar trebui să caute BookOrbit. Formularul apoi întreabă doar ce are nevoie acea sursă.", + "builtIn": "Construit în", + "plugin": "Plugin", + "typeDescriptions": { + "torznab": "Prowlarr sau NZBHydra. Foloseşte categorii şi obiective pentru seminţe.", + "newznab": "Un index Usenet compatibil cu Newznab. Folosește categoriile și necesită o cheie API." + }, + "plugins": { + "title": "Extensii", + "hint": "Un site BookOrbit poate căuta, adăugat ca un singur fișier plugin.", + "directoryLink": "Răsfoiți plugin-urile librăriei deschise", + "none": "Niciun plugin instalat. Instalați unul pentru a căuta un site protocoalele încorporate nu se acoperă.", + "install": "Instalare plugin", + "installed": "{label} instalat.", + "installFailed": "Acest plugin nu a putut fi instalat.", + "inspectFailed": "Acest fișier nu a putut fi citit ca un plugin.", + "removeAction": "Ștergere plugin", + "removed": "S-a șters {type} și sursele sale.", + "removeFailed": "Acel plugin nu a putut fi șters.", + "confirmRemove": "Ștergeți plugin-ul {label}?", + "replaces": "Aceasta înlocuiește plugin-ul {type} deja instalat.", + "restartRequired": "Repornește BookOrbit pentru ca modificarea plugin-ului să aibă efect.", + "confirmInstall": "Instalare plugin", + "configure": "Configurare", + "notSetUp": "Nu a fost configurat încă", + "brokenTitle": "Un plugin nu s-a încărcat", + "managedHint": "Instalat pe acest server. Actualizarea înlocuiește codul. Ștergerea permanentă elimină plugin-ul și fiecare sursă de acest tip.", + "missingHint": "Fișierul plugin-ului a dispărut deja. Ștergeți intrarea acestui plugin pentru a elimina toate sursele rămase, setările și acreditările stocate pentru tipul său.", + "removeWarning": "{count, plural, one {# setările și acreditările salvate vor fi șterse definitiv cu acest plugin.} other {# sursele şi setările şi acreditările lor salvate vor fi şterse definitiv cu acest plugin.} few {# sursele şi setările şi acreditările lor salvate vor fi şterse definitiv cu acest plugin.}}", + "configureAria": "Configurați {label}", + "usedBy": "{count, plural, one {folosit de # sursă} other {folosit de # surse} few {folosit de # surse}}", + "unused": "nicio sursă nu o folosește încă", + "update": "Actualizare plugin", + "checkUpdates": "Verifică pentru actualizări", + "updateCheckComplete": "Verificarea actualizării plugin-ului este completă.", + "updateCheckFailed": "Nu s-au putut verifica actualizările plugin-urilor.", + "updateInspectFailed": "Actualizarea plugin-ului publicat nu a putut fi verificată.", + "reviewUpdate": "Revizuiește actualizarea", + "updated": "Actualizat {label} la {version}.", + "autoUpdate": "Instalează automat actualizările semnate", + "autoUpdateFailed": "Nu s-au putut schimba actualizările automate pentru acest plugin.", + "installedVersion": "Versiunea instalată", + "updateChannel": "Canal de actualizare semnat", + "signatureVerified": "Sursa descărcată se potrivește cu semnătura editorului 25519.", + "updateStates": { + "unsupported": "Actualizări manuale", + "unchecked": "Încă nu a fost verificat", + "current": "Actualizare actualizată", + "available": "{version} versiune disponibilă", + "custom": "Construcție personalizată", + "failed": "Verificarea actualizării a eșuat" + }, + "wrongType": "Acest fișier este {found} plugin, nu {expected}.", + "replaceTitle": "Înlocuiți acest plugin?", + "replace": "Înlocuiește plugin-ul", + "reviewTitle": "Instalați acest plugin?", + "reviewDescription": "Ceea ce declară fișierul despre sine și codul pe care îl va executa.", + "declares": "Ce declară", + "source": "Ce va rula", + "type": "Tip", + "version": "Versiune", + "versionLabel": "Versiune Plugin {version}", + "versionUnknown": "Versiune de plugin necunoscută", + "versionUnknownValue": "Necunoscut", + "media": "Media", + "credential": "Acreditări", + "credentialRequired": "Necesar", + "credentialNone": "Niciunul", + "trustWarning": "Un plugin rulează în interiorul BookOrbit cu acces la baza de date, la fișierele bibliotecii și la cheia de criptare. Instalează unul doar de la o sursă de încredere, și citește-l mai întâi.", + "sectionTitle": "Plugin", + "removeUnusedWarning": "Plugin-ul va fi șters permanent de pe server." + }, + "posture": "BookOrbit nu furnizează sau aproba surse de indexare. Fiecare sursă de aici este una pe care ai configurat-o și ești responsabil pentru ceea ce cauți și descarci prin ea." + }, + "managers": { + "add": "Adaugă Prowlarr", + "loading": "Se încarcă conexiunile prolarr...", + "managedSources": "{count, plural, one {# indexer gestionat} other {# indexare gestionată} few {# indexare gestionată}}", + "protocol": { + "torrent": "Torent", + "usenet": "Usenet" + }, + "saved": "Setări Prowlarr salvate", + "deleted": "Prolarr șters", + "synced": "Surse Prowlarr sincronizate", + "test": "Testare conexiune", + "sync": "Synchronize", + "testOk": "Conectat la Prowlarr {version}. Găsit {count,plural,one{# sursă} few{# surse} other{# surse}}.", + "unavailable": "Unavailable", + "priority": "Prowlarr priority {priority}", + "toggleSource": "Căutare cu {name}", + "changeColor": "Schimbă culoarea pentru {name}", + "sourceColor": "Culoare sursă", + "sourceColorHint": "Marcajele sunt returnate de {name} prin intermediul BookOrbit.", + "noSources": "Nu au fost descoperite torente compatibile sau indexări Usenet. Sincronizați după adăugarea unuia în Prowlarr.", + "unknown": "Necunoscut", + "editorDescription": "Setările de sincronizare a conexiunii și sursei pentru Prowlarr.", + "confirmDelete": "Eliminați această conexiune Prowlarr?", + "deleteConsequence": "Conexiunea, cheia API criptată și toate sursele sincronizate sunt șterse. Descărcările deja în curs de desfășurare nu sunt eliminate.", + "fields": { + "name": "Nume", + "color": "Culoare conexiune", + "colorHint": "Marchează această conexiune Prowlarr aici. Fiecare indexer gestionat are propria sa culoare de lansare.", + "baseUrl": "URL de bază", + "apiKey": "Cheie API", + "apiKeyHint": "Găsit în Prowlarr în Setări > General > Securitate. Stocat criptat.", + "syncNew": "Activează sursele nou descoperite", + "syncNewHint": "Indexările noi pentru Prowlarr pot fi căutate imediat. Sursele pe care le opriți aici rămân oprite după sincronizări ulterioare.", + "autoExpand": "Reîncercați fără filtre categorii", + "autoExpandHint": "Când un indexer răspunde cu succes fără rezultate, reîncercați fără filtrul de categorii de cărți BookOrbit.", + "inheritSeedLimits": "Folosește limitele de seed Prowlarr", + "inheritSeedLimitsHint": "Aplică raportul seed-ului pentru fiecare indexare configurată a torentului și timpul seed-ului pentru descărcările viitoare atunci când nu există nicio suprascriere BookOrbit.", + "perIndexerTimeout": "Expirare indexare (secunde)", + "perIndexerTimeoutHint": "Cât timp poate dura o sursă sincronizată. Indexarea lentă susţinută de Solverr poate necesita mai mult timp.", + "overallBudget": "Bugetul Prowlarr (secunde)", + "overallBudgetHint": "Timpul maxim al ceasului peretelui partajat de toate sursele din această conexiune Prowlarr în timpul unei căutări." + }, + "errors": { + "load": "Nu s-au putut încărca managerii de indexare", + "nameTaken": "Există deja o conexiune Prowlarr cu acest nume", + "urlPrivate": "Această adresă este pe o rețea privată sau locală. Activează \"Permite adrese private\" dacă Prowlarr rulează acolo.", + "required": "Introduceți un nume, o adresă URL de bază și cheia API.", + "save": "Nu s-a putut salva conexiunea Prowlarr", + "delete": "Nu s-a putut elimina conexiunea Prowlarr", + "test": "Nu s-a putut ajunge la Prowlarr", + "sync": "Nu s-au putut sincroniza sursele Prowlarr", + "source": "Nu s-a putut schimba acea sursă" + } + }, + "automation": { + "title": "Automatizare", + "pipeline": "Când o descărcare se termină, trece prin Docul Cărții, unde titlul și autorul sunt citite astfel încât fișierul să poată fi numit și depus corect, și apoi se mută singuri în biblioteca de destinație a cererii. Se oprește doar pentru dvs. dacă verificarea importurilor este activată și fișierul nu se potrivește cu ceea ce a fost solicitat.", + "groupDownloads": "Descărcări automate", + "groupImports": "Verificări de import", + "stateOn": "Activat", + "stateOff": "Dezactivat", + "summaryOff": "Fiecare cerere aprobată așteaptă ca o persoană să deschidă selectorul de lansare și să aleagă.", + "summaryNoRetry": "O cerere aprobată descarcă cea mai bună versiune pe cont propriu, atâta timp cât aceasta eliberează scoruri {score} sau mai mult. Dacă eșuează, cererea așteaptă o persoană.", + "summaryRetry": "O cerere aprobată descarcă cea mai bună versiune pe cont propriu, atâta timp cât aceasta emite punctaje {score} sau mai multe. {count, plural, one {Este singura versiune încercată înainte ca cererea să aștepte o persoană.} other {Până la # versiuni sunt încercate înainte ca solicitarea să aștepte o persoană.} few {Până la # versiuni sunt încercate înainte ca solicitarea să aștepte o persoană.}}", + "howDownloads": "Cum funcționează descărcările automate", + "howImports": "Cum funcționează verificarea importurilor", + "minScoreShort": "Nimic de mai jos nu este descărcat nesupravegheat.", + "autoRetryShort": "O descărcare eșuată cade în cursa runner-up.", + "maxAttemptsShort": "Prima încercare şi fiecare reîncercare contează în acest sens.", + "verificationShort": "Sub asta, fișierul așteaptă în panoul de carte pentru recenzie.", + "loading": "Se încarcă setările automate...", + "loadFailed": "Nu s-au putut încărca setările de automatizare", + "saveFailed": "Nu s-a putut salva această setare", + "saved": "Setări automatizare salvate", + "autoGrab": "Descarcă cea mai bună versiune automat", + "noSourcesConfigured": "Nu sunt setate surse de căutare, deci nimic nu va fi căutat și fiecare solicitare aprobată va fi trimisă drept înapoi. Adăugați una la surse.", + "noSourcesEnabled": "Fiecare sursă de căutare este oprită, astfel încât nimic nu va fi căutat și fiecare cerere aprobată va fi trimisă înapoi. Porniți unul înapoi sub surse.", + "autoGrabHint": "Atunci când o cerere este aprobată, cea mai mare versiune de punctaj merge direct la clientul de descărcare și nimeni nu trebuie să deschidă selectorul de versiuni. Dezactivați în mod implicit, deoarece este greu să potriviți o carte la o versiune corectă și o persoană este de obicei judecătorul mai bun.", + "autoGrabEnabled": "Descărcările automate sunt activate", + "autoGrabDisabled": "Descărcările automate sunt dezactivate", + "minScore": "Scorul minim pentru descărcarea automată", + "minScoreHint": "Un scoruri de lansare sub acest lucru nu este descărcat niciodată automat. Scorul rulează la 100 și cât de bine este partida titlului și autorului cel mai mult din unul, cu format, dimensiune fișiere, seedere și prioritate sursă în spatele acestuia. Dacă nimic nu obţine rezultate suficient de mari, cererea aşteaptă ca cineva să aleagă o eliberare de mână şi spune de ce s-a oprit.", + "minScoreHintV2": "Scorul unei versiuni sub acest lucru nu este niciodată descărcat automat. Scorurile rulează la 100. Titlul și relevanța autorului contribuie cel mai mult, fiind urmate de formatul și dimensiunea plauzibilă a fișierului, cu o stare de sănătate și freeleech utilizate atunci când o sursă le oferă. Dacă nimic nu obţine rezultate suficient de mari, cererea aşteaptă ca cineva să aleagă o eliberare de mână şi spune de ce s-a oprit.", + "autoRetry": "Încercați următoarea versiune după un eșec", + "autoRetryHint": "Când o descărcare automată eșuează, cea mai bună versiune este încercată în loc să renunțe. Acesta acoperă o sursă care refuză să înmâneze fișierul și o descărcare care decedează parțial. Se aplică numai la eliberarea BookOrbit: un aprobator ales de mână rămâne eşuat şi îi aşteaptă.", + "maxAttempts": "Încercări per cerere", + "maxAttemptsHint": "Fiecare versiune de BookOrbit trimite către un client de descărcare pentru această cerere contează către această limită: prima încercare automată, ceva a încercat după ce o sursă a fost refuzată și ceva a încercat după o descărcare a eșuat. Setaţi-l la 1 pentru a se opri după prima încercare.", + "autoSearch": "Căutați solicitări pentru care nu s-a găsit nimic", + "autoSearchShort": "O cerere aprobată, nimic potrivit nu este căutat din nou mai târziu.", + "autoSearchHint": "O cerere este căutată o dată când este aprobată. Dacă nu apare nimic destul de bun, sau cartea nu a fost încă publicată, această cerere așteaptă să fie aprobată și nimic nu o mai caută. Porniți și verificați în continuare pe cont propriu, astfel încât o versiune publicată luna viitoare este încă găsită. Se execută doar în timp ce sunt activate descărcările automate, deoarece o căutare nu are nimic de-a face cu ceea ce descoperă costă doar traficul surselor tale.", + "autoSearchEnabledToast": "Solicitările vor fi căutate din nou", + "autoSearchDisabledToast": "Solicitările vor fi căutate numai când sunt aprobate", + "autoSearchInterval": "Caută din nou după", + "autoSearchIntervalShort": "Numărat din ultima căutare şi întins ca o cerere veche.", + "autoSearchIntervalHint": "Cât de mult să aștepți înainte de a căuta din nou o cerere pentru care nu s-a găsit nimic. Așteptarea se dublează pentru fiecare săptămână o cerere a așteptat, de până la opt ori mai mult decât această cifră, astfel încât o lungă perioadă de aşteptare de solicitări vechi să nu se transforme în trafic zilnic împotriva fiecărei surse pe care o aveţi.", + "autoSearchIntervalUnit": "ore", + "autoSearchMaxAge": "Nu mai avea grijă", + "autoSearchMaxAgeShort": "Numărat din momentul în care a fost adresată cererea.", + "autoSearchMaxAgeHint": "O solicitare mai veche decât cea lăsată singură. Acesta rămâne aprobat şi poate avea încă o lansare aleasă manual în orice moment; nimic nu mai caută automat acest lucru.", + "autoSearchMaxAgeUnit": "zile", + "verify": "Verificarea importurilor în raport cu cererea", + "verifyOnHint": "Fiecare fișier descărcat este comparat cu cartea care a fost solicitată înainte de a fi depusă. Orice lucru care nu se potrivește destul de mult așteaptă în Docul Cărții pentru ca cineva să se uite la el.", + "verifyOffHint": "Nu există nimic pentru revizuire. Fiecare descărcare este înregistrată de îndată ce titlul și autorul său au fost citite, astfel încât în biblioteca ta să fie eliberate fără avertisment un pământ indus în eroare.", + "verificationEnabled": "Verificarea importului este activată", + "verificationDisabled": "Verificarea importurilor este dezactivată. Descărcările vor fi înregistrate fără recenzii", + "verification": "Pragul de verificare", + "verificationHint": "Cât de aproape trebuie să se potrivească unui fișier descărcat înainte de a fi depus pe cont propriu. Orice de mai jos asteapta in panoul de carte pentru recenzie. Acest lucru este valabil pentru fiecare cerere, inclusiv eliberează pe cineva ales de mână.", + "destinations": "Destinații implicite", + "destinationsHint": "Unde o carte este înregistrată atunci când nimeni nu a ales o bibliotecă pentru ea. Există un implicit, pe mediu, pentru că mediul este ales înainte ca ceva să fie căutat şi este singurul lucru cunoscut despre fişierul care este prea devreme. O destinație pe care solicitantul a fixat-o, sau una aleasă la aprobare, este utilizată înaintea acestora.", + "destinationUnset": "Fără valori implicite", + "destinationHiddenLibrary": "O bibliotecă pe care nu o poți vedea", + "destinationHiddenFolder": "Un dosar pe care nu îl puteți vedea", + "selectFolder": "Alege un dosar", + "destinationLibraryFor": "Biblioteca implicită pentru {medium} cereri", + "destinationFolderFor": "Dosar implicit pentru {medium} cereri", + "destinationClearFor": "Șterge destinația implicită pentru cererile {medium}", + "importFormats": "Formatele de import", + "importFormatsHint": "Ce să păstrăm când o singură versiune poartă aceeași carte în mai multe formate, cum ar fi un EPUB și un PDF împreună. Acest lucru nu se aplică niciodată unui audiobook multipartit, deoarece piesele sale sunt o singură carte şi nu ediţii concurente.", + "importFormatsOption": { + "all": "Toate disponibile", + "allHint": "Păstraţi fiecare format care a venit cu versiunea.", + "preferred": "Doar preferate", + "preferredHint": "Păstrați numai formatul care se află cel mai mare în formatul prioritar al bibliotecii de destinație." + } + }, + "profiles": { + "title": "Profil de lansare", + "effectiveRule": "Regulă descărcare automată: mai întâi potrivire de nivel, apoi cel mai mare scor (minim {score}).", + "summary": "Lansările din afara profilului rămân disponibile pentru selecția manuală. Fără nivele, eliberează numai după scor.", + "howProfiles": "Cum funcționează profilurile de lansare", + "hint": "O versiune se potrivește cu nivelurile de sus în jos și ia primul nivel pe care îl potrivește. Descărcările automate iau în considerare numai lansările în trepte atunci când există un profil. Selecţia manuală include în continuare lansări fără tir după rezultatele nivelului.", + "bitrateNote": "Un podea de biţi întoarce o versiune care spune una mai mică. Majoritatea surselor măsoară foarte puţine din eliberările lor, şi o eliberare nemăsurată nu este întoarsă, deci aceasta se îngustează mai puţin decât pare.", + "empty": "Niciun profil. Lansările pentru acest mediu sunt clasificate după punctaj.", + "addTier": "Adaugă nivel", + "removeTier": "Elimină acest nivel", + "moveUp": "Mută acest nivel în sus", + "moveDown": "Mută acest nivel în jos", + "tierName": "Denumire nivel", + "newTier": "{position} Nivel", + "formats": "Formate", + "files": "Fișiere", + "anyLayout": "Oricare", + "minBitrate": "Min kbps", + "minSeeders": "Seederi minori", + "torrentConditions": "Condiții torrent", + "nonTorrentConditions": "Condițiile seeder, freeleech și VIP nu se aplică surselor selectate.", + "incompatibleTorrentConditions": "Acest nivel non-torent încă a salvat condițiile de torrent. Ele pot fi ignorate sau pot împiedica nivelul să se potrivească.", + "removeTorrentConditions": "Elimină condițiile torentului", + "channels": "Canale", + "anyChannels": "Oricare", + "mono": "Mono", + "stereo": "Stereo", + "maxSize": "MB maxim", + "languages": "Limbi", + "indexers": "Surse", + "multiSelectHint": "Alegeţi unul sau mai multe sau lăsaţi-l gol pentru a permite orice", + "multiSelectAny": "Oricare" + }, + "health": { + "ok": "Conectat", + "failed": "Inaccesibil", + "untested": "Niciodată testat", + "disabled": "Dezactivat", + "testedAt": "testat {time}", + "failedAt": "{time} a eșuat" + }, + "categoryLabel": "categoria {category}", + "priorityLabel": "prioritate {priority}", + "editClientName": "Editare {name}", + "sections": { + "connection": "Conexiune", + "search": "Ce trebuie căutat", + "access": "Acces", + "seeding": "Seeding", + "availability": "Disponibilitate", + "behaviour": "Comportament" + }, + "continueWithType": "Continuă", + "external": "Extern", + "editorDescription": "Setări pentru acest client descărcat.", + "chooseClientType": "Alegeți un tip de client", + "chooseClientTypeHint": "Alegeți la ce program se descarcă mâinile BookOrbit.", + "clientTypeDescriptions": { + "qbittorrent": "Propriul tău qBittorrent. Necesită o adresă și un cont.", + "transmission": "Propria ta transmisie. Nu are categorii, astfel încât categoria să devină un subdosar al directorului de descărcare.", + "deluge": "Propria dvs. Deluge. Conectați-vă cu parola UI web; categoria are nevoie de eticheta plugin-ul activat.", + "nzbget": "Propriul dvs. NZBGet. BookOrbit trimite fişiere NZB prin API-ul JSON-RPC.", + "sabnzbd": "Propriul dvs. SABnzbd. BookOrbit trimite fişiere NZB folosind cheia sa API." + }, + "searchHealth": { + "failingOnce": "Ultima căutare a eșuat", + "failingStreak": "{count} căutări au eșuat la rând", + "lastSearchAt": "ultimul {time} căutat" + } } }, "nav": { "title": "Setări", "ariaLabel": "Secţiuni setări", + "breadcrumbLabel": "Breadcrumb", "searchPlaceholder": "Setări căutare", "clearSearch": "Ștergeți căutarea", "noResults": "Nicio setare nu corespunde cu {query}.", "shortcutHint": "Apăsați {shortcut} pentru a sări la orice setare", + "status": { + "scanning": "Scanare" + }, "groups": { "you": "Tu", "library": "Bibliotecă", "devices": "Dispozitive și sincronizare", + "accounts": "Conturi", "server": "Server" }, "descriptions": { @@ -2397,9 +4214,69 @@ "oidc": "Furnizor unic, cereri şi provizioane.", "serverFonts": "Fonturi instalate pentru fiecare cititor de pe acest server.", "bookDock": "Acţiuni rapide afişate în paginile de carte.", - "auditLog": "Cine a schimbat ce și când." + "auditLog": "Cine a schimbat ce și când.", + "requests": "Surse, descarcă clienţi şi ce se întâmplă cu o carte după ce descarcă.", + "readerTts": "Setări implicite pentru voce, viteză și narațiune.", + "adminTts": "Motoare Text-to-speech disponibile pentru fiecare cititor de pe acest server." }, - "backToApp": "Înapoi la bibliotecă" + "backToApp": "Înapoi la bibliotecă", + "pageDescriptions": { + "profile": "Numele tău, fotografia, fusul orar și urmărirea realizărilor, plus parola ta și furnizorii de autentificare asociați acestui cont.", + "appearance-theme": "Alegeți unde sunt salvate setările de aspect, apoi setați stilul, schema de culori, accentul, colțurile, luminozitatea suprafeței și modelul din spatele bibliotecii dvs.", + "appearance-book-covers": "Cum arată copertele în aplicație: arta substituentului pentru cărți fără unul, cum se potrivește sloturilor lor, coloanei vertebrale și efectelor de gloss, și coperta de pe paginile de carte.", + "appearance-icons": "Încărcați-vă propriile pictograme pentru a le utiliza alături de setul încorporat pentru biblioteci, scopuri inteligente și colecții.", + "appearance-layout": "Dimensiuni de acoperire şi spaţiere pentru grila de bibliotecă, coperta arătată pentru o serie prăbuşită şi modul în care este prezentată grila de autor.", + "appearance-behavior": "Ce deschide o carte dintr-o grilă sau listă, dacă seria se prăbuşeşte într-un singur card, şi dacă în acest cont apar Solicitări de Carte.", + "appearance-language": "Limba BookOrbit foloseste pentru meniuri, etichete si mesaje, si formatele regionale pentru date si numere.", + "reader-ebook": "Implicit pentru cititorul eBook: dacă noile cărți încep cu setările, fluxul paginii și coloanele, tema și tipografia, cum ar fi fontul, dimensiunea și spațierea.", + "reader-pdf": "Cum se deschid PDF-urile: pagină cu pagină sau o derulare continuă, ce pagină porneşte un spread pe două pagini şi zoom implicit.", + "reader-comics": "Cum citesc benzile desenate: modul de citire şi direcţia, spread-ul unic sau pe două pagini, potrivite, handlingul paginilor mari şi trecând la următoarea carte din serie.", + "reader-audio": "Viteza de pornire și volumul pentru noile ghiduri audio și cât de departe sar butoanele înapoi și sare peste cele anterioare.", + "reader-fonts": "Încarcă propriile tale fonturi pentru cititor și alege ce fonturi partajate de administratorul de server apar în el.", + "reader-general": "Unde preferințele dvs. de cititor sunt salvate și valorile implicite împărtășite de fiecare mod de citire.", + "tts": "Vocea şi viteza dumneavoastră implicită când BookOrbit citeşte o carte cu voce tare.", + "notifications": "Alegeți ce evenimente vă notifică, de la scanări terminate și metadate preiau pentru a redenumi fișiere, importuri și rezultate de Doc al cărții.", + "privacy": "Decide cât de mult din administratorii activității tale de citire pot vedea, previzualizează profilul tău partajat și verifică cine l-a vizualizat.", + "restrictions": "Limite de conținut stabilite în acest cont, cum ar fi vârstele și conținutul ascuns, și ceea ce nu conțin bibliotecile tale.", + "libraries": "Fiecare bibliotecă dintr-o privire: dosarele sale, ceea ce deține, cum este scanat și când este ultimul ran. Adăugați, editați sau rescanați bibliotecile aici.", + "metadata-providers": "Activează sau dezactivează sursele de metadate, adaugă chei API sau cookie-uri acolo unde o sursă are nevoie de ele și testează acreditările în raport cu serviciul live.", + "metadata-field-rules": "Alegeți ce furnizori completează fiecare câmp de metadate și în ce ordine, cum sunt îmbinate valorile și cum sunt colectate genurile și ID-urile furnizorului.", + "metadata-custom-fields": "Creați-vă propriile câmpuri de metadate, alegeți tipul lor și bibliotecile care le folosesc și reordonați sau arhivați.", + "metadata-score": "Decideți cât de mult contează fiecare câmp de metadate pentru scorul de completitudine afișat în fiecare carte.", + "metadata-auto-fetch": "Preia automat metadate de cărți atunci când sunt importate cărți sau lipsesc detalii, cu suprascrieri pentru fiecare bibliotecă.", + "metadata-authors": "Biografiile şi fotografiile autorului sunt preluate automat, alegeţi sursele de comandă şi decideţi autorii care se califică.", + "metadata-search-cache": "Păstrați furnizorul să răspundă, astfel încât căutările repetate să fie rapide și să funcționeze în continuare atunci când un furnizor este oprit și să controleze cât timp și cât de mult este păstrat.", + "metadata-genre-blocklist": "Valorile genului enumerate aici sunt deposedate de la rezultatele furnizorului înainte ca metadatele să fie scrise, astfel încât etichetele ca Audiobook să rămână în afara cărţilor tale.", + "metadata-reminders": "Alegeți ce câmpuri lipsă apar în paginile de carte. Acest lucru schimbă doar mementourile, nu scorurile metadata.", + "file-naming": "Tiparele de nume ale dosarelor şi fişierelor folosite atunci când BookOrbit redenumeşte cărţi pe disc, cu o previzualizare a rezultatului și ce se întâmplă când lipsește o valoare.", + "maintenance": "Gospodărirea serverelor: limita de încărcare, importurile anterioare, reconstruirea recomandărilor, completarea rezultatelor obținute și verificarea actualizărilor.", + "kobo": "Conectați cititoarele electronice Kobo, alegeți cum se sincronizează cărțile, rafturile și progresul citirii, și urmăriți activitatea recentă de sincronizare a fiecărui dispozitiv.", + "koreader": "Sincronizează progresul, citind activitatea și subliniind cu KOReader, obțineți URL-ul sincronizat și plugin-ul și gestionați dispozitivele care se conectează.", + "opds": "Activați catalogul OPDS și creați conturi astfel încât aplicațiile de citire terțe să poată naviga și descărca cărțile.", + "email": "Gestionează cărțile de adrese către care sunt trimise, cum ar fi cutiile de mesaje Kindle, stăpânește-le pe cele implicite și grupul destinatarilor pentru a le trimite simultan.", + "hardcover": "Conectează-ți contul Hardcover și alege când citești starea, progresul și evaluările sincronizează, și cum apar cărțile sincronizate acolo.", + "readwise": "Conectează-ți contul Readwise pentru a trimite automat punctele de atracție.", + "storygraph": "Conectează-ți contul StoryGraph folosind cookie-urile sesiunii de browser pentru a sincroniza progresul și starea cititului.", + "users": "Creați și gestionați conturile, rolurile, permisiunile și accesul la bibliotecă, și vedeți care conturi au nevoie de atenție.", + "account-activity": "Vezi când fiecare cont a fost ultimul activ și cum se conectează, și deschide informații despre fiecare utilizator și pentru sesiuni.", + "magic-links": "Creați link-uri partajabile care semnează pe cineva fără o parolă și revocați-le atunci când nu mai sunt necesare.", + "oidc": "Conectați un singur furnizor de semnalizare cum ar fi Keycloak, cartografiați cererile sale și decideți cum sunt create conturile noi.", + "requests": "Unde caută BookOrbit pentru cărţile cerute, care descarcă clienţi le preluează, şi ce se întâmplă după ce se termină o descărcare.", + "admin-tts": "Cititoarele de la motoarele text-to-speech pot utiliza pentru citire, vocile oferite de fiecare din ele și ordinea în care apar.", + "book-dock": "Fişierul drop Book Dock, metadata automată preluarea fişierelor noi şi scorul la care fişierele sunt finalizate în mod individual.", + "server-fonts": "Încărcaţi fonturi o dată pentru fiecare cititor de pe acest server. Fiecare cititor poate încă să ascundă oricare dintre ele.", + "audit-log": "O înregistrare de căutare cu cine a schimbat ce și când, filtratabil după eveniment, persoană, obiect și dată afectate." + } + }, + "field": { + "required": "(necesar)" + }, + "editor": { + "discardTitle": "Renunțați la modificări?", + "discardDescription": "Acest editor are schimbări care nu au fost salvate niciodată. Închide acum le aruncă înapoi.", + "discardConfirm": "Renunță la modificări", + "moreActions": "Mai multe acțiuni", + "removeQuestion": "Eliminați asta?" } }, "achievements": { @@ -2424,6 +4301,201 @@ "earned": "Câștigat ({count})", "inProgress": "În progres ({count})", "locked": "Blocat ({count})" + }, + "tiersEarnedFact": "{earned} de {total} nivel", + "loading": "Încărcarea realizărilor", + "filters": { + "label": "Filtrează realizările", + "all": "Toate", + "earned": "Câștigat", + "inProgress": "În curs", + "locked": "Blocat" + }, + "showcase": { + "label": "Evidențieri", + "latest": "Ultima deblocare", + "newToday": "{count, plural, one {# nou astăzi} other {# nou astăzi} few {# nou astăzi}}", + "secretRevealed": "Secret dezvăluit", + "categoryAndDate": "{category} · {date}", + "alsoNew": "De asemenea nou", + "openMedal": "Deschide {name}", + "emptyTitle": "Prima ta medalie așteaptă", + "emptyBody": "Terminați o carte, dați o notă sau evidențiați un pasaj și aterizați aici.", + "collection": "Colectare", + "shareOfTiers": "{percent} pentru fiecare nivel", + "tiersEarned": "{earned} de {total} de nivel câștigat", + "closest": "Aproape de deblocare", + "allInProgress": "Toate {count}", + "tierOfSet": "{tier} de {set}", + "nothingCounting": "Nimic nu contează spre o medalie încă." + }, + "shelf": { + "tiers": "{earned} / {total}", + "progressLabel": "{category} niveluri câștigate" + }, + "medal": { + "label": "{name}, {rarity}, {status}", + "tier": "{tier} Nivel", + "allTiers": "{count, plural, one {Singurul nivel} other {Toate nivelele #} few {Toate nivelele #}}", + "keepReading": "Continuă să citești", + "notStarted": "Nu a început" + }, + "progress": { + "generic": "{current} / {threshold}", + "toGo": "{count, plural, one {# pentru a merge} other {# pentru a merge} few {# pentru a merge}}" + }, + "hints": { + "howToGetIt": "Cum să îl obţii", + "readingPace": "{count, plural, one {Ai citit # oră în ultimul {days} zile.} other {Ai citit # ore în ultimul {days} zile.} few {Ai citit # ore în ultimul {days} zile.}}", + "etaDays": "{count, plural, one {Cam # zile în acest ritm.} other {Cam # de zile în acest ritm.} few {Cam # de zile în acest ritm.}}", + "etaWeeks": "{count, plural, one {Aproximativ # săptămâni în acest ritm.} other {Aproximativ # săptămâni în acest ritm.} few {Aproximativ # săptămâni în acest ritm.}}", + "etaMonths": "{count, plural, one {Cam # luni în acest ritm.} other {Cam # de luni în acest ritm.} few {Cam # de luni în acest ritm.}}", + "decadeUnread": "{count, plural, one {# carte din {decade}s aşteaptă pe rafturile tale.} other {# cărţi de pe {decade}Aşteptaţi pe rafturile tale.} few {# cărţi de pe {decade}Aşteptaţi pe rafturile tale.}}", + "centuryUnread": "{count, plural, one {# carte din {century}s aşteaptă pe rafturile tale.} other {# cărţi de pe {century}Aşteptaţi pe rafturile tale.} few {# cărţi de pe {century}Aşteptaţi pe rafturile tale.}}", + "stalled": "{title} este {percent} citit și a început cu {date}.", + "stalledNoProgress": "{title} a început pe {date}.", + "untitledBook": "O carte în curs", + "nearlyFinished": "{count,plural,one{# cartea în curs de desfăşurare este trecută {percent}.} few{# cărţile în curs de desfăşurare sunt trecute {percent}.} other{# cărţile în curs de desfăşurare sunt trecute {percent}.}}", + "unratedFinished": "{count,plural,one{# cartea pe care ați terminat-o nu are încă nicio evaluare.} few{# cărţile terminate nu au nici o evaluare încă.} other{# cărţile terminate nu au nici o evaluare încă.}}", + "shortBooks": "{count, plural, one {# rezervă sub {pages} paginile aşteaptă pe rafturile tale.} other {# cărţi sub {pages} paginile aşteaptă pe rafturile tale.} few {# cărţi sub {pages} paginile aşteaptă pe rafturile tale.}}", + "alreadyStarted": "{count,plural,one{# este deja în desfășurare.} few{# sunt deja în desfășurare.} other{# sunt deja în desfășurare.}}", + "longBooks": "{count, plural, one {# carte de {pages} paginile sau mai multe aşteaptă pe rafturile tale.} other {# cărţi de {pages} pagini sau mai multe aşteaptă pe rafturile tale.} few {# cărţi de {pages} pagini sau mai multe aşteaptă pe rafturile tale.}}", + "oldBooks": "{count, plural, one {# carte publicată înainte de {year} aşteaptă pe rafturile tale.} other {# cărţi publicate înainte de {year} aşteaptă pe rafturile tale.} few {# cărţi publicate înainte de {year} aşteaptă pe rafturile tale.}}", + "authorUnread": "{author}: {finished,plural,one{# terminat} few{# terminat} other{# terminat}}, {count,plural,one{# mai multe pe rafturi} few{# mai multe pe rafturi} other{# mai multe pe rafturi}}.", + "languageUnread": "{count, plural, one {# rezervă în {language} aşteaptă pe rafturile tale.} other {# cărţi în {language} aşteaptă pe rafturile tale.} few {# cărţi în {language} aşteaptă pe rafturile tale.}}", + "monthsRead": "{count, plural, one {Ai citit în # lună de {year} Până acum.} other {Ai citit în # luni de {year} Până acum.} few {Ai citit în # luni de {year} Până acum.}}", + "monthsLeft": "{count, plural, one {{months} a plecat.} other {{months} au plecat.} few {{months} au plecat.}}", + "noLongBook": "Nicio carte pe rafturile tale nu are {pages} pagini sau mai multe încă.", + "nothingBeforeYear": "Nimic de pe rafturile tale nu a fost publicat înainte de {year}.", + "tooFewDecades": "{count, plural, one {Rafturile tale se întinde doar pe # de decadă până acum.} other {Rafturile tale se întinde pe doar # de decenii până acum.} few {Rafturile tale se întinde pe doar # de decenii până acum.}}", + "tooFewCenturies": "{count, plural, one {Rafturile tale durează doar # secole până acum.} other {Rafturile tale durează doar # de secole până acum.} few {Rafturile tale durează doar # de secole până acum.}}", + "missedMonth": "Nu ați citit în {month}, așa că {year} nu este accesibil. Numărul începe din nou în ianuarie.", + "continueReading": "Continuă lectura", + "rateFinished": "Evaluează o carte finalizată", + "viewAuthor": "Vezi autorul", + "openBook": "Deschide {title}", + "openUntitledBook": "Carte deschisă" + }, + "sets": { + "booksFinished": "Cărți finalizate", + "pagesRead": "Pagini citite", + "hoursRead": "Ore de citit", + "longestBook": "Cea mai lungă carte terminată", + "librarySize": "Dimensiune bibliotecă", + "annotations": "Adnotări", + "booksRated": "Cărți evaluate", + "genresFinished": "Genuri terminate", + "languagesFinished": "Limbile au fost finalizate", + "readingStreak": "Lectură de lectură" + }, + "units": { + "books": { + "progress": "{current} / {threshold} cărți", + "toGo": "{count, plural, one {# cărţi pe care să le mergeţi} other {# cărţi pe care să le mergeţi} few {# cărţi pe care să le mergeţi}}" + }, + "pages": { + "progress": "{current} / {threshold} pagini", + "toGo": "{count, plural, one {# pagină pentru a merge} other {# pagini pentru a merge} few {# pagini pentru a merge}}" + }, + "hours": { + "progress": "{current} / {threshold} ore", + "toGo": "{count, plural, one {# oră pentru a merge} other {# ore pentru a merge} few {# ore pentru a merge}}" + }, + "annotations": { + "progress": "{current} / {threshold} adnotări", + "toGo": "{count, plural, one {# adnotare pentru a merge} other {# adnotări pentru a merge} few {# adnotări pentru a merge}}" + }, + "ratings": { + "progress": "{current} / {threshold} evaluări", + "toGo": "{count, plural, one {# rating pentru a merge} other {# evaluări pentru a merge} few {# evaluări pentru a merge}}" + }, + "genres": { + "progress": "{current} / {threshold} genres", + "toGo": "{count, plural, one {# gen pentru a merge} other {# genuri pentru a merge} few {# genuri pentru a merge}}" + }, + "languages": { + "progress": "{current} / {threshold} limbi", + "toGo": "{count, plural, one {# limbă pentru a merge} other {# limbi pentru a merge} few {# limbi pentru a merge}}" + }, + "days": { + "progress": "{current} / {threshold} zile", + "toGo": "{count, plural, one {# zile pentru a merge} other {# zile pentru a merge} few {# zile pentru a merge}}" + } + }, + "moments": { + "nthBook": "{number} carte a fost {title}", + "pagesAtUnlock": "{count, plural, one {# pagină} other {# pagini} few {# pagini}} când a fost deblocat", + "hoursAtUnlock": "{count, plural, one {# oră} other {# ore} few {# ore}} când a fost deblocat", + "titleWithPages": "{title}, {count, plural, one {# pagină} other {# pagini} few {# pagini}}", + "booksAtUnlock": "{count, plural, one {# rezervă} other {# cărţi} few {# cărţi}} în biblioteca ta atunci când este deblocată", + "annotationsAtUnlock": "{count, plural, one {# adnotare} other {# adnotări} few {# adnotări}} când a fost deblocat", + "ratingsAtUnlock": "{count, plural, one {# rating} other {# rating} few {# rating}} atunci când a fost deblocat", + "genresAtUnlock": "{count, plural, one {# gen} other {# genuri} few {# genuri}} când a fost deblocat", + "languagesAtUnlock": "{count, plural, one {# limbă} other {# limbi} few {# limbi}} când a fost deblocată", + "streakAtUnlock": "{count, plural, one {# zi} other {# zile} few {# zile}} consecutiv la momentul respectiv", + "longSession": "O sesiune a rulat {duration}", + "durationHours": "{hours} h {minutes} min", + "durationMinutes": "{minutes} min", + "sessionStartedAt": "O sesiune care a început la {time}", + "oneDayBook": "{title}, începeți să terminați într-o zi", + "booksInWeek": "{count, plural, one {# carte} other {# cărţi} few {# cărţi}} finalizate într-o săptămână", + "booksInMonth": "{count, plural, one {# carte} other {# cărți} few {# cărți}} finalizate în {month}", + "booksInYear": "{count, plural, one {# carte} other {# cărți} few {# cărți}} finalizate în {year}", + "wholeBookOneSession": "O carte întreagă într-o singură sesiune", + "pagesInSession": "{count, plural, one {# pagină} other {# pagini} few {# pagini}} într-o singură sesiune", + "pagesInDay": "{count, plural, one {# pagină} other {# pagini} few {# pagini}} într-o singură zi", + "slowBurn": "{title}, terminat după {count, plural, one {# zi} other {# zile} few {# zile}}", + "formatsOwned": "{count, plural, one {# format} other {# formate} few {# formate}} pe rafturile tale", + "annotationsWithNote": "{count, plural, one {# adnotare} other {# adnotări} few {# adnotări}} cu o notă", + "annotationsInDay": "{count, plural, one {# adnotare} other {# adnotări} few {# adnotări}} într-o singură zi", + "everyStar": "Fiecare rating de la o stea la cinci", + "everyColour": "Fiecare culoare de evidențiere folosită", + "titlePublished": "{title}, publicat {year}", + "booksInGenre": "{count, plural, one {# carte} other {# cărţi} few {# cărţi}} într-un singur gen", + "firstInSeries": "{title}, din seria {series}", + "centuries": "Cărţi de la {count, plural, one {# secol} other {# secole} few {# secole}}", + "booksBySameAuthor": "{count, plural, one {# carte} other {# cărţi} few {# cărţi}} de un autor", + "decades": "Cărţi de la {count, plural, one {# deceniu} other {# decenii} few {# decenii}}", + "shortBooks": "{count, plural, one {# carte scurtă} other {# cărţi scurte} few {# cărţi scurte}} terminate", + "allSeasons": "Toate cele patru sezoane ale lui {year}", + "consistentDays": "{count, plural, one {# zi} other {# zile} few {# zile}} de cel puţin 30 de minute", + "weekendsInRow": "{count, plural, one {# weekend} other {# weekend-uri} few {# weekend-uri}} la rând", + "weekendHours": "{count, plural, one {# oră} other {# ore} few {# ore}} în week-end-ul {date}", + "categoriesCovered": "{count, plural, one {# categorie} other {# categorii} few {# categorii}} cu o realizare", + "readingSources": "{count, plural, one {# sursa citirii} other {# surse de citire} few {# surse de citire}}", + "oneBookSources": "O carte citită de la {count, plural, one {# sursă} other {# surse} few {# surse}}" + }, + "records": { + "title": "Carte de înregistrare", + "subtitle": "Numerele din spatele medaliilor tale, cum se aflau atunci când fiecare dintre ele a fost deblocat", + "value": "{value}", + "oneSession": "Sesiune într-o singură lectură", + "pagesInSession": "Pagini într-o sesiune", + "pagesInDay": "Pagini într-o zi", + "booksInWeek": "Cărți într-o săptămână", + "booksInMonth": "Cărți în {month}", + "booksInYear": "Cărți finalizate în {year}", + "annotations": "Adnotări", + "genresFinished": "Genuri terminate", + "daysInRow": "Zile în rând", + "booksInLibrary": "Cărți în biblioteca ta" + }, + "detail": { + "categoryTierSet": "{category} · Setare nivel", + "secretHint": "Continuă să citești pentru a dezvălui asta.", + "tierOf": "{earned} de {total}", + "current": "Actuală", + "noneYet": "Niciuna încă", + "progress": "Progresul", + "allTiersEarned": "Fiecare nivel câștigat", + "tiers": "Niveluri", + "earned": "Câștigat", + "status": "Status", + "hidden": "Hidden", + "rarity": "Raritate", + "category": "Categorie", + "theSet": "Setul", + "theMoment": "Momentul" } }, "adminFeature": { @@ -2507,8 +4579,12 @@ "trend": "Tendința zilnică de citire", "emptyTitle": "Nicio activitate de citire în această perioadă", "noData": "Nu s-au înregistrat date de citire pentru această perioadă.", + "sessionCount": "{count, plural, one {# sesiune} other {# sesiuni} few {# sesiuni}}", "sourceNames": { "web": "Cititor web", + "ios": "Aplicație iOS", + "watchos": "Vizionare Apple", + "android": "Android app", "koreader": "KOReader", "manual": "Manual", "kobo": "Kobo", @@ -2586,14 +4662,47 @@ "presetClearAll": "Șterge tot", "permissionGroups": { "content": "Conținut", + "podcasts": "Podcasturi", "devicesAccess": "Dispozitive & Acces", "email": "E-mail", "administration": "Administrare", "notifications": "Notificări", - "restrictions": "Restricții" + "restrictions": "Restricții", + "libraryBooks": "Bibliotecă și Cărți", + "bookRequests": "Cereri de carte", + "bookDock": "Andocare carte", + "devices": "Dispozitive", + "readingIntegrations": "Integrări în citire", + "emailNotifications": "E-mail & Notificări", + "libraryConfiguration": "Configurare bibliotecă", + "usersSecurity": "Utilizatori & Securitate", + "system": "Sistem" }, + "permissionLevels": { + "use": "Utilizare", + "manage": "Gestionează" + }, + "accountRestrictions": "Restricții cont", + "demoRestrictedHint": "Limitează acest cont la experiența demonstrativă restrânsă.", "superuserTarget": "Superuser Target", "superuserTargetHint": "Restricțiile de conținut nu pot fi aplicate superutilizatorilor.", + "superuserAccess": { + "title": "Acces Superuser", + "enabled": "Activat", + "disabled": "Dezactivat", + "enabledHint": "Acest cont are acces nerestricționat la server. Permisiunile salve, biblioteci și restricții se vor aplica din nou după demotion.", + "disabledHint": "Promoția acordă acces nerestricționat la servere și permisiuni ocolite, atribuiri ale bibliotecii și restricții de conținut.", + "selfHint": "Nu îți poți schimba propriul acces la superutilizator.", + "sharedHint": "Conturile partajate nu pot fi promovate către superutilizator.", + "promote": "Promovează la superuser", + "demote": "Eliminați accesul superutilizator", + "promoteDialogTitle": "Promovezi la superuser?", + "promoteDialogBody": "Acordă {name} acces nerestricționat la server. Sesiunile active se vor termina și trebuie să se conecteze din nou.", + "demoteDialogTitle": "Eliminați accesul superutilizatorului?", + "demoteDialogBody": "Eliminați accesul nerestricționat din {name}. Permisiunile salvate, bibliotecile și restricțiile vor intra în vigoare și trebuie să se conecteze din nou.", + "changing": "Actualizarea accesului...", + "changeError": "Actualizarea accesului superuser a eșuat. Reîncarcă contul și încearcă din nou." + }, "noRestrictions": "Fără restricții de conținut", "noRestrictionsHint": "Acest utilizator are acces deplin la toate cărţile din bibliotecile alocate.", "addRestrictions": "+ Adaugă Restricții de conținut", @@ -2607,6 +4716,8 @@ "includeGenresHint": "(afișează doar cărțile cu aceste gene)", "excludeGenres": "Exclude genurile", "excludeGenresHint": "(ascunde cărți cu aceste gene)", + "seeOwnRequestedBooks": "Permite acestui utilizator să vadă cărțile pe care le-au solicitat", + "seeOwnRequestedBooksHint": "Cărţile care au ajuns prin cererile lor de carte ignoră regulile de mai sus. Dezactivează în mod implicit.", "searchTagsPlaceholder": "Căutare etichete...", "searchGenresPlaceholder": "Caută genuri...", "saving": "Salvare...", @@ -2617,8 +4728,67 @@ "updateContentFilters": "Actualizarea filtrelor de conținut a eșuat", "emailRequired": "E-mailul este necesar", "createSharedAccount": "Crearea contului partajat a eșuat", - "createUser": "Crearea utilizatorului a eșuat" - } + "createUser": "Crearea utilizatorului a eșuat", + "nameRequired": "Numele complet este necesar", + "usernameRequired": "Numele de utilizator este necesar" + }, + "drawerDescription": "Editează profilul acestui cont, acces la bibliotecă, permisiuni și restricții.", + "createHint": "Conturile noi nu dețin permisiuni până când nu le acordați.", + "sectionsLabel": "Setări cont", + "sections": { + "profile": "Profil", + "libraries": "Biblioteci", + "permissions": "Permisiuni", + "restrictions": "Restricții" + }, + "sectionSummary": { + "newAccount": "Nu a fost creat încă", + "libraries": "{selected} {total}", + "permissions": "{count, plural, =0 {Nu există permisiuni} one {Ai acordat} other {# acordat} few {# acordat}}", + "restrictionsNone": "Niciunul", + "restrictionsContent": "Filtre de conținut", + "restrictionsDemo": "Demo restricționat", + "restrictionsBoth": "Filtre și mod demonstrativ" + }, + "account": "Cont", + "status": "Status", + "statusHint": "Utilizatorii suspendați nu se pot conecta sau sincroniza dispozitive.", + "signInMethod": "Autentificare", + "signInMethods": { + "password": "Parolă", + "oidc": "Semn unic", + "shared": "Link-ul Magic" + }, + "created": "Creat", + "lockedUntil": "Blocat până la {time}", + "lockedHint": "Prea multe încercări de conectare nereușite. Deblocare din lista de utilizatori.", + "usernameFixedHint": "Numele de utilizator nu poate fi schimbat.", + "emailHint": "Folosit pentru resetări de parolă și notificări.", + "libraryAccessHint": "Cărţile din afara acestor biblioteci sunt invizibile pentru acest utilizator.", + "selectAll": "Selectează tot", + "clearAll": "Curăță", + "permissionsHint": "Este permis să faceți acest cont. {granted} de {total} acordat.", + "groupLegend": "{group}: {granted} din {total} acordat", + "presets": { + "label": "Presetare permisiuni", + "none": "Niciunul", + "standard": "Standard", + "custom": "Personalizat", + "admin": "Admin", + "customHint": "Această selecție nu se potrivește cu o presetare." + }, + "filterPermissions": "Permisiuni filtru", + "grantedOnly": "Doar acordat", + "noPermissionMatches": "Nicio permisiune nu se potrivește cu filtrul.", + "clearFilters": "Ștergeți filtrele", + "filteredNotice": "Filtrare. Permisiunile care sunt ascunse păstrează setările curente.", + "contentRestrictionsHint": "Limita pe care o rezervă acest utilizator o poate vedea, după etichetă sau gen.", + "contentRestrictionsAfterCreate": "Restricțiile de conținut pot fi stabilite odată ce contul există.", + "unsavedChanges": "{count, plural, one {1 modificare nesalvată} other {# modificări nesalvate} few {# modificări nesalvate}}", + "libraryBookCount": "{count, plural, =0 {Nici o carte} one {1 carte} other {# cărţi} few {# cărţi}}", + "dangerZone": "Zona de pericol", + "deleteUserHint": "Elimină permanent acest cont și datele sale de citire. Cărțile din bibliotecă nu sunt afectate.", + "libraryReach": "Acest cont poate vedea {selected} din {total} cărți." }, "usersPage": { "usersTitle": "Utilizatori", @@ -2630,7 +4800,10 @@ "email": "E-mail", "access": "Acces", "status": "Status", - "actions": "Acțiuni" + "actions": "Acțiuni", + "user": "Utilizator", + "libraries": "Biblioteci", + "lastActive": "Ultimul activ" }, "adminBadge": "Admin", "permissionCount": "{count, plural, =0 {nu există permisiuni} one {o permisiune} few {# permisiuni} other {# de permisiuni}}", @@ -2647,6 +4820,7 @@ "resetPasswordSharedHint": "Conturile partajate nu au parole", "resetPasswordOidcHintFull": "Utilizatorii OIDC resetează parolele în furnizorul lor de identitate.", "resetPasswordSharedHintFull": "Conturile partajate nu au parole.", + "resetPasswordDisabledHintFull": "Autentificarea parolei este dezactivată de configurarea serverului.", "deleteUserAction": "Ștergere utilizator", "deleteDialogTitle": "Ștergeți utilizatorul?", "deleteDialogBody": "Ștergeți utilizatorul \"{username}\". Această acțiune nu poate fi anulată.", @@ -2693,12 +4867,66 @@ }, "pagination": { "label": "Paginare utilizatori", - "page": "Pagina {page} {totalPages}" + "page": "Pagina {page} {totalPages}", + "showing": "Se afișează {shown} de conturi {total}" }, "editUserAria": "Editare {name}", "resetPasswordAria": "Resetați parola pentru {name}", "deleteUserAria": "Șterge {name}", - "moreActionsAria": "Mai multe acțiuni pentru {name}" + "moreActionsAria": "Mai multe acțiuni pentru {name}", + "headerSummary": "{count, plural, =0 {Niciun cont} one {# cont} other {# cont} few {# cont}} · {admins} cu acces de administrator", + "noEmail": "Nicio adresă", + "editAccount": "Editare cont", + "cardMeta": "{access} · {libraries} · {lastActive}", + "accessTier": { + "superuser": "Superutilizator", + "admin": "Admin", + "standard": "Standard", + "custom": "Personalizat", + "none": "Fără acces" + }, + "libraries": { + "all": "Toate {total}", + "some": "{granted} {total}" + }, + "statusLocked": "Blocat", + "status": { + "never": "Niciodată", + "neverSignedIn": "Niciodată conectat", + "defaultPassword": "Parola implicită", + "contentFiltered": "Conținut filtrat", + "unlocksIn": "Deblochează {when}" + }, + "attention": { + "title": "Necesită atenție", + "count": "{count, plural, one {# cont} other {# conturi} few {# conturi}}", + "filter": "{count, plural, one {# are nevoie de atenţie} other {# are nevoie de atenţie} few {# are nevoie de atenţie}}", + "more": "{count} mai mult nu este afișat aici", + "reason": { + "locked": "{name} este blocat după prea multe autentificări eșuate", + "neverSignedIn": "{name} nu s-a conectat niciodată", + "defaultPassword": "{name} încă utilizează parola cu care a fost creat contul" + }, + "detail": { + "unlocksIn": "Deblochează automat {when}", + "created": "Creat {when}", + "linkExpired": "{when} · link-ul de autentificare a expirat", + "linkValid": "{when} · log-in link valabil până la {expiry}" + }, + "action": { + "unlock": "Deblochează acum", + "sendResetLink": "Trimite link-ul de resetare", + "sendNewLink": "Trimite link nou" + }, + "collapse": "Ascunde", + "expand": "Afișare" + }, + "defaults": { + "title": "Implicite pentru conturile noi", + "appliesTo": "Aplică autoînregistrării și OIDC", + "startingLibraries": "Pornire biblioteci", + "startingLibrariesHint": "Vizualizator acordat automat fiecărui cont nou." + } } }, "annotations": { @@ -2823,7 +5051,16 @@ "noMatch": "Nicio evidențiere nu se potrivește cu filtrele tale.", "resetFilters": "Resetare filtre", "trashEmpty": "Gunoiul este gol", - "noAnnotations": "Nu există încă nici o adnotare. Evidențiază pe web sau apare aici e-cititorul tău." + "noAnnotations": "Nu există încă nici o adnotare. Evidențiază pe web sau apare aici e-cititorul tău.", + "noMatchHint": "Încercaţi o frază mai scurtă sau ştergeţi culoarea şi filtrele de carte.", + "noAnnotationsBody": "Tot ce marcați, în orice carte și pe orice dispozitiv, colectează aici.", + "readHere": "Citește aici", + "readHereBody": "Selectaţi textul din cititor şi alegeţi o culoare.", + "syncKobo": "Sync a Kobo", + "syncKoboBody": "Marcajele făcute pe dispozitiv ajung la următoarea sincronizare.", + "syncKoreader": "Sincronizare KOReader", + "syncKoreaderBody": "Plugin-ul încarcă adnotări cu pozițiile lor.", + "goToLibrary": "Du-te la bibliotecă" }, "toast": { "movedToTrash": "Mutat la gunoi", @@ -2833,8 +5070,70 @@ "bulkTrashed": "{count, plural, =0 {Nu s-a mutat nicio adnotare la gunoi} one {A mutat # adnotare la gunoi} few {Ai mutat # adnotări la gunoi} other {Ai mutat # de adnotări la gunoi}}", "bulkRestored": "{count, plural, =0 {Nu a fost restaurat nicio adnotare} one {Restaurat # adnotare} few {Restaurat # adnotări} other {Restaurat # de adnotări}}", "bulkRecolored": "{count, plural, =0 {Nu ai primit nici o adnotare} one {A fost ocupat cu # adnotare} few {A primit # adnotări} other {A primit # de adnotări}}", - "bulkRestyled": "{count, plural, =0 {Restabilire nici o adnotare} one {Restabilit # adnotare} few {Restabilit # adnotări} other {Restabilit # de adnotări}}" - } + "bulkRestyled": "{count, plural, =0 {Restabilire nici o adnotare} one {Restabilit # adnotare} few {Restabilit # adnotări} other {Restabilit # de adnotări}}", + "noteSaved": "Notă salvată" + }, + "railTitle": "{marks} marcaje · {books} cărți", + "lastTwelveMonths": "Ultimele 12 luni", + "colour": "Culoare", + "whereFrom": "De unde provin", + "theShelf": "Raft", + "devices": "Dispozitive", + "allBooks": "Toate cărţile {count}", + "behindCount": "{count, plural, one {# în urmă} other {# în urmă} few {# în urmă}}", + "busiestWeek": "Cea mai cumpărată săptămână", + "longestQuiet": "Cel mai lung domeniu silențios", + "mostMarked": "Cele mai marcate", + "weekCount": "{count, plural, one {# săptămână} other {# săptămâni} few {# săptămâni}}", + "anchorsUnplaced": "{count, plural, one {# ancora nu a putut fi plasată} other {# ancorajele nu au putut fi plasate} few {# ancorajele nu au putut fi plasate}}", + "reviewThem": "Revizuiește-le", + "anchorLost": "Ancoră pierdută", + "anchorRepaired": "Reparat", + "notes": "Note", + "review": "Revizuire", + "viewLabel": "Grupează și sortează", + "views": { + "newest": "Cele mai noi", + "oldest": "Cel mai vechi primul", + "book": "După carte", + "color": "După culoare", + "source": "După sursă" + }, + "matchCount": "{shown} {total}", + "moreActions": "Mai multe acțiuni", + "loadMore": "{count, plural, one {Încarcă încă 1} other {Încarcă # mai multe} few {Încarcă # mai multe}}", + "openBook": "Carte deschisă", + "noteLabel": "Notă", + "yourNote": "Nota dvs.", + "notePlaceholder": "Spune de ce acest matru.", + "openAtThisPage": "Deschide la această pagină", + "positionAndSync": "Poziție și sincronizare", + "loadFailed": "Evidențele nu au putut fi încărcate. Încercați din nou imediat.", + "chips": { + "dateBetween": "{from} la {to}", + "dateFrom": "Din {from}", + "dateUntil": "Până la {to}" + }, + "activitySummary": "{count, plural, one {# evidenţiază între {from} şi {to}} other {# subliniază între {from} şi {to}} few {# subliniază între {from} şi {to}}}", + "book": "Carte", + "needsReview": "Necesită revizuire" + }, + "sources": { + "web": "Web", + "koreader": "KOReader", + "kobo": "Kobo" + }, + "colors": { + "yellow": "Galben", + "green": "Verde", + "blue": "Albastru", + "pink": "Roz", + "orange": "Portocaliu", + "red": "Roșu", + "olive": "Oliv", + "cyan": "Turcoaz", + "purple": "Violet", + "gray": "Gri" } }, "audit": { @@ -2866,6 +5165,7 @@ "sevenDays": "7 zile", "thirtyDays": "30 de zile", "userId": "Utilizator #{id}", + "userIdCompact": "#{id}", "targetAdditional": "și {count, plural, one {# mai ținta} few {# mai multe ținte} other {# de mai multe ținte}}", "bookImpact": "{count, plural, one {# carte} few {# cărţi} other {# de cărţi}}", "entryDetailsLabel": "Detalii pentru evenimentul de audit #{id}", @@ -2883,6 +5183,7 @@ "detailAction": "Acțiune: {value}", "detailIp": "IP: {value}", "detailResource": "Resursă: {value}", + "detailResourceId": "ID resursă: {value}", "deletedBooks": "Cărți șterse", "deletedBookDetail": "{title} (carte #{id})", "untitledBook": "Fără titlu", @@ -2926,7 +5227,13 @@ "user": "Utilizator", "action": "Acțiune", "description": "Descriere", - "ip": "IP" + "ip": "IP", + "time": "Timp", + "person": "Persoană", + "source": "Sursa", + "open": "Deschideți", + "network": "Rețea", + "activity": "Activitate" }, "categories": { "authentication": "Autentificare", @@ -2936,15 +5243,23 @@ "collections": "Colecții", "integrations": "Integrări", "settings": "Setări", - "other": "Altele" + "other": "Altele", + "access": "Autentificare și acces", + "requests": "Cereri", + "devices": "Dispozitive și e-mail" }, "resourceLabels": { "User": "Utilizator", "Library": "Bibliotecă", "Book": "Carte", + "Podcast": "Podcast", + "PodcastEpisode": "Episod de Podcast", "Collection": "Colectare", "SmartScope": "Domeniu inteligent", "BookDockFile": "Fişier de andocare carte", + "BookRequest": "Cerere de carte", + "DownloadClient": "Descărcare client", + "RequestIndexer": "Indexare", "Author": "Autor", "AppSettings": "Setări aplicație", "Genre": "Gen", @@ -3002,6 +5317,18 @@ "LibraryAccessRevoke": "Revocă accesul la bibliotecă", "LibraryWriteMetadataToFiles": "Scrie metadate in fisiere", "LibraryBulkRename": "Redenumiţi fişierele bibliotecii", + "LibraryRecomputeAddedAt": "Data recomandării adăugată", + "PodcastCreate": "Crează podcast", + "PodcastUpdate": "Actualizare podcast", + "PodcastArchive": "Arhiva podcast", + "PodcastRestore": "Restaurează podcast", + "PodcastPurge": "Curăță podcast", + "PodcastMerge": "Îmbinare podcast-uri", + "PodcastDownload": "Descarcă episod podcast", + "PodcastDownloadRemove": "Elimină descărcarea podcast", + "PodcastRetentionUpdate": "Actualizare retenție podcast", + "PodcastOpmlImport": "Importă podcast OPML", + "PodcastOpmlExport": "Exportă podcast OPML", "BookUpload": "Încărcați cartea", "BookMetadataUpdate": "Actualizare metadate carte", "BookMetadataLocksUpdate": "Actualizeaza blocaje metadate", @@ -3027,6 +5354,24 @@ "SmartScopeUpdate": "Actualizare obiect inteligent", "SmartScopeDelete": "Eliminarea domeniului inteligent", "BookDockFinalize": "Finalizați fișierul de andocare a cărții", + "BookRequestCreate": "Crează solicitare de carte", + "BookRequestApprove": "Aprobați cererea de carte", + "BookRequestReject": "Respingeți solicitarea de carte", + "BookRequestCancel": "Anulează cererea de carte", + "BookRequestFulfill": "Cerere de carte Fulfil", + "BookRequestGrab": "Trimite cererea de carte către un client de descărcare", + "BookRequestImport": "Importă o cerere de carte descărcată", + "BookRequestRemoveDownload": "Elimină o cerere de carte descărcată din clientul său", + "BookRequestDelete": "Ștergeți solicitarea de carte", + "DownloadClientCreate": "Crează client descărcat", + "DownloadClientUpdate": "Actualizează clientul descărcat", + "DownloadClientDelete": "Ştergeţi clientul descărcat", + "RequestIndexerCreate": "Indexare adăugată", + "RequestIndexerUpdate": "Indexare actualizată", + "RequestIndexerDelete": "Sursă ștearsă", + "RequestIndexerPluginInspect": "Plugin-ul indexului inspectat", + "RequestIndexerPluginInstall": "Plugin indexare instalat", + "RequestIndexerPluginRemove": "Plugin-ul indexului a fost șters", "AuthorUpdate": "Actualizare autor", "AuthorDelete": "Ștergere autor", "AuthorMerge": "Îmbinare autori", @@ -3061,11 +5406,182 @@ "EmailRecipientGroupUpdate": "Actualizați grupul de destinatari", "EmailRecipientGroupDelete": "Șterge grupul de destinatari", "EmailRecipientGroupMemberAdd": "Adaugă destinatar la grup", - "EmailRecipientGroupMemberRemove": "Eliminați destinatarul din grup" - } + "EmailRecipientGroupMemberRemove": "Eliminați destinatarul din grup", + "MaintenanceMissingBooksClean": "Cărți lipsă curățate", + "MaintenanceBrokenCoversClean": "Hărți sparte curățate", + "MaintenanceOrphanedCoversClean": "Foldere de acoperire orfane curățate" + }, + "views": { + "label": "Afișare", + "changes": "Modificări", + "signins": "Conectări", + "security": "Securitate", + "all": "Toate" + }, + "search": { + "label": "Caută evenimente", + "placeholder": "Caută oameni, ținte sau adrese IP", + "placeholderShort": "Caută evenimente" + }, + "range": { + "label": "Date range: {range}", + "today": "Astăzi", + "7d": "Ultimele 7 zile", + "30d": "Ultimele 30 de zile", + "all": "Totul este păstrat", + "custom": "Interval personalizat", + "from": "De la", + "to": "La", + "between": "{from} la {to}", + "since": "Deoarece {date}", + "until": "Până la {date}", + "sinceOldest": "Deoarece {date}" + }, + "filterMenu": { + "button": "Filtre", + "category": "Categorie", + "person": "Persoană", + "findPerson": "Găsește o persoană", + "noPeople": "Nu există persoane potrivite", + "clear": "Curăță", + "done": "Terminat" + }, + "activeFilters": { + "target": "{type}: {name}", + "clearAll": "Șterge tot" + }, + "securityGroups": { + "label": "Tip eveniment de securitate", + "all": "Totul", + "failed": "Autentificări eșuate", + "accounts": "Conturi", + "passwords": "Parole", + "permissions": "Permisiuni", + "access": "Acces la bibliotecă", + "links": "Link-uri de autentificare" + }, + "day": { + "today": "Astăzi", + "yesterday": "Ieri", + "changes": "{count, plural, one {# schimbă} other {# modificări} few {# modificări}}", + "events": "{count, plural, one {# eveniment} other {# evenimente} few {# evenimente}}" + }, + "person": { + "system": "Sistem", + "deleted": "Cont șters", + "automation": "Automatizare" + }, + "source": { + "server": "Acest server", + "local": "Rețea locală", + "internet": "Internet", + "job": "Sarcina de fundal", + "unknown": "Nu sunt înregistrate" + }, + "target": { + "none": "No target", + "more": "+{count}", + "sinceDeleted": "De la ștergere", + "withId": "{type} #{id}" + }, + "openEvent": "Detalii deschise: {event}", + "signIns": { + "signIns": "{count, plural, one {# autentificare} other {# autentificări} few {# autentificări}}", + "signOuts": "{count, plural, one {# deconectare} other {# semnalizări} few {# semnalizări}}", + "failed": "{count, plural, one {# încercare eșuată} other {# încercări eșuate} few {# încercări eșuate}}", + "failedAs": "{count, plural, one {# a eșuat ca {names}} other {# a eșuat ca {names}} few {# a eșuat ca {names}}}", + "range": "{from} – {to}", + "footer": "{count, plural, one {! Evenimente de autentificare{events} împăturite pe # rând după persoană, zi şi reţea} other {{events} evenimente de conectare, împăturite în # rânduri după persoană, zi şi reţea} few {{events} evenimente de conectare, împăturite în # rânduri după persoană, zi şi reţea}}" + }, + "pager": { + "label": "Pagini", + "previous": "Pagina precedentă", + "next": "Pagina următoare", + "page": "Pagina {page}", + "changes": "{from}-{to} de {count, plural, one {# modificați} other {# modificări} few {# modificări}}", + "events": "{from}-{to} de {count, plural, one {# eveniment} other {# evenimente} few {# evenimente}}" + }, + "drawer": { + "description": "Detalii privind un eveniment de audit", + "close": "Inchide", + "subtitle": "{category} · {day}, {time}", + "when": "Când", + "person": "Persoană", + "source": "Sursa", + "target": "Target", + "usernameTried": "Utilizator încercat", + "deletedHere": "{type} · șterse de acest eveniment", + "deletedSince": "{type} · de la ștergere", + "inThisRow": "{count, plural, one {# eveniment în acest rând} other {# evenimente în acest rând} few {# evenimente în acest rând}}", + "around": "În jurul acestui eveniment", + "aroundHint": "{name}, 40 minute pentru fiecare parte", + "aroundEmpty": "Nimic altceva de la {name} în 40 de minute.", + "history": "Istoric", + "historyCount": "{count, plural, one {# eveniment} other {# evenimente} few {# evenimente}}", + "historyMeta": "{name} · {date}, {time}", + "thisEvent": "Acest eveniment", + "raw": "Eveniment brut", + "rawEventId": "ID eveniment", + "rawAction": "Acțiune", + "rawTarget": "Target type", + "rawNote": "Notă server", + "only": "Doar {name}" + }, + "facts": { + "format": "Format", + "size": "Dimensiune", + "download": "Descărcare", + "dockFile": "Fişier de andocare carte", + "rejected": "Respins", + "failed": "Eșuat", + "cleaned": "Curățat", + "skipped": "Sărit", + "remaining": "Rămas", + "sharingLevel": "Nivel de partajare", + "sharing": { + "private": "Nu este partajat", + "summary": "Summary", + "detailed": "Detaliat" + } + }, + "retention": { + "button": "{count, plural, one {Vrei pentru # zi} other {Dorinţă pentru # zile} few {Dorinţă pentru # zile}}", + "title": "Păstrați evenimentele pentru", + "days": "{count, plural, one {# zi} other {# zile} few {# zile}}", + "hint": "Evenimentele mai vechi sunt șterse în fiecare noapte la miezul nopții.", + "hintWithOldest": "Evenimentele mai vechi sunt șterse în fiecare noapte la miezul nopții. Cel mai vechi eveniment ținut de {date}.", + "readOnly": "Numai persoanele care pot schimba setările aplicaţiei pot schimba acest lucru.", + "saved": "{count, plural, one {Evenimentele de audit sunt acum păstrate pentru # zi.} other {Evenimentele de audit sunt acum păstrate pentru # zile.} few {Evenimentele de audit sunt acum păstrate pentru # zile.}}", + "saveFailed": "Nu s-a putut schimba durata de păstrare a evenimentelor." + }, + "export": { + "button": "Exportă", + "title": "Exportă ce este afișat", + "hint": "Folosește vizualizarea curentă, filtrele și intervalul de date.", + "csv": "CSV", + "json": "JSON", + "failed": "Nu s-a putut exporta jurnalul de audit." + }, + "emptyFiltered": "Niciun eveniment se potrivește cu aceste filtre." }, "auth": { "backToSignIn": "Înapoi la autentificare", + "plate": { + "exLibris": "Ex Libris" + }, + "endpaper": { + "change": "Schimbă documentul final", + "options": { + "seigaiha": "Valuri", + "shippo": "Cercuri legate", + "asanoha": "Frunză de cânepă", + "quatrefoil": "Quatrefoil", + "ogee": "Ogee", + "harlequin": "Harlequin", + "greekKey": "Cheie greacă", + "plain": "Simplu" + } + }, "themePicker": { "switchToLight": "Comutați la lumină", "switchToDark": "Comutați la întuneric", @@ -3083,7 +5599,10 @@ "confirmPassword": "Confirmă parola", "confirmNewPassword": "Confirmare parolă nouă", "currentPassword": "Parola curentă", - "passwordHint": "Min. 8 caractere cu majusculă, minuscule și o cifră" + "passwordHint": "Min. 8 caractere cu majusculă, minuscule și o cifră", + "showPassword": "Arată parola", + "hidePassword": "Ascunde parola", + "capsLockOn": "Caps Lock este pornit" }, "errors": { "generic": "Ceva nu a mers bine. Te rugăm să încerci din nou.", @@ -3095,12 +5614,16 @@ "signingIn": "Se conectează...", "orDivider": "sau", "forgotPassword": "Ai uitat parola?", + "resetPasswordAction": "Resetare parolă", "noAccount": "Nu ai un cont?", "signUp": "Înscrie-te", "registeredNotice": "Cont creat. Conectați-vă pentru a continua. Un administrator trebuie să acorde permisiuni înainte de a putea accesa biblioteca.", + "resetNotice": "Parolă actualizată. Conectați-vă cu noua parolă.", "errors": { "invalidCredentials": "Nume de utilizator sau parolă nevalide", "tooManyAttempts": "Prea multe încercări de autentificare. Vă rugăm să aşteptaţi un minut şi să încercaţi din nou.", + "passwordDisabled": "Parola de conectare este dezactivată. Utilizați un singur furnizor de înregistrare.", + "optionsUnavailable": "Opțiunile de conectare nu au putut fi încărcate. Actualizați pagina sau contactați administratorul.", "accountLocked": "Parola dvs. este corectă, dar acest cont este blocat temporar după prea multe încercări de conectare eșuate. Încearcă din nou în {minutes, plural, one {# minut} few {# minute} other {# de minute}}sau resetează-ți parola pentru a o debloca acum." } }, @@ -3195,15 +5718,25 @@ }, "author": { "card": { + "portraitAlt": "{name} portret", "viewDetails": "Vezi detaliile autorului", "refreshMetadata": "Reîmprospătare metadate", "deleteAuthor": "Șterge Autor" }, "filters": { - "allLibraries": "Toate bibliotecile" + "allLibraries": "Toate bibliotecile", + "chips": { + "groupLabel": "Filtrează autorii", + "all": "Toate", + "noPortrait": "Niciun portret", + "multipleBooks": "2 + cărți", + "recentlyAdded": "Adăugat în această săptămână", + "noSortName": "Niciun nume de sortare" + } }, "header": { "never": "Niciodată", + "portraitAlt": "{name} portret", "actions": "Acțiuni", "editAuthor": "Editare autor", "mergeAuthors": "Îmbinare autori", @@ -3235,6 +5768,7 @@ "desc": "Desc", "filters": "Filtre", "clear": "Curăță", + "allLoaded": "Toate {total} autori încărcați", "sort": { "name": "Nume", "sortName": "Sortare nume", @@ -3248,6 +5782,7 @@ }, "deleteDialog": { "titleOne": "Ștergeți autorul?", + "titleMany": "Ștergere {count} autori?", "descriptionOne": "Acest lucru elimină autorul din catalog și îl deconectează din cărțile asociate. Această acțiune nu poate fi anulată.", "descriptionMany": "Aceasta elimină autorii selectați din catalog și îi deconectează din cărțile asociate. Această acțiune nu poate fi anulată." }, @@ -3255,6 +5790,8 @@ "selectVisible": "Selectaţi vizibil", "refreshMetadata": "Reîmprospătare metadate", "refreshingMetadata": "Reîmprospătare metadate...", + "confirmRefreshCount": "{count, plural, one {Reîmprospătează metadatele pentru # autor?} other {Reîmprospătează metadatele pentru # autori?} few {Reîmprospătează metadatele pentru # autori?}}", + "refreshAction": "Împrospătează", "deleteSelected": "Ştergeţi selecţia", "deleting": "Ștergere...", "exitSelection": "Ieșiți din selecție", @@ -3264,6 +5801,7 @@ "refreshed": "Rescrierea metadatelor autorului", "refreshedNoImage": "Metadata reîmprospătată, dar nu a fost găsită nici o imagine a autorului.", "refreshFailed": "Reîmprospătarea metadatelor autorului a eșuat", + "bulkRefreshPartial": "Actualizat {updated} autor(i) {failed} eșuat", "bulkRefreshSuccess": "Actualizați metadatele pentru {updated} autor(i)", "bulkRefreshFailed": "Reîmprospătarea autorilor selectați a eșuat", "deleteSuccess": "{count, plural, =0 {Şters # autor; afectate {books} cărţi} one {Şters # autor; afectate {books} cărţi} few {Şters # autori; afectate {books} cărţi} other {Şters # de autori; afectate {books} cărţi}}", @@ -3287,17 +5825,20 @@ "uploadImage": "Încarcă imaginea", "removing": "Eliminare...", "removeImage": "Remove image", + "imageHint": "PNG/JPEG/WEBP până la {size} MO", "saving": "Salvare..." }, "merge": { "searchPlaceholder": "Caută autori pentru a fuziona în acest autor", "searching": "Căutare...", "bookCount": "{count, plural, =0 {Nici o carte} one {# carte} few {# cărţi} other {# de cărţi}}", + "selectedSummary": "Selectate {count} autor(autori), aprox. {books} cărți afectate.", "merging": "Fuzionare...", "mergeSelected": "Îmbinare selectată", "confirmLabel": "Îmbinare" }, "mergeDialog": { + "title": "Îmbinare {count} autor(i) în\"{name}\"?", "titleFallback": "Îmbinați autorii selectați?", "description": "Aceasta va fuziona autorii selectați cu autorul curent și va reconecta cărțile asociate. Această acțiune nu poate fi anulată.", "descriptionEmpty": "Această acțiune nu poate fi anulată." @@ -3340,10 +5881,33 @@ "deleteSuccess": "Autor șters; {books} cărți", "deleteFailed": "Ștergerea autorului a eșuat" } + }, + "portrait": { + "fromTheirBook": "Acoperirea uneia dintre cărţile lor; nici un portret în dosar" + }, + "index": { + "bookCount": "{count, plural, =0 {Nici o carte} one {# carte} other {# cărţi} few {# cărţi}}", + "rowLabel": "{name}, {count, plural, =0 {Nici o carte} one {# carte} other {# cărţi} few {# cărţi}}", + "actionsFor": "Acțiuni pentru {name}", + "refreshing": "Actualizare metadate pentru {name}", + "deleting": "Ștergere {name}" } }, "book": { "untitled": "Fără titlu", + "placeholder": { + "volume": "Vol. {number}", + "genre": { + "horror": "Hortă", + "romance": "Romanta", + "fantasy": "Fantasy", + "scifi": "Sci-fi", + "mystery": "Mister", + "classic": "Clasice", + "nonfiction": "Non-ficțiune", + "young": "Tineri cititori" + } + }, "unknownFormat": "necunoscut", "collapsedSeries": { "label": "Serii", @@ -3357,9 +5921,34 @@ "primary": "Primară", "audiobook": "Audiobok" }, + "formats": { + "djvu": "Document DjVu", + "epub": "Carte electronică EPUB", + "kepub": "Carte electronică KEPUB", + "pdf": "Document PDF", + "cbz": "Comă CBZ", + "cbr": "Comă CBR", + "cb7": "Comică CB7", + "mobi": "Carte electronică MOBI", + "azw3": "AZW3 carte electronică", + "azw": "Carte electronică AZW", + "fb2": "FictionBook", + "m4b": "M4B audiobook", + "mp3": "Audio MP3", + "m4a": "Audio M4A", + "opus": "Ascundere audio", + "ogg": "Audio OGG", + "flac": "Audio FLAC", + "readAlong": "EPUB citit", + "primary": "Format primar" + }, "actions": { "read": "Citește", "listen": "Ascultă", + "startReading": "Începe să citești", + "continueReading": "Continuă lectura", + "startListening": "Începe ascultarea", + "continueListening": "Continuă ascultarea", "peek": "Peptează", "quickView": "Vizualizare rapidă", "details": "Detalii", @@ -3372,7 +5961,19 @@ "addToCollection": "Adaugă la Colecție", "setStatus": "Setează Starea", "sendViaEmail": "Trimite prin e-mail", - "openAs": "Deschideți ca {format}" + "rate": "Evaluează {star}", + "openAs": "Deschideți ca {format}", + "openReadAlong": "Deschide citirea EPUB" + }, + "refreshMetadata": { + "success": "Reîmprospătare metadate", + "failed": "Reîmprospătarea metadatelor a eșuat" + }, + "coverRegeneration": { + "failed": "Nu s-a putut regenera coperta", + "bulkInProgress": "Reextragerea învelitorilor", + "bulkFailed": "Nu s-au putut extrage coperți", + "bulkCompleted": "{updated} din {processed, plural, one {# copertă} other {# copertă} few {# copertă}}" }, "readStatus": { "unread": "Necitit", @@ -3388,7 +5989,20 @@ "action": "Descărcare", "audiobookZip": "Audiobook (ZIP)", "allFormatsZip": "Toate formatele (ZIP)", - "primaryOnlyZip": "Doar primar (ZIP)" + "primaryOnlyZip": "Doar primar (ZIP)", + "preparing": "Se pregătește descărcarea...", + "preparingExport": "Pregătire {count, plural, one {# carte} other {# cărţi} few {# cărţi}} pentru descărcare...", + "progressPercent": "Se descarcă {percent} {total}", + "progressBytes": "Se descarcă {transferred}", + "failed": "Descărcare eșuată", + "exportFailed": "Exportul a eșuat", + "audiolessEpub": "KOReader EPUB", + "audiolessEpubHint": "Descărcați EPUB pentru KOReader cu fișierele audio eliminate", + "noAudio": "fără audio", + "textOnlyEpub": "EPUB doar text", + "textOnlyEpubHint": "Descarcă un EPUB fără povestiri păstrând ancorele de citire.", + "originalNarrated": "EPUB original cu naraţiune", + "originalNarratedEpub": "EPUB original cu naraţiune" }, "sort": { "moveUp": "Mută în sus", @@ -3396,6 +6010,7 @@ "ascending": "Crescător", "descending": "Descrescător", "fields": { + "relevance": "Relevanță", "author": "Autor", "title": "Titlu", "series": "Serii", @@ -3445,18 +6060,21 @@ "collection": "Colectare", "library": "Bibliotecă", "format": "Format", + "fileSize": "Mărimea fișierului primar", "addedAt": "Data Adăugării", "startedAt": "Data începerii", "finishedAt": "Data finalizării", "fileAvailability": "Disponibilitate fișier", "rating": "Clasificare", "communityRating": "Clasificarea comunității", + "communityRatingCount": "Numărul de revizuiri comunitare", "readProgress": "Progres de lectură", "readStatus": "Stare citire", "description": "Descriere", "isbn": "ISBN", "metadataScore": "Scor metadate", "cover": "Copertă", + "audioCover": "Copertă audio", "lockStatus": "Stare blocare", "seriesStatus": "Starea Seriei" }, @@ -3503,7 +6121,8 @@ "unit": { "days": "zile", "weeks": "săptămâni", - "months": "luni" + "months": "luni", + "megabytes": "MO" }, "scorePreset": { "outstanding": "Îndepărtare", @@ -3512,6 +6131,9 @@ "poor": "Slabă" }, "scoreRangePlaceholder": "0-100", + "fileSizePlaceholder": "ex. 10", + "fileSizeValueAria": "Dimensiunea primară a fişierului în megabytes", + "fileSizeMaximumAria": "Dimensiunea maximă a fișierului primar în megabytes", "valuePlaceholder": "valoare", "maxPlaceholder": "max", "to": "către", @@ -3642,6 +6264,7 @@ "noDescription": "Nici o descriere disponibilă.", "openMetadataEditor": "Deschide editorul de metadate", "coverPreview": "Previzualizare copertă de carte", + "coverPreviewFor": "{title} previzualizare copertă", "coverPreviewDescription": "Dialog de previzualizare a imaginii extinse." }, "tableView": { @@ -3651,7 +6274,9 @@ "booksSelected": "{count, plural, =0 {# carte selectată} one {# carte selectată} few {# cărţi selectate} other {# de cărţi selectate}}", "loadingMoreBooks": "Se încarcă mai multe cărți", "sort": "Sortează", + "refreshingMetadata": "Reîmprospătare metadate {processed} / {total}", "failedCount": "{count} a eșuat", + "remainingCount": "{count} rămas", "readOnlyNotice": "Editarea tabelelor este dezactivată pe ecrane mai mici. Comutați la listă sau grilă pentru acțiuni mai rapide.", "fetching": "Preluare...", "updated": "Actualizat", @@ -3673,7 +6298,8 @@ }, "header": { "previousBook": "Cartea anterioară", - "nextBook": "Următoarea carte" + "nextBook": "Următoarea carte", + "backToLibrary": "Înapoi la {library}" }, "tabs": { "details": "Detalii", @@ -3753,7 +6379,32 @@ "saving": "Salvare...", "saveCover": "Salvează coperta", "revertToOriginal": "Revenire la originalul", - "regenerateCover": "Regenerează coperta" + "regenerateCover": "Regenerează coperta", + "slotsLabel": "Copertă pentru editare", + "slotEbook": "Carte", + "slotAudio": "Audiobok", + "slotEbookName": "Copertă de carte", + "slotAudioName": "Copertă audio", + "editingEbook": "Editare copertă de carte", + "editingAudio": "Editare copertă audiobook", + "lockEbookCover": "Capacul cărţii de blocare", + "unlockEbookCover": "Deblochează coperta de carte", + "lockAudioCover": "Capac audio obok", + "unlockAudioCover": "Deblochează coperta audiobook", + "viewLarger": "Vezi mai mare", + "viewLargerEbook": "Vezi o copertă de carte mai mare", + "viewLargerAudio": "Vezi o copertă audiobook mai mare", + "sourceMode": "Sursa imaginii", + "urlLabel": "URL imagine", + "saveFailed": "Nu s-a putut salva coperta", + "revertFailed": "Nu s-a putut inversa coperta" + }, + "coverLightbox": { + "title": "Previzualizare copertă", + "description": "Capacul complet. Apăsaţi Escape pentru a închide.", + "switchLabel": "Copertă de afișat", + "ebook": "Carte", + "audio": "Audiobok" }, "coverSearch": { "title": "Căutare online", @@ -3777,6 +6428,7 @@ "by": "de", "narratedBy": "narcat de", "ratingLocked": "Evaluarea este blocată", + "rateStar": "Evaluează {star}", "listen": "Ascultă", "read": "Citește", "chooseFormat": "Alegeți formatul", @@ -3793,14 +6445,38 @@ "cancelEditAria": "Anulează editarea comenzii personale" }, "editCover": "Editare copertă", + "viewCover": "Vezi copertă mai mare", "finished": "Terminat", "resetFileProgress": "Resetează progresul fișierului", + "resetEditionProgress": "Resetați progresul pentru {format}", "resetting": "Resetare...", "resetProgressConfirm": "Resetați progresul de citire stocat pentru {label}?", "moreCount": "+{count} mai mult", "untitled": "Fără titlu", "metadataScore": "Scor metadate", "primaryFormat": "Format primar", + "readAloudSync": { + "title": "Sincronizare avansată cu voce tare", + "state": { + "enabled": "Activat", + "disabled": "Dezactivat", + "unavailable": "Unavailable", + "epubCopiesOnly": "Doar copii EPUB" + }, + "enabledDescription": "Poziţiile Audiobook, cititor web, Kobo şi KOReader rămân sincronizate.", + "disabledDescription": "Fiecare format își păstrează propria poziție de citire.", + "epubCopiesDescription": "Poziţiile cititorului de web, Kobo şi KOReader rămân sincronizate pe toate copiile EPUB. Adăugați fişiere audiobook potrivite pentru a sincroniza şi audiobok-ul.", + "reason": { + "no_media_overlay_epub": "Este necesar un EPUB de citire cu suprapuneri media.", + "no_audio_files": "Sunt necesare potriviri ale fişierelor audiobook independente.", + "missing_duration": "Metadatele duratei audio sunt incomplete.", + "durationMismatch": "Durata nu se potrivește îndeajuns: audiobok {audio}, citește EPUB {overlay}." + }, + "enable": "Activare", + "disable": "Dezactivează", + "saving": "Salvare...", + "saveFailed": "Nu s-a putut actualiza sincronizarea progresului în citire." + }, "openIn": "Deschide în {provider}", "showLess": "Arată mai puțin", "showMore": "Arată mai mult", @@ -3832,6 +6508,8 @@ "dateAddedRequiredError": "Data Adăugării este obligatorie.", "dateAddedFutureError": "Data adăugării nu poate fi în viitor.", "dateFinishedFutureError": "Data finalizată nu poate fi în viitor.", + "dateFinishedBeforeStartedError": "Data terminării trebuie să fie începând sau după data începerii", + "dateFinishedBeforeStartedErrorWithDate": "Data terminării trebuie să fie începând sau după data începerii ({date}).", "saveReadingDatesError": "Salvarea datelor de citire a eșuat.", "saveAddedDateError": "Salvarea datei adăugate a eșuat.", "koboPendingDelete": "În aşteptarea ştergerii de pe dispozitiv", @@ -3845,7 +6523,33 @@ "resetHoldNotice": "{device} încă mai are vechea poziție ({percent})", "resetHoldRelease": "Utilizați poziția acestui dispozitiv", "resetHoldReleasing": "Lansare...", - "resetHoldReleaseFailed": "Nu s-a putut folosi această poziție. Încercați din nou." + "resetHoldReleaseFailed": "Nu s-a putut folosi această poziție. Încercați din nou.", + "editions": "Ediții", + "editionsSummary": "{count} · {size}", + "moreFormats": "+{count} mai mult", + "filesOnDisk": "Fișiere pe disc", + "yourReading": "Citirea ta", + "lastRead": "ultima citire {when}", + "notStarted": "nu a început", + "noSessionsYet": "Nicio sesiune de lectură încă. Deschiderea acestei cărți în cititor urmărește timpul, ritmul și progresul pe dispozitiv.", + "activitySessions": "Sesiuni", + "activityTime": "Timp", + "activityAverage": "Medie", + "activityProgress": "Progresul", + "activityDayTooltip": "{day}: {minutes} min", + "activityReached": "{percent} atins", + "durationS": "{seconds}s", + "durationM": "{minutes}m", + "durationHm": "{hours}h {minutes}m", + "yourReview": "Recenzia ta", + "reviewNotWritten": "Nu a fost scris încă", + "writeReview": "Scrie", + "collections": "Colecții", + "noCollections": "Niciunul", + "onDisk": "Pe disc", + "detailsHeading": "Detalii", + "percentUnderOne": "<1%", + "percentOverNinetyNine": ">99%" }, "editMetadata": { "fieldCount": "{count, plural, =0 {nici un câmp} one {un câmp} few {# câmpuri} other {# de câmpuri}}", @@ -3863,6 +6567,7 @@ "skippedLockedFields": "{count, plural, =0 {Nu a trecut nici un câmp blocat} one {A sărit peste un câmp blocat} few {Au sărit # câmpuri blocate} other {Au sărit # de câmpuri blocate}}", "updatedFields": "{count, plural, =0 {Nici un câmp nu a fost actualizat} one {a actualizat un câmp} few {# câmpuri actualizate} other {# de câmpuri actualizate}}", "wroteFieldsToFile": "{fields} la fișier", + "fileWriteFailedReason": "Scrierea fișierului a eșuat: {reason}", "fileWriteFailed": "Scrierea fișierului a eșuat", "fileWriteSkippedReason": "Fişier de scris omis: {reason}", "fileWriteSkipped": "Fişier de scriere omis", @@ -3881,7 +6586,9 @@ "loadFromFileTooltip": "Încarcă metadate din fișierul principal al cărții", "writeToFile": "Scrie în fișier", "autoFill": "Completare automată", + "autoFillFailed": "Completarea automată a eșuat", "fetchingMetadata": "Preluare metadate...", + "noExistingProviderIds": "Fără metadate preluate: niciunul dintre furnizorii activi de regulă a câmpurilor nu are un ID stocat în această carte.", "allFieldsLocked": "Toate câmpurile sunt blocate", "autoFillTooltip": "Completați automat câmpurile folosind preferințele dvs. de metadate", "lockAll": "Blocheaza tot", @@ -3903,6 +6610,7 @@ "genresLabel": "Genres", "tagsLabel": "Etichete", "ratingLabel": "Clasificare", + "rateStar": "Evaluează {star}", "clear": "Curăță", "communityRatingsLabel": "Evaluarea comunității", "noProviderRatings": "Fără evaluări din partea furnizorilor", @@ -3948,9 +6656,19 @@ "hideUnchanged": "Ascunde nemodificat", "showUnchanged": "Arată neschimbat", "current": "Actuală", + "new": "Nou", "noMetadata": "Nu există metadate disponibile de la această sursă.", "noChangedFields": "Nu există câmpuri modificate sau lipsă. Utilizați Arată neschimbat pentru a inspecta totul.", - "applyToForm": "Aplică formularului" + "applyToForm": "Aplică formularului", + "secondCover": { + "audioResults": "Rezultate pentru coperta audio", + "bookResults": "Rezultate copertă de carte", + "showCover": "Arată {provider} acoperiș; {index} din {total}", + "searchingAudio": "Se caută ediții audiobok...", + "searchingBook": "Se caută ediţiile de carte...", + "noAudio": "Nici o copertă audiobook găsită.", + "noBook": "Nici o copertă găsită." + } }, "diff": { "locked": "Blocat", @@ -3959,15 +6677,79 @@ "newCoverAlt": "Copertă nouă", "pickCoverFromProvider": "Alege coperta de la un alt furnizor", "pickCoverSource": "Alege sursa copertei", + "coverShapeHint": { + "portraitForAudio": "Imaginea portretului. Copertele audio sunt pătrate.", + "squareForBook": "Imaginea pătrată. Hărțile cărților sunt portrete." + }, "pickFromProvider": "Alege de la un alt furnizor", "pickSource": "Alege sursa", + "useNew": "Utilizați noul {field}", + "keepCurrent": "Păstrați {field} curent", + "genreWriteMode": { + "label": "Cum se aplică genurile", + "merge": "Îmbinare", + "replace": "Înlocuiește" + }, "empty": "gol", "showLess": "Arată mai puțin", "showMore": "Arată mai mult", - "coverPreviewAlt": "Previzualizare copertă" + "coverPreviewAlt": "Previzualizare copertă", + "fields": { + "coverUrl": "Copertă", + "bookCover": "Copertă de carte", + "audioCover": "Copertă audio", + "title": "Titlu", + "subtitle": "Subtitrare", + "authors": "Autori", + "description": "Descriere", + "publisher": "Editor", + "publishedDate": "Publicat", + "language": "Limba", + "pageCount": "Număr de pagini", + "communityRating": "Evaluare comunitară", + "seriesName": "Serii", + "seriesIndex": "Indexul seriilor", + "isbn13": "ISBN-13", + "isbn10": "ISBN-10", + "genres": "Genres", + "narrators": "Naratori", + "durationSeconds": "Durată (secunde)", + "abridged": "Abandonat", + "hardcoverEditionId": "ID ediție Hardcover", + "comicIssueNumber": "Număr de emitere", + "comicVolumeName": "Volum", + "comicPencillers": "Pencillers", + "comicInkers": "Incherii", + "comicColorists": "Coloristi", + "comicLetterers": "Scrisoare", + "comicCoverArtists": "Copertă artiști", + "comicCharacters": "Caractere", + "comicTeams": "Echipe", + "comicLocations": "Locații", + "comicStoryArcs": "Story arcs", + "sourceUrl": "URL-ul sursă" + }, + "providerIds": { + "google": "ID Google Books", + "goodreads": "ID Goodreads", + "amazon": "ID Amazon", + "hardcover": "ID Hardcover", + "openLibrary": "Deschide ID Librărie", + "itunes": "ID iTunes", + "audible": "ID audio", + "librofm": "Libro.fm ISBN", + "comicvine": "ComicVine ID", + "ranobedb": "RanobeDB ID", + "kobo": "Kobo ID", + "lubimyczytac": "LubimyCzytac ID", + "aladin": "ID Aladin" + } }, "searchDrawer": { "searchTitle": "Căutare metadate", + "autoSearchOnOpen": "Căutare automată la deschidere", + "autoSearchOnOpenHint": "Folosește detaliile cărții data viitoare când se deschide acest panou. Amintiți-vă pentru contul dvs. în acest browser.", + "searchOptions": "Opțiuni căutare", "compareTitle": "Compară metadatele", "searchSubtitle": "Găsiți cea mai bună potrivire a furnizorului pentru această carte.", "compareSubtitle": "Examinați diferențele și aplicați doar ceea ce doriți." @@ -3989,13 +6771,244 @@ "notInFieldRulesText": "{providers}. Inclus în căutarea manuală cu Toate activate, dar nu este folosit de către setarea automată de metadate.", "noResults": "Nici un rezultat găsit", "noResultsHint": "Încercați să ajustați titlul sau autorul", + "searchInterrupted": "Căutarea nu s-a terminat", + "searchIncomplete": "Unele rezultate pot lipsi", + "providerTimedOut": "{provider} a durat prea mult pentru a răspunde.", + "providerThrottled": "{provider} a atins limita de rată. Așteptați un moment și încercați din nou.", + "providerFailed": "{provider} nu a putut fi atins.", + "searchInterruptedHint": "Încercați din nou, sau restrângeți domeniul de căutare.", "searchPrompt": "Caută mai sus, apoi dă click pe rezultat pentru a începe compararea metadatelor." }, + "match": { + "sheetDescription": "Caută furnizori de metadate și alege ce să copiezi în această carte.", + "mediumAudiobook": "Audiobok", + "mediumEbook": "Ebook", + "query": { + "label": "Căutare metadate", + "title": "Titlu", + "author": "Autor", + "isbn": "ISBN", + "edited": "Interogare editată", + "useBookDetails": "Folosește detaliile cărții" + }, + "sources": { + "heading": "Surse", + "allEnabledHint": "{count, plural, one {# sursă. Cel mai bun este căutarea manuală.} other {# surse. Cel mai bun este căutarea manuală.} few {# surse. Cel mai bun este căutarea manuală.}}", + "fieldRulesHint": "{count, plural, one {# sursă, cea folosită automat.} other {# surse, cele preiau automat.} few {# surse, cele preiau automat.}}", + "outsideRules": "{providers} {count, plural, one {este activat, dar nu și în Regulile Câmpului, așa că preluarea automată sare peste el.} other {sunt activate, dar nu şi în Regulile Câmpului, aşa că preluarea automată le sare.} few {sunt activate, dar nu şi în Regulile Câmpului, aşa că preluarea automată le sare.}}", + "manualOnly": "{providers}: doar căutare manuală, neutilizată de către preluarea automată.", + "count": "{provider}: {count, plural, =0 {niciun rezultat} one {# rezultat} other {# rezultate} few {# rezultate}}", + "searching": "{provider}: căutare", + "stopped": "{provider}: s-a oprit înainte de finisare" + }, + "results": { + "label": "Meciuri", + "best": "Cele mai bune meciuri", + "otherEditions": "Alte ediții", + "otherBooks": "Cărți probabil diferite", + "stillSearching": "Încă se caută", + "linked": "Legat", + "linkedHint": "Această înregistrare este deja legată de carte", + "isbn": "Potrivire ISBN", + "fills": "+{count} gol", + "fillsHint": "{count, plural, one {Umple # câmp gol} other {Completări # câmpuri goale} few {Completări # câmpuri goale}}", + "differ": "{count} diferă", + "differHint": "Câmpul {count, plural, one {# diferă de carte} other {# câmpuri diferă de carte} few {# câmpuri diferă de carte}}", + "inSync": "În sincronizare", + "inSyncHint": "Nimic de aici nu ar schimba cartea", + "differentAuthor": "Autor diferit", + "titleDiffers": "Titlul diferă", + "sparse": "Sparge", + "sparseHint": "{count, plural, one {Doar # câmp completat} other {Numai # câmpuri completate} few {Numai # câmpuri completate}}", + "staged": "{count, plural, one {# modificare este în scenă din acest rezultat} other {# modificări organizate din acest rezultat} few {# modificări organizate din acest rezultat}}", + "noMatches": "Nicio potrivire pentru această interogare", + "noMatchesHint": "{count, plural, one {Sursa a răspuns cu nimic.} other {# surse au răspuns cu nimic.} few {# surse au răspuns cu nimic.}} Reîmprospătează căutarea şi încearcă din nou.", + "searchTitleOnly": "Caută numai titlu", + "prompt": "Introduceți un titlu sau ISBN pentru a căuta.", + "mayBeMissing": "Este posibil ca rezultatele să lipsească.", + "retry": "Reîncearcă {provider}", + "pages": "{count, plural, one {# pagină} other {# pagini} few {# pagini}}", + "fetched": "Preluat" + }, + "tier": { + "strong": "Potrivire puternică", + "possible": "Posibil meci", + "weak": "Potrivire improbabilă" + }, + "compare": { + "label": "Compară", + "backToMatches": "Înapoi la potriviri", + "previous": "Rezultatul anterior", + "next": "Rezultatul următor", + "position": "{index} {total}", + "viewOn": "Vezi în {provider}", + "linkedToBook": "Legat de această carte", + "sameTitleAuthor": "Același titlu și autor", + "streaming": "Arată cel mai bun meci de până acum. Încă aşteaptă {providers}.", + "rows": "Rânduri", + "differences": "Diferențe", + "allFields": "Toate câmpurile", + "fillEmpty": "{count, plural, =0 {Nu sunt câmpuri goale} one {Completează # gol} other {Completează # gol} few {Completează # gol}}", + "takeAll": "{count, plural, =0 {Nimic de folosit} one {Foloseşte #} other {Foloseşte toate #} few {Foloseşte toate #}}", + "more": "Mai multe acțiuni", + "clearAll": "Șterge toate selecțiile", + "clearAllHint": "Înapoi la valorile actuale ale cărții.", + "field": "Câmp", + "pickTitle": "Alege un meci pentru a compara", + "pickHint": "Alegeți un rezultat. Câmpurile sale se aliniază cărții astfel încât să puteți păstra sau înlocui pe fiecare.", + "noneTitle": "Nimic de comparat încă", + "noneHint": "Când o căutare găsește meciuri, cel mai bun se deschide aici lângă ce are {title} astăzi.", + "allMatch": "Fiecare câmp se potrivește cu cartea. Comutați la toate câmpurile pentru a le vedea.", + "toReview": "{count, plural, =0 {Nimic de revăzut} one {# de verificat} other {# de verificat} few {# de verificat}}", + "stagedInSection": "{count} etape" + }, + "sections": { + "identity": "Identitate", + "description": "Descriere", + "publication": "Publicare", + "series": "Serii", + "genres": "Genres", + "comics": "Credite Comic", + "identifiers": "Identificatori", + "ratings": "Evaluare comunitară" + }, + "kind": { + "fill": "Umflări goale", + "change": "Diferite", + "same": "La fel", + "missing": "Nu este furnizat" + }, + "minor": { + "reordered": "Reordonat", + "formatting": "Numai formatare", + "punctuation": "Punctualizare", + "capitalization": "Capitalizare", + "yearOnly": "Doar anul", + "addsDay": "Adaugă ziua", + "languageCode": "Aceeași limbă", + "ratingCount": "Doar contorizare" + }, + "decision": { + "keep": "Păstrați", + "use": "Utilizare", + "merge": "Îmbinare", + "replace": "Înlocuiește", + "alreadyMatches": "Deja se potrivește", + "nothingToApply": "Nimic de aplicat", + "lockedHint": "Deblocați-l în editor pentru a-l schimba.", + "usingFrom": "Utilizarea valorii de la", + "switchTo": "Comutați la {provider}" + }, + "value": { + "empty": "Golire", + "notProvided": "Nu este furnizat", + "showAll": "Arată toate cuvintele {count}", + "otherValues": "{count, plural, one {# altă valoare} other {# alte valori} few {# alte valori}}", + "otherValuesHeading": "{field} din alte rezultate", + "otherValuesHint": "Alegerea unei etape pentru acest câmp", + "sameAsCurrent": "La fel ca în prezent", + "useThis": "Utilizează asta", + "using": "Utilizarea" + }, + "providerRating": "{provider} evaluare", + "cover": { + "slotAudio": "Slot audiobook, pătrat", + "slotBook": "Slot de carte, portret", + "current": "Actuală", + "staged": "Etapa", + "size": "{width} × {height}", + "fits": "Potrivește slotul", + "portraitInSquare": "Portret: cutie poștală", + "squareInPortrait": "Pătrat: cutie cu litere", + "broken": "Se pare stricat", + "unknown": "Formă necunoscută", + "fitShort": "Convulsii", + "portraitShort": "Portret", + "squareShort": "Patrat", + "brokenShort": "Distrugere", + "noCover": "Nici o copertă în acest rezultat", + "noCurrent": "Nici o copertă încă", + "strip": "Acoperă rezultatele de potrivire", + "stripMeta": "{count, plural, one {# copertă} other {# coperă} few {# coperă}}, se potriveşte mai întâi", + "choose": "Alege o copertă", + "preview": "Previzualizați ecranul complet al coperții", + "previewTitle": "Acoperă una lângă alta", + "previewDescription": "Actuala copertă alături de cea care ar înlocui-o.", + "choice": "{provider} capac", + "choiceSized": "{provider} copertă, {width} de {height}", + "using": "Utilizarea" + }, + "footer": { + "changes": "{count, plural, one {# schimbă} other {# modificări} few {# modificări}}", + "from": "din", + "nothingStaged": "Nimic nu a stagnat. Alegeți utilizarea pe un câmp sau alegeți o copertă.", + "nothingStagedShort": "Nimic în scenă", + "formHint": "Umple formularul de editare. Salvează acolo pentru a-l păstra.", + "fileHint": "Salvează în metadatele acestui fișier.", + "apply": "{count, plural, =0 {Aplică} one {Aplică # modificare} other {Aplică # modificări} few {Aplică # modificări}}", + "stagedHeading": "Etapa pentru formular", + "clearAll": "Șterge tot", + "undo": "Anulează {field}", + "merged": "fuzionat", + "live": "{count, plural, =0 {Nicio modificare în stadiu} one {# schimbare în stadiu} other {# schimbări în stadiu} few {# schimbări în stadiu}}" + }, + "keyboard": { + "title": "Scurtături tastatură", + "results": "Rezultatul anterior sau următor", + "fields": "Mută între câmpuri", + "toggle": "Păstraţi sau utilizaţi câmpul", + "search": "Editează căutarea", + "close": "Închide meniurile" + } + }, "writeAndRename": "Scrie în Fișier & Redenumire", - "writeAndRenameShort": "Scrie și redenumește" + "writeAndRenameShort": "Scrie și redenumește", + "identityCard": "Identitate", + "catalogCard": "Catalog", + "sourceCard": "Sursa", + "score": "Scor", + "scoreTooltip": "Scor Metadata {score} din 100", + "emptyFields": "{count,plural,one{câmp gol} few{câmpuri goale} other{câmpuri goale}}", + "emptyFieldsCount": "{count, plural, one {# câmp gol} other {# câmpuri goale} few {# câmpuri goale}}", + "emptyFieldsHeading": "Golire câmpuri metadate", + "emptyFieldsTooltip": "Nu a fost completat încă: {fields}. Caută online pentru a le căuta.", + "libraryRow": "Bibliotecă", + "primaryRow": "Primară", + "writeBackRow": "Rescriere", + "writeBackOff": "Dezactivat", + "lastWrittenRow": "Ultima dată scris", + "neverWritten": "Niciodată", + "fileCount": "{count, plural, =0 {nici un fişier} one {un fişier} other {# fişiere} few {# fişiere}}", + "unknownFormat": "Necunoscut" }, "files": { "title": "Fişiere de carte", + "stats": { + "files": "Fișiere", + "total": "Total", + "runtime": "Durata", + "formats": "Formate" + }, + "filesHeading": "Fișiere", + "allPresent": "Toate prezentele", + "groupedByReader": "grupat după cititor", + "thisFile": "Acest fișier", + "writeBackShort": "Rescriere", + "fieldsSet": "{filled} / {total} set", + "writtenSummary": "{fields} și {count, plural, one {# mai multe câmpuri} other {# mai multe câmpuri} few {# mai multe câmpuri}} sunt scrise în {format}.", + "writtenSummaryAll": "{fields} sunt scrise în {format}.", + "writtenNothing": "Nici unul dintre câmpurile inscriptibile {total} nu au încă o valoare.", + "writeBackOff": "Redresarea este dezactivată pentru această carte.", + "editMetadata": "Editare metadate", + "showAllTracks": "Arată toate", + "collapseTracks": "Restrânge", + "moreTracks": "{count, plural, one {# mai multe melodii} other {# mai multe piese} few {# mai multe piese}}", + "tracksRolled": "{count, plural, one {# Trasează} other {# piese} few {# piese}}", + "fileDetails": "Detalii fișier", + "openDetails": "Deschide detaliile fișierului", + "closeDetails": "Închide detaliile fișierului", + "trackFrom": "Urmăriți {track} de {total}, din {time}", + "throughCopy": "Sunteți {percent} prin această copie", "fileCount": "{count, plural, =0 {nici un fişier} one {# fişier} few {# fişiere} other {# de fişiere}}", "synced": "Sincronizat {time}", "sortAria": "Sortează fișierele", @@ -4004,6 +7017,7 @@ "relative": { "seconds": "{value}s acum", "minutes": "{value}m în urmă", + "hours": "{value}h în urmă", "days": "{value}d acum" }, "renameFailed": "Nu s-a putut redenumi fișierul", @@ -4045,7 +7059,99 @@ "title": "Ștergeți fișierul?", "description": "Sunteţi sigur că doriţi să ştergeţi \"{filename}\"? Această acţiune nu poate fi anulată." }, - "deleting": "Ștergere..." + "deleting": "Ștergere...", + "folderAria": "Locaţia dosarului", + "folderContents": "Conținutul dosarului", + "inspectorAria": "Fişier selectat", + "libraryRoot": "rădăcină bibliotecă", + "onDisk": "Pe disc", + "missing": "Lipsă", + "backToFolder": "Înapoi la dosar", + "copyPath": "Copiază calea completă", + "pathCopied": "Cale copiată în clipboard", + "resume": "Reluare", + "audiobook": "Audiobok", + "writeTarget": "Write target", + "notWritten": { + "formatNotSupported": "Nu este scris: format neacceptat", + "formatDisabled": "Nu este scris: formatul este dezactivat", + "fileExceedsSizeLimit": "Nu se scrie: peste limita de dimensiune", + "notContentFile": "Nu este scris: nu este conținut de carte" + }, + "enabled": "Activat", + "disabled": "Dezactivat", + "notSet": "nu este setat", + "sortAdded": "Adăugat", + "formatCount": "{count, plural, one {# format} other {# formate} few {# formate}}", + "trackCount": "{count, plural, one {# Trasează} other {# piese} few {# piese}}", + "formatsInFolder": "{count, plural, one {# format aici} other {# formate aici} few {# formate aici}}", + "compositionAria": "Distribuirea dimensiunii dosarului după format", + "percentRead": "{percent} citite", + "trackOf": "Urmărește {track} {total}", + "groups": { + "ebook": "Ebook", + "document": "Document", + "comic": "Comă", + "audio": "Audio", + "extras": "Extras" + }, + "roles": { + "primary": "Primară", + "content": "Supleanți", + "supplement": "Supliment", + "cover": "Copertă" + }, + "reader": { + "none": "Niciun cititor", + "ebook": "Cititor de carte", + "document": "Cititor PDF", + "comic": "Cititor de benzi desenate", + "audio": "Player audio" + }, + "spec": { + "format": "Format", + "role": "Rol", + "size": "Dimensiune", + "length": "Lungime", + "added": "Adăugat", + "indexed": "Indexat", + "opensIn": "Deschide în", + "writeBack": "Rescriere", + "track": "Urmărire", + "targetFile": "Fișier țintă", + "notWritten": "Nu este scris" + }, + "duration": { + "hoursMinutes": "{hours}h {minutes}m", + "minutes": "{minutes}m", + "minutesSeconds": "{minutes}m {seconds}s", + "seconds": "{seconds}s" + }, + "positionHeading": "Poziţia ta în această copie", + "copiesStarted": "{started} de {total} copii a început", + "nothingStarted": "Nimic început încă", + "throughFile": "{percent} din acest fișier", + "notOpened": "Nu s-a deschis încă", + "lastRead": "Ultima citire {time}", + "noPosition": "Nicio poziție de lectură stocată", + "trackPositionHeading": "Unde se află această piesă", + "totalRuntime": "{duration} total", + "startsAt": "Începe de la {time}", + "trackLength": "{duration} lung", + "switchFileHeading": "Schimbă fișierul", + "writeBackHeading": "Scris în acest fișier", + "fieldsWithValue": "{filled} de {total} câmpuri au o valoare", + "lastRun": "Ultima rulare {time}", + "neverRun": "Nu rula niciodată", + "historyHeading": "Istoric", + "timeline": { + "written": "Metadate scrise pentru {format}", + "writtenMany": "Metadate scrise pentru {format} ×{count}", + "writeDetail": "{count, plural, one {# câmp} other {# câmpuri} few {# câmpuri}} · {ms}ms · {trigger}", + "failed": "Scriere eșuată", + "indexed": "{name} indexat", + "indexedMany": "{count} {format} fișiere indexate" + } }, "highlights": { "note": { @@ -4079,9 +7185,247 @@ "hint": "Selectează textul în timp ce citești pentru a crea repere" }, "uncategorized": "Neclasificat", - "paginationUnit": "retur" + "paginationUnit": "retur", + "rail": { + "title": "Marks", + "unit": "{count, plural, one {subliniat} other {Evidenţiază} few {Evidenţiază}}", + "withNotes": "care poartă o notă", + "chaptersMarked": "capitole marcate", + "ofChaptersMarked": "din {total} capitole marcate", + "colour": "Culoare", + "showOnly": "Arată doar {colour}", + "source": "De unde provin", + "health": "Sănătatea poziției", + "needsAttention": "{count, plural, one {# are nevoie de atenţie} other {# are nevoie de atenţie} few {# are nevoie de atenţie}}", + "anchorLost": "{count, plural, one {una şi-a pierdut ancora atunci când fişierul a fost modificat} other {# şi-a pierdut ancora atunci când fişierul s-a schimbat} few {# şi-a pierdut ancora atunci când fişierul s-a schimbat}}", + "reAnchored": "{count, plural, one {Una a fost reancorată automat} other {# a fost re-ancorată automat} few {# a fost re-ancorată automat}}", + "reviewPositions": "Poziții de revizuire", + "span": "Span", + "firstMark": "Primul semn", + "lastMark": "Ultimul semn", + "markingDays": "Zile de marcare", + "exportCount": "Exportă {count}" + }, + "row": { + "select": "Selectează această evidențiere", + "showMore": "Arată mai mult", + "showLess": "Arată mai puțin", + "note": "Notă", + "addNote": "Adaugă o notă", + "page": "p.{page}", + "anchorLost": "Ancoră pierdută", + "reAnchored": "Reconectat" + }, + "stream": { + "title": "Fluxul", + "searchPlaceholder": "Căutați punctele principale și notele {count}", + "all": "Toate", + "notes": "Note", + "review": "Revizuire", + "density": "Comutaţi între rândurile confortabile şi cele compacte", + "matchCount": "{shown} din {total} meci", + "textChip": "text „{query}”", + "marks": "{count, plural, one {# marcaj} other {# puncte} few {# puncte}}", + "loadingMore": "Se încarcă mai mult" + }, + "bulk": { + "selected": "{count} selectate", + "selectAll": "Selectați toate {count}", + "recolour": "Recoltați selecția", + "recolourTo": "Recolorare la {colour}", + "clear": "Șterge selecția" + }, + "index": { + "title": "Indice", + "groupBy": "Grupează stream-ul după", + "byChapter": "Capitole", + "byColour": "Culori", + "byDay": "Zile" + }, + "activity": { + "title": "Marcare activitate", + "days": "{count, plural, one {# zi} other {# zile} few {# zile}}", + "showAll": "Arată toate {count} zile", + "showFewer": "Arată mai puține" + }, + "inspector": { + "title": "Evidențiere detalii", + "back": "Înapoi la index", + "counter": "Marchează {position} {total}", + "previous": "Marcajul anterior", + "next": "Următorul semn", + "notePrompt": "De ce a contat acest lucru? Notele pot fi căutate și pot călători cu exportul.", + "style": "Stil", + "position": "Poziție și sincronizare", + "openHere": "Deschide aici" + }, + "band": { + "title": "Atunci când marcajele sunt:", + "subtitle": "fiecare capitol marcat în comanda de citire, colorat în timp ce l-ați marcat", + "barTitle": "{chapter}, {count} marks", + "start": "Pornire", + "densest": "Densest", + "marks": "{count, plural, one {# marcaj} other {# puncte} few {# puncte}}", + "longestGap": "Cel mai lung rulare fără marcaj", + "chapters": "{count, plural, one {# capitol} other {# capitole} few {# capitole}}", + "end": "Sfârșit" + }, + "emptyStage": { + "title": "Nicio manifestare în {title} încă", + "body": "Punctele principale ajung din trei locuri, iar această pagină le adună pe toate într-un singur coloană.", + "openReader": "Deschide cititorul", + "web": { + "title": "Citiți-l aici", + "body": "Selectaţi textul din cititorul încorporat şi alegeţi o culoare." + }, + "kobo": { + "title": "Sync a Kobo", + "body": "Evidențierile făcute pe dispozitiv se întâlnesc pe următoarea sincronizare." + }, + "koreader": { + "title": "Sincronizare KOReader", + "body": "Plugin-ul încarcă adnotări cu pozițiile lor exacte." + } + }, + "shortcuts": { + "title": "Keyboard", + "description": "Scurtături tastaturii pentru lista de observații.", + "move": "Următorul / semn anterior", + "open": "Deschide inspectorul", + "back": "Înapoi la index", + "search": "Caută", + "note": "Scrie o notă", + "recolour": "Recolor", + "select": "Selectează acest semn", + "regroup": "Regrupează fluxul", + "copy": "Copiază oferta", + "reader": "Deschide în cititor" + }, + "railTitle": "{marks} marcaje · {chapters} capitole", + "whenMarked": "Când au fost marcate", + "chapters": "Capitole", + "noChapter": "Niciun capitol", + "views": { + "position": "În ordine de lectură", + "newest": "Cele mai noi", + "oldest": "Cel mai vechi primul", + "colour": "După culoare", + "source": "După sursă" + } }, "readingLog": { + "resetReadingState": "Resetare stare citire", + "vitals": { + "aria": "Rezumatul lecturii", + "notSet": "Nu este setat", + "started": "Început", + "finished": "Terminat", + "editStarted": "Editați data la care ați început această carte", + "editFinished": "Modifică data la care ai terminat această carte", + "totalTime": "Timp total", + "sessions": "Sesiuni", + "avgSession": "Medie sesiune", + "activeDays": "Zile active", + "activeDaysOf": "{active} {total}", + "pace": "Pace", + "pacePerHour": "{percent}%/h", + "lastRead": "Ultima lectură", + "whereYouRead": "Unde l-ai citit", + "addSession": "Adaugă sesiune", + "durationHm": "{hours}h {minutes}m", + "durationM": "{minutes}m", + "durationS": "{seconds}s" + }, + "ledger": { + "title": "Sesiuni", + "none": "niciunul", + "colDay": "Zi", + "colTime": "Timp", + "colLength": "Lungime", + "colChange": "Schimbă", + "colPosition": "Poziție în carte", + "colReached": "Realizat", + "colSource": "Sursa", + "colFormat": "Format", + "gapDays": "{count, plural, one {# zi fără a citi} other {# zile fără a citi} few {# zile fără a citi}}", + "attemptBegan": "Încercarea {index} a început", + "attemptOutsideAny": "În afara oricărei încercări", + "empty": "Nu s-au înregistrat încă sesiuni", + "emptyHint": "Deschideți cartea în cititor, sincronizați un dispozitiv sau adăugați o sesiune manual." + }, + "attempts": { + "title": "Încercări", + "none": "niciunul", + "ordinal": "Încercare {index}", + "addPast": "Adăugați o încercare trecută", + "reread": "Retragere", + "rereadPrompt": "Începeți o nouă încercare de citire?", + "rereadResetProgress": "Resetați poziția de citire la început. Dispozitivele sincronizate pot primi această resetare.", + "rereadConfirm": "Începe recitirea", + "fieldStarted": "Început", + "fieldEnded": "Terminat", + "fieldOutcome": "Rezultat", + "outcome": { + "completed": "Completat", + "skimmed": "Skimmed", + "abandoned": "Abandonat", + "inProgress": "În curs" + }, + "spanRange": "{from} la {to}", + "spanSince": "pentru {from}", + "spanEnded": "Terminat {to}", + "spanUnknown": "Nicio dată înregistrată", + "sessionCount": "{count, plural, one {# sesiune} other {# sesiuni} few {# sesiuni}}", + "endBeforeStart": "Data de sfârșit trebuie să fie după data de începere.", + "editAria": "Editează această încercare", + "deleteAria": "Ștergeți această încercare", + "cancelDeleteAria": "Anulează ștergerea acestei încercări", + "confirmDeleteAria": "Confirmați ștergerea acestei încercări", + "empty": "Nicio încercare înregistrată", + "emptyHint": "Începe o recitire sau adaugă o încercare pe care ai terminat-o înainte ca această bibliotecă să existe." + }, + "records": { + "title": "Înregistrări", + "longestSession": "Cea mai lungă sesiune", + "bestDay": "Cea mai bună zi", + "longestStreak": "Cel mai lung", + "streakDays": "{count, plural, one {# zi} other {# zile} few {# zile}}", + "pace": "Ritmul de lectură", + "jumpedBack": "Salt înapoi", + "jumpedBackTimes": "{count, plural, one {# timp} other {# ori} few {# ori}}", + "firstOpened": "Deschis prima dată", + "empty": "Înregistrările apar odată ce această carte are sesiuni." + }, + "band": { + "curve": "Curbă", + "trace": "Urmărire", + "switchAria": "Vizualizare diagramă", + "curveTitle": "Progresul în timp", + "traceTitle": "Unde erai în carte", + "curveSubDays": "{active} zile active pentru {total}", + "curveSubSitting": "o şedinţă, sesiune plenară", + "traceSub": "fiecare bară este întinderea unei sesiuni acoperite", + "traceSubWithBacktracks": "{count, plural, one {fiecare bară este o sesiune, # a sărit înapoi} other {fiecare bară este o sesiune, # a sărit înapoi} few {fiecare bară este o sesiune, # a sărit înapoi}}", + "legendPosition": "Poziție atinsă", + "legendMinutes": "Minute citite", + "legendBacktrack": "Salt înapoi", + "traceEmpty": "Nici o urmă încă", + "traceEmptyHint": "Odată ce sesiunile există, acest lucru arată partea din carte acoperită de fiecare și unde te-ai dublat înapoi.", + "tooltipCovered": "{from}% la {to}%", + "tooltipMinutes": "{minutes} min" + }, + "emptyStage": { + "title": "Nimic logat pentru această carte încă", + "description": "Un jurnal de lectură este construit din sesiuni. BookOrbit înregistrează una de fiecare dată când citiți în cititorul web și alege restul de pe dispozitivele pe care le sincronizați.", + "readerTitle": "Citiți-l aici", + "readerBody": "Fiecare minut din cititorul de cărți este logat automat.", + "koreaderTitle": "Sincronizare KOReader", + "koreaderBody": "Plugin-ul împinge fiecare stare, cu pagina la care ai ajuns.", + "koboTitle": "Sync a Kobo", + "koboBody": "Conectați dispozitivul și BookOrbit citește propriul contor de timp de citire.", + "addSession": "Adaugă o sesiune manuală", + "recordPast": "Înregistrați o lectură anterioară" + }, "moreActionsAria": "Mai multe acțiuni de jurnal de lecturi", "export": { "button": "Exportă" @@ -4110,6 +7454,7 @@ "dec": "Decembrie" }, "heatmap": { + "minutesUnit": "min.", "title": "Activitate", "empty": "Nicio activitate de citire în această fereastră.", "emptyHint": "Sesiunile înregistrate aici vor construi imaginea de consistență." @@ -4120,6 +7465,7 @@ "relative": { "seconds": "{count}s acum", "minutes": "{count}m în urmă", + "hours": "{count}h în urmă", "days": "{count}d acum", "months": "{count, plural, =0 {# lună în urmă} one {# lună în urmă} few {# luni în urmă} other {# de luni în urmă}}", "years": "{count, plural, =0 {# an în urmă} one {# în urmă cu} few {# ani în urmă} other {# de ani în urmă}}" @@ -4129,6 +7475,7 @@ "startFuture": "Data de început nu poate fi în viitor.", "finishFuture": "Data finalizării nu poate fi în viitor.", "finishBeforeStart": "Data de încheiere trebuie să fie după data de începere.", + "finishBeforeStartWithDate": "Data de finalizare trebuie să fie la sau după data de început ({date}).", "saveFailed": "Salvarea datelor de citire a eșuat." }, "eta": { @@ -4159,6 +7506,7 @@ "journey": { "tooltipProgress": "Progresul", "tooltipReading": "Citire", + "minutesUnit": "min.", "title": "Progres călătorie", "empty": "Nu există date de progres în această fereastră.", "emptyHint": "Progresul va apărea după ce o sesiune înregistrează o poziție de citire." @@ -4181,6 +7529,8 @@ "table": { "title": "Sesiuni", "sourceWeb": "Web", + "sourceIos": "Aplicație iOS", + "sourceWatchos": "Vizionare Apple", "sourceManual": "Manual", "colDate": "Data", "colDateMobile": "Data", @@ -4190,6 +7540,7 @@ "colProgressChangeMobile": "Delta", "colEndProgress": "Progres final", "colEndProgressMobile": "Sfârșit", + "jumpToProgress": "Salt la {progress}%", "empty": "Nici o sesiune de lectură încă înregistrată.", "emptyHint": "Adaugă o sesiune pentru a începe să construiești istoricul de lecturi al acestei cărți.", "colPace": "Pace", @@ -4239,6 +7590,7 @@ "moveDown": "Mută în jos", "removeSeries": "Elimină seria", "seriesIndexLabel": "Pozitie in serie", + "invalidSeriesIndex": "Introduceți cifre cu cel mult o zecimală, cum ar fi 5.10.", "totalLabel": "Cărți în serie", "totalPlaceholder": "din", "totalHint": "Total cărţi în această serie. Partajate cu toţi cei care au această serie." @@ -4261,6 +7613,15 @@ "chips": { "addPlaceholder": "Adăugare..." }, + "quickFilter": { + "presentFiles": "Filtrează în fişierele prezente", + "missingFiles": "Filtru la fişierele lipsă", + "withCovers": "Filtrează în cărți cu coperți", + "missingCovers": "Filtrează în cărți lipsă", + "missingAudioCovers": "Filtrează la cărțile care lipsesc coperți audiobook", + "withValues": "Filtrează la rânduri cu valori", + "emptyRows": "Filtru pe rânduri goale" + }, "cover": { "previewDescription": "Previzualizare copertă de carte", "editDescription": "Editare copertă de carte", @@ -4307,6 +7668,8 @@ "read": { "play": "Redare", "read": "Citește", + "readFormat": "Citește {format}", + "playFormat": "Joacă {format}", "primary": "Primară", "peekFormat": "Peek {format}", "chooseFormat": "Alegeți formatul de citit sau de redat", @@ -4316,6 +7679,7 @@ "unread": "Necitit" }, "series": { + "seriesRow": "Rândul seriilor", "bookCount": "{count, plural, =0 {(fără cărți)} one {(# carte)} few {(# cărți)} other {(# de cărți)}}", "readOfCount": "{read} of {total} read" }, @@ -4356,6 +7720,7 @@ "ineligible": { "book_not_present": "Fișierele din această carte lipsesc", "no_content_file": "Această carte nu are un fișier lizibil", + "multi_file_target_per_file": "Destinația stochează un fișier per carte, iar această carte are {detail} fişiere", "no_source_access": "Nu puteți edita biblioteca în care este publicată această carte", "pattern_unresolved": "Biblioteca de destinație nu are un model de nume utilizabil", "path_too_long": "Calea de destinație ar fi prea lungă", @@ -4363,6 +7728,7 @@ }, "warning": { "accessLoss": "{user} nu va mai vedea {count} din aceste cărți", + "koboImpact": "{count} cărţile vor părăsi {user}este Kobo la următoarea sincronizare", "layout": { "wrap_into_folder": "{count} cărți vor fi plasate fiecare în propriul lor dosar", "dissolve_folder": "{count} foldere de carte vor fi dizolvate în fișiere unice" @@ -4419,8 +7785,10 @@ }, "label": { "paused": "Pauză", + "remaining": "{count} rămas", "processing": "{count} procesare", - "failed": "{count} a eșuat" + "failed": "{count} a eșuat", + "rateLimited": "{count} rată limitată" }, "report": { "bookTitle": "Preluări de metadate eșuate", @@ -4453,6 +7821,7 @@ "apply": "Aplică", "done": "Terminat", "discard": "Renunțați", + "deselect": "Deselectează", "finalize": "Finalizează", "rescan": "Rescanare", "uploadAction": "Incarca", @@ -4462,12 +7831,19 @@ "bulkEditAction": "Editare în masă", "applyFetched": "Aplică Preluate", "retryErrors": "Reîncercați erorile", + "discardDialog": { + "title": "{count, plural, =0 {Nu ştergeţi fişierele?} one {Renunţaţi la fişierul selectat?} other {Renunţaţi la fişierele # selectate?} few {Renunţaţi la fişierele # selectate?}}", + "description": "{count, plural, =0 {Niciun fişier selectat.} one {Acest lucru şterge definitiv fişierul selectat de pe disc. Această acţiune nu poate fi anulată.} other {Aceasta şterge definitiv # fişierele selectate de pe disc. Această acţiune nu poate fi anulată.} few {Aceasta şterge definitiv # fişierele selectate de pe disc. Această acţiune nu poate fi anulată.}}", + "confirm": "{count, plural, one {Ştergeţi fişierul} other {Ştergeţi # fişiere} few {Ştergeţi # fişiere}}", + "failed": "Fișierele selectate nu au putut fi șterse. Încercați din nou." + }, "commaSeparated": "separate prin virgulă", "destinationLibrary": "Biblioteca de destinație", "destinationFolder": "Dosar destinație", "nFailed": "{count} a eșuat", "updatedOfFiles": "{updated} de {total} fişiere actualizate", "errorStatus": "{status} erori", + "invalidSeriesIndex": "Introduceți cifre cu cel mult o zecimală, cum ar fi 5.10.", "tab": { "all": "Toate", "pending": "In asteptare", @@ -4503,6 +7879,22 @@ "nFailed": "{count} a eșuat", "nTotal": "{count} total" }, + "uploadFailures": { + "heading": "{count, plural, one {Nu s-a putut încărca fişierul #} other {Nu s-au putut încărca # fişiere} few {Nu s-au putut încărca # fişiere}}", + "dismissAll": "Renunțați la toate", + "retry": "Reîncercați încărcarea {name}", + "dismiss": "Respingere {name}", + "reason": { + "unsupported": "Tip de fișier neacceptat: .{extension}", + "noExtension": "Fişierul nu are extensie, deci formatul său este necunoscut", + "tooLarge": "Mai mare decât limita de încărcare {limit}", + "tooLargeServer": "Mai mare decât limita de încărcare a serverului", + "tooLargeProxy": "Respins la fel de mare înainte de a ajunge în BookOrbit, probabil de un proxy invers", + "storageFull": "Serverul nu are spațiu de stocare", + "network": "Nu s-a putut ajunge la server", + "status": "Încărcare eșuată (HTTP {status})" + } + }, "fileList": { "emptyTitle": "Niciun fișier în Dock-ul Cărții", "emptyMessageDefault": "Încărcaţi fişiere sau plasaţi-le în folderul Book Dock", @@ -4566,6 +7958,7 @@ "moreDuplicates": "+{count} mai mult în bibliotecă", "discardDuplicates": "Renunțați la duplicate", "failedCount": "{count, plural, =0 {nici un fişier nu a reuşit} one {# fişier a eşuat} few {# fişiere au eşuat} other {# de fişiere au eşuat}}", + "failedWithDuplicates": "{count,plural,one{{failed} eșuat (# duplicate)} few{{failed} eșuat (# duplicate)} other{{failed} eșuat (# duplicate)} =0{{failed} eșuat (# duplicate)}}", "view": "Vizualizare", "viewExisting": "Vizualizare existentă", "hide": "Ascunde", @@ -4612,6 +8005,7 @@ }, "empty": { "nothingToReview": "Nimic nu are nevoie de recenzie. Fiecare fișier gata are o destinație și un meci încrezător.", + "nothingReadyToFile": "Niciun fișier pregătit pentru fișier.", "dropHint": "Sau plasează fișiere oriunde pe această pagină." }, "selectAllOnPage": "Selectaţi toate fişierele de pe această pagină", @@ -4636,10 +8030,841 @@ "access_denied": "Fără acces", "invalid_format": "Format greșit", "error": "Ar eşua" + }, + "unit": { + "fileCount": "{count, plural, one {# fişier} other {# fişiere} few {# fişiere}}", + "filesHeading": "{count, plural, one {Fişier în această intrare} other {# fişiere în această intrare} few {# fişiere în această intrare}}", + "role": { + "content": "Carte", + "cover": "Copertă", + "metadata": "Metadate", + "supplement": "Extra" + } } } }, + "bookRequests": { + "title": "Cereri (Beta)", + "subtitle": "Solicitați cărți pe care biblioteca nu le are încă. Această caracteristică este experimentală, așteptați erori minore.", + "tabs": { + "search": "Solicită o carte", + "mine": "Solicitările mele", + "all": "Toate cererile" + }, + "mediaKind": { + "ebook": "Carte electronică", + "audiobook": "Audiobok", + "comic": "Comă" + }, + "status": { + "pending": "In asteptare", + "approved": "Aprobat", + "rejected": "Respins", + "cancelled": "Anulat", + "searching": "Căutare", + "grabbed": "Clasificat", + "downloading": "Descărcare", + "importing": "Importul", + "needs_review": "Necesită revizuire", + "available": "Disponibil", + "failed": "Eșuat" + }, + "search": { + "titleLabel": "Titlu", + "titlePlaceholder": "Titlu carte", + "authorLabel": "Autor", + "authorPlaceholder": "Numele autorului", + "mediaKindLabel": "Format", + "libraryLabel": "Adaugă la bibliotecă", + "libraryAny": "Lăsați aprobatorul să decidă", + "libraryDefault": "Implicit ({library})", + "libraryChoose": "Alege o bibliotecă", + "libraryRequired": "Solicitările dvs. sunt aprobate de îndată ce le faceți, așa că alegeți biblioteca în care ar trebui să aterizeze.", + "fulfillmentLabel": "Completare", + "fulfillmentAutomatic": "Automat", + "fulfillmentChooseRelease": "Alegeți o versiune", + "folderLabel": "Dosar", + "languageLabel": "Solicitare limbă", + "languageAny": "Orice limbă", + "languageDefaultToggleLabel": "Utilizaţi această limbă pentru cereri noi", + "languageDefaultSetHint": "Cere această limbă la fiecare solicitare nouă", + "languageDefaultClearHint": "Opriți solicitarea implicită pentru această limbă", + "languageDefaultSaved": "Solicitări noi vor solicita {language}", + "languageDefaultCleared": "Solicitările noi vor urma limba interfeței", + "languageDefaultFailed": "Nu s-a putut salva preferințele dvs de limbă", + "submit": "Caută", + "searching": "Se caută furnizorii...", + "noResultsTitle": "Nu s-au găsit cărți potrivite", + "noResultsHint": "Încercați un titlu sau un autor diferit.", + "noResultsIndexerHint": "Încearcă alt titlu sau autor sau caută index-urile pentru \"{title}\" și alege tu însuți o lansare.", + "freeTextAction": "Indexare căutare", + "manualSearchAction": "Caută indexări manual", + "yearUnknown": "An necunoscut", + "sourceCount": "{count, plural, one {# sursă} other {# surse} few {# surse}}", + "sourcesLabel": "Surse: {sources}", + "sourcesUnavailable": "Unele surse nu au răspuns, astfel încât rezultatele pot fi incomplete: {sources}", + "identifiers": { + "none": "Fără ISBN", + "one": "1 ISBN", + "confirmed": "INBN confirmat", + "count": "{count} ISBNs", + "sourcesTitle": "Surse metadate", + "provider": "Furnizor", + "providerTitle": "Titlul furnizorului", + "isbn": "ISBN", + "year": "An", + "language": "Limba", + "notProvided": "Nu este furnizat", + "searchScope": "Alege unul din {count, plural, one {# ISBN} other {# ISBN-uri} few {# ISBN-uri}} pentru a căuta sau a căuta după titlu şi autor.", + "searchScopeLimited": "Alege un ISBN de căutat.", + "titleAuthorOnly": "Nu a fost furnizat niciun ISBN. BookOrbit va căuta o dată după titlu și autor.", + "chooseSearch": "Alegeți o ediție de căutat", + "searchByEdition": "Găsește o versiune pentru o ediție", + "findRelease": "Găsește lansare", + "primaryIsbn": "ISBN {isbn}", + "primaryTitleAuthor": "Titlu și autor", + "recommended": "Recomandat", + "recommendationHelpLabel": "Cum alege BookOrbit ISBN recomandat", + "recommendationTitle": "Cum este aleasă căutarea recomandată", + "recommendationLanguage": "Preferă limba solicitată, apoi o limbă necunoscută, înainte de o nepotrivire cunoscută.", + "recommendationAgreement": "Preferă un ISBN confirmat de furnizori mai independenți de metadate.", + "recommendationProvider": "Utilizați prioritatea de furnizor de metadate BookOrbit.", + "recommendationRelevance": "Utilizați poziția ediției în rezultatele furnizorului.", + "recommendationYear": "Preferă cel mai apropiat an al ediţiei de cea mai veche ediţie a lucrării de anul acesta.", + "recommendationStable": "Utilizaţi ISBN însuşi ca final stabil de spargere a tiurilor.", + "recommendationFallback": "Dacă nu este disponibil un ISBN valid, căutările de cărți o dată cu titlul și autorul. Alegând o ediție din meniu întotdeauna suprascrie această recomandare.", + "withoutIsbn": "Căutare după titlu și autor", + "action": "Acțiune" + }, + "request": "Solicitare", + "download": "Descărcare", + "getAutomatically": "Ia automat", + "chooseRelease": "Alegeți documentul", + "joinRequest": "Adaugă și eu", + "submitted": "Cerere trimisă", + "joinedExisting": "te-a adăugat la cererea existentă", + "submitFailed": "Nu s-a putut trimite cererea", + "alreadyInLibrary": "Deja în biblioteca ta", + "alreadyRequested": "Deja solicitat de altcineva", + "alreadyRequestedByYou": "Ai solicitat deja acest lucru", + "preferredFormatsLabel": "Formate preferate", + "preferredFormatsHint": "Lansările în aceste formate sunt clasate mai sus. Alte formate sunt încă oferite.", + "noteLabel": "Notă pentru aprobator", + "notePlaceholder": "Orice ar trebui să fie știut despre această cerere", + "moreOptions": "Mai multe opțiuni", + "fewerOptions": "Mai puține opțiuni", + "optionsSummary": "{formats} · notă adăugată", + "formatToggleAria": "Preferă {format}", + "pair": { + "choice": "Ambele", + "choiceHint": "Întrebați e-cartea și audiobok-ul împreună", + "ebookLibraryLabel": "Biblioteca de cărţi electronice", + "audiobookLibraryLabel": "Bibliotecă audio", + "audiobookFolderLabel": "Dosar audio", + "landsTogether": "Ambele formate ajung ca o singură carte în {library}.", + "landsSeparately": "{library} păstrează câte o carte per fișier, astfel încât fiecare format sosește ca o carte proprie.", + "landsApart": "Cartea electronică şi audiobook-ul merg la biblioteci diferite, aşa că ajung în două cărţi.", + "preferredEbookFormats": "Formate preferate de cărți electronice", + "preferredAudiobookFormats": "Formate de audiobook preferate", + "state": { + "owned": "În biblioteca ta", + "following": "Ai solicitat acest lucru", + "joinable": "Solicitat", + "new": "Nu este solicitat" + }, + "requestBoth": "Solicită ambele", + "getBoth": "Obțineți ambele", + "chooseReleases": "Alege Partajări", + "joinBoth": "Adaugă la amândouă", + "requestEbook": "Solicită carte electronică", + "requestAudiobook": "Solicită audiobook", + "getEbook": "Obțineți e-book", + "getAudiobook": "Obțineți audiobook", + "joinEbook": "Adăugaţi-mă la solicitarea cărţii electronice", + "joinAudiobook": "Adăugaţi-mă la cererea de audiobook", + "haveBoth": "În biblioteca ta", + "requestedBoth": "Solicitat", + "submitted": "Solicită cartea electronică şi audiobook", + "submittedPartlyJoined": "Adresezate pe amândouă. Unul a fost deja pe drum, așa că ați fost adăugat la acea solicitare", + "submittedJoinsBook": "Solicitate. Se va alătura copiei deja din biblioteca ta" + } + }, + "card": { + "details": "Detalii", + "mediaKind": "Format", + "library": "Bibliotecă", + "requestedBy": "Solicitat de", + "requestedByAt": "{name} despre {time}", + "alsoWanted": "De asemenea căutat de", + "alsoWantedCount": "{count, plural, one {# altă persoană doreşte acest lucru} other {# alţii doresc acest lucru} few {# alţii doresc acest lucru}}", + "moreActions": "Mai multe acțiuni pentru {title}", + "settledIn": "Fișier în {library}, {time}", + "settledAt": "Închis {time}", + "dismissedBadge": "Respins" + }, + "detail": { + "unknownAuthor": "Autor necunoscut", + "requestedBy": "Solicitat de", + "requestedOn": "Solicitat pe", + "library": "Bibliotecă", + "series": "Serii", + "isbn": "ISBN", + "decidedBy": "Decisă de", + "requesterNote": "Notă de la solicitant", + "decisionNote": "Notă decizională", + "statusReason": "Ce l-a oprit", + "alsoWanted": "De asemenea căutat de", + "decisionNoteLabel": "Notă (opţional)", + "decisionNotePlaceholder": "Explicați decizia", + "destinationLibraryLabel": "Biblioteca de destinație", + "destinationLibraryPlaceholder": "Alege o bibliotecă", + "destinationFolderLabel": "Dosar destinație", + "languageLabel": "Limba solicitată", + "languageAny": "Orice limbă", + "destinationRequired": "Aprobând fișierele cartea într-o bibliotecă, așa că alegeți una înainte de a aproba.", + "fulfilTitle": "Închide această cerere", + "fulfilHint": "Îndreptați cererea către cartea pe care ați adăugat-o, sau la fișierul Book Dock care așteaptă să fie depus.", + "bookIdLabel": "ID Carte", + "bookIdPlaceholder": "ex. 128", + "dockFileIdLabel": "ID fișier andocare carte", + "dockFileIdPlaceholder": "ex. 42", + "backToList": "Toate cererile", + "loading": "Se încarcă cererea...", + "transfer": "Transfer", + "requestSection": "Solicitare", + "decideTitle": "Aprobați sau respingeți", + "fulfilSourceLabel": "Ce închide această solicitare", + "fulfilFromLibrary": "O carte în bibliotecă", + "fulfilFromDock": "Un fișier de andocare a cărții", + "fulfilSearchLabel": "Căutați fișierul care închide această cerere", + "fulfilSearchBooks": "Caută în bibliotecă după titlu sau autor", + "fulfilSearchDock": "Caută în doc de carte după numele fișierului", + "fulfilSearching": "Căutare...", + "fulfilNoResults": "Nimic potrivit. Încercați o altă căutare.", + "errors": { + "notFound": "Această cerere nu mai există.", + "forbidden": "Acea cerere aparține altcuiva.", + "loadFailed": "Nu s-a putut încărca cererea" + }, + "entityName": "Solicitare", + "pairSwitchLabel": "Formate în această solicitare", + "joinsBook": "Alătură-te unei cărți pe care o ai", + "joinsBookHint": "Când ajunge, este adăugat în cartea deja din biblioteca ta" + }, + "actions": { + "approve": "Aprobați", + "approveAndNext": "Aprobă și următorul", + "reject": "Respingere", + "cancel": "Anulează cererea", + "cancelDownload": "Anulează descărcarea", + "dismiss": "Renunţaţi", + "restore": "Restaurează", + "delete": "Șterge cererea", + "markFulfilled": "Marcare îndeplinită", + "grab": "Găsește o versiune", + "goToBook": "Mergi la carte", + "retryRelease": "Încearcă altă versiune", + "leave": "Părăsește solicitarea", + "pair": { + "approveBoth": "Aprobă ambele", + "approveEbook": "Aprobare carte electronică", + "approveAudiobook": "Aprobați audiobok-ul", + "rejectBoth": "Respinge ambele", + "rejectEbook": "Respingeți cartea electronică", + "rejectAudiobook": "Respingeţi audiobook", + "cancelBoth": "Anulează ambele", + "cancelEbook": "Anulare carte electronică", + "cancelAudiobook": "Anulează carnetul audio", + "dismissBoth": "Renunțați la ambele", + "dismissEbook": "Renunțați la e-carte", + "dismissAudiobook": "Renunţă la audiobok", + "restoreBoth": "Restaurează ambele", + "restoreEbook": "Restaurare carte electronică", + "restoreAudiobook": "Restabilire audio-obook", + "grabEbook": "Găseşte o versiune de carte electronică", + "grabAudiobook": "Găsiți o versiune audio", + "chooseReleases": "Alege Partajări", + "openEbook": "Deschideți solicitarea de carte electronică", + "openAudiobook": "Deschideți cererea de audiobook" + } + }, + "filters": { + "status": "Status", + "anyStatus": "Orice stare", + "mediaKind": "Format", + "anyMediaKind": "Orice format", + "requester": "Solicitant", + "anyRequester": "Orice solicitant", + "showDismissed": "Afișare respinsă", + "fulfilment": "Îndeplinirea", + "anyFulfilment": "Orice realizare", + "selfServeOnly": "Auto-servite", + "approvedOnly": "Am trecut prin aprobare" + }, + "list": { + "loading": "Se încarcă cererile...", + "emptyMine": "Încă nu aţi solicitat nici o carte.", + "emptyAll": "Nici o cerere de carte încă.", + "pagination": "Pagini cereri", + "pageOf": "Pagina {page} {total}", + "emptyHint": "Căutați o carte și va apărea aici odată ce o cereți." + }, + "toasts": { + "approved": "Cerere aprobată", + "rejected": "Cerere respinsă", + "cancelled": "Cerere anulată", + "downloadCancelled": "Descărcare anulată", + "dismissed": "Ascuns din lista ta", + "restored": "Înapoi pe lista ta", + "deleted": "Cerere ștearsă", + "fulfilled": "Solicitare marcată îndeplinită", + "grabbed": "Descărcare începută", + "downloadRemoved": "Eliminat din clientul de descărcare", + "bulkApproved": "{count, plural, one {# solicitare aprobată} other {# cereri aprobate} few {# cereri aprobate}}", + "bulkApprovedPartial": "{done} aprobat, {failed} nu a putut fi", + "bulkDismissed": "{count, plural, one {# cere ascunse} other {# cereri ascunse} few {# cereri ascunse}}", + "bulkDismissedPartial": "{done} ascuns, {failed} nu a putut fi", + "unitChosen": "Importul cărţii pe care aţi ales-o", + "languageChanged": "Limba cererii actualizată", + "left": "Ai părăsit această cerere", + "bulkRejected": "{count, plural, one {# solicitare respinsă} other {# cereri respinse} few {# cereri respinse}}", + "bulkRejectedPartial": "{done} respins, {failed} nu a putut fi", + "importDiscarded": "Fișierul importat a fost eliminat", + "pairApproved": "Ambele aprobate", + "pairRejected": "Respins ambele" + }, + "errors": { + "loadFailed": "Nu s-au putut încărca cererile", + "approveFailed": "Nu s-a putut aproba cererea", + "rejectFailed": "Nu s-a putut respinge cererea", + "cancelFailed": "Nu s-a putut anula cererea", + "cancelDownloadFailed": "Nu s-a putut anula descărcarea", + "dismissFailed": "Nu s-a putut ascunde cererea", + "restoreFailed": "Nu s-a putut aduce cererea înapoi", + "deleteFailed": "Nu s-a putut șterge solicitarea", + "fulfilFailed": "Nu s-a putut închide cererea", + "grabFailed": "Nu s-a putut porni acea descărcare", + "removeDownloadFailed": "Nu s-a putut elimina torentul din clientul de descărcare", + "bulkApproveFailed": "Nu s-au putut aproba cererile selectate", + "bulkDismissFailed": "Nu s-au putut ascunde cererile selectate", + "selectUnitFailed": "Acea carte nu a putut fi importată.", + "languageChangeFailed": "Nu s-a putut schimba limba solicitării", + "leaveFailed": "Această cerere nu a putut fi lăsată", + "bulkRejectFailed": "Această selecție nu a putut fi respinsă", + "discardImportFailed": "Acest import nu a putut fi eliminat", + "approveCompanionFailedEbook": "Aprobat de acesta, dar cartea electronică nu a putut fi aprobată", + "approveCompanionFailedAudiobook": "Aprobat de acesta, dar audiobook-ul nu a putut fi aprobat" + }, + "grab": { + "title": "Trimite către un client de descărcare", + "subtitle": "Lipiți un link magnet sau încărcați un .torrent pentru \"{title}\".", + "singleFileNote": "O versiune poate fi o singură carte în mai multe formate, un audiobook în părți sau o arhivă - toate acestea se importă ca o singură carte. O lansare care conține mai multe cărți separate vă cere pe care să le păstrați.", + "magnet": "Magnet link", + "torrentFile": "fișier torent", + "client": "Descărcare client", + "submit": "Trimite", + "errors": { + "pickOne": "Furnizați fie un link magnet, fie un fișier .torrent, nu ambele", + "fileTooLarge": "Acel fișier este mai mare decât {limit}, deci nu este un fișier .torrent", + "fileUnreadable": "Acest fișier nu a putut fi citit" + }, + "noClientList": "BookOrbit va utiliza cel mai înalt nivel de prioritate pentru descărcarea clientului." + }, + "attempts": { + "title": "Încercări anterioare", + "loading": "Se încarcă încercările anterioare...", + "loadFailed": "Nu s-au putut încărca încercările anterioare", + "refused": "Refuzat, nimic descărcat", + "handPicked": "Trimis manual" + }, + "download": { + "source": { + "automatic": "Clasificat automat", + "manual": "Ales de un aprobator", + "pasted": "Pastat manual" + }, + "transferred": "{done} {total}", + "transferredUnknown": "{done} descărcat", + "progressLabel": "Descarcă progresul pentru {title}", + "status": { + "queued": "În așteptare pentru descărcare", + "downloading": "Descărcare", + "completed": "Descărcare terminată", + "importing": "Importă în biblioteca ta", + "needs_review": "Se așteaptă recenzia în Dock-ul Cărții", + "imported": "Adăugat la biblioteca ta", + "failed": "Descărcare eșuată" + } + }, + "releases": { + "title": "Alege o versiune", + "retryTitle": "Încearcă altă versiune", + "pairTitle": "Alege versiunile", + "pair": { + "tabsLabel": "Formate pentru a alege Partajări pentru", + "releaseCount": "{count, plural, one {# lansare} other {# lansări} few {# lansări}}", + "searching": "Căutare", + "toChoose": "Pentru a alege", + "sent": "Trimis", + "finishedTitle": "Nimic rămas de ales", + "finishedHint": "Ambele formate au acum eliberarea lor. Puteți urma pe fiecare din cerere.", + "backToRequest": "Înapoi la cerere", + "done": "Terminat" + }, + "subtitle": "Clasat la fiecare indexare activată.", + "summaryCount": "{count, plural, one {# lansare} other {# lansări} few {# lansări}}", + "allFreeleech": "toate freeleech", + "allLanguage": "toate {language}", + "allFormat": "toate {format}", + "allIndexer": "toate de la {name}", + "criteria": { + "label": "Căutare activă", + "searched": "Cautat", + "searchedTitleAuthor": "Titlu si autor cautat", + "nothingFound": "Nimic găsit pentru {key}", + "changeSearch": "Schimbă căutarea", + "closeSearch": "Inchide", + "sources": "Surse", + "sourceSearchedIsbn": "a căutat ISBN", + "sourceSearchedTitleAuthor": "a căutat titlul și autorul", + "sourceNoAdapter": "nu există adaptor potrivit", + "sourceReleases": "{count, plural, one {# lansare} other {# lansări} few {# lansări}}", + "sourceNone": "nicio potrivire", + "sourceFiltered": "{count} filtrate", + "sourcesSearched": "{count, plural, one {# sursă căutată} other {# surse căutate} few {# surse căutate}}", + "showEachSource": "Arată fiecare", + "uncovered": "{count, plural, one {# sursa activată face} other {# surse activate fac} few {# surse activate fac}} nu poartă acest tip de carte", + "fixSource": "Repară în setări", + "searchInstead": "Caută în schimb", + "keyTried": "încercat, nimic găsit", + "keyTriedCount": "încercat, {count, plural, one {# lansare} other {# versiuni} few {# versiuni}}", + "searchWithoutIsbn": "Titlu și autor", + "customIsbnSource": "ISBN personalizat", + "filteredLocally": "Filtrate local:", + "title": "Titlu", + "author": "Autor", + "additionalAuthors": "Autori suplimentari", + "isbn10": "ISBN-10", + "isbn13": "ISBN-13", + "isbns": "ISBNs", + "mediaKind": "Media", + "language": "Limba", + "formats": "Formate preferate", + "editFields": "Editare câmpuri", + "closeEditor": "Închide editorul", + "authorsEditor": "Autori, câte unul pe linie", + "authorsPlaceholder": "Un autor pe linie", + "authorsInvalid": "Utilizați cel mult 50 de autori, cu 255 de caractere sau mai puține per autor.", + "languagePlaceholder": "Orice limbă", + "formatsPlaceholder": "epub, azu3", + "formatsInvalid": "Utilizați cel mult 20 de formate, cu 20 de caractere sau mai puține per format.", + "isbnSelection": "Metoda de căutare", + "isbnSelectionHint": "Alegeți un ISBN, titlu și autor sau adăugați un cod ISBN personalizat.", + "noIsbnSelected": "Titlu și autor, fără ISBN", + "customIsbn": "ISBN personalizat", + "customIsbnPlaceholder": "ISBN-10 sau ISBN-13", + "addIsbn": "Adaugă ISBN", + "invalidIsbn": "{isbn} nu este un ISBN-10 sau ISBN-13.", + "titleRequired": "Introduceți un titlu pentru a căuta.", + "fixedMedia": "Media rămâne {media} deoarece controlează surse compatibile și calea de împlinire.", + "useRequestFields": "Utilizați câmpurile de cerere", + "runSearch": "Cauta cu aceste campuri" + }, + "previousFailure": "Ultima încercare a eșuat: {reason}", + "refused": { + "sourceRefused": "Această sursă a refuzat o versiune anterioară", + "sourceUnavailable": "Această sursă nu a răspuns", + "vipRequired": "Necesită un cont VIP la această sursă", + "clientRefused": "Clientul dvs. a refuzat o versiune anterioară", + "clientUnavailable": "Clientul dvs. de descărcare nu a răspuns la o versiune anterioară" + }, + "singleFileNote": "O versiune poate fi o singură carte în mai multe formate, un audiobook în părți sau o arhivă - toate acestea se importă ca o singură carte. O lansare care conține mai multe cărți separate vă cere pe care să le păstrați.", + "searching": "Se caută indexuri...", + "refresh": "Caută din nou", + "cached": "Arată ultima căutare. Caută din nou după rezultate noi.", + "sortBy": "Sortează după", + "sort": { + "score": "Cel mai bun meci", + "seeders": "Seederi", + "size": "Dimensiune", + "bitrate": "Bitrate", + "added": "Data adăugării" + }, + "freeleechOnly": "Doar Freeleech ({count})", + "clearFilters": "Ștergeți filtrele", + "filteredEmpty": "Nicio lansare nu corespunde acestor filtre.", + "grab": "Descărcați versiunea", + "viewFiles": "Vizualizare fișiere", + "hideFiles": "Ascunde fişierele", + "viewDetails": "Despre conținut", + "hideDetails": "Ascundeți detaliile", + "inspectingFiles": "Citeşte lista de fişiere de autorizare...", + "inspectingNzb": "Preluare și validare NZB...", + "inspectingShort": "Se verifică fișierele...", + "inspectionFailed": "Această versiune listă de fișiere nu a putut fi citită.", + "manifest": { + "ready": "{count, plural, one {Această versiune conține # fișier. Fișierul cărții acceptat poate fi importat.} other {Această versiune conține # fișiere. Fișierul de carte acceptat poate fi importat.} few {Această versiune conține # fișiere. Fișierul de carte acceptat poate fi importat.}}", + "noSupported": "Această versiune nu are fișierul de carte suportat direct, deci nu poate fi trimisă.", + "contentsUnknown": "Această versiune este ambalată ca o arhivă (RAR, ZIP sau 7z). BookOrbit o va extrage după descărcare, deci conținutul său nu este cunoscut încă.", + "multipleBooks": "Această versiune conține {count} cărți separate. După ce o descarcă, vi se va cere să importați.", + "multiPartBook": "{count, plural, one {Această versiune este o carte făcută din # fișier.} other {Această versiune este o carte făcută din # fișiere, importată împreună ca o singură carte.} few {Această versiune este o carte făcută din # fișiere, importată împreună ca o singură carte.}}", + "metadataUnavailable": "Acesta este un link magnetic. Lista sa de fișiere nu este disponibilă până când un client de torrent preia metadatele din roiu.", + "usenetMetadataUnavailable": "Aceasta este o versiune Usenet. Lista sa finală de fișiere nu este disponibilă până când NZBGet descărcări și post-procesează acest lucru.", + "bookFile": "Fişier carte", + "extraFile": "Extra", + "truncated": "Se afişează {shown} de fişiere {total}.", + "untitledUnit": "Fără titlu", + "unitFiles": "{count, plural, one {# fişier} other {# fişiere} few {# fişiere}}", + "unitsTruncated": "Se afișează {shown} din {total} cărți.", + "ignored": "{count, plural, one {Ignoră # mostră sau padding file.} other {Se ignoră # eșantionare și padding files.} few {Se ignoră # eșantionare și padding files.}}", + "mediaKind": { + "ebook": "Carte electronică", + "audiobook": "Audiobok", + "comic": "Comă" + } + }, + "manual": "Lipește în schimb un link", + "manualTorrent": "Folosește magnet sau .torrent în schimb", + "indexer": "Indexare", + "size": "Dimensiune", + "seeders": "Seederi", + "language": "Limba", + "seederCountPlural": "{count, plural, one {# căutător} other {# seedere} few {# seedere}}", + "seederCountUnknown": "Seederi necunoscuți", + "format": "Format", + "files": "Fișiere", + "fileLayout": { + "single": "Un fișier listat", + "multi": "Mai multe fișiere listate" + }, + "fileCount": "{count, plural, one {# fişier} other {# fişiere} few {# fişiere}}", + "audio": "Audio", + "bitrateAtLeast": "{rate}k+", + "channels": { + "mono": "Mono", + "stereo": "Stereo" + }, + "chapterCountPlural": "{count, plural, one {# capitol} other {# capitole} few {# capitole}}", + "durationHm": "{hours}h {minutes}m", + "durationM": "{minutes}m", + "freeleech": "Freeleech", + "vipOnly": "Doar VIP", + "hideVipOnly": "Ascunde doar VIP", + "noneMatchedProfile": "Nicio lansare aici nu corespunde profilului dvs. pentru acest mediu, astfel încât niciunul dintre ele nu va fi descărcat automat. Încă poți trimite unul de mână. Pentru a-l extinde, adaugă un nivel cu mai puține condiții sub cele pe care le ai.", + "profileMismatch": { + "summary": "{count,plural,one{# eliberarea a fost găsită, dar descărcarea automată o va omite deoarece nu se potrivește cu nimic {medium} nivel profil. Scorul de potrivire și regulile de profil sunt verificări separate. Încă mai puteți apăsa pe Trimitere.} few{# au fost găsite versuri, dar descărcarea automată le va omite deoarece niciunul nu se potrivește cu a {medium} nivel profil. Scorul de potrivire și regulile de profil sunt verificări separate. Încă mai puteți apăsa pe Trimitere.} other{# au fost găsite versuri, dar descărcarea automată le va omite deoarece niciunul nu se potrivește cu a {medium} nivel profil. Scorul de potrivire și regulile de profil sunt verificări separate. Încă mai puteți apăsa pe Trimitere.}}", + "review": "Revizuire {medium} profil", + "row": "Descărcarea automată va sări peste asta. Nivel foarte apropiat: {tier}. {reasons}", + "failures": { + "formatUnknown": "{source} nu a prezentat un format; acest nivel necesită {expected}.", + "format": "Formatul este {actual}, acest nivel necesită {expected}.", + "fileLayoutUnknown": "{source} nu a specificat un număr de fișiere; acest nivel necesită {expected}.", + "fileLayout": "Fișierul este {actual}, acest nivel necesită {expected}.", + "bitrate": "Bitrate este {actual} kbps; acest nivel necesită cel puțin {expected} kbps.", + "channels": "Audio este {actual}, acest nivel necesită {expected}.", + "languageUnknown": "{source} nu a specificat o limbă; acest nivel necesită {expected}.", + "language": "Limba este {actual}, acest nivel necesită {expected}.", + "source": "Această sursă nu este inclusă în nivel.", + "seeders": "Această lansare are {actual} seeders; acest nivel necesită cel puțin {expected}.", + "sizeUnknown": "{source} nu a specificat o mărime; acest nivel permite până la {expected}.", + "size": "Mărimea este {actual}, acest nivel permite până la {expected}.", + "freeleech": "Acest nivel necesită freeleech.", + "vipOnly": "Acest nivel exclude lansările numai pentru VIP." + } + }, + "alreadyGrabbed": "Deja smuls", + "freeleechLabel": "Freeleech", + "published": "Publicat", + "scoreLabel": "Scorul se potrivește {score} din 100", + "scoreBreakdown": "Cum a obținut această lansare", + "whyThisScore": "De ce acest punctaj", + "failures": { + "unauthorized": "Autentificare expirată", + "throttled": "rată limitată", + "timeout": "expirat", + "unreachable": "inaccesibil", + "unsupportedMedium": "nu poartă acest tip de carte", + "error": "căutare eșuată" + }, + "reasons": { + "isbnMatch": "Meciuri ISBN", + "titleMatch": "Potrivire titlu", + "authorMatch": "Titlu și potrivire autor", + "preferredFormat": "Format preferat {detail}", + "knownFormat": "Format {detail}", + "unknownFormat": "Formatul nu este declarat", + "expectedSize": "Dimensiune plauzibilă", + "suspiciousSize": "Dimensiune improbabilă {detail}", + "seeders": "{detail} seedere", + "freeleech": "Freeleech", + "likelySeveralBooks": "{detail} fișiere, pot fi mai multe cărți" + }, + "errors": { + "loadFailed": "Nu s-a putut căuta Partajări" + }, + "backToRequest": "Înapoi la cerere", + "bestMatch": "Cel mai bun meci", + "flags": "Semnalări", + "score": "Scor", + "release": "Eliberează", + "send": "Trimite", + "tableCaption": "Lansări, clasificate", + "onlyBestMatch": "Aceasta este singura lansare care s-a potrivit.", + "tiedWithBest": "{count, plural, one {# altă lansare a obţinut acelaşi scor} other {# alte versiuni au obţinut acelaşi scor} few {# alte versiuni au obţinut acelaşi scor}}", + "inspectionFailedHint": "Nu a fost trimis către un client de descărcare. Încercați din nou, sau folosiți Lipiți un link.", + "inspectionFailedHintGeneric": "Nu a fost trimis către un client de descărcare. Încercați din nou sau alegeți o altă versiune.", + "mediumUncovered": "Nicio sursă nu poartă acest tip de carte.", + "mediumUncoveredHint": "Nici unul dintre indexurile activate nu îl acoperă. Adăugați unul care face sau lipiți un link.", + "noSourcesConfigured": "Nu sunt încă setate surse de căutare.", + "noSourcesEnabled": "Fiecare sursă de căutare este oprită.", + "noSourcesConfiguredHint": "Nimic nu a fost căutat. Adăugați un indexer sau instalați un plugin sursă, sau lipiți un link către o lansare.", + "noSourcesEnabledHint": "Nu a fost căutat nimic. Porniți un link înapoi sau lipiți un link pentru a vă elibera.", + "noSourcesAskAdmin": "Nimic nu a fost căutat. Cereți unui administrator să configureze o sursă de căutare, sau lipiți un link către o versiune proprie.", + "addSource": "Adaugă o sursă", + "reviewSources": "Revizuiește sursele", + "protocol": { + "torrent": "Torent", + "usenet": "Usenet", + "direct": "Descărcare directă", + "directPill": "Directă" + } + }, + "seed": { + "title": "Descărcare client", + "automated": "BookOrbit a ales această versiune automat.", + "loading": "Se citește clientul descărcat...", + "loadFailed": "Nu s-a putut ajunge la clientul descărcat pentru această cerere.", + "notInClient": "Clientul de descărcare nu mai are acest torent.", + "state": "Status", + "seeding": "Seeding", + "stopped": "Oprit", + "client": "Client", + "ratio": "Raport", + "time": "Timp de extragere", + "uploaded": "Încărcat", + "hours": "{value} h", + "ofGoal": "{value} {goal}", + "deleteFiles": "De asemenea, șterge fișierele descărcate", + "remove": "Elimină din client", + "removeHint": "BookOrbit nu oprește niciodată seed-ul pe cont propriu. Cartea importată rămâne în biblioteca ta în nici un fel.", + "confirm": { + "title": "Elimină torentul?", + "description": "Torentul oprește seedingul. Fișierele descărcate rămân pe disc.", + "descriptionWithFiles": "Torentul oprește seeding și fișierele descărcate ale acestuia sunt șterse. Cartea importată rămâne în biblioteca ta." + } + }, + "pipeline": { + "label": "Progresul", + "steps": { + "asked": "Întrebat", + "approved": "Aprobat", + "release": "Lansare găsită", + "downloading": "Descărcare", + "filed": "Arhivat" + }, + "summary": { + "waiting": "Aşteptare la: {step}", + "progress": "În desfășurare: {step}", + "done": "Înregistrat în biblioteca ta", + "failed": "Oprită de un eșec la: {step}", + "stopped": "Oprită la: {step}" + } + }, + "density": { + "label": "Densitatea listei", + "comfortable": "Comfortable", + "compact": "Compact" + }, + "drawer": { + "label": "Detaliile cererii", + "description": "Cererea, etapa la care s-a ajuns şi deciziile care au fost luate în această privinţă.", + "previous": "Solicitare anterioară", + "next": "Următoarea solicitare", + "position": "{position} {total}", + "shortcuts": "J / K pentru mutare, A pentru aprobare, Esc pentru a închide" + }, + "table": { + "caption": "Cereri de carte, cu etapa la care fiecare a ajuns", + "cover": "Copertă", + "title": "Titlu", + "mediaKind": "Format", + "requestedBy": "Solicitat de", + "age": "Vârsta", + "state": "Județ", + "outcome": "Rezultat", + "actions": "Acțiuni", + "selectAll": "Selectați fiecare solicitare în așteptare pentru aprobare", + "selectRow": "Selectați {title}", + "toggleDetail": "Arată ce s-a întâmplat cu {title}", + "release": "Eliberează", + "decidedBy": "Decisă de", + "decisionNote": "Notă decizională", + "requestNote": "Solicită notă", + "openDetail": "Deschide detalii complete", + "pairMedia": "Carte electronică și audiobook" + }, + "confirm": { + "cancelDownloadTitle": "Anulați această descărcare?", + "cancelDownloadDescription": "Transferul activ se oprește și cererea rămâne deschisă, astfel încât poate fi aleasă o altă versiune. Datele gestionate de client sunt păstrate; stagiul parțial de descărcare directă este șters.", + "cancelTitle": "Opriți această solicitare?", + "cancelDescription": "Se mută la anulare. Nimeni nu așteaptă să primească cartea.", + "cancelDescriptionWithDownload": "Transferul activ este oprit. Datele din clientul descărcat sunt păstrate; aşteptarea descărcării directe parţiale este ştearsă.", + "deleteTitle": "Ștergeți această cerere?", + "deleteDescription": "Cererea și istoricul celor care au solicitat acest lucru sunt bune pentru toată lumea. Orice torrent încă se seeding este eliminat din clientul de descărcare cu fișierele păstrate. Staaging direct download este curățat automat. Ștergerea cererii în schimb o ascunde doar din propria listă.", + "discardImportTitle": "Renunțați la acest import?", + "discardImportDescription": "Fișierele descărcate sunt șterse din Dock de Carte, iar cererea este marcată a eșuat. Torentul păstrează seeding-ul; opriți-l separat dacă vreți să dispară.", + "leaveTitle": "Lăsați această solicitare?", + "leaveDescription": "Nu îl mai urmărești și nu mai ești notificat în legătură cu asta. Oricine i s-a cerut își păstrează cererea.", + "rejectDescription": "Toată lumea care aşteaptă aceste cereri i se spune că au fost refuzate. Nimic nu este descărcat." + }, + "outcome": { + "filedIn": "Înregistrat în {library} {time}", + "filed": "Dosar {time}", + "rejected": "Respins {time}", + "cancelled": "Anulat {time}", + "awaitingApproval": "Aşteptare pentru aprobare", + "awaitingReview": "Se așteaptă o verificare manuală", + "failedUnknown": "Oprit fără un motiv din indexare", + "atStage": { + "asked": "Tocmai am cerut", + "approved": "Aprobat, încă nu a fost căutat", + "release": "Caut o versiune", + "downloading": "Descărcare lansare", + "filed": "Depozitarea în bibliotecă" + } + }, + "handback": { + "AUTOMATION_DISABLED": "Preluare automată este oprită, deci aceasta are nevoie de o lansare aleasă de mână", + "NO_DESTINATION": "Această cerere nu are bibliotecă de destinație, deci nu există nicăieri pentru a înregistra cartea", + "ATTEMPT_LIMIT": "Îndeplinirea automată a renunțat după {attempts} încercări", + "SEARCH_FAILED": "Nu s-a putut căuta o versiune: {detail}", + "NO_SOURCES_CONFIGURED": "Nu sunt setate surse de căutare, deci nimic nu a fost căutat pentru această solicitare", + "NO_SOURCES_ENABLED": "Fiecare sursă de căutare este oprită, deci nimic nu a fost căutat pentru această solicitare", + "MEDIUM_UNCOVERED": "Nicio sursă de căutare activată nu are acest tip de carte, deci nu a fost căutat nimic pentru această solicitare", + "PROFILE_EXCLUDED_ALL": "Niciun document nu corespunde profilului pentru acest mediu, astfel încât acesta are nevoie de o lansare aleasă de mână", + "ALL_TRIED": "Fiecare produs suficient pentru a prinde a fi încercat deja, astfel încât acesta are nevoie de o lansare aleasă de mână", + "BELOW_SCORE_FLOOR": "Nici un scor de lansare {floor} sau mai bun, astfel încât acesta are nevoie de o lansare aleasă manual", + "ALL_BLOCKED": "Fiecare bun de eliberare destul de bun pentru a prinde a fi exclus de un eșec mai devreme, deci acesta are nevoie de o lansare aleasă manual", + "ABANDONED": "Nu a fost selectată nicio versiune, deci această descărcare nu a început" + }, + "submitError": { + "SUBMIT_TITLE_REQUIRED": "Dați un titlu cărții înainte de a o solicita", + "SUBMIT_SELF_FULFIL_FORBIDDEN": "Nu vă este permis să îndepliniți propriile cereri", + "SUBMIT_LIBRARY_FORBIDDEN": "Nu ai acces la acea bibliotecă", + "SUBMIT_FOLDER_NEEDS_LIBRARY": "Alege o bibliotecă de destinație înainte de a alege un dosar", + "SUBMIT_FOLDER_NOT_IN_LIBRARY": "Acest dosar nu face parte din biblioteca de destinație", + "SUBMIT_DEFAULT_LIBRARY_UNREACHABLE": "Alege o bibliotecă de destinație la care poți ajunge: setările implicite ale acestei instanțe nu sunt ale tale", + "SUBMIT_DESTINATION_REQUIRED": "Solicitările dvs. sunt aprobate de îndată ce le faceți, așa că alegeți biblioteca în care ar trebui să aterizeze cartea", + "SUBMIT_SELF_SERVE_LIMIT": "Finalizează sau anulează unele descărcări mai întâi: poți avea {limit} în zbor imediat", + "SUBMIT_ON_BEHALF_FORBIDDEN": "Nu aveţi permisiunea să solicitaţi cărţi pentru alte persoane", + "SUBMIT_ON_BEHALF_UNKNOWN_USER": "Acel utilizator nu poate avea o cerere de carte făcută pentru ei", + "SUBMIT_TARGET_BOOK_NOT_FOUND": "Acea carte nu este într-o bibliotecă la care poți ajunge", + "SUBMIT_TARGET_BOOK_HAS_MEDIUM": "Acea carte are deja acest format" + }, + "actionError": { + "BOOK_REQUEST_NOT_PENDING": "Numai o solicitare în așteptare acceptă această acțiune; această solicitare este în prezent {status}", + "BOOK_REQUEST_NOT_CANCELLABLE": "O solicitare care este {status} nu mai poate fi anulată", + "BOOK_REQUEST_DESTINATION_REQUIRED": "Alege o bibliotecă de destinație înainte de a aproba această solicitare", + "BOOK_REQUEST_ACTION_FORBIDDEN": "Nu aveți permisiunea de a {action} această solicitare", + "BOOK_REQUEST_STALE_TRANSITION": "Această solicitare s-a schimbat în timp ce acțiunea a fost aplicată. Acum este {status}." + }, + "bulk": { + "selected": "{count, plural, one {# solicitare selectată} other {# cereri selectate} few {# cereri selectate}}", + "approveSelected": "{count, plural, one {Aprobați # cererea} other {Aprobați toate #} few {Aprobați toate #}}", + "clear": "Curăță", + "dismissSelected": "{count, plural, one {Ascunde # solicitarea} other {Ascunde toate #} few {Ascunde toate #}}", + "rejectSelected": "{count, plural, one {Respingeți # solicitarea} other {Respingeți toate #} few {Respingeți toate #}}", + "rejectNoteLabel": "Motiv (opţional)", + "rejectNotePlaceholder": "De ce acestea sunt refuzate", + "rejectTitle": "{count,plural,one{Respingere # solicitare?} few{Respingere # cereri?} other{Respingere # cereri?}}", + "rejectConfirm": "Respingere" + }, + "chooser": { + "title": "Alege ce carte să importe", + "hint": "Această versiune s-a dovedit a fi conținută {count} cărți separate. Descărcarea s-a terminat; alege-l pe cel care a fost solicitat, iar restul rămâne în urmă.", + "untitled": "Fără titlu", + "files": "{count, plural, one {# fişier} other {# fişiere} few {# fişiere}}", + "import": "Importă această carte", + "mediaKind": { + "ebook": "Carte electronică", + "audiobook": "Audiobok", + "comic": "Comă" + } + }, + "review": { + "title": "De ce aşteaptă acest lucru", + "scoreShort": "Fișierul importat a obținut scorul {score} împotriva acestei solicitări, sub {threshold} necesar pentru a o înregistra automat.", + "scoreClears": "Fișierul importat a obținut scorul {score}, care șterge {threshold} necesar pentru a-l fila automat.", + "verificationOff": "Verificarea importurilor este dezactivată, astfel încât acest fișier nu a fost niciodată înscris în cerere.", + "reason": { + "isbn_match": "ISBN este cel care a fost solicitat.", + "above_threshold": "Pare a fi cartea care a fost solicitată.", + "below_threshold": "Verificați câmpurile de mai jos și decideți dacă este cartea potrivită.", + "author_mismatch": "Titlul este aproape, dar autorul este altcineva.", + "no_title": "Fişierul nu are un titlu lizibil, deci nu a fost nimic de comparat." + }, + "field": { + "title": "Titlu", + "authors": "Autor", + "isbn13": "ISBN" + }, + "verdict": { + "match": "Meciuri", + "mismatch": "Nu se potriveste", + "unknown": "Nu este comparat" + }, + "requested": "Solicitat", + "imported": "Importat", + "absent": "Nici cererea şi nici fişierul nu au unul.", + "notSet": "Nu este setat", + "filesTitle": "Ce a aterizat", + "fileCount": "{count, plural, one {# fişier} other {# fişiere} few {# fişiere}}", + "role": { + "cover": "Copertă", + "metadata": "Metadate", + "supplement": "Extra" + }, + "fileAnyway": "Fișierați-l oricum", + "fileAnywayHint": "Arhivează acest lucru în biblioteca de destinaţie şi marchează cererea disponibilă, exact ca un punctaj trecător.", + "noDestination": "Această cerere nu are nici o bibliotecă de destinaţie cu un dosar în ea, deci nu există nici o locaţie pentru a fila cartea încă.", + "openDock": "Deschide Dock-ul Cărţii", + "missingEntry": "Fișierul pe care această cerere a fost reținută nu mai este în Docul Cărții. A fost depusă sau respinsă manual, deci nu a mai rămas nimic aici de revizuit.", + "missingEntryNext": "Dacă cartea este deja în biblioteca ta, închideți această solicitare împotriva ei mai jos. În caz contrar, anulați solicitarea și căutați o altă versiune.", + "filed": "Fixat în biblioteca ta.", + "fileFailed": "Nu s-a putut înregistra acest import", + "discard": "Renunțați la acest import", + "discardHint": "Utilizaţi acest lucru atunci când eliberarea s-a dovedit a fi o carte greşită. Fișierele sunt șterse din Panoul de carte și cererea este marcată a eșuat." + }, + "sources": { + "noneConfigured": "Nu sunt setate surse de căutare.", + "allDisabled": "Fiecare sursă de căutare este oprită.", + "noneConfiguredHint": "Cererile pot fi depuse, dar nimic nu va fi căutat până când nu adăugați un indexer sau instalați un plugin sursă.", + "allDisabledHint": "Cererile pot fi depuse, dar nimic nu va fi căutat până când se va porni una din ele.", + "askAdmin": "Cererile pot fi depuse, dar nimic nu va fi căutat până când un administrator nu va seta unul.", + "addSource": "Adaugă o sursă", + "reviewSources": "Revizuiește sursele" + }, + "selfServeBadge": "Auto-servite", + "selfServeBadgeHint": "Descărcat direct de solicitant, fără nicio etapă de aprobare", + "missingFormat": { + "labelAudiobook": "Audiobook pentru această carte", + "labelEbook": "E-book-ul pentru această carte", + "noAudiobook": "Nici un audiobok încă", + "noEbook": "Nicio carte electronică încă", + "requestAudiobook": "Solicită audiobook", + "requestEbook": "Solicită carte electronică", + "requested": "Solicitat", + "requestedBySomeone": "Solicitat de altcineva", + "ownedElsewhere": "În biblioteca ta ca o carte separată", + "open": "Deschideți", + "viewRequest": "Vizualizare solicitare", + "submittedAudiobook": "Solicitate. Audiobook se va alătura acestei cărți când sosește", + "submittedEbook": "Solicitat. Cartea electronică se va alătura acestei cărţi când soseşte" + } + }, "collection": { + "visibleToAll": "Vizibil tuturor utilizatorilor", + "visibleToAllHint": "Fiecare utilizator poate vedea această colecție, dar numai tu îi poți schimba cărțile", "dialog": { "name": "Nume", "icon": "Iconiță", @@ -4651,6 +8876,7 @@ }, "createDialog": { "title": "Colecție nouă", + "podcastTitle": "Colecție Podcast nouă", "namePlaceholder": "ex. Favorite" }, "editDialog": { @@ -4682,6 +8908,7 @@ "bookCount": "{count, plural, =0 {Nu există cărţi} one {o carte} few {# cărţi} other {# de cărţi}}", "loadFailed": "Încărcarea colecțiilor a eșuat", "createdAndAdded": "{count, plural, =0 {A creat \"{name}\" şi nu a adăugat nici o carte} one {A creat{name}\" şi a adăugat o carte} few {A creat \"{name}\" şi a adăugat # cărţi} other {A creat \"{name}\" şi a adăugat # de cărţi}}", + "createdButAddFailed": "Creat „{name}\" dar nu a reușit să adauge cărți", "createFailed": "Crearea colecției a eșuat", "addedNewWithExisting": "{count, plural, =0 {A adăugat o carte nouă la \"{name}({alreadyHad} deja acolo)} one {A adăugat o carte nouă la \"{name}\" ({alreadyHad} deja acolo)} few {A adăugat # cărţi noi la \"{name}({alreadyHad} deja acolo)} other {A adăugat # de cărţi noi la \"{name}({alreadyHad} deja acolo)}}", "addedToCollection": "{count, plural, =0 {Nu au fost adăugate cărţi la \"{name}\"} one {A fost adăugată o carte la \"{name}} few {A fost adăugată # cărţi la \"{name}} other {A fost adăugată # de cărţi la \"{name}}}", @@ -4710,6 +8937,9 @@ "uploadBooks": "Încărcați cărți", "appearance": "Aspectul", "appearanceDescription": "Alegeți tema, accentul, raza de colț, opțiunile de suprafață și fundal.", + "style": "Stil", + "surfacePalette": "Suprafață", + "topGlow": "Strălucire sus", "theme": "Tema", "accent": "Accent", "radius": "Radius", @@ -4748,8 +8978,16 @@ "newCollection": "Colecție nouă", "noCollections": "Nicio colecție încă", "newReleaseNotes": "Note de lansare noi disponibile", + "requestBadge": { + "allActive": "{count, plural, one {# solicitare activă pentru toţi utilizatorii} other {# cereri active pentru toţi utilizatorii} few {# cereri active pentru toţi utilizatorii}}", + "mineActive": "{count, plural, one {# cerere activă a ta} other {# cereri active ale tale} few {# cereri active ale tale}}" + }, "support": "Sprijină BookOrbit", "supportAria": "Susține BookOrbit pe Ko-fi", + "appLinks": { + "ios": "Obține aplicația iOS", + "android": "Aplicația Android vine în curând" + }, "sectionHeader": { "add": "Adăugare", "showAll": "Arată toate", @@ -4771,10 +9009,36 @@ "seeAllLibraries": "Vezi toate librăriile ({count})", "seeAllSmartScopes": "Vezi toate obiectivele inteligente ({count})", "seeAllCollections": "Vezi toate colecțiile ({count})", + "podcasts": "Podcasturi", + "newPodcastLibrary": "Librărie nouă Podcast", + "noPodcastLibraries": "Încă nu există biblioteci de podcast", + "filterPodcastLibraries": "Filtrează bibliotecile podcast", + "filterPodcastLibrariesPlaceholder": "Filtrare biblioteci podcast ...", + "seeAllPodcastLibraries": "Vezi toate librăriile de podcast ({count})", + "podcastScopes": "Domenii Podcast", + "newPodcastScope": "Scop Podcast nou", + "noPodcastScopes": "Încă nu există acoperișuri de podcast", + "filterPodcastScopes": "Scopuri de difuzare filtru", + "filterPodcastScopesPlaceholder": "Filtrare scoruri podcast ...", + "seeAllPodcastScopes": "Vezi toate obiectivele de podcast ({count})", + "podcastCollections": "Colecții Podcast", + "newPodcastCollection": "Colecție Podcast nouă", + "noPodcastCollections": "Încă nu există colecții de podcast", + "filterPodcastCollections": "Filtrează colecțiile podcast", + "filterPodcastCollectionsPlaceholder": "Filtrează colecțiile de podcast...", + "seeAllPodcastCollections": "Vezi toate colecțiile de podcast ({count})", + "queue": "Coadă", + "mode": { + "books": "Cărți", + "podcasts": "Podcasturi", + "switcherAria": "Comută între cărți și podcast-uri" + }, "updateAvailable": "Actualizare {version}", + "updateTooltip": "{version} actualizare disponibilă", "openUpdateRelease": "Deschideți versiunea {version} pe GitHub", "zones": { - "browse": "Răsfoiţi" + "browse": "Răsfoiţi", + "reading": "Citire" }, "reorder": { "gripAria": "Reordonare {name}", @@ -4783,7 +9047,15 @@ "dropped": "{name} a scăzut la poziția {position} de {total}", "cancelled": "Reordonare anulată. {name} a revenit la poziția {position} din {total}.", "filteredHint": "Ștergeți filtrul pentru a reordona" - } + }, + "podcastImportProgress": "{processed} / {total} fișiere", + "podcastImportCounting": "Numărarea fişierelor…", + "playlists": "Playlisturi inteligente", + "newPlaylist": "Playlist inteligent nou", + "noPlaylists": "Încă nu există liste de redare inteligente", + "filterPlaylists": "Filtrează listele de redare inteligente", + "filterPlaylistsPlaceholder": "Filtrează listele de redare inteligente...", + "seeAllPlaylists": "Vezi toate playlisturile inteligente ({count})" }, "selectionActionBar": { "setReadingStatus": "Setează starea de citire", @@ -4797,6 +9069,8 @@ "moreActions": "Mai multe acțiuni", "setField": "Setare câmp", "refreshMetadata": "Reîmprospătare metadate", + "refreshConfirm": "{count, plural, one {Reîmprospătează metadatele pentru # carte?} other {Reîmprospătează metadatele pentru # cărți?} few {Reîmprospătează metadatele pentru # cărți?}}", + "refreshConfirmAction": "Împrospătează", "reExtractCover": "Capac de re-extras", "metadataLock": "Blocarea metadatelor", "lockAll": "Blocheaza tot", @@ -4824,6 +9098,8 @@ "columnVisibilityHint": "Utilizați panoul de vizibilitate al coloanei în antetul tabelului pentru a afișa sau ascunde coloane.", "columnVisibilityMobileHint": "Vizibilitatea coloanei poate fi gestionată din antetul tabelelor.", "searchPlaceholder": "Căutare titlu, autor, serie, narator...", + "clearSearch": "Ștergeți căutarea", + "closeSearch": "Închide căutarea", "mobileSearch": { "description": "Căutare elemente după titlu, autor, serie, sau narator.", "done": "Terminat" @@ -4838,13 +9114,87 @@ "display": "Afişare", "coverSize": "Dimensiune copertă", "gridGap": "Deficit de grilă", + "pixelValue": "{value} pixeli", "showJumpRails": "Arată șinele de salt", "columnsHint": "Utilizați panoul de vizibilitate al coloanei în antetul tabelului pentru a afișa sau ascunde coloane.", "coverShape": "Formă copertă", "circle": "Cerc", - "square": "Patrat" + "square": "Patrat", + "rowDensity": "Înălțimea rândului", + "densityCompact": "Compact", + "densityComfortable": "Cosy", + "densityRoomy": "Cameră", + "coverFallback": "Utilizați coperți de carte pentru portretele lipsă" + }, + "viewModes": { + "grid": "Vizualizare grilă", + "list": "Vizualizare listă", + "table": "Vizualizare tabel" } }, + "browseHeader": { + "eyebrow": { + "library": "Bibliotecă", + "smartScope": "Domeniu inteligent", + "collection": "Colectare", + "browse": "Răsfoiţi" + }, + "facts": { + "books": "{count, plural, one {# carte} other {# cărţi} few {# cărţi}}", + "booksOf": "{matching} de la {total, plural, one {# carte} other {# cărți} few {# cărți}}", + "authors": "{count, plural, one {# autor} other {# autori} few {# autori}}", + "series": "{count, plural, one {# serie} other {# serie} few {# serie}}", + "scanned": "Scanat {time}", + "scanningProgress": "Se scanează {processed} / {total}", + "syncsToKobo": "Sincronizează cu Kobo" + }, + "switcher": { + "open": "Comutați de la {name}", + "jumpTo": "Sari la...", + "libraries": "Biblioteci", + "smartScopes": "Sferă inteligentă", + "collections": "Colecții", + "empty": "Nimic nu potrivește" + }, + "search": { + "removeToken": "Elimină filtru {label}", + "clearAll": "Ștergeți căutarea și filtrele", + "save": "Salvează", + "summaryToken": "{count, plural, one {# filtru} other {# filtre} few {# filtre}}" + }, + "tokens": { + "anyOf": "Oricare din {count, plural, one {# regulă} other {# reguli} few {# reguli}}", + "allOf": "Toate de {count, plural, one {# Regula} other {# reguli} few {# reguli}}" + }, + "sort": { + "sortBy": "Sortează după {field}", + "ascending": "Creștere. Comută la descendent", + "descending": "Descendare. Treci la ascendent" + }, + "facets": { + "format": "Format", + "rules": "Reguli", + "show": "Afișare", + "library": "Bibliotecă", + "status": "Status", + "ruleCount": "{count, plural, one {# regulă} other {# reguli} few {# reguli}}" + }, + "menu": { + "more": "Mai multe pentru {name}", + "editRules": "Editare reguli", + "deleteSmartScope": "Șterge Smart Scope", + "deleteCollection": "Șterge colecția", + "confirmDelete": "Ștergeți \"{name}\"? Această acțiune nu poate fi anulată.", + "upload": "Încărcați cărți" + }, + "scan": { + "scanning": "Scanare", + "started": "Se scanează {name}", + "finished": "Scanare de {name} finalizată" + }, + "viewModes": "Mod de vizualizare", + "legend": "Culori volum" + }, "iconPicker": { "clearSelectionAria": "Șterge pictograma selectată", "searchLucide": "Caută pictograme lucide...", @@ -4860,8 +9210,14 @@ }, "entityNotFound": { "title": "{entity} nu a fost găsit", + "description": "Asta {entity} nu există sau a fost șters.", "goBack": "Mergi înapoi" }, + "media": { + "volume": "Volum", + "mute": "Amuțit", + "unmute": "Deblochează" + }, "themePicker": { "light": "Lumină", "dark": "Întunecat", @@ -4888,11 +9244,21 @@ "sidebar": { "title": "Sidebar", "mobileDescription": "Afișează bara laterală mobilă.", - "toggle": "Comută bara laterală" + "toggle": "Comută bara laterală", + "collapse": "Restrânge bara laterală", + "expand": "Expand sidebar", + "open": "Deschide bara laterală", + "close": "Închide bara laterală" }, "chipInput": { "typeAndEnter": "Tastați și apăsați Enter pentru a adăuga", - "pressEnter": "Apăsați Enter pentru a adăuga" + "pressEnter": "Apăsați Enter pentru a adăuga", + "remove": "Elimină {value}" + }, + "tokenSelect": { + "remove": "Elimină {value}", + "noMatches": "Nicio potrivire", + "showOptions": "Afișare opțiuni" } }, "entityIndex": { @@ -4900,7 +9266,8 @@ "sort": { "custom": "Comandă personalizată", "name": "Nume", - "bookCount": "Număr de cărți" + "bookCount": "Număr de cărți", + "showCount": "Arată numărătoarea" }, "ascending": "Crescător", "descending": "Descrescător", @@ -4909,9 +9276,55 @@ "noMatches": "Nicio potrivire", "noMatchesHint": "Încercați un alt termen de căutare.", "bookCount": "Cărți: {count}", + "showCount": "Afișări: {count}", "librariesEmptyHint": "Creați o bibliotecă pentru a începe să adăugați cărți.", + "podcastLibrariesEmptyHint": "Creați o bibliotecă podcast pentru a începe următoarele emisiuni.", "smartScopesEmptyHint": "Sfera inteligentă salvează un set de filtre pe care le utilizezi frecvent.", "collectionsEmptyHint": "Colecții grupează cărțile pe care le alegeți de mână." + }, + "legalNotices": { + "about": "Despre BookOrbit", + "trigger": "Anunțuri juridice", + "title": "Despre BookOrbit", + "description": "Atribuire BookOrbit, licență și cod sursă.", + "poweredBy": "Oferit de BookOrbit", + "originalDevelopment": "Acest software conține materiale dezvoltate inițial ca BookOrbit.", + "copyright": "Drepturi de autor (C) 2025-2026 neon.", + "contributors": "Drepturile de autor suplimentare sunt deţinute de contribuitorii BookOrbit respectivi.", + "licenseSummary": "Licență sub licența GNU Affero General Public License, doar pentru versiunea 3, cu termeni suplimentari. Acest software este furnizat fără garanție. Îl puteți redistribui și modifica în acești termeni.", + "sourceCode": "Cod sursă", + "license": "Licenţă AGPLv3", + "additionalTerms": "Termeni suplimentari" + }, + "confirmDialog": { + "typeToConfirm": "Tastați „{phrase}” pentru a confirma" + }, + "formSheet": { + "discardTitle": "Renunțați la modificări?", + "discardDescription": "Modificările nesalvate vor fi pierdute.", + "discardConfirm": "Renunțați" + }, + "backgroundPicker": { + "none": "Niciunul", + "dots": "Puncte", + "cross": "Crucea", + "millimeter": "Millimeter", + "blueprint": "Schiță", + "brushed": "Periat", + "scanlines": "Scanări", + "vinyl": "Vinil", + "carbon": "Carbon", + "perforated": "Perforat", + "aurora": "Aurora", + "horizon": "Orizont", + "glow": "Strălucire", + "mesh": "Mesh", + "elevation": "Creștere", + "prism": "Prism", + "spectrum": "Spectrul", + "spectrum-x": "Spectrul X", + "spectrum-plus": "Spectrul Plus", + "eclipse": "Eclipse" } }, "customIcons": { @@ -4959,6 +9372,7 @@ "empty": { "continueReading": "Nici o carte încă în desfășurare. Începe să citești una pentru a o vedea aici.", "continueListening": "Nu există încă audio-oboks în desfășurare. Începeți să ascultați unul pentru a-l vedea aici.", + "continuePodcasts": "Niciun episod de podcast încă în progres. Începeți unul pentru a-l vedea aici.", "wantToRead": "Nicio carte marcată nu vrea să citească încă.", "upNextInSeries": "Nici o selecţie în serie încă. Finalizează un volum pentru a o întinde pe următorul volum.", "recentlyAdded": "Nici o carte în biblioteca ta încă.", @@ -4968,6 +9382,7 @@ }, "settings": { "title": "Personalizează tabloul de bord", + "preferencesTitle": "Preferințe tablou de bord", "tabs": { "widgets": "Widget-uri", "shelves": "Shelve" @@ -4990,6 +9405,7 @@ "recentlyAdded": "Adăugat recent", "continueReading": "Continuă lectura", "continueListening": "Continuă să asculți", + "continuePodcasts": "Continuă Podcast-urile", "wantToRead": "Doriți să citiți", "upNextInSeries": "Următorul sus în seria", "random": "Descoperă ceva nou", @@ -5003,6 +9419,19 @@ "twoColumns": "Două coloane", "twoColumnsDescription": "Arată două rafturi pe rând." }, + "shelfSync": { + "label": "Rafturi de sincronizare de-a lungul sesiunilor", + "description": "Salvați comanda de raft, vizibilitatea, numărul de rânduri și aspectul în contul dvs. Când este oprit, setările de raft rămân în acest browser." + }, + "saveFailed": "Nu s-au putut salva setările tabloului de bord. Verificați conexiunea și încercați din nou.", + "libraryScope": { + "title": "Biblioteci Dashboard", + "description": "Alegeți bibliotecile care contribuie cu cărți și date de lectură la acest tablou de bord.", + "allLibraries": "Toate bibliotecile accesibile", + "summaryNone": "Nicio bibliotecă selectată", + "summaryCount": "{count, plural, one {# bibliotecă} other {# biblioteci} few {# biblioteci}}", + "required": "Selectaţi cel puţin o bibliotecă." + }, "shelfRows": { "label": "Rânduri de cărți", "option": "{count, plural, one {Un rând de cărţi} few {# rânduri de cărţi} other {# de rânduri de cărţi}}", @@ -5099,7 +9528,8 @@ "title": "Ritm de citire", "empty": "Începe să citești pentru a vedea ritmul tău prinde formă", "activeDays": "{count, plural, =0 {nu sunt zile active} one {# zi activă} few {# zile active} other {# de zile active}}", - "consistency": "{activeDays} · {percent}% consistență" + "consistency": "{activeDays} · {percent}% consistență", + "avgPerDay": "medie {time}/zi" }, "readingStreak": { "title": "Lectură de lectură", @@ -5140,6 +9570,7 @@ }, "tabs": { "providers": "Furnizori", + "servers": "Servere de e-mail", "recipients": "Destinatari", "groups": "Grupuri", "templates": "Şabloane", @@ -5270,6 +9701,7 @@ "defaultRecipientHint": "Folosit pentru trimitere rapidă. Trebuie setat pentru a utiliza acțiunea de trimitere rapidă pe cardurile de carte.", "none": "Niciunul", "defaultTemplate": "Șablon implicit", + "defaultTemplateHint": "Folosit când nici un şablon nu este specificat. Se întoarce la sistemul implicit dacă este gol. (Automatic Translation)", "noneSystemDefault": "Nu exista (se foloseste sistemul implicit)", "save": "Salvează preferințele", "saved": "Preferințe salvate" @@ -5307,6 +9739,317 @@ "sending": "Trimitere...", "queued": "{count, plural, =0 {nu există e-mailuri în coada de aşteptare} one {un e-mail în aşteptare} few {# e-mailuri în aşteptare} other {# de e-mailuri în aşteptare}}", "failed": "Trimitere eșuată" + }, + "page": { + "addRecipient": "Adaugă destinatar", + "recipients": "Destinatari", + "groups": "Grupuri", + "newGroup": "Grup nou", + "servers": "Servere de e-mail", + "addServer": "Adaugă server de mail", + "templates": "Şabloane", + "newTemplate": "Şablon nou", + "noServersReadonly": "Nici un server de mail nu este partajat cu tine încă. Întreabă un administrator pentru a adăuga unul.", + "roleShared": "Partajat cu toată lumea", + "roleSystem": "Resetare parolă", + "cantConnect": "Nu se poate conecta", + "builtIn": "Construit în", + "recipientsEmptyTitle": "Adaugă e-cititorul sau inbox-ul la care trimiți cărți", + "recipientsEmptyBody": "Adresa Kindle se termină în {kindle} și este listat pe dispozitivele din contul tău Amazon. Un PocketBook se termină în {pocketbook}. Orice mesaje obișnuite funcționează de asemenea.", + "kindleNote": "Kindle ia doar e-mail de la expeditorii aprobați. Adăugați {address} în Setările Documentului Personal în contul dvs. Amazon.", + "copyAddress": "Copiază adresa", + "addressCopied": "Adresa copiata", + "editServer": "Editare {name}", + "editTemplate": "Editare {name}", + "editGroup": "Editare {name}", + "groupCount": "{count, plural, one {# recipient} other {# recipients} few {# recipients}}", + "recipientsHint": "Cel cu stele este ales când trimiți.", + "groupsHint": "Trimite simultan mai multor destinatari.", + "groupsEmpty": "Nici un grup încă.", + "serversHint": "Cel cu stele trimite cărţile tale.", + "templatesHint": "Subiectul și mesajul trimise pentru fiecare carte.", + "kindleTemplateNote": "Un Kindle nu arată niciodată șablonul: adresa de e-mail este întotdeauna deschisă cu subiectul {subject}.", + "test": "Testare", + "testServer": "Testul {name}", + "testOk": "{name} conectat", + "testFailed": "{name} nu se poate conecta", + "defaultRecipient": "Destinatarul implicit", + "makeDefaultRecipient": "Fă ca destinatarul implicit {name}", + "defaultServer": "Server implicit", + "makeDefaultServer": "Fă ca serverul implicit {name}", + "defaultTemplate": "Șablon implicit", + "makeDefaultTemplate": "Faceți ca {name} șablonul implicit", + "editRecipient": "Editare {name}", + "serversEmptyTitle": "Nici un server de mail încă", + "serversEmptyBody": "Cărţile ies printr-un cont SMTP. Gmail, Outlook, iCloud şi Fastmail sunt un singur click; de asemenea, orice alt server funcţionează.", + "needServerTitle": "Adaugă un server de mail înainte de a putea trimite", + "needServerBody": "BookOrbit trimite cărți printr-un cont SMTP pe care îl dețineți, cum ar fi Gmail cu o parolă a aplicației.", + "needServerAsk": "Cere unui administrator să partajeze un server de e-mail cu tine.", + "goToServers": "Mergeți la serverele Mail", + "noEncryption": "Fără criptare" + }, + "route": { + "defaultSaved": "Implicit actualizat" + }, + "attention": { + "title": "Necesită atenție", + "count": "{count, plural, one {# element} other {# articole} few {# articole}}", + "hide": "Ascunde", + "show": "Afișare", + "serverDown": "{name} nu se poate conecta", + "notDelivered": "{book} nu a ajuns la {recipient}", + "maybeDelivered": "{book} este posibil să nu fi ajuns la {recipient}", + "testedAgo": "testat {time}", + "editServer": "Editare server", + "editRecipient": "Editare destinatar", + "resend": "Retrimite" + }, + "reason": { + "tooLarge": "{size} este mai mult de {server} acceptă.", + "tooLargeGmail": "{size} este peste limita de 25 MB a atașamentului.", + "tooLargeFix": "Trimite o ediție mai mică sau setează destinatarul la EPUB doar text.", + "signIn": "{server} a refuzat autentificarea.", + "signInFix": "Verifică numele de utilizator şi parola de pe serverul de e-mail.", + "unreachable": "{server} nu a răspuns.", + "unconfirmed": "Conexiunea a scăzut după ce mesajul a fost transmis, astfel încât este posibil să fi ajuns.", + "unconfirmedFix": "Verificaţi inboxul înainte de a-l retrimite sau poate ajunge de două ori.", + "interrupted": "BookOrbit a fost repornit în timp ce acest e-mail dispare.", + "interruptedFix": "Verificați căsuța poștală înainte de retrimitere.", + "preparation": "Fișierul nu a putut fi pregătit pentru trimitere.", + "other": "Serverul de mail l-a refuzat.", + "server": "serverul de mail", + "serverMessage": "Mesaj server", + "retryAt": "Următoarea încercare {time}." + }, + "status": { + "sent": "Trimis", + "sending": "Trimitere", + "retrying": "Reîncercare · {attempt} de {total}", + "unconfirmed": "Neconfirmat", + "failed": "Eșuat" + }, + "recent": { + "moreActions": "Mai multe acțiuni pentru {title}", + "deletedBook": "Carte ştearsă", + "openBook": "Carte deschisă", + "resend": "Retrimite", + "delete": "Ștergeți intrarea" + }, + "log": { + "all": "Toate", + "attention": "Necesită atenție", + "active": "În curs", + "book": "Carte", + "sentTo": "Trimis către", + "file": "Fişier", + "status": "Status", + "when": "Când", + "sentMeans": "Trimis înseamnă că serverul tău de e-mail l-a acceptat", + "emptyFilter": "Nimic aici acum.", + "loadMore": "Încarcă mai mult", + "showing": "Se afișează {shown} de {total}", + "emptyTitle": "Nimic trimis încă", + "emptyBody": "Cărți pe care le trimiteți prin e-mail apar aici unde au mers și dacă serverul de mail le-a luat." + }, + "card": { + "nothingSent": "Nimic trimis încă", + "failed": "eșuat", + "retrying": "reîncercare", + "unconfirmed": "neconfirmat", + "sending": "trimitere", + "narration": "Narration", + "narrationTitle": "Citeşte cărţile şi îşi păstrează naraţiunea" + }, + "device": { + "kindle": "Kindle", + "kobo": "Kobo", + "other": "Alt e-cititor", + "otherShort": "E-cititor", + "none": "Persoana sau inboxul" + }, + "sheet": { + "title": "Trimite prin e-mail", + "sendTo": "Trimite către", + "groups": "Grupuri", + "templateName": "{name} şablon", + "eachFormat": "Formatul fiecărui destinatar", + "formatForAll": "{format} pentru toți", + "file": "Fişier", + "mailServer": "Server de e-mail", + "template": "Șablon", + "yourDefault": "implicit", + "emails": "{count, plural, one {# email} other {# emails} few {# emails}}", + "noOnePicked": "Nimeni ales", + "total": "{size} în total", + "send": "{count, plural, one {Trimite} other {Trimite # e-mailuri} few {Trimite # e-mailuri}}", + "noFormat": "Fără {format}, obține {got}", + "readAlong": "Citește-alonat, {size}", + "overKindle": "{size}, peste limita de 50 MB a Kindle", + "overGmail": "{size}, peste limita de 25 MB a Gmail-ului", + "kindleRejects": "Kindle respinge {format}", + "blockedKindle": "{name} nu poate lua {format}. Alege EPUB sau PDF, sau debifează-l.", + "books": "{count, plural, one {# carte} other {# cărţi} few {# cărţi}}", + "notReadyTitle": "Adresa de e-mail nu a fost configurată încă", + "notReadyBody": "Înainte ca o carte să poată merge oriunde, acest cont are nevoie de un server de mail și de un destinatar.", + "addServer": "Adaugă un server de mail", + "addServerHint": "Gmail, Outlook, iCloud, Fastmail sau orice cont SMTP.", + "askForServer": "Cere unui administrator să partajeze un server de e-mail.", + "addRecipient": "Adaugă un destinatar", + "addRecipientHint": "Cutia ta, PocketBook sau orice inbox.", + "openSettings": "Deschideți setările de e-mail", + "sendingTitle": "Trimitere {title}", + "closeHint": "Poți închide acest lucru. Eșuările apar și în notificările tale și în istoricul e-mailurilor.", + "openHistory": "Deschide istoric", + "done": "Terminat", + "acceptedBy": "Acceptat de {server} {time}", + "handingOver": "Se predă la {server}" + }, + "editor": { + "kindleSubject": "convertește", + "recipient": { + "newTitle": "Destinatar nou", + "description": "Numele destinatarului, adresa, dispozitivul și ce primește acesta.", + "sectionRecipient": "Beneficiar", + "sectionReceives": "Ce primeşte", + "name": "Nume", + "email": "Adresa de e-mail", + "device": "Dispozitiv", + "deviceHint": "Kindle schimbă subiectul {subject} și limitează formatele de mai jos.", + "format": "Format", + "formatPrimary": "Primarul cărţii", + "formatHint": "O carte fără acest format primește ediția sa principală.", + "kindleFormatHint": "Amazon a încetat să mai accepte prin e-mail MOBI și AZW3 în 2023, astfel încât nu sunt oferite pentru Kindle. O carte fără acest format primește ediția sa principală.", + "kindleLegacyFormat": "Kindle nu mai acceptă {format} prin e-mail. Alege EPUB sau PDF.", + "readAlong": "Cărți citite", + "readAlongAutomatic": "Automat", + "readAlongAutomaticHint": "Doar atunci când se poate face o copie sigură, altfel originalul.", + "readAlongTextOnly": "EPUB doar text", + "readAlongTextOnlyHint": "Distrugere desigilată. Suficient de mică pentru e-mail.", + "readAlongOriginal": "Originală cu naraţiune", + "readAlongOriginalHint": "Păstrează nararea. Deseori 100 MB sau mai mult, peste majoritatea serverelor de e-mail.", + "notForKindle": "Nu pentru Kindle", + "template": "Șablon", + "templateDefault": "Implicit ({name})", + "templateKindleHint": "A fost ignorat de Kindle, care nu arată niciodată mesajul.", + "approveTitle": "Aprobă expeditorul în Amazon", + "approveBody": "Kindle Drops email de la adresele pe care nu le cunoaște, fără a da un sarit. În {path}, adaugă {address}", + "approvePath": "Gestionați conținutul și dispozitivele dvs. > Preferințe > Setări documente personale", + "approveNoServer": "Adaugă mai întâi un server de mail pentru a vedea adresa Kindle trebuie să o aprobe.", + "lastSent": "Ultima carte a trimis {time}", + "sendTest": "Trimite un e-mail de test", + "testSubject": "E-mail test BookOrbit", + "testBody": "Acesta este un test de la BookOrbit. Dacă îl puteți citi, cărțile trimise către {name} vor ajunge și aici.", + "testSent": "Test de e-mail trimis către {name}", + "testFailed": "E-mailul de test nu a ieșit: {error}", + "makeDefault": "Trimite rapid destinatarul", + "remove": "Ștergere destinatar", + "removeConfirm": "Ștergeți {name}?", + "removeConsequence": "Istoricul său trimite rămâne.", + "removeDefaultConsequence": "Istoricul trimiterilor rămâne și trimiterea rapidă se oprește până când stăpânești un alt destinatar.", + "required": "Numele și adresa de e-mail sunt necesare.", + "sectionLastSent": "Ultima dată trimis" + }, + "server": { + "newTitle": "Server de mail nou", + "description": "Serverul SMTP, autentificarea sa şi cine poate trimite prin el.", + "sectionProvider": "Furnizor", + "sectionServer": "Server", + "sectionSignIn": "Autentificare", + "sectionSender": "Expeditor", + "sectionWho": "Cine o folosește", + "presetGmail": "Gmail", + "presetOutlook": "Perspective", + "presetIcloud": "iCloud Mail", + "presetFastmail": "Fastmail", + "presetOther": "Alte SMTP", + "presetHint": "Un preset umple gazda, portul și securitatea. Le poți schimba în continuare.", + "name": "Nume", + "host": "Gazdă", + "port": "Portul", + "security": "Securitate", + "securityStarttls": "STARTTLS", + "securitySsl": "SSL/TLS", + "securityNone": "Niciunul", + "securityHint": "STARTTLS pe 587, SSL/TLS pe 465. Unul sau celălalt, niciodată pe amândouă.", + "needsPassword": "Acest server are nevoie de o parolă", + "username": "Nume", + "password": "Parolă", + "appPassword": "Parola aplicației", + "passwordKeep": "Salvat. Tastați pentru a-l înlocui", + "appPasswordHint": "Gmail și iCloud au nevoie de o parolă de aplicație, nu de parola contului.", + "fromName": "De la numele", + "fromAddress": "De la adresa", + "fromAddressHint": "Proprietarii Kindle trebuie să aprobe această adresă.", + "share": "Distribuie tuturor", + "shareHint": "Alte persoane pot trimite cărți prin acest server fără a vedea parola.", + "system": "Trimite resetări ale parolei și link-uri de autentificare", + "systemHint": "Singurul server BookOrbit folosit. Doar un superuser poate schimba asta.", + "verifyTls": "Verifică certificatul serverului", + "verifyTlsHint": "Opriți doar pentru un server din rețeaua dvs. cu un certificat semnat automat.", + "test": "Testare conexiune", + "testDirty": "Salvează mai întâi, apoi testează", + "testOk": "Conectat", + "testFailed": "Nu se poate conecta: {error}", + "remove": "Ștergere server", + "removeConfirm": "Ștergeți {name}?", + "removeConsequence": "Toată lumea cu care este împărțită o pierde.", + "removeSystemFirst": "Opriți resetarea parolelor pe acest server înainte de a-l șterge.", + "makeDefault": "Utilizează ca implicită", + "required": "Numele şi gazda sunt necesare." + }, + "template": { + "newTitle": "Şablon nou", + "description": "Subiectul și mesajul trimise pentru fiecare carte.", + "sectionTemplate": "Șablon", + "sectionInsert": "Insert", + "sectionPreview": "Previzualizare", + "name": "Nume", + "subject": "Subiect", + "message": "Mesaj", + "groupBook": "Carte", + "groupFile": "Fişier", + "groupOther": "Altele", + "insertHint": "Intră în cursor, în subiect sau mesaj. Valorile goale nu afișează nimic.", + "insertVariable": "Insert {variable}", + "previewWith": "Previzualizare cu", + "previewEmpty": "Trimite o carte o dată pentru a previzualiza un șablon cu ea.", + "previewFailed": "Previzualizarea nu a putut fi realizată.", + "previewTo": "La", + "builtInReadonly": "Construit. Doar un superuser o poate schimba.", + "kindleNote": "Kindle nu arată niciodată un șablon: primește întotdeauna subiectul {subject}.", + "makeDefault": "Fă-mi valoarea implicită", + "remove": "Ștergere șablon", + "removeConfirm": "Ștergeți {name}?", + "removeConsequence": "Destinatarii care o folosesc merg înapoi la șablonul dvs. implicit.", + "required": "Numele şi subiectul sunt obligatorii.", + "attachment": "Atașat: {name}" + }, + "group": { + "newTitle": "Grup nou", + "description": "Un set de destinatari pentru a trimite o carte simultan.", + "sectionGroup": "Grup", + "sectionMembers": "Membri", + "name": "Nume", + "memberCount": "{count} {total}", + "noRecipientsTitle": "Niciun destinatar din care să alegi", + "noRecipientsBody": "Un grup este un set de destinatari. Adăugați un destinatar mai întâi.", + "remove": "Șterge grup", + "removeConfirm": "Ștergeți {name}?", + "removeConsequence": "Beneficiarii acesteia rămân.", + "required": "Un grup are nevoie de nume.", + "updated": "Grup actualizat" + } + } + }, + "errors": { + "network": "Nu s-a putut ajunge la BookOrbit. Verificați conexiunea, apoi încercați din nou.", + "codes": { + "PODCAST_LOCAL_NO_REFRESH": "Acest spectacol nu are flux, deci nu este nimic de reîmprospătat.", + "PODCAST_LOCAL_NO_DOWNLOAD": "Acest episod este unul dintre fișierele tale, așa că nu este nimic de descărcat. Copia ta este deja singura.", + "PODCAST_LOCAL_FILE_NOT_REMOVABLE": "Acest episod este unul dintre propriile fișiere, astfel încât BookOrbit nu îl va șterge. Ștergeți-l din folder.", + "PODCAST_LOCAL_MEDIA_MISSING": "Singura copie a acestui episod nu mai este pe disc, deci nu poate fi redată.", + "PODCAST_LOCAL_FOLDER_EMPTY": "Acest dosar nu conţine audio BookOrbit, deci nu poate deveni un spectacol.", + "PODCAST_STORAGE_FULL": "Această bibliotecă podcast nu are stocare. Eliberați spațiu sau măriți cota, apoi încercați din nou. Fișierele care aparțin serialelor locale nu sunt niciodată eliminate pentru a face cameră." } }, "hardcover": { @@ -5376,6 +10119,7 @@ }, "sync": { "title": "Sincronizare manuală", + "description": "Împinge {scope} la Hardcover acum.", "scope": { "selected": "cărți selectate", "eligible": "cărți eligibile" @@ -5389,6 +10133,7 @@ "syncing": "Sincronizare...", "progressCount": "{synced} / {total} cărți", "unavailable": { + "permissionDenied": "Nu ai permisiunea de a folosi sincronizarea Hardcover", "userDisabled": "Sincronizarea este întreruptă în setările hardcos." }, "button": { @@ -5415,6 +10160,7 @@ "progressAvailable": "{count, plural, =0 {nici o actualizare de progres disponibilă} one {# actualizare de progres disponibilă} few {# actualizări de progres disponibile} other {# de actualizări de progres disponibile}}", "progressConflicts": "{count, plural, =0 {nu există conflicte} one {# conflict} few {# conflicte} other {# de conflicte}}", "unavailable": { + "permissionDenied": "Nu ai permisiunea de a folosi sincronizarea Hardcover", "missingToken": "Conectează Hardcover înainte de import.", "userDisabled": "Sincronizarea este întreruptă în setările hardcos." }, @@ -5561,12 +10307,40 @@ "title": "Stil copertă", "portrait": "Portret", "square": "Patrat", - "hint": "Portret pentru ebook sau biblioteci mixte. Pătrat pentru biblioteci audio doar-obook." + "hint": "Portret pentru ebook sau biblioteci mixte. Pătrat pentru biblioteci audio doar-obook.", + "hintSlots": "Portret pentru biblioteci ebook sau mixte, pătrat pentru biblioteci audio doar-obook. O carte atât cu o carte electronică, cât şi cu un audiobook îşi prezintă coperta de carte într-o bibliotecă de portret şi coperta de audiobook într-un pătrat." }, "icon": { "label": "Iconiță", "placeholder": "Alege o pictogramă...", - "selected": "Selectate" + "selected": "Selectate", + "more": "Mai multe pictograme" + }, + "identity": "Identitate", + "podcastName": "Numele bibliotecii Podcast", + "podcastPlaceholder": "Podcasturile mele", + "podcastDefaultName": "Podcasturi", + "type": { + "title": "Tipul bibliotecii", + "books": "Cărți", + "booksHint": "Cărți, benzi desenate și audiooboks", + "podcasts": "Podcasturi", + "podcastsHint": "Fluxuri RSS şi stocare de episod gestionat" + }, + "cover": { + "portraitTitle": "Portret 2:3", + "portraitHint": "Cărţi electronice şi biblioteci mixte", + "squareTitle": "Pătrat 1:1", + "squareHint": "Biblioteci doar audio", + "slotsHint": "O carte atât cu o carte electronică, cât şi cu un audiobok, arată coperta care se potriveşte cu această formă." + }, + "gridShape": { + "title": "Forma grilei", + "tallTitle": "Celule înalte", + "tallHint": "Cel mai bun pentru cărţi electronice sau biblioteci mixte", + "squareTitle": "Celule pătrate", + "squareHint": "Cel mai bun pentru bibliotecile audiobook", + "hint": "Fiecare carte arată coperta formatului său principal, pătrat pentru un audiobook. O copertă care nu se potrivește cu iconița urmează setarea afișajului de copertă." } }, "folders": { @@ -5592,7 +10366,42 @@ "noneAdded": "Încă nu s-au adăugat dosare", "runPrescanHint": "Rulează o prescanare pentru a valida căile înainte de salvare.", "scanning": "Se scanează…", - "prescan": "Scanare" + "prescan": "Scanare", + "local": { + "title": "Dosare podcast existente", + "optional": "Opţional", + "description": "Dosare pe care le păstrezi deja podcast-uri. BookOrbit-ul le citeşte unde sunt, şi niciodată nu le redenumeşti, se mişcă sau şterge orice în interior.", + "addTitle": "Adăugați un folder existent de podcast", + "addDescription": "Fiecare dosar direct înăuntru devine un spectacol.", + "add": "Adaugă alt dosar", + "remove": "Elimină {folder}" + }, + "listTitle": "Dosare", + "storageTitle": "Dosar stocare", + "matchingFiles": "{count, plural, one {# se potriveşte fişierul} other {# se potrivesc fişierelor} few {# se potrivesc fişierelor}}", + "bookCount": "{count, plural, one {# carte} other {# cărţi} few {# cărţi}}", + "checkAll": "Verifică din nou dosarele", + "checkAgain": "Verifică {folder} din nou", + "checkHint": "Fiecare dosar este verificat imediat ce l-ai adăugat. Un dosar din altă bibliotecă citeşte deja este etichetat, deoarece ambele biblioteci vor importa aceleaşi fişiere.", + "emptyHint": "Lipiţi o cale de server de mai jos sau navigaţi pentru una.", + "emptyPodcastHint": "Alegeți unde vor fi stocate episoadele de podcast descărcate.", + "pastePlaceholder": "Lipiți o traiectorie de server, de ex. /cărți/Sci-Fi", + "pastePodcastPlaceholder": "Lipiți o traiectorie de server, de ex. /podcasts", + "browse": "Răsfoire...", + "status": { + "checking": "Verificare", + "failed": "Verificare eșuată", + "notAccessible": "Inaccesibil", + "overlap": "De asemenea, în {library}", + "overlapTitle": "Biblioteca \"{library}\" deja citește acest folder.", + "files": "{count, plural, one {# fişier} other {# fişiere} few {# fişiere}}" + }, + "errors": { + "empty": "Introduceți o cale de director pentru server.", + "notAbsolute": "Introduceți o cale absolută a serverului începând cu /.", + "duplicate": "Acest dosar a fost deja adăugat.", + "covered": "Acest dosar este deja acoperit de {path}." + } }, "scanner": { "scanMode": { @@ -5609,6 +10418,49 @@ "hint": "Tratează fiecare fişier ca o carte individuală. Cel mai potrivit pentru bibliotecile cu un format per titlu. Evită dacă audioboks se întinde pe mai multe fişiere." } }, + "addedAt": { + "title": "Data adăugării", + "hint": "Alegeți ce reflectă \"data adăugării\" unei cărți. Acest lucru se aplică cărților importate de acum înainte.", + "options": { + "imported": { + "title": "Când este importat", + "hint": "Data BookOrbit a importat cartea mai întâi. Aceasta este cea implicită." + }, + "file_modified": { + "title": "Ora modificării fișierului", + "hint": "Ultimul fișier modificat (mtime), deseori păstrat când fișierele sunt copiate." + }, + "file_created": { + "title": "Ora creării fișierului", + "hint": "Cand fisierul a aterizat pentru prima data pe disc (data nasterii). Se intoarce la ora modificata pe un sistem de fisiere care nu inregistra timpul de creare." + } + }, + "recompute": "Recomandare acum", + "recomputing": "Repetare...", + "recomputeHint": "Actualizează data adăugată pentru cărțile existente folosind această setare.", + "recomputeSaveFirst": "Salvați mai întâi modificările, apoi recalculați cărțile existente.", + "backgroundConfirm": "Date de recomandare pentru cărţile existente? Aceasta rulează în fundal şi puteţi închide acest editor. Cărţi cu fişiere ilizibile păstrează data lor curentă.", + "progressSummary": "Procesat {processed} de {total}: {updated} actualizat, {unchanged} neschimbat, {skipped} omis, {failed} a eșuat.", + "failedBooksHint": "Cărțile eșuate și-au păstrat datele. Verificați accesul fișierelor, apoi rulați renumerotarea pentru a reîncerca.", + "jobStatus": { + "running": "Se recomandă date în fundal.", + "completed": "Data de recalculare terminată.", + "failed": "Calculul s-a oprit înainte de finalizare. Modificările finalizate au fost păstrate; îl puteți rula din nou în siguranță." + }, + "errors": { + "sourceImported": "Salvează sursa marcajului temporal înainte de a recalcula datele.", + "alreadyRunning": "O recalculare rulează deja pentru această bibliotecă.", + "busy": "Alte recompilări se execută. Încercați din nou în scurt timp.", + "requestFailed": "Nu s-a putut accesa serviciul de recalculare. Închideți și redeschideți acest editor pentru a verifica starea acestuia.", + "interrupted": "Starea jobului nu mai este disponibilă. Este posibil să fi fost întreruptă de o repornire a serverului. Puteți rula în siguranță din nou." + }, + "failureSample": "Carte {bookId}: {reason}", + "failureReasons": { + "file_unavailable": "Un fișier de conținut nu a putut fi citit.", + "unsafe_path": "Un fișier de conținut este în afara directorului permis al bibliotecii.", + "database_error": "Actualizarea bazei de date a eșuat." + } + }, "allowedFormats": { "title": "Formate permise", "allowAll": "Permite tot", @@ -5622,6 +10474,36 @@ "hintAfter": ").", "add": "Adăugare", "empty": "Nici un model adăugat." + }, + "mode": { + "title": "Cum devin fişiere cărţi", + "locked": "Setează la creare", + "cannotChange": "Aceasta este setarea pe care nu o poți schimba mai târziu.", + "folderHint": "Fiecare dosar este o carte. Cel mai bun atunci când un titlu păstrează mai multe formate împreună, sau un audiobook se întinde pe mai multe fișiere.", + "fileHint": "Fiecare fișier este propria carte. Cel mai bun pentru dosarele plate, cu un format per titlu.", + "folderResult": "O carte cu două formate", + "fileResult": "Trei cărți, câte unul per fișier" + }, + "import": { + "title": "Importă", + "all": "Toate formatele", + "some": "Doar acestea", + "groups": { + "ebook": "Ebook-uri", + "kindle": "Kindle", + "document": "Documente", + "comic": "Benzi", + "audio": "Audio" + } + }, + "skip": { + "title": "Sari peste fisierele potrivite", + "count": "{count, plural, one {# model} other {# modele} few {# modele}}", + "hint": "Model de lob, potrivit traseelor din interiorul bibliotecii de foldere.", + "inputLabel": "Model pentru a omite", + "placeholder": "Introduceți un model ca **/samples/** și apăsați Enter", + "placeholderMore": "Adăugați un alt model", + "remove": "Eliminați modelul {pattern}" } }, "metadata": { @@ -5632,6 +10514,91 @@ "formatPriority": { "title": "Formatare prioritate", "hint": "Când o carte are mai multe formate, cel mai înalt format din listă este preferat." + }, + "moveUp": "Mutați {item} în sus", + "moveDown": "Mutați {item} în jos", + "primary": { + "title": "Fişier principal", + "hint": "Când o carte are mai multe fișiere, primul format în această ordine devine fişierul său principal: cel care deschide prima şi furnizează detaliile cărţii. Trage un rând sau folosește săgețile.", + "reset": "Resetează comanda", + "first": "Prima alegere", + "notImported": "Nu este importat", + "notHeld": "{count, plural, one {# formatarea acestei biblioteci nu își păstrează locul implicit după aceea.} other {# formatele pe care această bibliotecă nu le păstrează după ele comanda lor implicită.} few {# formatele pe care această bibliotecă nu le păstrează după ele comanda lor implicită.}}", + "moreBelow": "{count, plural, one {# urmează mai mult format în această ordine.} other {# urmează în această ordine.} few {# urmează în această ordine.}}", + "showingAll": "Se afișează toate formatele.", + "showAll": "Arată toate {count}", + "showFewer": "Arată mai puține" + }, + "source": { + "title": "Detaliile cărţii vin de la", + "embeddedTitle": "Etichete în fişierul cărţii", + "embeddedHint": "Citește din fișierul principal", + "opfTitle": "fişier metadata.opf", + "opfHint": "Salvat lângă carte de Calibre", + "swap": "Schimba comanda", + "hint": "CartokOrbit îl folosește pe primul pe care îl are o carte și îl ignoră pe celălalt. Bibliotecile calibre vor de obicei metadata.opf mai întâi." + }, + "regex": { + "title": "Configurare regex metadate", + "sourceTitle": "Regex", + "description": "Extrage metadate din calea fișierului principal relativ la folderul său de bibliotecă. Extensia fișierului este eliminată înainte de potrivire. Prima regulă cu câmpurile utilizabile câștigă", + "enable": "Activează regex metadata", + "primaryFileHint": "Pentru o carte făcută din mai multe fişiere, cum ar fi piesele audiobok, regulile citesc calea fişierului principal.", + "groups": "Grupuri denumite:", + "valuesHint": "Folosiți autorul pentru un autor sau autori separați prin punct și virgulă. Datele folosesc AAAA-LL-ZZZ-ZZtag-uri: i ignoră cazul, u permite Unicode.", + "rules": "Reguli de extracție ordonate", + "rule": "Norma {number}", + "moveUp": "Mutați regula în sus", + "moveDown": "Mutați regula în jos", + "remove": "Eliminați regula", + "basePath": "Dosar bibliotecă", + "extensionHint": "Extensia fișierului este ignorată automat. Sfârșitul ancoră se potrivește cu numele fișierului fără extensia sa.", + "flags": "Semnalări", + "add": "Adaugă regulă", + "examplePath": "Exemplu de cale fișier relativ, inclusiv extensie", + "examplePlaceholder": "Autor/serie/08 - My.Book.epub", + "exampleTitle": "Exemplu cu o referință back-by autor", + "exampleTestPath": "Calea de încercare (inclusiv extensia)", + "validating": "Verificare reguli…", + "validationSuccess": "Regula de sintaxă și grupurile sunt valide. Utilizați previzualizarea pentru a verifica potrivirile pentru o cale a fișierului.", + "validationError": "Nu s-au putut valida regulile. Încercați din nou înainte de a le aplica.", + "validationRetry": "Verifică din nou", + "validationRuleCount": "Adăugați între {min} și {max} reguli.", + "preview": "Previzualizare", + "previewing": "Reguli de testare…", + "previewError": "Nu s-a putut previzualiza regulile. Verificați calea relativă și configurația, apoi încercați din nou.", + "actualInput": "Calea testată:", + "matched": "Regulă potrivită {number}", + "noMatch": "Nu există o potrivire utilizabilă. Vor fi utilizate metadatele fișierelor.", + "scanHint": "Modificările se aplică extragerii de metadate viitoare pentru fișiere noi sau modificate. Salvarea nu începe o scanare sau actualizează cărți neschimbate.", + "apply": "Aplică formularului bibliotecii", + "configure": "Configurare", + "enabledHint": "Extrage câmpuri din căile relative fără extensiile fișierului.", + "disabledHint": "Dezactivat. Configurați regulile pentru a activa.", + "moveSourceUp": "Mutați {source} în sus", + "moveSourceDown": "Mutați {source} în jos", + "diagnostics": { + "pattern_required": "Introduceți o expresie regulată.", + "pattern_too_long": "Expresia nu trebuie să depășească caracterele {count}.", + "invalid_flags": "Doar i și u sunt permise, fiecare cel mult o dată.", + "invalid_pattern": "Expresie regulată invalidă.", + "missing_group": "Include cel puțin un grup numit acceptat.", + "conflicting_authors": "Folosiți autorul sau autorii, nu ambele.", + "invalid_value": "O valoare invalidă a câmpului a fost omisă.", + "timeout": "Expresia a durat prea mult. Simplificarea modelului.", + "busy": "Toți lucrătorii de previzualizare sunt ocupați. Încercați din nou în scurt timp.", + "worker_failed": "Expresia nu a putut fi evaluată. Încercați din nou." + }, + "precedenceHint": "Prima sursă de fișiere disponibilă furnizează metadate. Câmpurile Regex urmează această comandă și valorile lipsă sunt completate de la cealaltă sursă.", + "summary": "{format} primul, se preferă regex metadata", + "fields": { + "title": "Titlu", + "authors": "Autori", + "series": "Serii", + "seriesIndex": "Numărul seriilor", + "publishedYear": "Anul Publicat", + "publishedDate": "Data publicării" + } } }, "fileWrite": { @@ -5647,13 +10614,23 @@ }, "cover": { "title": "Include imaginea coperții", - "hint": "Scrie coperta stocată înapoi în formate de fișiere acceptate." + "hint": "Scrie coperta stocată înapoi în formate de fișiere acceptate.", + "mediumHint": "Scrie și coperta stocată în fișier. Fişierele Ebook primesc coperta cărţii, iar fişierele audio primesc coperta Audiobook; un fişier a cărui copertă lipseşte este al său." + }, + "allFiles": { + "title": "Scrie în fiecare fișier al unei cărți", + "hint": "De asemenea, scrie în alte fişiere de carte ale cărţii, cum ar fi un audiobok păstrat lângă cartea sa electronică sau un PDF în acelaşi dosar. Fiecare format de carte de acolo este scris, așa că dați un fișier companion, cum ar fi un carnet propriu pentru a-l păstra. Formatarea comutatoarelor și a limitelor de dimensiune de mai jos se aplică în continuare. Dezactivarea acestei opțiuni oprește scrierile viitoare; nu anulează fișierele deja scrise." }, "epub": { "title": "EPUB", "hint": "Scrie metadate în fișierul OPF în interiorul arhivei EPUB.", "toggleAria": "Scrie metadate EPUB" }, + "readAlong": { + "title": "EPUB citit", + "hint": "EPUB cu narațiune sincronizată, cum ar fi cântecele de citire a povestirilor. Ei își poartă sunetul, deci sunt mari și au nevoie de mai multă memorie pentru a rescrie.", + "toggleAria": "Scrieți metadatele EPUB în citire" + }, "fb2": { "title": "FictionBook (FB2)", "hint": "Rescrie blocul de descriere în fişierele FB2, lăsând textul cărţii neatins.", @@ -5677,8 +10654,20 @@ "audio": { "title": "Audio", "hint": "Prezintă capacul stocat în fișiere M4B, M4A, MP3 și FLAC.", - "toggleAria": "Scrie copertă audio" - } + "toggleAria": "Scrie copertă audio", + "tagsHint": "Scrie etichete precum titlul, autorii, naratorii și seriile în fișiere M4B, M4A, MP3 și FLAC.", + "tagsToggleAria": "Scrie metadate audio" + }, + "coverAudioHint": "Scrie coperta stocată şi în fişier. Fişierele audio pot face doar o copertă.", + "audioNeedsCover": "Necesită activarea „Include imaginea de acoperire”.", + "table": { + "format": "Format", + "inLibrary": "Aici", + "sizeLimit": "Limita mărimii" + }, + "sizeLimitAria": "{format} limită de dimensiune în MB", + "mb": "MO", + "summary": "{count, plural, =0 {Niciun tip de fișier nu este scris.} one {# este scris un fișier de tip # nu mai are fișiere peste limita de mărime.} other {# tipuri de fişiere sunt scrise. Fişierele peste limita de dimensiune sunt ignorate.} few {# tipuri de fişiere sunt scrise. Fişierele peste limita de dimensiune sunt ignorate.}}" }, "reading": { "readingStart": { @@ -5687,8 +10676,18 @@ }, "markAsFinished": { "title": "Marchează ca terminat", - "hint": "O carte este marcată automat ca \"citit\" atunci când acest procent de progres este atins." - } + "hint": "O carte este marcată automat ca \"citit\" atunci când acest procent de progres este atins.", + "invalidThreshold": "Progresul final trebuie să fie între 90% şi 100%." + }, + "statusTitle": "Stare citire", + "zones": { + "notStarted": "Nu a început", + "reading": "Citire", + "read": "Citește" + }, + "range": "Între {min} și {max}.", + "startSlider": "Trageți pentru a seta când o carte contează la început", + "finishSlider": "Trageți pentru a seta când o carte contează ca terminată" }, "schedule": { "fileWatching": "Fişier de vizionat", @@ -5743,9 +10742,104 @@ "errors": { "grant": "Nu s-a putut acorda accesul", "updateLevel": "Actualizarea nivelului de acces a eșuat", - "revoke": "Eroare la revocarea accesului" + "revoke": "Eroare la revocarea accesului", + "load": "Nu s-au putut încărca setările de acces la bibliotecă." + }, + "peopleTitle": "Persoane cu acces", + "peopleCount": "{count, plural, one {# persoană} other {# persoane} few {# persoane}}", + "add": "Adăugare", + "emptyCreate": "Nimeni altcineva încă. Persoanele pe care le adaugi aici au acces de îndată ce biblioteca există.", + "superusers": "Superutilizatorii au întotdeauna acces deplin.", + "levelsHint": "Vizualizatorii pot naviga și citi. Editorii și proprietarii pot, de asemenea, edita metadate atunci când contul lor are permisiunea Editarea metadatei.", + "levelFor": "Nivel de acces pentru {name}", + "revokeFor": "Eliminați accesul pentru {name}", + "revokeQuestion": "Eliminați accesul?", + "revoke": "Elimină", + "keep": "Păstrați", + "failed": { + "title": "{count, plural, one {# persoana nu a putut fi adăugată} other {# persoanele nu au putut fi adăugate} few {# persoanele nu au putut fi adăugate}}", + "body": "Biblioteca a fost creată. Încercați să adăugați din nou {names} sau adăugați-le mai târziu din această secțiune." } - } + }, + "optional": "Opţional", + "nav": { + "details": "Bibliotecă", + "folders": "Dosare", + "scanner": "Scanare", + "metadata": "Metadate", + "reading": "Citire", + "schedule": "Automatizare", + "fileWrite": "Actualizări fișier", + "access": "Acces", + "descriptions": { + "details": "Ceea ce se numeşte biblioteca şi cum arată acoperişul.", + "folders": "Serverul coordonează această bibliotecă citește.", + "scanner": "Cum sunt grupate fișierele în cărți și ce fișiere sunt omise.", + "metadata": "Care fișier conduce atunci când o carte are mai multe și de unde provin detaliile.", + "reading": "Când o carte se mută de la necitit la citit.", + "schedule": "Păstrați biblioteca curentă fără a apăsa Scan.", + "fileWrite": "Modificările opționale BookOrbit pot fi făcute fișierelor de pe disc.", + "access": "Cine altcineva poate vedea şi lucra cu această bibliotecă." + } + }, + "sheet": { + "createTitle": "Bibliotecă nouă", + "createHint": "Numește-l și îndrepta-l către un folder. Totul începe cu un implicit de bun simț.", + "editFallbackTitle": "Setări bibliotecă", + "editSubtitle": "{books, plural, one {# carte} other {# cărți} few {# cărți}} · {folders, plural, one {# dosar} other {# dosare} few {# dosare}} · {mode}", + "editSubtitleNoBooks": "{folders, plural, one {# dosar} other {# dosare} few {# dosare}} · {mode}", + "readyHint": "Gata de creare. Restul poate aștepta.", + "needsHint": "Necesită un nume, o pictogramă și un dosar.", + "discardQuestion": "Renunțați la modificările nesalvate?", + "discard": "Renunțați", + "keepEditing": "Continuă editarea", + "done": "Terminat", + "loading": "Se încarcă setările...", + "staleWarning": "Cele mai recente setări ale bibliotecii nu au putut fi încărcate. Încă puteţi edita setările din cache afişate aici.", + "scanNow": "Scanează acum" + }, + "summary": { + "needsName": "Necesită un nume", + "needsIcon": "Necesită o pictogramă", + "needsFolder": "Necesită un dosar", + "detailsPortrait": "{name} · Portret coperte", + "detailsSquare": "{name} · coperți pătrate", + "folders": "{folders, plural, one {# dosar} other {# dosare} few {# dosare}}", + "foldersFiles": "{folders, plural, one {# dosar} other {# dosare} few {# dosare}} · {files, plural, one {# fişier} other {# fişiere} few {# fişiere}}", + "foldersBooks": "{folders,plural,one{# dosar} few{# dosare} other{# dosare}} · {books,plural,one{# carte} few{# cărți} other{# cărți}}", + "scannerAll": "{mode} · Toate formatele", + "scannerSome": "{mode} · {count, plural, one {# format} other {# formate} few {# formate}}", + "metadataFile": "{format} conduce · fișier carte mai întâi", + "metadataOpf": "{format} conduce · metadata.opf primul", + "reading": "A început {start} · Terminat {finish}", + "watching": "Urmărire dosare", + "notWatching": "Nu se vizionează", + "watchingScheduled": "Urmărește · {schedule}", + "watchingOnly": "Urmărire · Niciun program", + "scheduledOnly": "Nu se vizionează · {schedule}", + "manualOnly": "Doar scanări manuale", + "customSchedule": "Program personalizat", + "writesAndRenames": "{count, plural, =0 {Nu scrie nimic} one {Scrie # de fel} other {Scrie # fel} few {Scrie # fel}} · Redenumiri", + "writes": "{count, plural, =0 {Nu scrie nimic} one {Scrie # un fel de fișier} other {Scrie # tipuri de fișiere} few {Scrie # tipuri de fișiere}}", + "renames": "Redenumiţi fişiere", + "untouched": "Fișierele rămase neatinse", + "onlySuperusers": "Doar superutilizatorii", + "accessQueued": "{count, plural, one {# persoană pentru a adăuga} other {# persoane pentru a adăuga} few {# persoane pentru a adăuga}}", + "accessPeople": "{count, plural, =0 {Doar superutilizatorii} one {# persoane} other {# persoane} few {# persoane}}" + }, + "errors": { + "nameRequired": "Introduceți un nume pentru bibliotecă.", + "iconRequired": "Alege o pictogramă.", + "folderRequired": "Adăugați cel puțin un folder.", + "podcastStorageFolder": "Alege exact un dosar de stocare pentru podcast-uri.", + "podcastFolderOverlap": "Dosarele podcast existente trebuie să stea în afara dosarului de stocare.", + "cronInvalid": "Introduceți o expresie de cron validă.", + "readingStartRange": "Începutul citirii trebuie să fie între 0,05% și 5%.", + "fileSizeRange": "Limitele pentru dimensiunea fişierului trebuie să fie numere întregi de la 1 la 10.000 MB.", + "saveFailed": "Librăria nu a putut fi salvată.", + "connection": "Nu s-a putut conecta la server. Verificați conexiunea și încercați din nou." + }, + "copyName": "{name} copie" }, "folderPicker": { "title": "Răsfoiţi folderele serverului", @@ -5776,6 +10870,13 @@ "createFolder": "Nu s-a putut crea dosarul" } }, + "destination": { + "loadFailed": "Nu s-au putut încărca librăriile de destinație. Închide și redeschide pentru a încerca din nou.", + "noLibraries": "Nu sunt disponibile biblioteci de rezerve. Creați o bibliotecă sau solicitați accesul unui administrator.", + "noFolders": "Această bibliotecă nu are dosare de destinație. Adăugați un dosar în setările Bibliotecii.", + "unavailable": "Biblioteca selectată nu mai este disponibilă.", + "selectFolder": "Selectează un dosar..." + }, "upload": { "library": "Bibliotecă", "selectLibrary": "Selectați o bibliotecă...", @@ -5803,6 +10904,85 @@ } } }, + "metadataReminders": { + "title": "Memento-uri lipsa-camp", + "navDescription": "Alegeți ce câmpuri lipsă de metadate doriți să vedeți", + "personal": "Preferințele dvs.", + "description": "Alegeți ce câmpuri lipsă apar în memento-urile de carte. Aceste preferințe se aplică în întreaga bibliotecă și nu schimbați scorurile metadatei.", + "sheetDescription": "Alegeţi câmpurile de care vă pasă fără a părăsi această carte.", + "fieldsHeading": "Câmpuri de verificat", + "autoSave": "Modificările salvează automat în contul tău.", + "saving": "Salvare preferințe...", + "saved": "Preferințe salvate.", + "reset": "Resetare la valorile implicite", + "disabled": "Niciun câmp selectat. Memento-urile din câmpul lipsă sunt ascunse.", + "saveFailed": "Nu am putut salva preferințele. Preferințele anterioare au fost restaurate.", + "customize": "Personalizare memento...", + "missingHeading": "Lipsesc metadatele", + "missingDescription": "Câmpuri lipsă pe care le-ați ales pentru urmărire.", + "missingCount": "{count, plural, one {# câmp lipsă} other {# câmpuri lipsă} few {# câmpuri lipsă}}", + "missingFields": "Câmpul {count, plural, one {lipsește} other {Câmpuri lipsă} few {Câmpuri lipsă}}", + "fields": { + "publisher": { + "label": "Editor", + "hint": "Editorul este completat." + }, + "language": { + "label": "Limba", + "hint": "Limba este completată." + }, + "publication": { + "label": "Anul publicării", + "hint": "Un an de publicare sau o dată completă este suficient." + }, + "pageCount": { + "label": "Număr de pagini", + "hint": "Numărul de pagini este completat. Cărțile numai audio sunt omise." + }, + "isbn": { + "label": "ISBN", + "hint": "Fie ISBN-10, fie ISBN-13 este suficient." + }, + "genres": { + "label": "Genres", + "hint": "Cel puțin un gen este completat." + }, + "tags": { + "label": "Etichete", + "hint": "Cel puțin o etichetă este completată." + }, + "description": { + "label": "Descriere", + "hint": "Descrierea este completată." + } + } + }, + "metadataCache": { + "badge": { + "cached": "Pescuit", + "stale": "Vechi", + "cachedHint": "Rezultat salvat din {when}", + "cachedHintUndated": "Rezultat salvat", + "staleHint": "Furnizorul a fost indisponibil, astfel încât un rezultat salvat de la {when} a fost folosit", + "staleHintUndated": "Furnizorul a fost indisponibil, astfel încât un rezultat salvat a fost folosit" + }, + "notice": { + "someCached": "Unele rezultate au fost obținute din căutări salvate (mai vechi: {when}).", + "someCachedUndated": "Unele rezultate au fost obținute din căutări salvate.", + "someStale": "Unii furnizori nu au fost disponibili, astfel încât rezultatele salvate au fost afișate (cele mai vechi: {when}).", + "someStaleUndated": "Unii furnizori nu au fost disponibili, astfel încât rezultatele salvate au fost vizibile.", + "searchFresh": "Caută proaspăt", + "searchFreshHint": "Întrebați din nou fiecare furnizor în loc să utilizați răspunsurile salvate" + }, + "fallback": { + "usedSaved": "{count,plural,one{{providers} nu este disponibilă, prin urmare se utilizează rezultate salvate.} few{{providers} nu sunt disponibile, astfel încât au fost utilizate rezultate salvate.} other{{providers} nu sunt disponibile, astfel încât au fost utilizate rezultate salvate.}}" + }, + "ignoreCache": { + "label": "Ignoră rezultatele din cache", + "hint": "Întrebați din nou fiecare furnizor în loc să reutilizați răspunsurile salvate. Mai lent și folosește mai mult din solicitarea fiecărui furnizor.", + "runHint": "Se aplică la rularea pe care o porniți aici. Fiecare furnizor este întrebat din nou în loc să reutilizeze răspunsurile salvate, ceea ce este mai lent." + } + }, "metadataScore": { "missingFields": "{count, plural, =0 {niciun câmp lipsește - editează metadatele} one {# câmp lipsă - editează metadatele} few {# câmpuri lipsă - editează metadate} other {# de câmpuri lipsă - editează metadate}}" }, @@ -5898,6 +11078,7 @@ "allowPrivateNetwork": "Permite accesul privat la rețea", "allowPrivateNetworkHint": "Activează acest lucru numai atunci când Audiobookshelf este găzduit de o rețea locală sau privată de încredere.", "backupPath": "Calea fişierului de rezervă", + "backupPathHint": "Introduceţi o cale absolută de server în interiorul directorului de import configurat. (Automatic Translation)", "cwaAppDatabasePath": "Instantaneu Calibre-Web Automat app.db", "cwaAppDatabasePathPlaceholder": "/import/calibre-web-automat/app.db", "cwaMetadataDatabasePath": "Instantanee Calibre metadata.db", @@ -5980,6 +11161,7 @@ "targetBookId": "Agendă țintă #{id}", "recommended": "Recomandat", "resolveButton": "{count, plural, =0 {Rezolvă # duplicat} one {Rezolvă # duplicat} few {Rezolvă # duplicate} other {Rezolvă # de duplicate}}", + "sourceRecordId": "ID înregistrare sursă #{id}", "byAuthor": "de {author} (ID: {id})", "byFilePath": "{filePath} (ID: {id})", "bookloreSourceId": "ID sursa: {id}", @@ -6102,7 +11284,9 @@ "loadSuggestionsFailed": "Nu s-a putut încărca sugestiile de cartografiere ale utilizatorului", "sourceFieldsRequired": "Gazdă, Utilizator, baza de date și numele sursei sunt necesare", "connectionPassedWithWarnings": "Testul conexiunii a trecut cu avertismente", + "connectionPassedWithWarningCount": "Test de conexiune trecut cu {count} atenționare(e). Primul: {warning}", "connectionPassed": "Testul conexiunii a trecut", + "connectionMissingTables": "Conexiune Ok, dar {count} tabelul(tabelele necesare) lipsesc", "cannotTestMediaWhileRunning": "Nu se poate testa calea media în timp ce o execuție este activă", "mediaPathRequired": "Calea Media Root este necesară pentru importul de coperte.", "mediaPathAbsolute": "Folosiți o cale absolută (de exemplu: /cărți).", @@ -6151,6 +11335,9 @@ "clear": "Curăță", "empty": "Nicio notificare încă", "loadMore": "Încarcă mai multe notificări", + "dismiss": "Anulare notificare", + "occurrences": "{count} de ori", + "occurrencesShort": "x{count}", "preferences": { "title": "Notificări", "subtitle": "Alegeți categoriile de notificări pe care doriți să le primiți.", @@ -6169,6 +11356,20 @@ "app": "Actualizări ale aplicației" }, "enabledCount": "{enabled} {total} activat", + "levels": { + "off": { + "short": "Dezactivat", + "description": "Nu mă notifica niciodată despre asta." + }, + "problems": { + "short": "Probleme", + "description": "Anunță-mă doar atunci când ceva eșuează sau are nevoie de atenție." + }, + "all": { + "short": "Toate", + "description": "Anunță-mă de fiecare dată, inclusiv succese." + } + }, "categories": { "scanning": { "label": "Scanare bibliotecă", @@ -6213,19 +11414,103 @@ "achievements": { "label": "Realizări", "description": "Când deblochezi o nouă realizare la citire." + }, + "bookRequests": { + "label": "Cereri de carte", + "description": "Când o cerere de carte este depusă, decisă sau cartea devine disponibilă." } } } }, "reader": { + "pageImages": { + "loadFailed": "Acest document nu a putut fi deschis. Verificați accesul sau încercați din nou.", + "pageFailed": "Această pagină nu a putut fi încărcată. Reîncercați când serverul este disponibil.", + "pageAlt": "Pagina {page}", + "previousPage": "Pagina precedentă", + "nextPage": "Pagina următoare", + "goToPage": "Mergi la pagina", + "pin": "Fixează meniul cititorului", + "unpin": "Anulează fixarea meniului cititorului" + }, + "djvu": { + "pageText": "Text pagină încorporat", + "textDescription": "Textul stocat în documentul DjVu. OCR poate conține greșeli.", + "noText": "Această pagină nu are text încorporat.", + "textFailed": "Nu s-a putut încărca textul încorporat al acestei pagini." + }, "retry": "Reîncercați", "pdf": { "openError": "Imposibil de deschis acest PDF", "preparing": "Pregătire cititor PDF", - "opening": "Deschiderea PDF" + "opening": "Deschiderea PDF", + "loading": "Se încarcă PDF", + "loadFallback": "Documentul nu a putut fi încărcat.", + "requestFailed": "Solicitarea PDF a eșuat cu status {status}.", + "emptyDocument": "Cererea PDF a returnat un document gol.", + "managerError": "Managerul de documente PDF nu a putut fi inițializat.", + "engineNoPages": "Motorul PDF a deschis acest document fără pagini.", + "engineOpenError": "Fișierul PDF nu a putut fi deschis de motorul documentului.", + "noPages": "Acest PDF este deschis fara pagini", + "noPagesHint": "Reîncărcaţi documentul pentru a reveni de la răspunsul incomplet al motorului PDF.", + "externalLinkTitle": "Deschideți legătura externă?", + "externalLinkDescription": "Acest PDF vrea să deschidă {host} într-o filă nouă.", + "openLink": "Deschide link-ul", + "annotationsLoadError": "Nu s-au putut încărca punctele principale pentru acest PDF.", + "loadingAnnotations": "Se încarcă evidențierile PDF", + "loadMoreAnnotations": "Incarca mai multe evidente", + "loadingMoreAnnotations": "Se încarcă mai multe repere…", + "sidebar": { + "pages": "Pagini", + "contents": "Conținutul", + "search": "Caută", + "tabsLabel": "PDF navigation", + "closeNavigation": "Închide navigarea", + "goToPage": "Mergeți la pagina {page}", + "noOutline": "Acest PDF nu are nici o prezentare a documentului.", + "searchPlaceholder": "Cauta in acest PDF", + "clearSearch": "Ștergeți căutarea", + "matchCase": "Potrivire litere", + "wholeWord": "Cuvânt întreg", + "resultPosition": "{current} {total}", + "previousResult": "Rezultatul anterior", + "nextResult": "Rezultatul următor", + "searchingPage": "Se caută pagina {page} de {total}", + "searchPrompt": "Tastați un termen pentru a căuta acest PDF.", + "searchTooShort": "Introduceți cel puțin {min} caractere pentru a căuta acest PDF.", + "noSearchResults": "Niciun text căutabil nu se potrivește cu interogarea ta.", + "page": "Pagina {page}", + "filterOutline": "Filtru contur", + "noOutlineMatch": "Nicio înregistrare de contur nu corespunde filtrului tău.", + "loadingOutline": "Încărcare contur", + "expandSection": "Extindeți {title}", + "collapseSection": "Restrânge {title}", + "jumpToPage": "Salt la pagina", + "resizePanel": "Redimensionează panoul de navigare" + }, + "toolbar": { + "navigation": "Navigare document", + "previousPage": "Pagina precedentă", + "currentPage": "Pagina curentă", + "nextPage": "Pagina următoare", + "zoomOut": "Zoom out", + "zoomIn": "Zoom in", + "panTool": "Unealtă pană", + "pan": "Panoramă", + "selectTool": "Unealta pentru selectarea textului", + "selectText": "Selectare text", + "pinHeader": "Fixează antetul cititorului", + "unpinHeader": "Anulează fixarea antetului cititorului", + "pinHeaderShort": "Fixează antetul", + "unpinHeaderShort": "Anulează fixarea antetului", + "moreTools": "Mai multe instrumente PDF", + "settings": "Setări PDF" + } }, "loadingBook": "Se încarcă cartea…", "failedToLoadBook": "Încărcarea cărții a eșuat", + "bookLoadTimeout": "Cartea a durat prea mult pentru a se deschide. Încercați să reîmprospătați pagina.", + "chapterNumber": "Capitol {number}", "peek": { "badge": "Previzualizare", "startReading": "Începe să citești" @@ -6242,6 +11527,12 @@ "keyboardShortcutsHint": "Scurtături tastatură (?)", "enterFullscreen": "Introduceți tot ecranul", "exitFullscreen": "Ieșiți din ecran complet", + "narrationPlaying": "Redare prin narare", + "ttsPlaying": "Redare TTS", + "listenWithNarrationShort": "Ascultă (narație)", + "listen": "Ascultă", + "listenWithNarration": "Ascultă cu narațiune", + "listenWithTts": "Ascultă cu TTS", "footerMode": { "pageProgress": "Informații subsol: pagină + progres", "sessionTimeLeft": "Informații subsol: citire sesiune + timp rămas", @@ -6276,7 +11567,18 @@ "fontBuiltIn": "Încorporat", "fontServer": "Fonturi server", "fontYours": "Fonturile tale", + "fontStyle": "Stil", + "fontStyleItalicOf": "{style} Italic", "lineSpacing": "Spațiere linie", + "paragraphSpacing": "Spațiere puncte", + "paragraphSpacingDefault": "Implicit", + "paragraphSpacingValue": "{value} em", + "letterSpacing": "Spațierea literelor", + "wordSpacing": "Spațiere cuvinte", + "textIndent": "indentare prima linie", + "bookDefault": "Carte", + "custom": "Personalizat", + "emValue": "{value} em", "pageWidth": "Lățimea paginii", "pageWidthNarrow": "Ingust", "pageWidthMedium": "Medie", @@ -6372,7 +11674,15 @@ "translate": "Tradu", "define": "Definire", "deleteAnnotation": "Șterge adnotarea", - "apply": "Aplică" + "apply": "Aplică", + "color": "Culoare evidențiere: {color}", + "style": "Highlight style: {style}", + "styles": { + "highlight": "Evidențiere", + "underline": "Subliniere", + "strikethrough": "Tăiat", + "squiggly": "Evidenţiază în mod strălucitor" + } }, "note": { "title": "Adăugare notă", @@ -6414,6 +11724,9 @@ "scrollMode": "Mod derulare", "scrollModeHint": "Utilizați \"No gap\" pentru webtoons și benzi verticale.", "readingDirection": "Direcția de lectură", + "autoAdvance": "Avansare automată", + "autoAdvanceHint": "Trecând peste ultima pagină se deschide următoarea carte din serie.", + "autoAdvancePagedOnly": "Autoavansarea se aplică doar în modul pagină.", "pageView": "Vizualizare pagină", "twoPagePagedOnly": "Două pagini sunt afișate doar în modul pagină.", "spreadSection": "Spread în două pagini", @@ -6459,6 +11772,14 @@ "black": "Negru", "gray": "Gri", "white": "Alb" + }, + "nextIssue": { + "eyebrow": "Următorul în serie", + "action": "Citește următorul", + "open": "Citește următorul: {title}", + "numbered": "#{index} {title}", + "untitled": "Fără titlu", + "autoAdvanceHint": "Întoarceţi pagina din nou pentru a continua" } }, "audiobook": { @@ -6486,6 +11807,23 @@ "playerSettings": "Setări jucător", "skipBack": "Sari înapoi", "skipForward": "Sari înainte" + }, + "sheet": { + "expand": "Extinde panoul", + "collapse": "Restrânge panoul" + }, + "narration": { + "fallbackTitle": "Narration", + "meta": "Narration audio - {speed}x", + "openControls": "Deschideți comenzile naratorii", + "previousSentence": "Propoziția anterioară", + "nextSentence": "Următoarea frază", + "play": "Redă nararea", + "pause": "Pauză narare", + "showControls": "Arată comenzile", + "hideControls": "Ascunde comenzile", + "stop": "Opriți nararea", + "error": "Eroare de redare" } }, "scanner": { @@ -6501,7 +11839,10 @@ "ownedOfExpected": "{owned} {expected} în bibliotecă" }, "gaps": { - "label": "Posibile lacune:" + "label": "Posibile lacune:", + "missingCount": "{count, plural, one {# lipsește} other {# lipsește} few {# lipsește}}", + "missingList": "Lipseste {list}", + "previewMore": "{shown} +{count}" }, "filters": { "title": "Filtre seriale", @@ -6531,7 +11872,10 @@ "bookCount": "Numărul de cărți", "recentAdditions": "Adăugări recente", "readingProgress": "Progres de lectură" - } + }, + "clearSearch": "Ștergeți căutarea", + "noMatchHint": "Încearcă o altă bibliotecă sau șterge ce este setat.", + "emptyHint": "Serii apar odată ce cărţile tale poartă seriile de metadate." }, "detail": { "pageTitle": "Serii", @@ -6572,6 +11916,66 @@ "ascending": "Crescător", "descending": "Descrescător" } + }, + "authorsPlus": "{authors} +{count}", + "track": { + "readCount": "{count, plural, one {# citește} other {# citește} few {# citește}}", + "readingCount": "{count, plural, one {# în desfășurare} other {# în desfășurare} few {# în desfășurare}}", + "unreadCount": "{count, plural, one {# necitit} other {# necitit} few {# necitit}}", + "missingCount": "{count, plural, one {# lipsește} other {# lipsește} few {# lipsește}}", + "slotMissing": "{number} nu este în bibliotecă", + "untitled": "Fără titlu" + }, + "legend": { + "read": "Citește", + "reading": "Citire", + "unread": "În bibliotecă", + "missing": "Lipsă" + }, + "status": { + "label": "Filtrează seria după citirea stării", + "all": "Toate", + "reading": "Citire", + "unread": "Necitit", + "complete": "Complete", + "gaps": "Lacune", + "read": "Citește", + "inProgress": "În curs", + "hasGaps": "Are lacune", + "notStarted": "Nu a început" + }, + "index": { + "columnSeries": "Serii", + "columnVolumes": "Volume", + "columnRead": "Citește", + "columnNext": "Următor sus", + "columnAdded": "Adăugat", + "percent": "{value}", + "captionReading": "{base} · {count, plural, one {# în desfășurare} other {# în desfășurare} few {# în desfășurare}}", + "finished": "Citește sfârșit până la sfârșit", + "reading": "Citire", + "next": "Următoarea", + "start": "Pornire" + }, + "grouping": { + "label": "Grupează după", + "none": "Fără grupare", + "letter": "După scrisoare", + "library": "După bibliotecă", + "status": "După stare" + }, + "libraries": { + "more": "+{count}" + }, + "card": { + "oneVolume": "Un volum", + "oneVolumeShort": "1 vol", + "volumeCount": "{count, plural, one {# volum} other {# volume} few {# volume}}", + "readSummary": "{base} · {read} citire", + "publishedOf": "{owned} {total} publicat", + "complete": "Complete", + "moreVolumes": "{count, plural, one {# mai mult volum} other {# mai multe volume} few {# mai multe volume}}", + "label": "{name}, {read} de {total} volume citite" } }, "smartScope": { @@ -6592,6 +11996,7 @@ }, "createDialog": { "title": "O nouă sferă inteligentă", + "podcastTitle": "Playlist inteligent nou", "createFailed": "Eșuare creare Smart Scope" }, "saveAsDialog": { @@ -6619,6 +12024,14 @@ "noGenres": "Niciun gen", "epubOnly": "Doar EPUB" } + }, + "errors": { + "load": "Încărcarea scopurilor inteligente a eșuat", + "loadEpisodes": "Eroare la încărcarea episoadelor pentru această listă de redare inteligentă", + "save": "Salvarea scopului inteligent a eșuat", + "delete": "Ștergerea scopului inteligent nu a reușit", + "reorder": "Nu s-a reușit reordonarea scopurilor inteligente", + "koboSync": "Nu s-a reușit actualizarea sincronizării Kobo pentru acest domeniu inteligent" } }, "statistics": { @@ -6797,7 +12210,9 @@ "sourceDistribution": { "title": "Unde citești", "emptyTitle": "Nicio activitate de citire încă", - "emptyDescription": "Citiți pe web, KOReader, sau Kobo pentru a vedea împărțirea sursă." + "emptyDescription": "Citiți pe web, KOReader, sau Kobo pentru a vedea împărțirea sursă.", + "emptyDescriptionWithAppleClients": "Citește pe web, aplicația iOS, Apple Watch, KOReader, sau Kobo pentru a vedea scindarea sursei.", + "emptyDescriptionWithNativeClients": "Citește pe web, aplicația iOS, aplicația Android, Apple Watch, KOReader, sau Kobo pentru a vedea scindarea sursei." } } }, @@ -6805,7 +12220,8 @@ "header": { "entityManager": "Manager de entități", "bulkRename": "Redenumire în bloc", - "duplicateBooks": "Cărți duplicate" + "duplicateBooks": "Cărți duplicate", + "missingResources": "Lipsesc resursele" }, "entityTypes": { "authors": "Autori", @@ -6824,8 +12240,19 @@ "previewFailed": "Încărcarea previzualizării a eșuat", "executionFailed": "Redenumirea în masă a eșuat", "openBookDetails": "Detalii carte deschisă", + "openBook": "Carte deschisă", + "toRenameCount": "{count, plural, =0 {nimic pentru a redenumi} one {# pentru a redenumi} other {# pentru a redenumi} few {# pentru a redenumi}}", + "applyCount": "{count, plural, one {Aplică # redenumire} other {Aplică # redenumire} few {Aplică # redenumire}}", + "search": { + "placeholder": "Găsește o carte sau o cale", + "label": "Găsește o carte", + "clear": "Ștergeți căutarea" + }, "filter": { - "all": "Toate" + "all": "Toate", + "changes": "Modificări", + "conflicts": "Conflicte", + "unchanged": "Neautorizat" }, "status": { "willRename": "Va redenumi", @@ -6834,14 +12261,106 @@ "noPattern": "Niciun model", "error": "Eroare" }, + "group": { + "collision": "Conflict de destinație", + "unchanged": "Deja corect", + "noPattern": "Fără model de denumire", + "error": "Eroat", + "includeAll": "Include fiecare redenumire {kind}", + "expand": "Extindeți {kind}", + "collapse": "Restrânge {kind}", + "heldBack": "Acestea nu pot fi redenumite" + }, + "changeKind": { + "ungroup": "Gruparea seriilor a fost eliminată", + "flatten": "Duplicare dosar nivel eliminat", + "yearRemoved": "Anul publicării eliminat", + "yearAdded": "Anul publicării adăugate", + "yearCorrected": "Anul publicării este corectat", + "authorSpelling": "Scrierea numelui autorului", + "capitalisation": "Capitalizare și spațiere", + "unsafeCharacters": "Caractere nesigure înlocuite", + "filenameRebuilt": "Nume fișier reconstruit din metadate", + "folderRenamed": "Dosar redenumit", + "rebuilt": "Dosar și nume fișier reconstruite", + "restructured": "Cale restructurată", + "multiple": "Modificări multiple" + }, + "select": { + "ofSelected": "{total} selectat", + "toggleAll": "Selectați sau ștergeți fiecare redenumire", + "toggleGroup": "Selectați sau ștergeți fiecare redenumire {kind}", + "toggleBook": "Redenumește {title}" + }, + "review": { + "loadMore": "Încarcă mai mult", + "queue": "Redenumiri în așteptare", + "position": "{index} {total}", + "previous": "Cartea anterioară", + "next": "Următoarea carte", + "keyboardHint": "mută", + "keyboardSkip": "omite", + "skip": "Omitere", + "include": "Include", + "excluded": "Exclus", + "back": "Înapoi la listă" + }, + "detail": { + "whatChanges": "Ce schimbări", + "foldedFolders": "{count, plural, one {# dosar neschimbat} other {# foldere neschimbate} few {# foldere neschimbate}}", + "onDisk": "Pe disc", + "today": "Astăzi", + "afterRename": "După redenumire", + "showLibraryFolders": "Arată dosarele bibliotecii", + "hideLibraryFolders": "Ascunde dosarele bibliotecii", + "currentPath": "Calea curentă", + "whyItMoves": "De ce se mișcă", + "levelTop": "Dosar de sus", + "levelFolder": "Dosar {depth}", + "levelFilename": "Nume fișier", + "levelRemoved": "Eliminat", + "tokenCount": "{count, plural, one {# token} other {# jeton} few {# jeton}}", + "optionalLevel": "Un nivel opțional de dosare, produs de un grup în model.", + "removedExplainer": "Modelul de denumire nu are niciun director la acest nivel, astfel încât {folder} este scăpat și conținutul său se mută în sus.", + "conflictTitle": "Un alt fișier pretinde deja această destinație.", + "conflictBody": "Redenumirea ar suprascrie-o, astfel încât această carte să fie ținută înapoi până la soluționarea conflictului.", + "siblings": "{count, plural, one {# în plus cu aceeaşi schimbare} other {# în plus cu aceeaşi schimbare} few {# în plus cu aceeaşi schimbare}}", + "siblingsMore": "+{count} mai mult" + }, "empty": { "title": "Alege o bibliotecă pentru a începe", "description": "Selectați o bibliotecă de mai sus pentru a previzualiza modificările, a filtra după stare și a aplica redarea în masă rulată.", - "chooseLibrary": "Alege biblioteca" + "chooseLibrary": "Alege biblioteca", + "noneTitle": "Nimic de revizuit", + "noneDescription": "Nicio carte nu corespunde filtrului actual. Ștergeți căutarea sau comutați la Toate.", + "noMatch": "Nicio carte nu corespunde căutării tale." }, "confirmDialog": { "title": "{count, plural, few {Redenumiți # fișiere pe disc?} one {Redenumiți # fișier pe disc?} other {Redenumiți # fișiere pe disc?}}", - "body": "Aceasta mută fișiere reale din {library}. BookOrbit înregistrează fiecare mutare, dar anularea înseamnă redenumirea înapoi." + "body": "Aceasta mută fișiere reale din {library}. BookOrbit înregistrează fiecare mutare, dar anularea înseamnă redenumirea înapoi.", + "willRename": "Va fi redenumit", + "skippedByYou": "Sărit de tine", + "heldBack": "Menţinere ca conflicte", + "untouched": "Stânga neatinsă", + "confirm": "{count, plural, one {Redenumiţi # fişier} other {Redenumiţi # fişiere} few {Redenumiţi # fişiere}}", + "cannotRename": "Nu poate fi redenumit" + }, + "run": { + "preparing": "Se pregătește…", + "preparingHint": "Se verifică fiecare fişier în funcţie de modelul de denumire înainte ca orice să se mişte.", + "title": "Redenumire {done} {total}", + "runningHint": "Fișierele sunt redenumite. Puteți să vă opriți după terminarea fișierului curent.", + "stop": "Oprește după acest fișier", + "resultTitle": "{done, plural, one {A fost redenumit # din {total} fişiere} other {Redenumite # din {total} fişiere} few {Redenumite # din {total} fişiere}}", + "resultFailed": "{count, plural, one {# a eșuat} other {# a eșuat} few {# a eșuat}}", + "resultSkipped": "{count, plural, one {# sărit} other {# sărit} few {# sărit}}", + "dismiss": "Renunţaţi" + }, + "executionError": { + "http": "Serverul a respins cererea (HTTP {status}).", + "noBody": "Serverul nu a trimis un corp de răspuns.", + "incomplete": "Conexiunea s-a terminat înainte de redenumire. Este posibil ca unele fișiere să nu fi fost redenumite.", + "unknown": "Redenumirea nu a putut fi finalizată." } }, "bookDuplicates": { @@ -6877,7 +12396,16 @@ "isbn": "ISBN", "formats": "Formate", "collections": "Colecții", - "added": "Adăugat" + "added": "Adăugat", + "size": "Dimensiune", + "metadata": "Metadate", + "reading": "Citire", + "folder": "Dosar", + "noIsbn": "Nu este setat", + "notStarted": "Nu a început", + "outOfHundred": "/100", + "percentRead": "{percent} citite", + "fileCount": "{count, plural, one {# fişier} other {# fişiere} few {# fişiere}}" }, "initial": { "title": "Găsește cărți duplicat", @@ -6897,11 +12425,101 @@ "status": "Progresul scanării nu a putut fi încărcat.", "scan": "Scanarea duplicatului a eșuat. Încercați să o rulați din nou.", "results": "Nu s-au putut încărca grupurile duble.", - "delete": "Nu s-au putut șterge cărțile duplicat selectate." + "delete": "Nu s-au putut șterge cărțile duplicat selectate.", + "dismiss": "Nu s-a putut respinge acest grup.", + "restore": "Nu s-a putut restaura perechea." }, "pagination": { "label": "Pagini duplicate grupuri", "page": "Pagina {page} {total}" + }, + "similarityOption": "{percent} și sus", + "scannedBooks": "{count} cărți · a verificat {when}", + "scanProgress": "{processed} de {total} cărți", + "recommended": "Recomandat", + "keeping": "Păstrarea", + "willDelete": "Ștergere", + "keepCopy": "Păstrați {name}", + "selectGroup": "Selectați {title}", + "selectAll": "Selectaţi fiecare grup de pe această pagină", + "compareCopies": "Compară copiile lui {title}", + "compareCaption": "Câmp după compararea câmpului pentru {count} copii", + "fieldColumn": "Câmp", + "filesEach": "{count, plural, one {# fişier fiecare} other {# fişiere fiecare} few {# fişiere fiecare}}", + "moreFilesCount": "{count, plural, one {şi # mai multe fişiere} other {şi # mai multe fişiere} few {şi # mai multe fişiere}}", + "identicalAcross": "{count, plural, one {Identic în ambele copii:} other {Identic în toate # copii:} few {Identic în toate # copii:}}", + "deleteGroup": "{count, plural, one {Şterge # copie, gratis {size}} other {Şterge # copii {size}} few {Şterge # copii {size}}}", + "confidence": { + "file_hash": "Identic", + "isbn": "Același ISBN", + "exact_metadata": "Potrivire exactă", + "fuzzy_metadata": "Similare", + "withSimilarity": "{label} {percent}" + }, + "summary": { + "groups": "{count, plural, one {grup} other {Grupuri} few {Grupuri}}", + "extraCopies": "{count, plural, one {copie suplimentară} other {copii suplimentare} few {copii suplimentare}}", + "reclaimable": "recuperabil" + }, + "columns": { + "match": "Meci", + "book": "Carte", + "copies": "Copii", + "libraries": "Biblioteci", + "frees": "Gratuit", + "keeping": "Păstrarea" + }, + "keepRule": { + "label": "Păstrați", + "metadata": "Cele mai bune metadate", + "size": "Cele mai mari fişiere", + "formats": "Cele mai multe formate", + "oldest": "Copie veche", + "newest": "Cea mai nouă copie", + "hint": "Alege un deţinător din fiecare grup. Poţi suprascrie orice rând." + }, + "sort": { + "label": "Sortează", + "reclaimable": "Cea mai mare parte a spaţiului liber", + "copies": "Cele mai multe copii", + "confidence": "Meci cel mai puternic", + "title": "Titlul A - Z" + }, + "keeper": { + "yourChoice": "Alegerea dvs.", + "reading": "unteţi {percent} prin el", + "collection": "este în {name}", + "metadata": "metadate {score}", + "largest": "cel mai mare la {size}", + "formats": "{count} formate", + "isbn": "are un ISBN", + "added": "adăugat {date}", + "riskReading": "șterge o copie care sunteți {percent} prin", + "riskCollection": "șterge o copie în {name}" + }, + "selection": { + "summary": "{groups} grupuri selectate, {copies} copii pentru ștergere, {size}", + "clear": "Curăță", + "review": "{count, plural, one {Recenzia # copie} other {Revizuiește # copii} few {Revizuiește # copii}}", + "hint": "Bifați grupurile în care aveți încredere, sau deschideți unul pentru a compara copiile." + }, + "keys": { + "move": "mută", + "expand": "extinde", + "keep": "păstrează", + "select": "selectează" + }, + "review": { + "title": "{count, plural, one {Ștergeți # copia} other {Ștergeți # copii} few {Ștergeți # copii}}", + "description": "Peste {groups} grupuri, eliberând {size}. Nimic nu se elimină până când confirmați.", + "riskWarning": "{count, plural, one {# şterge o copie care conţine datele tale de citire.} other {# grupurile şterg o copie care conţine datele tale de citire.} few {# grupurile şterg o copie care conţine datele tale de citire.}}", + "footer": "{size} Gratuit" + }, + "dismissed": { + "show": "{count, plural, one {Arată # pereche disponibilă} other {Arată # perechi respinse} few {Arată # perechi respinse}}", + "hide": "Ascunde perechile respinse", + "restore": "Restabilește această pereche", + "restored": "Asocierea este restaurată. Se poate potrivi din nou la următoarea scanare." } }, "entityManager": { @@ -6918,7 +12536,8 @@ }, "actions": { "rename": "Redenumire", - "split": "Împarte" + "split": "Împarte", + "merge": "Îmbinare" }, "duplicates": { "similarity": "Similaritate:", @@ -6938,7 +12557,20 @@ "percentSimilar": "{percent}% similar", "pairDetails": "Detalii pereche", "dismissEntityTitle": "Renunță la toate perechile pentru această entitate", - "dismissPairTitle": "Respinge această pereche" + "dismissPairTitle": "Respinge această pereche", + "groupsLabel": "Posibile grupuri duplicate", + "keepThisOne": "Păstraţi acesta", + "mergeAway": "Îmbinați departe", + "notAMatch": "Nu este un meci", + "notAMatchTitle": "Renunțați la fiecare pereche din acest grup", + "selectPromptTitle": "Selectează un grup pentru revizuire", + "selectPromptDescription": "Alegeți un grup din listă pentru a compara entitățile sale una lângă alta.", + "backToList": "Înapoi la grupuri", + "noBookTitles": "Nicio carte legată de această înregistrare", + "thresholdLabel": "Asemănare minimă", + "thresholdValue": "{percent}%+", + "willBeMerged": "{count, plural, one {# entitate va fi fuzionată şi eliminată} other {# entităţi vor fi îmbinate şi eliminate} few {# entităţi vor fi îmbinate şi eliminate}}", + "chooseTargetHint": "Selectaţi entitatea pentru a păstra. Toate celelalte lucruri din grup fuzionează în el." }, "dismissed": { "loading": "Se încarcă perechile respinse...", @@ -6962,7 +12594,44 @@ "nameDesc": "Nume Z-A", "fewestBooks": "Cele mai puține cărți", "mostBooks": "Cele mai multe cărți" - } + }, + "sortByLabel": "Sortează după", + "entityTypeLabel": "Tipul entității", + "resultCount": "{count, plural, =0 {Nici o entitate} one {# entitate} other {# entităţi} few {# entităţi}}", + "selectedCount": "{count, plural, one {# a selectat} other {# a selectat} few {# a selectat}}", + "columns": { + "name": "Nume", + "sortName": "Nume sortare", + "books": "Cărți", + "status": "Status", + "actions": "Acțiuni" + }, + "selectAllOnPage": "Selectează toate entitățile de pe această pagină", + "selectEntity": "Selectați {name}", + "actionsFor": "Acțiuni pentru {name}", + "status": { + "noBooks": "Nicio carte" + }, + "filters": { + "all": "Toate", + "noBooks": "Nicio carte" + }, + "density": { + "label": "Înălțimea rândului", + "comfortable": "Comfortable", + "compact": "Compact" + }, + "rowsPerPage": "Rânduri pe pagină", + "range": "Afișare {from}-{to} {total}", + "pagination": "Paginare", + "previousPage": "Pagina precedentă", + "nextPage": "Pagina următoare", + "goToPage": "Mergeți la pagina {page}", + "morePages": "Mai multe pagini", + "noEntitiesDescription": "Nimic nu a fost adăugat la acest tip de entitate încă.", + "noMatchesTitle": "Nicio potrivire", + "noMatchesDescription": "Nicio entitate nu corespunde căutării și filtrelor curente.", + "clearFilters": "Ștergeți filtrele" }, "deleteMode": { "label": "Mod ștergere", @@ -6991,12 +12660,95 @@ }, "bulkDeleteModal": { "title": "Ștergere în bloc", + "confirm": "{count,plural,one{Sunteţi sigur că doriţi să ştergeţi # entitate selectată?} few{Sunteţi sigur că doriţi să ştergeţi # entităţile selectate?} other{Sunteţi sigur că doriţi să ştergeţi # entităţile selectate?} =0{Sunteţi sigur că doriţi să ştergeţi # entitate selectată?}}", "deleteButton": "Șterge {count}" }, "mergeModal": { "title": "Îmbinare Entități", "description": "Selectează ce entitate să păstreze. Ceilalți vor fi fuzionați și eliminați." } + }, + "missingResources": { + "title": "Lipsesc resursele", + "accessDenied": "Nu aveți permisiunea de a curăța resursele care lipsesc.", + "categoriesLabel": "Curățare categorie", + "untitled": "Fără titlu", + "clearSelection": "Ștergeți selecția", + "cleanSelected": "Curăță {count} selectate", + "selectAllMatching": "Selectaţi toate {count} care se potrivesc intrările", + "allSelected": "Toate {count} intrările care se potrivesc sunt selectate.", + "sweep": { + "title": "Verificare copertă", + "description": "Verifică fiecare carte care reclamă o copertă împotriva fişierelor de pe disc şi caută dosarele de copertă lăsate în urmă de cărţile şterse. Nimic nu este eliminat în timpul verificării.", + "run": "Execută verificarea", + "running": "Verificare", + "progress": "Verificat {processed} de {total} cărți", + "lastRun": "Ultima verificare {at}", + "truncated": "Doar primele rezultate sunt listate. Curățați acestea, apoi verificați din nou pentru a vedea restul." + }, + "categories": { + "missing_books": "Cărți lipsă", + "broken_covers": "Coperte sparte", + "orphaned_cover_dirs": "Dosare cu copertă orfană" + }, + "found": { + "missing_books": "{count, plural, =0 {Nu există cărţi cu fişiere lipsă} one {O carte cu fişiere lipsă} other {# cărţi cu fişiere lipsă} few {# cărţi cu fişiere lipsă}}", + "broken_covers": "{count, plural, =0 {Nu există referinţe corupte pentru copertă} one {O referinţă prestabilită pentru copertă deteriorată} other {# referinţe sparte} few {# referinţe sparte}}", + "orphaned_cover_dirs": "{count, plural, =0 {Nici un director de copertă orfan} one {Un folder orfanat} other {# foldere de copertă orfan} few {# foldere de copertă orfan}}" + }, + "empty": { + "missing_books": "Nicio carte lipsă", + "broken_covers": "Fără referințe sparte pentru copertă", + "orphaned_cover_dirs": "Nu există foldere de coperte orfane", + "description": "Totul din această categorie este luat în considerare." + }, + "needsSweep": { + "title": "Rulează mai întâi verificarea coperții", + "description": "Rezultatele copertei provin de la o verificare pe disc. Executaţi-o pentru a vedea referinţele defecte şi dosarele orfane." + }, + "coverSource": { + "extracted": "Extras", + "custom": "Personalizat" + }, + "brokenSlot": { + "ebookExtracted": "Capac de carte, extras", + "ebookCustom": "Coif de carte, personalizat", + "audioExtracted": "Capac audiobook, extras", + "audioCustom": "Capac audiobook, personalizat" + }, + "table": { + "selectPage": "Selectează totul pe această pagină", + "coverFolder": "Dosar de copertă pentru carte #{bookId}", + "fileCount": "{count, plural, one {# fişier} other {# fişiere} few {# fişiere}}", + "orphanMedia": { + "ebook": "Copertă de carte", + "audio": "Copertă audio", + "both": "Coperte de carte și audiobook" + } + }, + "confirm": { + "title": "Curățați resursele lipsă?", + "action": "Curăță", + "missing_books": "{count, plural, one {Şterge înregistrarea bazei de date pentru o carte ale cărei fişiere au dispărut. Cartea, metadatele ei, progresul citirii şi coperta sunt eliminate. Acest lucru nu poate fi anulat.} other {Şterge înregistrările bazei de date pentru # cărţi ale căror fişiere au dispărut. Cărțile, metadatele lor, citirea progresului și coperții sunt eliminate. Acest lucru nu poate fi anulat.} few {Şterge înregistrările bazei de date pentru # cărţi ale căror fişiere au dispărut. Cărțile, metadatele lor, citirea progresului și coperții sunt eliminate. Acest lucru nu poate fi anulat.}}", + "broken_covers": "{count,plural,one{Curăță referința de acoperire pentru o carte astfel încât să arate că nu are copertă. Metadatele nu se schimbă altfel.} few{Curăță referințele pentru # cărţile pe care le arată ca neavând copertă. Metadata nu este altfel schimbată.} other{Curăță referințele pentru # cărţile pe care le arată ca neavând copertă. Metadata nu este altfel schimbată.}}", + "orphaned_cover_dirs": "{count, plural, one {Şterge un folder de copertă de pe disc. Cartea sa nu se mai află în baza de date. Acest lucru nu poate fi anulat.} other {Şterge # foldere de pe disc. Cărţile lor nu mai sunt în baza de date. Acest lucru nu poate fi anulat.} few {Şterge # foldere de pe disc. Cărţile lor nu mai sunt în baza de date. Acest lucru nu poate fi anulat.}}" + }, + "cleaned": { + "missing_books": "{count, plural, =0 {Nimic de curăţat} one {S-a eliminat o carte lipsă} other {S-a eliminat # cărţi lipsă} few {S-a eliminat # cărţi lipsă}}", + "broken_covers": "{count, plural, =0 {Nimic de curăţat} one {A şters o referinţă de copertă stricată} other {A eliminat # referinţe sparte} few {A eliminat # referinţe sparte}}", + "orphaned_cover_dirs": "{count, plural, =0 {Nimic de curăţat} one {A fost eliminat un folder de copertă orfan} other {S-a eliminat # foldere de copertă orfan} few {S-a eliminat # foldere de copertă orfan}}" + }, + "pagination": { + "label": "Lipsește paginile de resurse", + "page": "Pagina {page} {total}" + }, + "errors": { + "summary": "Nu s-a putut încărca rezumatul resurselor lipsă.", + "sweepStart": "Verificarea nu a putut fi pornită.", + "sweep": "Verificarea coperții a eșuat.", + "list": "Aceste intrări nu au putut fi încărcate.", + "clean": "Curățarea a eșuat." + } } }, "views": { @@ -7013,6 +12765,9 @@ "sort": "Sortează", "sortOn": "Activat", "resetSort": "Resetare sortare la valorile implicite", + "shuffle": "Amestecare", + "shuffleAria": "Amestecă ordinul cărții", + "shuffleHint": "Desenează o nouă comandă aleatoare", "filters": "Filtre", "clear": "Curăță", "clearAllFilters": "Șterge toate filtrele", @@ -7064,6 +12819,7 @@ "supportedFormats": "Acceptat: {formats}", "empty": { "noSearchMatch": "Niciun fișier nu se potrivește \"{query}\"", + "noStatusFiles": "Nr {status} fişiere", "uploadPrompt": "Încărcaţi fişiere sau plasaţi-le în folderul Book Dock" }, "retry": { @@ -7155,6 +12911,35 @@ "noMatchHint": "Încercați să ajustați regulile de filtrare.", "edit": "Editare SmartScope" } + }, + "podcastScope": { + "title": "Playlist inteligent", + "entity": "playlist inteligent", + "loadFailed": "Nu s-au putut încărca episoadele pentru această listă de redare.", + "loadMoreFailed": "Nu s-au putut încărca mai multe episoade.", + "retry": "Reîncercați", + "editRules": "Editare reguli", + "saveFailed": "Nu s-au putut salva regulile din lista de redare.", + "deleteFailed": "Nu s-a putut șterge această listă de redare.", + "empty": { + "title": "Niciun episod de potrivire", + "hint": "Reglaţi regulile pentru a se potrivi mai multor episoade." + } + }, + "podcastCollection": { + "title": "Colecție Podcast", + "entity": "Colecție podcast", + "loadFailed": "Nu s-au putut încărca emisiunile din această colecție.", + "remove": "Elimină", + "removeAria": "Elimină {name} din această colecție", + "removed": "Eliminat {name}", + "removeFailed": "Nu s-a putut elimina acest spectacol.", + "empty": { + "title": "Încă nu există emisiuni", + "hint": "Adăugați spectacole la această colecție dintr-o bibliotecă de podcast" + }, + "loadMoreFailed": "Nu s-au putut încărca mai multe emisiuni.", + "retry": "Reîncercați" } }, "whatsNew": { @@ -7187,9 +12972,825 @@ "previousImage": "Imaginea anterioară", "nextImage": "Imaginea următoare" }, + "podcast": { + "actions": { + "add": "Adăugare", + "cancel": "Anulează", + "save": "Salvează", + "play": "Redare", + "pause": "Întrerupeți", + "playEpisode": "Redă episod", + "listen": "Ascultă", + "remove": "Elimină", + "episodeActions": "Acțiuni episod", + "removeFromQueue": "Elimină din coadă", + "addToQueue": "Adaugă în coadă", + "playNext": "Redă următorul", + "retryDownload": "Reîncercați descărcarea", + "download": "Descărcare", + "removeDownload": "Elimină descărcarea", + "markUnplayed": "Marchează ca neredat", + "markPlayed": "Marchează ca redat", + "follow": "Urmărește", + "unfollow": "Anulează", + "followPodcast": "Urmărește podcast", + "unfollowPodcast": "Anulează podcast", + "resume": "Reluare", + "playLatest": "Redă ultima", + "moveToTop": "Mută în sus", + "playFromHere": "Joacă de aici", + "moveDown": "Mută în jos", + "clearQueue": "Curăță coada", + "clearAll": "Șterge tot", + "search": "Caută", + "clearPlayed": "Curăță redarea", + "downloadSelected": "Descărcare selectată", + "removeSelectedDownloads": "Elimină descărcările selectate", + "markSelectedPlayed": "Marchează redat selectat", + "removeSelectedFromQueue": "Şterge selecţia din coadă", + "selectEpisode": "Selectați {title}", + "playNamedEpisode": "Joacă {title}", + "listenToEpisode": "Ascultă {title}", + "resumeEpisode": "Reluare {title}", + "playLatestEpisode": "Redă ultimul episod {title}", + "episodeDetails": "Detalii episod", + "episodeDetailsNamed": "Detalii episod pentru {title}", + "editEpisodeMetadata": "Editare metadate", + "openFullPlayer": "Deschide jucător complet", + "reorderEpisode": "Reordonare {title}", + "playAll": "Redă tot", + "resumeNamed": "Reluare {title}", + "queueAll": "Lista tuturor", + "markAllPlayed": "Marchează toate redările", + "latestCount": "Ultimul {count}", + "downloadLatest": "Descarcă ultimele", + "removeAllDownloads": "Elimină toate descărcările", + "pin": "Fixează", + "unpin": "Unpin", + "pinEpisode": "Pin episod", + "unpinEpisode": "Anulează fixarea episodului" + }, + "status": { + "nowPlaying": "Acum se redă", + "paused": "Pauză", + "downloaded": "Descărcat", + "downloadQueued": "Descărcare în așteptare", + "downloading": "Descărcare", + "downloadFailed": "Descărcare eșuată", + "unavailable": "Unavailable", + "played": "Jucat", + "following": "Urmăriți", + "playbackProgress": "Progresul redării", + "downloadProgress": "Progres descărcare", + "removedFromFeed": "Nu mai este în feed", + "inQueue": "În coadă", + "feedFailing": "Fluxul a eșuat", + "archived": "Arhivat", + "localShow": "Local", + "localShowDescription": "Acest spectacol nu are flux. Episoadele sale sunt fișierele din folder.", + "missing": "Lipsă", + "missingDescription": "Dosarul acestui spectacol nu mai este pe disc. Este păstrat aici în cazul în care dosarul revine înapoi; ştergeţi Arată pentru a-l şterge pentru totdeauna." + }, + "selection": { + "select": "Selectare", + "selectAll": "Selectează tot", + "count": "{count} selectate", + "toggleShow": "Selectați {title}" + }, + "bulkDelete": { + "title": "Ștergeți serialele selectate", + "action": "Ștergere", + "confirmPhrase": "Şterge", + "description": "Acest lucru șterge permanent emisiunile {count} și tot ce știe BookOrbit-ul, inclusiv istoricul dvs. de ascultare. Acest lucru nu poate fi anulat.", + "descriptionWithFiles": "Acest lucru șterge permanent {count} afișează, tot ce știe BookOrbit despre ele și {size} din fișierele descărcate. Dosarele tale nu sunt niciodată atinse. Acest lucru nu poate fi anulat.", + "queued": "Ştergerea de {count} arată", + "queuedWithFailures": "Ștergerea de {count} arată, {failed} nu a putut fi începută", + "errors": { + "prepare": "Nu s-a putut calcula ce ștergere a acestor spectacole ar elimina", + "delete": "Nu s-a putut șterge serialele selectate" + } + }, + "views": { + "queue": "Coadă" + }, + "labels": { + "episodeCount": "{count} episoade", + "unknownPublisher": "Editor necunoscut", + "durationHoursMinutes": "{hours}h {minutes}m", + "durationMinutes": "{minutes}m", + "durationSeconds": "{seconds}s", + "durationUnavailable": "Durată indisponibilă", + "unknownDate": "Dată necunoscută", + "seasonEpisode": "{season} E{episode}", + "season": "{season}", + "episode": "E{episode}", + "episodeTypeTrailer": "Remorcă", + "episodeTypeBonus": "Bonus", + "pinnedHint": "Episoadele fixate sunt protejate de retenţia de depozitare.", + "explicit": "Explicit", + "lastListened": "{time} ascultat", + "timeLeft": "{time} rămase", + "remainingClock": "-{time}", + "pinnedEpisode": "Episod fixat", + "newEpisodeCount": "{count} nou", + "unplayedShort": "{count} anulat" + }, + "acquisition": { + "title": "Descărcări automate", + "never": "Niciodată", + "newEpisodes": "Episoade noi", + "recentEpisodes": "Episoade recente", + "maximumNewest": "Numărul maxim de episoade noi", + "publishedWithinDays": "Publicat în ultimele (zile)", + "remoteDescription": "Episoade de transmisiune implicită. Puteți încă descărca episoade individuale pentru ascultare offline.", + "newestDescription": "Descarcă automat numărul selectat de episoade noi care nu sunt deja stocate sau puse în coadă. Salvarea acestei reguli verifică, de asemenea, episoadele deja în flux.", + "windowDescription": "Descărcați episoadele existente și nou descoperite publicate în această perioadă. Episoadele fără o dată de publicare sunt omise. Schimbarea acestei reguli nu elimină descărcările mai vechi, dar stocarea poate elimina descărcările nefixate atunci când este nevoie de spațiu." + }, + "cleanup": { + "title": "Șterge după ascultare", + "keep": "Păstrează descărcările", + "afterFinished": "Sterge dupa terminare", + "delayHours": "Ștergeți atâtea ore după ce ultimul ascultător s-a terminat", + "keepDescription": "Episoadele descărcate rămân pe disc până când stocarea are nevoie de spațiu.", + "afterFinishedDescription": "Ștergeți un episod descărcat odată ce fiecare ascultător care a început să îl termine și întârzierea a trecut. Marcarea a fost jucată, fixarea sau punerea ei înapoi într-o coadă în timpul ferestrei anulează ștergerea." + }, + "player": { + "miniPlayer": "Podcast Mini player", + "openFullPlayer": "Deschide jucător complet", + "expandMiniPlayer": "Extinde mini player", + "collapseMiniPlayer": "Restrânge pentru a compact player", + "stopAndClose": "Oprește și închide jucătorul", + "sleepActive": "Cronometru de somn activ: {value}", + "previousEpisode": "Episod anterior", + "nextEpisode": "Următorul episod", + "backSeconds": "{count} secunde înapoi", + "forwardSeconds": "Înaintează {count} secunde", + "episodePosition": "Poziție episod", + "toggleTimeDisplay": "Comută timpul rămas și total", + "positionValue": "{elapsed} a trecut de {duration}", + "playingAnnouncement": "Se redă {title} din {podcast}", + "pausedAnnouncement": "Întrerupere {title} din {podcast}", + "volume": "Volum", + "positionValueWithChapter": "{elapsed} a trecut de {duration}, capitol {chapter}" + }, + "bookmarks": { + "title": "Marcaje", + "empty": "Fără marcaje", + "closeForm": "Închide formularul de marcaj", + "saveAt": "Salvează la {time}", + "titlePlaceholder": "Titlu marcaj", + "notePlaceholder": "Notă facultativă", + "save": "Salvare marcaj", + "edit": "Editare marcaj", + "delete": "Ștergere marcaj", + "titleLabel": "Titlu marcaj", + "noteLabel": "Notă de marcaj", + "editTitleLabel": "Editare titlu bookmark", + "editNoteLabel": "Editați nota de marcaj", + "defaultTitle": "Marchează la {time}" + }, + "library": { + "episodes": "Episoade", + "shows": "Show-uri", + "latest": "Ultimele", + "inProgress": "În curs", + "unplayed": "Nejucat", + "finished": "Terminat", + "health": "Sănătate", + "search": "Caută podcast-uri", + "clearSearch": "Curăță căutarea podcast", + "import": "Importă", + "importOpml": "Importă OPML", + "importDescription": "Importă o listă de abonamente OPML", + "addFeed": "Adaugă flux", + "settings": "Setări Podcast", + "views": "Vizualizări Podcast", + "loading": "Se încarcă podcasturile...", + "noMatchingShows": "Niciun spectacol potrivit", + "ready": "Biblioteca ta de podcast este gata", + "tryDifferentSearch": "Încearcă alt titlu sau editor.", + "readyDescription": "Adăugați un flux RSS sau importați un fișier OPML pentru a începe construirea bibliotecii dvs. de ascultare.", + "loadMoreShows": "Încarcă mai multe emisiuni", + "upNext": "Următor sus", + "emptyQueue": "Coada ta este goală", + "emptyQueueDescription": "Adaugă un episod dintr-o emisiune pentru a păstra următoarea ta ascultare la îndemână.", + "loadMore": "Încarcă mai mult", + "lastSuccess": "Ultimul succes", + "failureCount": "{count} esuari: {error}", + "unknownError": "Eroare necunoscută", + "healthy": "sănătos", + "noFeeds": "Nu există fluxuri de monitorizat", + "noFeedsDescription": "Adauga un flux podcast pentru a vedea starea sa de reîmprospătare aici.", + "noMatchingEpisodes": "Niciun episod de potrivire", + "noEpisodesLatest": "Nici un episod încă", + "noEpisodesDownloaded": "Niciun episod descărcat", + "noEpisodesInProgress": "Niciun episod în curs", + "noEpisodesUnplayed": "Niciun episod neredat", + "noEpisodesFinished": "Niciun episod terminat", + "noEpisodesPinned": "Fără episoade fixate", + "pinned": "Fixat", + "continueListening": "Continuă ascultarea", + "viewAllContinue": "Vezi toate", + "noEpisodesDescription": "Episoadele noi din serialele tale vor apărea aici.", + "loadMoreEpisodes": "Încarcă mai multe episoade", + "addPodcastFeed": "Adaugă flux podcast", + "rssUrl": "URL feed RSS", + "preview": "Previzualizare", + "addPodcast": "Adaugă podcast", + "storage": "Depozitare Podcast", + "currentlyUsing": "În prezent folosind {size}", + "libraryQuotaGb": "Cota bibliotecii (GB)", + "freeSpaceReserveGb": "Rezervă de spațiu liber (GB)", + "defaultRefreshMinutes": "Reîmprospătare implicită (minute)", + "finishRemainingSeconds": "Termină cu secunde rămase", + "exportOpml": "Exportă OPML", + "exportDescription": "Exportă această bibliotecă ca o listă de abonamente OPML", + "importOpmlDescription": "Alegeți un fișier OPML și politica de descărcare pentru a se aplica fiecărui flux din acesta.", + "opmlFile": "Fişier OPML", + "chooseOpmlFile": "Alege fișier", + "noOpmlFileChosen": "Niciun fișier ales", + "importPolicyHint": "Acest lucru se aplică fiecărui feed importat. Poți să-l schimbi per spectacol după aceea.", + "searchShows": "Afișare căutare", + "searchEpisodes": "Căutaţi episoade", + "searchHealth": "Căutați sănătatea furajelor", + "manageFeeds": "Gestionare fluxuri", + "feedHealth": "Sănătatea furajelor", + "feedsNeedAttention": "Fluxurile necesită atenție", + "episodeFilters": "Filtre pentru episod", + "previewing": "Previzualizare...", + "addingPodcast": "Adăugare...", + "openShow": "Deschide {title}", + "retryFeed": "Reîmprospătați {title}", + "reparseFeed": "Repară fluxul stocat pentru {title}", + "confirmClearQueue": "Eliminați fiecare episod de coadă?", + "importProgress": "Progresul importului", + "jobsQueued": "{count} în așteptare", + "jobsProcessing": "{count} procesare", + "jobsFailed": "{count} a eșuat", + "retryUnhealthy": "Reîncercați hrana nesănătoasă", + "followedOnly": "Doar urmarire", + "queueDuration": "{duration} total", + "confirmClearPlayed": "Elimină fiecare episod redat din coadă?", + "searchQueue": "Caută în coadă", + "noMatchingQueueEpisodes": "Nici un episod potrivit", + "showAllEpisodes": "Arată toate episoadele", + "browseShows": "Răsfoiţi emisiunile", + "browseEpisodes": "Navigare episoade", + "allLoaded": "Toate {total} încărcate", + "addFeedDescription": "Căutaţi folderul podcast sau lipiţi un URL feed RSS, previzualizaţi show-ul, apoi alegeţi cum sunt achiziţionate episoadele.", + "searchDirectory": "Caută în dosarul podcast", + "searchDirectoryPlaceholder": "Arată sau numele editorului", + "searchDirectoryEmpty": "Nici o emisiune în director nu se potrivește cu această căutare.", + "searchDirectoryHint": "Alegeți un rezultat pentru a-l previzualiza, sau lipiți un feed URL mai jos.", + "inLibrary": "În bibliotecă", + "openExistingShow": "Deschide {title}, deja în biblioteca ta", + "pasteFeedUrl": "Sau lipiți un feed URL", + "selectAllLoaded": "Selectaţi fiecare episod încărcat", + "reorderLoadedHint": "Reordonarea se aplică episoadelor încărcate până acum.", + "retryUnhealthyLoaded": "Reîncercați încărcarea fluxurilor nereușite", + "manageFeedsUnhealthy": "Gestionare feed-uri: feed-urile eșuate necesită atenție", + "localImportTitle": "Importă podcast-uri din dosarele tale", + "localImportDoneTitle": "Importare terminată", + "localImportCounting": "Se caută prin dosarele tale…", + "localImportProgress": "{processed} de {total} fișiere", + "localImportDone": "{processed} fișiere importate", + "importingTitle": "Importă podcasturile tale", + "importingHint": "Arată aici când fișierele lor sunt citite." + }, + "import": { + "title": "Importă fișiere locale", + "description": "Potrivește audio deja în dosarul acestei biblioteci la episoadele din feed-urile pe care le urmărești.", + "placementHint": "Pune fișierele în dosarul acestei biblioteci. BookOrbit le adoptă acolo unde sunt: nimic nu este copiat, redenumit sau mutat.", + "scan": "Scanare fișiere", + "running": "Scanare...", + "progress": "{current} de {total} fișiere scanate", + "apply": "Importă fișiere potrivite", + "applyWithChoices": "Importă fișierele potrivite și opțiunile tale", + "applied": "Fișiere adoptate {count}.", + "quota": "{adopt} pentru a adopta, {headroom} din cotă este încă gratuit", + "truncated": "Unele liste sunt scurtate. Conturile de mai sus sunt complete.", + "chooseEpisode": "Alegeți episodul", + "leaveUnresolved": "Lăsați pentru mai târziu", + "noDate": "Nici o dată", + "fileCount": "{count} fișiere", + "subscribe": "Abonează-te", + "subscribed": "Abonat", + "suggestedFeedsHint": "Aceste dosare numesc un flux pe care nu îl urmărești încă. Abonează-te și scanează din nou pentru a se potrivi cu fișierele lor.", + "rescanHint": "Scanați din nou pentru a se potrivi cu fișierele din dosarele la care tocmai v-ați abonat.", + "duplicateDiffers": "La acest episod este deja atașat un fișier diferit", + "duplicateSame": "Acest episod are deja acest fișier", + "unreadableFolders": "{count} dosare nu au putut fi citite.", + "groups": { + "matched": "Potrivire", + "ambiguous": "Necesită o decizie", + "unmatched": "Nicio potrivire", + "duplicates": "Deja atașat", + "skipped": "Sărit", + "suggestedFeeds": "Fluxuri la care să te abonezi", + "unclaimedFolders": "Dosare fără flux" + }, + "signals": { + "episode_guid": "Episod ID în tag-urile fișierului", + "episode_id_suffix": "ID BookOrbit în numele fișierului", + "enclosure_file_name": "Numele fișierului corespunde fluxului", + "title_and_date": "Titlul și data", + "title_and_duration": "Titlu și lungime", + "manual": "Alegerea dvs." + }, + "scopes": { + "request": "Arată-ți selecția", + "folder_suffix": "Arată numele dosarului", + "feed_url_tag": "Adresa fluxului în etichetele fișierului", + "feed_sidecar": "Flux salvat în folder", + "title_similarity": "Titlu spectacol similar", + "library": "Niciun spectacol identificat" + }, + "reasons": { + "show_unresolved": "Nu a putut fi identificat niciun spectacol pentru acest fișier", + "no_episode_candidate": "Arată s-a potrivit, dar niciun episod nu a făcut", + "single_fuzzy_signal": "Numai un singur semnal îndreptat spre un episod", + "multiple_candidates": "Mai multe episoade se potrivesc la fel de bine", + "empty_file": "Fișierul este gol", + "unsupported_format": "Fișierul audio nu este suportat", + "symlink": "Linkurile simbolice nu sunt importate", + "unreadable": "Fișierul nu a putut fi citit", + "outside_library_root": "Fișierul se rezolvă în afara dosarului bibliotecii", + "attach_conflict": "Episodul a câştigat un fişier în timp ce scanarea rula", + "quota_exceeded": "Importarea acestor fişiere ar depăşi cota de stocare a acestei biblioteci. Majorarea cotei sau importul mai puţine fişiere." + }, + "sources": { + "feed_sidecar": "Fișier feed salvat", + "metadata_json": "metadata.json", + "feed_url_tag": "Fisiere tag-uri" + }, + "errors": { + "status": "Nu s-a putut citi starea importului", + "start": "Pornirea importului a eșuat", + "subscribe": "Abonarea la acest flux a eșuat", + "createLocalShow": "Nu s-a reușit crearea unui spectacol local din acest dosar" + }, + "messages": { + "subscribed": "Podcast a adăugat. Scanați din nou pentru a corespunde dosarelor sale.", + "localShowCreated": "Spectacole locale create. Episoadele sunt importate.", + "localShowUpdated": "Importarea fişierelor noi în acest dosar." + }, + "createLocalShow": "Creaţi o emisiune locală", + "addLocalEpisodes": "Adaugă episoade noi", + "localShowCreated": "Creat", + "unclaimedFoldersHint": "Aceste dosare nu numesc flux. Transformați una într-o emisiune locală și fiecare fișier audio din ea devine un episod.", + "localRescanHint": "Scanează din nou pentru a lua orice altceva care s-a schimbat în dosarele pe care tocmai le-ai importat." + }, + "messages": { + "podcastAdded": "Podcast adăugat", + "feedsQueued": "{count} podcast feed-uri în așteptare", + "settingsSaved": "Setări Podcast salvate", + "downloadQueued": "Episod de descărcare în așteptare", + "downloadRemoved": "Episod descărcat eliminat", + "refreshQueued": "Podcast refresh în așteptare", + "reparseQueued": "Restrângere la rând", + "mergeQueued": "Fuzionare Podcast în coadă", + "showDeleted": "{title} șters", + "queueCleared": "Lista de redare ștearsă", + "playerClosed": "Jucător închis", + "feedsRefreshQueued": "Reîmprospătare în așteptare pentru {count} feed-uri", + "finishedQueueCleared": "Episoade redate eliminate din coadă", + "bulkQueueActionCompleted": "S-a actualizat {count} episoade selectate", + "bulkQueueActionFailed": "Actualizat {completed} episoade, {failed} a eșuat", + "bulkQueued": "{completed} episoade; {skipped} au fost deja în coadă sau au depășit limita de coadă", + "bulkMarkedPlayed": "Episoade marcate {count} redate", + "bulkDownloadsQueued": "Descărcări {count} episod în așteptare", + "bulkDownloadsRemoved": "Episod eliminat {count} descărcări", + "bulkDownloadsRemovedWithFailures": "Eliminat {completed} descărcări; {failed} eșuat", + "queueRestored": "Episoade {count} în coadă", + "playlistSaved": "Playlist salvat", + "playlistDeleted": "Playlist şters", + "playlistQueued": "{completed} episoade, ignorate {skipped}", + "playlistQueueEmpty": "Niciun episod potrivit pentru această listă de redare", + "detailsSaved": "Arată detaliile salvate", + "episodeDetailsSaved": "Episod de detalii salvat", + "artworkUpdated": "Artwork actualizat", + "artworkRemoved": "Artă personalizată eliminată", + "localFileDeleted": "Fișier episod șters", + "opmlOmittedLocalShows": "Stânga {count} arată din export: OPML poate descrie doar fluxuri." + }, + "fullPlayer": { + "queueNowPlaying": "Acum se redă #{position} · {count} rămas", + "queuedCount": "{count} în așteptare", + "mediaUnavailable": "Media indisponibilă", + "streaming": "Streaming", + "backToPodcast": "Înapoi la podcast", + "loading": "Se încarcă episodul...", + "tryAgain": "Încercați din nou", + "nowListening": "Acum ascultă", + "retry": "Reîncercați", + "restart": "Repornire", + "durationUnavailable": "Durată indisponibilă", + "previousQueued": "Episod de coadă anterior", + "nextQueued": "Următorul episod de coadă", + "startingPlayback": "Pornire redare", + "speed": "Viteză", + "playbackSpeed": "Viteza de redare", + "sleep": "Somn", + "off": "Dezactivat", + "endOfChapter": "Sfârșitul capitolului", + "endOfEpisode": "Sfârşitul episodului", + "minutesLeft": "{count}m ramas", + "aboutEpisode": "Despre acest episod", + "showLess": "Arată mai puțin", + "showMore": "Arată mai mult", + "chapters": "Capitole", + "previousChapter": "Capitolul anterior", + "nextChapter": "Următorul capitol", + "removeNamedFromQueue": "Elimină {title} din coadă", + "queueClear": "Coada ta este clară.", + "transcripts": "Transcripturi", + "transcript": "Transcriere", + "sleepMinutes": "{count} min", + "speedValue": "{rate}x", + "cyclePlaybackSpeed": "Viteza redării ciclului", + "choosePlaybackSpeed": "Alege viteza de redare", + "moreSpeeds": "Mai", + "showSpeedOverride": "Această viteză este amintită pentru acest spectacol.", + "clearSpeedOverride": "Folosește viteza implicită pentru acest spectacol", + "extendSleepLabel": "Adaugă {count} mai multe minute la temporizatorul de somn", + "sleepTimer": "Cronometru somn", + "sleepRemaining": "{count}m", + "fineTuneSpeed": "Ajustare fin", + "decreaseSpeed": "Scade viteza redării", + "increaseSpeed": "Mărește viteza de redare", + "extendSleep": "Adaugă {count} min", + "bookmarkTooltip": "Marcaj: {title}", + "openQueue": "Deschide coada", + "openChapterLink": "Deschide link-ul capitolului pentru {title}" + }, + "show": { + "loading": "Se încarcă podcastul...", + "noAlerts": "Fără alerte", + "immediate": "Imediat", + "dailyDigest": "Sumar zilnic", + "weeklyDigest": "digerare săptămânală", + "refreshFeed": "Reîmprospătare feed", + "refreshInterval": "Interval de reîmprospătare în minute", + "restore": "Restaurează", + "archive": "Arhivează", + "deletePermanently": "Șterge permanent", + "mergeSource": "Îmbină un alt ID podcast în acest spectacol", + "queueMerge": "Îmbinare în coadă", + "confirmMerge": "Îmbinați podcast {id} în acest podcast? Podcast sursă va fi eliminat definitiv.", + "confirmDelete": "Ștergeți permanent {title}, episoadele sale {episodes} și starea de ascultare? Acest lucru nu poate fi anulat.", + "confirmDeleteWithDownloads": "Ștergere permanentă {title}, este {episodes} episoade, {files} fişiere descărcate ({size}), și toate statele care ascultă? Acest lucru nu poate fi anulat.", + "back": "Înapoi", + "notificationMode": "Frecvența notificărilor", + "readMore": "Citește mai mult", + "searchEpisodes": "Căutaţi episoadele acestui spectacol", + "clearEpisodeSearch": "Ștergeți căutarea episod", + "episodeFilter": "Filtru episod", + "episodeSort": "Ordine sortare episod", + "newestFirst": "Cele mai noi", + "oldestFirst": "Cel mai vechi primul", + "noEpisodes": "Niciun episod de potrivire", + "noEpisodesDescription": "Încearcă altă căutare, filtru sau ordine de sortare.", + "dangerZone": "Zona de pericol", + "dangerZoneActions": "Arhivați, ștergeți sau fuzionați acest flux. Ștergerea nu poate fi anulată.", + "mergeTitle": "Merge duplicate show", + "mergeDescription": "Găsiți Arată sursă pentru a fuziona în acesta. Sursa va fi eliminată definitiv.", + "searchMergeSource": "Caută un spectacol duplicat", + "mergeSelected": "Îmbinați „{title}” în această afișare", + "fromDate": "De la", + "toDate": "La", + "feedFailingTitle": "Hrana necesită atenție", + "feedFailingDetail": "{count} reîmprospătare consecutivă. Ultima reîmprospătare reușită: {lastSuccess}", + "archivedTitle": "Acest spectacol este arhivat", + "archivedDescription": "Arhivat arată oprire reîmprospătare și nu descarcă noi episoade.", + "downloadLatestCount": "Numărul celor mai recente episoade de descărcat", + "confirmRemoveAllDownloads": "Eliminați fiecare episod descărcat pentru acest spectacol? Episoadele de streaming și progresul de ascultare sunt păstrate.", + "refreshCompleted": "Actualizat, {count} episoade noi", + "refreshFailed": "Reîmprospătare eșuată: {error}", + "manageTitle": "Gestionează emisiunea", + "manageActionsDescription": "Arhivarea, ștergerea și îmbinarea sunt tratate separat, astfel încât setările de rutină rămân sigure pentru schimbare.", + "openManageActions": "Arhivează, șterge sau fuzionează", + "archiveOrDelete": "Arhivarea este reversibilă şi păstrează fiecare episod. Ştergerea serialului, episoadele sale şi orice fişiere descărcate pentru totdeauna.", + "deleteRequiresOwner": "Arhivarea ascunde acest spectacol și oprește reîmprospătarea sa. Numai un proprietar de bibliotecă cu permisiunea de a șterge podcast-urile îl poate elimina definitiv.", + "settingsDescription": "Alegeți cum sunt dobândite episoadele și cât de des este verificat furajul.", + "updatedAgo": "Actualizat {time}", + "checksEvery": "Verifică fiecare {time}", + "visitWebsite": "Vizitaţi site-ul web", + "backToLibrary": "Înapoi la {library}", + "categoryOverflow": "+{count}", + "moreCategories": "Arată {count} mai multe categorii", + "allCategories": "Toate categoriile", + "serial": "Serie", + "daysShort": "{count} d", + "hoursShort": "{count} h", + "minutesShort": "{count} min", + "moreActions": "Mai multe acțiuni de afișare", + "dates": "Date", + "anyDate": "Oricare", + "dateRange": "{from} - {to}", + "dateFilter": "Date de publicare episod", + "clearDates": "Curăță datele", + "seasonHeader": "Sezonul {season}", + "localSettingsHint": "Acest spectacol nu are flux, deci nu are setări de reîmprospătare sau descărcare." + }, + "edit": { + "title": "Editați detaliile", + "description": "Orice modificați aici este blocat astfel încât următoarea reîmprospătare a fluxului să nu o poată suprascrie.", + "titleLabel": "Afișare titlu", + "authorLabel": "Editor", + "authorPlaceholder": "Cine publică această emisiune", + "descriptionLabel": "Descriere", + "descriptionPlaceholder": "Despre acest spectacol", + "descriptionHint": "Formatarea din feed este înlocuită cu textul simplu introdus aici.", + "siteUrlLabel": "Website", + "siteUrlPlaceholder": "https://example.com/show", + "languageLabel": "Limba", + "languagePlaceholder": "ro-ro", + "categoriesLabel": "Categorii", + "categoriesPlaceholder": "Adaugă o categorie și apasă Enter", + "removeCategory": "Elimină categoria {category}", + "categoryLimit": "Puteți păstra până la categoriile {count}.", + "explicitLabel": "Explicit", + "explicitHint": "Marchează acest spectacol ca conținând conținut explicit.", + "artworkTitle": "Artoperi", + "artworkHint": "PNG, JPEG, WebP, GIF, sau AVIF de până la 10 MB. Arta personalizată înlocuiește imaginea fluxului peste tot.", + "artworkUrlLabel": "Adresa imaginii", + "artworkUrlPlaceholder": "https://example.com/artwork.png", + "chooseImage": "Alege imaginea", + "useImage": "Utilizați această imagine", + "removeCustomArtwork": "Elimină opera de artă personalizată", + "lockField": "Blochează {field} împotriva reîmprospătării fluxului", + "unlockField": "Deblochează {field} astfel încât fluxul să îl actualizeze", + "willLockField": "{field} va fi blocat când salvați", + "willLockHint": "Acest câmp va fi blocat când salvați.", + "localDescription": "Acest spectacol nu are flux, astfel încât editările tale sunt permanente și nimic nu le poate suprascrie." + }, + "episodeEdit": { + "title": "Editare episod", + "description": "Orice modificați aici este blocat astfel încât următoarea reîmprospătare a fluxului să nu o poată suprascrie.", + "lockHint": "Câmpurile editate sunt protejate de actualizările fluxului.", + "titleLabel": "Titlu episod", + "subtitleLabel": "Subtitrare", + "subtitlePlaceholder": "O linie scurtă sub titlu", + "descriptionLabel": "Descriere", + "descriptionPlaceholder": "Ce acoperă acest episod", + "descriptionHint": "Formatarea din feed este înlocuită cu textul simplu introdus aici.", + "publishedAtLabel": "Publicat", + "seasonLabel": "Sezon", + "seasonPlaceholder": "2", + "episodeLabel": "Număr episod", + "episodePlaceholder": "14", + "episodeTypeLabel": "Tip episod", + "episodeTypeNone": "Nu este setat", + "episodeTypeFull": "Episod complet", + "episodeTypeTrailer": "Remorcă", + "episodeTypeBonus": "Bonus", + "episodeTypeFromFeed": "{value} (din flux)", + "durationLabel": "Durată", + "durationPlaceholder": "Minute", + "durationHint": "În minute. Lăsaţi necompletat pentru a elimina durata.", + "durationInvalid": "Introduceți o durată în minute mai mare decât zero.", + "explicitLabel": "Explicit", + "explicitHint": "Marchează acest episod ca conținând conținut explicit.", + "localHint": "Acest episod a venit dintr-un fișier mai degrabă decât dintr-un flux, astfel încât editările tale sunt permanente și nimic nu le poate suprascrie." + }, + "errors": { + "createBookmark": "Eșuare creare marcaj", + "updateBookmark": "Actualizarea marcajului a eșuat", + "deleteBookmark": "Eșuare ștergere marcaj", + "feedPreview": "Previzualizare flux eșuată", + "directorySearch": "Căutarea directorului este indisponibilă momentan. Lipiți URL-ul fluxului în schimb.", + "invalidEpisodeLimit": "Introduceți un număr maxim de episoade valabil", + "invalidEpisodeWindow": "Introduceți o fereastră validă de episod recent", + "invalidCleanupDelay": "Întârzierea curăţării trebuie să fie de la 0 la 8760 ore", + "addPodcast": "Adăugarea podcast a eșuat", + "opmlTooLarge": "Fișierele OPML nu pot depăși 5 MB", + "opmlImport": "Importarea OPML a eșuat", + "opmlExport": "Exportul OPML a eșuat", + "loadSettings": "Încărcarea setărilor de podcast a eșuat", + "invalidStorage": "Valorile de stocare trebuie să fie numere non-negative", + "invalidRefresh": "Reîmprospătarea implicită trebuie să fie de la 5 la 10.080 de minute", + "invalidCompletion": "Pragul de completare trebuie să fie de la 0 la 3,600 secunde", + "saveSettings": "Salvarea setărilor podcast a eșuat", + "markPlayed": "Eșuare marcare episod redat", + "restartEpisode": "Repornirea episodului a eșuat", + "queueDownload": "Eșuare în așteptare a episodului de descărcare", + "removeDownload": "Eroare la ștergerea descărcării episodului", + "addToQueue": "Adăugarea episodului la coadă a eșuat", + "removeFromQueue": "Ștergerea episodului din coadă a eșuat", + "loadPodcast": "Încărcarea podcast a eșuat", + "loadEpisodes": "Eșec la încărcarea episoadelor de podcast", + "queueNext": "Eșec la coada de episod de mai jos", + "follow": "Nu s-a putut urmări podcast", + "unfollow": "Anularea podcast a eșuat", + "updateEpisode": "Actualizarea episodului a eșuat", + "refresh": "Reîmprospătare podcast eșuată", + "reparse": "Nu s-a reușit repararea podcast în coadă", + "reparseNoSnapshot": "BookOrbit nu are încă o copie stocată a acestui flux. Reîmprospătați-l mai întâi.", + "updatePodcast": "Actualizarea podcast a eșuat", + "archive": "Arhivarea podcast a eșuat", + "prepareDelete": "Nu s-a putut pregăti ștergerea Arată", + "deleteShow": "Ștergerea emisiunii a eșuat", + "restore": "Restaurarea podcast a eșuat", + "merge": "Nu s-a reușit îmbinarea podcast în coadă", + "libraryAccess": "Nu s-a putut încărca accesul bibliotecii", + "reorderQueue": "Nu s-a reușit reordonarea cozii de podcast", + "clearQueue": "Ștergerea cozii de podcast a eșuat", + "podcastNotFound": "Podcast nu a fost găsit", + "loadPodcasts": "Încărcarea podcasturilor a eșuat", + "loadQueue": "Încărcarea cozii de podcast a eșuat", + "loadHealth": "Încărcarea sănătății furajelor nu a reușit", + "loadPlaybackSettings": "Încărcarea setărilor de redare podcast a eșuat", + "invalidPlaybackRate": "Rata de redare trebuie să fie de la 0,5 la 3", + "invalidSkipBackward": "Omiterea înapoi trebuie să fie de la 5 la 120 secunde", + "invalidSkipForward": "Omiterea înainte trebuie să fie de la 5 la 120 de secunde", + "invalidDateRange": "Data de început trebuie să fie înainte de data de sfârșit", + "episodeNotFound": "Episodul Podcast nu a fost găsit", + "loadEpisode": "Încărcarea episodului de podcast a eșuat", + "refreshPlaybackContext": "Actualizarea contextului de redare a eșuat", + "streamUnavailable": "Imposibil de încărcat acest episod de podcast", + "bulkAction": "Eșuare actualizare episoade podcast", + "invalidVolume": "Volumul trebuie să fie de la 0 la 100 la sută", + "restoreQueue": "Restaurarea cozii de podcast a eșuat", + "loadPlaylists": "Încărcarea listelor de redare a eșuat", + "savePlaylist": "Salvarea listei de redare a eșuat", + "deletePlaylist": "Ștergerea listei de redare a eșuat", + "queuePlaylist": "Nu s-a reușit redarea listei de redare", + "playlistNameRequired": "Numește lista de redare înainte de a o salva", + "playlistLimitReached": "Ai atins limita salvată pentru lista de redare", + "playlistDurationRange": "Durata cea mai scurtă trebuie să fie sub cea mai lungă", + "updatePinned": "Actualizarea stării fixate a eșuat", + "titleRequired": "Titlul nu poate fi gol", + "episodeTitleRequired": "Titlul episodului nu poate fi gol", + "updateArtwork": "Actualizarea artoperei a eșuat", + "removeArtwork": "Ștergerea artoperei personalizate a eșuat" + }, + "settingsPage": { + "title": "Setări Podcast", + "subtitle": "Gestionați setările implicite de redare și comportamentul de stocare pentru fiecare librărie de podcast", + "loading": "Se încarcă setările podcast ...", + "saving": "Salvare...", + "playbackTitle": "Setări implicite pentru redare", + "playbackDescription": "Aceste preferințe urmăresc contul dvs. pe toate dispozitivele. Vitezele de redare memorate pentru emisiuni individuale sunt păstrate.", + "defaultPlaybackRate": "Viteza de redare implicită", + "skipBackwardSeconds": "Sari înapoi (secunde)", + "skipForwardSeconds": "Sari înainte (secunde)", + "playbackSaved": "Setări de redare Podcast salvate", + "playbackSaveFailed": "Salvarea setărilor de redare podcast a eșuat", + "libraryTitle": "Biblioteca implicită și stocare", + "libraryDescription": "Alegeți o bibliotecă podcast pentru a vedea limitele de stocare și comportamentul de reîmprospătare implicit.", + "library": "Biblioteca Podcast", + "noLibraries": "Încă nu ai acces la o bibliotecă de podcast", + "loadingLibrary": "Se încarcă setările bibliotecii...", + "readOnlyLibrary": "Doar proprietarii librăriei cu permisiunea de a păstra podcast pot schimba aceste setări.", + "showSettingsHint": "Regulile de descărcare automată şi de reîmprospătare rămân în setările fiecărui spectacol.", + "defaultVolume": "Volum implicit", + "gigabytesUnit": "GO" + }, + "queueReorder": { + "lifted": "{title} ridicat la poziția {position} de {total}", + "moved": "{title} s-a mutat în poziția {position} {total}", + "dropped": "{title} a scăzut la poziția {position} de {total}", + "cancelled": "Reordonarea {title} a fost anulată" + }, + "sort": { + "label": "Sortează", + "showLabel": "Sortare spectacole", + "episodeLabel": "Sortează episoadele", + "showTitle": "Titlul A - Z", + "showRecent": "Actualizat recent", + "showUnplayed": "Cele mai nejucate", + "shortest": "Cel mai scurt", + "longest": "Cel mai lung", + "recentlyListened": "Ascultat recent" + }, + "announce": { + "queued": "{title} adăugat la coadă", + "queuedNext": "{title} va reda următorul", + "unqueued": "{title} a fost eliminat din coadă", + "downloadReady": "{title} descărcare finalizată", + "downloadFailed": "Descărcarea {title} a eșuat", + "evictedSpace": "{title} descărcare eliminată pentru stocare gratuită", + "evictedPlayed": "Descărcarea {title} a fost eliminată după ascultare", + "sleepExpired": "Cronometru de somn încheiat, redare întreruptă", + "sleepExtended": "Temporizator de somn extins cu {count} minute", + "sleepChapterUnavailable": "Timp de somn anulat, acest episod nu are capitole" + }, + "shortcuts": { + "title": "Comenzi rapide pentru Podcast", + "description": "Acestea funcţionează în timp ce un episod este încărcat. Spaţiul şi tastele săgeată acţionează pe pagina jucătorului sau pe mini player, iar semnele de carte pot fi adăugate doar din pagina jucătorului.", + "open": "Scurtături tastatură", + "togglePlayback": "Redare sau pauză", + "skipBackward": "Sari înapoi", + "skipForward": "Sari înainte", + "next": "Următorul episod", + "previous": "Episod anterior", + "speedDown": "Scade viteza redării", + "speedUp": "Mărește viteza de redare", + "mute": "Dezactivează sau activează sunetul", + "volumeUp": "Crește volumul", + "volumeDown": "Scade volumul", + "bookmark": "Adaugă marcaj", + "help": "Arată această listă", + "spaceKey": "Spațiu", + "groups": { + "playback": "Redare", + "navigation": "Navigation", + "tools": "Unelte" + } + }, + "playlists": { + "title": "Liste", + "builtInLabel": "Construit în", + "savedLabel": "Salvat", + "choose": "Alege o listă de redare", + "search": "Căutare episoade listă de redare", + "summary": "{count} episoade, {duration}", + "summaryShortest": "Scurt", + "summaryLongest": "Cel mai lung", + "summaryPublishedWithin": "Publicat în", + "create": "Playlist nou", + "createTitle": "Playlist nou inteligent", + "editTitle": "Editare playlist inteligent", + "editorDescription": "Alegeți episoadele care colecționează lista de redare. Regulile sunt reevaluate de fiecare dată când le deschideți, astfel încât episoadele noi să apară automat.", + "edit": "Editare reguli", + "adjustRules": "Reglaţi regulile", + "saveAs": "Salvează ca listă de redare", + "save": "Salvează playlist", + "delete": "Șterge playlist", + "deleteConfirmTitle": "Ștergeți această listă de redare?", + "deleteConfirmDescription": "\"{name}\" și regulile sale vor fi eliminate. Episoadele pe care le colectează nu sunt afectate.", + "nameLabel": "Nume listă de redare", + "namePlaceholder": "Comutator dimineața", + "filterLabel": "Episoade", + "sortLabel": "Comanda", + "minDuration": "Cel mai scurt (minute)", + "maxDuration": "Cel mai lung (minute)", + "publishedWithin": "Publicat în (zile)", + "showsLabel": "Show-uri", + "showsDescription": "Lăsați acest gol pentru a include toate emisiunile din bibliotecă.", + "searchShows": "Căutare spectacole de adăugat", + "removeShow": "Elimină {title}", + "showLimit": "O listă de redare poate viza până la emisiunile {count}.", + "copyOf": "{name} copie", + "empty": "Nimic nu se potrivește încă cu această listă de redare", + "emptyDescription": "Reglaţi regulile sau reveniţi după ce apar episoade noi.", + "builtIn": { + "quick": "Ascultări rapide", + "continue": "Continuă ascultarea", + "downloaded": "Descărcat", + "fresh": "Reîmprospătează săptămâna aceasta" + }, + "nameRequired": "Numește lista de redare înainte de a o salva" + }, + "downloadWidget": { + "title": "Descărcări", + "progress": "{completed} de {total} descărcat", + "progressWithFailures": "{completed} {total} descărcat; {failed} a eșuat", + "progressWithCancelled": "{completed} {total} descărcat; {cancelled} anulat", + "complete": "Descărcări complete: {count}", + "expand": "Extinde progresul descărcărilor", + "collapse": "Restrânge progresul descărcării", + "overallProgress": "Progres total de descărcare", + "unknownPodcast": "Podcast", + "unknownEpisode": "Episod", + "batchProgress": "{completed} {total} complet", + "dismiss": "Respinge progresul de descărcare", + "bytes": "{received} {total}", + "episodeProgress": "Descarcă progresul pentru {title}", + "status": { + "queued": "În aşteptare", + "downloading": "Descărcare", + "completed": "Descărcat", + "failed": "Eșuat", + "cancelled": "Anulat" + } + }, + "collections": { + "addAction": "Adaugă la colecție", + "addTitle": "Adaugă la colecție", + "addDescription": "Alegeți o colecție de podcast pentru {title}.", + "added": "Adăugat la {name}", + "addFailed": "Nu s-a putut adăuga emisiunea la acea colecție.", + "createFailed": "Nu s-a putut crea colecta.", + "alreadyIn": "Deja în această colecție", + "none": "Nici o colecţie de podcast încă. Creați una de mai jos.", + "newPlaceholder": "Podcast-uri Sci-fi", + "newLabel": "Nume nou pentru colecție", + "create": "Crează", + "newCollection": "Colecție nouă", + "existing": "Colecții", + "inCollection": "În această colecție", + "showCount": "{count} spectacole", + "removed": "Eliminat din {name}", + "removeFailed": "Nu s-a putut elimina emisiunea din acea colecție." + } + }, "titles": { "dashboard": "Panou", "libraries": "Biblioteci", + "podcastLibraries": "Biblioteci Podcast", + "podcastScope": "Playlist inteligent", + "podcastCollection": "Colecție Podcast", "opds": "OPD-uri", "koboSync": "Kobo Sync", "koreaderSync": "Sincronizare KOReader", @@ -7218,6 +13819,9 @@ "collection": "Colectare", "author": "Autor", "book": "Carte", + "podcasts": "Podcasturi", + "podcast": "Podcast", + "podcastEpisode": "Episod", "seriesItem": "Serii", "appearance": { "theme": "Afişare", @@ -7237,6 +13841,7 @@ }, "email": { "providers": "Furnizori", + "servers": "Servere de e-mail", "recipients": "Destinatari", "groups": "Grupuri", "templates": "Şabloane", @@ -7250,18 +13855,21 @@ "genre-blocklist": "Genre Blocklist", "score": "Scor de încredere", "auto-fetch": "Auto-Primire de cărți", - "authors": "Autor Auto-Fetch" + "authors": "Autor Auto-Fetch", + "search-cache": "Căutare Cache" }, "admin": { "users": "Utilizatori", "account-activity": "Activitatea contului", "magic-links": "Link-uri Magice", "oidc": "OIDC / SSO", - "server-fonts": "Fonturi Server" + "server-fonts": "Fonturi Server", + "tts": "Text-pe-vorbire" }, "system": { "file-naming": "Nume Fişier", "book-dock": "Andocare carte", + "requests": "Cereri", "maintenance": "Mentenanţă", "audit-log": "Jurnal de audit" }, @@ -7272,6 +13880,179 @@ "restrictions": "Restricții de conținut" }, "smartScopes": "Domenii inteligente", - "collections": "Colecții" + "collections": "Colecții", + "missingResources": "Lipsesc resursele", + "bookRequests": "Cereri", + "bookRequestDetail": "Solicitare", + "bookRequestReleases": "Alege o versiune", + "tts": "Text-pe-vorbire" + }, + "tts": { + "readerControls": { + "listen": "Ascultă", + "playing": "Redare" + }, + "player": { + "fallbackTitle": "Redare TTS", + "play": "Redare TTS", + "pause": "Întrerupeți TTS", + "openMiniPlayer": "Deschide Mini player", + "shrinkPlayer": "Micșorează jucătorul", + "expandPlayer": "Extinde jucătorul", + "collapsePlayer": "Restrânge player-ul", + "openDetails": "Deschide detaliile jucătorului", + "previousSentence": "Propoziția anterioară", + "nextSentence": "Următoarea frază", + "meta": "Ch {chapter} - Sent {sentence} - {voice} - {speed}x", + "metaWithoutVoice": "Ch {chapter} - Trimis {sentence} - {speed}x", + "position": "{chapter} - Sentență {sentence}", + "playbackError": "Eroare de redare - apasă redare pentru a încerca din nou", + "voice": "Voce", + "sleep": "Somn", + "sleepRemaining": "{count}m", + "currentVoice": "Vocea curentă", + "chooseVoice": "Alege vocea", + "saveForBook": "Salvați pentru această carte", + "setAsDefault": "Setează ca implicit global", + "bookVoiceSaved": "Voce salvată pentru această carte", + "bookVoiceSaveFailed": "Salvarea vocii din agendă a eșuat", + "defaultVoiceSaved": "Vocea TTS implicită actualizată", + "defaultVoiceSaveFailed": "Actualizarea vocii implicite a eșuat", + "stop": "Oprește" + }, + "speed": { + "label": "Viteza de redare", + "value": "{speed}x" + }, + "sleepTimer": { + "title": "Temporizator somn", + "preset": "{count}m", + "presetLabel": "Oprește redarea după {count} minute", + "cancel": "Anulează", + "cancelLabel": "Anulează temporizatorul de somn", + "remaining": "Oprește în {minutes}m {seconds}s" + }, + "resume": { + "title": "Reluați TTS?", + "description": "Aveţi o poziţie TTS salvată", + "descriptionWithChapter": "Aveţi o poziţie TTS salvată (Capitolul {chapter})", + "resume": "Reluare", + "startHere": "Pornește această pagină", + "dismiss": "Renunţaţi", + "clearing": "Ștergere...", + "confirmClear": "Confirmă curățarea", + "clearSavedPosition": "Șterge poziția salvată" + }, + "voicePicker": { + "search": "Căutare voce...", + "allProviders": "Toate", + "allLanguages": "Toate limbile", + "allCountries": "Toate țările", + "filterByLanguage": "Filtrare după limbă", + "filterByCountry": "Filtrare după țară", + "empty": "Nicio voce găsită", + "select": "Selectați {name}", + "preview": "Previzualizare {name}", + "voiceWithLocale": "{voice} - {locale}" + }, + "settings": { + "description": "Configurați setările implicite de voce TTS și de redare.", + "defaultVoice": "Vocea implicită", + "selectVoice": "Selectați o voce...", + "change": "Schimbă", + "defaultSpeed": "Viteza implicită", + "saved": "Preferințe TTS salvate", + "saveFailed": "Salvarea preferinţelor TTS a eşuat" + }, + "errors": { + "generic": "Eroare TTS" + } + }, + "delivery": { + "readAloud": { + "label": "Furnizarea de EPUB cu voce tare", + "automatic": "Automat: preferă doar textul, permite alternativa originală.", + "textOnly": "EPUB doar text", + "original": "EPUB original cu naraţiune", + "hint": "Aplică livrărilor viitoare. Originalele păstrează nararea existentă și pot fi mult mai mari. Pregătirea exclusivă eșuează dacă nu se poate face o copie sigură.", + "koboHint": "EPUB-urile originale ocolesc conversia KEPUB. Firmware nativ Kobo poate să nu joace narațiune, și o poziție precisă și să evidențieze sincronizarea nu sunt disponibile pentru acea copie.", + "profileHint": "Utilizați profiluri OPDS separate pentru cititorii care au nevoie de variante EPUB diferite.", + "replacementTitle": "Înlocuiește o copie Kobo", + "bookId": "ID Carte", + "device": "Dispozitiv", + "prepare": "Pregătiți înlocuirea", + "offer": "Am eliminat doar copia dispozitivului; oferiți înlocuirea", + "confirm": "Am instalat înlocuirea", + "cancel": "Anulează înlocuirea", + "replacementHint": "Pregătiți și revizuiți mai întâi. Eliminarea unei copii a dispozitivului nu șterge cartea de bibliotecă. Faceți copii de rezervă la notele locale de pe dispozitiv. BookOrbit păstrează progresul canonic și adnotările serverului. Evenimentele întârziate pot limita sincronizarea precisă.", + "prepared": "Înlocuire pregătită: {format}, {size}. Eliminați această carte numai de pe dispozitivul selectat, apoi oferiți înlocuirea pregătită și sincronizați.", + "offered": "Înlocuirea oferită. Sincronizează și descarcă de pe dispozitiv, apoi confirmă instalarea. Un transfer HTTP completat nu confirmă instalarea.", + "cancelled": "Înlocuire anulată. Anularea nu restaurează o copie a dispozitivului eliminată sau parțial înlocuită. Selectați aceeași carte pentru a pregăti o descărcare de recuperare.", + "alreadyOnDevice": "Dispozitivul are deja această copie exactă, deci nu este nimic de înlocuit", + "failed": "Nu s-a putut pregăti sau actualiza acest înlocuire.", + "searchBook": "Caută o carte", + "chooseBook": "Selectează o carte", + "moreResults": "Arată mai multe cărți", + "noResults": "Nu s-au găsit cărți potrivite.", + "refresh": "Reîmprospătare stare livrare", + "confirmed": "Ați confirmat instalarea. Aceste înregistrări vă confirmă, nu verificarea dispozitivului.", + "transferred": "Transferul a fost finalizat. Deschideți înlocuirea de pe dispozitiv înainte de a confirma instalarea.", + "koreaderDefaultTitle": "Livrare EPUB KOReader", + "koreaderDefaultHint": "Implicit se aplică descărcărilor viitoare de pe dispozitivele care folosesc aceste acreditări. Setările dispozitivului îl pot suprascrie. Copiile existente și descărcările întrerupte rămân neschimbate. Păstrează automat opțiunile existente ale dispozitivului.", + "koreaderUseDefault": "Folosește acreditările implicite", + "koreaderSaveFailed": "Nu s-a putut salva setarea de livrare a EPUB KOReader. Încercați din nou.", + "koreaderSaved": "Setarea livrării KOReader EPUB a fost salvată." + } + }, + "commandPalette": { + "title": "Caută", + "description": "Căutați cărți, autori, serii și setări, săriți într-un loc sau conduceți o acțiune.", + "placeholder": "Căutați cărți, autori, serii sau mergeți la…", + "close": "Închide căutarea", + "clear": "Ștergeți căutarea", + "tabs": { + "all": "Toate", + "books": "Cărți", + "authors": "Autori", + "series": "Serii", + "settings": "Setări" + }, + "sections": { + "continueReading": "Continuă lectura", + "goTo": "Mergi la", + "actions": "Acțiuni", + "books": "Cărți", + "authors": "Autori", + "series": "Serii", + "settings": "Setări" + }, + "kinds": { + "author": "Autor", + "series": "Serii", + "library": "Bibliotecă", + "smartScope": "Domeniu inteligent", + "collection": "Colectare", + "page": "Pagină", + "setting": "Setare" + }, + "showAllBooks": "{count, plural, one {Arată # cartea} other {Arată toate # cărţile} few {Arată toate # cărţile}}", + "showAllAuthors": "{count, plural, one {Arata # autor} other {Arata toti # autorii} few {Arata toti # autorii}}", + "showAllSeries": "{count, plural, one {Arată # serii} other {Arată toate seria #} few {Arată toate seria #}}", + "showAllSettings": "{count, plural, one {Arată # setarea} other {Arată toate # setările} few {Arată toate # setările}}", + "actions": { + "lightTheme": "Comutați la tema luminoasă", + "darkTheme": "Comutați la tema întunecată" + }, + "hints": { + "navigate": "Navigate", + "open": "Deschideți", + "filter": "Filtrare", + "close": "Inchide" + }, + "keys": { + "escape": "d", + "tab": "tab" + }, + "resultCount": "{count, plural, =0 {Niciun rezultat} one {# rezultat} other {# rezultate} few {# rezultate}}" } } diff --git a/client/src/locales/ru.json b/client/src/locales/ru.json index 7aae51bc7..17722c8e0 100644 --- a/client/src/locales/ru.json +++ b/client/src/locales/ru.json @@ -108,8 +108,15 @@ "theme": { "title": "Тема", "style": { + "label": "Стиль", + "hint": "Общий внешний вид приложения, режим, акцент, углы и фон сохраняют свои настройки.", "bookorbit": { - "label": "BookOrbit" + "label": "BookOrbit", + "description": "Тонкие поверхности, стеклянные панели и засечки." + }, + "nostalgia": { + "label": "Nostalgia", + "description": "Нейтральные земли, тип системы, плоские панели и верхний свет." } }, "colorScheme": { @@ -118,6 +125,7 @@ }, "surfacePalette": { "label": "Поверхность", + "hint": "Нейтральная земля за панелями и картами.", "palettes": { "onyx": "Оникс", "carbon": "Карбон", @@ -128,9 +136,12 @@ "ash": "Пепельный", "smoke": "Дымчатый", "charcoal": "Угольный", + "slate": "Спустя", "midnight-blue": "Полночно-Синий", "ocean": "Морской", + "pine": "Сосна", "olive": "Оливковый", + "stone": "Камень", "sepia": "Сепия", "crimson": "Багровый", "plum": "Сливовый" @@ -209,14 +220,17 @@ "blush": "Смешать" }, "accentColor": { - "label": "Цвет акцента" + "label": "Цвет акцента", + "hint": "Основные элементы управления и интерактивные элементы" }, "cornerRadius": { "label": "Corner radius", "hint": "Округление карт и элементов интерфейса", "options": { + "sharp": "Острый", "default": "Стандартный", - "rounded": "Скруглённый" + "rounded": "Скруглённый", + "pill": "Pill" } }, "surfaceBrightness": { @@ -269,6 +283,21 @@ "loadError": "Не удалось загрузить поставщик поиска обложки по умолчанию", "saveError": "Не удалось сохранить поставщик поиска обложки по умолчанию" }, + "placeholderStyle": { + "title": "Стиль заполнителя", + "hint": "Книги без обложки рисуются в этом стиле.", + "options": { + "bauhaus": "Bauhaus", + "constructivist": "Конструктивист", + "memphis": "Memphis", + "clothbound": "Привязанность к одежде", + "poster": "Плакат", + "aurora": "Aurora", + "vista": "Виста", + "marbled": "Чудо", + "paperback": "Отзыв" + } + }, "displayMode": { "title": "Режим отображения обложки", "hint": "Управляет тем, насколько настоящие крышки помещаются внутри ячейки книги, когда соотношения сторон различаются", @@ -790,6 +819,7 @@ }, "groupMappings": { "title": "Сопоставления групп", + "description": "Группа OIDC карты претендует на разрешение BookOrbit. Синхронизируется при каждом входе.", "noPermission": "Нет разрешения", "empty": "Привязки групп не настроены.", "addMapping": "Добавить сопоставление", @@ -831,6 +861,7 @@ "recommendationsGroup": "Рекомендации", "achievementsGroup": "Достижения", "updatesGroup": "Обновления", + "importFromBooklore": "Импорт из Booklore", "bookloreImportConfigured": "Буккорный импорт настроен", "importLibraryData": "Импорт данных библиотеки", "migrationConfigured": "Сконфигурирован источник миграции", @@ -1157,6 +1188,8 @@ "onDiskUnit": "{size} На диске", "noFilesIndexed": "Нет индексированных файлов", "formatEntry": "{format} {count}", + "formatOverflow": "{count, plural, one {+# больше формата} other {+# больше форматов} few {+# больше форматов} many {+# больше форматов}}", + "extraFolders": "{count, plural, one {+# папка} other {+# папок} few {+# папок} many {+# папок}}", "openLibrary": "Открыть {name}", "moreActions": "Больше действий {name}", "statsFailed": "Не удалось загрузить количество библиотек. Всё остальное на этой странице продолжает работать.", @@ -1166,12 +1199,16 @@ "sortLabel": "Сортировка", "noMatchesTitle": "Нет библиотек, соответствующих этому фильтру", "noMatchesHint": "Ничего не соответствует \"{query}\" по имени или пути к папке.", + "totalLibraries": "{count, plural, one {# библиотека} other {# библиотек} few {# библиотек} many {# библиотек}}", "neverScanned": "Никогда не сканировалась", "neverScannedHint": "Запустите сканирование, чтобы индексировать папки", "scanFailedAt": "Сбой {time}", "scanningPercent": "Сканирование {pct}%", "scanCounting": "Подсчёт файлов", "scanCounts": "{processed} из {total}", + "scanAdded": "{count, plural, one {+# добавлено} other {+# добавлено} few {+# добавлено} many {+# добавлено}}", + "scanUpdated": "{count, plural, one {# обновлено} other {# обновлено} few {# обновлено} many {# обновлено}}", + "scanMissing": "{count, plural, one {# отсутствует} other {# отсутствует} few {# отсутствует} many {# отсутствует}}", "scanNoChange": "без изменений", "outcomeSeparator": ", ", "scanOutcome": "{trigger} · {outcome}", @@ -1189,7 +1226,8 @@ "name": "Наименование", "books": "Книги", "size": "Размер на диске", - "lastScan": "Последнее сканирование" + "lastScan": "Последнее сканирование", + "sidebar": "Sidebar order" }, "trigger": { "manual": "Вручную", @@ -1202,7 +1240,8 @@ "fileWrite": "Записать в файл", "fileRename": "Переименовать файлы", "on": "{name}: вкл", - "off": "{name}: выкл" + "off": "{name}: выкл", + "legendHint": "Пунктирные средства выкл" }, "stateOn": "Вкл.", "stateOff": "Откл.", @@ -1223,8 +1262,16 @@ } }, "detail": { + "foldersTitle": "Папки и макет", + "metadataTitle": "Метаданные и чтение", + "accessTitle": "Доступ", + "historyTitle": "История сканирования", + "path": "Путь {index}", + "organization": "Организация", "excludePatterns": "Шаблоны исключений", + "precedence": "Исходный приоритет", "allowedFormats": "Разрешенные форматы", + "countsAsStarted": "Подсчитывает как начальное", "countsAsFinished": "Считать законченными", "peopleWithAccess": "Пользователи с доступом", "added": "Добавлено", @@ -1233,19 +1280,67 @@ "portrait": "2:3 портретный", "square": "1:1 квадрат" }, + "gridShape": "Форма сетки", + "gridShapeValue": { + "tall": "Высокие ячейки", + "square": "Квадратные ячейки" + }, "none": "Отсутствует", "allSupported": "Все поддерживаемые", + "patternCount": "{count, plural, one {# шаблон} other {# шаблонов} few {# шаблонов} many {# шаблонов}}", + "peopleCount": "{count, plural, =0 {Откровенное не даёт} one {# человек} other {# людей} few {# людей} many {# людей}}", "historyEmpty": "Эта библиотека никогда не сканировалась.", - "historyFailed": "Не удалось загрузить историю сканирования для этой библиотеки." + "historyFailed": "Не удалось загрузить историю сканирования для этой библиотеки.", + "manageAccess": "Управлять", + "peopleMore": "{count, plural, one {+# больше} other {+# больше} few {+# больше} many {+# больше}}" + }, + "scannedAt": "Отсканированная {time}", + "detailRegion": "Подробности для {name}", + "scanTrigger": { + "manual": "Ручной", + "watcher": "Наблюдатель", + "schedule": "Запланированный" }, "schedule": { "at": "{preset} · {time}", "weeklyAt": "{preset} · {day} {time}" }, - "quick": { - "renameOn": "\"{name}\" будет переименовывать файлы по вашему шаблону при следующем сохранении их данных" + "librariesUnit": "{count, plural, one {библиотека} other {библиотеки} few {библиотеки} many {библиотеки}}", + "foldersUnit": "{count, plural, one {папка} other {папок} few {папок} many {папок}}", + "copyPath": "Копировать путь", + "pathCopied": "Путь скопирован", + "pathCopyFailed": "Не удалось скопировать путь", + "problem": { + "neverTitle": "Никогда не проверяется.", + "neverBody": "{count, plural, one {Ничего в его папке пока не проиндексировано.} other {# папок не проиндексировано.} few {# папок не проиндексировано.} many {# папок не проиндексировано.}}", + "failedTitle": "Последнее сканирование не удалось {time}.", + "scanNow": "Сканировать", + "retry": "Повторить сканирование" }, - "viewChanges": "Просмотр изменений" + "quick": { + "watchAria": "Смотреть папки для {name}", + "scheduleAria": "Запланированное сканирование для {name}: {value}", + "customSchedule": "Настраиваемое расписание…", + "watchOn": "Просмотр папок для \"{name}\"", + "watchOff": "Просмотренные папки остановлены для \"{name}\"", + "scheduleSet": "Сканирование расписания на \"{name}\": {value}", + "scheduleOff": "Запланированное сканирование отключено для \"{name}\"", + "saveFailed": "Не удалось обновить \"{name}\"", + "fileWriteAria": "Записать в файл для {name}", + "renameAria": "Переименовать файлы для {name}", + "fileWriteOn": "\"{name}\" запишет детали в файлы при их следующем сохранении", + "fileWriteOff": "\"{name}\" больше не будет записывать данные в свои файлы", + "renameOn": "\"{name}\" будет переименовывать файлы по вашему шаблону при следующем сохранении их данных", + "renameOff": "\"{name}\" больше не будет переименовывать файлы" + }, + "historyFor": "Сканирование {name}", + "scanNothingNew": "ничего нового нет", + "scanTimeLeftSeconds": "{count, plural, one {# секунда осталось} other {# секунд осталось} few {# секунд осталось} many {# секунд осталось}}", + "scanTimeLeftMinutes": "{count, plural, one {осталось # минут} other {осталось # минут} few {осталось # минут} many {осталось # минут}}", + "scanFinished": "Сканирование завершено для \"{name}\": {outcome}", + "scanFinishedFailed": "Сбой сканирования для \"{name}\"", + "viewChanges": "Просмотр изменений", + "duplicateSettings": "Дублировать настройки" }, "authorEnrichment": { "configuration": "Конфигурация", @@ -1279,10 +1374,17 @@ "birthDate": "Дата рождения", "deathDate": "Дата Смерти", "website": "Сайт", - "genres": "Жанры" + "genres": "Жанры", + "influences": "Влияние" }, "metadataPreferences": { - "title": "Источники полей" + "title": "Источники полей", + "hint": "Задайте порядок каждого поля заполнены. Первый провайдер выигрывает значения.", + "noProviders": "Нет доступных провайдеров", + "saved": "Источники полей сохранены", + "saveFailed": "Не удалось сохранить источники полей", + "limitedProviders": "{providers} поставляет только биографии и фотографии.", + "addProvider": "Добавить {provider} в качестве источника" } }, "scoreWeights": { @@ -1292,6 +1394,10 @@ "resetToDefaultsButton": "Сброс по умолчанию", "recalculateAll": "Пересчитать все", "confirmReset": "Подтвердите сброс", + "resetDialog": { + "title": "Сбросить все весы на значения по умолчанию?", + "description": "Все 24 поля возвращаются к кораблям книжной орбиты весов. Ничего не сохраняется, пока вы не нажмете \"Сохранить\" и \"Проверить\"." + }, "reset": "Reset", "recalculate": "Пересчитать", "subtotal": "подытог: {count}", @@ -1301,8 +1407,10 @@ "recalcFailed": "Пересчет не удался", "resetToDefaults": "Вес сброшен по умолчанию. Сохраните для применения.", "howItWorks": { - "title": "Как это работает." + "title": "Как это работает.", + "summary": "Каждая книга получает из 100 баллов за завершение своих метаданных. Вес значим только рядом с другими, поэтому в каждом поле ниже показана доля законченного балла, за который он отвечает. Удвоение веса ничего не меняет." }, + "readOnly": "Вы можете увидеть, как рассчитываются результаты, но изменение весов требует разрешения на настройки приложения.", "compositionTitle": "Источник оценки", "compositionHint": "Проценты всегда складываются до 100.", "searchFields": "Фильтр полей", @@ -1312,6 +1420,7 @@ "countGroups": "Подсчитать результат", "notScored": "Не оценено", "notScoredHeading": "Не оценено ({count})", + "notScoredHint": "Поля при нулевом листах тоже оставляют, так что книги, пропущенные, не обозначены вниз.", "decreaseWeight": "Уменьшить вес {field}", "increaseWeight": "Увеличить вес {field}", "revertField": "Вернуть {field} к сохраненному весу", @@ -1349,7 +1458,27 @@ "median": "Среднее", "belowFifty": "До 50", "ninetyPlus": "90 и более", - "noBooks": "Еще нет оцененных книг. Запустите переоценку, как только ваша библиотека закончит импорт." + "noBooks": "Еще нет оцененных книг. Запустите переоценку, как только ваша библиотека закончит импорт.", + "scopeNote": "Приблизительно {count, plural, one {# книга} other {# книг} few {# книг} many {# книг}} в библиотеках, к которым можно получить доступ, забитых с сохраненными в данный момент весами." + }, + "progress": { + "running": "Библиотека для воспроизведения", + "failed": "Пересчет не удался", + "count": "{processed} книг обработано", + "countOf": "Обработано {processed} из {total} книг", + "failedCount": "(Ошибка{count})", + "safeToLeave": "Безопасно покинуть эту страницу.", + "dismiss": "Отклонить" + }, + "save": { + "upToDate": "Все изменения сохранены.", + "unsaved": "{count, plural, one {# поле изменено} other {# полей изменено} few {# полей изменено} many {# полей изменено}}", + "totalShift": "всего от {from} до {to} баллов", + "rescores": "Сохранение баллов {count, plural, one {# книга} other {# книги} few {# книги} many {# книги}} в фоновом режиме.", + "rescoresUnknown": "Сохранение данных о библиотеке в фоновом режиме.", + "action": "Сохранить и пересчитать", + "discard": "Сбросить", + "leaveWarning": "У вас есть несохраненные изменения веса. Оставить страницу и потерять их?" } }, "tabs": { @@ -1357,21 +1486,90 @@ "account-activity": "Активность аккаунта", "magic-links": "Волшебные ссылки", "oidc": "OIDC / ССО", + "tts": "Синтез речи", "server-fonts": "Шрифты сервера" }, "tts": { + "title": "Поставщики", + "subtitle": "Речевые движки доступны для читателей, голоса курируются на каждого провайдера.", + "summary": "{providers, plural, one {# провайдеры} other {# провайдеров} few {# провайдеров} many {# провайдеров}} · {enabled} включен · {voices, plural, one {# голосовые курируемые} other {# голоса курируемые} few {# голоса курируемые} many {# голоса курируемые}}", + "addProvider": "Добавить провайдера", + "loadFailed": "Не удалось загрузить конфигурацию синтеза речи", + "empty": "Провайдеры речи не настроены.", + "reorderHint": "Перетащите для переупорядочения. Читатели видят в этом порядке свои магазины.", + "dragHandle": "Изменить порядок {name}", + "moveUp": "Переместить {name} вверх", + "moveDown": "Сдвинуть {name} вниз", + "reorderFailed": "Не удалось сохранить заказ поставщика", + "expand": "Показать подробности для {name}", + "collapse": "Скрыть подробности для {name}", + "toggleEnabled": "Включить {name}", + "enableFailed": "Не удалось обновить {name}", + "statusConnected": "Подключено", + "statusUnreachable": "Недоступен", + "statusUnchecked": "Не проверено", + "voiceCount": "{count, plural, one {# голос} other {# голоса} few {# голоса} many {# голоса}}", + "configuration": "Конфигурация", + "fieldType": "Тип", + "fieldTypeOpenAi": "OpenAI совместим", + "fieldApiKey": "API ключ", + "apiKeySet": "Задать", + "apiKeyNotSet": "Не задано", + "fieldModel": "Модель по умолчанию", + "fieldModelNone": "Провайдер по умолчанию", + "fieldDiscovery": "Обнаружение голоса", + "discoverySupported": "Поддерживается", + "discoveryUnsupported": "Не поддерживается", + "voices": "Голоса", + "voicesCurated": "{count} курируемый", + "voicesTapToPreview": "Нажмите на голос, чтобы просмотреть", + "voicesNone": "Голоса ещё не настроены", + "manageVoices": "Управление голосами", + "previewVoice": "Предпросмотр {name}", + "previewStop": "Остановить предпросмотр", + "previewFailed": "Не удалось воспроизвести превью для {name}", + "previewNeedsEnabled": "Включить предпросмотр голоса этого провайдера", + "editConfiguration": "Редактировать конфигурацию", + "testConnection": "Проверить соединение", + "testPassed": "Подключено · {count, plural, one {# голос найден} other {# голосов найдено} few {# голосов найдено} many {# голосов найдено}}", + "testFailed": "Не удалось подключиться", + "delete": "Удалить", + "deleteConfirm": "Удалить провайдера \"{name}? Читатели, использующие его голоса, вернулись к другому провайдеру.", + "deleteFailed": "Не удалось удалить {name}", + "deleted": "Поставщик удален", + "saveFailed": "Не удалось сохранить {name}", + "saved": "Поставщик сохранен", + "formAddTitle": "Новый провайдер", + "formEditTitle": "Редактировать провайдера", + "formName": "Наименование", "formNamePlaceholder": "Kokoro", "formBaseUrl": "Базовый URL", "formBaseUrlPlaceholder": "http://localhost:8880/v1", "formApiKey": "API ключ", + "formApiKeyOptional": "Опционально", "formApiKeyPlaceholder": "sk-...", "formApiKeyKeep": "Оставьте пустым, чтобы сохранить текущий ключ", "formModel": "Модель по умолчанию", "formModelPlaceholder": "tts-1", + "formDiscovery": "Этот провайдер может отображать свои голоса", + "formRequired": "Имя и базовый URL обязательны", "curation": { "title": "Управление голосами - {provider}", + "summary": "{count, plural, one {# голос настроен} other {# голосов настроено} few {# голосов настроено} many {# голосов настроено}}", + "summaryUnsaved": "{count, plural, one {# голос настроен} other {# голосов, настроенных} few {# голосов, настроенных} many {# голосов, настроенных}} - Несохранённые изменения", + "importFromProvider": "Импорт из провайдера", + "loadPreset": "Load {preset} preset", + "importUnsupported": "Этот провайдер не поддерживает поиск голоса.", + "importUnsupportedWithPreset": "Этот провайдер не поддерживает голосовое обнаружение. Используйте вместо него кнопку «Load {preset}».", + "discoveryUnsupported": "Этот провайдер не имеет конечной точки голосового списка.", + "discoverFailed": "Не удалось найти голоса", + "emptyImportOrPreset": "Нет настроенных голосов. Импортировать из провайдера или загрузить пресет.", + "emptyImport": "Нет настроенных голосов. Импорт из провайдера.", + "emptyPreset": "Голоса не настроены. Загрузите пресет, чтобы начать.", + "emptyManual": "Голоса не настроены. Добавьте голоса вручную.", "columnId": "ID", "columnName": "Имя", + "columnLocale": "Язык", "columnGender": "Пол", "genderMale": "Мужской", "genderFemale": "Женский", @@ -1380,7 +1578,8 @@ "editVoice": "Редактировать {name}", "deleteVoice": "Удалить {name}", "previewVoice": "Предпросмотр {name}", - "stopPreview": "Остановить предпросмотр {name}" + "stopPreview": "Остановить предпросмотр {name}", + "saveVoices": "{count, plural, one {Сэкономьте # голос} other {Сэкономьте # голосов} few {Сэкономьте # голосов} many {Сэкономьте # голосов}}" } }, "serverFonts": { @@ -1388,7 +1587,132 @@ "subtitle": "Загрузите шрифты, которые каждый пользователь может выбрать в для чтения книг, не загружая свои собственные.", "listLabel": "Шрифты сервера", "noFontsYet": "Пока нет шрифтов сервера", - "noFontsHint": "Шрифты, которые вы добавите сюда, появятся у каждого пользователя." + "noFontsHint": "Шрифты, которые вы добавите сюда, появятся у каждого пользователя.", + "addFonts": "Добавить шрифты", + "filterLabel": "Фильтровать семейства", + "filterPlaceholder": "Фильтровать семейства", + "filterClear": "Очистить фильтр", + "noMatches": "Нет семейств совпадающих “{query}”", + "previewLabel": "Предпросмотр текста", + "previewPlaceholder": "Введите для просмотра в каждой семье", + "previewSize": "Размер предварительного просмотра", + "previewSizeOption": "{size} px", + "familiesUnit": "{count, plural, one {семья} other {семьи} few {семьи} many {семьи}}", + "filesOfMax": "{count} из {max} файлов", + "onDisk": "{size} на диске", + "columns": { + "family": "Семья", + "specimen": "Образец", + "styles": "Styles", + "readers": "Читатели" + }, + "fileSummary": "{count, plural, one {# файл} other {# файлов} few {# файлов} many {# файлов}} · {size}", + "newBadge": "Новый", + "styles": { + "single": "Только {style}", + "many": "{count} styles", + "manyNoItalics": "{count} styles, no italics" + }, + "facts": { + "books": "{count, plural, one {На # книге} other {На # книгах} few {На # книгах} many {На # книгах}}", + "booksDetail": "{books, plural, one {Записано # книгу} other {Задайте # книги} few {Задайте # книги} many {Задайте # книги}} от {readers, plural, one {# читатель} other {# читатели} few {# читатели} many {# читатели}}", + "defaults": "{count, plural, one {По умолчанию для # читателя} other {По умолчанию для # читателей} few {По умолчанию для # читателей} many {По умолчанию для # читателей}}", + "hidden": "{count, plural, one {Скрыто # читателем} other {Скрыто # читателями} few {Скрыто # читателями} many {Скрыто # читателями}}" + }, + "moreActions": "Ещё для {name}", + "menu": { + "rename": "Переименовать семейство", + "addFiles": "Добавить файлы", + "remove": "Удалить семейство…" + }, + "footerHint": "Каждый читатель видит их в списке шрифтов читателя и может скрыть любую из них в меню Reader › Шрифты.", + "empty": { + "dropHint": "или перемещайте файлы в любом месте на этой странице", + "tip": "Семейство читает лучшие из четырех файлов: обычный, итальянский, жирный и жирный курсив." + }, + "drop": { + "title": "{count, plural, one {Отбросьте # добавить файл для каждого читателя} other {Перетащите чтобы добавить # файлы для каждого читателя} few {Перетащите чтобы добавить # файлы для каждого читателя} many {Перетащите чтобы добавить # файлы для каждого читателя}}" + }, + "upload": { + "ariaLabel": "Прогресс загрузки", + "title": "{count, plural, one {Добавление # файла} other {Добавление # файлов} few {Добавление # файлов} many {Добавление # файлов}}", + "progress": "{done} из {total} сделано", + "addedCount": "{count} добавлен", + "duplicateCount": "{count} уже здесь", + "refusedCount": "{count} не добавлен", + "dismiss": "Отклонить", + "newFamily": "новая семья", + "states": { + "queued": "Ожидание", + "uploading": "Загружается", + "added": "Добавлено", + "duplicate": "Уже на сервере", + "refused": "Не добавлено", + "failed": "Неудачный" + }, + "reasons": { + "tooLarge": "Больше чем {maxMb} MB.", + "unsupportedType": "Не файл шрифта. Используйте TTF, OTF, WOFF или WOFF2.", + "invalidFile": "Файл повреждён или не является действительно шрифтом.", + "faceTaken": "У {familyName} уже есть файл с таким весом и стилем.", + "limitReached": "Сервер уже содержит файлы шрифтов {limit}.", + "failed": "Не удалось загрузить. Попробуйте еще раз." + } + }, + "sheet": { + "description": "Просмотр, переименование и управление файлами {name}", + "variable": "Переменная", + "preview": "Предпросмотр", + "pageColour": "Цвет страницы", + "papers": { + "app": "Поверхность приложения", + "white": "Белая страница", + "sepia": "Sepia page", + "night": "Ночная страница" + }, + "previewHeading": "Сад живых цветов", + "previewParagraph1": "Алиса посмотрела вокруг нее в великий сюрприз. «Почему, я считаю, что все мы под этим деревом! Все так же, как и было!»", + "previewParagraph2": "«Теперь, здесь, вы видите, это занимает все запуски, вы можете делать, чтобы держать в одном месте. Если вы хотите получить где-нибудь еще, вы должны запускать как минимум в два раза быстрее!»", + "styles": "Styles", + "stylesHint": "Что предлагает читатель Стиль строка", + "singleStyleNote": "Один стиль, поэтому читатели не получают строку стиля. Жирный и курсивный текст в книгах подделывается браузером от {style}.", + "inReader": "В читателе", + "inReaderHint": "Список шрифтов каждого читателя попадает в меню Reader › Настройки, выбрав {name}.", + "pickerLabel": "Предпросмотр списка шрифтов для читателя", + "files": "Файлы", + "filesUsed": "{count} из {max} используется на этом сервере", + "fileDetail": "{summary} · Добавлено {date}", + "upright": "Стойка", + "italic": "Italic", + "fileActions": "Ещё для {name}", + "changeStyle": "Изменить вес и стиль", + "removeFile": "Удалить файл", + "removeFileQuestion": "Удалить этот файл для каждого читателя?", + "weight": "Вес", + "style": "Стиль", + "name": "Фамилия", + "nameHint": "Читатели выбирают шрифты по этому имени.", + "nameHiddenWarning": "{count, plural, one {# читатель скрывает {name}} other {# читатели скрыли {name}} few {# читатели скрыли {name}} many {# читатели скрыли {name}}}; новое имя показывает им снова.", + "nameBooksWarning": "Новое имя посылает {count, plural, one {# книгу, использующую её} other {# книги, которые используют ее} few {# книги, которые используют ее} many {# книги, которые используют ее}} обратно в собственный шрифт книги.", + "readers": "Читатели", + "stats": { + "books": "{count, plural, one {книга использует ее} other {книги, используйте ее} few {книги, используйте ее} many {книги, используйте ее}}", + "defaults": "{count, plural, one {по умолчанию читателя} other {по умолчанию читателей} few {по умолчанию читателей} many {по умолчанию читателей}}", + "hidden": "{count, plural, one {читатель скрыл} other {читатели спрятали его} few {читатели спрятали его} many {читатели спрятали его}}" + }, + "readersPrivacy": "Только для подсчета. Какие книги и какие читатели оставляют им приватными.", + "removeLabel": "Удалить семейство", + "removeQuestion": "Удалить {name} для каждого читателя?", + "removeConsequenceBooks": "{books, plural, one {Она используется для # книги} few {Она используется для # книг} many {Она используется для # книг} other {Она используется для # книги}} у {readers, plural, one {# читателя} few {# читателей} many {# читателей} other {# читателя}}; эти книги вернутся к собственному шрифту книги.", + "removeConsequenceFiles": "{count, plural, one {Файл удаляется с сервера.} other {Все # файлы удаляются с сервера.} few {Все # файлы удаляются с сервера.} many {Все # файлы удаляются с сервера.}}", + "loadFailedNote": "Браузер не смог загрузить файл шрифта, поэтому предпросмотры показывают запасное лицо. Браузеры читателей скорее всего также откажутся от этого; попробуйте другую копию шрифта." + }, + "toasts": { + "removed": "{name} удален", + "removePartial": "{failed, plural, one {# файл} other {# файлы} few {# файлы} many {# файлы}} из {name} не могут быть удалены", + "renameTaken": "У {name} уже есть файл с одинаковым весом и стилем" + }, + "loadFailed": "Этот браузер не может загрузить его" } }, "common": { @@ -1468,15 +1792,18 @@ }, "mergeExisting": { "label": "Объединить с существующим", + "description": "Храните хранимые жанры и добавьте новые жанры провайдеров", "short": "Объединить" }, "overwriteIfProvided": { "label": "Перезаписать при наличии", - "description": "Записывать, если провайдер возвращает значение" + "description": "Записывать, если провайдер возвращает значение", + "short": "Если предоставлено" }, "overwrite": { "label": "Всегда перезаписывать", - "description": "Всегда заменять существующее значение" + "description": "Всегда заменять существующее значение", + "short": "Всегда" } }, "autoFetch": { @@ -1506,6 +1833,7 @@ "lastRun": { "justNow": "только что", "minutesAgo": "{count}м назад", + "hoursAgo": "{count} ч назад", "yesterday": "вчера", "daysAgo": "{count, plural, one {# день назад} few {# дней назад} many {# дней назад} other {# дней назад}}", "label": "Последний запуск: {when}", @@ -1538,22 +1866,120 @@ "inheritFromGlobal": "Наследовать от глобального", "usingGlobalDefaults": "Использование глобальных по умолчанию.", "saveOverride": "Сохранить переопределение" + }, + "scope": { + "ownSettings": "{count, plural, one {# собственные настройки} other {# собственные настройки} few {# собственные настройки} many {# собственные настройки}}", + "globalIntro": "Каждая библиотека придерживается этого правила, если она не имеет своего собственного.", + "globalCoverage": "{libraryCount, plural, one {Применяется к # библиотеке} other {Применяется к # библиотекам} few {Применяется к # библиотекам} many {Применяется к # библиотекам}}, {bookCount, plural, one {# книга} other {# книги} few {# книги} many {# книги}}", + "ownLibraries": "{names} {count, plural, one {имеет собственное правило.} few {имеют собственные правила.} many {имеют собственные правила.} other {имеют собственные правила.}}", + "libraryFollows": "{library} использует глобальное правило. Измените здесь любой параметр, чтобы создать для неё собственное правило.", + "libraryOwn": "У {library} есть собственное правило для {count, plural, one {# установка} other {# настройки} few {# настройки} many {# настройки}}. Все остальные следуют глобальному правилу.", + "lastRun": "Последний запуск {when}, в очереди {count, plural, one {# бронирование} other {# книги} few {# книги} many {# книги}}.", + "neverRun": "Пока не запущено.", + "useGlobalRule": "Использовать глобальное правило", + "loadFailed": "Не удалось загрузить параметры автовыборки. Перезагрузите страницу, чтобы повторить попытку.", + "saved": "Сохранено {scope}", + "saveFailed": "Не удалось сохранить {scope}. Попробуйте еще раз." + }, + "run": { + "all": "Запустить для каждой библиотеки", + "library": "Запуск для {library}", + "saveFirst": "Выполняет использование сохраненного правила. Сначала сохраните.", + "failed": "Запуск не может быть начат. Попробуйте еще раз." + }, + "onImport": { + "label": "Загрузить метаданные для новых книг", + "hint": "Очередь сканирования и выгрузок, соответствующих книгам, прямо сейчас. Получение при импорте заполняет только пустые поля; заблокированные поля никогда не изменяются.", + "follow": "Следовать за глобальными", + "on": "На", + "off": "Выкл" + }, + "columns": { + "books": "{count, plural, one {бронируйте} other {книги} few {книги} many {книги}}", + "ofTotal": "из {total}", + "off": "Выкл", + "own": "Свои", + "global": "Глобально", + "useGlobal": "Глобально", + "globalValue": "Глобальное правило: {value}", + "on": "На", + "scoreBelowValue": "Счет ниже {threshold}", + "neverFetchedSplit": "{count, plural, one {# никогда не получалось} other {# никогда не получалось} few {# никогда не получалось} many {# никогда не получалось}}", + "fetchedBeforeSplit": "{count, plural, one {# загружено до} other {# загружено до} few {# загружено до} many {# загружено до}}", + "lowScoreLabel": "Низкий рейтинг доверия", + "lowScoreHint": "Получить книги, чьи доверительные результаты находятся под строкой.", + "outOf": "/ 100", + "lowerThreshold": "Опустить порог", + "raiseThreshold": "Поднять порог", + "missingHint": "Выберите, если какое-либо выбранное поле пустое. Каждое поле показывает, сколько книг его отсутствует.", + "audioGroup": "Книги с аудио", + "audioHint": "{count, plural, =0 {У нас нет звука.} one {Их могут отсутствовать только # книги.} other {Только # с аудио могут отсутствовать.} few {Только # с аудио могут отсутствовать.} many {Только # с аудио могут отсутствовать.}}", + "fieldCount": "{field}: {count, plural, one {# не хватает книг} other {# нет книг} few {# нет книг} many {# нет книг}}" + }, + "histogram": { + "label": "Порог оценки доверия", + "valueText": "Счет ниже {threshold}" + }, + "preview": { + "title": "Какой запуск получит", + "matching": "{matching, plural, one {# {total} книг совпало с} other {# {total} книги поиграли} few {# {total} книги поиграли} many {# {total} книги поиграли}}", + "showing": "{count, plural, one {показывают наименьшее количество полных} other {показывают # меньше всего полных} few {показывают # меньше всего полных} many {показывают # меньше всего полных}}", + "empty": "Ни одна книга не соответствует этому правилу, поэтому запуск ничего не будет в очереди.", + "unknownAuthor": "Неизвестный автор", + "score": "Счет {score}", + "more": "+{count}", + "missing": { + "title": "Нет заголовка", + "subtitle": "Нет субтитров", + "description": "Нет описания", + "cover": "Без обложки", + "audioCover": "Нет обложки аудиокниги", + "authors": "Нет авторов", + "publisher": "Нет издателя", + "isbn": "Нет ISBN", + "publishedYear": "Не опубликован год", + "language": "Нет языка", + "pageCount": "Нет количества страниц", + "communityRating": "Нет рейтинга сообщества", + "seriesName": "Нет названия серии", + "seriesIndex": "Нет индекса серий", + "genres": "Нет жанров", + "narrators": "Нет рассказов", + "duration": "Без длительности", + "abridged": "Сокращение не задано" + } + }, + "queue": { + "progress": "{done} из {total}", + "failed": "{count, plural, one {# книга не может быть загружена} other {# книги не могут быть загружены} few {# книги не могут быть загружены} many {# книги не могут быть загружены}}" } }, "providers": { "availableSources": "Доступные источники", "saveChanges": "Сохранить изменения", + "discard": "Сбросить", "configure": "Настроить", "test": "Тест", "testing": "Тестирование...", + "testHint": "Проверяет эти учетные данные в реальном времени сервисе. Ничего не сохранено.", "enabled": "Включено", "retryIn": "Повторить в {duration}", "runTestBeforeEnabling": "Запустите тест перед включением", "hardcoverEnableHint": "Выполните тест с текущим токеном, чтобы разблокировать переключатель.", + "searchPlaceholder": "Фильтр источников", + "sourcesEnabled": "{enabled} из {total} включено", + "groupEnabled": "{enabled} {total} вкл", + "unsavedChanges": "{count, plural, one {# несохраненные изменения} other {# несохраненные изменения} few {# несохраненные изменения} many {# несохраненные изменения}}", + "noMatches": "Нет источников, соответствующих этому фильтру.", + "clearFilters": "Очистить фильтры", "filter": { - "all": "Все" + "label": "Фильтровать источники по состоянию", + "all": "Все", + "enabled": "Включено", + "needsSetup": "Требуется настройка" }, "groups": { + "books": "Каталоги книг", "audiobooks": "Аудиокниги", "comics": "Комиксы и легкие романы", "regional": "Региональные каталоги" @@ -1561,7 +1987,8 @@ "badge": { "setupRequired": "Требуется установка", "throttled": "Затухал", - "ready": "Готово" + "ready": "Готово", + "active": "Активный" }, "fields": { "apiKey": "Ключ API", @@ -1585,9 +2012,11 @@ "kobo": "Страницы публичной книги Scrapes Kobo. Страна и язык должны соответствовать URL-путям Kobo; защита от ботов может блокировать запросы.", "audible": "Потребует метаданные аудиокниги от Audible. Дополнительная настройка не требуется.", "audnexus": "Метаданные аудиокниги, управляемые сообществом. Установка не требуется.", + "librofm": "DRM-бесплатный каталог аудиокниг метаданных. По умолчанию используется недокументированная конечная точка Libro.fm.", "comicvine": "Метаданные книги комиксов от ComicVine. Требуется бесплатный ключ API с comicvine.gamespot.com.", "ranobedb": "Японские светлые метаданные из RanobeDB. Установка не требуется.", - "lubimyczytac": "Каталог польских книг (lubimyczytac.pl). Страницы публичных книг не требуются." + "lubimyczytac": "Каталог польских книг (lubimyczytac.pl). Страницы публичных книг не требуются.", + "aladin": "Метаданные корейских книг из Aladin (알라딘). Требуется ключ TTB с сайта aladin.co.kr." }, "blocked": { "google": "Книги Google требуют ключ API перед включением", @@ -1617,7 +2046,9 @@ "fillMissingBody": "Записать только если текущее значение пусто.", "overwriteTerm": "Перезаписать:", "overwriteBody": "Заменить каждый раз, когда у провайдера есть данные." - } + }, + "summary": "Провайдеры пытаются сверху вниз, и первое значение возвращает выигрыш. Стратегия слияния определяет, может ли это значение заменить то, что уже есть в книге; жанры также могут добавить новые уникальные ценности. Установите значения по умолчанию, затем переопределите отдельные поля в каждой библиотеке.", + "summaryByMedium": "Провайдеры стараются сверху снизу, а первая с значением выигрывает; жанры в режиме слияния и рейтинги сообщества совмещают каждый провайдер. Стратегия слияния решает, может ли ценность заменить то, что уже есть в книге. Аудио, AudNexus и Libro. m отвечает только за книги с аудио-, чтение EPUB'ов, так что вначале они предпочитают аудиобокниг метаданных без прикосновения только к книгам с электронными книгами. Обложка картины неправильной формы заполняет ячейку только тогда, когда ничего не может. Библиотека переопределяет это правило целиком." }, "libraryOverrides": { "title": "Переопределения библиотеки", @@ -1638,10 +2069,17 @@ }, "maxGenres": { "label": "Максимальное количество жанров в книге", - "hint": "Применяется после исключений и удаления дубликатов. Оставьте пустым для неограниченного количества. Это влияет на будущие выборки метаданных." + "hint": "Применяется после исключений и удаления дубликатов. Оставьте пустым для неограниченного количества. Это влияет на будущие выборки метаданных.", + "unlimited": "Неограниченный", + "error": "Введите целое число от 1 до {max}или оставьте поле пустым." }, "storeProviderIds": { - "label": "ID провайдера магазина в книгах" + "label": "ID провайдера магазина в книгах", + "hint": "При получении метаданных сохраните идентификаторы возвращаемого провайдера (ISBN, ASIN, ID товара, и т.д.) в книге для более точного будущего поиска." + }, + "existingProviderIdsOnly": { + "label": "Использовать только существующие ID провайдера", + "hint": "Для книг уже в библиотеке, запрашивать только провайдеры с сохраненным идентификатором и никогда не возвращаться к поиску при сбое поиска ID. Ручной поиск и поиск новой книги не затрагиваются." } }, "library": { @@ -1667,24 +2105,36 @@ }, "groupSummary": { "base": "{fields} поля · Включено {enabled}", - "withOverrides": "{base} · {overrides} переопределения" + "withOverrides": "{base} · {overrides} переопределения", + "enabledOf": "{enabled} из {fields} включено" }, "table": { "field": "Поле", "activeProviders": "Активные провайдеры (упорядочены по приоритету)", "mergeStrategy": "Стратегия слияния", - "status": "Статус" + "status": "Статус", + "noMatches": "Нет полей, соответствующих этим фильтрам." }, "field": { "noProviders": "Включено, но не имеет поставщиков", + "noUsableProvider": "Включено, но здесь нет поставщиков не может заполнить", "empty": "Пусто", "config": "Настройка", "custom": "Свой", "default": "По умолчанию", "resetToDefault": "Сброс по умолчанию", + "toggle": "Получить {field} при обновлении метаданных", "configure": "Настроить {field}", "add": "Добавить", - "removeProvider": "Удалить {provider}" + "addHint": "Добавлено в конце ордера. Перетащите фишку, чтобы переместить её раньше.", + "addProviderTo": "Добавить провайдера в {field}", + "removeProvider": "Удалить {provider}", + "noProvidersYet": "Пока нет поставщиков", + "skippedCount": "{count, plural, one {# пропущено} other {# пропущено} few {# пропущено} many {# пропущено}}", + "unsaved": "Не сохранено", + "override": "Переопределить", + "inherited": "Унаследовано", + "morePreview": "+{count} больше" }, "reservoir": { "disabled": "{provider} - отключён", @@ -1699,19 +2149,73 @@ "statusNotConfigured": "не настроен", "done": "Готово" }, + "scope": { + "label": "Область действия правил", + "global": "Глобальные настройки", + "overrideCount": "{count, plural, one {# overridden field} other {# overridden fields} few {# overridden fields} many {# overridden fields}}", + "unsavedMarker": "Имеет несохраненные изменения" + }, "toolbar": { + "searchFields": "Поиск полей", + "clearSearch": "Очистить поиск", + "provider": "Поставщик", "anyProvider": "Любой", - "allFields": "Все поля" + "providerMenuTitle": "Фильтр и массовое редактирование по поставщику", + "usedIn": "{count, plural, =0 {неиспользуется} one {# поле} other {# полей} few {# полей} many {# полей}}", + "showOnlyThese": "Показать только поля, использующие", + "bulkLabel": "Применить ко всем {count} полям, которые используют его", + "makeFirst": "Сделать первым везде", + "makeLast": "Сделать последним везде", + "removeEverywhere": "Удалить из всех полей", + "audioCoverOrderKept": "Повторное сортирование пропускает правило обложки Audiobook в котором сначала хранятся исходники аудиокниг.", + "allFields": "Все поля", + "overridesOnly": "Переопределяет только", + "clearFilters": "Очистить фильтры" }, "providerState": { - "notConfigured": "Не настроено" + "disabled": "Отключено", + "notConfigured": "Не настроено", + "disabledDetail": "{provider} выключен, поэтому он остается в порядке, но пропущен.", + "notConfiguredDetail": "У {provider} еще нет учетных данных, поэтому он остается в порядке, но пропущен.", + "neverSupplies": "Никогда не поставлять это", + "neverSuppliesDetail": "{provider} никогда не поставляет это поле, поэтому он здесь пропущен.", + "otherShape": "Другая форма обложки", + "otherShapeDetail": "У {provider} только крышки другой формы, поэтому она заполняет эту ячейку только тогда, когда ничего больше не может." }, "detail": { + "priority": "Приоритет провайдера", + "priorityHint": "Выигрывает первый поставщик, который возвращает значение.", + "moveUp": "Перенести {provider} раньше", + "moveDown": "Переместить {provider} позже", + "result": "Результат", + "resultHint": "На следующем обновлении это поле решает в указанном порядке:", + "noUsableProviders": "Нет подходящего провайдера - это поле не будет заполнено.", + "skippedSummary": "{count, plural, one {{providers} в порядке, но будет пропущено} other {{providers} Вы в порядке, но пропущено} few {{providers} Вы в порядке, но пропущено} many {{providers} Вы в порядке, но пропущено}}", + "appliesTo": "Применяется к {scope}.", + "inheritGlobal": "Наследовать глобальное правило", + "inheritingGlobal": "Наследование глобального правила.", "collapse": "Свернуть" }, "save": { "upToDate": "Нет несохраненных изменений", - "discard": "Отменить" + "unsaved": "{count, plural, one {# несохраненные изменения} other {# несохраненные изменения} few {# несохраненные изменения} many {# несохраненные изменения}} на {scope}", + "discard": "Отменить", + "action": "Сохранить {scope}" + }, + "confirm": { + "clearProviders": { + "title": "Удалить всех провайдеров?", + "description": "Этот список провайдеров пуст все 16 полей в {scope}. Ничего не сохраняется, пока вы не выберете \"Сохранить\"." + }, + "resetScope": { + "title": "Сбросить настройки по умолчанию?", + "globalDescription": "Это заменит ваши глобальные правила по умолчанию для системы и сохранит их немедленно.", + "libraryDescription": "Это убирает каждое переопределение на {scope} , чтобы он снова наследует глобальные правила и сохраняет немедленно." + }, + "removeProvider": { + "title": "Удалить {provider} из каждого поля?", + "description": "Это снимает заказ {provider} из провайдера в каждом поле в {scope}. Ничего не сохраняется, пока вы не выберете \"Сохранить\"." + } } }, "genreBlocklist": { @@ -1731,19 +2235,56 @@ "removeLabel": "Удалить {genre}" }, "searchCache": { + "loadFailed": "Не удалось загрузить настройки кэша поиска.", "retry": "Повторить попытку", + "saved": "Настройки кэша поиска сохранены", + "saveFailed": "Не удалось сохранить настройки кэша поиска", "units": { "hours": "Часы", "days": "Дни" }, "general": { - "title": "Сохраненные ответы" + "title": "Сохраненные ответы", + "enabled": "Сохранить ответы поставщика", + "enabledHint": "Поиски, массовые обновления и фоновые выборки повторно используют сохраненные ответы вместо повторного запроса каждого провайдера.", + "resultsTtl": "Сохранить результаты для", + "resultsTtlHint": "Как долго ответ с результатами повторно используется, прежде чем запросить провайдера снова.", + "resultsTtlUnit": "Единица времени", + "emptyTtl": "Оставить пустые ответы для", + "emptyTtlHint": "Как долго ничего не запоминается. Применяется только для провайдеров, помеченных как кэширование пустых ответов. 0 никогда не сохраняет пустые ответы.", + "emptyTtlUnit": "Пустая единица времени ответа", + "staleGrace": "Использовать просроченные ответы для", + "staleGraceHint": "Когда провайдер не удается, вместо этого используется ответ до этого длительного срока его истечения. 0 никогда не возвращается.", + "staleGraceUnit": "Истекло время ответа", + "storage": "Бюджет хранилища", + "storageHint": "Наиболее старые ответы удаляются после сохранения ответов, этот размер. На диске таблица может занять примерно 1,5 - 2 раза подряд.", + "storageUnit": "МБ" }, "providers": { + "title": "Настройки провайдера", + "hint": "Оставьте поле пустым, чтобы использовать указанное выше значение. Отключите провайдера чтобы всегда спрашивать его в реальном времени.", "books": "Книги", "authors": "Авторы", + "none": "Нет доступных поставщиков.", + "globalOff": "Сохранение ответов выключено, поэтому применяются эти настройки, когда они включены.", "on": "Вкл.", - "off": "Откл." + "off": "Откл.", + "enabledLabel": "Сохранить ответы от {provider}", + "resultsTtl": "Сохранить результаты для", + "resultsTtlLabel": "Сохранить результаты {provider} для", + "resultsTtlUnitLabel": "Единица времени для результатов {provider}", + "emptyTtl": "Оставить пустые ответы для", + "emptyTtlLabel": "Оставить пустые {provider} ответы для", + "emptyTtlUnitLabel": "Единица времени для пустых ответов {provider}", + "noEmptyCaching": "Пустые ответы от этого провайдера никогда не сохраняются.", + "notCacheable": "Ответы от этого провайдера никогда не сохраняются.", + "reset": "Сброс {provider} по умолчанию" + }, + "validation": { + "required": "Введите значение.", + "wholeNumber": "Введите целое число.", + "range": "Введите значение от {min} до {max}.", + "tooManyOverrides": "Слишком много провайдеров имеют свои собственные настройки. Сбросьте некоторые из них, чтобы сохранить." }, "save": { "unsaved": "Несохраненные изменения", @@ -1754,7 +2295,60 @@ }, "stats": { "group": "Использование", - "refresh": "Обновить" + "title": "Сохраненные ответы", + "refresh": "Обновить", + "loadFailed": "Не удалось загрузить использование кэша.", + "storage": "Используется хранилище", + "storageUsed": "{used} из {budget}", + "storageHint": "Размер самих сохраненных ответов. Таблица на диске больше.", + "entries": "Сохраненные ответы", + "emptyEntries": "Пустые ответы", + "diskSize": "Размер таблицы на диске", + "hitRate": "Показатель попадания", + "requestsAvoided": "Не запрашивается", + "fallbacks": "Отказы", + "skippedWrites": "Пропущенные записи", + "oldest": "Старейший ответ", + "none": "Пока нет", + "countersHint": "Хит курс, запросы избегают, падений и пропущенных записей, количество исходящих с момента последнего запуска сервера.", + "perProvider": "Сохраненные ответы провайдером", + "provider": "Поставщик", + "kind": "Тип", + "size": "Размер", + "empty": "Ничего не сохранено." + }, + "clear": { + "group": "Техническое обслуживание", + "title": "Очистить сохраненные ответы", + "regionHint": "Поставщики могут отвечать по-разному по местоположению. Очистить кэш после переноса сервера в другой регион или VPN.", + "action": "Очистить", + "failed": "Не удалось очистить сохраненные ответы", + "done": "{count, plural, one {Удален # сохранил ответ} other {Удален # сохранил ответы} few {Удален # сохранил ответы} many {Удален # сохранил ответы}}", + "donePending": "{count, plural, one {Удалено # сохранённых ответов. Остальные ответы удаляются в фоновом режиме.} other {Удалено # сохраненных ответов. Остальные ответы удаляются в фоновом режиме.} few {Удалено # сохраненных ответов. Остальные ответы удаляются в фоновом режиме.} many {Удалено # сохраненных ответов. Остальные ответы удаляются в фоновом режиме.}}", + "empty": { + "label": "Очистить только пустые ответы", + "hint": "Забыли о том, что провайдеры ничего не нашли, поэтому поиски снова спрашивают.", + "confirmTitle": "Очистить пустые ответы?", + "confirmDescription": "Сохраненные ответы, где провайдер ничего не обнаружил. Ответы с результатами сохраняются." + }, + "book": { + "label": "Очистить книжные ответы", + "hint": "Удаляет все, что сохранено у поставщиков книг.", + "confirmTitle": "Очистить книжные ответы?", + "confirmDescription": "Каждый сохраненный ответ от провайдеров книг удаляется. Следующий поиск снова попросит этих провайдеров." + }, + "author": { + "label": "Очистить ответы автора", + "hint": "Удаляет все, что сохранено у поставщиков авторов.", + "confirmTitle": "Удалить ответы автора?", + "confirmDescription": "Каждый сохраненный ответ от авторов удаляется. В следующем поиске эти провайдеры снова спрашивают." + }, + "all": { + "label": "Очистить все сохраненные ответы", + "hint": "Очистить кэш. Каждый провайдер запрашивается снова при следующем поиске.", + "confirmTitle": "Удалить все сохраненные ответы?", + "confirmDescription": "Весь кэш очищен. Поиски будут медленнее до тех пор, пока он не заполнится, и ничего не останется возвращаться в то время, как провайдер не работает." + } } }, "customFields": { @@ -1805,7 +2399,145 @@ "selectAll": "Выбрать все", "clear": "Очистить", "noLibraries": "Нет доступных библиотек.", - "allLibraries": "Все библиотеки" + "allLibraries": "Все библиотеки", + "pageFacts": "{fields, plural, one {# поле} other {# полей} few {# полей} many {# полей}} · {values, plural, one {# значение сохранено} other {# значений сохранено} few {# значений сохранено} many {# значений сохранено}}", + "newFieldAction": "Новое поле", + "views": { + "label": "Показать активные или архивированные поля", + "active": "Активный", + "archived": "Архивировано" + }, + "columns": { + "order": "Заказ", + "field": "Поле", + "type": "Тип", + "libraries": "Библиотеки", + "filled": "Заполнено", + "valuesKept": "Значения сохранены", + "archived": "Архивировано", + "actions": "Действия" + }, + "orderHint": "Перетащите для установки полей порядка в метаданных в столбцах таблицы и экспорте.", + "archivedHint": "Архивированные поля скрыты из книг, фильтров и экспорта. Их значения остаются сохраненными до тех пор, пока поле не будет удалено.", + "coverage": "{filled} из {total}", + "coverageAria": "{filled} из {total} книг имеют значение", + "onNoLibrary": "Нет библиотек", + "onNoLibraryHint": "Ни в одной библиотеке, так что это поле не появляется", + "moreLibraries": "+{count}", + "noValues": "Нет", + "rowActions": { + "edit": "Редактирование", + "editField": "Изменить поле", + "moveUp": "Вверх", + "moveDown": "Сдвинуть вниз", + "archive": "Архивировать", + "restore": "Восстановить", + "deletePermanently": "Удалить навсегда…", + "more": "Больше действий для {label}" + }, + "toasts": { + "loadFailed": "Не удалось загрузить настраиваемые поля", + "created": "{label} создан", + "createFailed": "Не удалось создать {label}", + "saved": "{label} сохранен", + "saveFailed": "Не удалось сохранить {label}", + "archived": "{label} архивирован", + "archiveFailed": "Не удалось архивировать {label}", + "restored": "{label} восстановлен", + "restoreFailed": "Не удалось восстановить {label}", + "deleted": "{label} удален", + "deleteFailed": "Не удалось удалить {label}", + "reorderFailed": "Не удалось сохранить новый заказ" + }, + "empty": { + "body": "Следите за тем, что у книжной орбиты нет полей, например, где сидит книга на вашей полке или кто ее занял. Поля появляются на редактировании метаданных, в столбцах таблиц и в фильтрах.", + "examples": "Начать с примера", + "shelfNumber": "Номер полки", + "acquiredOn": "Приобретено", + "signedCopy": "Подписанная копия", + "loanedTo": "Приобретено" + }, + "types": { + "text": { + "label": "Текст", + "hint": "Любые слова", + "example": "Первая печать, подписанная табличка" + }, + "url": { + "label": "Ссылка", + "hint": "Открывать в новой вкладке", + "example": "https://example.com/book" + }, + "number": { + "label": "Номер", + "hint": "Сортировка по значению", + "example": "42" + }, + "date": { + "label": "Дата", + "hint": "День календаря", + "example": "2024-03-09" + }, + "boolean": { + "label": "Да / Нет", + "hint": "Флажок", + "example": "Да" + } + }, + "sheet": { + "newTitle": "Новое поле", + "editDescription": "Редактируйте метки и библиотеки пользовательских полей и посмотрите, где они появляются.", + "newDescription": "Назовите новое настраиваемое поле, выберите его тип и выберите его библиотеки.", + "archivedDescription": "Архивированное настраиваемое поле. Восстановить его или удалить с его значениями.", + "statusFilled": "{filled} из {total, plural, one {# книга} other {# книг} few {# книг} many {# книг}}", + "statusNone": "Не в какой-либо библиотеке", + "statusHidden": "{count} hidden", + "statusCreated": "создал {date}", + "labelHint": "Показано на редактировании метаданных, в столбцах таблиц и в фильтрах.", + "renameHint": "Переименование сохраняет каждое сохраненное значение, а файл ключ {key}.", + "keyHint": "Сохранено в файлах и экспорте как {key}, который остается тем же, если вы переименовываете поле.", + "typeLocked": "Установка при создании", + "typeLockedHint": "Тип не может изменить позже, поэтому хранимые значения всегда совпадают.", + "libraries": "Библиотеки", + "books": "{count, plural, one {# книга} other {# книг} few {# книг} many {# книг}}", + "filledOfBooks": "{filled} из {total, plural, one {# книга} other {# книги} few {# книги} many {# книги}}", + "hiddenCount": "{count} hidden", + "leavingNote": "{count, plural, one {# значение в {libraries} останется сохранённым, но будет скрыто, пока поле там отключено.} few {# значения в {libraries} останутся сохранёнными, но будут скрыты, пока поле там отключено.} many {# значений в {libraries} останутся сохранёнными, но будут скрыты, пока поле там отключено.} other {# значения в {libraries} останутся сохранёнными, но будут скрыты, пока поле там отключено.}} После повторного включения они появятся снова.", + "noLibraryWarning": "Без библиотек это поле нигде не появляется: не на редактировании метаданных, в фильтрах или в экспорте.", + "appears": { + "title": "Где он появляется", + "editMetadata": "Редактировать метаданные", + "details": "Details tab", + "filters": "Фильтры", + "table": "Таблица и сортировка", + "tableBody": "Доступно как столбец таблицы и опция сортировки", + "files": "Файлы", + "filesWritten": "Записан в файлы EPUB и FB2 в {libraries}, где выполняется запись метаданных.", + "filesNotWritten": "Не записывается в файлы: ни одна из этих библиотек не пишет метаданные в файлы EPUB или FB2.", + "exports": "Экспорт" + }, + "archiveAction": "Архивировать поле", + "archiveConfirm": "Архивировать {label}?", + "archiveConsequence": "{count, plural, =0 {Он оставляет редактирование метаданных, фильтров и экспорта. Восстановить его в архиве в любое время.} one {Это оставляет редактирование метаданных, фильтров и экспорта. # значение остается сохраненным до тех пор, пока поле не будет удалено.} other {Оно оставляет возможность редактирования метаданных, фильтров и экспорта. # значения сохраняются до тех пор, пока поле не будет удалено.} few {Оно оставляет возможность редактирования метаданных, фильтров и экспорта. # значения сохраняются до тех пор, пока поле не будет удалено.} many {Оно оставляет возможность редактирования метаданных, фильтров и экспорта. # значения сохраняются до тех пор, пока поле не будет удалено.}}", + "create": "Создать поле", + "onLibraries": "На {count} из библиотек {total}", + "onAllLibraries": "На всех библиотеках {total}", + "archivedBadge": "Архивировано", + "archivedTitle": "Архивировано {when}.", + "archivedBody": "{count, plural, =0 {Это поле скрыто в книгах, фильтрах и экспорте. В нём нет значений.} one {Это поле скрыто в книгах, фильтрах и экспорте. # сохранённое значение останется и вернётся после восстановления.} few {Это поле скрыто в книгах, фильтрах и экспорте. # сохранённых значения останутся и вернутся после восстановления.} many {Это поле скрыто в книгах, фильтрах и экспорте. # сохранённых значений останутся и вернутся после восстановления.} other {Это поле скрыто в книгах, фильтрах и экспорте. # сохранённого значения останутся и вернутся после восстановления.}}", + "facts": { + "type": "Тип", + "libraries": "Библиотеки", + "valuesKept": "Значения сохранены", + "fileKey": "Ключ файла", + "created": "Создано", + "archived": "Архивировано" + }, + "deleteQuestion": "Удалить {label} хорошо?", + "deleteConsequence": "{count, plural, =0 {Не содержит значений. Это действие нельзя отменить.} one {Его # сохраненное значение удаляется из каждой книги. Файлы, которые уже записали, сохраняют свою копию. Это действие не может быть отменено.} other {Его # сохранённые значения удаляются из каждой книги. Файлы уже записаны для копии. Это действие нельзя отменить.} few {Его # сохранённые значения удаляются из каждой книги. Файлы уже записаны для копии. Это действие нельзя отменить.} many {Его # сохранённые значения удаляются из каждой книги. Файлы уже записаны для копии. Это действие нельзя отменить.}}", + "deleteConfirmLabel": "Введите имя поля для подтверждения", + "deleteConfirmPlaceholder": "Введите {label} для подтверждения" + } }, "tabs": { "providers": "Поставщики", @@ -1814,7 +2546,8 @@ "genre-blocklist": "Genre Blocklist", "score": "Счет", "auto-fetch": "Книги", - "authors": "Авторы" + "authors": "Авторы", + "search-cache": "Поиск кэша" }, "tabTitles": { "providers": "Поставщики", @@ -1823,7 +2556,8 @@ "genre-blocklist": "Genre Blocklist", "score": "Балл доверия", "auto-fetch": "Авто-загрузка книги", - "authors": "Автоматически загружать автора" + "authors": "Автоматически загружать автора", + "search-cache": "Поиск кэша" }, "tabSubtitles": { "providers": "Включить внешние метаданные и настроить их учетные данные.", @@ -1832,7 +2566,17 @@ "genre-blocklist": "Предотвратить ненужные значения жанра провайдера от записи в книги.", "score": "Назначить вес для полей метаданных для вычисления того, насколько доверять полученным результатам.", "auto-fetch": "Автоматически получать обложки, описания и другие детали при добавлении новых книг в вашу библиотеку.", - "authors": "Автоматически загружать биографии и аватары при появлении новых авторов в вашей библиотеке." + "authors": "Автоматически загружать биографии и аватары при появлении новых авторов в вашей библиотеке.", + "search-cache": "Повторно использовать ответы провайдера, чтобы повторяющиеся поиски были быстрыми и по-прежнему работают, когда провайдер не работает." + }, + "preferences": { + "toast": { + "saved": "Настройки метаданных сохранены", + "saveFailed": "Не удалось сохранить настройки метаданных. Проверьте подключение и повторите попытку.", + "globalReset": "Глобальные правила полей сброшены к настройкам по умолчанию", + "libraryReset": "Библиотека сброшена к общим правилам", + "resetFailed": "Не удалось сбросить настройки метаданных. Проверьте подключение и повторите попытку." + } } }, "reader": { @@ -1880,12 +2624,26 @@ "typography": "Типография", "font": "Font", "fontHint": "Типное лицо, используемое для текста тела", + "fontStyle": "Стиль шрифта", + "fontStyleHint": "Вес и размах текста тела. Жирный и курсив остаётся по отношению к нему.", "builtInFonts": "Встроенные шрифты", "yourFonts": "Ваши шрифты", "fontSize": "Font size", "fontSizeHint": "Базовый размер текста в пикселях", "lineHeight": "Высота линии", "lineHeightHint": "Вертикальный интервал между строками", + "paragraphSpacing": "Интервал параграфа", + "paragraphSpacingHint": "Пространство между абзацами. По умолчанию книга сохраняет интервал издателя.", + "paragraphSpacingDefault": "Книга по умолчанию", + "paragraphSpacingValue": "{value} em", + "letterSpacing": "Интервал букв", + "letterSpacingHint": "Пробел между буквами. По умолчанию книга сохраняет интервал издателя.", + "wordSpacing": "Интервал слов", + "wordSpacingHint": "Пробел между словами. По умолчанию книга сохраняет интервал издателя.", + "textIndent": "Первая строка отступа", + "textIndentHint": "Отступ в начале обычных параграфов. По умолчанию книга сохраняет отступы издателя.", + "custom": "Свой", + "emValue": "{value} em", "justify": "Выровнять текст по ширине", "justifyHint": "Выровнять текст по обе поля", "hyphenation": "Перенос", @@ -1954,6 +2712,8 @@ "widePageDisable": "Отключено", "forceTwoPage": "Принудительно использовать две страницы на небольших экранах", "forceTwoPageHint": "Обойти мобильный авто-запас, когда выбран двухстраничный режим", + "autoAdvance": "Автопереход к следующей книге", + "autoAdvanceHint": "Поднимите последнюю страницу, чтобы открыть следующую книгу в серии", "off": "Выкл", "on": "На", "display": "Отображение", @@ -1999,6 +2759,9 @@ "deleteVariant": "Удалить вариант", "styleNormal": "Обычный", "styleItalic": "Italic", + "weightItalicOf": "{weight} Italic", + "variableRange": "Переменная {min}-{max}", + "variableStyles": "{count, plural, one {# style} other {# styles} few {# styles} many {# styles}}", "weightThin": "Тонкий", "weightExtraLight": "Очень легкий", "weightLight": "Светлая", @@ -2015,7 +2778,30 @@ "deleteFamilyFailed": "Не удалось удалить семейство шрифтов", "demoCannotManage": "Ограниченный демо-аккаунт не может управлять шрифтами", "fileAdded": "\"{name}\" добавлен", - "uploadFailed": "Загрузка не удалась" + "uploadFailed": "Загрузка не удалась", + "serverFontsTitle": "Шрифты сервера (используется администратором)", + "serverFontsHint": "Эти шрифты поступают от администратора вашего сервера. Выключите их, чтобы не допустить их считывания.", + "serverFontsShown": "Показано {count} из {total}", + "serverFontsAllHidden": "Все серверные шрифты скрыты. Ваш читатель будет предлагать только встроенные и ваши собственные шрифты.", + "serverFontVisibilityFailed": "Не удалось обновить видимость шрифта сервера", + "library": { + "columns": { + "use": "Используется" + }, + "yourDefault": "По умолчанию", + "hiddenBadge": "Hidden", + "emptyHint": "Добавьте шрифты выше или удалите файлы в любом месте на этой странице.", + "dropTitle": "{count, plural, one {Перетащите # файл в ваши шрифты} other {Перетащите сюда # файлов в ваши шрифты} few {Перетащите сюда # файлов в ваши шрифты} many {Перетащите сюда # файлов в ваши шрифты}}", + "limitReached": "У вас уже есть файлы шрифтов {limit}.", + "filesUsed": "Использовано {count} из {max}", + "nameHint": "Это имя в списке шрифтов вашего читателя.", + "inReaderHint": "Ваш список шрифтов в Reader › Настройки, с {name} выбраны.", + "showInReader": "Показать в моем читателе", + "showFamily": "{name} в моем читателе", + "removeConsequenceBooks": "{count, plural, one {Она установлена на # ваших книг; эта книга возвращается к собственному шрифту.} other {Оно установлено # ваших книг; они возвращаются к своим шрифтам.} few {Оно установлено # ваших книг; они возвращаются к своим шрифтам.} many {Оно установлено # ваших книг; они возвращаются к своим шрифтам.}}", + "removeConsequenceDefault": "Это ваш шрифт по умолчанию; книги без их собственных настроек вернуться к книге по умолчанию.", + "removeQuestion": "Удалить {name} из ваших шрифтов?" + } }, "bookDock": { "title": "Книжный док-бар", @@ -2028,6 +2814,7 @@ "changePathSuffix": "файл.", "metadata": "Метаданные", "autoFetch": "Автозагрузка метаданных от провайдеров", + "autoFetchHint": "Автоматически загружать метаданные из настроенных провайдеров (Google Books, iTunes, Open Library, и т.д.) после добавления файла в Книгу Дока.", "autoFinalize": "Автозавершение", "enableAutoFinalize": "Включить автозавершение", "enableAutoFinalizeHint": "Файлы с оценкой достоверности метаданных на или выше порога будут автоматически завершены.", @@ -2082,6 +2869,7 @@ "modSort": "Последний первый формат", "modInitial": "Только первая буква", "modFixed2": "Две десятичные знаки", + "modMax3": "До трех значений, в противном случае ничего нет", "folderOnlyPrefix": "Завершить шаблон с", "folderOnlySuffix": ", чтобы указать только папку. Оригинальное имя файла будет сохранено внутри него.", "conditionalLogic": "Условная логика", @@ -2137,6 +2925,7 @@ "tokenTitle": "Название книги", "tokenSubtitle": "Субтитры книги", "tokenAuthors": "Автор(ы), через запятую", + "tokenNarrators": "Нарратор(ы), разделенные запятыми", "tokenYear": "Год публикации", "tokenSeries": "Название серии", "tokenSeriesIndex": "Индекс сезона (нулевая подставка)", @@ -2146,8 +2935,160 @@ "tokenLibrary": "Название библиотеки", "tokenOriginalFilename": "Исходное имя файла (без расширения)", "tokenExtension": "Расширение файла (без точки)", + "tokenReadaloud": "Слово readaloud для EPUB с наслоениями медиа", "patternHelpIntro": "Шаблоны используют такие жетоны, как {titleToken} и {authorsToken}, а также модификаторы и необязательные сегменты.", - "browseTokensAndExamples": "Просмотреть токены и примеры" + "browseTokensAndExamples": "Просмотреть токены и примеры", + "subtitleShort": "Шаблоны папок и имен файлов для сохраненных файлов.", + "rule": { + "fileAsBook": "Файл по умолчанию", + "folderAsBook": "Папка по умолчанию", + "download": "Скачать имя файла" + }, + "howItWorks": { + "title": "Как выбран путь.", + "summary": "Библиотека с узором выигрывает. Каждая другая библиотека использует глобальные значения по умолчанию для ее организационного режима. Изменение шаблона не перемещает книги на диск; новые загрузки следуйте за ней после следующей загрузки." + }, + "filterRules": "Фильтр правил", + "librariesGroup": "Библиотеки", + "customCount": "{custom}/{total} пользовательский", + "noRuleMatches": "Нет соответствий правил \"{query}\".", + "unsavedMarker": "Имеет несохраненные изменения", + "backToRules": "Вернуться к правилам именования", + "appliesToLibraries": "{count, plural, =0 {Ни одна библиотека не использует по умолчанию} one {Применяется к # библиотеке} other {Применяется к # библиотекам} few {Применяется к # библиотекам} many {Применяется к # библиотекам}}", + "downloadScope": "Загрузок и экспорт ZIP", + "badgeInherits": "Наследует по умолчанию", + "badgeUnsaved": "Не сохранено", + "patternLabel": "Шаблон", + "readOnlyFromGlobal": "Только для чтения, по умолчанию", + "useGlobalDefault": "Использовать по умолчанию", + "resetToShipped": "Сброс по умолчанию", + "addOverride": "Добавить переопределение", + "inheritsNotice": "Эта библиотека следует за {base}. Добавьте переопределение, чтобы создать собственный шаблон.", + "libraryRuleHint": "Переопределяет {base} только для этой библиотеки.", + "scopeLibrary": "Относится к загрузкам только в {name}.", + "scopeDownload": "Применяется к каждой загрузке одного файла и каждому файлу внутри экспортируемого ZIP.", + "scopeGlobal": "{count, plural, one {Применяется к # библиотеке, у которой нет ни одного шаблона.} other {Применяется к # библиотекам, которые не имеют собственного шаблона.} few {Применяется к # библиотекам, которые не имеют собственного шаблона.} many {Применяется к # библиотекам, которые не имеют собственного шаблона.}}", + "scopeGlobalNone": "Ни одна библиотека не использует этот стандарт прямо сейчас. В каждой библиотеке в этом режиме есть свой собственный узор.", + "unbalancedOptional": "В необязательной группе отсутствует угольная скобка закрытия", + "unbalancedToken": "В токене отсутствует закрывающая фигурная скобка", + "structure": "Структура", + "paletteOptional": "опционально", + "paletteOptionalHint": "Запечатывает сегмент, чтобы он был сброшен, когда токен внутри него пуст", + "paletteFallback": "fallback", + "paletteFallbackHint": "Внутри необязательной группы, текст используется, когда левая сторона не может быть заполнена", + "paletteSeparator": "папка", + "paletteSeparatorHint": "Запускает новый уровень папок", + "modUpper": "УПЕРКАЗ", + "modLower": "строчная буква", + "recipesLabel": "Или начните с рецепта", + "recipe": { + "seriesShelf": "Полка серии", + "calibre": "Calibre style", + "alphabetical": "По алфавиту", + "flat": "Плоское, без папок", + "originalName": "Исходное имя файла", + "authorTitle": "Автор и заголовок", + "titleOnly": "Только название", + "seriesOrdered": "Серия заказана" + }, + "resultPanel": "Решённый результат", + "resultFor": "Результат: {rule}", + "copyResult": "Копировать завершённый результат", + "resultCopied": "Результат скопирован в буфер обмена", + "resultCopyFailed": "Не удалось скопировать завершённый результат", + "sampleBookNote": "Пример книги, используемой для каждого предварительного просмотра", + "missingMetadata": "Если метаданные отсутствуют", + "readaloudComparison": "Сравнение чтения вслух", + "readaloudEpub": "Чтение вслух EPUB", + "plainEpub": "Обычный EPUB", + "caseNoSeriesLabel": "Нет серии", + "caseNoYearLabel": "Нет года", + "caseNoAuthorLabel": "Нет автора", + "previewEmpty": "Этот шаблон ничего не устраняет, поэтому вместо него будет использоваться оригинальное имя файла.", + "previewEmptyShort": "Не решает ничего", + "crossPlatformShortHint": "Заменяет символы Windows отвергает. Предпросмотр отражают эту настройку.", + "rulesSaved": "{count, plural, one {# Правило именования сохранено} other {# Правила именования сохранены} few {# Правила именования сохранены} many {# Правила именования сохранены}}", + "rulesSaveFailed": "{count, plural, one {Не удалось сохранить # имя правила} other {Не удалось сохранить # имена правил} few {Не удалось сохранить # имена правил} many {Не удалось сохранить # имена правил}}", + "rulesPartiallySaved": "Сохранено {saved}, не удалось {failed}. Правила с несохранёнными изменениями.", + "save": { + "unsaved": "{count, plural, one {# несохраненные изменения} other {# несохраненные изменения} few {# несохраненные изменения} many {# несохраненные изменения}}", + "upToDate": "Нет несохраненных изменений", + "discard": "Сбросить", + "action": "Сохранить изменения", + "blocked": "Исправьте неверный шаблон перед сохранением" + }, + "examplesDescription": "Идиомы рецептов не покрывают. Шаблон, заканчивающийся косой чертой, выводит в папку и сохраняет в ней имя загружаемого файла.", + "examplesApply": "Применить", + "examplesApplyAria": "Применить шаблон {label}", + "examplesUploadOnly": "Это загруженные шаблоны, показанные здесь для ссылок. Переключитесь на файл как книга или папка, как правило книги, чтобы применить его.", + "examplesFileModeOnly": "Папка как книга нуждается в собственном сегменте имен файлов, поэтому эта идиома применима только к файлу как книжные библиотеки.", + "example": { + "seriesOrStandalone": "Серии или отдельная папка", + "optionalSubtitle": "Необязательные субтитры", + "languageFolder": "Папка языка", + "publisherFolder": "Папка издателя", + "stackedOptional": "Сохраненные необязательные папки", + "folderDrop": "Только папка, сохраните загруженное имя файла" + }, + "exampleCase": { + "complete": "Complete", + "noSeries": "Нет серии", + "noSubtitle": "Нет субтитров", + "noLanguage": "Нет языка", + "noPublisher": "Нет издателя" + }, + "unknownModifier": "Неизвестный модификатор \"{modifier}\". Он будет проигнорирован, оставив значение без изменений.", + "rulesNav": "Правила именования", + "railFoot": "Библиотека без собственного шаблона следует по умолчанию она находится под ним.", + "usedBy": "Используется {libraries}", + "followsBase": "Подписаться на {base}.", + "copyPattern": "Копировать шаблон", + "recipes": "Рецепты", + "recipesTitle": "Начать с рецепта", + "recipesReplace": "Заменяет весь шаблон", + "recipeInUse": "Используется", + "insert": "Insert", + "insertToolbar": "Вставить в шаблон", + "insertOptional": "Опционально", + "insertFallback": "Fallback", + "insertFolder": "Папка", + "lineHint": "Нажмите {enter} , чтобы создать новую папку или введите {brace} , чтобы выбрать токен. Нажмите на значок папки, чтобы пропустить эту папку, когда ее значение отсутствует.", + "downloadLineHint": "У загрузок нет папок, поэтому используется только последняя часть шаблона.", + "tokenSuggestions": "Подходящие токены", + "noTokenMatch": "Нет совпадений токенов \"{query}\".", + "uploadedNameKept": "Имя файла сохранено", + "level": { + "folder": "Папка {n}", + "bookFolder": "Книга", + "file": "Имя файла", + "skipWhenEmpty": "Пропустить {level} когда его значение отсутствует", + "skippedWhenEmpty": "Пропущено, когда его значение отсутствует. Нажмите, чтобы всегда создать эту папку.", + "alwaysCreated": "Всегда создан. Нажмите, чтобы пропустить эту папку, когда ее значение отсутствует." + }, + "result": "Результат", + "previewWith": "Предпросмотр с", + "previewWithAria": "Предпросмотр с {title}", + "previewBook": { + "sample": "Образец книги", + "longTitle": "Длинное название и серия", + "longSubtitle": "Длинные субтитры", + "manyAuthors": "Пять авторов", + "audiobook": "Аудиобкук", + "standalone": "Нет серии" + }, + "previewingCase": "Предварительный просмотр: {case}", + "showComplete": "Показать завершенные", + "previewStale": "Предварительный просмотр захватывает после исправления узора.", + "noChange": "Без изменений", + "tagSkipped": "пропущено", + "tagFallback": "fallback", + "tagBookFolder": "книжная папка", + "tagUploadedName": "выгружено имя", + "tagShortened": "короче до 255 байт", + "tagEmptyName": "пустое имя", + "levelSkipped": "Пропущено, потому что {token} пуст", + "levelEmptyName": "Пустое имя папки. Дайте этой папке резервную копию, чтобы она всегда имела одну.", + "renameNote": "Книги уже на диске хранят свои пути. Библиотеки, которые меняют имя файлов, применяют этот шаблон при следующем сохранении деталей книги: {libraries}." }, "kobo": { "title": "Kobo Sync", @@ -2155,6 +3096,8 @@ "copy": "Копировать", "never": "Никогда", "justNow": "Только что", + "minutesAgo": "{count} мин назад", + "hoursAgo": "{count} ч назад", "daysAgo": "{count}д назад", "loadFailed": "Не удалось загрузить", "devicePaired": "Устройство успешно соединено", @@ -2186,6 +3129,10 @@ "twoWaySyncHint": "Синхронизация позиции чтения между BookOrbit и Kobo. Требует доставки KEPUB для точного местоположения и надежного восстановления страницы.", "syncHighlights": "Синхронизировать цитаты BookOrbit с Kobo", "syncHighlightsHint": "Отправляйте на BookOrbit или KOReader в ваш Kobo. Kobo выделения импортированы в BookOrbit, даже когда это не так. Синхронизация связанных аннотаций и удаление обоих способов. Требует KEPUB доставки; Kobo должна быть KEPUB загружен из BookOrbit.", + "storeSync": "Включить названия магазина Kobo", + "storeSyncHint": "Также доставляйте книги с вашего счета Kobo, включая Kobo Plus и покупки, вместе с вашей библиотекой BookOrbit. Без этого только книги BookOrbit доходят до устройства. Названия магазинов загружаются из Kobo непосредственно и не добавляются в вашу библиотеку BookOrbit.", + "fullSizeCovers": "Полноразмерные обложки", + "fullSizeCoversHint": "Отправляйте каждую обложку с разрешением экрана Kobo, чтобы заставки спящего режима и полноэкранные обложки оставались чёткими. Отключите этот параметр, чтобы отправлять уменьшенные обложки с более быстрой синхронизацией. Обложка, уже находящаяся на Kobo, изменится только при изменении обложки книги.", "convertKepub": "Преобразовать в KEPUB", "convertKepubHint": "Отправлять подходящие EPUB как KEPUB. Это остается, когда включена синхронизация прогресса или поддержка BookOrbit-to-Kobo. При следующей синхронизации Kobo затрагиваемые книги предлагаются снова в виде загрузок KEPUB; удалите любую старую копию EPUB, если Kobo продолжает открывать ее.", "forceHyphenation": "Принудительно переносить", @@ -2373,6 +3320,23 @@ "usernamePlaceholder": "например, myreader", "password": "Пароль", "passwordPlaceholder": "Мин. 6 символов", + "changeCredentials": { + "action": "Изменить учетные данные", + "title": "Изменить учетные данные KOReader", + "description": "Каждая учетная запись BookOrbit имеет одну учётную запись KOReader. Измените её здесь без удаления синхронизированных данных.", + "newPassword": "Новый пароль", + "usernameInvalid": "Имя пользователя должно быть от 3 до 100 символов.", + "passwordPlaceholder": "Оставьте пустым, чтобы сохранить текущий пароль", + "passwordHint": "Оставьте это поле пустым, чтобы сохранить текущий пароль.", + "passwordInvalid": "Пароль должен быть от 6 до 128 символов.", + "deviceNotice": "Устройства, использующие предыдущий логин, должны быть переподключены или обновлены при помощи только что загруженного пакета плагинов.", + "showPassword": "Показать новый пароль", + "hidePassword": "Скрыть новый пароль", + "save": "Сохранить учетные данные", + "saving": "Сохранение...", + "updated": "Учётные данные KOReader обновлены", + "updateFailed": "Не удалось обновить учетные данные KOReader" + }, "creating": "Создание...", "create": "Создать", "credentialsCreated": "Добавлены учетные данные синхронизации KOReader", @@ -2389,6 +3353,8 @@ "credentialsCreatedLabel": "Учетные данные созданы", "setup": "Настройка", "pluginServerUrl": "URL сервера плагина", + "syncUrl": "URL-адрес синхронизации KOReader", + "syncUrlHint": "Работает с плагином BookOrbit и встроенной синхронизацией KOReader.", "copied": "Скопировано", "copyUrl": "Копировать URL", "preconfiguredPlugin": "Предварительно настроенный плагин BookOrbit", @@ -2428,6 +3394,7 @@ "stockStep1Prefix": "На устройстве KOReader перейдите на", "stockStep1Suffix": ".", "stockStep2": "Установить сервер синхронизации на URL-адрес, показанный выше.", + "stockStep2InlineUrl": "Установить сервер синхронизации на следующий URL:", "stockStep3": "Введите имя пользователя и пароль, который вы создали, а затем нажмите «Войти».", "locationNote": "BookOrbit сохраняет совместимые с EPUB места от веб-читателя. Восстановление должно приземляться ближе к той же позиции, хотя точное размещение линии может варьироваться в зависимости от читателя и EPUB макета.", "dangerZone": "Опасная зона", @@ -2484,7 +3451,13 @@ "unmatchedDismissed": "Несовпадающая книга отклонена", "dismissFailed": "Не удалось отклонить несоответствующую книгу", "allDismissed": "{count, plural, =0 {Уволено без несовпадающих книг} one {Снято # несовпадающая книга} few {Снято # несовпадающих книг} many {Снято # несовпадающих книг} other {Снято # несовпадающих книг}}", - "dismissAllFailed": "Не удалось убрать все несовпадающие книги" + "dismissAllFailed": "Не удалось убрать все несовпадающие книги", + "reviewRefreshed": "Книги для обзора обновлены", + "reviewRefreshFailed": "Не удалось обновить книги для проверки", + "reviewDismissed": "Книга отклонена", + "reviewDismissFailed": "Не удалось уволить книгу из обзора", + "reviewAllDismissed": "{count, plural, =0 {Ни одна книга не исключена из проверки} one {# книга исключена из проверки} few {# книги исключены из проверки} many {# книг исключены из проверки} other {# книги исключены из проверки}}", + "reviewDismissAllFailed": "Не удалось убрать все книги с рецензирования" }, "modal": { "linkTitle": "Ссылка на книгу KOReader", @@ -2507,6 +3480,7 @@ "saving": "Сохранение...", "confirmLink": "Подтвердите ссылку", "unlinkTitle": "Отменить привязку книги KOReader?", + "unlinkBody": "Будущая синхронизация этого хэша перестанет работать с {title} , пока не будет привязана к нему снова. Уже синхронизированная статистика останется в их текущей книге BookOrbit.", "unlinking": "Отсоединение..." }, "dismiss": "Отклонить", @@ -2514,6 +3488,7 @@ "dismissing": "Отклонено...", "unlinking": "Отсоединение...", "unlinkConfirmTitle": "Отменить привязку книги KOReader?", + "unlinkConfirmBody": "Будущая синхронизация этого хэша перестанет работать с {title} , пока не будет привязана к нему снова. Уже синхронизированная статистика останется в их текущей книге BookOrbit.", "dismissConfirmTitle": "Закрыть {title}?", "dismissConfirmBody": "Это удалит его из списка несовпадающих книг. Если какое-либо устройство сообщит об этом хэше, он снова появится как новая запись.", "dismissAllConfirmTitle": "{count, plural, =0 {Нет несовпадающих книг} one {Распусти все # несовпадающую книгу?} few {Исключи все # несовпадающие книги?} many {Исключи все # несовпадающие книги?} other {Исключи все # несовпадающие книги?}}", @@ -2535,7 +3510,15 @@ "syncedStatsNote": "Уже синхронизированные данные останутся в их текущей книге BookOrbit.", "chooseDifferent": "Выберите другой", "saving": "Сохранение...", - "confirmLink": "Подтвердите ссылку" + "confirmLink": "Подтвердите ссылку", + "reviewTitle": "Книги KOReader для проверки", + "reviewHint": "Здесь появляются книги без автоматического сопоставления и несвязанных книг. Непривязанные книги по-прежнему могут синхронизироваться с помощью автоматического сопоставления. Связать книгу для переопределения совпадения, или отклонить ее, чтобы удалить её из этого списка.", + "loadingReview": "Загрузка книг для просмотра...", + "noReview": "Нет книг KOReader для просмотра.", + "manualUnlinkConfirmBody": "Удалите ссылку вручную на {title} и верните эту книгу в список обзоров. Будущая синхронизация будет использовать автоматическое сопоставление, если таковой существует. Уже синхронизированная статистика останется в их текущей книге книги.", + "reviewDismissConfirmBody": "Это удаляет его из книг для просмотра. Автоматическое сопоставление и сохранение существующих данных синхронизации. Если устройство сообщает о хэше снова без совпадения, он может появиться.", + "reviewDismissAllConfirmTitle": "{count, plural, =0 {Нет книг для проверки} one {Исключить из проверки # книгу?} few {Исключить из проверки все # книги?} many {Исключить из проверки все # книг?} other {Исключить из проверки все # книги?}}", + "reviewDismissAllConfirmBody": "Это очищает все ваши книги для просмотра списка, включая записи на других страницах. Автоматическое сопоставление и сохранены существующие данные синхронизации. Если устройство сообщает хэш снова без совпадения, он может появиться." }, "remove": "Удалить", "removing": "Удаление...", @@ -2543,7 +3526,22 @@ "deviceRemoved": "Устройство удалено", "removeDeviceFailed": "Не удалось удалить устройство", "removeDeviceConfirmTitle": "Удалить {device}?", - "removeDeviceConfirmBody": "Это окончательно удаляет синхронизированный прогресс устройства, активность чтения и любые записи из несовпадающих книг, о которых не сообщалось на другом устройстве. Если устройство синхронизируется позже, оно вновь появится как новая запись." + "removeDeviceConfirmBody": "Это окончательно удаляет синхронизированный прогресс устройства, активность чтения и любые записи из несовпадающих книг, о которых не сообщалось на другом устройстве. Если устройство синхронизируется позже, оно вновь появится как новая запись.", + "deleteDeviceDataConfirmTitle": "Удалить синхронизированные данные из {device}?", + "deleteDeviceDataConfirmBody": "Это навсегда удаляет прогресс синхронизированного устройства, активность постраничного чтения и любые записи из несовпадающей книги, которые больше не отображаются на другом устройстве. Сессии, уже записанные в статистике, сохраняются. Если позже устройство синхронизируется, то они появятся в виде новой записи.", + "devicesHint": "Повторное устройство скрывает его и сохраняет все, что оно синхронизировано. Удаление синхронизированных данных не может быть отменено.", + "retire": "Отмена", + "retiring": "Отставка...", + "restore": "Восстановить", + "restoring": "Восстановить...", + "deleteSyncedData": "Удалить данные", + "deletingSyncedData": "Удаление...", + "deviceRetired": "Устройство отключено", + "deviceRestored": "Устройство восстановлено", + "retireDeviceFailed": "Не удалось выйти из устройства", + "restoreDeviceFailed": "Не удалось восстановить устройство", + "retiredDevices": "{count, plural, one {# устройство в отставке} other {# устройства в отставке} few {# устройства в отставке} many {# устройства в отставке}}", + "retiredOnLabel": "Оставшиеся" }, "opds": { "title": "OPDS", @@ -2608,26 +3606,223 @@ "tabs": { "file-naming": "Именование файлов", "book-dock": "Книжный док-бар", + "requests": "Запросы", "maintenance": "Техническое обслуживание", "audit-log": "Журнал аудита" }, "requests": { + "title": "Запросы", + "subtitle": "Где находятся релизы, что их получает, и что происходит после того, как они приземляются.", + "tabs": { + "sources": "Источники", + "clients": "Скачать клиентов", + "automation": "Автоматизация" + }, + "loading": "Загрузка закачки...", + "clients": "Скачать клиентов", + "addClient": "Добавить клиента", + "editClient": "Изменить клиента", + "deleteClient": "Удалить {name}", + "clientsEmpty": { + "title": "Пока нет загрузочного клиента", + "body": "Прямая загрузка HTTP не требует клиента. Подключите один для того, чтобы BookOrbit мог получать релизы доставляемые торрентом или Usenet тоже.", + "note": "qBittorrent, Transmission, Deluge, NZBGet и SABnzbd поддерживаются." + }, + "summary": "{type} - категория {category}, приоритет {priority}", + "disabled": "Отключено", + "test": "Проверить соединение", + "testSaveFirst": "Сохраните ваши изменения перед тестированием", + "testOk": "Подключено к {client} {version}", + "testOkNoVersion": "Подключено к {client}", + "lastTestOk": "Последнее тестирование {time}: подключен", + "lastTestFailed": "Последняя проверка {time}: {error}", + "saved": "Скачать клиент сохранен", + "deleted": "Скачать клиент удален", + "clientTypes": { + "qbittorrent": "qBittorrent", + "transmission": "Трансмиссия", + "deluge": "Делуге", + "nzbget": "NZBGet", + "sabnzbd": "SABnzbd" + }, + "color": { + "label": "Цвет", + "hint": "Отмечает этот клиент в деталях передачи. Протокол передачи сохраняет свой цвет.", + "none": "Без цвета" + }, + "fields": { + "name": "Наименование", + "type": "Тип клиента", + "baseUrl": "Базовый URL", + "username": "Имя пользователя", + "password": "Пароль", + "apiKey": "API ключ", + "passwordKeep": "Оставьте пустым, чтобы сохранить сохраненный пароль", + "apiKeyKeep": "Оставьте пустым для сохранения ключа API", + "passwordClear": "Очистить", + "passwordKeepAction": "Оставить", + "passwordWillClear": "Сохраненный пароль удаляется при сохранении", + "apiKeyWillClear": "Сохраненный ключ API удаляется при сохранении", + "category": "Категория", + "categoryHint": "Теги загрузки BookOrbit добавляются, так что он действует только самостоятельно.", + "priority": "Приоритет", + "enabled": "Включено", + "useHardlinks": "Использовать жесткие ссылки", + "allowPrivateAddress": "Разрешить приватные адреса", + "allowPrivateAddressHint": "Необходимо, когда клиент работает на вашей локальной сети или на той же машине.", + "passwordBrief": "Хранится зашифрованно.", + "apiKeyBrief": "Найдено в SABnzbd в разделе Config > General. Сохранено в зашифрованном виде.", + "useHardlinksBrief": "Импортирует без использования диска дважды. Возвращает к копированию через файловые системы." + }, + "mappings": { + "title": "Сопоставления путей", + "hint": "Перевод путей отчетов клиента на пути BookOrbit может открываться. Необходимо, когда две команды выполняются в отдельных контейнерах.", + "add": "Добавить сопоставление", + "remove": "Удалить сопоставление", + "remotePath": "Путь клиента", + "localPath": "Путь к книжной орбите", + "brief": "Обязательно. Объявляет директорию BookOrbit импортировать из; если клиент видит те же файлы по тем же путям, сопоставить директорию загрузок.", + "identityExample": "Одна и та же файловая система? Используйте один и тот же путь с обеих сторон, например /downloads слева и /downloads справа." + }, + "hardlink": { + "test": "Тестировать жесткую ссылку", + "checking": "Проверка...", + "works": "Hardlinks работают здесь: импорт не будет использовать диск дважды.", + "unavailable": "Здесь нет жестких ссылок: импорт будет копировать пространство дважды.", + "link_refused": "Эта файловая система отказала в ссылке ({code}): импорт будет копировать, используя пространство дважды.", + "download_dir_unwritable": "BookOrbit не может записать в директорию загрузки ({code}), поэтому невозможно протестировать жесткие ссылки.", + "localMissing": "BookOrbit не может видеть этот путь.", + "dockMissing": "Папка \"Книга док\" недоступна для чтения." + }, + "reconciliation": { + "action": "Сверка", + "clean": "Каждая собственная клиентская вещь соответствует попытке загрузки BookOrbit.", + "unsupported": "Этот клиент не может перечислять элементы маркера владельца BookOrbit. Для Deluge, включите плагин ярлыков; для Transmission, настройте папку категории.", + "truncated": "Клиент вернул более 1000 товаров, которые принадлежат Вам. Разрешите видимые записи, а затем сверьте снова.", + "orphan": "BookOrbit не пытается владеть элементом этого клиента.", + "failedAttempt": "Клиент все еще держит этот предмет, но попытка \"{title}\" отмечена не удалось.", + "missing": "Эта попытка {status} больше не присутствует в загрузочном клиенте.", + "adopt": "Прикрепить к {title}", + "adopted": "Прикреплен клиентский элемент к {title}", + "remove": "Удалить из клиента", + "removed": "Удален осиротевший элемент клиента", + "removeTitle": "Удалить осиротевший элемент клиента?", + "removeDescription": "{name} удалён из загрузочного клиента. Загруженные файлы сохраняются.", + "notOrphan": "Этот клиентский элемент по-прежнему прикреплен к попытке загрузки BookOrbit.", + "notAdoptable": "Этот элемент или неудачная попытка изменилась и больше не может быть прикреплена. Сверните снова." + }, + "errors": { + "loadFailed": "Не удалось загрузить клиентов", + "saveFailed": "Не удалось сохранить загружаемый клиент", + "deleteFailed": "Не удалось удалить загружаемый клиент", + "testFailed": "Не удалось получить доступ к закачке клиента", + "nameAndUrlRequired": "Требуется имя и базовый URL-адрес", + "nameTaken": "Клиент для загрузки с таким именем уже существует", + "urlUnsafe": "Этот базовый URL-адрес не может быть достигнут. Проверьте адрес и используйте http или https.", + "urlPrivate": "Этот адрес находится в частной или локальной сети. Включите «Разрешить приватные адреса», если клиент там работает.", + "encryptionKeyMissing": "Перед сохранением учетной записи клиента установите BOOK_REQUEST_ENCRYPTION_KEY. Генерируйте его с помощью openssl rand -hex 32", + "encryptionKeyChanged": "Храненные учетные данные клиента не могут быть прочитаны. Возможно, BOOK_REQUEST_ENCRYPTION_KEY изменился с момента сохранения.", + "pathNotAbsolute": "Привязки путей должны использовать абсолютные пути с обеих сторон", + "nameRequired": "Дать этому клиенту имя.", + "urlRequired": "Введите адрес BookOrbit должен связаться с этим клиентом.", + "mappingRequired": "Добавьте хотя бы одно сопоставление пути, так что BookOrbit знает, из какого каталога он может импортировать.", + "apiKeyRequired": "Введите SABnzbd API ключ из Config > General." + }, + "encryptionKeyMissing": "Учётные данные клиента не могут быть сохранены. Сгенерируйте один с помощью: openssl rand -hex 32", + "confirmDelete": { + "title": "Удалить этот клиент для загрузки?", + "description": "Адрес {name}и сохраненные учетные данные удаляются, и закачки там перестают обновляться. Отключите его, чтобы сохранить данные.", + "confirm": "Удалить клиента" + }, "indexers": { + "title": "Прямые каналы", + "hint": "Подключите отдельный канал Торцнаба для торрентов или ленты новостей для релизов Usenet.", + "allDisabled": "Нижеприведенный источник выключен, так что поиск по запросу ничего не найдет. Переключите, по крайней мере, на один источник.", + "loading": "Загрузка индексаторов...", + "empty": { + "title": "Нет источников", + "body": "BookOrbit не содержит собственных источников, так что поиск по запросу ничего не найдет, пока вы не добавите его. Выберите установку, которая соответствует вашим индексаторам.", + "bodyOneWay": "BookOrbit не содержит собственных источников, поэтому поиск запроса ничего не находит, пока вы не добавите его.", + "responsibility": "Какой источник вы добавляете индексы является вашей ответственностью.", + "prowlarrTitle": "Подключить Prowlarr", + "prowlarrBody": "Управление несколькими индексаторами торрентов и Usenet через одно соединение.", + "recommended": "Рекомендовано", + "pluginTitle": "Установить плагин", + "pluginBody": "Один файл, который учит BookOrbit искать определенный сайт. Вы его предоставите, а затем заполните его настройки.", + "torznabTitle": "Добавить Индексатор Торцнаба", + "torznabBody": "Напишите на проварщик, джекетт или канал NZBHydra, который вы уже запускаете. Одна за каждую ленту.", + "builtInTitle": "Добавить индексатор", + "builtInBody": "Наведите курсор на канал Торцнаба или Ньюцнаба, который вы уже используете. Одна настройка для каждого канала." + }, + "add": "Добавить индексатор", + "edit": "Редактирование индексатора", + "delete": "Удалить {name}", + "none": "Нет индексатора.", + "disabled": "Отключено", + "test": "Проверить соединение", + "testSaveFirst": "Сохраните ваши изменения перед тестированием", + "testOk": "Подключено к {name}", + "toggleAria": "Искать с помощью {name}", + "enabledNotice": "Будет произведен поиск {name}", + "disabledNotice": "{name} не будет искать", + "lastTestOk": "Последнее тестирование {time}: подключен", + "lastTestFailed": "Последняя проверка {time}: {error}", + "saved": "Индексатор сохранен", + "deleted": "Источник удален", + "unavailable": "Эта установка не имеет типа \"{type}\" индексатор. Измените тип или удалите его плагин и сохраненная конфигурация.", + "pluginFailed": "Плагин в \"{directory}\" не загружен: {reason}", "sources": { - "plugin": "Установить плагин" + "title": "Источники", + "hint": "Все BookOrbit может искать, сгруппировать по подключению.", + "add": "Добавить источник", + "prowlarr": "Подключить Prowlarr", + "prowlarrHint": "Управление несколькими индексаторами торрента и Usenet вместе.", + "direct": "Добавить Торцнаб или Ньюцнаб", + "directHint": "Подключите один совместимый канал напрямую.", + "plugin": "Установить плагин", + "pluginHint": "Добавить применение специализированного источника.", + "activeSummary": "{count, plural, one {# активный источник} other {# активных источников} few {# активных источников} many {# активных источников}}: {torrent} торрент, {usenet} Usenet, {direct} direct" }, "network": { + "title": "Расширенная сеть", + "hint": "Требуется только когда не работает путь по умолчанию к этому источнику. То, что разрешено не изменяться: какой бы адрес не был достигнут, все еще проверяется таким же образом.", "resolvers": "Серверы DNS", - "proxyUrl": "URL прокси-сервера" + "proxyUrl": "URL прокси-сервера", + "proxyHint": "Http или https прокси для отправки запросов этого источника. SOCKS не поддерживается.", + "brief": "Требуется только когда не работает путь по умолчанию к этому источнику.", + "resolversBrief": "Разделенный запятыми. Используется вместо системного резолвера только для этого источника; пустой использует системую.", + "proxyBrief": "Http или https прокси для этого источника. SOCKS не поддерживается." + }, + "types": { + "torznab": "Torznab (Jackett, Prowlarr, NZBHydra)", + "newznab": "Newznab" }, "fields": { - "credential": { - "apiKey": "API ключ" + "name": "Наименование", + "type": "Тип индексатора", + "baseUrl": "Базовый URL", + "baseUrlHint": { + "torznab": "URL канала Torznab без строки запроса. Jackett показывает его на каждом индексаторе как \"Torznab Feed\".", + "newznab": "URL сайта Newznab или конечная точка API без поискового запроса." }, - "searchByIsbn": "Поиск по ISBN" + "credential": { + "apiKey": "API ключ", + "sessionId": "ID сессии" + }, + "credentialKeep": "Оставьте пустым, чтобы сохранить сохраненные учетные данные", + "credentialClear": "Очистить", + "credentialKeepAction": "Оставить", + "credentialWillClear": "Сохраненные учетные данные удаляются при сохранении", + "enabled": "Включено", + "allowPrivateAddress": "Разрешить приватные адреса", + "credentialBrief": "Хранится зашифрованно.", + "allowPrivateAddressBrief": "Отключено по умолчанию. Требуется только когда источник находится в вашей локальной сети.", + "searchByIsbn": "Поиск по ISBN", + "searchByIsbnBrief": "По умолчанию включено. Выключите его, если этот источник возвращает неправильную книгу для точного ISBN и будет искать по названию и автору." }, "color": { "label": "Цвет", + "hint": "Отмечает этот источник на каждом возвращении, так что вы можете сказать, откуда был результат перед чтением его имени. Протоколы доставки сохраняют свои цвета, поэтому эти цвета здесь не предлагаются.", "none": "Нет цвета", "options": { "blue": "Синий", @@ -2635,23 +3830,453 @@ "purple": "Фиолетовый", "pink": "Розовый", "red": "Красный", + "orange": "Оранжевый", "yellow": "Желтый", "lime": "Лайм", "green": "Зеленый", "teal": "Бирюзовый" } }, - "categories": { - "title": "Категории" + "mediaKinds": { + "label": "Искать источник для", + "hint": "Отключите носитель этого источника не стоит спрашивать. Только аудио-трекер за общим прокси все еще говорит, что он несет в себе все, и поиск электронных книг требует запроса при каждом поиске.", + "notCarried": "Этот источник не несет его." }, - "plugin": "Плагин" + "categories": { + "title": "Категории", + "brief": "Номера категорий индексатора, разделенные запятыми." + }, + "settings": { + "restoreDefault": "Восстановить значения по умолчанию" + }, + "seeding": { + "applyTracker": "Применить цели семян трекера", + "applyTrackerBrief": "Если ручное значение пустое, используйте действительную цель, указанную трекером. В этом случае пустые значения используются по умолчанию для скачивания клиента. Ручные значения сохраняются.", + "ratio": "Коэффициент сидов", + "ratioBrief": "Положительная десятичная дробь. Бланк наследует от трекера или клиента.", + "time": "Сид время (в минутах)", + "timeBrief": "Целый положительный номер. Бланк наследует трекера или клиента.", + "clientSupport": "qBittorrent принимает отношение и общее время семян. Прием семян и передачи только. Глобальные правила клиента и какой бы лимит ни был достигнут, могут остановить селекцию, поэтому эти значения не гарантируют соблюдение каждого минимума трекера.", + "futureGrabs": "Изменения применяются к будущим захватам. Существующие или принятые торренты могут сохранять ограничения на конкретные клиенты. Отключение трекера отключает настройки по умолчанию оставляет клиент, это не означает неограниченное количество раздачи.", + "reset": "Сбросить настройки раздачи", + "summary": { + "title": "Резюме политики", + "ratio": "Коэффициент", + "time": "Время генерации", + "manual": "Вручную: {value}", + "tracker": "Tracker fallback", + "client": "Клиент по умолчанию" + }, + "errors": { + "ratio": "Введите конечное число больше нуля или оставьте это поле пустым.", + "minutes": "Введите целое число от 1 до 2 147, 483 647, или оставьте это поле пустым." + } + }, + "confirmDelete": { + "title": "Удалить этот источник?", + "description": "Адрес, настройки {name}и сохраненные учетные данные удаляются. Отключите его, чтобы прекратить поиск без потери их.", + "confirm": "Удалить источник" + }, + "errors": { + "loadFailed": "Не удалось загрузить индексаторы", + "saveFailed": "Не удалось сохранить этого индексатора", + "deleteFailed": "Не удалось удалить этот источник", + "testFailed": "Не удалось достичь этого индексатора", + "nameAndUrlRequired": "Требуется имя и базовый URL-адрес", + "nameTaken": "Индексатор с таким именем уже существует", + "urlUnsafe": "Этот базовый URL-адрес не может быть достигнут. Проверьте адрес и используйте http или https.", + "urlPrivate": "Этот адрес находится в частной или локальной сети. Включите «Разрешить приватные адреса», если там работает индексатор.", + "credentialRequired": "Индексатор нуждается в учетных данных перед его использованием", + "invalidSettings": "Один или несколько настроек источника недействительны. Просмотрите доступные варианты.", + "nameRequired": "Дать этому индексатору имя.", + "urlRequired": "Введите адрес BookOrbit в поле поиска." + }, + "editName": "Изменить {name}", + "editorDescription": "Настройки для этого индексатора.", + "chooseType": "Выберите тип индексатора", + "chooseTypeHint": "Выберите, где BookOrbit должен искать. Форма спрашивает только для того, что нужно.", + "builtIn": "Построен в", + "plugin": "Плагин", + "typeDescriptions": { + "torznab": "Ваш собственный Jackett, Prowlarr или NZBHydra. Использует категории и цели семян.", + "newznab": "Индексатор Usenet совместимый с Newznab. Использует категории и требует API ключ." + }, + "plugins": { + "title": "Плагины", + "hint": "Сайт BookOrbit может искать, добавлять в один файл плагина.", + "directoryLink": "Просмотреть плагины открытых библиотек", + "none": "Плагин не установлен. Установите один для поиска по сайту не обложенные протоколы.", + "install": "Установить плагин", + "installed": "Установлено {label}.", + "installFailed": "Этот плагин не может быть установлен.", + "inspectFailed": "Этот файл не может быть прочитан как плагин.", + "removeAction": "Удалить плагин", + "removed": "Удалено {type} и его источников.", + "removeFailed": "Этот плагин не может быть удален.", + "confirmRemove": "Удалить плагин {label}?", + "replaces": "Этот плагин заменяет уже установленный {type}.", + "restartRequired": "Перезапустите BookOrbit для изменения плагина.", + "confirmInstall": "Установить плагин", + "configure": "Настроить", + "notSetUp": "Ещё не настроен", + "brokenTitle": "Плагин не загружен", + "managedHint": "Установлено на этом сервере. Обновление заменяет свой код. Удаление окончательно удаляет плагин и любой источник этого типа.", + "missingHint": "Файл плагина уже недоступен. Удалите эту запись плагина, чтобы удалить все оставшиеся источники, настройки и учетные данные для его типа.", + "removeWarning": "{count, plural, one {# источник и его сохраненные настройки и учетные данные будут навсегда удалены с этим плагином.} other {# исходные тексты и их сохраненные настройки и учетные данные будут навсегда удалены с этим плагином.} few {# исходные тексты и их сохраненные настройки и учетные данные будут навсегда удалены с этим плагином.} many {# исходные тексты и их сохраненные настройки и учетные данные будут навсегда удалены с этим плагином.}}", + "configureAria": "Настроить {label}", + "usedBy": "{count, plural, one {используется # источником} other {используется # источниками} few {используется # источниками} many {используется # источниками}}", + "unused": "исходник пока не использует его", + "update": "Обновить плагин", + "checkUpdates": "Проверить обновления", + "updateCheckComplete": "Проверка обновления плагина завершена.", + "updateCheckFailed": "Не удалось проверить наличие обновлений плагина.", + "updateInspectFailed": "Опубликованное обновление плагина не может быть проверено.", + "reviewUpdate": "Обзор обновления", + "updated": "Обновлено {label} до {version}.", + "autoUpdate": "Установить подписанные обновления автоматически", + "autoUpdateFailed": "Не удалось изменить автоматические обновления для этого плагина.", + "installedVersion": "Установленная версия", + "updateChannel": "Подписанный канал обновления", + "signatureVerified": "Загруженный источник соответствует подписи издателя Ed25519.", + "updateStates": { + "unsupported": "Ручные обновления", + "unchecked": "Ещё не проверено", + "current": "Актуально", + "available": "Доступна версия {version}", + "custom": "Пользовательская сборка", + "failed": "Ошибка проверки обновлений" + }, + "wrongType": "Этот файл является плагином {found} , а не {expected}.", + "replaceTitle": "Заменить этот плагин?", + "replace": "Заменить плагин", + "reviewTitle": "Установить этот плагин?", + "reviewDescription": "Что файл определяет сам по себе, и код, который он запустит.", + "declares": "Что он объявляет", + "source": "Что он будет запущен", + "type": "Тип", + "version": "Версии", + "versionLabel": "Версия плагина {version}", + "versionUnknown": "Неизвестная версия плагина", + "versionUnknownValue": "Неизвестен", + "media": "Медиа", + "credential": "Полномочия", + "credentialRequired": "Требуется", + "credentialNone": "Нет", + "trustWarning": "Плагин работает внутри BookOrbit с доступом к вашей базе данных, файлам библиотек и ключу шифрования. Установите один только из источников, которым вы доверяете, и сначала прочитайте его.", + "sectionTitle": "Плагин", + "removeUnusedWarning": "Этот плагин будет навсегда удален с сервера." + }, + "posture": "BookOrbit не предоставляет и не одобряет источники индексации. Каждый исходный код здесь настроен и вы несете ответственность за то, что ищете и загружаете через него." + }, + "managers": { + "add": "Добавить Prowlarr", + "loading": "Загрузка соединений Prowlarr...", + "managedSources": "{count, plural, one {# управляемый индексатор} other {# управляемые индексаторы} few {# управляемые индексаторы} many {# управляемые индексаторы}}", + "protocol": { + "torrent": "Торрент", + "usenet": "Usenet" + }, + "saved": "Настройки Prowlarr сохранены", + "deleted": "Prowlarr удален", + "synced": "Исходники Prowlarr синхронизированы", + "test": "Проверить соединение", + "sync": "Synchronize", + "testOk": "Подключено к Prowlarr {version}. Найдено {count, plural, one {# исходник} other {# исходников} few {# исходников} many {# исходников}}.", + "unavailable": "Unavailable", + "priority": "Prowlarr priority {priority}", + "toggleSource": "Искать с помощью {name}", + "changeColor": "Изменить цвет для {name}", + "sourceColor": "Цвет источника", + "sourceColorHint": "Отметки возвращены {name} в BookOrbit.", + "noSources": "Не было обнаружено совместимых торрентов или индексаторов Usenet. Синхронизируйте их после добавления в Prowlarr.", + "unknown": "Неизвестен", + "editorDescription": "Настройки подключений и синхронизации источника для Prowlarr.", + "confirmDelete": "Удалить это соединение Prowlarr?", + "deleteConsequence": "Соединение, зашифрованный API ключ и все синхронизированные источники удалены. Загрузок в процессе работы не удаляются.", + "fields": { + "name": "Наименование", + "color": "Цвет соединения", + "colorHint": "Отмечает это соединение Prowlarr. У каждого управляемого индексатора есть свой цвет релиза.", + "baseUrl": "Базовый URL", + "apiKey": "API ключ", + "apiKeyHint": "Найдено в Prowlarr в меню Настройки > Общая > Безопасность. Хранится в зашифрованном виде.", + "syncNew": "Включить новые найденные источники", + "syncNewHint": "Новые индексаторы Prowlarr немедленно доступны для поиска. Источники вы выключаете здесь оставаться выключенным после последующей синхронизации.", + "autoExpand": "Повторить без фильтров категории", + "autoExpandHint": "Когда индексатор не дал результатов, попробуйте один раз без фильтра категории книг BookOrbit.", + "inheritSeedLimits": "Использовать лимиты семян Prowlarr", + "inheritSeedLimitsHint": "Применить каждый индексирующий торрент коэффициент сида и время сида к будущим загрузкам, если не существует переопределения BookOrbit.", + "perIndexerTimeout": "Таймаут индексатора (в секундах)", + "perIndexerTimeoutHint": "Сколько времени может занять один синхронизированный исходный код. Могут потребоваться медленные индексаторы с поддержкой FlareSolverr.", + "overallBudget": "Бюджет Prowlarr (секунды)", + "overallBudgetHint": "Максимальное время настенные часы, разделяемое всеми источниками этого соединения Prowlarr в течение одного поиска." + }, + "errors": { + "load": "Не удалось загрузить менеджеры индексатора", + "nameTaken": "Связь с таким именем Prowlarr уже существует", + "urlPrivate": "Этот адрес находится в частной или локальной сети. Включите «Разрешить приватные адреса», если Prowlarr работает там.", + "required": "Введите имя, базовый URL-адрес и API ключ.", + "save": "Не удалось сохранить соединение Prowlarr", + "delete": "Не удалось удалить соединение Prowlarr", + "test": "Не удалось достичь Prowlarr", + "sync": "Не удалось синхронизировать исходники Prowlarr", + "source": "Не удалось изменить этот источник" + } + }, + "automation": { + "title": "Автоматизация", + "pipeline": "Когда загрузка закончится, она проходит через Книгу Док, где его заголовок и автор читаются, так что файл может быть назван и размещен правильно, и затем перемещается в библиотеку назначения запроса самостоятельно. Он останавливает вас только в том случае, если включена проверка импорта, и файл не соответствует запросу.", + "groupDownloads": "Автоматические загрузки", + "groupImports": "Импорт проверок", + "stateOn": "На", + "stateOff": "Выкл", + "summaryOff": "Каждый утвержденный запрос ожидает того, чтобы человек открыл выбор релиза и выбрал.", + "summaryNoRetry": "Утвержденный запрос загружает его лучший релиз самостоятельно, до тех пор, пока результаты релизов {score} или больше. Если запрос не выполнен, то запрос ожидает человека.", + "summaryRetry": "Утвержденный запрос загружает его лучший релиз самостоятельно, пока результаты релиза {score} или более. {count, plural, one {Это единственный релиз перед тем, как запрос ждет человека.} other {До того как запрос будет запрошен, осталось # релизов.} few {До того как запрос будет запрошен, осталось # релизов.} many {До того как запрос будет запрошен, осталось # релизов.}}", + "howDownloads": "Как работают автоматические загрузки", + "howImports": "Как работают проверки импорта", + "minScoreShort": "Ничего ниже этого не загружено без участия.", + "autoRetryShort": "Сбой загрузки провалился до запуска.", + "maxAttemptsShort": "Первая попытка и каждое повторение подсчитываются к этому.", + "verificationShort": "Ниже этого, файл ждет рассмотрения в Книге Док.", + "loading": "Загрузка настроек автоматизации...", + "loadFailed": "Не удалось загрузить настройки автоматизации", + "saveFailed": "Не удалось сохранить эту настройку", + "saved": "Настройки автоматизации сохранены", + "autoGrab": "Скачать лучший релиз автоматически", + "noSourcesConfigured": "Никаких источников поиска не установлено, поэтому ничего не будет искать и каждый утвержденный запрос будет передан прямо обратно. Добавьте один из них под Источниками.", + "noSourcesEnabled": "Каждый источник поиска выключен, так что ничего не будет искать и каждый утвержденный запрос будет передан обратно. Включите один обратно под исходными кодами.", + "autoGrabHint": "При одобрении запроса его наивысший релиз поступает прямо к клиенту загрузки и никто не должен открывать подборку выпуска. По умолчанию выключен, потому что сопоставление книги с правильным релизом является тяжелым, а человек, как правило, лучше судья.", + "autoGrabEnabled": "Автоматические загрузки включены", + "autoGrabDisabled": "Автоматические загрузки отключены", + "minScore": "Минимальный балл для автоматической загрузки", + "minScoreHint": "Рейтинг релиза ниже этого никогда не загружается автоматически. Баллы берутся до 100, и насколько хорошо титул и авторы составляют большинство из них, с форматом, размером файла, семенами и приоритетом источника за ним. Если ничего не набрало достаточного количества, запрос ожидает того, что кто-то выбрал релиз вручную, и говорит, почему он остановился.", + "minScoreHintV2": "Счетчик релиза ниже этого никогда не загружается автоматически. Название и актуальность автора больше всего дополняются форматом и допустимым размером файла, при этом создается впечатление о здоровье и фрилече, которые используются при создании исходного кода. Если ничего не набрало достаточного количества, запрос ожидает того, что кто-то выбрал релиз вручную, и говорит, почему он остановился.", + "autoRetry": "Попробуйте следующий релиз после сбоя", + "autoRetryHint": "Когда автоматическая загрузка не удается, вместо выхода из строя будет пробован следующий лучший релиз. Это описывает отказ от передачи файла и загрузку файлов, через которые идет его часть. Он применим только к выпускам BookOrbit выбрал себя: один выбранный вручную утверждающий не удаётся и ждет их.", + "maxAttempts": "Попытки по запросу", + "maxAttemptsHint": "Каждый релиз BookOrbit отправляется клиенту для этого запроса засчитывается в этот лимит: первая автоматическая попытка, все попытались после отключения исходного кода, и все попытки после загрузки не удались. Установите значение 1 для остановки после первой попытки.", + "autoSearch": "Не найдено ни одного запроса для", + "autoSearchShort": "Утвержденный запрос ничего не соответствует запросу, ищет снова позже.", + "autoSearchHint": "Запрос запрашивается после его утверждения. Если ничего не поворачивается достаточно хорошо, или книга еще не выпущена, этот запрос ждет утверждения и ничего не ищет снова. Включите эту функцию, и BookOrbit продолжит проверку самостоятельно, так что релиз, опубликованный в следующем месяце, все еще найден. Он запускается только во время автоматических загрузок, так как поиск не имеет ничего общего с тем, что он считает стоить только исходного трафика.", + "autoSearchEnabledToast": "Запросы будут найдены снова", + "autoSearchDisabledToast": "Запросы будут найдены только после их утверждения", + "autoSearchInterval": "Искать снова после", + "autoSearchIntervalShort": "Посчитано из последнего поиска, и растянулось как возрастной запрос.", + "autoSearchIntervalHint": "Как долго ждать, прежде чем искать повторный запрос ничего не было найдено. Ожидание каждой недели удваивается в два раза, до восьми раз эта цифра, , так что старые запросы не превращаются в ежедневный трафик по всем источникам, которые у вас есть.", + "autoSearchIntervalUnit": "часов", + "autoSearchMaxAge": "Не следить за", + "autoSearchMaxAgeShort": "Отсчитывается с момента подачи запроса.", + "autoSearchMaxAgeHint": "Запрос, старше чем это остаётся в одиночку. Он остаётся одобренным и все еще может быть выбран вручную в любое время, ничего не ищет автоматически.", + "autoSearchMaxAgeUnit": "дней", + "verify": "Проверять импорты по запросу", + "verifyOnHint": "Каждый скачанный файл сравнивается с книгой, которая была запрошена до его заполнения. Все, что не соответствует достаточно ожидания в Книге Док, чтобы кто-нибудь посмотреть.", + "verifyOffHint": "Ничего не проводится. Каждая загрузка предоставляется как только ее название и автор были прочитаны, так и неправильно присвоенные места в вашей библиотеке без предупреждения.", + "verificationEnabled": "Проверка импорта включена", + "verificationDisabled": "Импорт проверки отключен. Загрузки будут храниться без проверки", + "verification": "Порог проверки", + "verificationHint": "Как близко загруженный файл должен соответствовать запросу, прежде чем он будет размещен самостоятельно. Все ниже ожидается в доке Книги для рассмотрения. Это относится и ко всем запросам, в том числе и к релизам, выбранным вручную.", + "destinations": "Места назначения по умолчанию", + "destinationsHint": "Где подается книга, когда никто не выбрал для нее библиотеку. По умолчанию на каждый носитель , так как носитель выбирается перед тем, как ничего искать, и это единственное, что известно о файле, который ранее. Перед ними используется пункт назначения, закрепленный или выбранный при официальном утверждении.", + "destinationUnset": "Нет по умолчанию", + "destinationHiddenLibrary": "Библиотека, которую вы не можете увидеть", + "destinationHiddenFolder": "Папка, которую вы не можете увидеть", + "selectFolder": "Выберите папку", + "destinationLibraryFor": "Библиотека по умолчанию для {medium} запросов", + "destinationFolderFor": "Папка по умолчанию для {medium} запросов", + "destinationClearFor": "Очистить место назначения по умолчанию для {medium} запросов", + "importFormats": "Импорт форматов", + "importFormatsHint": "Что держать, когда один выпуск содержит одну и ту же книгу в нескольких форматах, таких как EPUB и PDF вместе. Это никогда не относится к многочастному аудиобууку, поскольку его части являются не конкурирующими изданиями.", + "importFormatsOption": { + "all": "Все доступные", + "allHint": "Сохраняйте каждый формат, поставляемый с выпуском.", + "preferred": "Только избранные", + "preferredHint": "Сохраняйте только формат, который находится в самом высоком приоритете библиотеки назначения." + } + }, + "profiles": { + "title": "Профили выпуска", + "effectiveRule": "Правило автозагрузки: сначала соответствующий уровень, затем наивысший балл (минимум {score}).", + "summary": "Релизы вне профиля остаются доступными для ручного выбора. Без уровней релизов ранг по баллам в одиночку.", + "howProfiles": "Как работают профили релизов", + "hint": "Релиз совпадает с категориями сверху вниз, и берет первый уровень, который он подходят. Автоматические загрузки рассматривают только тихие релизы при наличии профиля. Ручной выбор всё равно включает в себя нетишированные релизы после более ранних результатов.", + "bitrateNote": "Пол битрейта отворачивается от выпуска, который указывает на меньшей. Большинство источников измеряют очень мало их выпусков, а неизмеренный выпуск не повернут, поэтому это сужение меньше, чем кажется.", + "empty": "Нет профиля. Релизы для этого носителя ранжируются только по счету.", + "addTier": "Добавить уровень", + "removeTier": "Удалить этот уровень", + "moveUp": "Переместить этот уровень вверх", + "moveDown": "Переместить этот уровень вниз", + "tierName": "Имя уровня", + "newTier": "Ранг {position}", + "formats": "Форматы", + "files": "Файлы", + "anyLayout": "Любая", + "minBitrate": "Мин. кбит/с", + "minSeeders": "Мин. селекторы", + "torrentConditions": "Условия торрента", + "nonTorrentConditions": "Условия для сидения, фрилеша и VIP не распространяются на выбранные источники.", + "incompatibleTorrentConditions": "Этот неторрентный уровень все еще сохраняет торрентные условия. Они могут быть проигнорированы или препятствовать сопоставлению уровня уровня.", + "removeTorrentConditions": "Удалить условия торрента", + "channels": "Каналы", + "anyChannels": "Любая", + "mono": "Моно", + "stereo": "Stereo", + "maxSize": "Макс. МБ", + "languages": "Языки", + "indexers": "Источники", + "multiSelectHint": "Выберите один или более или оставьте пустым, чтобы разрешить любое", + "multiSelectAny": "Любая" + }, + "health": { + "ok": "Подключено", + "failed": "Недоступно", + "untested": "Никогда не тестировался", + "disabled": "Отключено", + "testedAt": "протестировано {time}", + "failedAt": "ошибка {time}" + }, + "categoryLabel": "категория {category}", + "priorityLabel": "приоритет {priority}", + "editClientName": "Изменить {name}", + "sections": { + "connection": "Подключение", + "search": "Что искать", + "access": "Доступ", + "seeding": "Раздача", + "availability": "Доступность", + "behaviour": "Поведение" + }, + "continueWithType": "Продолжить", + "external": "Внешний", + "editorDescription": "Настройки для этого клиента загрузки.", + "chooseClientType": "Выберите тип клиента", + "chooseClientTypeHint": "Выберите, к какой программе загружены карты BookOrbit.", + "clientTypeDescriptions": { + "qbittorrent": "Ваш собственный qBittorrent. Нужен адрес и аккаунт.", + "transmission": "Ваша собственная Transmission. Она не имеет категорий, поэтому категория становится подпапкой ее каталога загрузок.", + "deluge": "Ваш собственный Deluge. Войдите с помощью Web UI пароля; категория должна быть включена.", + "nzbget": "Ваш собственный NZBGet. BookOrbit отправляет NZB файлы через JSON-RPC API.", + "sabnzbd": "Ваш собственный SABnzbd. BookOrbit отправляет NZB файлы с помощью ключа API." + }, + "searchHealth": { + "failingOnce": "Не удалось выполнить последний поиск", + "failingStreak": "{count} не удалось выполнить поиск подряд", + "lastSearchAt": "последний поиск {time}" } } }, "nav": { + "title": "Настройки", + "ariaLabel": "Разделы настроек", + "breadcrumbLabel": "Навигация", + "searchPlaceholder": "Настройки поиска", + "clearSearch": "Очистить поиск", + "noResults": "Нет настроек, соответствующих {query}.", + "shortcutHint": "Нажмите {shortcut} , чтобы перейти к любым настройкам", + "status": { + "scanning": "Сканирование" + }, + "groups": { + "you": "Вы", + "library": "Библиотека", + "devices": "Устройства", + "accounts": "Аккаунты", + "server": "Сервер" + }, "descriptions": { - "hardcover": "Синхронизировать состояние чтения и обзоры с Hardcover." + "profile": "Ваше имя, email, пароль и активные сеансы.", + "appearanceTheme": "Тема, цвет акцента, фон, радиус углов.", + "appearanceBookCovers": "Тени обложки, позвоночные эффекты и плейсхолдерское искусство.", + "appearanceIcons": "Выберите стиль значка, используемый в приложении.", + "appearanceLayout": "Представление библиотек по умолчанию, плотность и интервал.", + "appearanceBehavior": "Как библиотека реагирует при просмотре и сортировке.", + "appearanceLanguage": "Язык интерфейса и региональные форматы.", + "readerEbook": "Шрифты, интервалы и поведение страницы для eBooks.", + "readerPdf": "Рендеринг, масштаб и страница подходят для PDF.", + "readerComics": "Направление чтения и спред страницы для комиксов.", + "readerAudio": "Скорость воспроизведения, интервал пропускания и таймер сна.", + "readerFonts": "Шрифты доступны во время чтения.", + "readerGeneral": "По умолчанию используется каждый режим чтения.", + "notifications": "Что описывает книжная орбита, о которой вы говорите, и где.", + "privacy": "Чтение идей, общих ссылок и видимости активности.", + "restrictions": "Возрастные рейтинги и скрытый контент для этой учетной записи.", + "libraries": "Сканировать пути, наблюдаемые папки и правила.", + "fileNaming": "Шаблоны папок и имен файлов для сохраненных файлов.", + "maintenance": "Сканирование, дубликаты, сироты и пересборка кэша.", + "kobo": "Синхронизировать конечную точку, хранить прокси-сервер, полки.", + "koreader": "Синхронизация и сопоставление документов.", + "opds": "Ленты для чтения сторонних приложений.", + "email": "SMTP-доставка и адреса для отправки на устройство.", + "hardcover": "Синхронизировать состояние чтения и обзоры с Hardcover.", + "users": "Аккаунты, роли, права доступа и приглашения.", + "accountActivity": "На пользователя чтение и активность сеанса.", + "magicLinks": "Нет пароля и ссылки для входа.", + "oidc": "Единый поставщик знаков, претензии и обеспечение.", + "serverFonts": "Шрифты, установленные для каждого читателя на этом сервере.", + "bookDock": "Быстрые действия показаны на страницах книги.", + "auditLog": "Кто изменил, что и когда.", + "requests": "Исходные, загружать клиентов и то, что происходит с книгой после загрузки.", + "readerTts": "Чтение голоса, скорости и повествования по умолчанию.", + "adminTts": "Движок речи доступен каждому читателю на этом сервере." + }, + "backToApp": "Вернуться в библиотеку", + "pageDescriptions": { + "profile": "Ваше имя, фотография, часовой пояс и отслеживание достижений, а также ваш пароль и поставщики авторизации, связанные с этим аккаунтом.", + "appearance-theme": "Выберите, где будут сохранены параметры внешнего вида, затем задайте стиль, цветовую схему, акцент, углы, яркость поверхности и узор за вашей библиотекой.", + "appearance-book-covers": "Как покрывается обзор приложения: заполнитель арт для книг без одной как покрывает их слоты, эффекты позвоночника и блеска, а также крышку на страницах книг.", + "appearance-icons": "Загрузите свои собственные иконки, чтобы использовать вместе со встроенным набором для библиотек, смарт-областей и коллекций.", + "appearance-layout": "Размер обложки и промежуток между сеткой библиотеки, обложка для свернутой серии и как выкладывается сетка автора.", + "appearance-behavior": "Что открывает книгу из сетки или списка, как правило, сворачивается на одну карту, и появляется ли в этом счете книга запросов.", + "appearance-language": "Язык BookOrbit используется для меню, меток и сообщений, а также региональных форматов дат и номеров.", + "reader-ebook": "По умолчанию для читателя книги: начинаются ли новые книги с вашими настройками, потоком страниц и колонками, темой и типографией, такими как шрифт, размер и интервал.", + "reader-pdf": "Как открываются PDF: страница по страницам или по одной непрерывной прокрутке, на которой начинается двухстраничный спред и масштаб по умолчанию.", + "reader-comics": "Как комиксы: распространяется режим и направление, одностраничный или двухстраничный режим, помещается в широкостраничную обработку и перемещается в следующую книгу в этой серии.", + "reader-audio": "Начальная скорость и громкость для новых аудиокниг, а также как далеко пропустить и пропустить кнопки вперёд.", + "reader-fonts": "Загрузите свои собственные шрифты для читателя, и выберите, какие шрифты будут отображаться администратором вашего сервера.", + "reader-general": "Где сохраняются ваши настройки для чтения, и по умолчанию используется каждый режим чтения.", + "tts": "Ваш голос и скорость по умолчанию при чтении книги вслух.", + "notifications": "Выберите, какие события уведомляют вас, из готовых сканов и метаданных получают в файл переименования, импорт и результаты книг док-станции.", + "privacy": "Укажите, сколько вы можете видеть администраторы вашей деятельности для чтения, просматривать ваш общий профиль и проверять кто его просматривал.", + "restrictions": "Ограничения контента для этого аккаунта, такие как возрастные рейтинги и скрытый контент, и то, что они остаются вне ваших библиотек.", + "libraries": "Каждая библиотека на взгляд: ее папки, что она хранит, как она сканируется и когда она последний раз находится на этом этапе. Здесь добавляются, редактируются или пересканируются библиотеки.", + "metadata-providers": "Включение или отключение источников метаданных, добавление ключей API или cookies, в которых они нуждаются, и проверка учетных данных в реальном времени с помощью сервиса.", + "metadata-field-rules": "Выберите, какие провайдеры заполняют каждое поле метаданных и в каком порядке, как значения объединяются, как собираются жанры и идентификаторы провайдера.", + "metadata-custom-fields": "Создайте свои собственные поля метаданных, выберите их тип и библиотеки, которые их используют, и измените порядок или архивируйте их.", + "metadata-score": "Решите, сколько каждого поля метаданных учитывается в оценке полноты, показанной в каждой книге.", + "metadata-auto-fetch": "Автоматически загружать метаданные книги при импорте или пропускании книг с переопределением для каждой библиотеки.", + "metadata-authors": "Получайте авторские биографии и фотографии автоматически, выбирайте источники заказа, и решайте, какие авторы квалифицированы.", + "metadata-search-cache": "Поддерживайте ответы провайдера, чтобы повторяющиеся поиски были быстрыми и по-прежнему работали, когда провайдер не работает, и контролировать, сколько времени и сколько сохраняется.", + "metadata-genre-blocklist": "Значения жанра, перечисленные здесь, удаляются от результатов провайдера до написания метаданных, так что такие метки как Audiobook остаются вне ваших книг.", + "metadata-reminders": "Выберите, какие недостающие поля отображаются в буферных напоминаниях. Это меняет только напоминания, а не оценки метаданных.", + "file-naming": "Шаблоны имен папок и файлов, используемых при переименовании книг BookOrbit на диске, , чтобы просмотреть результат и что происходит, когда значение отсутствует.", + "maintenance": "Серверное хозяйство: лимит размера загрузки, прошлые импорты, перестройка рекомендаций, восстановление достижений и проверка обновлений.", + "kobo": "Подключайте электронных читателей Kobo, выбирайте, как книги, полки и прогресс чтения, и следуйте за недавней синхронизацией на каждом устройстве.", + "koreader": "Синхронизация процесса, чтение и выделяется KOReader, получение URL и плагина для синхронизации, а также управление подключенными устройствами.", + "opds": "Включите каталог OPDS и создайте учетные записи, чтобы сторонние приложения могли просматривать и загружать ваши книги.", + "email": "Управляйте адресными книгами, например, высылаются почтовые ящики Kindle, отметьте их по умолчанию и групповые получатели одновременно.", + "hardcover": "Подключите ваш аккаунт к Hardcover и выберите при синхронизации статуса чтения, прогресса и рейтингов, а также как там появляются синхронизированные книги.", + "readwise": "Подключите свой аккаунт Readwise для автоматической отправки подсвеченных сообщений.", + "storygraph": "Подключите свою учетную запись StoryGraph, используя cookies сессии вашего браузера, чтобы синхронизировать прогресс и состояние чтения.", + "users": "Создавайте и управляйте учетными записями, их ролями, разрешениями и доступом к библиотеке и смотрите, какие учетные записи требуют внимания.", + "account-activity": "Посмотрите, когда каждый аккаунт был последний активный и как он регистрируется, а также откройте чтение и сеансы чтения.", + "magic-links": "Создавайте разделяемые ссылки, которые регистрируют кого-нибудь без пароля, и отменяйте их, когда они больше не нужны.", + "oidc": "Подключите одного поставщика сигнала, такого как Keycloak, сопоставьте его претензии, и решите, как создаются новые аккаунты.", + "requests": "Здесь BookOrbit ищет запрашиваемые книги, которые загружают клиентов и что происходит после завершения загрузки.", + "admin-tts": "Читатели речевых движков могут использовать для чтения вслух, голосов, предложенных с каждого из них, и порядка их появления.", + "book-dock": "Папка Dock Drop, автоматическая загрузка метаданных для новых файлов и оценка, по которой файлы сами завершаются.", + "server-fonts": "Загрузите шрифты один раз для каждого читателя на этом сервере. Каждый читатель по-прежнему может скрыть любой из них.", + "audit-log": "Запись о том, кто изменил, что и когда фильтруется по событию, человеку, затронутому элементом и датой." } + }, + "field": { + "required": "(обязательно)" + }, + "editor": { + "discardTitle": "Отменить изменения?", + "discardDescription": "Этот редактор имеет изменения, которые никогда не были сохранены. Закрытие его теперь выбрасывает их.", + "discardConfirm": "Отменить изменения", + "moreActions": "Другие действия", + "removeQuestion": "Удалить это?" } }, "achievements": { @@ -2676,6 +4301,201 @@ "earned": "Заработано ({count})", "inProgress": "В процессе ({count})", "locked": "Заблокировано ({count})" + }, + "tiersEarnedFact": "{earned} уровней {total}", + "loading": "Загрузка достижений", + "filters": { + "label": "Фильтровать достижения", + "all": "Все", + "earned": "Заработано", + "inProgress": "В процессе", + "locked": "Заблокировано" + }, + "showcase": { + "label": "Отметины", + "latest": "Последняя разблокировка", + "newToday": "{count, plural, one {# новое сегодня} other {# новое сегодня} few {# новое сегодня} many {# новое сегодня}}", + "secretRevealed": "Секрет обнаружен", + "categoryAndDate": "{category} · {date}", + "alsoNew": "Также новые", + "openMedal": "Открыть {name}", + "emptyTitle": "Ваша первая медаль ждет", + "emptyBody": "Закончите книгу, курс один или выделите проход, и он земли здесь.", + "collection": "Коллекция", + "shareOfTiers": "{percent} каждого уровня", + "tiersEarned": "Заработано {earned} категорий {total}", + "closest": "Ближайший к разблокировке", + "allInProgress": "Все {count}", + "tierOfSet": "Ранг {tier} из {set}", + "nothingCounting": "Ничто не подсчитывает к медали." + }, + "shelf": { + "tiers": "{earned} / {total}", + "progressLabel": "Заработано уровней {category}" + }, + "medal": { + "label": "{name}, {rarity}, {status}", + "tier": "Ранг {tier}", + "allTiers": "{count, plural, one {Единственный уровень} other {Все # уровни} few {Все # уровни} many {Все # уровни}}", + "keepReading": "Продолжить чтение", + "notStarted": "Не начато" + }, + "progress": { + "generic": "{current} / {threshold}", + "toGo": "{count, plural, one {# чтобы идти} other {# чтобы идти} few {# чтобы идти} many {# чтобы идти}}" + }, + "hints": { + "howToGetIt": "Как получить", + "readingPace": "{count, plural, one {За последние {days} дней вы читали # час.} few {За последние {days} дней вы читали # часа.} many {За последние {days} дней вы читали # часов.} other {За последние {days} дней вы читали # часа.}}", + "etaDays": "{count, plural, one {# день в этом темпе.} other {# дней в этом темпе.} few {# дней в этом темпе.} many {# дней в этом темпе.}}", + "etaWeeks": "{count, plural, one {О # неделе в этом темпе.} other {# недель в этом темпе.} few {# недель в этом темпе.} many {# недель в этом темпе.}}", + "etaMonths": "{count, plural, one {О # месяце в этом темпе.} other {О # месяцах в этом темпе.} few {О # месяцах в этом темпе.} many {О # месяцах в этом темпе.}}", + "decadeUnread": "{count, plural, one {# книга от {decade}s ждет твоя полка.} other {# книг от {decade}s ждут твои полки.} few {# книг от {decade}s ждут твои полки.} many {# книг от {decade}s ждут твои полки.}}", + "centuryUnread": "{count, plural, one {# книга от {century}s ждет твоя полка.} other {# книг от {century}s ждут твои полки.} few {# книг от {century}s ждут твои полки.} many {# книг от {century}s ждут твои полки.}}", + "stalled": "{title} читает {percent} и был запущен на {date}.", + "stalledNoProgress": "{title} был запущен на {date}.", + "untitledBook": "Книга в процессе", + "nearlyFinished": "{count, plural, one {# книга в процессе работы прошла, {percent}} other {# книги в процессе выполнения {percent}} few {# книги в процессе выполнения {percent}} many {# книги в процессе выполнения {percent}}}", + "unratedFinished": "{count, plural, one {# рейтинг у вас пока не оценивается.} other {# рейтингов у вас пока нет.} few {# рейтингов у вас пока нет.} many {# рейтингов у вас пока нет.}}", + "shortBooks": "{count, plural, one {# книга под {pages} страницы ждут твоих полок.} other {# книг под {pages} На полках ждут твои страницы.} few {# книг под {pages} На полках ждут твои страницы.} many {# книг под {pages} На полках ждут твои страницы.}}", + "alreadyStarted": "{count, plural, one {# уже выполняется.} other {# уже выполняется.} few {# уже выполняется.} many {# уже выполняется.}}", + "longBooks": "{count, plural, one {# книга {pages} страницы или больше ждут вашей полки.} other {# книг {pages} страниц или больше ждут ваших полок.} few {# книг {pages} страниц или больше ждут ваших полок.} many {# книг {pages} страниц или больше ждут ваших полок.}}", + "oldBooks": "{count, plural, one {# книга опубликованная до {year} ждет ваших полок.} other {# книги, опубликованные до {year} ждут ваших полок.} few {# книги, опубликованные до {year} ждут ваших полок.} many {# книги, опубликованные до {year} ждут ваших полок.}}", + "authorUnread": "{author}: {finished, plural, one {# закончил} other {# закончил} few {# закончил} many {# закончил}}, {count, plural, one {# больше на полках} other {# больше на полках} few {# больше на полках} many {# больше на полках}}", + "languageUnread": "{count, plural, one {# книга через {language} ждет ваших полок.} other {# книг через {language} ждут ваших полок.} few {# книг через {language} ждут ваших полок.} many {# книг через {language} ждут ваших полок.}}", + "monthsRead": "{count, plural, one {Ты прочитал # месяц {year} До сих пор} other {Ты прочитал # месяцы {year} Пока} few {Ты прочитал # месяцы {year} Пока} many {Ты прочитал # месяцы {year} Пока}}", + "monthsLeft": "{count, plural, one {{months} осталось} other {{months} Осталось} few {{months} Осталось} many {{months} Осталось}}", + "noLongBook": "На вашей полке нет книг с {pages} или более.", + "nothingBeforeYear": "Ничего на ваших полках не было опубликовано до {year}.", + "tooFewDecades": "{count, plural, one {Пока ваши полки охватывают только # десятилетие.} few {Пока ваши полки охватывают только # десятилетия.} many {Пока ваши полки охватывают только # десятилетий.} other {Пока ваши полки охватывают только # десятилетия.}}", + "tooFewCenturies": "{count, plural, one {Пока ваши полки охватывают только # век.} few {Пока ваши полки охватывают только # века.} many {Пока ваши полки охватывают только # веков.} other {Пока ваши полки охватывают только # века.}}", + "missedMonth": "Вы не читали в {month}, поэтому {year} недоступен. Количество начинается снова в январе.", + "continueReading": "Продолжить чтение", + "rateFinished": "Оценить завершенную книгу", + "viewAuthor": "Просмотреть автора", + "openBook": "Открыть {title}", + "openUntitledBook": "Открыть книгу" + }, + "sets": { + "booksFinished": "Книги завершены", + "pagesRead": "Прочитано страниц", + "hoursRead": "Чтение часов", + "longestBook": "Длинная книга завершена", + "librarySize": "Размер библиотеки", + "annotations": "Аннотации", + "booksRated": "Книги оценены", + "genresFinished": "Жанры завершены", + "languagesFinished": "Закончены языки", + "readingStreak": "Серия для чтения" + }, + "units": { + "books": { + "progress": "{current} / {threshold} книги", + "toGo": "{count, plural, one {# книга для перехода} other {# книг для перехода} few {# книг для перехода} many {# книг для перехода}}" + }, + "pages": { + "progress": "{current} / {threshold} страниц", + "toGo": "{count, plural, one {# страница для перехода} other {# страниц для перехода} few {# страниц для перехода} many {# страниц для перехода}}" + }, + "hours": { + "progress": "{current} / {threshold} часов", + "toGo": "{count, plural, one {# час, чтобы уйти} other {# часов, чтобы уйти} few {# часов, чтобы уйти} many {# часов, чтобы уйти}}" + }, + "annotations": { + "progress": "{current} / {threshold} аннотации", + "toGo": "{count, plural, one {# аннотации идут} other {# аннотации идут} few {# аннотации идут} many {# аннотации идут}}" + }, + "ratings": { + "progress": "{current} / {threshold} рейтинги", + "toGo": "{count, plural, one {# рейтинг ушел} other {# рейтинги идут} few {# рейтинги идут} many {# рейтинги идут}}" + }, + "genres": { + "progress": "{current} / {threshold} genres", + "toGo": "{count, plural, one {# жанр пойдет} other {# жанры идут} few {# жанры идут} many {# жанры идут}}" + }, + "languages": { + "progress": "{current} / {threshold} языков", + "toGo": "{count, plural, one {# язык для перехода} other {# языков для перехода} few {# языков для перехода} many {# языков для перехода}}" + }, + "days": { + "progress": "{current} / {threshold} дней", + "toGo": "{count, plural, one {# день на} other {# дней на} few {# дней на} many {# дней на}}" + } + }, + "moments": { + "nthBook": "Книгой № {number} стала {title}", + "pagesAtUnlock": "{count, plural, one {# страница} other {# страницы} few {# страницы} many {# страницы}} после разблокировки", + "hoursAtUnlock": "{count, plural, one {# час} other {# часов} few {# часов} many {# часов}} когда он разблокирован", + "titleWithPages": "{title}, {count, plural, one {# страница} other {# страницы} few {# страницы} many {# страницы}}", + "booksAtUnlock": "{count, plural, one {# книга} other {# книги} few {# книги} many {# книги}} в вашей библиотеке при разблокировке", + "annotationsAtUnlock": "{count, plural, one {# аннотация} other {# аннотаций} few {# аннотаций} many {# аннотаций}} когда она разблокирована", + "ratingsAtUnlock": "{count, plural, one {# рейтинг} other {# рейтинги} few {# рейтинги} many {# рейтинги}} после разблокировки", + "genresAtUnlock": "{count, plural, one {# жанр} other {# жанры} few {# жанры} many {# жанры}} после разблокировки", + "languagesAtUnlock": "{count, plural, one {# язык} other {# языков} few {# языков} many {# языков}} после разблокировки", + "streakAtUnlock": "{count, plural, one {# день} other {# дней} few {# дней} many {# дней}} подряд в то время", + "longSession": "Одна сессия завершилась {duration}", + "durationHours": "{hours} ч {minutes} мин", + "durationMinutes": "{minutes} мин", + "sessionStartedAt": "Сессия, начавшаяся {time}", + "oneDayBook": "{title}, начните закончить через один день", + "booksInWeek": "{count, plural, one {# книга} other {# книг} few {# книг} many {# книг}} закончилось через неделю", + "booksInMonth": "{count, plural, one {# книга} other {# книг} few {# книг} many {# книг}} закончилась {month}", + "booksInYear": "{count, plural, one {# книга} other {# книг} few {# книг} many {# книг}} закончилась {year}", + "wholeBookOneSession": "Вся книга за одну сессию", + "pagesInSession": "{count, plural, one {# страница} other {# страницы} few {# страницы} many {# страницы}} за одну сессию", + "pagesInDay": "{count, plural, one {# страница} other {# страницы} few {# страницы} many {# страницы}} Один день", + "slowBurn": "{title}, завершено за {count, plural, one {# день} few {# дня} many {# дней} other {# дня}}", + "formatsOwned": "{count, plural, one {# формат} other {# форматов} few {# форматов} many {# форматов}} на полках", + "annotationsWithNote": "{count, plural, one {# аннотация} other {# аннотации} few {# аннотации} many {# аннотации}} заметкой", + "annotationsInDay": "{count, plural, one {# аннотация} other {# аннотаций} few {# аннотаций} many {# аннотаций}} через один день", + "everyStar": "Каждый рейтинг от одной звезды до пяти", + "everyColour": "Используемый цвет подсветки", + "titlePublished": "{title}, опубликовано {year}", + "booksInGenre": "{count, plural, one {# книга} other {# книги} few {# книги} many {# книги}} в одном жанре", + "firstInSeries": "{title}из серии {series}", + "centuries": "Книги от {count, plural, one {# век} other {# веков} few {# веков} many {# веков}}", + "booksBySameAuthor": "{count, plural, one {# книга} other {# книг} few {# книг} many {# книг}} по одному автору", + "decades": "Книги от {count, plural, one {# десятилетие} other {# десятилетия} few {# десятилетия} many {# десятилетия}}", + "shortBooks": "{count, plural, one {# короткая книга} other {# короткие книги} few {# короткие книги} many {# короткие книги}} закончили!", + "allSeasons": "Все четыре сезона {year}", + "consistentDays": "{count, plural, one {# день} other {# дней} few {# дней} many {# дней}} 30 минут или больше", + "weekendsInRow": "{count, plural, one {# выходные} other {# выходные} few {# выходные} many {# выходные}} подряд", + "weekendHours": "{count, plural, one {# час} other {# часов} few {# часов} many {# часов}} в выходные дни {date}", + "categoriesCovered": "{count, plural, one {# категория} other {# категории} few {# категории} many {# категории}} с достижением", + "readingSources": "{count, plural, one {# чтение исходного кода} other {# чтение исходников} few {# чтение исходников} many {# чтение исходников}}", + "oneBookSources": "Одна книга прочитана из {count, plural, one {# исходник} other {# исходники} few {# исходники} many {# исходники}}" + }, + "records": { + "title": "Книга записей", + "subtitle": "Цифры за ваши медали, когда они стояли при каждой разблокировке", + "value": "{value}", + "oneSession": "Одна сессия для чтения", + "pagesInSession": "Страниц в одной сессии", + "pagesInDay": "Страниц в один день", + "booksInWeek": "Книги за одну неделю", + "booksInMonth": "Книги в {month}", + "booksInYear": "Книги завершены на {year}", + "annotations": "Аннотации", + "genresFinished": "Жанры завершены", + "daysInRow": "Дней подряд", + "booksInLibrary": "Книги в вашей библиотеке" + }, + "detail": { + "categoryTierSet": "{category} · Ранг установлен", + "secretHint": "Продолжайте читать, чтобы раскрыть это.", + "tierOf": "Ранг {earned} из {total}", + "current": "Текущее", + "noneYet": "Пока нет", + "progress": "Прогресс", + "allTiersEarned": "Каждый уровень заработан", + "tiers": "Уровни", + "earned": "Заработано", + "status": "Статус", + "hidden": "Hidden", + "rarity": "Редкость", + "category": "Категория", + "theSet": "Набор", + "theMoment": "Момент" } }, "adminFeature": { @@ -2746,6 +4566,7 @@ "subtitle": "Чтение информации, которую пользователь добровольно решил поделиться.", "auditNotice": "Доступ к этому профилю записан и виден пользователю.", "period": "Отчетный период", + "periodDays": "Последние {count} дней", "durationMinutes": "{count, plural, one {# минута} few {# минут} many {# минут} other {# минут}}", "durationHours": "{count, plural, one {# час} few {# часов} many {# часов} other {# часов}}", "metrics": { @@ -2758,8 +4579,12 @@ "trend": "Ежедневное чтение тренда", "emptyTitle": "Нет активности по чтению в этот период", "noData": "Нет записанных данных о чтении за этот период.", + "sessionCount": "{count, plural, one {# сессия} other {# сессий} few {# сессий} many {# сессий}}", "sourceNames": { "web": "Веб-читатель", + "ios": "Приложение iOS", + "watchos": "Часы Apple", + "android": "Android app", "koreader": "KOReader", "manual": "Ручной", "kobo": "Kobo", @@ -2837,14 +4662,47 @@ "presetClearAll": "Очистить все", "permissionGroups": { "content": "Содержание", + "podcasts": "Подкасты", "devicesAccess": "Устройства и доступ", "email": "Почта", "administration": "Администрация", "notifications": "Уведомления", - "restrictions": "Ограничения" + "restrictions": "Ограничения", + "libraryBooks": "Библиотека и книги", + "bookRequests": "Запросы на бронирование", + "bookDock": "Книжный док-бар", + "devices": "Устройства", + "readingIntegrations": "Чтение интеграций", + "emailNotifications": "Email и уведомления", + "libraryConfiguration": "Конфигурация библиотеки", + "usersSecurity": "Пользователи и безопасность", + "system": "Система" }, + "permissionLevels": { + "use": "Использовано", + "manage": "Управлять" + }, + "accountRestrictions": "Ограничения аккаунта", + "demoRestrictedHint": "Ограничить доступ к демо-счету.", "superuserTarget": "Superuser Target", "superuserTargetHint": "Ограничения содержимого не могут применяться к суперпользователям.", + "superuserAccess": { + "title": "Доступ Суперпользователя", + "enabled": "Включено", + "disabled": "Отключено", + "enabledHint": "Эта учетная запись имеет неограниченный доступ к серверу. Сохраненные права, библиотеки и ограничения будут применяться после понижения.", + "disabledHint": "Продвижение даёт неограниченный доступ к серверам и обход прав, задания библиотек и контента.", + "selfHint": "Вы не можете изменить доступ к вашему суперпользователю.", + "sharedHint": "Общие учетные записи не могут быть перенаправлены на суперпользователя.", + "promote": "Повысить до суперпользователя", + "demote": "Удалить суперпользователя", + "promoteDialogTitle": "Повысить до суперпользователя?", + "promoteDialogBody": "Предоставить {name} неограниченному доступу к серверу. Их активные сессии будут завершены, и они должны войти в систему снова.", + "demoteDialogTitle": "Удалить доступ суперпользователя?", + "demoteDialogBody": "Удалить неограниченный доступ из {name}. Сохраненные права доступа, библиотеки и ограничения вступят в силу и они должны войти в систему снова.", + "changing": "Обновление доступа...", + "changeError": "Не удалось обновить права суперпользователя. Перезагрузите учетную запись и повторите попытку." + }, "noRestrictions": "Нет ограничений по контенту", "noRestrictionsHint": "Этот пользователь имеет полный доступ ко всем книгам в своих библиотеках.", "addRestrictions": "+ Добавить ограничения содержимого", @@ -2858,6 +4716,8 @@ "includeGenresHint": "(показать только книги с этими жанрами)", "excludeGenres": "Исключить жанры", "excludeGenresHint": "(скрыть книги с этими жанрами)", + "seeOwnRequestedBooks": "Пусть этот пользователь увидят запрошенные книги", + "seeOwnRequestedBooksHint": "Книги, пришедшие через свои запросы книги, игнорируют приведенные выше правила. Отключено по умолчанию.", "searchTagsPlaceholder": "Поиск тегов...", "searchGenresPlaceholder": "Поиск жанров...", "saving": "Сохранение...", @@ -2868,8 +4728,67 @@ "updateContentFilters": "Не удалось обновить фильтры содержимого", "emailRequired": "Требуется адрес электронной почты", "createSharedAccount": "Не удалось создать общую учетную запись", - "createUser": "Не удалось создать пользователя" - } + "createUser": "Не удалось создать пользователя", + "nameRequired": "Полное имя обязательно", + "usernameRequired": "Требуется имя пользователя" + }, + "drawerDescription": "Редактировать профиль этого аккаунта, доступ к библиотеке, права доступа и ограничения.", + "createHint": "Новые учетные записи не имеют разрешений до тех пор, пока вы не предоставите их.", + "sectionsLabel": "Настройки учетной записи", + "sections": { + "profile": "Профиль", + "libraries": "Библиотеки", + "permissions": "Права доступа", + "restrictions": "Ограничения" + }, + "sectionSummary": { + "newAccount": "Ещё не создано", + "libraries": "{selected} из {total}", + "permissions": "{count, plural, =0 {Нет разрешений} one {1 предоставлено} other {# предоставлено} few {# предоставлено} many {# предоставлено}}", + "restrictionsNone": "Нет", + "restrictionsContent": "Фильтры контента", + "restrictionsDemo": "Демо ограничено", + "restrictionsBoth": "Фильтры и демо-режим" + }, + "account": "Аккаунт", + "status": "Статус", + "statusHint": "Заблокированные пользователи не могут войти или синхронизировать устройства.", + "signInMethod": "Вход", + "signInMethods": { + "password": "Пароль", + "oidc": "Одиночный вход", + "shared": "Магическая ссылка" + }, + "created": "Создано", + "lockedUntil": "Заблокировано до {time}", + "lockedHint": "Слишком много неудачных попыток входа. Разблокировать из списка пользователей.", + "usernameFixedHint": "Имена пользователей не могут быть изменены.", + "emailHint": "Используется для сброса пароля и уведомлений.", + "libraryAccessHint": "Книги за пределами этих библиотек невидимы для этого пользователя.", + "selectAll": "Выбрать все", + "clearAll": "Очистить", + "permissionsHint": "Действия, разрешённые этой учётной записи. Предоставлено {granted} из {total}.", + "groupLegend": "{group}: {granted} из {total} предоставлено", + "presets": { + "label": "Предустановка разрешений", + "none": "Нет", + "standard": "Стандартный", + "custom": "Свой", + "admin": "Админ", + "customHint": "Выбор не совпадает с пресетом." + }, + "filterPermissions": "Разрешения фильтра", + "grantedOnly": "Только предоставленные", + "noPermissionMatches": "Нет разрешений, соответствующих этому фильтру.", + "clearFilters": "Очистить фильтры", + "filteredNotice": "Отфильтровано. Полномочия, которые скрыты, сохраняют их текущие настройки.", + "contentRestrictionsHint": "Ограничь, какие книги этот пользователь может видеть, по тегу или жанру.", + "contentRestrictionsAfterCreate": "Ограничения содержимого можно установить после того, как аккаунт существует.", + "unsavedChanges": "{count, plural, one {1 несохраненные изменения} other {# несохраненные изменения} few {# несохраненные изменения} many {# несохраненные изменения}}", + "libraryBookCount": "{count, plural, =0 {Нет книг} one {1 книга} other {# книг} few {# книг} many {# книг}}", + "dangerZone": "Опасная зона", + "deleteUserHint": "Окончательно удаляет эту учетную запись и ее данные для чтения. Это не затрагивает книг в библиотеке.", + "libraryReach": "Эта учетная запись может видеть {selected} из {total} книг." }, "usersPage": { "usersTitle": "Пользователи", @@ -2881,7 +4800,10 @@ "email": "Почта", "access": "Доступ", "status": "Статус", - "actions": "Действия" + "actions": "Действия", + "user": "Пользователь", + "libraries": "Библиотеки", + "lastActive": "Последняя активность" }, "adminBadge": "Админ", "permissionCount": "{count, plural, =0 {Нет прав} one {одно разрешение} few {# права} many {# права} other {# права}}", @@ -2889,11 +4811,16 @@ "contentRestrictionsActive": "Ограничения содержимого активны", "statusActive": "Активный", "statusInactive": "Неактивный", + "lockedBadge": "Заблокировано", + "unlockAccount": "Разблокировать аккаунт", + "unlockHint": "Очистить блокировку входа", + "unlockAria": "Разблокировать {name}", "resetPassword": "Сброс пароля", "resetPasswordOidcHint": "Пользователи OIDC сбросили пароли в своем поставщике идентификации", "resetPasswordSharedHint": "У общих учетных записей нет паролей", "resetPasswordOidcHintFull": "Пользователи OIDC сбросили пароли в идентификаторе провайдера.", "resetPasswordSharedHintFull": "У общих учетных записей нет паролей.", + "resetPasswordDisabledHintFull": "Аутентификация пароля отключена конфигурацией сервера.", "deleteUserAction": "Удалить пользователя", "deleteDialogTitle": "Удалить пользователя?", "deleteDialogBody": "Удалить пользователя \"{username}\". Это действие не может быть отменено.", @@ -2901,7 +4828,17 @@ "errors": { "load": "Не удалось загрузить", "deleteUser": "Не удалось удалить пользователя", - "resetPassword": "Не удалось создать ссылку для сброса пароля" + "resetPassword": "Не удалось создать ссылку для сброса пароля", + "unlock": "Не удалось разблокировать аккаунт" + }, + "selfRegistration": { + "title": "Саморегистрация", + "subtitle": "Укажите, могут ли посетители создавать свои собственные учетные записи.", + "label": "Разрешить саморегистрацию", + "hint": "Когда включено, страница входа показывает ссылку на создание учетной записи.", + "enabledNotice": "Новые учетные записи начинаются с доступа к библиотеке по умолчанию ниже и без других разрешений. Дайте разрешения прежде чем они смогут использовать защищенные функции.", + "loadError": "Не удалось загрузить настройки саморегистрации", + "saveError": "Не удалось обновить настройки саморегистрации" }, "defaultLibraryAccess": { "title": "Доступ к библиотеке по умолчанию", @@ -2930,12 +4867,66 @@ }, "pagination": { "label": "Пагинация пользователей", - "page": "Страница {page} из {totalPages}" + "page": "Страница {page} из {totalPages}", + "showing": "Показаны учетные записи {shown} из {total}" }, "editUserAria": "Изменить {name}", "resetPasswordAria": "Сброс пароля для {name}", "deleteUserAria": "Удалить {name}", - "moreActionsAria": "Больше действий для {name}" + "moreActionsAria": "Больше действий для {name}", + "headerSummary": "{count, plural, =0 {Нет аккаунтов} one {# аккаунт} other {# аккаунты} few {# аккаунты} many {# аккаунты}} · {admins} с правами администратора", + "noEmail": "Нет адреса", + "editAccount": "Изменить аккаунт", + "cardMeta": "{access} · {libraries} · {lastActive}", + "accessTier": { + "superuser": "Суперпользователь", + "admin": "Админ", + "standard": "Стандартный", + "custom": "Свой", + "none": "Нет доступа" + }, + "libraries": { + "all": "Все {total}", + "some": "{granted} из {total}" + }, + "statusLocked": "Заблокировано", + "status": { + "never": "Никогда", + "neverSignedIn": "Никогда не вошёл", + "defaultPassword": "Пароль по умолчанию", + "contentFiltered": "Контент отфильтрован", + "unlocksIn": "Открывает {when}" + }, + "attention": { + "title": "Требует внимания", + "count": "{count, plural, one {# аккаунт} other {# аккаунты} few {# аккаунты} many {# аккаунты}}", + "filter": "{count, plural, one {# требует внимания} other {# требует внимания} few {# требует внимания} many {# требует внимания}}", + "more": "Здесь больше не показано {count}", + "reason": { + "locked": "{name} заблокирован после слишком много неудачных входов", + "neverSignedIn": "{name} никогда не входил в систему", + "defaultPassword": "{name} до сих пор использует пароль, с помощью которого была создана учетная запись" + }, + "detail": { + "unlocksIn": "Автоматически разблокирует {when}", + "created": "Создано {when}", + "linkExpired": "Создан {when} · Истек срок действия ссылки", + "linkValid": "Создан {when} · Подключение для входа до {expiry}" + }, + "action": { + "unlock": "Разблокировать", + "sendResetLink": "Отправить ссылку для сброса", + "sendNewLink": "Отправить новую ссылку" + }, + "collapse": "Скрыть", + "expand": "Показать" + }, + "defaults": { + "title": "По умолчанию для новых аккаунтов", + "appliesTo": "Применяется к саморегистрации и OIDC", + "startingLibraries": "Запуск библиотек", + "startingLibrariesHint": "Доступ к просмотру предоставляется автоматически для каждого нового аккаунта." + } } }, "annotations": { @@ -3060,7 +5051,16 @@ "noMatch": "Нет цитат, соответствующих вашим фильтрам.", "resetFilters": "Сбросить фильтры", "trashEmpty": "Корзина пуста", - "noAnnotations": "Аннотаций пока нет. Цитаты, что вы создаете в Интернете или на вашем устройстве появятся здесь." + "noAnnotations": "Аннотаций пока нет. Цитаты, что вы создаете в Интернете или на вашем устройстве появятся здесь.", + "noMatchHint": "Попробуйте более короткую фразу или очистите фильтры цветов и книг.", + "noAnnotationsBody": "Все, что вы отмечаете, в любой книге и на любом устройстве, собирается здесь.", + "readHere": "Читать здесь", + "readHereBody": "Выберите текст в читателе и выберите цвет.", + "syncKobo": "Sync a Kobo", + "syncKoboBody": "Отметки, сделанные на устройстве, поступают при следующей синхронизации.", + "syncKoreader": "Синхронизация KOReader", + "syncKoreaderBody": "Плагин загружает аннотации с их позициями.", + "goToLibrary": "Перейти в библиотеку" }, "toast": { "movedToTrash": "Перемещено в корзину", @@ -3070,11 +5070,70 @@ "bulkTrashed": "{count, plural, =0 {Перемещено никаких заметок в корзину} one {Перемещено # примечания в корзину} few {Перемещено # примечаний в корзину} many {Перемещено # примечаний в корзину} other {Перемещено # примечаний в корзину}}", "bulkRestored": "{count, plural, =0 {Восстановлено не заметок} one {Восстановлено # аннотация} few {Восстановлено # аннотаций} many {Восстановлено # аннотаций} other {Восстановлено # аннотаций}}", "bulkRecolored": "{count, plural, =0 {Переписано не заметок} one {Переписано # аннотация} few {Переписано # аннотации} many {Переписано # аннотации} other {Переписано # аннотации}}", - "bulkRestyled": "{count, plural, =0 {Не написано никаких аннотаций} one {Переставлено # аннотации} few {Переставлено # аннотаций} many {Переставлено # аннотаций} other {Переставлено # аннотаций}}" - } + "bulkRestyled": "{count, plural, =0 {Не написано никаких аннотаций} one {Переставлено # аннотации} few {Переставлено # аннотаций} many {Переставлено # аннотаций} other {Переставлено # аннотаций}}", + "noteSaved": "Примечание сохранено" + }, + "railTitle": "{marks} метки · {books} книги", + "lastTwelveMonths": "Последние 12 месяцев", + "colour": "Цвет", + "whereFrom": "Где они были из", + "theShelf": "Полка", + "devices": "Устройства", + "allBooks": "Все {count} книги", + "behindCount": "{count, plural, one {# позади} other {# позади} few {# позади} many {# позади}}", + "busiestWeek": "Самая пустая неделя", + "longestQuiet": "Самый длинный тихий растяжение", + "mostMarked": "Наиболее отмеченные", + "weekCount": "{count, plural, one {# неделя} other {# недели} few {# недели} many {# недели}}", + "anchorsUnplaced": "{count, plural, one {# якорь не может быть размещен} other {# якоря не могут быть размещены} few {# якоря не могут быть размещены} many {# якоря не могут быть размещены}}", + "reviewThem": "Проверить их", + "anchorLost": "Якорь потерян", + "anchorRepaired": "Восстановлено", + "notes": "Примечания", + "review": "Обзор", + "viewLabel": "Группа и сортировка", + "views": { + "newest": "Сначала новые", + "oldest": "Сначала старые", + "book": "По книге", + "color": "По цвету", + "source": "По источнику" + }, + "matchCount": "{shown} из {total}", + "moreActions": "Другие действия", + "loadMore": "{count, plural, one {Загрузите еще 1} other {Загрузите # больше} few {Загрузите # больше} many {Загрузите # больше}}", + "openBook": "Открыть книгу", + "noteLabel": "Примечание", + "yourNote": "Ваша заметка", + "notePlaceholder": "Скажи почему это имело значение.", + "openAtThisPage": "Открыть на этой странице", + "positionAndSync": "Позиция и синхронизация", + "loadFailed": "Не удалось загрузить ваши подсказки. Повторите попытку через некоторое время.", + "chips": { + "dateBetween": "{from} до {to}", + "dateFrom": "От {from}", + "dateUntil": "До {to}" + }, + "activitySummary": "{count, plural, one {# выделение между {from} и {to}} other {# выделяется между {from} и {to}} few {# выделяется между {from} и {to}} many {# выделяется между {from} и {to}}}", + "book": "Книга", + "needsReview": "Нужна проверка" + }, + "sources": { + "web": "Веб", + "koreader": "KOReader", + "kobo": "Kobo" }, "colors": { - "pink": "Розовый" + "yellow": "Жёлтый", + "green": "Зелёный", + "blue": "Синий", + "pink": "Розовый", + "orange": "Оранжевый", + "red": "Красный", + "olive": "Олив", + "cyan": "Бирюзовый", + "purple": "Фиолетовый", + "gray": "Серый" } }, "audit": { @@ -3168,7 +5227,13 @@ "user": "Пользователь", "action": "Действие", "description": "Описание", - "ip": "IP" + "ip": "IP", + "time": "Время", + "person": "Лицо", + "source": "Источник", + "open": "Открыть", + "network": "Сеть", + "activity": "Активность" }, "categories": { "authentication": "Проверка подлинности", @@ -3178,15 +5243,23 @@ "collections": "Коллекции", "integrations": "Интеграции", "settings": "Настройки", - "other": "Прочие вопросы" + "other": "Прочие вопросы", + "access": "Вход и доступ", + "requests": "Запросы", + "devices": "Устройства и email" }, "resourceLabels": { "User": "Пользователь", "Library": "Библиотека", "Book": "Книга", + "Podcast": "Подкаст", + "PodcastEpisode": "Подкаст", "Collection": "Коллекция", "SmartScope": "Умный охват", "BookDockFile": "Файл док-станции", + "BookRequest": "Запрос книги", + "DownloadClient": "Скачать клиента", + "RequestIndexer": "Индексатор", "Author": "Автор", "AppSettings": "Настройки приложения", "Genre": "Жанр", @@ -3244,6 +5317,18 @@ "LibraryAccessRevoke": "Отозвать доступ к библиотеке", "LibraryWriteMetadataToFiles": "Запись метаданных в файлы", "LibraryBulkRename": "Переименовать файлы библиотеки", + "LibraryRecomputeAddedAt": "Пересчитать дату добавления", + "PodcastCreate": "Создать подкаст", + "PodcastUpdate": "Обновить подкаст", + "PodcastArchive": "Архивировать подкаст", + "PodcastRestore": "Восстановить подкаст", + "PodcastPurge": "Очистка подкаста", + "PodcastMerge": "Объединить подкасты", + "PodcastDownload": "Скачать подкаст эпизод", + "PodcastDownloadRemove": "Удалить загрузку подкаста", + "PodcastRetentionUpdate": "Обновить сохранение подкаста", + "PodcastOpmlImport": "Импорт подкаста OPML", + "PodcastOpmlExport": "Экспорт подкаста OPML", "BookUpload": "Загрузить книгу", "BookMetadataUpdate": "Обновить метаданные книги", "BookMetadataLocksUpdate": "Обновить блокировки метаданных", @@ -3269,6 +5354,24 @@ "SmartScopeUpdate": "Обновить смарт-область", "SmartScopeDelete": "Удалить смарт-область", "BookDockFinalize": "Завершить привязку к книге", + "BookRequestCreate": "Создать запрос на книгу", + "BookRequestApprove": "Одобрить запрос на книгу", + "BookRequestReject": "Отклонить запрос книги", + "BookRequestCancel": "Отменить запрос на книгу", + "BookRequestFulfill": "Запрос на заполнение книг", + "BookRequestGrab": "Отправить запрос на загрузку клиенту", + "BookRequestImport": "Импортировать закачку запроса на книгу", + "BookRequestRemoveDownload": "Удалить запрос на загрузку книги из клиента", + "BookRequestDelete": "Удалить запрос на книгу", + "DownloadClientCreate": "Создать клиента для загрузки", + "DownloadClientUpdate": "Обновить клиент для загрузки", + "DownloadClientDelete": "Удалить скачанный клиент", + "RequestIndexerCreate": "Индексатор добавлен", + "RequestIndexerUpdate": "Индексатор обновлен", + "RequestIndexerDelete": "Источник удален", + "RequestIndexerPluginInspect": "Плагин индексатора проинспектирован", + "RequestIndexerPluginInstall": "Плагин индексирования установлен", + "RequestIndexerPluginRemove": "Плагин индексатора удален", "AuthorUpdate": "Обновить автора", "AuthorDelete": "Удалить автора", "AuthorMerge": "Объединить авторов", @@ -3303,11 +5406,182 @@ "EmailRecipientGroupUpdate": "Обновить группу получателей", "EmailRecipientGroupDelete": "Удалить группу получателей", "EmailRecipientGroupMemberAdd": "Добавить получателя в группу", - "EmailRecipientGroupMemberRemove": "Удалить получателя из группы" - } + "EmailRecipientGroupMemberRemove": "Удалить получателя из группы", + "MaintenanceMissingBooksClean": "Очистить недостающие книги", + "MaintenanceBrokenCoversClean": "Очистка сломанных обложек", + "MaintenanceOrphanedCoversClean": "Осиротевшие папки с обложками" + }, + "views": { + "label": "Показать", + "changes": "Изменения", + "signins": "Вход", + "security": "Безопасность", + "all": "Все" + }, + "search": { + "label": "Поиск событий", + "placeholder": "Поиск людей, целей или IP адресов", + "placeholderShort": "Поиск событий" + }, + "range": { + "label": "Date range: {range}", + "today": "Сегодня", + "7d": "Последние 7 дней", + "30d": "Последние 30 дней", + "all": "Все сохранено", + "custom": "Пользовательский диапазон", + "from": "От", + "to": "Кому", + "between": "{from} до {to}", + "since": "С {date}", + "until": "До {date}", + "sinceOldest": "С {date}" + }, + "filterMenu": { + "button": "Фильтры", + "category": "Категория", + "person": "Лицо", + "findPerson": "Найти человека", + "noPeople": "Нет подходящих людей", + "clear": "Очистить", + "done": "Готово" + }, + "activeFilters": { + "target": "{type}: {name}", + "clearAll": "Очистить все" + }, + "securityGroups": { + "label": "Тип события безопасности", + "all": "Все", + "failed": "Сбой входа", + "accounts": "Аккаунты", + "passwords": "Пароли", + "permissions": "Права доступа", + "access": "Доступ к библиотеке", + "links": "Ссылки на вход" + }, + "day": { + "today": "Сегодня", + "yesterday": "Вчера", + "changes": "{count, plural, one {# изменить} other {# изменить} few {# изменить} many {# изменить}}", + "events": "{count, plural, one {# событие} other {# событий} few {# событий} many {# событий}}" + }, + "person": { + "system": "Система", + "deleted": "Удаленный аккаунт", + "automation": "Автоматизация" + }, + "source": { + "server": "Этот сервер", + "local": "Локальная сеть", + "internet": "Интернет", + "job": "Фоновая работа", + "unknown": "Не записано" + }, + "target": { + "none": "No target", + "more": "+{count}", + "sinceDeleted": "От удаленного", + "withId": "{type} #{id}" + }, + "openEvent": "Открыть подробности: {event}", + "signIns": { + "signIns": "{count, plural, one {# вход в} other {# входов} few {# входов} many {# входов}}", + "signOuts": "{count, plural, one {# Выход из} other {# выходы} few {# выходы} many {# выходы}}", + "failed": "{count, plural, one {# неудачная попытка} other {# неудачных попыток} few {# неудачных попыток} many {# неудачных попыток}}", + "failedAs": "{count, plural, one {# провалился как {names}} other {# провалился как {names}} few {# провалился как {names}} many {# провалился как {names}}}", + "range": "{from} – {to}", + "footer": "{count, plural, one {{events} Вход в события, складные в # ряд по человеку, день и сеть} other {{events} События входа в # ряды по человеку, день и сеть} few {{events} События входа в # ряды по человеку, день и сеть} many {{events} События входа в # ряды по человеку, день и сеть}}" + }, + "pager": { + "label": "Страницы", + "previous": "Предыдущая страница", + "next": "Следующая страница", + "page": "Страница {page}", + "changes": "{from}–{to} из {count, plural, one {# изменить} other {# изменить} few {# изменить} many {# изменить}}", + "events": "{from}–{to} из {count, plural, one {# событие} other {# события} few {# события} many {# события}}" + }, + "drawer": { + "description": "Детали одного события аудита", + "close": "Закрыть", + "subtitle": "{category} · {day}, {time}", + "when": "Когда", + "person": "Лицо", + "source": "Источник", + "target": "Target", + "usernameTried": "Имя пользователя пробовано", + "deletedHere": "{type} · Удалено этим событием", + "deletedSince": "{type} · с момента удаления", + "inThisRow": "{count, plural, one {# событие в этой строке} other {# событий в этой строке} few {# событий в этой строке} many {# событий в этой строке}}", + "around": "Вокруг этого события", + "aroundHint": "{name}, 40 минут с обеих сторон", + "aroundEmpty": "Больше ничего от {name} не осталось за 40 минут.", + "history": "История", + "historyCount": "{count, plural, one {# событие} other {# событий} few {# событий} many {# событий}}", + "historyMeta": "{name} · {date}, {time}", + "thisEvent": "Это событие", + "raw": "Сырье события", + "rawEventId": "ID события", + "rawAction": "Действие", + "rawTarget": "Target type", + "rawNote": "Заметка сервера", + "only": "Только {name}" + }, + "facts": { + "format": "Формат", + "size": "Размер", + "download": "Скачать", + "dockFile": "Файл док-станции", + "rejected": "Отклонено", + "failed": "Неудачный", + "cleaned": "Очищено", + "skipped": "Пропущено", + "remaining": "Осталось", + "sharingLevel": "Общий уровень", + "sharing": { + "private": "Не поделились", + "summary": "Summary", + "detailed": "Детали" + } + }, + "retention": { + "button": "{count, plural, one {Серия на # день} other {Серия на # дней} few {Серия на # дней} many {Серия на # дней}}", + "title": "Сохранить события для", + "days": "{count, plural, one {# день} other {# дней} few {# дней} many {# дней}}", + "hint": "Более старые события удаляются каждую ночь в полночь.", + "hintWithOldest": "Более старые события удаляются каждую ночь в полночь. Самое старое - от {date}.", + "readOnly": "Только люди, которые могут изменить настройки приложения.", + "saved": "{count, plural, one {События аудита теперь хранятся # день.} other {События аудита теперь продолжаются # дней.} few {События аудита теперь продолжаются # дней.} many {События аудита теперь продолжаются # дней.}}", + "saveFailed": "Не удалось изменить количество сохраненных событий." + }, + "export": { + "button": "Экспорт", + "title": "Экспортировать то, что показано", + "hint": "Использует текущий вид, фильтры и диапазон дат.", + "csv": "CSV", + "json": "JSON", + "failed": "Не удалось экспортировать журнал аудита." + }, + "emptyFiltered": "Нет событий, соответствующих этим фильтрам." }, "auth": { "backToSignIn": "Вернуться к входу", + "plate": { + "exLibris": "Ex Libris" + }, + "endpaper": { + "change": "Сменить конечную бумагу", + "options": { + "seigaiha": "Волны", + "shippo": "Связанные круги", + "asanoha": "Лист Кемпа", + "quatrefoil": "Quatrefoil", + "ogee": "Ogee", + "harlequin": "Harlequin", + "greekKey": "Греческий ключ", + "plain": "Простой" + } + }, "themePicker": { "switchToLight": "Включить свет", "switchToDark": "Переключиться на темную", @@ -3325,7 +5599,10 @@ "confirmPassword": "Подтвердите пароль", "confirmNewPassword": "Подтвердите новый пароль", "currentPassword": "Текущий пароль", - "passwordHint": "Мин. 8 символов с заглавными буквами, нижними буквами и цифрами" + "passwordHint": "Мин. 8 символов с заглавными буквами, нижними буквами и цифрами", + "showPassword": "Показать пароль", + "hidePassword": "Скрыть пароль", + "capsLockOn": "Caps Lock включен" }, "errors": { "generic": "Что-то пошло не так. Попробуйте еще раз.", @@ -3337,12 +5614,17 @@ "signingIn": "Вход...", "orDivider": "или", "forgotPassword": "Забыли пароль?", + "resetPasswordAction": "Сброс пароля", "noAccount": "У вас нет учетной записи?", "signUp": "Зарегистрироваться", "registeredNotice": "Учетная запись создана. Войдите, чтобы продолжить. Администратор должен предоставить разрешения для доступа к библиотеке.", + "resetNotice": "Пароль обновлен. Войдите с новым паролем.", "errors": { "invalidCredentials": "Неверное имя пользователя или пароль", - "tooManyAttempts": "Слишком много попыток входа. Пожалуйста, подождите минуту и повторите попытку." + "tooManyAttempts": "Слишком много попыток входа. Пожалуйста, подождите минуту и повторите попытку.", + "passwordDisabled": "Вход с паролем отключен. Используйте одного провайдера входа.", + "optionsUnavailable": "Не удалось загрузить параметры входа. Пожалуйста, обновите страницу или обратитесь к администратору.", + "accountLocked": "Ваш пароль правильный, но эта учетная запись временно заблокирована после слишком большого числа неудачных попыток входа. Попробуйте еще раз через {minutes, plural, one {# минут} other {# минут} few {# минут} many {# минут}}, или сбросьте пароль, чтобы разблокировать его сейчас." } }, "oidc": { @@ -3383,6 +5665,29 @@ "invalidOrExpired": "Неверная или просроченная ссылка сброса. Пожалуйста, запросите новую ссылку." } }, + "register": { + "title": "Создайте свой аккаунт", + "subtitle": "Зарегистрируйтесь, чтобы начать.", + "createAccount": "Создать аккаунт", + "creatingAccount": "Создание учетной записи...", + "haveAccount": "Уже зарегистрированы?", + "signIn": "Войти", + "errors": { + "closed": "Саморегистрация не открыта на этом сервере.", + "taken": "Это имя пользователя или адрес электронной почты уже используется.", + "invalid": "Проверьте введенные данные и повторите попытку.", + "tooManyAttempts": "Слишком много попыток. Пожалуйста, подождите минуту и повторите попытку.", + "failed": "Не удалось создать аккаунт", + "username": { + "unsafeCharacters": "Ваше имя пользователя не может содержать символы скрытого или текстового направления.", + "untrimmed": "Ваше имя пользователя не может начинаться или заканчиваться пробелом." + }, + "name": { + "unsafeCharacters": "Ваше имя не может содержать символы скрытого или текстового направления.", + "untrimmed": "Ваше имя не может начинаться или заканчиваться пробелом." + } + } + }, "setup": { "title": "Начальная настройка", "subtitle": "Создать первую учетную запись администратора.", @@ -3419,7 +5724,15 @@ "deleteAuthor": "Удалить автора" }, "filters": { - "allLibraries": "Все библиотеки" + "allLibraries": "Все библиотеки", + "chips": { + "groupLabel": "Фильтровать авторов", + "all": "Все", + "noPortrait": "Нет портрета", + "multipleBooks": "2+ книг", + "recentlyAdded": "Добавлено за неделю", + "noSortName": "Нет имени сортировки" + } }, "header": { "never": "Никогда", @@ -3436,7 +5749,12 @@ "noBiography": "Нет доступной биографии. Используйте меню для обновления метаданных.", "previewFrom": "Предпросмотр из {provider}. Сохраните метаданные, чтобы их сохранить.", "booksLabel": "Книги", - "lastAdded": "Последнее добавление" + "lastAdded": "Последнее добавление", + "born": "Родился", + "died": "Погиб", + "website": "Сайт", + "genres": "Genres", + "influences": "Влияние" }, "list": { "title": "Авторы", @@ -3472,6 +5790,7 @@ "selectVisible": "Выберите видимый", "refreshMetadata": "Обновить метаданные", "refreshingMetadata": "Обновление метаданных...", + "confirmRefreshCount": "{count, plural, one {Обновить метаданные для # автора?} other {Обновить метаданные для # авторов?} few {Обновить метаданные для # авторов?} many {Обновить метаданные для # авторов?}}", "refreshAction": "Обновить", "deleteSelected": "Удалить выбранные", "deleting": "Удаление...", @@ -3559,12 +5878,36 @@ "imageRemoveFailed": "Не удалось удалить изображение автора", "mergeSuccess": "Объединенные {count} автора(ы); затрагиваемые книги {books}", "mergeFailed": "Не удалось объединить авторов", + "deleteSuccess": "Исключен автор ; затрагиваемые книги {books}", "deleteFailed": "Не удалось удалить автора" } + }, + "portrait": { + "fromTheirBook": "Покрытие одной из их книг; нет портрета в файле" + }, + "index": { + "bookCount": "{count, plural, =0 {нет книг} one {# книга} other {# книги} few {# книги} many {# книги}}", + "rowLabel": "{name}, {count, plural, =0 {Нет книг} one {# книга} other {# книги} few {# книги} many {# книги}}", + "actionsFor": "Действия для {name}", + "refreshing": "Обновление метаданных для {name}", + "deleting": "Удаление {name}" } }, "book": { "untitled": "Без названия", + "placeholder": { + "volume": "Том {number}", + "genre": { + "horror": "Ужас", + "romance": "Романс", + "fantasy": "Fantasy", + "scifi": "Сау-фи", + "mystery": "Мистика", + "classic": "Классика", + "nonfiction": "Нефантастика", + "young": "Молодые читатели" + } + }, "unknownFormat": "неизвестно", "collapsedSeries": { "label": "Серии", @@ -3578,9 +5921,34 @@ "primary": "Первичный", "audiobook": "Аудиобкук" }, + "formats": { + "djvu": "Документ DjVu", + "epub": "EPUB электронная книга", + "kepub": "Электронная книга KEPUB", + "pdf": "PDF документ", + "cbz": "комикс CBZ", + "cbr": "комикс CBR", + "cb7": "комикс CB7", + "mobi": "МОБИ Электронная книга", + "azw3": "Электронная книга AZW3", + "azw": "AZW Электронная книга", + "fb2": "Файловая книга", + "m4b": "M4B аудиокнига", + "mp3": "MP3 аудио", + "m4a": "M4A аудио", + "opus": "Opus аудио", + "ogg": "OGG аудио", + "flac": "Аудио FLAC", + "readAlong": "Чтение по EPUB", + "primary": "Основной формат" + }, "actions": { "read": "Чтение", "listen": "Слушать", + "startReading": "Начать чтение", + "continueReading": "Продолжить чтение", + "startListening": "Начать слушать", + "continueListening": "Продолжить прослушивание", "peek": "Пик", "quickView": "Быстрый просмотр", "details": "Детали", @@ -3594,7 +5962,18 @@ "setStatus": "Установить статус", "sendViaEmail": "Отправить по электронной почте", "rate": "Оценить {star}", - "openAs": "Открыть как {format}" + "openAs": "Открыть как {format}", + "openReadAlong": "Открыть чтение по EPUB" + }, + "refreshMetadata": { + "success": "Метаданные обновлены", + "failed": "Не удалось обновить метаданные" + }, + "coverRegeneration": { + "failed": "Не удалось восстановить обложку", + "bulkInProgress": "Перераспаковка крышек", + "bulkFailed": "Не удалось повторно извлечь обложки", + "bulkCompleted": "Перераспаковано {updated} из {processed, plural, one {# обложка} other {# обложки} few {# обложки} many {# обложки}}" }, "readStatus": { "unread": "Непрочитанные", @@ -3610,7 +5989,20 @@ "action": "Скачать", "audiobookZip": "Аудиобок (ZIP)", "allFormatsZip": "Все форматы (ZIP)", - "primaryOnlyZip": "Только основной (ZIP)" + "primaryOnlyZip": "Только основной (ZIP)", + "preparing": "Подготовка к загрузке...", + "preparingExport": "Подготовка {count, plural, one {# книга} other {# книги} few {# книги} many {# книги}} для загрузки...", + "progressPercent": "Загрузка {percent} из {total}", + "progressBytes": "Загрузка {transferred}", + "failed": "Ошибка загрузки", + "exportFailed": "Не удалось экспортировать", + "audiolessEpub": "KOReader EPUB", + "audiolessEpubHint": "Скачать EPUB для KOReader с удаленными аудио файлами", + "noAudio": "нет аудио", + "textOnlyEpub": "Текстовый EPUB", + "textOnlyEpubHint": "Загрузите бесплатный EPUB с поддержкой чтения якорей.", + "originalNarrated": "Оригинальный EPUB с повествованием", + "originalNarratedEpub": "Оригинальный EPUB с повествованием" }, "sort": { "moveUp": "Вверх", @@ -3618,6 +6010,7 @@ "ascending": "По возрастанию", "descending": "По убыванию", "fields": { + "relevance": "Актуальность", "author": "Автор", "title": "Заголовок", "series": "Серии", @@ -3638,7 +6031,8 @@ "finishedAt": "Дата завершения", "random": "Случайный", "language": "Язык", - "metadataScore": "Оценка метаданных" + "metadataScore": "Оценка метаданных", + "collectionOrder": "Заказ добавлен" }, "customFieldsGroup": "Настраиваемые поля", "customFieldFallback": "Настраиваемое поле", @@ -3666,18 +6060,21 @@ "collection": "Коллекция", "library": "Библиотека", "format": "Формат", + "fileSize": "Основной размер файла", "addedAt": "Дата добавления", "startedAt": "Дата начала", "finishedAt": "Дата завершения", "fileAvailability": "Доступность файлов", "rating": "Рейтинг", "communityRating": "Рейтинг сообщества", + "communityRatingCount": "Количество отзывов сообщества", "readProgress": "Прогресс чтения", "readStatus": "Статус чтения", "description": "Описание", "isbn": "ISBN", "metadataScore": "Оценка метаданных", "cover": "Обложка", + "audioCover": "Покрытие Аудиобка", "lockStatus": "Заблокировать статус", "seriesStatus": "Состояние серии" }, @@ -3708,8 +6105,12 @@ "isFinished": "завершён", "isLocked": "заблокирован", "isUnlocked": "разблокирован", - "isUpNext": "дальше" + "isUpNext": "дальше", + "isTrue": "да", + "isFalse": "нет" }, + "customFieldsGroup": "Настраиваемые поля", + "customFieldFallback": "Настраиваемое поле", "anyProvider": "Любой провайдер", "communityRatingProvider": "Поставщик рейтинга сообщества", "loadingLibraries": "Загрузка библиотек...", @@ -3720,7 +6121,8 @@ "unit": { "days": "дней", "weeks": "недель", - "months": "месяцы" + "months": "месяцы", + "megabytes": "МБ" }, "scorePreset": { "outstanding": "Неоплаченные", @@ -3729,6 +6131,9 @@ "poor": "Плохое" }, "scoreRangePlaceholder": "0-100", + "fileSizePlaceholder": "например, 10", + "fileSizeValueAria": "Основной размер файла в мегабайтах", + "fileSizeMaximumAria": "Максимальный основной размер файла в мегабайтах", "valuePlaceholder": "значение", "maxPlaceholder": "макс", "to": "до", @@ -3871,6 +6276,7 @@ "sort": "Сортировка", "refreshingMetadata": "Обновление метаданных {processed} / {total}", "failedCount": "{count} не удалось", + "remainingCount": "Осталось: {count}", "readOnlyNotice": "Редактирование таблицы отключено на небольших экранах. Переключитесь на список или сетку для более быстрых действий.", "fetching": "Извлечение...", "updated": "Обновлено", @@ -3892,7 +6298,8 @@ }, "header": { "previousBook": "Предыдущая книга", - "nextBook": "Следующая книга" + "nextBook": "Следующая книга", + "backToLibrary": "Вернуться к {library}" }, "tabs": { "details": "Детали", @@ -3972,7 +6379,32 @@ "saving": "Сохранение...", "saveCover": "Сохранить обложку", "revertToOriginal": "Вернуться к оригиналу", - "regenerateCover": "Восстановить обложку" + "regenerateCover": "Восстановить обложку", + "slotsLabel": "Обложка для редактирования", + "slotEbook": "Книга", + "slotAudio": "Аудиобкук", + "slotEbookName": "Обложка книги", + "slotAudioName": "Крышка аудиокнига", + "editingEbook": "Редактирование обложки книги", + "editingAudio": "Изменение обложки аудиокниги", + "lockEbookCover": "Блокировать обложку книги", + "unlockEbookCover": "Разблокировать обложку книги", + "lockAudioCover": "Заблокировать аудиокнигу", + "unlockAudioCover": "Открыть крышку аудиокнига", + "viewLarger": "Увеличить", + "viewLargerEbook": "Просмотр обложки большой книги", + "viewLargerAudio": "Просмотр большой обложки аудиокнига", + "sourceMode": "Источник изображения", + "urlLabel": "URL изображения", + "saveFailed": "Не удалось сохранить обложку", + "revertFailed": "Не удалось вернуть обложку" + }, + "coverLightbox": { + "title": "Просмотр обложки", + "description": "Обложка полного размера. Нажмите Escape для закрытия.", + "switchLabel": "Покрытие для показа", + "ebook": "Книга", + "audio": "Аудиобкук" }, "coverSearch": { "title": "Поиск в сети", @@ -4013,14 +6445,38 @@ "cancelEditAria": "Отменить изменение личного отзыва" }, "editCover": "Изменить обложку", + "viewCover": "Большой обложка", "finished": "Завершено", "resetFileProgress": "Сбросить прогресс файла", + "resetEditionProgress": "Сбросить прогресс {format}", "resetting": "Сброс...", "resetProgressConfirm": "Сбросить сохраненный прогресс чтения {label}?", "moreCount": "+{count} больше", "untitled": "Без названия", "metadataScore": "Оценка метаданных", "primaryFormat": "Основной формат", + "readAloudSync": { + "title": "Синхронизация в режиме чтения", + "state": { + "enabled": "Включено", + "disabled": "Отключено", + "unavailable": "Unavailable", + "epubCopiesOnly": "Только копии EPUB" + }, + "enabledDescription": "Audiobook, web reader, Kobo, and KOReader позиции остаются в синхронизации.", + "disabledDescription": "Каждый формат сохраняет свою позицию для чтения.", + "epubCopiesDescription": "Все позиции KOReader синхронизируются между EPUB копиями. Добавляйте соответствующие аудио-файлы для синхронизации аудиокниги.", + "reason": { + "no_media_overlay_epub": "Требуется чтение по EPUB с накладываемыми медиа изображениями.", + "no_audio_files": "Необходимы соответсвующие автономно-аудио-файлы.", + "missing_duration": "Аудио длительность метаданных не полна.", + "durationMismatch": "Длительность не совпадает достаточно часто: аудиокнига {audio}, чтение EPUB {overlay}." + }, + "enable": "Включить", + "disable": "Отключено", + "saving": "Сохранение...", + "saveFailed": "Не удалось обновить синхронизацию с данными read-aloud" + }, "openIn": "Открыть в {provider}", "showLess": "Меньше", "showMore": "Показать еще", @@ -4036,6 +6492,8 @@ "fileSize": "Размер файла", "library": "Библиотека", "added": "Добавлено", + "cancelDateAddedEdit": "Отменить изменение даты добавления", + "editDateAdded": "Редактировать дату добавления", "dateStarted": "Дата начала", "saving": "Сохранение...", "cancelDateStartedEdit": "Отменить начало редактирования даты", @@ -4047,9 +6505,13 @@ "synopsis": "Краткое описание", "noDescription": "Описание недоступно.", "dateStartedFutureError": "Дата начала не может быть в будущем.", + "dateAddedRequiredError": "Требуется дата добавления.", + "dateAddedFutureError": "Дата добавления не может быть в будущем.", "dateFinishedFutureError": "Дата завершения не может быть в будущем.", "dateFinishedBeforeStartedError": "Дата окончания должна быть введена или после начала.", + "dateFinishedBeforeStartedErrorWithDate": "Дата окончания должна быть установлена или после даты начала ({date}).", "saveReadingDatesError": "Не удалось сохранить даты чтения.", + "saveAddedDateError": "Не удалось сохранить дату добавления.", "koboPendingDelete": "Ожидание удаления с устройства", "koboPendingDeleteTooltip": "Kobo удалит его при следующей синхронизации.", "koboRemovedByDevice": "Удалено устройством", @@ -4057,7 +6519,37 @@ "koboNotSynced": "Не синхронизировано", "koboNotSyncedTooltip": "Очередь для следующей синхронизации Kobo.", "filesNotFound": "Файлы не найдены", - "filesNotFoundDescription": "Файл(ы) для этой книги больше не могут быть найдены на диске. Метаданные все еще доступны. Запустите сканирование библиотеки для подтверждения или удаления записи." + "filesNotFoundDescription": "Файл(ы) для этой книги больше не могут быть найдены на диске. Метаданные все еще доступны. Запустите сканирование библиотеки для подтверждения или удаления записи.", + "resetHoldNotice": "У {device} все еще старая позиция ({percent})", + "resetHoldRelease": "Использовать положение этого устройства", + "resetHoldReleasing": "Выпуск...", + "resetHoldReleaseFailed": "Не удалось использовать эту позицию. Попробуйте еще раз.", + "editions": "Редакции", + "editionsSummary": "{count} · {size}", + "moreFormats": "+{count} больше", + "filesOnDisk": "Файлы на диске", + "yourReading": "Ваше чтение", + "lastRead": "последнее чтение {when}", + "notStarted": "не запущено", + "noSessionsYet": "Пока нет сеансов чтения. Открывая эту книгу в режиме чтения, вы отслеживаете время, темп и ход на устройство.", + "activitySessions": "Сессии", + "activityTime": "Время", + "activityAverage": "Средний", + "activityProgress": "Прогресс", + "activityDayTooltip": "{day}: {minutes} мин", + "activityReached": "Достигнуто {percent}", + "durationS": "{seconds}сек", + "durationM": "{minutes}м", + "durationHm": "{hours} ч {minutes} мин", + "yourReview": "Ваш отзыв", + "reviewNotWritten": "Ещё не написано", + "writeReview": "Написать", + "collections": "Коллекции", + "noCollections": "Нет", + "onDisk": "На диске", + "detailsHeading": "Детали", + "percentUnderOne": "<1%", + "percentOverNinetyNine": ">99%" }, "editMetadata": { "fieldCount": "{count, plural, =0 {нет полей} one {одно поле} few {# полей} many {# полей} other {# полей}}", @@ -4085,6 +6577,8 @@ "savedButWriteFailed": "Метаданные сохранены, но запись файла не удалась", "savedWriteSkippedReason": "Метаданные сохранены, запись файла пропущена: {reason}", "savedWriteSkipped": "Метаданные сохранены, запись файла пропущена", + "saveFailed": "Не удалось сохранить изменения", + "saveFailedWithStatus": "Не удалось сохранить изменения (HTTP {status})", "loadFromFileFailed": "Не удалось загрузить метаданные из файла", "loadedFieldsFromFile": "{count, plural, =0 {Не загружено полей из файла} one {Загружено одно поле из файла} few {Загружено # полей из файла} many {Загружено # полей из файла} other {Загружено # полей из файла}}", "noMetadataInFile": "Метаданные в файле не найдены", @@ -4092,7 +6586,9 @@ "loadFromFileTooltip": "Загрузить метаданные из основного файла книги", "writeToFile": "Записать в файл", "autoFill": "Автозаполнение", + "autoFillFailed": "Автозаполнение не удалось", "fetchingMetadata": "Получение метаданных...", + "noExistingProviderIds": "Не получены метаданные: ни один из активных поставщиков правил не имеет ID хранимых в этой книге.", "allFieldsLocked": "Все поля заблокированы", "autoFillTooltip": "Автозаполнение полей используя ваши настройки метаданных", "lockAll": "Заблокировать все", @@ -4160,9 +6656,19 @@ "hideUnchanged": "Скрыть без изменений", "showUnchanged": "Показать без изменений", "current": "Текущее", + "new": "Новый", "noMetadata": "Метаданные из этого источника не доступны.", "noChangedFields": "Никаких измененных или отсутствующих полей. Используйте Показать без изменений, чтобы проверить все.", - "applyToForm": "Применить к форме" + "applyToForm": "Применить к форме", + "secondCover": { + "audioResults": "Аудиобокр содержит результаты", + "bookResults": "Результаты обложки книги", + "showCover": "Показать обложку {provider} , {index} из {total}", + "searchingAudio": "Поиск редактирования...", + "searchingBook": "Поиск изданий книги...", + "noAudio": "Обложки аудиокниги не найдены.", + "noBook": "Обложки книг не найдены." + } }, "diff": { "locked": "Заблокировано", @@ -4171,21 +6677,79 @@ "newCoverAlt": "Новая обложка", "pickCoverFromProvider": "Выберите обложку от другого провайдера", "pickCoverSource": "Выберите источник обложки", + "coverShapeHint": { + "portraitForAudio": "Портретное изображение. Крышки Audiobook являются квадратом.", + "squareForBook": "Квадратное изображение. Обложки книги являются портретными." + }, "pickFromProvider": "Выберите другого провайдера", "pickSource": "Выбрать источник", + "useNew": "Использовать новую {field}", + "keepCurrent": "Оставить текущий {field}", + "genreWriteMode": { + "label": "Как применить жанры", + "merge": "Объединить", + "replace": "Заменить" + }, "empty": "пустой", "showLess": "Меньше", "showMore": "Показать еще", "coverPreviewAlt": "Просмотр обложки", "fields": { - "authors": "Авторы" + "coverUrl": "Обложка", + "bookCover": "Обложка книги", + "audioCover": "Крышка аудиокнига", + "title": "Заголовок", + "subtitle": "Субтитры", + "authors": "Авторы", + "description": "Описание", + "publisher": "Издатель", + "publishedDate": "Опубликовано", + "language": "Язык", + "pageCount": "Счетчик страниц", + "communityRating": "Рейтинг сообщества", + "seriesName": "Серии", + "seriesIndex": "Индекс серии", + "isbn13": "ISBN-13", + "isbn10": "ISBN-10", + "genres": "Genres", + "narrators": "Нарраторы", + "durationSeconds": "Длительность (секунды)", + "abridged": "Сокращено", + "hardcoverEditionId": "ID редактирования Хардковки", + "comicIssueNumber": "Номер выпуска", + "comicVolumeName": "Объем", + "comicPencillers": "Pencillers", + "comicInkers": "Инкеров", + "comicColorists": "Цвета", + "comicLetterers": "Букеты", + "comicCoverArtists": "Исполнители обложки", + "comicCharacters": "Символы", + "comicTeams": "Команды", + "comicLocations": "Места", + "comicStoryArcs": "Story arcs", + "sourceUrl": "Исходный URL" }, "providerIds": { - "hardcover": "Hardcover ID" + "google": "Идентификатор книг Google", + "goodreads": "Товары ID", + "amazon": "Amazon ID", + "hardcover": "Hardcover ID", + "openLibrary": "ID библиотеки", + "itunes": "ID iTunes", + "audible": "ID звука", + "librofm": "Libro.fm ISBN", + "comicvine": "ID ComicVine", + "ranobedb": "RanobeDB ID", + "kobo": "Kobo ID", + "lubimyczytac": "LubimyCzytac ID", + "aladin": "ID Aladin" } }, "searchDrawer": { "searchTitle": "Поиск метаданных", + "autoSearchOnOpen": "Искать автоматически при открытии", + "autoSearchOnOpenHint": "Использует детали книги при следующем открытии этой панели. Запоминается для вашей учетной записи в этом браузере.", + "searchOptions": "Параметры поиска", "compareTitle": "Сравнить метаданные", "searchSubtitle": "Найти лучшего поставщика для этой книги.", "compareSubtitle": "Просмотрите различия и примените только то, что вы хотите." @@ -4207,23 +6771,255 @@ "notInFieldRulesText": "{providers}. Включено в ручной поиск со всеми включенными, но не используется автоматическим извлечением метаданных.", "noResults": "Ничего не найдено", "noResultsHint": "Попробуйте изменить заголовок или автора", + "searchInterrupted": "Поиск не завершился", + "searchIncomplete": "Некоторые результаты могут отсутствовать", + "providerTimedOut": "{provider} занял слишком много времени для ответа.", + "providerThrottled": "{provider} превысил лимит. Подождите минуту и повторите попытку.", + "providerFailed": "{provider} не может быть достигнут.", + "searchInterruptedHint": "Попробуйте еще раз или сузить область поиска.", "searchPrompt": "Поиск выше, затем нажмите на результат, чтобы начать сравнение метаданных." }, "match": { + "sheetDescription": "Поиск провайдеров метаданных и выбор копирования в эту книгу.", + "mediumAudiobook": "Аудиобкук", + "mediumEbook": "Эбук", "query": { - "author": "Автор" + "label": "Поиск метаданных", + "title": "Заголовок", + "author": "Автор", + "isbn": "ISBN", + "edited": "Запрос отредактирован", + "useBookDetails": "Использовать детали книги" + }, + "sources": { + "heading": "Источники", + "allEnabledHint": "{count, plural, one {# источник. Лучше всего для ручного поиска.} other {# источников. Лучше всего для ручного поиска.} few {# источников. Лучше всего для ручного поиска.} many {# источников. Лучше всего для ручного поиска.}}", + "fieldRulesHint": "{count, plural, one {# исходный файл, один из них используется автоматически.} other {# исходников, которые используются автоматически.} few {# исходников, которые используются автоматически.} many {# исходников, которые используются автоматически.}}", + "outsideRules": "{providers} {count, plural, one {включен, но не в правилах полей, поэтому автоматическая выборка пропускает его.} other {включены, но не в правилах поля, поэтому автоматическая загрузка пропускает их.} few {включены, но не в правилах поля, поэтому автоматическая загрузка пропускает их.} many {включены, но не в правилах поля, поэтому автоматическая загрузка пропускает их.}}", + "manualOnly": "{providers}: только ручной поиск, не используется автоматическим извлечением.", + "count": "{provider}: {count, plural, =0 {Нет результатов} one {# результат} other {# результат} few {# результат} many {# результат}}", + "searching": "{provider}: поиск", + "stopped": "{provider}: остановлен до завершения" + }, + "results": { + "label": "Совпадения", + "best": "Лучшие матчи", + "otherEditions": "Другие редакции", + "otherBooks": "Вероятно разные книги", + "stillSearching": "Искать все еще", + "linked": "Связанные", + "linkedHint": "Эта запись уже связана с книгой", + "isbn": "ISBN совпадение", + "fills": "+{count} пуст", + "fillsHint": "{count, plural, one {Заполняет # пустое поле} other {Заполняет # пустых полей} few {Заполняет # пустых полей} many {Заполняет # пустых полей}}", + "differ": "{count} отличается", + "differHint": "{count, plural, one {# поле отличается от книги} other {# поля отличаются от книги} few {# поля отличаются от книги} many {# поля отличаются от книги}}", + "inSync": "Синхронизация", + "inSyncHint": "Ничего здесь не изменит книгу", + "differentAuthor": "Разный автор", + "titleDiffers": "Название отличается", + "sparse": "Разрезать", + "sparseHint": "{count, plural, one {Заполнено только # поляconstruction@@} other {Заполнено только # полей} few {Заполнено только # полей} many {Заполнено только # полей}}", + "staged": "{count, plural, one {# изменение этапов с этого результата} other {# изменения отделаны из этого результата} few {# изменения отделаны из этого результата} many {# изменения отделаны из этого результата}}", + "noMatches": "Нет совпадений для этого запроса", + "noMatchesHint": "{count, plural, one {Источник ничего не вернул.} few {# источника ничего не вернули.} many {# источников ничего не вернули.} other {# источника ничего не вернули.}} Расширьте условия поиска и повторите попытку.", + "searchTitleOnly": "Поиск только по названию", + "prompt": "Введите название или ISBN для поиска.", + "mayBeMissing": "Могут отсутствовать результаты из него.", + "retry": "Повторите попытку {provider}", + "pages": "{count, plural, one {# страница} other {# страницы} few {# страницы} many {# страницы}}", + "fetched": "Извлечено" + }, + "tier": { + "strong": "Сильный матч", + "possible": "Возможное совпадение", + "weak": "Невероятный матч" + }, + "compare": { + "label": "Сравнить", + "backToMatches": "Вернуться к матчам", + "previous": "Предыдущий результат", + "next": "Следующий результат", + "position": "{index} из {total}", + "viewOn": "Посмотреть на {provider}", + "linkedToBook": "Связан с этой книгой", + "sameTitleAuthor": "Та же заголовок и автор", + "streaming": "Отображение лучшего матча до сих пор. До сих пор ждет {providers}.", + "rows": "Строки", + "differences": "Разница", + "allFields": "Все поля", + "fillEmpty": "{count, plural, =0 {Нет пустых полей} one {Заполните # пустыми} other {Заполните # пустым} few {Заполните # пустым} many {Заполните # пустым}}", + "takeAll": "{count, plural, =0 {Нечего использовать} one {Используйте #} other {Используйте все #} few {Используйте все #} many {Используйте все #}}", + "more": "Другие действия", + "clearAll": "Очистить все отметки", + "clearAllHint": "Вернуться к текущим значениям книги.", + "field": "Поле", + "pickTitle": "Выберите совпадение для сравнения", + "pickHint": "Выберите результат. Его поля строятся по отношению к книге, так что вы можете сохранить или заменить каждый из них.", + "noneTitle": "Нечего сравнивать", + "noneHint": "Когда поисковый поиск совпадает, лучший из них открывается здесь рядом с сегодняшней версией {title}.", + "allMatch": "Каждое поле соответствует книге. Переключитесь на все поля, чтобы увидеть их.", + "toReview": "{count, plural, =0 {Нет ничего, чтобы просмотреть} one {# чтобы просмотреть} other {# чтобы просмотреть} few {# чтобы просмотреть} many {# чтобы просмотреть}}", + "stagedInSection": "{count} поставлен" + }, + "sections": { + "identity": "Личность", + "description": "Описание", + "publication": "Публикация", + "series": "Серии", + "genres": "Genres", + "comics": "Комиксные кредиты", + "identifiers": "Идентификаторы", + "ratings": "Рейтинг сообщества" + }, + "kind": { + "fill": "Заполняет пустым", + "change": "Различия", + "same": "То же", + "missing": "Не предоставлено" + }, + "minor": { + "reordered": "Переупорядочено", + "formatting": "Только форматирование", + "punctuation": "Знак пунктуации", + "capitalization": "Капитализация", + "yearOnly": "Только год", + "addsDay": "Добавляет день", + "languageCode": "Тот же язык", + "ratingCount": "Только подсчет" + }, + "decision": { + "keep": "Оставить", + "use": "Использовано", + "merge": "Объединить", + "replace": "Заменить", + "alreadyMatches": "Уже совпадает", + "nothingToApply": "Нечего применять", + "lockedHint": "Разблокируйте его в редакторе, чтобы изменить его.", + "usingFrom": "Использование значения из", + "switchTo": "Переключиться на {provider}" + }, + "value": { + "empty": "Пусто", + "notProvided": "Не предоставлено", + "showAll": "Показать все {count} слова", + "otherValues": "{count, plural, one {# другое значение} other {# другие значения} few {# другие значения} many {# другие значения}}", + "otherValuesHeading": "{field} от других результатов", + "otherValuesHint": "Выберите один этап для этого поля", + "sameAsCurrent": "То же, что и текущее", + "useThis": "Использовать это", + "using": "Использование" + }, + "providerRating": "Рейтинг {provider}", + "cover": { + "slotAudio": "Слот аудиобука, квадрат", + "slotBook": "Книжный слот, портретный", + "current": "Текущее", + "staged": "Размещено", + "size": "{width} × {height}", + "fits": "По размеру ячейки", + "portraitInSquare": "Портрет: буква", + "squareInPortrait": "Квадрат: буквенный ящик", + "broken": "Внешний вид сломан", + "unknown": "Форма неизвестна", + "fitShort": "Корректировка", + "portraitShort": "Портрет", + "squareShort": "Квадрат", + "brokenShort": "Сломано", + "noCover": "В результате нет обложки", + "noCurrent": "Пока нет обложки", + "strip": "Обложки из результатов поиска", + "stripMeta": "{count, plural, one {# обложка} other {# обложки} few {# обложки} many {# обложки}}, подходящие сначала", + "choose": "Выберите обложку", + "preview": "Просмотр обложек на весь экран", + "previewTitle": "Обложки бок о бок", + "previewDescription": "Нынешняя обложка рядом с той, которая заменит ее.", + "choice": "{provider} обложка", + "choiceSized": "{provider} покрытие, {width} от {height}", + "using": "Использование" + }, + "footer": { + "changes": "{count, plural, one {# изменить} other {# изменить} few {# изменить} many {# изменить}}", + "from": "от", + "nothingStaged": "Ничего не оговорено. Выберите «Использовать на поле» или обложку.", + "nothingStagedShort": "Ничего не поставлено", + "formHint": "Заполняет форму редактирования. Сохраните ее, чтобы сохранить.", + "fileHint": "Сохраняет метаданные этого файла.", + "apply": "{count, plural, =0 {Заявка} one {Заявка # изменить} other {Заявка # изменений} few {Заявка # изменений} many {Заявка # изменений}}", + "stagedHeading": "Размещено для формы", + "clearAll": "Очистить все", + "undo": "Отменить {field}", + "merged": "слит", + "live": "{count, plural, =0 {Нет изменений} one {# изменил этап} other {# изменил изменения} few {# изменил изменения} many {# изменил изменения}}" + }, + "keyboard": { + "title": "Горячие клавиши", + "results": "Предыдущий или следующий результат", + "fields": "Перемещение между полями", + "toggle": "Оставить или использовать поле", + "search": "Редактировать поиск", + "close": "Закрыть меню" } }, "writeAndRename": "Записать в файл и переименовать", - "writeAndRenameShort": "Запись и переименование" + "writeAndRenameShort": "Запись и переименование", + "identityCard": "Личность", + "catalogCard": "Каталог", + "sourceCard": "Источник", + "score": "Счет", + "scoreTooltip": "Оценка метаданных {score} из 100", + "emptyFields": "{count, plural, one {пустое поле} other {пустые поля} few {пустые поля} many {пустые поля}}", + "emptyFieldsCount": "{count, plural, one {# пустое поле} other {# пустые поля} few {# пустые поля} many {# пустые поля}}", + "emptyFieldsHeading": "Пустые поля метаданных", + "emptyFieldsTooltip": "Еще не заполнено: {fields}. Найдите в сети, чтобы их искать.", + "libraryRow": "Библиотека", + "primaryRow": "Первичный", + "writeBackRow": "Возврат назад", + "writeBackOff": "Выкл", + "lastWrittenRow": "Последнее написанное", + "neverWritten": "Никогда", + "fileCount": "{count, plural, =0 {нет файлов} one {один файл} other {# файлов} few {# файлов} many {# файлов}}", + "unknownFormat": "Неизвестен" }, "files": { "title": "Книжные файлы", + "stats": { + "files": "Файлы", + "total": "Итого", + "runtime": "Рунтайм", + "formats": "Форматы" + }, + "filesHeading": "Файлы", + "allPresent": "Все присутствуют", + "groupedByReader": "отсортировано по читателю", + "thisFile": "Этот файл", + "writeBackShort": "Возврат назад", + "fieldsSet": "{filled} / {total} набор", + "writtenSummary": "{fields} и {count, plural, one {# больше полей} other {# больше полей} few {# больше полей} many {# больше полей}} записываются в {format}.", + "writtenSummaryAll": "{fields} записан в {format}.", + "writtenNothing": "Ни одно из полей для записи {total} не имеет значения.", + "writeBackOff": "Списание на эту книгу отключено.", + "editMetadata": "Редактировать метаданные", + "showAllTracks": "Показать все", + "collapseTracks": "Свернуть", + "moreTracks": "{count, plural, one {# больше треков} other {# больше треков} few {# больше треков} many {# больше треков}}", + "tracksRolled": "{count, plural, one {# трек} other {# треков} few {# треков} many {# треков}}", + "fileDetails": "Детали файла", + "openDetails": "Открыть детали файла", + "closeDetails": "Закрыть детали файла", + "trackFrom": "Трек {track} из {total}, от {time}", + "throughCopy": "Вы {percent} через эту копию", "fileCount": "{count, plural, =0 {нет файлов} one {# файл} few {# файлов} many {# файлов} other {# файлов}}", "synced": "Синхронизировано {time}", "sortAria": "Сортировать файлы", "syncHistory": "История синхронизации", "metadataWriteBack": "Записать метаданные обратно", + "relative": { + "seconds": "{value} с назад", + "minutes": "{value} мин назад", + "hours": "{value} ч назад", + "days": "{value} дн назад" + }, "renameFailed": "Не удалось переименовать файл", "deleteFailed": "Не удалось удалить файл", "addFile": "Добавить файл", @@ -4263,7 +7059,99 @@ "title": "Удалить файл?", "description": "Вы уверены, что хотите удалить \"{filename}? Это действие не может быть отменено." }, - "deleting": "Удаление..." + "deleting": "Удаление...", + "folderAria": "Расположение папки", + "folderContents": "Содержимое папки", + "inspectorAria": "Выбранный файл", + "libraryRoot": "корень библиотеки", + "onDisk": "На диске", + "missing": "Отсутствует", + "backToFolder": "Назад к папке", + "copyPath": "Копировать полный путь", + "pathCopied": "Путь скопирован в буфер обмена", + "resume": "Возобновить", + "audiobook": "Аудиобкук", + "writeTarget": "Write target", + "notWritten": { + "formatNotSupported": "Не записано: неподдерживаемый формат", + "formatDisabled": "Не записано: формат отключен", + "fileExceedsSizeLimit": "Не записано: превышение размера", + "notContentFile": "Не записано: не содержимое книги" + }, + "enabled": "Включено", + "disabled": "Выкл", + "notSet": "не задано", + "sortAdded": "Добавлено", + "formatCount": "{count, plural, one {# формат} other {# форматов} few {# форматов} many {# форматов}}", + "trackCount": "{count, plural, one {# трек} other {# треков} few {# треков} many {# треков}}", + "formatsInFolder": "{count, plural, one {# формат здесь} other {# форматов здесь} few {# форматов здесь} many {# форматов здесь}}", + "compositionAria": "Поделиться размером папки по формату", + "percentRead": "Прочитано {percent}", + "trackOf": "Трек {track} из {total}", + "groups": { + "ebook": "Эбук", + "document": "Документ", + "comic": "Комикс", + "audio": "Аудио", + "extras": "Extras" + }, + "roles": { + "primary": "Первичный", + "content": "Альтернативный", + "supplement": "Дополнение", + "cover": "Обложка" + }, + "reader": { + "none": "Нет читателя", + "ebook": "Ebook reader", + "document": "PDF читатель", + "comic": "Чтение комиксов", + "audio": "Аудиоплеер" + }, + "spec": { + "format": "Формат", + "role": "Роль", + "size": "Размер", + "length": "Длина", + "added": "Добавлено", + "indexed": "Индекс", + "opensIn": "Открывается через", + "writeBack": "Возврат назад", + "track": "Трек", + "targetFile": "Целевой файл", + "notWritten": "Не записано" + }, + "duration": { + "hoursMinutes": "{hours} ч {minutes} мин", + "minutes": "{minutes}м", + "minutesSeconds": "{minutes}m {seconds}с", + "seconds": "{seconds}сек" + }, + "positionHeading": "Ваша позиция в этой копии", + "copiesStarted": "Началось {started} копий {total}", + "nothingStarted": "Пока ничего не начато", + "throughFile": "{percent} через этот файл", + "notOpened": "Еще не открыто", + "lastRead": "Последнее чтение {time}", + "noPosition": "Нет позиции для чтения", + "trackPositionHeading": "Где сидит этот трек", + "totalRuntime": "Общая длительность: {duration}", + "startsAt": "Начинается {time}", + "trackLength": "Длинно {duration}", + "switchFileHeading": "Переключить файл", + "writeBackHeading": "Запись в этот файл", + "fieldsWithValue": "{filled} из {total} полей имеют значение", + "lastRun": "Последний запуск {time}", + "neverRun": "Никогда не запускать", + "historyHeading": "История", + "timeline": { + "written": "Метаданные записаны в {format}", + "writtenMany": "Метаданные записаны {format} ×{count}", + "writeDetail": "{count, plural, one {# поле} other {# полей} few {# полей} many {# полей}} · {ms}мс · {trigger}", + "failed": "Запись не удалась", + "indexed": "{name} индексировано", + "indexedMany": "{count} {format} индексированных файлов" + } }, "highlights": { "note": { @@ -4297,9 +7185,247 @@ "hint": "Выберите текст во время чтения, чтобы сохранить цитату" }, "uncategorized": "Без категории", - "paginationUnit": "цитаты" + "paginationUnit": "цитаты", + "rail": { + "title": "Marks", + "unit": "{count, plural, one {выделите} other {подчеркивает} few {подчеркивает} many {подчеркивает}}", + "withNotes": "нести заметку", + "chaptersMarked": "главы помечены", + "ofChaptersMarked": "разделы {total} отмечены", + "colour": "Цвет", + "showOnly": "Показать только {colour}", + "source": "Где они были из", + "health": "Здоровье", + "needsAttention": "{count, plural, one {# требует внимания} other {# требует внимания} few {# требует внимания} many {# требует внимания}}", + "anchorLost": "{count, plural, one {один потерял якорь после смены файла} other {# потерял якорь, когда файл сменился} few {# потерял якорь, когда файл сменился} many {# потерял якорь, когда файл сменился}}", + "reAnchored": "{count, plural, one {один из них был автоматически закреплен за} other {# был автоматически перезакреплен} few {# был автоматически перезакреплен} many {# был автоматически перезакреплен}}", + "reviewPositions": "Обзор позиций", + "span": "Расстояние", + "firstMark": "Первая отметка", + "lastMark": "Последняя метка", + "markingDays": "Дни маркера", + "exportCount": "Экспорт {count}" + }, + "row": { + "select": "Выберите эту подборку", + "showMore": "Показать еще", + "showLess": "Меньше", + "note": "Примечание", + "addNote": "Добавить заметку", + "page": "p.{page}", + "anchorLost": "Якорь потерян", + "reAnchored": "Перезакреплено" + }, + "stream": { + "title": "Поток", + "searchPlaceholder": "Поиск {count} выделений и заметок", + "all": "Все", + "notes": "Примечания", + "review": "Обзор", + "density": "Переключение между удобными и компактными строками", + "matchCount": "{shown} из {total} матча", + "textChip": "текст “{query}”", + "marks": "{count, plural, one {# помечать} other {# мечать} few {# мечать} many {# мечать}}", + "loadingMore": "Загрузка еще" + }, + "bulk": { + "selected": "{count} выбран", + "selectAll": "Выбрать все {count}", + "recolour": "Перекрасить выделение", + "recolourTo": "Перекрасить до {colour}", + "clear": "Очистить выделение" + }, + "index": { + "title": "Индекс", + "groupBy": "Группировать поток по", + "byChapter": "Главы", + "byColour": "Цвета", + "byDay": "Дней" + }, + "activity": { + "title": "Действие по маркировке", + "days": "{count, plural, one {# день} other {# дней} few {# дней} many {# дней}}", + "showAll": "Показать все {count} дней", + "showFewer": "Показать меньше" + }, + "inspector": { + "title": "Выделить детали", + "back": "Назад к индексу", + "counter": "Отметить {position} из {total}", + "previous": "Предыдущая отметка", + "next": "Следующая отметка", + "notePrompt": "Почему это имело значение? Примечания доступны для поиска и путешествия с экспортом.", + "style": "Стиль", + "position": "Позиция и синхронизация", + "openHere": "Открыть здесь" + }, + "band": { + "title": "Где отметки", + "subtitle": "все отмеченные главы в порядке чтения раскрашены как отмеченные", + "barTitle": "{chapter}, {count} marks", + "start": "Начать", + "densest": "Плотонест", + "marks": "{count, plural, one {# помечать} other {# мечать} few {# мечать} many {# мечать}}", + "longestGap": "Длинный пробег без метки", + "chapters": "{count, plural, one {# глава} other {# главы} few {# главы} many {# главы}}", + "end": "Конец" + }, + "emptyStage": { + "title": "В {title} пока нет выделений", + "body": "Выделения приходят из трех мест, и эта страница собирает все в один позвоночник.", + "openReader": "Открыть читатель", + "web": { + "title": "Читать здесь", + "body": "Выделите текст во встроенном окне и выберите цвет." + }, + "kobo": { + "title": "Sync a Kobo", + "body": "Отметины, сделанные на устройстве, встречаются при следующей синхронизации." + }, + "koreader": { + "title": "Синхронизация KOReader", + "body": "Плагин загружает аннотации с их точными позициями." + } + }, + "shortcuts": { + "title": "Keyboard", + "description": "Горячие клавиши для списка подсвечиваний.", + "move": "Следующая / предыдущая отметка", + "open": "Открыть инспектора", + "back": "Назад к индексу", + "search": "Искать", + "note": "Написать заметку", + "recolour": "Перекрасить", + "select": "Выбрать эту метку", + "regroup": "Перегруппировать поток", + "copy": "Скопировать цитату", + "reader": "Открыть в читателе" + }, + "railTitle": "{marks} метки · {chapters} главы", + "whenMarked": "Когда они были отмечены", + "chapters": "Главы", + "noChapter": "Нет главы", + "views": { + "position": "В порядке чтения", + "newest": "Сначала новые", + "oldest": "Сначала старые", + "colour": "По цвету", + "source": "По источнику" + } }, "readingLog": { + "resetReadingState": "Сбросить состояние чтения", + "vitals": { + "aria": "Чтение сводки", + "notSet": "Не задано", + "started": "Начато", + "finished": "Завершено", + "editStarted": "Редактировать дату, когда вы начали эту книгу", + "editFinished": "Редактировать дату окончания этой книги", + "totalTime": "Общее время", + "sessions": "Сессии", + "avgSession": "Средняя сессия", + "activeDays": "Активные дни", + "activeDaysOf": "{active} из {total}", + "pace": "Стать", + "pacePerHour": "{percent}%/ч", + "lastRead": "Последнее чтение", + "whereYouRead": "Где вы его прочитали", + "addSession": "Добавить сессию", + "durationHm": "{hours} ч {minutes} мин", + "durationM": "{minutes}м", + "durationS": "{seconds}сек" + }, + "ledger": { + "title": "Сессии", + "none": "нет", + "colDay": "День", + "colTime": "Время", + "colLength": "Длина", + "colChange": "Изменить", + "colPosition": "Положение в книге", + "colReached": "Достигнуто", + "colSource": "Источник", + "colFormat": "Формат", + "gapDays": "{count, plural, one {# день без чтения} other {# дней без чтения} few {# дней без чтения} many {# дней без чтения}}", + "attemptBegan": "Начата попытка {index}", + "attemptOutsideAny": "За пределами любой попытки", + "empty": "Сессий пока нет", + "emptyHint": "Откройте книгу в считывателе, синхронизируйте устройство или добавляйте сеанс вручную." + }, + "attempts": { + "title": "Попытки", + "none": "нет", + "ordinal": "Попытка {index}", + "addPast": "Добавить прошлую попытку", + "reread": "Перечитать", + "rereadPrompt": "Начать новую попытку чтения?", + "rereadResetProgress": "Сброс позиции чтения в начало. Синхронизированные устройства могут получить этот сброс.", + "rereadConfirm": "Начать перечтение", + "fieldStarted": "Начато", + "fieldEnded": "Завершено", + "fieldOutcome": "Результат", + "outcome": { + "completed": "Выполнено", + "skimmed": "Скимс", + "abandoned": "Покинуто", + "inProgress": "В процессе" + }, + "spanRange": "{from} до {to}", + "spanSince": "с тех пор как {from}", + "spanEnded": "завершено {to}", + "spanUnknown": "Даты не записаны", + "sessionCount": "{count, plural, one {# сессия} other {# сессий} few {# сессий} many {# сессий}}", + "endBeforeStart": "Дата окончания должна быть в или после даты начала.", + "editAria": "Редактировать эту попытку", + "deleteAria": "Удалить эту попытку", + "cancelDeleteAria": "Отменить удаление этой попытки", + "confirmDeleteAria": "Подтвердите удаление этой попытки", + "empty": "Попытки не записаны", + "emptyHint": "Начните повторное чтение или добавьте попытку, которую вы завершили до того, как эта библиотека существовала." + }, + "records": { + "title": "Отчеты", + "longestSession": "Самая длинная сессия", + "bestDay": "Лучший день", + "longestStreak": "Длинная серия", + "streakDays": "{count, plural, one {# день} other {# дней} few {# дней} many {# дней}}", + "pace": "Темп чтения", + "jumpedBack": "Отпрыгнул", + "jumpedBackTimes": "{count, plural, one {# раз} other {# раз} few {# раз} many {# раз}}", + "firstOpened": "Первое открытие", + "empty": "Записи появляются после того, как в этой книге появятся сессии." + }, + "band": { + "curve": "Кривая", + "trace": "Трассировка", + "switchAria": "Вид диаграммы", + "curveTitle": "Прогресс со временем", + "traceTitle": "Где вы находитесь в книге", + "curveSubDays": "Активных дней: {active} из {total}", + "curveSubSitting": "СОДЕРЖАНИЕ", + "traceSub": "каждый бар - это удлиненный сеанс", + "traceSubWithBacktracks": "{count, plural, one {каждая панель - один сеанс, # вернулась} other {каждая панель - один сеанс, # вернулась} few {каждая панель - один сеанс, # вернулась} many {каждая панель - один сеанс, # вернулась}}", + "legendPosition": "Позиция достигнута", + "legendMinutes": "Прочитано минут", + "legendBacktrack": "Отпрыгнул", + "traceEmpty": "Трассировка пока нет", + "traceEmptyHint": "Как только сессии существуют, это показывает растяжение книги каждый из них, и где вы удвоили обратно.", + "tooltipCovered": "Покрыто {from}% до {to}%", + "tooltipMinutes": "{minutes} мин" + }, + "emptyStage": { + "title": "Пока ничего не записано для этой книги", + "description": "Журнал для чтения построен из сессий. BookOrbit записывает каждый раз, когда вы читаете в веб-трекере и берёт все остальное с синхронизируемых устройств.", + "readerTitle": "Читать здесь", + "readerBody": "Каждую минуту читатель BookOrbit регистрируется автоматически.", + "koreaderTitle": "Синхронизация KOReader", + "koreaderBody": "Плагин толкает каждый сидя назад, со страницей вы достигли.", + "koboTitle": "Sync a Kobo", + "koboBody": "Подключите устройство к устройству, и BookOrbit читает свой счетчик времени чтения.", + "addSession": "Добавить сессию вручную", + "recordPast": "Записать прошлое чтение" + }, "moreActionsAria": "Больше действий для чтения журнала", "export": { "button": "Экспорт" @@ -4337,6 +7463,10 @@ "summaryAria": "Чтение сводки", "notSet": "Не задано", "relative": { + "seconds": "{count} с назад", + "minutes": "{count} мин назад", + "hours": "{count} ч назад", + "days": "{count} дн назад", "months": "{count, plural, =0 {# месяц назад} one {# месяц назад} few {# месяцев назад} many {# месяцев назад} other {# месяцев назад}}", "years": "{count, plural, =0 {# год назад} one {# год назад} few {# лет назад} many {# лет назад} other {# лет назад}}" }, @@ -4345,6 +7475,7 @@ "startFuture": "Дата начала не может быть в будущем.", "finishFuture": "Дата окончания не может быть в будущем.", "finishBeforeStart": "Дата окончания должна быть указана или после даты начала.", + "finishBeforeStartWithDate": "Дата окончания должна быть установлена или после даты начала ({date}).", "saveFailed": "Не удалось сохранить даты чтения." }, "eta": { @@ -4398,6 +7529,8 @@ "table": { "title": "Сессии", "sourceWeb": "Веб", + "sourceIos": "Приложение iOS", + "sourceWatchos": "Часы Apple", "sourceManual": "Ручной", "colDate": "Дата", "colDateMobile": "Дата", @@ -4407,6 +7540,7 @@ "colProgressChangeMobile": "Дельта", "colEndProgress": "Завершить прогресс", "colEndProgressMobile": "Конец", + "jumpToProgress": "Перейти к {progress}%", "empty": "Чтение сеансов ещё не записано.", "emptyHint": "Добавьте сессию, чтобы начать строить историю чтения этой книги.", "colPace": "Стать", @@ -4456,8 +7590,10 @@ "moveDown": "Сдвинуть вниз", "removeSeries": "Удалить серию", "seriesIndexLabel": "Позиция в серии", + "invalidSeriesIndex": "Введите цифры с одной десятичной точкой, например точкой 5.10.", "totalLabel": "Книг в серии", - "totalPlaceholder": "из" + "totalPlaceholder": "из", + "totalHint": "Всего книг в этой серии. Поделились со всеми, кто имеет эту серию." } }, "table": { @@ -4477,6 +7613,15 @@ "chips": { "addPlaceholder": "Добавить..." }, + "quickFilter": { + "presentFiles": "Фильтр для представления файлов", + "missingFiles": "Фильтр по недостающим файлам", + "withCovers": "Фильтр по книгам с обложками", + "missingCovers": "Фильтр к книгам, пропущенным обложкам", + "missingAudioCovers": "Фильтр в книгах, пропущенных обложки аудиокниги", + "withValues": "Фильтр по строкам со значениями", + "emptyRows": "Фильтр по пустым строкам" + }, "cover": { "previewDescription": "Предпросмотр обложки книги", "editDescription": "Изменить обложку книги", @@ -4523,6 +7668,8 @@ "read": { "play": "Играть", "read": "Чтение", + "readFormat": "Читать {format}", + "playFormat": "Сыграть {format}", "primary": "Первичный", "peekFormat": "Peek {format}", "chooseFormat": "Выберите формат для чтения или воспроизведения", @@ -4532,6 +7679,7 @@ "unread": "Непрочитанные" }, "series": { + "seriesRow": "Строка серии", "bookCount": "{count, plural, =0 {(без книг)} one {(# книга)} few {(# книг)} many {(# книг)} other {(# книг)}}", "readOfCount": "Прочитано {read} из {total}" }, @@ -4541,10 +7689,65 @@ }, "move": { "title": "{count, plural, one {Move # book} few {Move # books} many {Move # books} other {Move # books}}", + "subtitle": "Файлы перемещаются на диск в библиотеку назначения. Это может изменить, кто может видеть эти книги.", + "searchPlaceholder": "Поиск в библиотеках", + "currentLibrary": "Текущее", "folderCount": "{count, plural, one {# folder} few {# folders} many {# folders} other {# folders}}", + "continue": "Продолжить", + "back": "Назад", "confirm": "{count, plural, one {Move # book} few {Move # books} many {Move # books} other {Move # books}}", + "action": "Переместить в библиотеку", "review": { - "collisions": "{count, plural, one {# name conflict} few {# name conflicts} many {# name conflicts} other {# name conflicts}}" + "ready": "{count} готов", + "collisions": "{count, plural, one {# name conflict} few {# name conflicts} many {# name conflicts} other {# name conflicts}}", + "ineligible": "{count} не может переместить", + "alreadyThere": "{count} уже есть", + "collisionsHeading": "Конфликты имен", + "ineligibleHeading": "Нельзя переместить", + "moreCollisions": "и еще {count}" + }, + "policy": { + "suggested": "Предлагаемое использование", + "keep_both": "Оставить оба", + "merge": "Объединить", + "skip": "Пропустить" + }, + "collision": { + "folder_path": "В книге уже используется это имя папки", + "file_path": "Файл уже использует этот путь", + "hash_duplicate": "Аналогичная копия уже есть в этой библиотеке" + }, + "ineligible": { + "book_not_present": "Файлы этой книги отсутствуют", + "no_content_file": "Эта книга не имеет читаемого файла", + "multi_file_target_per_file": "Назначение хранит по одному файлу на книгу, и в этой книге есть файлы {detail}", + "no_source_access": "Вы не можете редактировать библиотеку в этой книге", + "pattern_unresolved": "Библиотека назначения не имеет используемого шаблона именования", + "path_too_long": "Путь назначения будет слишком длинный", + "path_outside_target_root": "Путь назначения будет выходить за пределы библиотеки" + }, + "warning": { + "accessLoss": "{user} перестанет видеть {count} из этих книг", + "koboImpact": "При следующей синхронизации с Kobo пользователя {user} будет удалено книг: {count}", + "layout": { + "wrap_into_folder": "{count} книги будут помещены в собственную папку", + "dissolve_folder": "Папки {count} будут распущены в одинарные файлы" + }, + "crossDevice": "Файлы перемещаются на другой диск, поэтому они скопированы, проверены, а затем удалены." + }, + "progress": { + "label": "Перемещение книг в {library}", + "failed": "{count} не удалось" + }, + "done": { + "summary": "Перемещено книг {count} в {library}", + "merged": "{count} объединён с копиями уже есть", + "skipped": "{count} пропущено", + "failed": "{count} не удалось" + }, + "toast": { + "success": "Перемещено книг {count} в {library}", + "partial": "Перемещенные {moved} книги, {failed} не удалось" } } }, @@ -4582,6 +7785,7 @@ }, "label": { "paused": "Пауза", + "remaining": "Осталось: {count}", "processing": "Обработка {count}", "failed": "{count} не удалось", "rateLimited": "Курс {count} ограничен" @@ -4617,6 +7821,7 @@ "apply": "Применить", "done": "Готово", "discard": "Сбросить", + "deselect": "Отменить выбор", "finalize": "Завершить", "rescan": "Пересканировать", "uploadAction": "Выгрузить", @@ -4626,12 +7831,19 @@ "bulkEditAction": "Массовая правка", "applyFetched": "Применить Избранное", "retryErrors": "Повторить ошибки", + "discardDialog": { + "title": "{count, plural, =0 {Сбросьте без файлов?} one {Отменить выбранный файл?} other {Отменить # выбранных файлов?} few {Отменить # выбранных файлов?} many {Отменить # выбранных файлов?}}", + "description": "{count, plural, =0 {Файлы не выбраны} one {Это навсегда удалит выбранный файл с диска. Это действие нельзя отменить.} other {Это навсегда удалит # выбранные файлы с диска. Это действие нельзя отменить.} few {Это навсегда удалит # выбранные файлы с диска. Это действие нельзя отменить.} many {Это навсегда удалит # выбранные файлы с диска. Это действие нельзя отменить.}}", + "confirm": "{count, plural, one {Удалите файл} other {Удалите # файлов} few {Удалите # файлов} many {Удалите # файлов}}", + "failed": "Выбранные файлы не могут быть удалены. Попробуйте еще раз." + }, "commaSeparated": "через запятую", "destinationLibrary": "Библиотека назначения", "destinationFolder": "Папка назначения", "nFailed": "{count} не удалось", "updatedOfFiles": "Обновлено {updated} из {total} файлов", "errorStatus": "Ошибка {status}", + "invalidSeriesIndex": "Введите цифры с одной десятичной точкой, например точкой 5.10.", "tab": { "all": "Все", "pending": "В ожидании", @@ -4664,10 +7876,20 @@ }, "upload": { "nDone": "{count} завершён", - "nFailed": "{count} не удалось" + "nFailed": "{count} не удалось", + "nTotal": "Всего: {count}" }, "uploadFailures": { + "heading": "{count, plural, one {Не удалось загрузить # файл} other {Не удалось загрузить # файлы} few {Не удалось загрузить # файлы} many {Не удалось загрузить # файлы}}", + "dismissAll": "Отклонить все", + "retry": "Повторить загрузку {name}", + "dismiss": "Отклонить {name}", "reason": { + "unsupported": "Неподдерживаемый тип файла:{extension}", + "noExtension": "Файл не имеет расширения, поэтому его формат неизвестен", + "tooLarge": "Больше, чем максимальный размер загрузки {limit}", + "tooLargeServer": "Больше, чем лимит загрузки на сервер", + "tooLargeProxy": "Отклонено как слишком большое, прежде чем он достигнет BookOrbit, скорее всего обратным прокси", "storageFull": "На сервере не хватает свободного места", "network": "Не удалось подключиться к серверу", "status": "Ошибка загрузки (HTTP {status})" @@ -4744,50 +7966,905 @@ "alreadyExistsSaveAs": "Уже существует - сохранить как:", "renamePlaceholder": "напр. {name} (2)", "import": "Импорт" + }, + "layout": { + "pause": "Пауза", + "resume": "Возобновить", + "pauseUpdateFailed": "Пауза не удалось обновить", + "clearSearch": "Очистить поиск", + "filter": { + "all": "Все", + "needsReview": "Нужна проверка", + "pending": "В ожидании", + "ready": "Готово", + "error": "Ошибка" + }, + "working": { + "label": "Работа {count}" + }, + "row": { + "select": "Выберите {title}", + "setDestination": "Задать место назначения", + "file": "Файл", + "match": "{percent}% совпадение", + "noAuthor": "Пока нет автора", + "proposedChanges": "Предлагаемые изменения", + "noChanges": "Метаданные еще не загружены", + "editDetails": "Изменить данные", + "noMatch": "Нет совпадений", + "applied": "Применяется", + "refetch": "Перезагрузить метаданные", + "clickToZoom": "Нажмите на обложку, чтобы увеличить", + "changedFields": "{count, plural, one {# поле} other {# полей} few {# полей} many {# полей}}", + "needMore": "Нужно искать провайдеры или редактировать другие поля?" + }, + "selection": { + "fileToLibrary": "{count, plural, =0 {Файл в библиотеку} one {Файл # в библиотеку} other {Файл # в библиотеку} few {Файл # в библиотеку} many {Файл # в библиотеку}}", + "nSelected": "{count} выбран", + "nReadyToFile": "{count} готов к файлу" + }, + "empty": { + "nothingToReview": "Ничего не нуждается в проверке. В каждом готовом файле есть место назначения и уверенный матч.", + "nothingReadyToFile": "Файлы не готовы к файлу.", + "dropHint": "Или перетащите файлы в любое место на этой странице." + }, + "selectAllOnPage": "Выбрать все файлы на этой странице", + "showingOf": "{shown} из {total}", + "keyboardHint": "J / K для перемещения · пространство, чтобы выбрать · Enter для разворачивания", + "allOnPageSelected": "Все {count} на этой странице выбраны.", + "selectAllMatching": "Выбрать все соответствие {count}", + "allMatchingSelected": "Выбраны все {count} подходящие файлы", + "sort": { + "label": "Сортировать по", + "attention": "Требует внимания", + "createdAt": "Недавно добавленные", + "fileName": "Имя файла", + "fileSize": "Размер", + "format": "Формат", + "status": "Статус" + }, + "conflict": { + "duplicate": "Duplicate", + "destination_conflict": "Путь занят", + "invalid_target": "Bad target", + "access_denied": "Нет доступа", + "invalid_format": "Неверный формат", + "error": "Сбой" + }, + "unit": { + "fileCount": "{count, plural, one {# файл} other {# файлов} few {# файлов} many {# файлов}}", + "filesHeading": "{count, plural, one {Файл в этой записи} other {# файлов в этой записи} few {# файлов в этой записи} many {# файлов в этой записи}}", + "role": { + "content": "Книга", + "cover": "Обложка", + "metadata": "Метаданные", + "supplement": "Доп." + } + } } }, "bookRequests": { + "title": "Запросы (бета)", + "subtitle": "Спрашивать книги, которых еще нет в библиотеке. Это экспериментальная функция, ожидать мелких ошибок.", + "tabs": { + "search": "Запросить книгу", + "mine": "Мои запросы", + "all": "Все запросы" + }, + "mediaKind": { + "ebook": "Электронная книга", + "audiobook": "Аудиобкук", + "comic": "Комикс" + }, + "status": { + "pending": "В ожидании", + "approved": "Одобрено", + "rejected": "Отклонено", + "cancelled": "Отменено", + "searching": "Поиск", + "grabbed": "Захвачено", + "downloading": "Скачивание", + "importing": "Импорт", + "needs_review": "Нужна проверка", + "available": "Доступно", + "failed": "Неудачный" + }, "search": { + "titleLabel": "Заголовок", + "titlePlaceholder": "Название книги", "authorLabel": "Автор", - "authorPlaceholder": "Имя автора" + "authorPlaceholder": "Имя автора", + "mediaKindLabel": "Формат", + "libraryLabel": "Добавить в библиотеку", + "libraryAny": "По усмотрению утверждающего", + "libraryDefault": "По умолчанию ({library})", + "libraryChoose": "Выберите библиотеку", + "libraryRequired": "Ваши запросы будут удовлетворены как только вы их сделаете, поэтому выберите библиотеку, в которой должна приземляться.", + "fulfillmentLabel": "Закупка", + "fulfillmentAutomatic": "Автоматически", + "fulfillmentChooseRelease": "Выберите релиз", + "folderLabel": "Папка", + "languageLabel": "Запросить язык", + "languageAny": "Любой язык", + "languageDefaultToggleLabel": "Использовать этот язык для новых запросов", + "languageDefaultSetHint": "Спрашивать этот язык при каждом новом запросе", + "languageDefaultClearHint": "Не запрашивать этот язык по умолчанию", + "languageDefaultSaved": "Новые запросы будут запрашивать {language}", + "languageDefaultCleared": "Новые запросы будут следовать языку интерфейса", + "languageDefaultFailed": "Не удалось сохранить настройки языка", + "submit": "Искать", + "searching": "Поиск провайдеров...", + "noResultsTitle": "Подходящие книги не найдены", + "noResultsHint": "Попробуйте другое название или автор.", + "noResultsIndexerHint": "Попробуйте другое название или автор, или найдите индексировщиков \"{title}\" и выберите релиз самостоятельно.", + "freeTextAction": "Поиск индексаторов", + "manualSearchAction": "Индексаторы поиска вручную", + "yearUnknown": "Неизвестный год", + "sourceCount": "{count, plural, one {# исходник} other {# исходников} few {# исходников} many {# исходников}}", + "sourcesLabel": "Источники: {sources}", + "sourcesUnavailable": "Некоторые источники не ответили, поэтому результаты могут быть неполными: {sources}", + "identifiers": { + "none": "Нет ISBN", + "one": "1 ISBN", + "confirmed": "ISBN подтвержден", + "count": "{count} ISBNs", + "sourcesTitle": "Источники метаданных", + "provider": "Поставщик", + "providerTitle": "Название провайдера", + "isbn": "ISBN", + "year": "Год", + "language": "Язык", + "notProvided": "Не предоставлено", + "searchScope": "Выберите один из {count, plural, one {# ISBN} other {# ISBNN} few {# ISBNN} many {# ISBNN}} для поиска, или поиска по заголовку и автору.", + "searchScopeLimited": "Выберите один ISBN для поиска.", + "titleAuthorOnly": "ISBN не был предоставлен. BookOrbit будет искать один раз по названию и автору.", + "chooseSearch": "Выберите редакцию для поиска", + "searchByEdition": "Найти релиз для издания", + "findRelease": "Найти релиз", + "primaryIsbn": "ISBN {isbn}", + "primaryTitleAuthor": "Название и автор", + "recommended": "Рекомендовано", + "recommendationHelpLabel": "Как BookOrbit выбирает рекомендуемый ISBN", + "recommendationTitle": "Как выбран рекомендуемый поиск", + "recommendationLanguage": "Предпочитайте запрошенный язык, а затем неизвестный язык перед известным несоответствием.", + "recommendationAgreement": "Предпочитайте ISBN подтвержденный более независимыми поставщиками метаданных.", + "recommendationProvider": "Использовать стабильный приоритет метаданных сервиса BookOrbit.", + "recommendationRelevance": "Использовать позицию редакции в результатах работы поставщика.", + "recommendationYear": "Предпочитайте издание, ближайший к предыдущему известному году работы.", + "recommendationStable": "Используй сам ISBN в качестве конечного стабильного ломателя.", + "recommendationFallback": "Если ISBN не доступен, BookOrbit ищет один раз по названию и автору. Выбор редакции из меню всегда переопределяет эту рекомендацию.", + "withoutIsbn": "Поиск по названию и автору", + "action": "Действие" + }, + "request": "Запросить", + "download": "Скачать", + "getAutomatically": "Получить автоматически", + "chooseRelease": "Выбрать релиз", + "joinRequest": "Добавить меня", + "submitted": "Запрос отправлен", + "joinedExisting": "Вы добавлены к существующему запросу", + "submitFailed": "Не удалось отправить этот запрос", + "alreadyInLibrary": "Уже в вашей библиотеке", + "alreadyRequested": "Уже запрошено кем-то другим", + "alreadyRequestedByYou": "Вы уже запросили это", + "preferredFormatsLabel": "Предпочитаемые форматы", + "preferredFormatsHint": "Релизы в этих форматах ранжируются выше. Другие форматы все еще предложены.", + "noteLabel": "Примечание для утверждающего", + "notePlaceholder": "Все, что стоит знать об этом запросе", + "moreOptions": "Больше опций", + "fewerOptions": "Меньше опций", + "optionsSummary": "{formats} · Примечание добавлено", + "formatToggleAria": "Предпочитают {format}", + "pair": { + "choice": "Оба", + "choiceHint": "Спросите вместе электронную книгу и аудиозапись", + "ebookLibraryLabel": "Электронная библиотека", + "audiobookLibraryLabel": "Библиотека аудио", + "audiobookFolderLabel": "Папка аудиокнига", + "landsTogether": "Оба формата приходят как одна книга в {library}.", + "landsSeparately": "{library} хранит одну книгу на каждый файл, поэтому каждый формат поступает в свою собственную книгу.", + "landsApart": "Электронная книга и аудиокнига идут в различные библиотеки, так что они поступают как две книги.", + "preferredEbookFormats": "Предпочтительные форматы электронных книг", + "preferredAudiobookFormats": "Предпочитаемые форматы аудиокниг", + "state": { + "owned": "В вашей библиотеке", + "following": "Вы запросили это", + "joinable": "Запрошено", + "new": "Не запрашивается" + }, + "requestBoth": "Запросить оба", + "getBoth": "Получить оба", + "chooseReleases": "Выберите релизы", + "joinBoth": "Добавить меня в оба", + "requestEbook": "Запросить электронную книгу", + "requestAudiobook": "Запросить аудиокнигу", + "getEbook": "Получить электронную книгу", + "getAudiobook": "Скачать аудиокнигу", + "joinEbook": "Добавить меня в электронную заявку", + "joinAudiobook": "Добавьте меня в запрос на аудиокнигу", + "haveBoth": "В вашей библиотеке", + "requestedBoth": "Запрошено", + "submitted": "Запрошена электронная книга и аудиокнига", + "submittedPartlyJoined": "Запрошено оба. Один из них уже на пути, поэтому вы были добавлены к этому запросу", + "submittedJoinsBook": "Запрошено. Оно присоединится к копии уже в вашей библиотеке" + } + }, + "card": { + "details": "Детали", + "mediaKind": "Формат", + "library": "Библиотека", + "requestedBy": "Запрошено", + "requestedByAt": "{name} на {time}", + "alsoWanted": "Также хотел", + "alsoWantedCount": "{count, plural, one {# другой человек хочет, чтобы это} other {# другие хотели этого} few {# другие хотели этого} many {# другие хотели этого}}", + "moreActions": "Больше действий для {title}", + "settledIn": "Пополнено в {library}, {time}", + "settledAt": "Закрыто {time}", + "dismissedBadge": "Уволен" + }, + "detail": { + "unknownAuthor": "Автор неизвестен", + "requestedBy": "Запрошено", + "requestedOn": "Запрошено", + "library": "Библиотека", + "series": "Серии", + "isbn": "ISBN", + "decidedBy": "Утвержден", + "requesterNote": "Примечание от инициатора", + "decisionNote": "Примечание к решению", + "statusReason": "Что остановило", + "alsoWanted": "Также хотел", + "decisionNoteLabel": "Примечание (опционально)", + "decisionNotePlaceholder": "Объясните решение", + "destinationLibraryLabel": "Библиотека назначения", + "destinationLibraryPlaceholder": "Выберите библиотеку", + "destinationFolderLabel": "Папка назначения", + "languageLabel": "Язык запрошен", + "languageAny": "Любой язык", + "destinationRequired": "Одобрение файлов книги в библиотеку, так что выберите один перед ее принятием.", + "fulfilTitle": "Закрыть этот запрос", + "fulfilHint": "Наведите запрос на добавленную книгу или в файл книги, ожидающий заполнения.", + "bookIdLabel": "ID книги", + "bookIdPlaceholder": "например, 128", + "dockFileIdLabel": "Идентификатор файла в док-баре", + "dockFileIdPlaceholder": "например, 42", + "backToList": "Все запросы", + "loading": "Загрузка запроса...", + "transfer": "Перевод", + "requestSection": "Запросить", + "decideTitle": "Одобрить или отклонить", + "fulfilSourceLabel": "Что закрывает этот запрос", + "fulfilFromLibrary": "Книга в библиотеке", + "fulfilFromDock": "Файл док-станции", + "fulfilSearchLabel": "Поиск файла, закрывающего этот запрос", + "fulfilSearchBooks": "Искать в вашей библиотеке по названию или автору", + "fulfilSearchDock": "Искать в книге по имени файла", + "fulfilSearching": "Поиск...", + "fulfilNoResults": "Ничего не найдено. Попробуйте другой поиск.", + "errors": { + "notFound": "Этот запрос больше не существует.", + "forbidden": "Этот запрос принадлежит кому-то другому.", + "loadFailed": "Не удалось загрузить этот запрос" + }, + "entityName": "Запросить", + "pairSwitchLabel": "Форматы в этом запросе", + "joinsBook": "Присоединяется к книге, которую у вас есть", + "joinsBookHint": "По прибытии он добавляется в книгу уже в вашей библиотеке" + }, + "actions": { + "approve": "Одобрить", + "approveAndNext": "Утвердить и далее", + "reject": "Отклонить", + "cancel": "Отменить запрос", + "cancelDownload": "Отменить загрузку", + "dismiss": "Отклонить", + "restore": "Восстановить", + "delete": "Удалить запрос", + "markFulfilled": "Отметить как выполненное", + "grab": "Найти релиз", + "goToBook": "Перейти к книге", + "retryRelease": "Попробуйте другой релиз", + "leave": "Покинуть запрос", + "pair": { + "approveBoth": "Утвердить оба", + "approveEbook": "Одобрить электронную книгу", + "approveAudiobook": "Одобрить аудиокнигу", + "rejectBoth": "Отклонить оба", + "rejectEbook": "Отклонить электронную книгу", + "rejectAudiobook": "Отклонить звук", + "cancelBoth": "Отменить оба", + "cancelEbook": "Отменить электронную книгу", + "cancelAudiobook": "Отменить аудиокнигу", + "dismissBoth": "Закрыть оба", + "dismissEbook": "Закрыть электронную книгу", + "dismissAudiobook": "Закрыть аудиокнигу", + "restoreBoth": "Восстановить оба", + "restoreEbook": "Восстановить электронную книгу", + "restoreAudiobook": "Восстановить аудиокнигу", + "grabEbook": "Найти электронный релиз", + "grabAudiobook": "Найти релиз аудиокниги", + "chooseReleases": "Выберите релизы", + "openEbook": "Открыть запрос электронной книги", + "openAudiobook": "Открыть запрос на аудиокниг" + } + }, + "filters": { + "status": "Статус", + "anyStatus": "Любой статус", + "mediaKind": "Формат", + "anyMediaKind": "Любой формат", + "requester": "Запрашивающий", + "anyRequester": "Любой инициатор", + "showDismissed": "Показать отклоненные", + "fulfilment": "Выполнено", + "anyFulfilment": "Любое выполнение", + "selfServeOnly": "Самостоятельный", + "approvedOnly": "Отправлено на утверждение" + }, + "list": { + "loading": "Загрузка запросов...", + "emptyMine": "Вы еще не запросили ни одной книги.", + "emptyAll": "Пока нет запросов на книгу.", + "pagination": "Запросить страницы", + "pageOf": "Страница {page} из {total}", + "emptyHint": "Ищите книгу и она появится здесь, как только Вы ее попросите." + }, + "toasts": { + "approved": "Запрос одобрен", + "rejected": "Запрос отклонен", + "cancelled": "Запрос отменен", + "downloadCancelled": "Загрузка отменена", + "dismissed": "Скрыто из вашего списка", + "restored": "Вернуться к списку", + "deleted": "Запрос удален", + "fulfilled": "Запрос помечен как выполненный", + "grabbed": "Загрузка начата", + "downloadRemoved": "Удалено из загрузочного клиента", + "bulkApproved": "{count, plural, one {# запрос одобрен} other {# запросов одобрено} few {# запросов одобрено} many {# запросов одобрено}}", + "bulkApprovedPartial": "{done} одобрен, {failed} не может быть", + "bulkDismissed": "{count, plural, one {# запрашивать скрытые} other {# запросов скрытых} few {# запросов скрытых} many {# запросов скрытых}}", + "bulkDismissedPartial": "{done} скрыт, {failed} не может быть", + "unitChosen": "Импортирование выбранной книги", + "languageChanged": "Запросить обновление языка", + "left": "Вы покинули этот запрос", + "bulkRejected": "{count, plural, one {# запрос отклонил} other {# запросов отклонил} few {# запросов отклонил} many {# запросов отклонил}}", + "bulkRejectedPartial": "{done} отклонен, {failed} не может быть", + "importDiscarded": "Импортированный файл был удален", + "pairApproved": "Утверждено оба", + "pairRejected": "Отклонено оба" + }, + "errors": { + "loadFailed": "Не удалось загрузить запросы", + "approveFailed": "Не удалось одобрить этот запрос", + "rejectFailed": "Не удалось отклонить этот запрос", + "cancelFailed": "Не удалось отменить этот запрос", + "cancelDownloadFailed": "Не удалось отменить эту загрузку", + "dismissFailed": "Не удалось скрыть этот запрос", + "restoreFailed": "Не удалось вернуть этот запрос", + "deleteFailed": "Не удалось удалить этот запрос", + "fulfilFailed": "Не удалось закрыть этот запрос", + "grabFailed": "Не удалось запустить эту загрузку", + "removeDownloadFailed": "Не удалось удалить этот торрент из скачиваемого клиента", + "bulkApproveFailed": "Не удалось одобрить выбранные запросы", + "bulkDismissFailed": "Не удалось скрыть выбранные запросы", + "selectUnitFailed": "Эта книга не может быть импортирована.", + "languageChangeFailed": "Не удалось изменить язык запроса", + "leaveFailed": "Этот запрос не может быть оставлен", + "bulkRejectFailed": "Выбор не может быть отклонен", + "discardImportFailed": "Этот импорт не может быть отменен", + "approveCompanionFailedEbook": "Утверждено это, но электронная книга не может быть одобрена", + "approveCompanionFailedAudiobook": "Утверждено это, но аудиокнига не может быть одобрена" }, "grab": { - "subtitle": "Вставьте magnet-ссылку или загрузите .torrent для \"{title}\"." + "title": "Отправить клиенту для загрузки", + "subtitle": "Вставьте magnet-ссылку или загрузите .torrent для \"{title}\".", + "singleFileNote": "Релиз может состоять из одной книги в нескольких форматах, аудиокниги или архива - всех импортируемых в одну книгу. Освобождение, содержащее несколько отдельных книг, просит вас сохранить.", + "magnet": "Magnet link", + "torrentFile": ".torrent файл", + "client": "Скачать клиента", + "submit": "Отправить", + "errors": { + "pickOne": "Предоставить magnet-ссылку или торрент-файл, а не оба", + "fileTooLarge": "Этот файл больше {limit}, это не файл .torrent", + "fileUnreadable": "Этот файл не может быть прочитан" + }, + "noClientList": "BookOrbit будет использовать клиент загрузок с наивысшим приоритетом." + }, + "attempts": { + "title": "Предыдущие попытки", + "loading": "Загрузка предыдущих попыток...", + "loadFailed": "Не удалось загрузить предыдущие попытки", + "refused": "Отказано, ничего не скачано", + "handPicked": "Отправлено вручную" + }, + "download": { + "source": { + "automatic": "Захвачено автоматически", + "manual": "Выбран утверждающим", + "pasted": "Вставлено вручную" + }, + "transferred": "{done} из {total}", + "transferredUnknown": "{done} загружен", + "progressLabel": "Прогресс загрузки {title}", + "status": { + "queued": "В очереди для загрузки", + "downloading": "Скачивание", + "completed": "Загрузка завершена", + "importing": "Импорт в вашу библиотеку", + "needs_review": "Ожидание рассмотрения в док-станции", + "imported": "Добавлено в вашу библиотеку", + "failed": "Ошибка загрузки" + } }, "releases": { + "title": "Выберите релиз", + "retryTitle": "Попробуйте другой релиз", + "pairTitle": "Выбрать релизы", + "pair": { + "tabsLabel": "Форматы для выбора релизов", + "releaseCount": "{count, plural, one {# релиз} other {# релизов} few {# релизов} many {# релизов}}", + "searching": "Поиск", + "toChoose": "Выбрать", + "sent": "Отправлено", + "finishedTitle": "Нечего выбирать", + "finishedHint": "Оба формата имеют релиз сейчас. Вы можете следить за каждым из запросов.", + "backToRequest": "Вернуться к запросу", + "done": "Готово" + }, + "subtitle": "Рейтинг по всем включенным индексаторам.", + "summaryCount": "{count, plural, one {# релиз} other {# релизов} few {# релизов} many {# релизов}}", + "allFreeleech": "все freeleech", + "allLanguage": "все {language}", + "allFormat": "все {format}", + "allIndexer": "все из {name}", "criteria": { + "label": "Активный поиск", + "searched": "Найдено", + "searchedTitleAuthor": "Поиск по названию и автору", + "nothingFound": "Ничего не найдено для {key}", + "changeSearch": "Изменить поиск", + "closeSearch": "Закрыть", + "sources": "Источники", + "sourceSearchedIsbn": "искал ISBN", + "sourceSearchedTitleAuthor": "искал название и автора", + "sourceNoAdapter": "нет подходящего адаптера", + "sourceReleases": "{count, plural, one {# релиз} other {# релизов} few {# релизов} many {# релизов}}", + "sourceNone": "нет совпадений", + "sourceFiltered": "{count} отфильтрован", + "sourcesSearched": "{count, plural, one {# поиск по исходному коду} other {# Поиск по источникам} few {# Поиск по источникам} many {# Поиск по источникам}}", + "showEachSource": "Показать каждый", + "uncovered": "{count, plural, one {# исходный код включен} other {# включенные исходники} few {# включенные исходники} many {# включенные исходники}} Не носите такую книгу", + "fixSource": "Исправить настройки", + "searchInstead": "Искать вместо этого", + "keyTried": "проверено, ничего не найдено", + "keyTriedCount": "попробовал, {count, plural, one {# релиз} other {# релиз} few {# релиз} many {# релиз}}", + "searchWithoutIsbn": "Название и автор", + "customIsbnSource": "Пользовательский ISBN", + "filteredLocally": "Отфильтровано локально:", + "title": "Заголовок", + "author": "Автор", + "additionalAuthors": "Дополнительные авторы", "isbn10": "ISBN-10", "isbn13": "ISBN-13", "isbns": "ISBNs", + "mediaKind": "Медиа", "language": "Язык", + "formats": "Предпочитаемые форматы", + "editFields": "Редактировать поля", + "closeEditor": "Закрыть редактор", + "authorsEditor": "Авторы, по одному в строке", + "authorsPlaceholder": "По одному автору в строке", + "authorsInvalid": "Используйте не более 50 авторов, длиной не более 255 символов на одного автора.", "languagePlaceholder": "Любой язык", "formatsPlaceholder": "epub, azw3", + "formatsInvalid": "Используйте не более 20 форматов с 20 символами или меньшим числом в одном формате.", + "isbnSelection": "Метод поиска", + "isbnSelectionHint": "Выберите один ISBN, название и автор, или добавьте пользовательский ISBN.", + "noIsbnSelected": "Название и автор без ISBN", + "customIsbn": "Пользовательский ISBN", "customIsbnPlaceholder": "ISBN-10 или ISBN-13", - "addIsbn": "Добавить ISBN" + "addIsbn": "Добавить ISBN", + "invalidIsbn": "{isbn} не является допустимым ISBN-10 или ISBN-13.", + "titleRequired": "Введите название для поиска.", + "fixedMedia": "Медиафайл остается {media} , так как он контролирует совместимые источники и путь к исполнению.", + "useRequestFields": "Использовать поля запроса", + "runSearch": "Поиск с этими полями" }, + "previousFailure": "Последняя попытка не удалась: {reason}", + "refused": { + "sourceRefused": "Этот источник отключил предыдущий релиз", + "sourceUnavailable": "Этот источник не ответил", + "vipRequired": "Требуется VIP аккаунт на этом источнике", + "clientRefused": "Ваш клиент загрузки отказал в выпуске более ранней версии", + "clientUnavailable": "Ваш скачанный клиент не ответил на предыдущий релиз" + }, + "singleFileNote": "Релиз может состоять из одной книги в нескольких форматах, аудиокниги или архива - всех импортируемых в одну книгу. Освобождение, содержащее несколько отдельных книг, просит вас сохранить.", + "searching": "Поиск индексаторов...", "refresh": "Повторить поиск", + "cached": "Показывается последний поиск. Искать снова для свежих результатов.", + "sortBy": "Сортировать по", + "sort": { + "score": "Лучший матч", + "seeders": "Сидры", + "size": "Размер", + "bitrate": "Битрейт", + "added": "Дата добавления" + }, + "freeleechOnly": "Только Freeleech ({count})", + "clearFilters": "Очистить фильтры", + "filteredEmpty": "Релиз не соответствует этим фильтрам.", + "grab": "Скачать релиз", + "viewFiles": "Просмотр файлов", + "hideFiles": "Скрыть файлы", + "viewDetails": "О содержании", + "hideDetails": "Скрыть детали", + "inspectingFiles": "Чтение списка файлов релиза...", + "inspectingNzb": "Извлечение и проверка NZB...", + "inspectingShort": "Проверка файлов...", + "inspectionFailed": "Список файлов этого выпуска не может быть прочитан.", + "manifest": { + "ready": "{count, plural, one {Эта версия содержит # файл. Поддерживаемый файл можно импортировать.} other {Эта версия содержит # файлов. Поддерживаемый файл может быть импортирован.} few {Эта версия содержит # файлов. Поддерживаемый файл может быть импортирован.} many {Эта версия содержит # файлов. Поддерживаемый файл может быть импортирован.}}", + "noSupported": "Этот релиз не имеет напрямую поддерживаемого файла книги, поэтому его нельзя отправить.", + "contentsUnknown": "Этот релиз упакован в архив (RAR, ZIP или 7z).", + "multipleBooks": "В этом релизе содержится {count} отдельные книги. После этого вам будет предложено импортировать, какой из них.", + "multiPartBook": "{count, plural, one {Этот релиз представляет собой одну книгу из # файла.} few {Этот релиз представляет собой одну книгу из # файлов, импортируемых вместе как одна книга.} many {Этот релиз представляет собой одну книгу из # файлов, импортируемых вместе как одна книга.} other {Этот релиз представляет собой одну книгу из # файла, импортируемых вместе как одна книга.}}", + "metadataUnavailable": "Это magnet-ссылка. Его список файлов недоступен до тех пор, пока торрент-клиент не получит метаданные из swarm.", + "usenetMetadataUnavailable": "Это релиз Usenet. Окончательный список файлов недоступен до тех пор, пока NZBGet не загрузит и не обрабатывает его.", + "bookFile": "Файл книги", + "extraFile": "Доп.", + "truncated": "Показаны {shown} из {total} файлов.", + "untitledUnit": "Без названия", + "unitFiles": "{count, plural, one {# файл} other {# файлов} few {# файлов} many {# файлов}}", + "unitsTruncated": "Показаны {shown} из {total} книг.", + "ignored": "{count, plural, one {Игнорирует # файл отступа или отступ.} other {Игнорирует # пример и отступ.} few {Игнорирует # пример и отступ.} many {Игнорирует # пример и отступ.}}", + "mediaKind": { + "ebook": "Электронная книга", + "audiobook": "Аудиобкук", + "comic": "Комикс" + } + }, + "manual": "Вставить ссылку", + "manualTorrent": "Использовать вместо этого магнит или .torrent", + "indexer": "Индексатор", + "size": "Размер", + "seeders": "Сидры", + "language": "Язык", + "seederCountPlural": "{count, plural, one {# сеятель} other {# сеятели} few {# сеятели} many {# сеятели}}", + "seederCountUnknown": "Разведчики неизвестны", + "format": "Формат", + "files": "Файлы", + "fileLayout": { + "single": "Один из перечисленных файлов", + "multi": "Несколько перечисленных файлов" + }, + "fileCount": "{count, plural, one {# файл} other {# файлов} few {# файлов} many {# файлов}}", + "audio": "Аудио", + "bitrateAtLeast": "{rate}k+", + "channels": { + "mono": "Моно", + "stereo": "Stereo" + }, + "chapterCountPlural": "{count, plural, one {# глава} other {# главы} few {# главы} many {# главы}}", + "durationHm": "{hours} ч {minutes} мин", + "durationM": "{minutes}м", + "freeleech": "Freeleech", + "vipOnly": "Только VIP", + "hideVipOnly": "Скрыть только VIP", + "noneMatchedProfile": "Релиз здесь не соответствует вашему профилю для этого носителя, поэтому ни один из них не будет загружен автоматически. Вы все еще можете отправить один вручную. Чтобы расширить его, добавьте один уровень с меньшим количеством условий ниже того, что у вас есть.", + "profileMismatch": { + "summary": "{count, plural, one {Найден # релиз, но автоматическое скачивание пропустит его, поскольку он не соответствует ни одному уровню профиля {medium}.} few {Найдено # релиза, но автоматическое скачивание пропустит их, поскольку они не соответствуют ни одному уровню профиля {medium}.} many {Найдено # релизов, но автоматическое скачивание пропустит их, поскольку они не соответствуют ни одному уровню профиля {medium}.} other {Найдено # релиза, но автоматическое скачивание пропустит их, поскольку они не соответствуют ни одному уровню профиля {medium}.}} Оценка совпадения и правила профиля проверяются отдельно. Вы всё равно можете нажать «Отправить».", + "review": "Просмотреть профиль {medium}", + "row": "Автоматическая загрузка пропустит это. Ближайший уровень: {tier}. {reasons}", + "failures": { + "formatUnknown": "{source} не указал формат. Этот уровень требует {expected}.", + "format": "Формат {actual}; этот уровень требует {expected}.", + "fileLayoutUnknown": "{source} не указал количество файлов; этот уровень требует {expected}.", + "fileLayout": "Макет файла {actual}; этот уровень требует {expected}.", + "bitrate": "Битрейт {actual} kbp; этот уровень требует как минимум {expected} kbps.", + "channels": "Аудио - {actual}; этот уровень требует {expected}.", + "languageUnknown": "{source} не указал язык; этот уровень требует {expected}.", + "language": "Язык {actual}; этот уровень требует {expected}.", + "source": "Этот источник не входит в уровень.", + "seeders": "В этом выпуске {actual} сидер; этот уровень требует как минимум {expected}.", + "sizeUnknown": "{source} не указал размера; этот уровень позволяет до {expected}.", + "size": "Размер {actual}; этот уровень может достигать {expected}.", + "freeleech": "Этот уровень требует бесплатно.", + "vipOnly": "Этот уровень исключает только VIP-релизы." + } + }, + "alreadyGrabbed": "Уже вытащил", + "freeleechLabel": "Freeleech", + "published": "Опубликовано", + "scoreLabel": "Оценка совпадения: {score} из 100", + "scoreBreakdown": "Как эта версия оценена", + "whyThisScore": "Почему этот показатель", + "failures": { + "unauthorized": "вход истек", + "throttled": "курс ограничен", + "timeout": "истекло время ожидания", + "unreachable": "недоступен", + "unsupportedMedium": "не несет эту книгу", + "error": "поиск не удался" + }, + "reasons": { + "isbnMatch": "Совпадения ISBN", + "titleMatch": "Название матча", + "authorMatch": "Название и совпадение автора", + "preferredFormat": "Предпочитаемый формат {detail}", + "knownFormat": "Формат {detail}", + "unknownFormat": "Формат не указан", + "expectedSize": "Допустимый размер", + "suspiciousSize": "Невероятный размер {detail}", + "seeders": "Раздающие: {detail}", + "freeleech": "Freeleech", + "likelySeveralBooks": "{detail} файлов, может быть несколько книг" + }, + "errors": { + "loadFailed": "Не удалось найти релизы" + }, + "backToRequest": "Вернуться к запросу", + "bestMatch": "Лучший матч", + "flags": "Флаги", + "score": "Счет", + "release": "Релиз", + "send": "Отправить", + "tableCaption": "Релизы, ранг", + "onlyBestMatch": "Это единственный релиз, который совпадает.", + "tiedWithBest": "{count, plural, one {# другие релизы получили тот же результат} other {# другие релизы получили тот же результат} few {# другие релизы получили тот же результат} many {# другие релизы получили тот же результат}}", + "inspectionFailedHint": "Он не был отправлен клиенту для загрузки. Попробуйте еще раз или используйте ссылку вставь.", + "inspectionFailedHintGeneric": "Он не был отправлен клиенту для загрузки. Попробуйте еще раз или выберите другой релиз.", + "mediumUncovered": "Такого рода книга такого рода не носит.", + "mediumUncoveredHint": "Ни один из ваших включенных индексаторов не раскроет его. Добавьте тот, который это делает, или вставьте ссылку самостоятельно.", + "noSourcesConfigured": "Поисковые источники еще не настроены.", + "noSourcesEnabled": "Каждый источник поиска выключен.", + "noSourcesConfiguredHint": "Ничего не искали. Добавьте индексатор или установите исходный плагин, или вставьте ссылку на релиз самостоятельно.", + "noSourcesEnabledHint": "Ничего не искали. Переключить один обратно или вставить ссылку на релиз самостоятельно.", + "noSourcesAskAdmin": "Ничего не искали. Попросите администратора создать поисковый источник или вставьте ссылку на релиз самостоятельно.", "addSource": "Добавить источник", + "reviewSources": "Просмотр источников", "protocol": { "torrent": "Торрент", - "direct": "Прямая загрузка" + "usenet": "Usenet", + "direct": "Прямая загрузка", + "directPill": "Прямо" } }, "seed": { + "title": "Скачать клиента", + "automated": "BookOrbit выбрал этот выпуск автоматически.", + "loading": "Чтение клиента загрузки...", + "loadFailed": "Не удалось подключиться к закачиваемому клиенту для этого запроса.", + "notInClient": "Загружаемый клиент больше не имеет этого торрента.", "state": "Статус", - "uploaded": "Загружено" + "seeding": "Раздача", + "stopped": "Остановлено", + "client": "Клиент", + "ratio": "Коэффициент", + "time": "Время раздачи", + "uploaded": "Загружено", + "hours": "{value} ч", + "ofGoal": "{value} из {goal}", + "deleteFiles": "Также удалить загруженные файлы", + "remove": "Удалить из клиента", + "removeHint": "BookOrbit никогда не останавливает семена самостоятельно. Импортированная книга остается в вашей библиотеке в любом случае.", + "confirm": { + "title": "Удалить этот торрент?", + "description": "Торрент останавливает раздачу. Загруженные файлы остаются на диске.", + "descriptionWithFiles": "Торрент останавливает сидинг и загруженные файлы удаляются. Импортированная книга остается в вашей библиотеке." + } + }, + "pipeline": { + "label": "Прогресс", + "steps": { + "asked": "Задано", + "approved": "Одобрено", + "release": "Найден релиз", + "downloading": "Скачивание", + "filed": "Заполнено" + }, + "summary": { + "waiting": "Ожидание: {step}", + "progress": "В процессе: {step}", + "done": "Пополнено в вашей библиотеке", + "failed": "Остановлено неудачей в: {step}", + "stopped": "Остановлено: {step}" + } + }, + "density": { + "label": "Список плотности", + "comfortable": "Удобный", + "compact": "Компактный" }, "drawer": { "label": "Детали запроса", + "description": "Запрос, стадия его принятия и открытые по нему решения.", "previous": "Предыдущий запрос", "next": "Следующий запрос", - "position": "{position} из {total}" + "position": "{position} из {total}", + "shortcuts": "J / K для перемещения, А для официального утверждения, Esc для закрытия" }, "table": { + "caption": "Запросы на бронирование, каждый этап достиг", "cover": "Обложка", - "title": "Заголовок" + "title": "Заголовок", + "mediaKind": "Формат", + "requestedBy": "Запрошено", + "age": "Возраст", + "state": "Область", + "outcome": "Результат", + "actions": "Действия", + "selectAll": "Выберите каждый запрос, ожидающий одобрения", + "selectRow": "Выберите {title}", + "toggleDetail": "Покажите что случилось с {title}", + "release": "Релиз", + "decidedBy": "Утвержден", + "decisionNote": "Примечание к решению", + "requestNote": "Запросить заметку", + "openDetail": "Открыть полную информацию", + "pairMedia": "Электронная книга и аудиобук" + }, + "confirm": { + "cancelDownloadTitle": "Отменить загрузку?", + "cancelDownloadDescription": "Активный перенос останавливается, и запрос остается открытым для выбора другой релиза.", + "cancelTitle": "Остановить этот запрос?", + "cancelDescription": "Он движется к отмене. Никто не ждет от него получит книгу.", + "cancelDescriptionWithDownload": "Активная передача остановлена. Данные в закачиваемом клиенте сохраняются; частичная загрузка файлов удаляется.", + "deleteTitle": "Удалить этот запрос?", + "deleteDescription": "Запрос и отчет о том, кто просил его пойти на хорошо, для всех. Любой торрент все еще раздача удаляется из загрузочного клиента с сохраненными файлами. Постановка прямых загрузок очищается автоматически. Отказаться от запроса вместо этого скрывает только из вашего списка.", + "discardImportTitle": "Отменить импорт?", + "discardImportDescription": "Загруженные файлы удаляются из док-станции книги, и запрос не был отмечен. Торрент держит сидячие; остановите его отдельно, если хотите, чтобы он исчез.", + "leaveTitle": "Покинуть этот запрос?", + "leaveDescription": "Вы перестаете следить за ним и прекращаете получать о нем уведомления. Тот, кто его просит, держит их запрос.", + "rejectDescription": "Всем, кто ждал этих запросов, сказали, что они были отключены. Ничего не скачивается." + }, + "outcome": { + "filedIn": "Пополнено в {library} {time}", + "filed": "Пополнено {time}", + "rejected": "Отклоненные {time}", + "cancelled": "Отменено {time}", + "awaitingApproval": "Ожидает утверждения", + "awaitingReview": "Ожидание проверки вручную", + "failedUnknown": "Остановлено без причины от индексатора", + "atStage": { + "asked": "Только что запросили", + "approved": "Одобрено, еще не искали", + "release": "Ищу релиз", + "downloading": "Загрузка релиза", + "filed": "Отправить в библиотеку" + } + }, + "handback": { + "AUTOMATION_DISABLED": "Автоматическая захват выключен, так что для этого нужен релиз, выбранный вручную.", + "NO_DESTINATION": "В запросе нет библиотеки назначения, поэтому нет места в файле", + "ATTEMPT_LIMIT": "Автоматическое выполнение выполнено после попыток {attempts}", + "SEARCH_FAILED": "Не удалось найти релиз: {detail}", + "NO_SOURCES_CONFIGURED": "Нет поисковых источников, поэтому ничего не было запрошено для этого запроса", + "NO_SOURCES_ENABLED": "Каждый источник поиска выключен, так что ничего не искали для этого запроса", + "MEDIUM_UNCOVERED": "Нет активированного поискового источника ведет такую книгу, так что ничего не было запрошено для этого запроса", + "PROFILE_EXCLUDED_ALL": "Релиз не соответствует профилю этого носителя, поэтому для этого нужен релиз, выбранный вручную", + "ALL_TRIED": "Каждый релиз, достаточно хороший, чтобы захватить уже попробовал, так что для этого нужен сборник", + "BELOW_SCORE_FLOOR": "Релиз не оценен {floor} или выше, поэтому этому нужен релиз, выбранный вручную", + "ALL_BLOCKED": "Каждый релиз достаточно хороший, чтобы захватить был исключен из предыдущих сбоев, поэтому для этого нужен релиз, выбранный вручную.", + "ABANDONED": "Релиз не был выбран, поэтому загрузка не началась" + }, + "submitError": { + "SUBMIT_TITLE_REQUIRED": "Дайте книге название перед запросом", + "SUBMIT_SELF_FULFIL_FORBIDDEN": "Вам не разрешено выполнять ваши собственные запросы", + "SUBMIT_LIBRARY_FORBIDDEN": "У вас нет доступа к этой библиотеке", + "SUBMIT_FOLDER_NEEDS_LIBRARY": "Выберите библиотеку перед выбором папки", + "SUBMIT_FOLDER_NOT_IN_LIBRARY": "Эта папка не является частью библиотеки назначения", + "SUBMIT_DEFAULT_LIBRARY_UNREACHABLE": "Выберите библиотеку назначения, которую вы можете достичь: этот экземпляр по умолчанию не является одним из ваших", + "SUBMIT_DESTINATION_REQUIRED": "Ваши запросы будут удовлетворены как только вы их сделаете, поэтому выберите библиотеку, в которой должна выходить книга", + "SUBMIT_SELF_SERVE_LIMIT": "Сначала завершите или отмените некоторые загрузки: вы можете совершить рейс {limit} сразу", + "SUBMIT_ON_BEHALF_FORBIDDEN": "Вам не разрешается запросить книги для других людей", + "SUBMIT_ON_BEHALF_UNKNOWN_USER": "У этого пользователя нет запроса на книгу", + "SUBMIT_TARGET_BOOK_NOT_FOUND": "Эта книга не в библиотеке, которую вы можете получить", + "SUBMIT_TARGET_BOOK_HAS_MEDIUM": "Эта книга уже имеет этот формат" + }, + "actionError": { + "BOOK_REQUEST_NOT_PENDING": "Только ожидающий запрос поддерживает это действие; этот запрос в настоящее время {status}", + "BOOK_REQUEST_NOT_CANCELLABLE": "Запрос {status} больше не может быть отменен", + "BOOK_REQUEST_DESTINATION_REQUIRED": "Выберите библиотеку назначения перед утверждением этого запроса", + "BOOK_REQUEST_ACTION_FORBIDDEN": "Вы не можете {action} этот запрос", + "BOOK_REQUEST_STALE_TRANSITION": "Этот запрос изменился, пока действие было применено. Теперь оно {status}." + }, + "bulk": { + "selected": "{count, plural, one {# запрос выбран} other {# запросов выбрано} few {# запросов выбрано} many {# запросов выбрано}}", + "approveSelected": "{count, plural, one {Одобрите # запрос} other {Одобрите все #} few {Одобрите все #} many {Одобрите все #}}", + "clear": "Очистить", + "dismissSelected": "{count, plural, one {Скрыть # запрос} other {Скрыть все #} few {Скрыть все #} many {Скрыть все #}}", + "rejectSelected": "{count, plural, one {Отклонить # запрос} other {Отклонить все #} few {Отклонить все #} many {Отклонить все #}}", + "rejectNoteLabel": "Причина (опционально)", + "rejectNotePlaceholder": "Почему это отключается", + "rejectTitle": "Отклонить {count, plural, one {# запрос} other {# запросов} few {# запросов} many {# запросов}}?", + "rejectConfirm": "Отклонить" + }, + "chooser": { + "title": "Выберите какую книгу импортировать", + "hint": "В этом выпуске оказалось помещение {count} отдельных книг. Загрузка закончена; выберите запрашиваемую книгу и остальное осталось.", + "untitled": "Без названия", + "files": "{count, plural, one {# файл} other {# файлов} few {# файлов} many {# файлов}}", + "import": "Импорт этой книги", + "mediaKind": { + "ebook": "Электронная книга", + "audiobook": "Аудиобкук", + "comic": "Комикс" + } + }, + "review": { + "title": "Почему это ждет", + "scoreShort": "Импортированный файл набрал {score} на этот запрос, ниже {threshold} , необходимый для его автоматического оформления.", + "scoreClears": "Импортированный файл набрал {score}, который очищает файл {threshold} для его автоматического файла.", + "verificationOff": "Импорт выключен, поэтому по запросу этот файл никогда не был забит.", + "reason": { + "isbn_match": "Его ISBN является той, которая была запрошена.", + "above_threshold": "Похоже, что эта книга была запрошена.", + "below_threshold": "Проверьте поля ниже и решите, является ли это правильной книгой.", + "author_mismatch": "Название близко, но автор кто-то другой.", + "no_title": "Файл не содержит читаемого заголовка, так что сравнивать нечего." + }, + "field": { + "title": "Заголовок", + "authors": "Автор", + "isbn13": "ISBN" + }, + "verdict": { + "match": "Совпадения", + "mismatch": "Не совпадает", + "unknown": "Не сравнивается" + }, + "requested": "Запрошено", + "imported": "Импортировано", + "absent": "Ни запрос, ни файл не существует.", + "notSet": "Не задано", + "filesTitle": "Что приземлилось", + "fileCount": "{count, plural, one {# файл} other {# файлов} few {# файлов} many {# файлов}}", + "role": { + "cover": "Обложка", + "metadata": "Метаданные", + "supplement": "Доп." + }, + "fileAnyway": "Все равно записать", + "fileAnywayHint": "Делает это в библиотеку назначения и помечает запрос доступным, точно так же, как и проходящий балл.", + "noDestination": "Этот запрос не имеет библиотеки назначения с папкой в нем, поэтому нет места для записи в книгу.", + "openDock": "Открыть док-бар книги", + "missingEntry": "Файл с этим запросом больше не находится в доке книги. Он был подан или отброшен вручную, так что здесь ничего не осталось для рассмотрения.", + "missingEntryNext": "Если книга уже есть в вашей библиотеке, закройте ее ниже. Если нет, отмените запрос и найдите другой релиз.", + "filed": "Пополнено в вашу библиотеку.", + "fileFailed": "Не удалось отправить файл для этого импорта", + "discard": "Отменить импорт", + "discardHint": "Используйте это, когда релиз оказался неправильной книгой. Файлы удаляются из док-станции и запрос не был отмечен." + }, + "sources": { + "noneConfigured": "Нет поисковых источников.", + "allDisabled": "Каждый источник поиска выключен.", + "noneConfiguredHint": "Запросы могут быть отправлены, но ничего не будет искать до тех пор, пока вы не добавите индексатор или не установите исходный плагин.", + "allDisabledHint": "Запросы могут быть заполнены, но ничего не будет искать до тех пор, пока вы не включите их обратно.", + "askAdmin": "Запросы могут быть отправлены, но ничего не будет искать до тех пор, пока администратор не установит их.", + "addSource": "Добавить источник", + "reviewSources": "Просмотр источников" + }, + "selfServeBadge": "Самостоятельный", + "selfServeBadgeHint": "Загружено непосредственно инициатором, без этапа утверждения", + "missingFormat": { + "labelAudiobook": "Аудиокнига для этой книги", + "labelEbook": "Электронная книга для этой книги", + "noAudiobook": "Пока нет аудиокниги", + "noEbook": "Ещё нет электронной книги", + "requestAudiobook": "Запросить аудиокнигу", + "requestEbook": "Запросить электронную книгу", + "requested": "Запрошено", + "requestedBySomeone": "Запрошено кем-то другим", + "ownedElsewhere": "В вашей библиотеке как отдельная книга", + "open": "Открыть", + "viewRequest": "Просмотр запроса", + "submittedAudiobook": "Запрошено. Аудиокнига присоединится к этой книге по прибытии", + "submittedEbook": "Запрошено. Электронная книга присоединится к этой книге по прибытии" } }, "collection": { + "visibleToAll": "Видимость для всех пользователей", + "visibleToAllHint": "Каждый пользователь может видеть эту коллекцию, но только вы можете изменить её книги", "dialog": { "name": "Наименование", "icon": "Иконка", @@ -4799,6 +8876,7 @@ }, "createDialog": { "title": "Новая подборка", + "podcastTitle": "Новая коллекция подкастов", "namePlaceholder": "напр. Избранное" }, "editDialog": { @@ -4858,6 +8936,10 @@ "annotations": "Аннотации", "uploadBooks": "Загрузить книги", "appearance": "Внешний вид", + "appearanceDescription": "Выберите тему, акцент, радиус угла, поверхность и фоновое изображение.", + "style": "Стиль", + "surfacePalette": "Поверхность", + "topGlow": "Верхнее свечение", "theme": "Тема", "accent": "Акцент", "radius": "Radius", @@ -4878,7 +8960,8 @@ "cta": "Поставить звезду BookOrbit на GitHub" }, "surfaceOpacity": "Непрозрачность поверхности", - "surfaceOpacityValue": "{value}%" + "surfaceOpacityValue": "{value}%", + "surfaceBrightnessValue": "{value}%" }, "sidebar": { "dashboard": "Панель", @@ -4895,8 +8978,16 @@ "newCollection": "Новая подборка", "noCollections": "Коллекций пока нет", "newReleaseNotes": "Доступны новые заметки к выпуску", + "requestBadge": { + "allActive": "{count, plural, one {# активный запрос для всех пользователей} other {# активные запросы для всех пользователей} few {# активные запросы для всех пользователей} many {# активные запросы для всех пользователей}}", + "mineActive": "{count, plural, one {# активный запрос вашего} other {# активных запросов вашего} few {# активных запросов вашего} many {# активных запросов вашего}}" + }, "support": "Поддержка BookOrbit", "supportAria": "Поддержите BookOrbit на Ko-fi", + "appLinks": { + "ios": "Скачать приложение для iOS", + "android": "Скоро появится приложение Android" + }, "sectionHeader": { "add": "Добавить", "showAll": "Показать все", @@ -4924,6 +9015,18 @@ "filterPodcastLibraries": "Filter podcast libraries", "filterPodcastLibrariesPlaceholder": "Filter podcast libraries...", "seeAllPodcastLibraries": "See all podcast libraries ({count})", + "podcastScopes": "Области подкаста", + "newPodcastScope": "Новый охват подкаста", + "noPodcastScopes": "Пока нет областей подкаста", + "filterPodcastScopes": "Фильтр областей подкаста", + "filterPodcastScopesPlaceholder": "Фильтр охватов подкастов...", + "seeAllPodcastScopes": "Посмотреть все области подкаста ({count})", + "podcastCollections": "Коллекции подкастов", + "newPodcastCollection": "Новая коллекция подкастов", + "noPodcastCollections": "Коллекций подкастов пока нет", + "filterPodcastCollections": "Фильтр подкастов подкастов", + "filterPodcastCollectionsPlaceholder": "Подкасты фильтров...", + "seeAllPodcastCollections": "Посмотреть все коллекции подкастов ({count})", "queue": "Queue", "mode": { "books": "Books", @@ -4931,8 +9034,11 @@ "switcherAria": "Switch between books and podcasts" }, "updateAvailable": "Обновить {version}", + "updateTooltip": "Доступно обновление {version}", + "openUpdateRelease": "Открыть релиз {version} на GitHub", "zones": { - "browse": "Обзор" + "browse": "Обзор", + "reading": "Чтение" }, "reorder": { "gripAria": "Изменить порядок {name}", @@ -4941,7 +9047,15 @@ "dropped": "{name} вышел в позицию {position} от {total}", "cancelled": "Переордер отменен. {name} вернулся на позицию {position} из {total}.", "filteredHint": "Очистить фильтр для изменения порядка" - } + }, + "podcastImportProgress": "{processed} / {total} файлы", + "podcastImportCounting": "Подсчёт файлов…", + "playlists": "Умные плейлисты", + "newPlaylist": "Новый умный плейлист", + "noPlaylists": "Пока нет смарт-плейлистов", + "filterPlaylists": "Фильтр смарт-плейлистов", + "filterPlaylistsPlaceholder": "Фильтровать смарт-плейлисты...", + "seeAllPlaylists": "Посмотреть все умные плейлисты ({count})" }, "selectionActionBar": { "setReadingStatus": "Установить статус чтения", @@ -4955,6 +9069,8 @@ "moreActions": "Другие действия", "setField": "Установить поле", "refreshMetadata": "Обновить метаданные", + "refreshConfirm": "{count, plural, one {Обновить метаданные для #книги?} other {Обновить метаданные для # книг?} few {Обновить метаданные для # книг?} many {Обновить метаданные для # книг?}}", + "refreshConfirmAction": "Обновить", "reExtractCover": "Извлечь крышку повторно", "metadataLock": "Блокировка метаданных", "lockAll": "Заблокировать все", @@ -5003,9 +9119,82 @@ "columnsHint": "Используйте панель видимости столбца в заголовке таблицы, чтобы показать или скрыть столбцы.", "coverShape": "Форма обложки", "circle": "Круг", - "square": "Квадрат" + "square": "Квадрат", + "rowDensity": "Высота строки", + "densityCompact": "Компактный", + "densityComfortable": "Cosy", + "densityRoomy": "Комната", + "coverFallback": "Использовать обложки книги для недостающих портретов" + }, + "viewModes": { + "grid": "Вид сетки", + "list": "Вид списка", + "table": "Просмотр таблицы" } }, + "browseHeader": { + "eyebrow": { + "library": "Библиотека", + "smartScope": "Умный охват", + "collection": "Коллекция", + "browse": "Обзор" + }, + "facts": { + "books": "{count, plural, one {# книга} other {# книг} few {# книг} many {# книг}}", + "booksOf": "{matching} из {total, plural, one {# книга} other {# книги} few {# книги} many {# книги}}", + "authors": "{count, plural, one {# автор} other {# авторы} few {# авторы} many {# авторы}}", + "series": "{count, plural, one {# серия} other {# серия} few {# серия} many {# серия}}", + "scanned": "Отсканированная {time}", + "scanningProgress": "Сканирование {processed} / {total}", + "syncsToKobo": "Синхронизация с Кобо" + }, + "switcher": { + "open": "Переключить с {name}", + "jumpTo": "Перейти к...", + "libraries": "Библиотеки", + "smartScopes": "Умные рамки", + "collections": "Коллекции", + "empty": "Ничего не найдено" + }, + "search": { + "removeToken": "Удалить фильтр {label}", + "clearAll": "Очистить поиск и фильтры", + "save": "Сохранить", + "summaryToken": "{count, plural, one {# фильтр} other {# фильтров} few {# фильтров} many {# фильтров}}" + }, + "tokens": { + "anyOf": "Любой из {count, plural, one {# правило} other {# правила} few {# правила} many {# правила}}", + "allOf": "Все {count, plural, one {# правило} other {# правила} few {# правила} many {# правила}}" + }, + "sort": { + "sortBy": "Сортировать по {field}", + "ascending": "По возрастанию. Переключиться по убыванию", + "descending": "По убыванию. Переключиться по возрастанию" + }, + "facets": { + "format": "Формат", + "rules": "Правила", + "show": "Показать", + "library": "Библиотека", + "status": "Статус", + "ruleCount": "{count, plural, one {# правило} other {# правила} few {# правила} many {# правила}}" + }, + "menu": { + "more": "Ещё для {name}", + "editRules": "Редактировать правила", + "deleteSmartScope": "Удалить Умный охват", + "deleteCollection": "Удалить коллекцию", + "confirmDelete": "Удалить «{name}»? Это действие нельзя отменить.", + "upload": "Загрузить книги" + }, + "scan": { + "scanning": "Сканирование", + "started": "Сканирование {name}", + "finished": "Сканирование {name} завершено" + }, + "viewModes": "Режим просмотра", + "legend": "Цвета громкости" + }, "iconPicker": { "clearSelectionAria": "Очистить выбранный значок", "searchLucide": "Искать значки отступ...", @@ -5024,11 +9213,29 @@ "description": "Эта {entity} не существует или была удалена.", "goBack": "Вернуться" }, + "media": { + "volume": "Объем", + "mute": "Заглушить", + "unmute": "Включить звук" + }, "themePicker": { "light": "Светлая", "dark": "Тёмная", "system": "Система" }, + "radiusPicker": { + "sharp": "Острые углы", + "default": "Углы по умолчанию", + "rounded": "Скругленные углы", + "pill": "Углы формы Пилла" + }, + "languagePicker": { + "searchPlaceholder": "Поиск языков", + "suggested": "Рекомендуется", + "all": "Все языки", + "results": "Результаты", + "empty": "Нет языков, соответствующих \"{query}\"" + }, "userAvatar": { "profilePicture": "Изображение профиля", "profilePictureOf": "Изображение профиля {name}" @@ -5037,11 +9244,21 @@ "sidebar": { "title": "Sidebar", "mobileDescription": "Отображает мобильную боковую панель.", - "toggle": "Переключить боковую панель" + "toggle": "Переключить боковую панель", + "collapse": "Свернуть боковую панель", + "expand": "Expand sidebar", + "open": "Открыть боковую панель", + "close": "Закрыть боковую панель" }, "chipInput": { "typeAndEnter": "Введите и нажмите Enter для добавления", - "pressEnter": "Нажмите Enter для добавления" + "pressEnter": "Нажмите Enter для добавления", + "remove": "Удалить {value}" + }, + "tokenSelect": { + "remove": "Удалить {value}", + "noMatches": "Нет совпадений", + "showOptions": "Показать параметры" } }, "entityIndex": { @@ -5064,6 +9281,50 @@ "podcastLibrariesEmptyHint": "Create a podcast library to start following shows.", "smartScopesEmptyHint": "Умные списки сохраняют часто используемый набор фильтров.", "collectionsEmptyHint": "Коллекции группируют книги, которые вы выбираете вручную." + }, + "legalNotices": { + "about": "О BookOrbit", + "trigger": "Правовые уведомления", + "title": "О BookOrbit", + "description": "Атрибуция BookOrbit, лицензирование и исходный код.", + "poweredBy": "При поддержке BookOrbit", + "originalDevelopment": "Эта программа содержит материалы, изначально разработанные BookOrbit.", + "copyright": "Copyright (C) 2025-2026 neon.", + "contributors": "Дополнительные авторские права принадлежат соответствующим авторам BookOrbit.", + "licenseSummary": "Лицензировано под GNU Affero General Public License, версии 3 с дополнительными условиями. Это программное обеспечение предоставляется без гарантии. Вы можете распространять и изменять его в соответствии с этими условиями.", + "sourceCode": "Исходный код", + "license": "Лицензия AGPLv3", + "additionalTerms": "Дополнительные условия" + }, + "confirmDialog": { + "typeToConfirm": "Наберите “{phrase}” для подтверждения" + }, + "formSheet": { + "discardTitle": "Отменить изменения?", + "discardDescription": "Ваши несохраненные изменения будут потеряны.", + "discardConfirm": "Сбросить" + }, + "backgroundPicker": { + "none": "Нет", + "dots": "Точки", + "cross": "Крест", + "millimeter": "Millimeter", + "blueprint": "Чертеж", + "brushed": "Кисть", + "scanlines": "Сканнины", + "vinyl": "Винил", + "carbon": "Углерод", + "perforated": "Перфорировано", + "aurora": "Aurora", + "horizon": "Горизонт", + "glow": "Свечение", + "mesh": "Сетка", + "elevation": "Превышение", + "prism": "Призма", + "spectrum": "Спектр", + "spectrum-x": "Спектр X", + "spectrum-plus": "Спектр Плюс", + "eclipse": "Затмение" } }, "customIcons": { @@ -5102,6 +9363,10 @@ "cover": "Обложка", "bookCover": "Обложка книги" }, + "libraryLoad": { + "errorTitle": "Не удается загрузить ваши библиотеки", + "errorDescription": "BookOrbit не смог получить ваши библиотеки. Данные вашей библиотеки не были удалены." + }, "scroller": { "failedToLoad": "Не удалось загрузить.", "empty": { @@ -5117,6 +9382,7 @@ }, "settings": { "title": "Настроить панель", + "preferencesTitle": "Настройки панели инструментов", "tabs": { "widgets": "Виджеты", "shelves": "Полки" @@ -5145,6 +9411,32 @@ "random": "Откройте для себя что-то новое", "smartScope": "Умный охват" }, + "shelfLayout": { + "title": "Макет полки", + "description": "Выберите, как располагаются полки на больших экранах.", + "wide": "Широкие строки", + "wideDescription": "Показать одну полку в строке.", + "twoColumns": "Две колонки", + "twoColumnsDescription": "Показывать две полки в строке." + }, + "shelfSync": { + "label": "Синхронизировать полки между сессиями", + "description": "Сохраняйте порядок полки, видимость, количество рядов и макет в аккаунте. Когда выключен, настройки полки останутся в этом браузере." + }, + "saveFailed": "Не удалось сохранить настройки панели. Проверьте подключение и повторите попытку.", + "libraryScope": { + "title": "Библиотеки панели инструментов", + "description": "Выберите, какие библиотеки предоставляют книги и данные для чтения на этой панели управления.", + "allLibraries": "Все доступные библиотеки", + "summaryNone": "Библиотеки не выбраны", + "summaryCount": "{count, plural, one {# библиотека} other {# библиотек} few {# библиотек} many {# библиотек}}", + "required": "Выберите хотя бы одну библиотеку." + }, + "shelfRows": { + "label": "Строки книг", + "option": "{count, plural, one {Один ряд книг} other {# рядов книг} few {# рядов книг} many {# рядов книг}}", + "hint": "Установка количества рядов книг на каждой полке. Узкие экраны показывают не более двух." + }, "reorderHintWidget": "Перетащите для переупорядочения. Переключите, чтобы показать или скрыть виджет.", "reorderHintShelf": "Перетащите для переупорядочения. Переключите, чтобы показать или скрыть полку.", "smartScope": "Умный охват", @@ -5254,7 +9546,8 @@ "trendSteady": "Стабильный темп", "pages": "страницы", "hours": "часов", - "readCount": "Прочитано {count}" + "readCount": "Прочитано {count}", + "daysLeft": "Осталось дней: {count}" } } }, @@ -5277,6 +9570,7 @@ }, "tabs": { "providers": "Поставщики", + "servers": "Почтовые серверы", "recipients": "Получатели", "groups": "Группы", "templates": "Шаблоны", @@ -5310,6 +9604,7 @@ "toggleSharing": "Переключить обмен", "removeSystemBeforeDelete": "Удалить обозначение системы перед удалением", "notesHeading": "Примечания поставщика", + "notesBody": "Провайдер {system} (только суперпользователь) используется для сброса пароля. Провайдер {defaultProvider} используется для отправки книг без выбора явного поставщика. Поставщики, отмеченные {shared} , доступны всем пользователям.", "deleteTitle": "Удалить поставщика?", "nameHostRequired": "Имя и хост обязательны", "created": "Поставщик создан", @@ -5446,26 +9741,217 @@ "failed": "Не удалось отправить" }, "page": { + "addRecipient": "Добавить получателя", + "recipients": "Получатели", + "groups": "Группы", + "newGroup": "Новая группа", + "servers": "Почтовые серверы", + "addServer": "Добавить почтовый сервер", + "templates": "Шаблоны", + "newTemplate": "Новый шаблон", + "noServersReadonly": "У вас пока нет почтового сервера. Попросите администратора добавить его.", + "roleShared": "Поделиться со всеми", + "roleSystem": "Сброс пароля", + "cantConnect": "Не удается подключиться", + "builtIn": "Построен в", + "recipientsEmptyTitle": "Добавьте электронный читатель или папку \"Входящие\" в", + "recipientsEmptyBody": "Адрес Kindle заканчивается на {kindle} и перечисляется на устройствах в вашей учетной записи Amazon. Карманная книга заканчивается на {pocketbook}. Любые обычные входящие также работают.", + "kindleNote": "Отправители получают почту только от одобренных отправителей. Добавьте {address} в Настройки персональных документов в вашей учетной записи Amazon.", + "copyAddress": "Копировать адрес", + "addressCopied": "Адрес скопирован", "editServer": "Редактировать {name}", "editTemplate": "Редактировать {name}", - "editGroup": "Редактировать {name}" + "editGroup": "Редактировать {name}", + "groupCount": "{count, plural, one {# recipient} other {# recipients} few {# recipients} many {# recipients}}", + "recipientsHint": "Отмеченный выбирается когда вы отправляете.", + "groupsHint": "Отправлять нескольким получателям одновременно.", + "groupsEmpty": "Пока нет групп.", + "serversHint": "Отмеченный посылает ваши книги.", + "templatesHint": "Тема и сообщение, отправленное с каждой книги.", + "kindleTemplateNote": "Kindle никогда не показывает шаблон: его адрес всегда выходит с темой {subject}.", + "test": "Тест", + "testServer": "Тест {name}", + "testOk": "{name} подключен", + "testFailed": "{name} не может подключиться", + "defaultRecipient": "Получатель по умолчанию", + "makeDefaultRecipient": "Сделать {name} получателем по умолчанию", + "defaultServer": "Сервер по умолчанию", + "makeDefaultServer": "Сделать {name} сервером по умолчанию", + "defaultTemplate": "Шаблон по умолчанию", + "makeDefaultTemplate": "Сделать {name} шаблоном по умолчанию", + "editRecipient": "Изменить {name}", + "serversEmptyTitle": "Нет почтового сервера", + "serversEmptyBody": "Если вы хотите получить доступ к SMTP-аккаунту, то вы можете использовать Gmail, Outlook, iCloud и Fastmail; любой другой сервер тоже работает.", + "needServerTitle": "Добавьте почтовый сервер перед отправкой", + "needServerBody": "BookOrbit отправляет книги через ваш аккаунт SMTP, такой как Gmail с паролем приложения.", + "needServerAsk": "Попросите администратора поделиться с вами почтовым сервером.", + "goToServers": "Перейти к почтовым серверам", + "noEncryption": "Без шифрования" + }, + "route": { + "defaultSaved": "Обновлено по умолчанию" }, "attention": { + "title": "Требует внимания", + "count": "{count, plural, one {# предмет} other {# предметов} few {# предметов} many {# предметов}}", "hide": "Скрыть", - "show": "Показать" + "show": "Показать", + "serverDown": "{name} не может подключиться", + "notDelivered": "{book} не достиг {recipient}", + "maybeDelivered": "{book} не может достигнуть {recipient}", + "testedAgo": "протестировано {time}", + "editServer": "Изменить сервер", + "editRecipient": "Изменить получателя", + "resend": "Переслать" + }, + "reason": { + "tooLarge": "{size} более чем {server} принимает.", + "tooLargeGmail": "{size} превышает ограничение в 25 МБ вложений Gmail.", + "tooLargeFix": "Отправить меньшую редакцию или задать получателю только текстовые EPUB.", + "signIn": "{server} отказался войти в систему.", + "signInFix": "Проверьте имя пользователя и пароль на почтовом сервере.", + "unreachable": "{server} не ответил.", + "unconfirmed": "Соединение прервано после передачи сообщения, поэтому оно может быть прибыло.", + "unconfirmedFix": "Установите флажок \"Входящие\" перед повторной отправкой или он может прибыть дважды.", + "interrupted": "BookOrbit перезапущен, пока эта электронная почта не вышла.", + "interruptedFix": "Установите флажок \"Входящие\" перед отправкой.", + "preparation": "Файл не может быть подготовлен для отправки.", + "other": "Почтовый сервер отключил его.", + "server": "почтовый сервер", + "serverMessage": "Сообщение сервера", + "retryAt": "Следующая попытка {time}." }, "status": { + "sent": "Отправлено", "sending": "Отправка", + "retrying": "Повторная попытка · {attempt} из {total}", + "unconfirmed": "Не подтверждено", "failed": "Неудачно" }, + "recent": { + "moreActions": "Больше действий для {title}", + "deletedBook": "Удаленная книга", + "openBook": "Открыть книгу", + "resend": "Переслать", + "delete": "Удалить запись" + }, "log": { - "status": "Статус" + "all": "Все", + "attention": "Требует внимания", + "active": "В процессе", + "book": "Книга", + "sentTo": "Отправлено", + "file": "Файл", + "status": "Статус", + "when": "Когда", + "sentMeans": "Отправлено означает, что ваш почтовый сервер принял его", + "emptyFilter": "Сейчас ничего нет.", + "loadMore": "Загрузить еще", + "showing": "Показаны {shown} из {total}", + "emptyTitle": "Ничего не отправлено", + "emptyBody": "Книги, которые вы отправляете по электронной почте, отображаются здесь с указанием того, куда они ехали, и принимал ли почтовый сервер." + }, + "card": { + "nothingSent": "Ничего не отправлено", + "failed": "не удалось", + "retrying": "повторить", + "unconfirmed": "неподтверждено", + "sending": "отправка", + "narration": "Пояснение", + "narrationTitle": "Чтение книг сохраняет свое повествование" + }, + "device": { + "kindle": "Колдун", + "kobo": "Kobo", + "other": "Другое электронное чтение", + "otherShort": "Электронный читатель", + "none": "Персона или входящие" + }, + "sheet": { + "title": "Отправить по электронной почте", + "sendTo": "Отправить", + "groups": "Группы", + "templateName": "Шаблон {name}", + "eachFormat": "Формат каждого получателя", + "formatForAll": "{format} для всех", + "file": "Файл", + "mailServer": "Сервер почты", + "template": "Шаблон", + "yourDefault": "ваш по умолчанию", + "emails": "{count, plural, one {# email} other {# emails} few {# emails} many {# emails}}", + "noOnePicked": "Не выбрано ни одного", + "total": "{size} в общей сложности", + "send": "{count, plural, one {Отправляйте} other {Посылайте # письма} few {Посылайте # письма} many {Посылайте # письма}}", + "noFormat": "Нет {format}, получает {got}", + "readAlong": "Совместное чтение, {size}", + "overKindle": "{size}, более чем на 50 МБ байт", + "overGmail": "{size}, более 25 МБ Gmail", + "kindleRejects": "Ставки отвергаются {format}", + "blockedKindle": "{name} не может взять {format}. Выберите EPUB или PDF или отключите его.", + "books": "{count, plural, one {# книга} other {# книг} few {# книг} many {# книг}}", + "notReadyTitle": "Email еще не настроен", + "notReadyBody": "Прежде чем книга будет доступна в любом месте, эта учетная запись нуждается в почтовом сервере и получателе.", + "addServer": "Добавить почтовый сервер", + "addServerHint": "Gmail, Outlook, iCloud, Fastmail или любой SMTP аккаунт.", + "askForServer": "Попросите администратора поделиться почтовым сервером.", + "addRecipient": "Добавить получателя", + "addRecipientHint": "Ваш Kindle, PocketBook или любой почтовый ящик.", + "openSettings": "Открыть настройки электронной почты", + "sendingTitle": "Отправка {title}", + "closeHint": "Вы можете закрыть это. Ошибки также отображаются в уведомлениях и в истории электронной почты.", + "openHistory": "Открыть историю", + "done": "Готово", + "acceptedBy": "Принято {server} {time}", + "handingOver": "Передача {server}" }, "editor": { + "kindleSubject": "конвертировать", "recipient": { - "kindleLegacyFormat": "Kindle больше не принимает {format} по электронной почте. Выберите EPUB или PDF." + "newTitle": "Новый получатель", + "description": "Имя получателя, адрес, устройство и его получатели.", + "sectionRecipient": "Получатель", + "sectionReceives": "Что он получает", + "name": "Наименование", + "email": "Email адрес", + "device": "Устройство", + "deviceHint": "Измените предмет на {subject} и ограничите форматы ниже.", + "format": "Формат", + "formatPrimary": "Основная книга", + "formatHint": "Книга без этого формата получает свое основное издание.", + "kindleFormatHint": "Amazon перестал принимать MOBI и AZW3 по электронной почте в 2023 году, так что они не предлагаются для Kindle. Книга без этого формата получает свое основное издание.", + "kindleLegacyFormat": "Kindle больше не принимает {format} по электронной почте. Выберите EPUB или PDF.", + "readAlong": "Читайте книги", + "readAlongAutomatic": "Автоматически", + "readAlongAutomaticHint": "Только текст, когда безопасная копия может быть сделана, в противном случае оригинал.", + "readAlongTextOnly": "Текстовый EPUB", + "readAlongTextOnlyHint": "Рассказ снят. Достаточно мало для электронной почты.", + "readAlongOriginal": "Оригинал с описанием", + "readAlongOriginalHint": "Сохраняет повествование. Часто 100 МБ или больше, превышающих лимиты почтовых серверов.", + "notForKindle": "Не для Kindle", + "template": "Шаблон", + "templateDefault": "По умолчанию ({name})", + "templateKindleHint": "Игнорируется для Kindle, который никогда не показывает сообщение.", + "approveTitle": "Одобрить отправителя в Amazon", + "approveBody": "Пожалуйста, удалите письмо с адресов не знаю, без отскока. В {path}, добавьте {address}", + "approvePath": "Управление содержимым и устройствами › Настройки персональных документов ›", + "approveNoServer": "Добавьте почтовый сервер, чтобы увидеть адрес Kindle должен подтвердить.", + "lastSent": "Последняя отправленная книга {time}", + "sendTest": "Отправить тестовое письмо", + "testSubject": "BookOrbit тестовое письмо", + "testBody": "Это тест из BookOrbit. Если вы можете прочитать его, то сюда также прибудут книги, отправленные {name}.", + "testSent": "Тестовое письмо отправлено {name}", + "testFailed": "Тестовое письмо не вышло: {error}", + "makeDefault": "Сделать получателем быстрой отправки", + "remove": "Удалить получателя", + "removeConfirm": "Удалить {name}?", + "removeConsequence": "Его история отправки остается.", + "removeDefaultConsequence": "Его отправка истории остается, и быстро отправить останавливаться до тех пор, пока вы не сделаете звезду другому получателю.", + "required": "Необходимо указать имя и адрес электронной почты.", + "sectionLastSent": "Последняя отправка" }, "server": { + "newTitle": "Новый почтовый сервер", + "description": "SMTP-сервер, его вход и кто может отправить через него.", "sectionProvider": "Провайдер", "sectionServer": "Сервер", "sectionSignIn": "Войти", @@ -5476,15 +9962,82 @@ "presetIcloud": "iCloud Mail", "presetFastmail": "Fastmail", "presetOther": "Другой SMTP", + "presetHint": "Предупреждение заполняется хостом, портом и безопасностью. Вы можете изменить их.", "name": "Имя", "host": "Хост", "port": "Порт", "security": "Безопасность", "securityStarttls": "STARTTLS", "securitySsl": "SSL/TLS", + "securityNone": "Нет", "securityHint": "STARTTLS на 587, SSL/TLS на 465. Необходимо выбрать один.", + "needsPassword": "Для этого сервера необходим пароль", "username": "Имя пользователя", - "password": "Пароль" + "password": "Пароль", + "appPassword": "Пароль приложения", + "passwordKeep": "Сохранено. Введите для замены", + "appPasswordHint": "Gmail и iCloud требуется пароль от приложения, а не пароль учетной записи.", + "fromName": "От имени", + "fromAddress": "Адрес отправителя", + "fromAddressHint": "Уважаемые владельцы должны подтвердить этот адрес.", + "share": "Поделиться со всеми", + "shareHint": "Другие люди могут отправлять книги через этот сервер без просмотра пароля.", + "system": "Отправить сбросы пароля и ссылки на вход", + "systemHint": "Один сервер BookOrbit сам использует. Только суперпользователь может изменить это.", + "verifyTls": "Проверьте сертификат сервера", + "verifyTlsHint": "Выключать только для сервера в вашей сети с самоподписанным сертификатом.", + "test": "Проверить соединение", + "testDirty": "Сохраните сначала и затем тест", + "testOk": "Подключено", + "testFailed": "Не удается подключиться: {error}", + "remove": "Удалить сервер", + "removeConfirm": "Удалить {name}?", + "removeConsequence": "Все они разделены с потерей этого.", + "removeSystemFirst": "Выключите сбрасывание паролей на этом сервере перед удалением.", + "makeDefault": "Использовать по умолчанию", + "required": "Имя и хост обязательны." + }, + "template": { + "newTitle": "Новый шаблон", + "description": "Тема и сообщение, отправленное с каждой книги.", + "sectionTemplate": "Шаблон", + "sectionInsert": "Insert", + "sectionPreview": "Предпросмотр", + "name": "Наименование", + "subject": "Тема", + "message": "Сообщение", + "groupBook": "Книга", + "groupFile": "Файл", + "groupOther": "Прочие вопросы", + "insertHint": "Идет на курсор, в теме или сообщении. Пустые значения ничего не печатают.", + "insertVariable": "Insert {variable}", + "previewWith": "Предпросмотр с", + "previewEmpty": "Отправьте книгу один раз для предварительного просмотра шаблона с ней.", + "previewFailed": "Предпросмотр не может быть отображен.", + "previewTo": "Кому", + "builtInReadonly": "Только суперпользователь может изменить его.", + "kindleNote": "Kindle никогда не показывает шаблон: он всегда получает тему {subject}.", + "makeDefault": "Сделать мой стандартный", + "remove": "Удалить шаблон", + "removeConfirm": "Удалить {name}?", + "removeConsequence": "Получатели, которые используют его, вернулись к шаблону по умолчанию.", + "required": "Название и тема обязательны.", + "attachment": "Прикреплено: {name}" + }, + "group": { + "newTitle": "Новая группа", + "description": "Набор получателей для отправки одной книги сразу.", + "sectionGroup": "Группа", + "sectionMembers": "Члены Комитета", + "name": "Наименование", + "memberCount": "{count} из {total}", + "noRecipientsTitle": "Нет получателей для выбора из", + "noRecipientsBody": "Группа - это набор получателей. Сначала добавьте получателя.", + "remove": "Удалить группу", + "removeConfirm": "Удалить {name}?", + "removeConsequence": "Его получатели остались.", + "required": "Группа должна иметь имя.", + "updated": "Группа обновлена" } } }, @@ -5538,7 +10091,8 @@ "description": "Приостановить синхронизацию оборудования без отключения." }, "syncOnStatus": { - "title": "Синхронизация при смене статуса" + "title": "Синхронизация при смене статуса", + "description": "Отправлять обновления, когда вы отмечаете книгу как чтение, чтение и т.д." }, "syncOnProgress": { "title": "Синхронизация при обновлении", @@ -5629,6 +10183,7 @@ }, "review": { "title": "Обзор темы импорт с тяжелым обложкой", + "subtitle": "Книг Hardcover: {total}, совпадений: {matched}.", "closeAriaLabel": "Закрыть обзор импорта", "searchPlaceholder": "Поиск по заголовку или автору", "importProgress": "Прогресс импорта", @@ -5682,6 +10237,7 @@ }, "linkedBooks": { "title": "Связанные книги", + "description": "Показывает книги, которые вы сейчас читаете. Как только книга будет совпадать с Hardcover, выберите другую редакцию (физическую, электронную книгу, аудиокнигу), чтобы изменить то, что ваш прогресс чтения синхронизируется.", "loading": "Загрузка книг...", "loadError": "Не удалось загрузить книги.", "retry": "Повторить", @@ -5692,14 +10248,22 @@ "isbn": "ISBN", "title": "Название", "cached": "Кэшировано", - "manual": "Вручную" + "manual": "Вручную", + "metadata_id": "Совпадение метаданных" }, "status": { - "error": "Ошибка: {error}" + "error": "Ошибка: {error}", + "linked": "Связанные", + "linkedWithMethod": "Связанные ({method})", + "notLinked": "Еще не привязано" }, + "unmatchedHint": "Эта книга еще не совпала с Hardcover. Она будет автоматически сопоставлена при следующей синхронизации.", "editionsLoadError": "Не удалось загрузить редакции.", "viewEditions": "Просмотр редакций", "noEditionsFound": "Редакции не найдены.", + "booksTruncated": "Показываются первые книги {count} , которые вы читаете.", + "editionsTruncated": "Показаны первые версии {count}.", + "pages": "{count, plural, one {# страница} other {# страницы} few {# страницы} many {# страницы}}", "isbn": "ISBN {isbn}", "current": "Текущий", "useThis": "Использовать", @@ -5743,12 +10307,40 @@ "title": "Стиль обложки", "portrait": "Портрет", "square": "Квадрат", - "hint": "Портрет для электронной книги или смешанных библиотек, площадь для библиотек только аудиокниги." + "hint": "Портрет для электронной книги или смешанных библиотек, площадь для библиотек только аудиокниги.", + "hintSlots": "Портрет для ebook или смешанных библиотек, квадрат для библиотек только аудиокниги. Книга с электронной книгой и аудиокнигой показывает обложку книги в портретной библиотеке и ее аудиокниге в квадрат." }, "icon": { "label": "Иконка", "placeholder": "Выберите иконку...", - "selected": "Выбрано" + "selected": "Выбрано", + "more": "Больше иконок" + }, + "identity": "Личность", + "podcastName": "Название библиотеки подкастов", + "podcastPlaceholder": "Мои подкасты", + "podcastDefaultName": "Подкасты", + "type": { + "title": "Тип библиотеки", + "books": "Книги", + "booksHint": "Ebooks, comics, and audiobooks", + "podcasts": "Подкасты", + "podcastsHint": "RSS-каналы и управляемое хранилище эпизодов" + }, + "cover": { + "portraitTitle": "Портретная 2:3", + "portraitHint": "Эбуки и смешанные библиотеки", + "squareTitle": "Квадрат 1:1", + "squareHint": "Библиотеки только для аудио", + "slotsHint": "Книга с электронной книгой и аудиокнигой показывает обложку, которая соответствует этой форме." + }, + "gridShape": { + "title": "Форма сетки", + "tallTitle": "Высокие ячейки", + "tallHint": "Лучше всего для книг или смешанных библиотек", + "squareTitle": "Квадратные ячейки", + "squareHint": "Лучшее для аудиокниг библиотек", + "hint": "Каждая книга показывает обложку основного формата, квадрат для аудиобука. Обложка, не соответствующая клетке, следует настройкам обложки." } }, "folders": { @@ -5774,7 +10366,42 @@ "noneAdded": "Папки еще не добавлены", "runPrescanHint": "Запустите нажатие, чтобы проверить пути перед сохранением.", "scanning": "Сканирование…", - "prescan": "Пресса" + "prescan": "Пресса", + "local": { + "title": "Существующие папки подкаста", + "optional": "Опционально", + "description": "Папки, которые вы уже храните в подкастах. BookOrbit читает их там, где они есть, и никогда не переименовывать, перемещать или удалять что-либо внутри.", + "addTitle": "Добавить существующую папку в подкаст", + "addDescription": "Каждая папка непосредственно внутри становится сериалом.", + "add": "Добавить другую папку", + "remove": "Удалить {folder}" + }, + "listTitle": "Папки", + "storageTitle": "Папка хранилища", + "matchingFiles": "{count, plural, one {# подходящий файл} other {# подходящих файлов} few {# подходящих файлов} many {# подходящих файлов}}", + "bookCount": "{count, plural, one {# книга} other {# книг} few {# книг} many {# книг}}", + "checkAll": "Проверить папки снова", + "checkAgain": "Проверить {folder} снова", + "checkHint": "Каждая папка проверяется сразу же после ее добавления. Папка другой библиотеки уже читается, потому что обе библиотеки импортируют одни и те же файлы.", + "emptyHint": "Вставьте путь к серверу ниже или откройте его.", + "emptyPodcastHint": "Выберите, где будут храниться загруженные выпуски подкастов.", + "pastePlaceholder": "Вставьте путь к серверу, например /books/Sci-Fi", + "pastePodcastPlaceholder": "Вставить путь к серверу, например /podcasts", + "browse": "Обзор...", + "status": { + "checking": "Проверка", + "failed": "Проверка не удалась", + "notAccessible": "Недоступно", + "overlap": "Также в {library}", + "overlapTitle": "Библиотека \"{library}\" уже читает эту папку.", + "files": "{count, plural, one {# файл} other {# файлов} few {# файлов} many {# файлов}}" + }, + "errors": { + "empty": "Введите путь к папке сервера.", + "notAbsolute": "Введите абсолютный путь к серверу, начинающийся с /.", + "duplicate": "Эта папка уже добавлена.", + "covered": "Эта папка уже покрыта {path}." + } }, "scanner": { "scanMode": { @@ -5791,6 +10418,49 @@ "hint": "Обрабатывает каждый файл как отдельную книгу. Лучше подходит для библиотек с одним форматом за название. Избегайте, если аудиокниги охватывают несколько файлов." } }, + "addedAt": { + "title": "Дата добавления", + "hint": "Выберите, что отображает добавленная книга \"дата\". Это относится к книгам, из которых импортированы сейчас.", + "options": { + "imported": { + "title": "При импорте", + "hint": "Дата начала загрузки книги. Это значение по умолчанию." + }, + "file_modified": { + "title": "Время изменения файла", + "hint": "Последнее измененное время (mtime), часто сохраняется при копировании файлов." + }, + "file_created": { + "title": "Время создания файла", + "hint": "Когда файл впервые приземлился на диск (время рождения), вспоминает время изменения на файловых системах, которые не записывают время создания." + } + }, + "recompute": "Пересчитать сейчас", + "recomputing": "Повторное вычисление...", + "recomputeHint": "Обновите дату добавления для существующих книг, используя этот параметр.", + "recomputeSaveFirst": "Сначала сохраните ваши изменения, а затем перевычислите существующие книги.", + "backgroundConfirm": "Пересчитать даты для существующих книг? Это работает в фоновом режиме, и вы можете закрыть этот редактор. Книги с нечитаемыми файлами хранят их текущую дату.", + "progressSummary": "Обработано {processed} {total}: {updated} обновлен, {unchanged} не изменен, {skipped} пропущен, {failed} не удалось.", + "failedBooksHint": "Неудачные книги сохранили свои даты. Проверьте доступ к файлу, затем выполните повторное вычисление для повторной попытки.", + "jobStatus": { + "running": "Повторное определение дат в фоновом режиме.", + "completed": "Дата перевычисления завершена.", + "failed": "Перед завершением повторное использование остановлено. Изменения сохранены; вы можете запустить его снова." + }, + "errors": { + "sourceImported": "Сохранять файл с меткой времени до пересчета дат.", + "alreadyRunning": "Перекомпьютер уже запущен для этой библиотеки.", + "busy": "Другие повторные вычисления запущены. Повторите попытку в ближайшее время.", + "requestFailed": "Не удалось подключиться к сервису перекомпьютера. Закройте и переоткройте этот редактор, чтобы проверить его состояние.", + "interrupted": "Статус работы больше не доступен. Возможно, он был прерван перезагрузкой сервера. Вы можете безопасно запустить заново." + }, + "failureSample": "Книга {bookId}: {reason}", + "failureReasons": { + "file_unavailable": "Невозможно прочитать файл содержимого.", + "unsafe_path": "Файл содержимого выходит за пределы разрешенной библиотеки папки.", + "database_error": "Не удалось обновить базу данных." + } + }, "allowedFormats": { "title": "Разрешенные форматы", "allowAll": "Разрешить все", @@ -5804,6 +10474,36 @@ "hintAfter": ").", "add": "Добавить", "empty": "Шаблоны не добавлены." + }, + "mode": { + "title": "Как файлы становятся книгами", + "locked": "Задать при создании", + "cannotChange": "Это один параметр, который вы не можете изменить позже.", + "folderHint": "Каждая папка является одной книгой. Лучше всего, если заголовок хранит несколько форматов вместе, или аудиокнига охватывает много файлов.", + "fileHint": "Каждый файл является своей книгой. Лучше всего для плоских папок с одним форматом по названию.", + "folderResult": "Одна книга с двумя форматами", + "fileResult": "Три книги по одному на каждый файл" + }, + "import": { + "title": "Импорт", + "all": "Все форматы", + "some": "Только эти", + "groups": { + "ebook": "Эбуки", + "kindle": "Колдун", + "document": "Документы", + "comic": "Комиксы", + "audio": "Аудио" + } + }, + "skip": { + "title": "Пропустить совпадение файлов", + "count": "{count, plural, one {# шаблон} other {# шаблонов} few {# шаблонов} many {# шаблонов}}", + "hint": "Шаблоны Glob, соответствующие путям внутри библиотечных папок.", + "inputLabel": "Пропуск шаблона", + "placeholder": "Введите шаблон типа **/samples/** и нажмите Enter", + "placeholderMore": "Добавить другой шаблон", + "remove": "Удалить шаблон {pattern}" } }, "metadata": { @@ -5814,6 +10514,91 @@ "formatPriority": { "title": "Приоритет формата", "hint": "Когда книга имеет несколько форматов, предпочтение отдается формату наивысшему в списке." + }, + "moveUp": "Переместить {item} вверх", + "moveDown": "Сдвинуть {item} вниз", + "primary": { + "title": "Основной файл", + "hint": "Когда книга имеет несколько файлов, Первый в этом порядке формат становится его первичным: тот, который открывает первый и снабжает детали книги. Перетащите строку или используйте стрелки.", + "reset": "Сбросить порядок", + "first": "Первый выбор", + "notImported": "Не импортировано", + "notHeld": "{count, plural, one {# формат в этой библиотеке не хранит по умолчанию место после этого.} other {# форматирует эту библиотеку не хранит их по умолчанию после этого.} few {# форматирует эту библиотеку не хранит их по умолчанию после этого.} many {# форматирует эту библиотеку не хранит их по умолчанию после этого.}}", + "moreBelow": "{count, plural, one {# больше форматов следует в этом порядке.} other {# больше форматов следуют в этом порядке.} few {# больше форматов следуют в этом порядке.} many {# больше форматов следуют в этом порядке.}}", + "showingAll": "Показывается каждый формат.", + "showAll": "Показать все {count}", + "showFewer": "Показать меньше" + }, + "source": { + "title": "Подробности бронирования получены от", + "embeddedTitle": "Метки в файле книги", + "embeddedHint": "Чтение из основного файла", + "opfTitle": "файл metadata.opf", + "opfHint": "Сохранено рядом с книгой от Calibre", + "swap": "Поменять порядок", + "hint": "BookOrbit использует первую книгу, которая имеет и игнорирует другую. Калибровочные библиотеки сначала нужны metadata.opf." + }, + "regex": { + "title": "Настройка метаданных regex", + "sourceTitle": "Регенерация", + "description": "Извлечь метаданные из основного пути файла относительно его папки библиотеки. Расширение файла удалено перед совпадением. Выигрывает первое правило с пригодными для использования полями.", + "enable": "Включить метаданные regex", + "primaryFileHint": "Для книги, состоящей из нескольких файлов, таких как треки аудиокниги, правила читают путь к первичному файлу.", + "groups": "Именованные группы:", + "valuesHint": "Используйте автора для одного автора или автора, разделённых точками с запятой. Даты использования YYYY-MM-DD. Flags: i ignores case, u позволяет Unicode.", + "rules": "Упорядоченные правила извлечения", + "rule": "Правило {number}", + "moveUp": "Переместить правило вверх", + "moveDown": "Переместить правило вниз", + "remove": "Удалить правило", + "basePath": "Папка библиотеки", + "extensionHint": "Расширение файла автоматически игнорируется. Конечный якорь соответствует имени файла без его расширения.", + "flags": "Флаги", + "add": "Добавить правило", + "examplePath": "Пример относительного пути файла, включая расширение", + "examplePlaceholder": "Автор/Series/08 - My.Book.epub", + "exampleTitle": "Пример с обратной ссылкой автора", + "exampleTestPath": "Тестовый путь (включая расширение)", + "validating": "Проверка правил…", + "validationSuccess": "Правило синтаксис и группы действительны. Используйте предварительный просмотр для проверки совпадений для пути файла.", + "validationError": "Не удалось проверить правила. Попробуйте еще раз перед их применением.", + "validationRetry": "Проверить снова", + "validationRuleCount": "Добавить между {min} и {max} правилами.", + "preview": "Предпросмотр", + "previewing": "Правила тестирования…", + "previewError": "Не удалось просмотреть правила. Проверьте относительный путь и конфигурацию, затем повторите попытку.", + "actualInput": "Тестовый путь:", + "matched": "Соответствующее правило {number}", + "noMatch": "Ничего не найдено. Метаданные файла будут использоваться.", + "scanHint": "Изменения применяются к будущим метаданным для новых или измененных файлов. Сохранение не запускает сканирование или обновление неизмененных книг.", + "apply": "Применить к форме библиотеки", + "configure": "Настроить", + "enabledHint": "Извлечь поля из относительных путей без расширения файла.", + "disabledHint": "Отключено. Настройте правила для включения.", + "moveSourceUp": "Переместить {source} вверх", + "moveSourceDown": "Сдвинуть {source} вниз", + "diagnostics": { + "pattern_required": "Введите регулярное выражение.", + "pattern_too_long": "Выражение не должно превышать символы {count}.", + "invalid_flags": "Только i и u разрешены каждый максимум один раз.", + "invalid_pattern": "Неверное регулярное выражение.", + "missing_group": "Включить по крайней мере одну поддерживаемую группу.", + "conflicting_authors": "Используйте либо автора или автора, а не обоих.", + "invalid_value": "Неверное значение поля было пропущено.", + "timeout": "Выражение заняло слишком много времени. Упростите шаблон.", + "busy": "Все работники предварительного просмотра заняты. Попробуйте еще раз в ближайшее время.", + "worker_failed": "Выражение не может быть оценено. Попробуйте еще раз." + }, + "precedenceHint": "Первый доступный файл с метаданными передает файлы. Regex поля следуют этому порядку, и недостающие значения заполняются из другого источника.", + "summary": "Сначала {format} предпочитают метаданные регулярного выражения", + "fields": { + "title": "Заголовок", + "authors": "Авторы", + "series": "Серии", + "seriesIndex": "Номер серии", + "publishedYear": "Опубликованный год", + "publishedDate": "Дата публикации" + } } }, "fileWrite": { @@ -5829,13 +10614,23 @@ }, "cover": { "title": "Включить обложку", - "hint": "Запись обложки обратно в поддерживаемые форматы файлов." + "hint": "Запись обложки обратно в поддерживаемые форматы файлов.", + "mediumHint": "Запись обложки в файл тоже. Файлы Ebook получают обложку книги и аудио-файлы с обложкой Audiobook ; файл, обложка которого отсутствует, остаётся у себя." + }, + "allFiles": { + "title": "Записывать в каждый файл книги", + "hint": "Также записывает в другие файлы книги, такие как аудиокнига, хранящаяся рядом с книгой или PDF в той же папке. Каждый формат книги написан на самом деле, поэтому дайте подобный файл, такой как рабочая книга для его сохранения. По-прежнему применяются переключатели формата и ограничения размеров. Отключение этого отключает будущие записи; он не отменяет уже записанные файлы." }, "epub": { "title": "EPUB", "hint": "Записывает метаданные в OPF файл внутри архива EPUB.", "toggleAria": "Запись метаданных EPUB" }, + "readAlong": { + "title": "Чтение по EPUB", + "hint": "EPUB с синхронизированными описаниями, такими как Storyteller читает и записывает их аудио, поэтому им требуется больше памяти для перезаписи.", + "toggleAria": "Записывать метаданные EPUB для чтения" + }, "fb2": { "title": "FictionBook (FB2)", "hint": "Перезаписывает блок описания внутри файлов FB2, оставляя текст книги нетронутым.", @@ -5859,8 +10654,20 @@ "audio": { "title": "Аудио", "hint": "Встраивает обложку в файлы M4B, M4A, MP3 и FLAC.", - "toggleAria": "Записать обложки аудио" - } + "toggleAria": "Записать обложки аудио", + "tagsHint": "Запись тегов, таких как заголовок, авторов, сканеров, и серий в M4B, M4A, MP3 и FLAC файлы.", + "tagsToggleAria": "Запись метаданных аудио" + }, + "coverAudioHint": "Запись обложки в файл. Аудио файлы могут брать только обложку.", + "audioNeedsCover": "Нужно включить изображение обложки.", + "table": { + "format": "Формат", + "inLibrary": "Здесь", + "sizeLimit": "Лимит размера" + }, + "sizeLimitAria": "Предел размера {format} в MB", + "mb": "МБ", + "summary": "{count, plural, =0 {Типы файлов не записываются.} one {# тип файла записывается. Файлы превышают лимит размера пропущены.} other {# видов файлов записываются. Файлы превышающие их лимит пропущены} few {# видов файлов записываются. Файлы превышающие их лимит пропущены} many {# видов файлов записываются. Файлы превышающие их лимит пропущены}}" }, "reading": { "readingStart": { @@ -5869,12 +10676,23 @@ }, "markAsFinished": { "title": "Отметить как завершенное", - "hint": "Книга автоматически помечается как \"прочитанная\" при достижении этого процента прогресса." - } + "hint": "Книга автоматически помечается как \"прочитанная\" при достижении этого процента прогресса.", + "invalidThreshold": "Завершенный прогресс должен быть от 90% до 100%." + }, + "statusTitle": "Статус чтения", + "zones": { + "notStarted": "Не начато", + "reading": "Чтение", + "read": "Чтение" + }, + "range": "Между {min} и {max}.", + "startSlider": "Перетащите, когда книга подсчитывается при запуске", + "finishSlider": "Перетащите, когда книга засчитывается по завершению" }, "schedule": { "fileWatching": "Просмотр файла", "autoScanSchedule": "Расписание автосканирования", + "timezoneHint": "Расписание запускается в часовом поясе сервера.", "cronExpression": "Выражение Cron", "cronInvalid": "Неверное выражение cron.", "cronFormat": "Формат: минутный час день месяца в будние дни", @@ -5893,6 +10711,7 @@ }, "human": { "disabled": "Автосканирование отключено", + "invalid": "Введите корректный график, чтобы увидеть предварительный просмотр", "hourly": "Каждый час", "every6Hours": "Каждые 6 часов", "every12Hours": "Каждые 12 часов", @@ -5923,9 +10742,104 @@ "errors": { "grant": "Не удалось предоставить доступ", "updateLevel": "Не удалось обновить уровень доступа", - "revoke": "Не удалось отменить доступ" + "revoke": "Не удалось отменить доступ", + "load": "Не удалось загрузить настройки доступа к библиотеке." + }, + "peopleTitle": "Люди с доступом", + "peopleCount": "{count, plural, one {# человек} other {# людей} few {# людей} many {# людей}}", + "add": "Добавить", + "emptyCreate": "Никто еще не добавил сюда ни одного пользователя. Люди, которых вы добавляете, получают доступ сразу же после того, как библиотека существует.", + "superusers": "Суперпользователи всегда имеют полный доступ.", + "levelsHint": "Просмотрщики могут просматривать и читать. Редакторы и владельцы также могут редактировать метаданные, когда их учетная запись имеет разрешение на редактирование.", + "levelFor": "Уровень доступа для {name}", + "revokeFor": "Удалить доступ для {name}", + "revokeQuestion": "Удалить доступ?", + "revoke": "Удалить", + "keep": "Оставить", + "failed": { + "title": "{count, plural, one {# человек не может быть добавлен} other {# людей не могут быть добавлены} few {# людей не могут быть добавлены} many {# людей не могут быть добавлены}}", + "body": "Библиотека была создана. Попробуйте добавить {names} снова или добавьте их позже из этого раздела." } - } + }, + "optional": "Опционально", + "nav": { + "details": "Библиотека", + "folders": "Папки", + "scanner": "Сканирование", + "metadata": "Метаданные", + "reading": "Чтение", + "schedule": "Автоматизация", + "fileWrite": "Обновления файлов", + "access": "Доступ", + "descriptions": { + "details": "То, что вызвана библиотека и как ее покрытие выглядит.", + "folders": "Папки сервера, с которых эта библиотека читает.", + "scanner": "Как файлы сгруппированы в книги, и какие файлы пропущены.", + "metadata": "Какой файл ведут, когда книга имеет несколько, и откуда поступают ее детали.", + "reading": "Когда книга перемещается от непрочитанного к чтению.", + "schedule": "Держите библиотеку актуальной без нажатия Scan.", + "fileWrite": "Дополнительные изменения в BookOrbit могут делать файлы на диске.", + "access": "Кто еще может видеть и работать с этой библиотекой." + } + }, + "sheet": { + "createTitle": "Новая библиотека", + "createHint": "Назовите его и укажите в папке. Всё остальное начинается с разумного значения по умолчанию.", + "editFallbackTitle": "Настройки библиотеки", + "editSubtitle": "{books, plural, one {# книга} other {# книг} few {# книг} many {# книг}} · {folders, plural, one {# папка} other {# папки} few {# папки} many {# папки}} · {mode}", + "editSubtitleNoBooks": "{folders, plural, one {# папка} other {# папок} few {# папок} many {# папок}} · {mode}", + "readyHint": "Готовы создать. Остальные могут ждать.", + "needsHint": "Требуется имя, значок и папка.", + "discardQuestion": "Отменить несохраненные изменения?", + "discard": "Сбросить", + "keepEditing": "Продолжить редактирование", + "done": "Готово", + "loading": "Загрузка настроек...", + "staleWarning": "Не удалось загрузить последние настройки библиотеки. Вы можете изменить настройки кэширования, показанные здесь.", + "scanNow": "Сканировать" + }, + "summary": { + "needsName": "Требуется имя", + "needsIcon": "Нужен значок", + "needsFolder": "Требуется папка", + "detailsPortrait": "{name} · Портретные крышки", + "detailsSquare": "{name} · Квадратные крышки", + "folders": "{folders, plural, one {# папка} other {# папок} few {# папок} many {# папок}}", + "foldersFiles": "{folders, plural, one {# папка} other {# папок} few {# папок} many {# папок}} · {files, plural, one {# файл} other {# файлы} few {# файлы} many {# файлы}}", + "foldersBooks": "{folders, plural, one {# папка} other {# папок} few {# папок} many {# папок}} · {books, plural, one {# бронируйте} other {# книги} few {# книги} many {# книги}}", + "scannerAll": "{mode} · Все форматы", + "scannerSome": "{mode} · {count, plural, one {# формат} other {# форматов} few {# форматов} many {# форматов}}", + "metadataFile": "{format} приводит · Бронирование файла", + "metadataOpf": "{format} ведет сначала метаданные · opf", + "reading": "{start} · Завершено {finish}", + "watching": "Просмотр папок", + "notWatching": "Не просмотрено", + "watchingScheduled": "Просмотр · {schedule}", + "watchingOnly": "Смотреть · Без расписания", + "scheduledOnly": "Не просматривать · {schedule}", + "manualOnly": "Ручная проверка", + "customSchedule": "Пользовательское расписание", + "writesAndRenames": "{count, plural, =0 {Написал ничего} one {Написал # вроде} other {Написал # видов} few {Написал # видов} many {Написал # видов}} · Переименовывает", + "writes": "{count, plural, =0 {Ничего не записывает} one {Записывает # тип файла} few {Записывает # типа файлов} many {Записывает # типов файлов} other {Записывает # типа файла}}", + "renames": "Переименовать файлы", + "untouched": "Остались нетронутые файлы", + "onlySuperusers": "Только суперпользователи", + "accessQueued": "{count, plural, one {# человек для добавления} other {# людей для добавления} few {# людей для добавления} many {# людей для добавления}}", + "accessPeople": "{count, plural, =0 {Только суперпользователи} one {# человек} other {# людей} few {# людей} many {# людей}}" + }, + "errors": { + "nameRequired": "Введите название библиотеки.", + "iconRequired": "Выберите значок.", + "folderRequired": "Добавьте хотя бы одну папку.", + "podcastStorageFolder": "Выберите только одну папку хранилища для подкастов.", + "podcastFolderOverlap": "Существующие папки подкаста должны сидеть за пределами папки хранения.", + "cronInvalid": "Введите допустимое cron выражение в 5 полей.", + "readingStartRange": "Начало чтения должно быть от 0.05% до 5%.", + "fileSizeRange": "Размер файла должен быть целым числом от 1 до 10,000 МБ.", + "saveFailed": "Не удалось сохранить библиотеку.", + "connection": "Не удалось подключиться к серверу. Проверьте подключение и повторите попытку." + }, + "copyName": "Копия {name}" }, "folderPicker": { "title": "Просмотр папок на сервере", @@ -5956,6 +10870,13 @@ "createFolder": "Не удалось создать папку" } }, + "destination": { + "loadFailed": "Не удалось загрузить библиотеки назначения. Закройте и повторите попытку.", + "noLibraries": "Библиотеки книг недоступны. Создайте библиотеку или попросите администратора получить доступ.", + "noFolders": "В этой библиотеке нет целевых папок. Добавьте папку в настройках библиотеки.", + "unavailable": "Выбранная библиотека больше не доступна.", + "selectFolder": "Выберите папку..." + }, "upload": { "library": "Библиотека", "selectLibrary": "Выберите библиотеку...", @@ -5983,11 +10904,91 @@ } } }, + "metadataReminders": { + "title": "Отсутствующие напоминания о поле", + "navDescription": "Выберите, какие отсутствуют метаданные поля для отображения", + "personal": "Ваши предпочтения", + "description": "Выберите, какие недостающие поля отображаются в напоминаниях о книге. Эти настройки применяются в вашей библиотеке и не изменяют оценки метаданных.", + "sheetDescription": "Выберите интересующие вас поля, не покидая эту книгу.", + "fieldsHeading": "Поля для проверки", + "autoSave": "Изменения автоматически сохраняются в вашей учетной записи.", + "saving": "Сохранение настроек...", + "saved": "Настройки сохранены.", + "reset": "Сброс по умолчанию", + "disabled": "Не выбрано ни одного поля. Недостающие напоминания будут скрыты.", + "saveFailed": "Не удалось сохранить ваши настройки. Ваши предыдущие настройки были восстановлены.", + "customize": "Настроить напоминания...", + "missingHeading": "Отсутствуют метаданные", + "missingDescription": "Отсутствуют поля, которые вы выбрали для отслеживания.", + "missingCount": "{count, plural, one {# отсутствует поле} other {# отсутствуют поля} few {# отсутствуют поля} many {# отсутствуют поля}}", + "missingFields": "{count, plural, one {отсутствует поле} other {Отсутствуют поля} few {Отсутствуют поля} many {Отсутствуют поля}}", + "fields": { + "publisher": { + "label": "Издатель", + "hint": "Издатель заполнен." + }, + "language": { + "label": "Язык", + "hint": "Язык заполнен." + }, + "publication": { + "label": "Год публикации", + "hint": "Достаточно указать год публикации или полную дату." + }, + "pageCount": { + "label": "Счетчик страниц", + "hint": "Количество страниц заполнено. Только аудио-книги пропущены." + }, + "isbn": { + "label": "ISBN", + "hint": "Достаточно либо ISBN-10, либо ISBN-13." + }, + "genres": { + "label": "Genres", + "hint": "По крайней мере один жанр заполняется." + }, + "tags": { + "label": "Теги", + "hint": "По крайней мере один тег заполнен." + }, + "description": { + "label": "Описание", + "hint": "Описание заполнено." + } + } + }, + "metadataCache": { + "badge": { + "cached": "Кэшировано", + "stale": "Старый", + "cachedHint": "Результат сохранён из {when}", + "cachedHintUndated": "Сохраненный результат", + "staleHint": "Провайдер был недоступен, поэтому использовался сохраненный результат от {when}", + "staleHintUndated": "Провайдер недоступен, поэтому использовался сохраненный результат" + }, + "notice": { + "someCached": "Некоторые результаты были получены из сохраненных поисков (старые: {when}).", + "someCachedUndated": "Некоторые результаты были из сохраненных поисков.", + "someStale": "Некоторые провайдеры были недоступны, поэтому сохраненные результаты были показаны (старые: {when}).", + "someStaleUndated": "Некоторые провайдеры были недоступны, поэтому были показаны сохраненные результаты.", + "searchFresh": "Поиск в свежем режиме", + "searchFreshHint": "Спросить каждого провайдера снова вместо сохраненных ответов" + }, + "fallback": { + "usedSaved": "{count, plural, one {{providers} был недоступен, поэтому использованы сохранённые результаты.} few {{providers} были недоступны, поэтому использованы сохранённые результаты.} many {{providers} были недоступны, поэтому использованы сохранённые результаты.} other {{providers} были недоступны, поэтому использованы сохранённые результаты.}}" + }, + "ignoreCache": { + "label": "Игнорировать кэшированные результаты", + "hint": "Спросить каждого провайдера снова вместо повторного использования сохраненных ответов. Медленнее и использует больше допустимых запросов каждого провайдера.", + "runHint": "Применяется к запуску, который вы запускаете здесь. Каждый провайдер запрашивается снова вместо повторного использования сохраненных ответов, что медленнее." + } + }, "metadataScore": { "missingFields": "{count, plural, =0 {нет полей - редактируйте метаданные} one {# поле отсутствует - редактируйте метаданные} few {# полей отсутствуют - редактируйте метаданные} many {# полей отсутствуют - редактируйте метаданные} other {# полей отсутствуют - редактируйте метаданные}}" }, "migration": { "sidebarTitle": "Импорт из буклора", + "importTitle": "Импорт библиотеки", "status": { "done": "Готово", "saved": "Сохранено", @@ -6003,7 +11004,8 @@ "source": { "short": "Подключение к источнику", "title": "Подключение к источнику", - "subtitle": "Настройте подключение к базе данных к исходному экземпляру Booklor." + "subtitle": "Настройте подключение к базе данных к исходному экземпляру Booklor.", + "genericSubtitle": "Настройте соединение с приложением библиотеки исходных кодов." }, "mappings": { "short": "Сопоставление пользователя и пути", @@ -6045,18 +11047,61 @@ "testConnection": "Проверить соединение", "saveAndValidate": "Сохранить и проверить", "validatedWithWarnings": "Источник проверен с предупреждениями", + "types": { + "booklore": "Бульдор", + "grimmory": "Grimmory", + "audiobookshelf": "Аудиобкулка", + "calibreWebAutomated": "Калибровка Web автоматизирована" + }, "fields": { "type": "Тип источника", "name": "Имя источника", + "namePlaceholder": "Импорт библиотеки", "host": "Хост", "port": "Порт", "user": "Пользователь", "password": "Пароль", "passwordSaved": "Сохранено - оставить без изменений", "passwordNotSet": "Пароль не установлен", + "showSecret": "Показать секрет", + "hideSecret": "Скрыть секрет", "database": "База данных", "mediaRootPath": "Корневой путь к файлу", - "ssl": "Использовать TLS/SSL" + "ssl": "Использовать TLS/SSL", + "connectionMode": "Режим подключения", + "apiMode": "Live API", + "backupMode": "Файл резервной копии", + "baseUrl": "URL-адрес аудиокниги", + "apiToken": "API token", + "apiTokenPlaceholder": "Введите API токен администратора", + "secretSaved": "Сохранено - оставить без изменений", + "allowPrivateNetwork": "Разрешить доступ к частной сети", + "allowPrivateNetworkHint": "Включите это только тогда, когда Audiobookshelf размещен на хостинге в доверенной локальной или частной сети.", + "backupPath": "Путь к файлу резервной копии", + "backupPathHint": "Введите абсолютный путь к серверу внутри настроенного каталога импорта миграции.", + "cwaAppDatabasePath": "Калибровка автоматизированного снимка app.db", + "cwaAppDatabasePathPlaceholder": "/imports/calibre-web-automated/app.db", + "cwaMetadataDatabasePath": "Калибровка снимка metadata.db", + "cwaMetadataDatabasePathPlaceholder": "/imports/calibre-web-automated/metadata.db" + }, + "validation": { + "nameRequired": "Требуется имя источника", + "databaseFieldsRequired": "Требуется имя хоста, пользователя, базы данных и хоста", + "apiFieldsRequired": "URL-адрес Audiobookshelf, ключ API и имя источника требуются", + "baseUrlInvalid": "URL Audiobookshelf должен быть чистым HTTP или HTTPS источником без пути", + "backupPathRequired": "Укажите путь к файлу резервной копии и имя источника", + "backupPathAbsolute": "Путь к файлу резервной копии должен быть абсолютным путем", + "cwaAppDatabasePathRequired": "Calibre-Web Automated path for app.db", + "cwaAppDatabasePathAbsolute": "Путь снимка Calibre-Web Automated app.db должен быть абсолютным", + "cwaMetadataDatabasePathRequired": "Требуется путь к снимку Calibre metadata.db", + "cwaMetadataDatabasePathAbsolute": "Путь снимка metadata.db должен быть абсолютным" + }, + "cwa": { + "snapshotTitle": "Режим снимка остановлен", + "stoppedWarning": "Перед копированием обеих баз данных необходимо остановить Calibre-Web Automate. BookOrbit не может убедиться, что оба снимка были скопированы в один момент.", + "importRootGuidance": "Оба файла снимка должны быть доступными для чтения путями ниже настроенной директории MIGRATION_IMPORT_ROOT.", + "logicalRootGuidance": "Сопоставление путей к книге использует корневой каталог библиотеки Calibre в app.db, а не директорию хоста, содержащую эти снимки базы данных.", + "compatibilityNote": "Поведение схемы проверяется на основе Calibre-Web Automated v4.0.6." }, "mediaPath": { "hintRequired": "Требуется для миграции обложек книг.", @@ -6083,6 +11128,7 @@ "refresh": "Обновить", "sourceUser": "Исходный пользователь", "targetUser": "Целевой пользователь", + "doNotImport": "Не импортировать этого пользователя", "noSourceUsersLoaded": "Исходные пользователи еще не загружены.", "noActiveTargetUsers": "Не найдено активных пользователей. Создайте или повторно включите пользователя BookOrbit перед сопоставлением.", "pathPrefixMappings": "Сопоставление префиксов", @@ -6192,15 +11238,18 @@ "unresolvedBooksExplanation": "Эти книги существуют в исходном коде, но не могут быть сопоставлены ни с одной книгой в вашей библиотеке.", "mappedUsers": "Сопоставленные пользователи ({count})", "mappedUsersExplanation": "Полноценное количество пользователей поступает из кэшированного плана перехода.", - "coverFailures": "{count} импорт(ы) обложки не удалось. Подробные строки с ошибками не сохранены." + "coverFailures": "{count} импорт(ы) обложки не удалось. Подробные строки с ошибками не сохранены.", + "userPreviewCounts": "{statuses} статусы, Прогресс {progress} , {sessions} чтение сессий, {bookmarks} закладок, {annotations} аннотации, {collections} коллекционные записи" }, "unresolvedReason": { "noTitleAuthorMatch": "Соответствующая книга по названию или автору не найдена", "noFilePathMatch": "Путь к файлу не соответствует ни одной книге в этой библиотеке", "noFileHashMatch": "Файл с хэшем не совпадает ни с одной книгой в этой библиотеке", "noIsbnMatch": "ISBN не совпадает ни с одной книгой в этой библиотеке", + "noAsinMatch": "ASIN не соответствует ни одной книге в этой библиотеке", "insufficientSourceData": "Недостаточно метаданных для поиска", "ambiguousIsbnMatch": "Несколько книг совпало с ISBN", + "ambiguousAsinMatch": "Несколько книг совпадает с одним и тем же ASIN", "ambiguousFileHashMatch": "Несколько книг соответствует одному и тому же хешу файла", "ambiguousFilePathMatch": "Несколько книг соответствует тому же пути к файлу", "ambiguousTitleAuthorMatch": "Несколько книг совпало с одним и тем же названием и автором", @@ -6208,6 +11257,7 @@ }, "matchStrategy": { "isbn": "Соответствует ISBN", + "asin": "Совпало с ASIN", "fileHash": "Совпадает с хэшем файла", "pathMapping": "Соответствует указанному пути файла", "titleAuthor": "Соответствует названию и автору", @@ -6234,7 +11284,9 @@ "loadSuggestionsFailed": "Не удалось загрузить пользовательское сопоставление предложений", "sourceFieldsRequired": "Требуется имя хоста, пользователя, базы данных и хоста", "connectionPassedWithWarnings": "Проверка соединения пройдена с предупреждениями", + "connectionPassedWithWarningCount": "Тест подключения прошел с предупреждением {count} . Первая: {warning}", "connectionPassed": "Проверка соединения пройдена", + "connectionMissingTables": "Соединение установлено, но не хватает {count}", "cannotTestMediaWhileRunning": "Невозможно протестировать путь к медиафайлу, пока запуск активен", "mediaPathRequired": "Для импортирования необходим корневой путь к файлу.", "mediaPathAbsolute": "Используйте абсолютный путь (например: /books).", @@ -6243,6 +11295,7 @@ "mediaPathValidationFailed": "Ошибка проверки пути к файлу.", "connectionFailedBeforeMedia": "Проверка соединения не удалась, прежде чем проверка пути к медиафайлу будет завершена.", "cannotModifySourceWhileRunning": "Невозможно изменить источник, пока запуск активен", + "sourceSavedWithWarnings": "Источник сохранен и проверен с помощью предупреждений {count}", "sourceSaved": "Источник сохранен и проверен", "saveSourceFailed": "Не удалось сохранить или проверить источник", "cannotSaveMappingsWhileRunning": "Невозможно сохранить сопоставления, пока запуск активен", @@ -6277,10 +11330,14 @@ }, "notifications": { "title": "Уведомления", + "description": "Просмотр и управление уведомлениями.", "markAllRead": "Пометить все прочитанные", "clear": "Очистить", "empty": "Нет уведомлений", "loadMore": "Загрузить больше уведомлений", + "dismiss": "Отклонить уведомление", + "occurrences": "Происшедшие {count} раз", + "occurrencesShort": "x{count}", "preferences": { "title": "Уведомления", "subtitle": "Выберите, какие категории уведомлений вы хотите получить.", @@ -6299,6 +11356,20 @@ "app": "Обновления приложения" }, "enabledCount": "{enabled} из {total} включено", + "levels": { + "off": { + "short": "Выкл", + "description": "Никогда не уведомлять меня об этом." + }, + "problems": { + "short": "Проблемы", + "description": "Уведомлять меня только тогда, когда что-то не удается или требует внимания." + }, + "all": { + "short": "Все", + "description": "Уведомлять меня каждый раз, включая успех." + } + }, "categories": { "scanning": { "label": "Сканирование библиотеки", @@ -6343,19 +11414,102 @@ "achievements": { "label": "Достижения", "description": "Когда вы разблокируете новое достижение для чтения." + }, + "bookRequests": { + "label": "Запросы на бронирование", + "description": "Когда заявка подается, решается или книга становится доступной." } } } }, "reader": { + "pageImages": { + "loadFailed": "Не удалось открыть этот документ. Проверьте доступ или повторите попытку.", + "pageFailed": "Эта страница не может быть загружена. Повторите попытку, когда сервер доступен.", + "pageAlt": "Страница {page}", + "previousPage": "Предыдущая страница", + "nextPage": "Следующая страница", + "goToPage": "Перейти на страницу", + "pin": "Закрепить меню чтения", + "unpin": "Открепить меню" + }, + "djvu": { + "pageText": "Встроенный текст страницы", + "textDescription": "Текст, сохраненный в документе DjVu. OCR может содержать ошибки.", + "noText": "У этой страницы нет встроенного текста.", + "textFailed": "Не удалось загрузить встроенный текст этой страницы." + }, "retry": "Повторить", "pdf": { "openError": "Не удается открыть этот PDF", "preparing": "Подготовка читателя PDF", - "opening": "Открытие PDF" + "opening": "Открытие PDF", + "loading": "Загрузка PDF", + "loadFallback": "Не удалось загрузить документ.", + "requestFailed": "Запрос PDF не удался со статусом {status}.", + "emptyDocument": "Запрос PDF возвращает пустой документ.", + "managerError": "Не удалось инициализировать менеджер документов PDF.", + "engineNoPages": "Движок PDF открыл этот документ без каких-либо страниц.", + "engineOpenError": "PDF не может быть открыт движком документов.", + "noPages": "Этот PDF открыт без страниц", + "noPagesHint": "Перезагрузите документ для восстановления в результате неполного ответа движка PDF.", + "externalLinkTitle": "Открыть внешнюю ссылку?", + "externalLinkDescription": "Этот PDF хочет открыть {host} в новой вкладке.", + "openLink": "Открыть ссылку", + "annotationsLoadError": "Не удалось загрузить выделения для этого PDF.", + "loadingAnnotations": "Загрузка подсветки PDF", + "loadMoreAnnotations": "Загрузить больше бликов", + "loadingMoreAnnotations": "Загрузка дополнительных подсветки…", + "sidebar": { + "pages": "Страницы", + "contents": "Содержание", + "search": "Искать", + "tabsLabel": "PDF navigation", + "closeNavigation": "Закрыть навигацию", + "goToPage": "Перейти на страницу {page}", + "noOutline": "В этом PDF нет ни одного документа.", + "searchPlaceholder": "Искать в PDF", + "clearSearch": "Очистить поиск", + "matchCase": "Учитывать регистр", + "wholeWord": "Полное слово", + "resultPosition": "{current} из {total}", + "previousResult": "Предыдущий результат", + "nextResult": "Следующий результат", + "searchingPage": "Поиск страницы {page} из {total}", + "searchPrompt": "Введите термин для поиска этого PDF.", + "searchTooShort": "Введите не менее {min} символов для поиска этого PDF.", + "noSearchResults": "Не найдено ни одного текста, соответствующего вашему запросу.", + "page": "Страница {page}", + "filterOutline": "Фильтр по контуру", + "noOutlineMatch": "Нет записей в контуре, соответствующих вашему фильтру.", + "loadingOutline": "Загрузка контура", + "expandSection": "Развернуть {title}", + "collapseSection": "Свернуть {title}", + "jumpToPage": "Перейти к странице", + "resizePanel": "Изменить размер панели навигации" + }, + "toolbar": { + "navigation": "Перемещение по документу", + "previousPage": "Предыдущая страница", + "currentPage": "Текущая страница", + "nextPage": "Следующая страница", + "zoomOut": "Уменьшить", + "zoomIn": "Увеличить", + "panTool": "Пан инструмент", + "pan": "Пан", + "selectTool": "Выбрать текстовый инструмент", + "selectText": "Выберите текст", + "pinHeader": "Закрепить заголовок читателя", + "unpinHeader": "Открепить заголовок", + "pinHeaderShort": "Закрепить заголовок", + "unpinHeaderShort": "Открепить заголовок", + "moreTools": "Больше утилит PDF", + "settings": "Настройки PDF" + } }, "loadingBook": "Загрузка книги…", "failedToLoadBook": "Не удалось загрузить книгу", + "bookLoadTimeout": "Книга заняла слишком много времени, чтобы открыть. Попробуйте обновить страницу.", "chapterNumber": "Глава {number}", "peek": { "badge": "Пикинг", @@ -6373,6 +11527,12 @@ "keyboardShortcutsHint": "Горячие клавиши (?)", "enterFullscreen": "Ввод полноэкранного режима", "exitFullscreen": "Выйти из полноэкранного режима", + "narrationPlaying": "Пояснения", + "ttsPlaying": "Воспроизведение TTS", + "listenWithNarrationShort": "Слушать (повествование)", + "listen": "Слушать", + "listenWithNarration": "Слушать с повествованием", + "listenWithTts": "Слушать с TTS", "footerMode": { "pageProgress": "Информация о нижнем колонтитуле: страница + прогресс", "sessionTimeLeft": "Сведения о нижнем колонтитуле: сессия + время осталось", @@ -6390,22 +11550,79 @@ "settings": { "title": "Настройки", "ariaLabel": "Настройки чтения", + "close": "Закрыть настройки", + "reset": "Сброс по умолчанию", + "modeLabel": "Цветовой режим", "mode": { "light": "Светлая", "dark": "Тёмная" }, + "textSize": "Размер текста", + "textSizeSmaller": "Меньший текст", + "textSizeLarger": "Большой текст", + "pixels": "{value} px", + "percent": "{value}%", + "pageColor": "Цвет страницы", + "font": "Font", "fontBuiltIn": "Встроенный", + "fontServer": "Шрифты сервера", "fontYours": "Ваши шрифты", + "fontStyle": "Стиль", + "fontStyleItalicOf": "{style} Italic", + "lineSpacing": "Интервал строки", + "paragraphSpacing": "Интервал параграфа", + "paragraphSpacingDefault": "По умолчанию", + "paragraphSpacingValue": "{value} em", + "letterSpacing": "Интервал букв", + "wordSpacing": "Интервал слов", + "textIndent": "Первая строка отступа", + "bookDefault": "Книга", + "custom": "Свой", + "emValue": "{value} em", + "pageWidth": "Ширина страницы", + "pageWidthNarrow": "Узкий", + "pageWidthMedium": "Средний", + "pageWidthWide": "Широкий", + "pageWidthFull": "Полностью", "readingFlow": "Чтение потока", + "flow": { + "paginated": "Страницы", + "scrolled": "Прокрутка" + }, "pageSpreads": "Спреды страниц", "pageSpreadsHint": "Выберите, как это пары страниц EPUB на основе образа.", "spread": { "bookDefault": "Книга по умолчанию", "singlePage": "Одна страница" }, + "advanced": "Расширенный макет", + "columns": "Столбцы", + "columnsFewer": "Меньше столбцов", + "columnsMore": "Больше столбцов", "columnGap": "Разрыв столбцов", "justifyText": "Выровнять текст по ширине", - "hyphenation": "Перенос" + "hyphenation": "Перенос", + "themes": { + "default": "По умолчанию", + "gray": "Серый", + "sepia": "Sepia", + "crimson": "Багровый", + "meadow": "Мидоу", + "rosewood": "Rosewood", + "azure": "Azure", + "dawnlight": "Рассветный свет", + "ember": "Ember", + "aurora": "Aurora", + "ocean": "Океан", + "mist": "Туман", + "amoled": "АМОД" + }, + "fonts": { + "bookDefault": "Книга по умолчанию", + "serif": "Сериф", + "sansSerif": "Без засечек", + "monospace": "Моноширинный" + } }, "search": { "placeholder": "Поиск в бронировании (мин. {min} символов)...", @@ -6457,7 +11674,15 @@ "translate": "Перевести", "define": "Определить", "deleteAnnotation": "Удалить аннотацию", - "apply": "Применить" + "apply": "Применить", + "color": "Цвет выделения: {color}", + "style": "Highlight style: {style}", + "styles": { + "highlight": "Выделить", + "underline": "Подчёркивание", + "strikethrough": "Зачёркнутый", + "squiggly": "Подчёркивание" + } }, "note": { "title": "Добавить заметку", @@ -6499,7 +11724,13 @@ "scrollMode": "Режим прокрутки", "scrollModeHint": "Используйте \"Без пробелов\" для вебсайтов и вертикальных полос.", "readingDirection": "Направление чтения", + "autoAdvance": "Автопереход", + "autoAdvanceHint": "Прошедшая последняя страница открывает следующую книгу в этой серии.", + "autoAdvancePagedOnly": "Автопереход применяется только в режиме постраничной обработки.", "pageView": "Вид страницы", + "twoPagePagedOnly": "Две страницы показаны только в подложном режиме.", + "spreadSection": "Распределение двух страниц", + "spreadFallbackHint": "Этот экран слишком узкий для двух страниц, поэтому отображаются одни страницы.", "spreadAlignmentLabel": "Распространение выравнивания", "spreadGap": "Распространяемый разрыв", "spreadGapValue": "{value}px", @@ -6507,6 +11738,9 @@ "widePages": "Широкие страницы", "firstPage": "Первая страница", "lastPage": "Последняя страница", + "zoomControls": "Управление масштабом", + "zoomOut": "Уменьшить", + "zoomIn": "Увеличить", "fit": { "page": "По размеру страницы", "width": "Ширина страницы", @@ -6538,6 +11772,14 @@ "black": "Черный", "gray": "Серый", "white": "Белый" + }, + "nextIssue": { + "eyebrow": "Следующее в серии", + "action": "Читать далее", + "open": "Читать далее: {title}", + "numbered": "#{index} {title}", + "untitled": "Без названия", + "autoAdvanceHint": "Повернуть страницу снова, чтобы продолжить" } }, "audiobook": { @@ -6565,6 +11807,23 @@ "playerSettings": "Настройки плеера", "skipBack": "Назад", "skipForward": "Перейти вперед" + }, + "sheet": { + "expand": "Развернуть панель", + "collapse": "Свернуть панель" + }, + "narration": { + "fallbackTitle": "Пояснение", + "meta": "Аудиозапись - {speed}x", + "openControls": "Открыть повествование", + "previousSentence": "Предыдущее предложение", + "nextSentence": "Следующее предложение", + "play": "Играть повествование", + "pause": "Пауза повествования", + "showControls": "Показать элементы управления", + "hideControls": "Скрыть элементы управления", + "stop": "Остановить повещение", + "error": "Ошибка воспроизведения описаний" } }, "scanner": { @@ -6575,8 +11834,15 @@ "completion": { "readOfTotal": "{read} прочитанного {total} ({percentage}%)" }, + "ownership": { + "label": "В библиотеке", + "ownedOfExpected": "{owned} из {expected} в библиотеке" + }, "gaps": { - "label": "Возможные пробелы:" + "label": "Возможные пробелы:", + "missingCount": "{count, plural, one {# отсутствует} other {# отсутствует} few {# отсутствует} many {# отсутствует}}", + "missingList": "Отсутствует {list}", + "previewMore": "{shown} +{count}" }, "filters": { "title": "Фильтры серий", @@ -6606,7 +11872,10 @@ "bookCount": "Количество книг", "recentAdditions": "Недавние дополнения", "readingProgress": "Прогресс чтения" - } + }, + "clearSearch": "Очистить поиск", + "noMatchHint": "Попробуйте другую библиотеку или очистите то, что установлено.", + "emptyHint": "Сериалы появятся после того, как ваши книги несут метаданные серии." }, "detail": { "pageTitle": "Серии", @@ -6647,6 +11916,66 @@ "ascending": "По возрастанию", "descending": "По убыванию" } + }, + "authorsPlus": "{authors} +{count}", + "track": { + "readCount": "{count, plural, one {# читать} other {# читать} few {# читать} many {# читать}}", + "readingCount": "{count, plural, one {# в процессе} other {# в процессе} few {# в процессе} many {# в процессе}}", + "unreadCount": "{count, plural, one {# непрочитанных} other {# непрочитанных} few {# непрочитанных} many {# непрочитанных}}", + "missingCount": "{count, plural, one {# отсутствует} other {# отсутствует} few {# отсутствует} many {# отсутствует}}", + "slotMissing": "{number} не в библиотеке", + "untitled": "Без названия" + }, + "legend": { + "read": "Чтение", + "reading": "Чтение", + "unread": "В библиотеке", + "missing": "Отсутствует" + }, + "status": { + "label": "Фильтровать серию по статусу чтения", + "all": "Все", + "reading": "Чтение", + "unread": "Непрочитанные", + "complete": "Complete", + "gaps": "Пробелы", + "read": "Чтение", + "inProgress": "В процессе", + "hasGaps": "Имеет пробелы", + "notStarted": "Не начато" + }, + "index": { + "columnSeries": "Серии", + "columnVolumes": "Громкость", + "columnRead": "Чтение", + "columnNext": "Далее", + "columnAdded": "Добавлено", + "percent": "{value}%", + "captionReading": "{base} · {count, plural, one {# в процессе} other {# в процессе} few {# в процессе} many {# в процессе}}", + "finished": "Читать с конца по конец", + "reading": "Чтение", + "next": "Следующий", + "start": "Начать" + }, + "grouping": { + "label": "Группировать по", + "none": "Без группировки", + "letter": "По письму", + "library": "По библиотеке", + "status": "По статусу" + }, + "libraries": { + "more": "+{count}" + }, + "card": { + "oneVolume": "Одна громкость", + "oneVolumeShort": "1 вон", + "volumeCount": "{count, plural, one {# том} other {# том} few {# том} many {# том}}", + "readSummary": "{base} · Прочтение {read}", + "publishedOf": "{owned} из {total} опубликовано", + "complete": "Complete", + "moreVolumes": "{count, plural, one {# больше тома} other {# больше томов} few {# больше томов} many {# больше томов}}", + "label": "{name}, прочитано {read} из {total}" } }, "smartScope": { @@ -6667,6 +11996,7 @@ }, "createDialog": { "title": "Новый умный охват", + "podcastTitle": "Новый умный плейлист", "createFailed": "Не удалось создать Smart Scope" }, "saveAsDialog": { @@ -6694,6 +12024,14 @@ "noGenres": "Нет жанров", "epubOnly": "Только EPUB" } + }, + "errors": { + "load": "Не удалось загрузить умные области", + "loadEpisodes": "Не удалось загрузить выпуски для этого умного плейлиста", + "save": "Не удалось сохранить умную область", + "delete": "Не удалось удалить смарт-область", + "reorder": "Не удалось изменить порядок смарт-областей", + "koboSync": "Не удалось обновить синхронизацию Kobo для этой смарт-области" } }, "statistics": { @@ -6872,7 +12210,9 @@ "sourceDistribution": { "title": "Где вы читаете", "emptyTitle": "Нет действий для чтения", - "emptyDescription": "Читайте в Интернете, KOReader, или Kobo, чтобы увидеть ваш исходный код." + "emptyDescription": "Читайте в Интернете, KOReader, или Kobo, чтобы увидеть ваш исходный код.", + "emptyDescriptionWithAppleClients": "Читайте в веб-приложении, приложении iOS, Apple Watch, KOReader или Kobo, чтобы увидеть ваш исходный код.", + "emptyDescriptionWithNativeClients": "Читайте в Интернете, приложении для iOS, приложении для Android, Apple Watch, KOReader или Kobo, чтобы увидеть ваш исходный раздел." } } }, @@ -6880,7 +12220,8 @@ "header": { "entityManager": "Менеджер сущностей", "bulkRename": "Массовое переименование", - "duplicateBooks": "Дубликат книг" + "duplicateBooks": "Дубликат книг", + "missingResources": "Отсутствуют ресурсы" }, "entityTypes": { "authors": "Авторы", @@ -6899,8 +12240,19 @@ "previewFailed": "Не удалось загрузить предпросмотр", "executionFailed": "Массовое переименование не удалось", "openBookDetails": "Открыть детали книги", + "openBook": "Открыть книгу", + "toRenameCount": "{count, plural, =0 {переименовать} one {# чтобы переименовать} other {# чтобы переименовать} few {# чтобы переименовать} many {# чтобы переименовать}}", + "applyCount": "{count, plural, one {Применить # переименовать} other {Применить # переименования} few {Применить # переименования} many {Применить # переименования}}", + "search": { + "placeholder": "Найти книгу или путь", + "label": "Найти книгу", + "clear": "Очистить поиск" + }, "filter": { - "all": "Все" + "all": "Все", + "changes": "Изменения", + "conflicts": "Конфликты", + "unchanged": "Без изменений" }, "status": { "willRename": "Переименовать", @@ -6909,14 +12261,106 @@ "noPattern": "Без шаблона", "error": "Ошибка" }, + "group": { + "collision": "Конфликт назначения", + "unchanged": "Уже верно", + "noPattern": "Нет шаблона именования", + "error": "Ошибка", + "includeAll": "Включить каждое переименование {kind}", + "expand": "Развернуть {kind}", + "collapse": "Свернуть {kind}", + "heldBack": "Их нельзя переименовать" + }, + "changeKind": { + "ungroup": "Группа серий удалена", + "flatten": "Повторяющийся уровень папок удален", + "yearRemoved": "Публикационный год удален", + "yearAdded": "Год публикации добавлен", + "yearCorrected": "Публикационный год исправлен", + "authorSpelling": "Правописание имени автора", + "capitalisation": "Капитализация и интервал", + "unsafeCharacters": "Небезопасные символы заменены", + "filenameRebuilt": "Имя файла пересобрано из метаданных", + "folderRenamed": "Папка переименована", + "rebuilt": "Папка и имя файла пересобраны", + "restructured": "Путь реструктурирован", + "multiple": "Несколько изменений" + }, + "select": { + "ofSelected": "из {total} выбрано", + "toggleAll": "Выберите или очистите каждое переименование", + "toggleGroup": "Выберите или очистите каждое переименование {kind}", + "toggleBook": "Переименовать {title}" + }, + "review": { + "loadMore": "Загрузить еще", + "queue": "В ожидании переименования", + "position": "{index} из {total}", + "previous": "Предыдущая книга", + "next": "Следующая книга", + "keyboardHint": "переместить", + "keyboardSkip": "пропустить", + "skip": "Пропустить", + "include": "Включить", + "excluded": "Исключено", + "back": "Назад к списку" + }, + "detail": { + "whatChanges": "Что изменения", + "foldedFolders": "{count, plural, one {# неизменная папка} other {# папки без изменений} few {# папки без изменений} many {# папки без изменений}}", + "onDisk": "На диске", + "today": "Сегодня", + "afterRename": "После переименования", + "showLibraryFolders": "Показать папки библиотеки", + "hideLibraryFolders": "Скрыть папки библиотеки", + "currentPath": "Текущий путь", + "whyItMoves": "Почему движется", + "levelTop": "Верхняя папка", + "levelFolder": "Папка {depth}", + "levelFilename": "Имя файла", + "levelRemoved": "Удалено", + "tokenCount": "{count, plural, one {# токен} other {# токены} few {# токены} many {# токены}}", + "optionalLevel": "Дополнительный уровень папки, созданный группой в шаблоне.", + "removedExplainer": "Шаблон именования не имеет папки на этом уровне, поэтому {folder} удаляется и содержимое перемещается вверх.", + "conflictTitle": "Другой файл уже имеет этот пункт назначения.", + "conflictBody": "Переименование перезапишет, так что эта книга удерживается до тех пор, пока конфликт не будет урегулирован.", + "siblings": "{count, plural, one {# больше с тем же изменением} other {# больше с тем же изменением} few {# больше с тем же изменением} many {# больше с тем же изменением}}", + "siblingsMore": "+{count} больше" + }, "empty": { "title": "Выберите библиотеку для начала", "description": "Выберите библиотеку выше, чтобы просмотреть изменения переименования, фильтра по статусу и применить запуск массового переименования.", - "chooseLibrary": "Выбрать библиотеку" + "chooseLibrary": "Выбрать библиотеку", + "noneTitle": "Нечего просматривать", + "noneDescription": "Ни одна книга не соответствует текущему фильтру. Очистить поиск или переключиться на All.", + "noMatch": "Нет книг, соответствующих вашему запросу." }, "confirmDialog": { "title": "{count, plural, few {Переименовать # файла на диске?} many {Переименовать # файлов на диске?} one {Переименовать # файл на диске?} other {Переименовать # файла на диске?}}", - "body": "Эта операция перемещает реальные файлы внутри {library}. BookOrbit фиксирует каждое перемещение, но отмена означает переименование обратно." + "body": "Эта операция перемещает реальные файлы внутри {library}. BookOrbit фиксирует каждое перемещение, но отмена означает переименование обратно.", + "willRename": "Будет переименовано", + "skippedByYou": "Пропущено вами", + "heldBack": "Помощь как конфликты", + "untouched": "Нетронутый слева", + "confirm": "{count, plural, one {Переименовать # файл} other {Переименовать # файлы} few {Переименовать # файлы} many {Переименовать # файлы}}", + "cannotRename": "Нельзя переименовать" + }, + "run": { + "preparing": "Подготовка…", + "preparingHint": "Проверка каждого файла на соответствие шаблону именования перед любым перемещением.", + "title": "Переименование {done} из {total}", + "runningHint": "Файлы в процессе переименования. Вы можете остановить после завершения текущего файла.", + "stop": "Остановить после этого файла", + "resultTitle": "{done, plural, one {Переименовано # из {total} файлов} other {Переименовано # из {total} файлов} few {Переименовано # из {total} файлов} many {Переименовано # из {total} файлов}}", + "resultFailed": "{count, plural, one {# не удалось} other {# не удалось} few {# не удалось} many {# не удалось}}", + "resultSkipped": "{count, plural, one {# пропущено} other {# пропущено} few {# пропущено} many {# пропущено}}", + "dismiss": "Отклонить" + }, + "executionError": { + "http": "Сервер отклонил запрос (HTTP {status}).", + "noBody": "Сервер не отправил тело ответа.", + "incomplete": "Соединение завершилось до завершения переименования. Возможно, некоторые файлы не были переименованы.", + "unknown": "Не удалось выполнить переименование." } }, "bookDuplicates": { @@ -6952,7 +12396,16 @@ "isbn": "ISBN", "formats": "Форматы", "collections": "Коллекции", - "added": "Добавлено" + "added": "Добавлено", + "size": "Размер", + "metadata": "Метаданные", + "reading": "Чтение", + "folder": "Папка", + "noIsbn": "Не задано", + "notStarted": "Не начато", + "outOfHundred": "/100", + "percentRead": "Прочитано {percent}", + "fileCount": "{count, plural, one {# файл} other {# файлов} few {# файлов} many {# файлов}}" }, "initial": { "title": "Найти дубликаты книг", @@ -6972,11 +12425,101 @@ "status": "Не удалось загрузить процесс сканирования.", "scan": "Не удалось выполнить повторное сканирование.", "results": "Не удалось загрузить повторяющиеся группы.", - "delete": "Не удалось удалить выбранные дубликаты книг." + "delete": "Не удалось удалить выбранные дубликаты книг.", + "dismiss": "Не удалось удалить эту группу.", + "restore": "Не удалось восстановить эту пару." }, "pagination": { "label": "Дублировать страницы групп", "page": "Страница {page} из {total}" + }, + "similarityOption": "{percent} и выше", + "scannedBooks": "{count} книги · проверено {when}", + "scanProgress": "Обработано {processed} из {total} книг", + "recommended": "Рекомендовано", + "keeping": "Сохранение", + "willDelete": "Удалить", + "keepCopy": "Оставить {name}", + "selectGroup": "Выберите {title}", + "selectAll": "Выберите каждую группу на этой странице", + "compareCopies": "Сравнить копии {title}", + "compareCaption": "Поле сравнения по полям копий {count}", + "fieldColumn": "Поле", + "filesEach": "{count, plural, one {# файл каждого} other {# файлов каждого} few {# файлов каждого} many {# файлов каждого}}", + "moreFilesCount": "{count, plural, one {и # больше файлов} other {и # больше файлов} few {и # больше файлов} many {и # больше файлов}}", + "identicalAcross": "{count, plural, one {Идентичность в обоих копиях:} other {Идентичность во всех # копиях:} few {Идентичность во всех # копиях:} many {Идентичность во всех # копиях:}}", + "deleteGroup": "{count, plural, one {Удалите # копию, бесплатно {size}} other {Удалите # копий, бесплатно {size}} few {Удалите # копий, бесплатно {size}} many {Удалите # копий, бесплатно {size}}}", + "confidence": { + "file_hash": "Идентичность", + "isbn": "Тот же ISBN", + "exact_metadata": "Точное совпадение", + "fuzzy_metadata": "Похожие", + "withSimilarity": "{label} {percent}" + }, + "summary": { + "groups": "{count, plural, one {группа} other {группы} few {группы} many {группы}}", + "extraCopies": "{count, plural, one {дополнительная копия} other {дополнительные копии} few {дополнительные копии} many {дополнительные копии}}", + "reclaimable": "воспроизведение" + }, + "columns": { + "match": "Матч", + "book": "Книга", + "copies": "Копии", + "libraries": "Библиотеки", + "frees": "Бесплатно", + "keeping": "Сохранение" + }, + "keepRule": { + "label": "Оставить", + "metadata": "Лучшие метаданные", + "size": "Крупнейшие файлы", + "formats": "Большинство форматов", + "oldest": "Старые копии", + "newest": "Новая копия", + "hint": "Выбор хранителя в каждой группе. Вы можете переопределить любую строку." + }, + "sort": { + "label": "Сортировка", + "reclaimable": "Большая часть свободного места", + "copies": "Большинство копий", + "confidence": "Самый сильный матч", + "title": "Заголовок от А к Я" + }, + "keeper": { + "yourChoice": "Ваш выбор", + "reading": "вы {percent} через него", + "collection": "в {name}", + "metadata": "метаданных {score}", + "largest": "Крупнейший на {size}", + "formats": "{count} форматов", + "isbn": "имеет ISBN", + "added": "добавил {date}", + "riskReading": "удаляет копию, которую вы являетесь {percent} через", + "riskCollection": "удаляет копию в {name}" + }, + "selection": { + "summary": "{groups} группы выбраны, {copies} копий для удаления, освобождает {size}", + "clear": "Очистить", + "review": "{count, plural, one {Просмотрите # копию} other {Просмотрите # копий} few {Просмотрите # копий} many {Просмотрите # копий}}", + "hint": "Выберите группы, которым вы доверяете, или откройте их для сравнения копий." + }, + "keys": { + "move": "переместить", + "expand": "развернуть", + "keep": "сохранить", + "select": "выбрать" + }, + "review": { + "title": "{count, plural, one {Удалите # копию} other {Удалите # копий} few {Удалите # копий} many {Удалите # копий}}", + "description": "Вокруг {groups} группы, освобождающие {size}. Ничего не удаляется, пока вы не подтвердите.", + "riskWarning": "{count, plural, one {# Группа удаляет копию с данными для чтения.} other {# группы удаляют копию с данными для чтения.} few {# группы удаляют копию с данными для чтения.} many {# группы удаляют копию с данными для чтения.}}", + "footer": "Свободно {size}" + }, + "dismissed": { + "show": "{count, plural, one {Показать # уволенную пару} other {Показать # уволенные пары} few {Показать # уволенные пары} many {Показать # уволенные пары}}", + "hide": "Скрыть уволенные пары", + "restore": "Восстановить эту пару", + "restored": "Пара восстановлена. Она может совпадать с следующей проверкой." } }, "entityManager": { @@ -6993,7 +12536,8 @@ }, "actions": { "rename": "Переименовать", - "split": "Разделить" + "split": "Разделить", + "merge": "Объединить" }, "duplicates": { "similarity": "Сходность:", @@ -7013,7 +12557,20 @@ "percentSimilar": "Схожие {percent}%", "pairDetails": "Детали пар", "dismissEntityTitle": "Закрыть все пары для этого объекта", - "dismissPairTitle": "Отклонить эту пару" + "dismissPairTitle": "Отклонить эту пару", + "groupsLabel": "Возможные дубликаты групп", + "keepThisOne": "Оставить это", + "mergeAway": "Объединить", + "notAMatch": "Не совпадение", + "notAMatchTitle": "Закрыть каждую пару в этой группе", + "selectPromptTitle": "Выберите группу для проверки", + "selectPromptDescription": "Выберите группу из списка для сравнения сущностей по сторонам.", + "backToList": "Вернуться к группам", + "noBookTitles": "Нет книг, связанных с этой записью", + "thresholdLabel": "Минимальное сходство", + "thresholdValue": "{percent}%+", + "willBeMerged": "{count, plural, one {# сущность будет объединена и удалена} other {# сущности будут объединены и удалены} few {# сущности будут объединены и удалены} many {# сущности будут объединены и удалены}}", + "chooseTargetHint": "Выберите объект, чтобы сохранить его. Все остальное в группе объединяется в него." }, "dismissed": { "loading": "Загрузка уволенных пар...", @@ -7030,13 +12587,51 @@ "noEntities": "Объекты не найдены", "mergeCount": "Слияние ({count})", "deleteCount": "Удалить ({count})", + "totalCount": "Всего: {count}", "sortLabel": "сортировка: {sortName}", "sort": { "nameAsc": "Имя А-Я", "nameDesc": "Имя Я-А", "fewestBooks": "Меньше книг", "mostBooks": "Большинство книг" - } + }, + "sortByLabel": "Сортировать по", + "entityTypeLabel": "Тип сущности", + "resultCount": "{count, plural, =0 {нет сущностей} one {# сущность} other {# сущности} few {# сущности} many {# сущности}}", + "selectedCount": "{count, plural, one {# выбрано} other {# выбрано} few {# выбрано} many {# выбрано}}", + "columns": { + "name": "Наименование", + "sortName": "Название сортировки", + "books": "Книги", + "status": "Статус", + "actions": "Действия" + }, + "selectAllOnPage": "Выбрать все сущности на этой странице", + "selectEntity": "Выберите {name}", + "actionsFor": "Действия для {name}", + "status": { + "noBooks": "Нет книг" + }, + "filters": { + "all": "Все", + "noBooks": "Нет книг" + }, + "density": { + "label": "Высота строки", + "comfortable": "Удобный", + "compact": "Компактный" + }, + "rowsPerPage": "Строк на странице", + "range": "Показ {from}-{to} из {total}", + "pagination": "Пагинация", + "previousPage": "Предыдущая страница", + "nextPage": "Следующая страница", + "goToPage": "Перейти на страницу {page}", + "morePages": "Больше страниц", + "noEntitiesDescription": "Ничего еще не добавлено в этот тип сущности.", + "noMatchesTitle": "Нет совпадений", + "noMatchesDescription": "Нет сущностей, соответствующих вашему текущему поиску и фильтрам.", + "clearFilters": "Очистить фильтры" }, "deleteMode": { "label": "Режим удаления", @@ -7072,6 +12667,88 @@ "title": "Объединить сущности", "description": "Выберите, какой объект сохранить. Другие будут объединены в него и удалены." } + }, + "missingResources": { + "title": "Отсутствуют ресурсы", + "accessDenied": "У вас нет разрешения на очистку недостающих ресурсов.", + "categoriesLabel": "Очистить категорию", + "untitled": "Без названия", + "clearSelection": "Очистить выделенное", + "cleanSelected": "Очистить {count} выбрано", + "selectAllMatching": "Выбрать все {count} соответствующие записи", + "allSelected": "Выбраны все {count} соответствующие записи.", + "sweep": { + "title": "Проверка обложки", + "description": "Проверяет каждую книгу, которая запрашивает обложку по файлам на диске, и ищет обложки папок, оставшихся после удаленных книг. Ничего не удалено во время проверки.", + "run": "Запустить проверку", + "running": "Проверка", + "progress": "Проверено {processed} из книг {total}", + "lastRun": "Последняя проверка {at}", + "truncated": "Только первые результаты перечислены. Очистите их, затем выполните проверку еще раз, чтобы увидеть остальное." + }, + "categories": { + "missing_books": "Отсутствуют книги", + "broken_covers": "Сломанные обложки", + "orphaned_cover_dirs": "Папки с отложенными обложками" + }, + "found": { + "missing_books": "{count, plural, =0 {Нет книг с отсутствующими файлами} one {Одна книга с отсутствующими файлами} other {# книг с отсутствующими файлами} few {# книг с отсутствующими файлами} many {# книг с отсутствующими файлами}}", + "broken_covers": "{count, plural, =0 {Нет ссылок на сломанную обложку} one {Одна из сломанных ссылок} other {# сломанные ссылки на обложку} few {# сломанные ссылки на обложку} many {# сломанные ссылки на обложку}}", + "orphaned_cover_dirs": "{count, plural, =0 {Нет закрытых папок с обложками} one {Одна закрытая папка с обложками} other {# папки с осиротевшими обложками} few {# папки с осиротевшими обложками} many {# папки с осиротевшими обложками}}" + }, + "empty": { + "missing_books": "Нет недостающих книг", + "broken_covers": "Нет сломанных ссылок на обложку", + "orphaned_cover_dirs": "Нет оставшихся папок с обложками", + "description": "Все в этой категории учтены." + }, + "needsSweep": { + "title": "Сначала запустите проверку обложки", + "description": "Результаты обложки исследуются при проверке диска. Выполните ее для просмотра неисправных ссылок и оставшихся папок." + }, + "coverSource": { + "extracted": "Извлеченные", + "custom": "Свой" + }, + "brokenSlot": { + "ebookExtracted": "Обложка книги извлечена", + "ebookCustom": "Обложка книги, пользовательская", + "audioExtracted": "Обложка аудиокнига, извлеченная", + "audioCustom": "Audiobook обложка, пользовательская" + }, + "table": { + "selectPage": "Выбрать все на этой странице", + "coverFolder": "Папка обложки для книги #{bookId}", + "fileCount": "{count, plural, one {# файл} other {# файлов} few {# файлов} many {# файлов}}", + "orphanMedia": { + "ebook": "Обложка книги", + "audio": "Крышка аудиокнига", + "both": "Обложки книги и аудиокниги" + } + }, + "confirm": { + "title": "Очистить недостающие ресурсы?", + "action": "Чистый", + "missing_books": "{count, plural, one {Удаляет запись базы данных для одной книги, файлы которой отсутствуют. Книга, её метаданные, прогресс чтения и обложка будут удалены. Это действие нельзя отменить.} few {Удаляет записи базы данных для # книг, файлы которых отсутствуют. Книги, их метаданные, прогресс чтения и обложки будут удалены. Это действие нельзя отменить.} many {Удаляет записи базы данных для # книг, файлы которых отсутствуют. Книги, их метаданные, прогресс чтения и обложки будут удалены. Это действие нельзя отменить.} other {Удаляет записи базы данных для # книги, файлы которых отсутствуют. Книги, их метаданные, прогресс чтения и обложки будут удалены. Это действие нельзя отменить.}}", + "broken_covers": "{count, plural, one {Удаляет ссылку на обложку для одной книги, чтобы она не имела обложки. В противном случае метаданные не изменены.} other {Удаляет ссылки на покрытие # книг, чтобы они не имели обложки. Иначе метаданные не изменились.} few {Удаляет ссылки на покрытие # книг, чтобы они не имели обложки. Иначе метаданные не изменились.} many {Удаляет ссылки на покрытие # книг, чтобы они не имели обложки. Иначе метаданные не изменились.}}", + "orphaned_cover_dirs": "{count, plural, one {Удаляет с диска одну папку обложки. Её книги больше нет в базе данных. Это действие нельзя отменить.} few {Удаляет с диска # папки обложек. Их книг больше нет в базе данных. Это действие нельзя отменить.} many {Удаляет с диска # папок обложек. Их книг больше нет в базе данных. Это действие нельзя отменить.} other {Удаляет с диска # папки обложек. Их книг больше нет в базе данных. Это действие нельзя отменить.}}" + }, + "cleaned": { + "missing_books": "{count, plural, =0 {Нечего очищать} one {Удалена одна отсутствующая книга} few {Удалены # отсутствующие книги} many {Удалено # отсутствующих книг} other {Удалены # отсутствующей книги}}", + "broken_covers": "{count, plural, =0 {Нечего очищать} one {Удалена одна ссылка на крышку} other {Удалено # ссылок на крышку} few {Удалено # ссылок на крышку} many {Удалено # ссылок на крышку}}", + "orphaned_cover_dirs": "{count, plural, =0 {Нечего очищать} one {Удалена одна папка обложек с осиротевшими} other {Удалены # папки с осиротевшимися обложками} few {Удалены # папки с осиротевшимися обложками} many {Удалены # папки с осиротевшимися обложками}}" + }, + "pagination": { + "label": "Отсутствуют страницы ресурсов", + "page": "Страница {page} из {total}" + }, + "errors": { + "summary": "Не удалось загрузить недостающий ресурс.", + "sweepStart": "Не удалось запустить проверку обложки.", + "sweep": "Ошибка проверки обложки.", + "list": "Не удалось загрузить эти записи.", + "clean": "Не удалось очистить." + } } }, "views": { @@ -7088,11 +12765,15 @@ "sort": "Сортировка", "sortOn": "На", "resetSort": "Сбросить сортировку по умолчанию", + "shuffle": "Перемешать", + "shuffleAria": "Перемешать порядок книги", + "shuffleHint": "Нарисуйте новый случайный заказ", "filters": "Фильтры", "clear": "Очистить", "clearAllFilters": "Очистить все фильтры", "expandSeries": "Развернуть серию", "collapseSeries": "Свернуть серию", + "collapseLockedWhileSelecting": "Серии остаются расширенными при выборе", "expanded": "Расширенный", "exportMetadata": "Экспорт метаданных", "showControlsAria": "Показать управление библиотекой", @@ -7109,6 +12790,7 @@ "customize": "Настроить панель инструментов", "allShelvesHidden": "Все полки скрыты.", "greeting": { + "night": "Добрый ночь;", "morning": "Доброе утро,", "afternoon": "Добрый день,", "evening": "Добрый вечер,", @@ -7193,6 +12875,7 @@ "emptyLibraryHint": "Как только вы добавите книги в эту библиотеку, они появятся здесь." }, "querySelection": { + "loadedSelected": "Выбрано загруженных книг: {selected} из {total}.", "selectAllMatching": "Выбрать все {total} подходящие книги" } }, @@ -7228,6 +12911,35 @@ "noMatchHint": "Попробуйте изменить правила фильтрации.", "edit": "Изменить SmartScope" } + }, + "podcastScope": { + "title": "Умный плейлист", + "entity": "умный плейлист", + "loadFailed": "Не удалось загрузить выпуски для этого плейлиста.", + "loadMoreFailed": "Не удалось загрузить больше эпизодов.", + "retry": "Повторить", + "editRules": "Редактировать правила", + "saveFailed": "Не удалось сохранить правила плейлиста.", + "deleteFailed": "Не удалось удалить плейлист.", + "empty": { + "title": "Нет подходящих эпизодов", + "hint": "Настройте правила так, чтобы они соответствовали больше эпизодов." + } + }, + "podcastCollection": { + "title": "Подкаст коллекции", + "entity": "Коллекция подкастов", + "loadFailed": "Не удалось загрузить сериалы в этой коллекции.", + "remove": "Удалить", + "removeAria": "Удалить {name} из этой коллекции", + "removed": "Удалено {name}", + "removeFailed": "Не удалось удалить эту сериал.", + "empty": { + "title": "Пока нет сериалов", + "hint": "Добавить шоу в эту коллекцию из библиотеки подкаст." + }, + "loadMoreFailed": "Не удалось загрузить больше сериалов.", + "retry": "Повторить" } }, "whatsNew": { @@ -7260,10 +12972,825 @@ "previousImage": "Предыдущее изображение", "nextImage": "Следующее изображение" }, + "podcast": { + "actions": { + "add": "Добавить", + "cancel": "Отмена", + "save": "Сохранить", + "play": "Играть", + "pause": "Пауза", + "playEpisode": "Играть эпизод", + "listen": "Слушать", + "remove": "Удалить", + "episodeActions": "Действия эпизодов", + "removeFromQueue": "Удалить из очереди", + "addToQueue": "Добавить в очередь", + "playNext": "Играть далее", + "retryDownload": "Повторить загрузку", + "download": "Скачать", + "removeDownload": "Удалить загрузку", + "markUnplayed": "Отметить невоспроизведённым", + "markPlayed": "Пометить сыгранные", + "follow": "Подписаться", + "unfollow": "Отписаться", + "followPodcast": "Следите за подкастом", + "unfollowPodcast": "Отписаться от подкаста", + "resume": "Возобновить", + "playLatest": "Играть последнее", + "moveToTop": "Переместить вверх", + "playFromHere": "Играть отсюда", + "moveDown": "Сдвинуть вниз", + "clearQueue": "Очистить очередь", + "clearAll": "Очистить все", + "search": "Искать", + "clearPlayed": "Очистить воспроизведенные", + "downloadSelected": "Загрузить выбранные", + "removeSelectedDownloads": "Удалить выбранные загрузки", + "markSelectedPlayed": "Отметить выбранное", + "removeSelectedFromQueue": "Удалить выбранное из очереди", + "selectEpisode": "Выберите {title}", + "playNamedEpisode": "Сыграть {title}", + "listenToEpisode": "Слушать {title}", + "resumeEpisode": "Возобновить {title}", + "playLatestEpisode": "Воспроизвести последний эпизод {title}", + "episodeDetails": "Детали серии", + "episodeDetailsNamed": "Детали эпизода для {title}", + "editEpisodeMetadata": "Редактировать метаданные", + "openFullPlayer": "Открыть весь плеер", + "reorderEpisode": "Изменить порядок {title}", + "playAll": "Играть все", + "resumeNamed": "Возобновить {title}", + "queueAll": "Очередь всех", + "markAllPlayed": "Отметить все сыгранные", + "latestCount": "Последняя {count}", + "downloadLatest": "Скачать последнюю", + "removeAllDownloads": "Удалить все загрузки", + "pin": "Закрепить", + "unpin": "Unpin", + "pinEpisode": "Прикрепить эпизод", + "unpinEpisode": "Открепить эпизод" + }, + "status": { + "nowPlaying": "Играет сейчас", + "paused": "Пауза", + "downloaded": "Загружено", + "downloadQueued": "Загрузка в очереди", + "downloading": "Скачивание", + "downloadFailed": "Ошибка загрузки", + "unavailable": "Unavailable", + "played": "Играл", + "following": "Подписка", + "playbackProgress": "Прогресс воспроизведения", + "downloadProgress": "Прогресс загрузки", + "removedFromFeed": "Больше нет в ленте новостей", + "inQueue": "В очереди", + "feedFailing": "Лента не удалось", + "archived": "Архивировано", + "localShow": "Локальный", + "localShowDescription": "Это шоу не имеет ленты. Его эпизоды являются файлами в его папке.", + "missing": "Отсутствует", + "missingDescription": "Это шоу папка больше не на диске. Он хранится здесь, если папка возвращена; удалите сериал, чтобы удалить его на хорошо." + }, + "selection": { + "select": "Выбрать", + "selectAll": "Выбрать все", + "count": "{count} выбран", + "toggleShow": "Выберите {title}" + }, + "bulkDelete": { + "title": "Удалить выбранные сериалы", + "action": "Удалить", + "confirmPhrase": "УДАЛИТЬ", + "description": "Это навсегда удаляет {count} и все знающие о них книжные орбиты, включая историю прослушивания. Это действие нельзя отменить.", + "descriptionWithFiles": "Это навсегда удаляет {count} , все что знает о них BookOrbit, и {size} скачанных файлов. Ваши собственные папки никогда не касаются. Это действие нельзя отменить.", + "queued": "Удаление {count} сериалов", + "queuedWithFailures": "Удаление {count} сериалов, {failed} не может быть запущен", + "errors": { + "prepare": "Не удалось выяснить, что удаление этих сериалов удалит", + "delete": "Не удалось удалить выбранные сериалы" + } + }, + "views": { + "queue": "Очередь" + }, + "labels": { + "episodeCount": "Эпизодов: {count}", + "unknownPublisher": "Неизвестный издатель", + "durationHoursMinutes": "{hours} ч {minutes} мин", + "durationMinutes": "{minutes}м", + "durationSeconds": "{seconds}сек", + "durationUnavailable": "Продолжительность недоступна", + "unknownDate": "Неизвестная дата", + "seasonEpisode": "С{season} E{episode}", + "season": "С{season}", + "episode": "Э{episode}", + "episodeTypeTrailer": "Трейлер", + "episodeTypeBonus": "Бонус", + "pinnedHint": "Закрепленные эпизоды защищены от удаления хранения данных.", + "explicit": "Ясный", + "lastListened": "Прослушанные {time}", + "timeLeft": "Осталось: {time}", + "remainingClock": "-{time}", + "pinnedEpisode": "Прикрепленный эпизод", + "newEpisodeCount": "Новых: {count}", + "unplayedShort": "{count} не воспроизведено" + }, + "acquisition": { + "title": "Автоматические загрузки", + "never": "Никогда", + "newEpisodes": "Новые выпуски", + "recentEpisodes": "Недавние выпуски", + "maximumNewest": "Максимум новых эпизодов", + "publishedWithinDays": "Опубликовано в течение последних (дней)", + "remoteDescription": "По умолчанию эпизоды трансляции. Вы можете загрузить отдельные эпизоды для оффлайн прослушивания.", + "newestDescription": "Автоматически загружать выбранное количество новых эпизодов, которые еще не сохранены или в очереди. Сохранение этого правила также проверяет эпизоды уже в ленте.", + "windowDescription": "Скачайте существующие и вновь открытые выпуски опубликованные в этот период. Пропущены эпизоды без даты публикации. Изменение этого правила не удалит старые загрузки, но сохранение хранилища может удалить ненужные загрузки при необходимости места." + }, + "cleanup": { + "title": "Удалить после прослушивания", + "keep": "Сохранять загрузки", + "afterFinished": "Удалить после завершения", + "delayHours": "Удалить это много часов после окончания последнего слушателя", + "keepDescription": "Загруженные эпизоды остаются на диске до тех пор, пока хранилище не понадобится места.", + "afterFinishedDescription": "Удалите скачанный эпизод после того, как все слушатели, которые его запустили, закончили и задержка прошела. Пометка невоспроизведенного, закрепления или помещения его обратно в очередь во время этого окна отменит удаление." + }, + "player": { + "miniPlayer": "Маленький подкаст", + "openFullPlayer": "Открыть весь плеер", + "expandMiniPlayer": "Развернуть мини-плеер", + "collapseMiniPlayer": "Свернуть для компактного игрока", + "stopAndClose": "Остановить и закрыть плеер", + "sleepActive": "Таймер сна: {value}", + "previousEpisode": "Предыдущий эпизод", + "nextEpisode": "Следующий эпизод", + "backSeconds": "Назад {count} секунд", + "forwardSeconds": "Переслать {count} секунд", + "episodePosition": "Положение эпизода", + "toggleTimeDisplay": "Переключить оставшееся и общее время", + "positionValue": "{elapsed} прошел от {duration}", + "playingAnnouncement": "Играет {title} от {podcast}", + "pausedAnnouncement": "Приостановлен {title} от {podcast}", + "volume": "Объем", + "positionValueWithChapter": "{elapsed} прошел от {duration}, главу {chapter}" + }, + "bookmarks": { + "title": "Закладки", + "empty": "Нет закладок", + "closeForm": "Закрыть закладку", + "saveAt": "Сохранить на {time}", + "titlePlaceholder": "Заголовок закладки", + "notePlaceholder": "Дополнительная заметка", + "save": "Сохранить закладку", + "edit": "Редактировать закладку", + "delete": "Удалить закладку", + "titleLabel": "Заголовок закладки", + "noteLabel": "Закладка", + "editTitleLabel": "Изменить заголовок закладки", + "editNoteLabel": "Редактировать заметку", + "defaultTitle": "Закладка {time}" + }, + "library": { + "episodes": "Эпизоды", + "shows": "Сериалы", + "latest": "Последние", + "inProgress": "В процессе", + "unplayed": "Не воспроизведено", + "finished": "Завершено", + "health": "Здоровье", + "search": "Поиск подкастов", + "clearSearch": "Очистить поиск подкаста", + "import": "Импорт", + "importOpml": "Импорт OPML", + "importDescription": "Импортировать список подписки OPML", + "addFeed": "Добавить ленту", + "settings": "Настройки подкаста", + "views": "Виды подкастов", + "loading": "Загрузка подкастов...", + "noMatchingShows": "Нет подходящих сериалов", + "ready": "Ваша библиотека подкаста готова", + "tryDifferentSearch": "Попробуйте другое название или издателя.", + "readyDescription": "Добавьте RSS-ленту или импортируйте файл OPML, чтобы начать создание своей прослушивающей библиотеки.", + "loadMoreShows": "Загрузить больше сериалов", + "upNext": "Далее", + "emptyQueue": "Очередь пуста", + "emptyQueueDescription": "Добавить эпизод из сериала, чтобы сохранить ваш следующий слушатель в пределах легкой досягаемости.", + "loadMore": "Загрузить еще", + "lastSuccess": "Последний успех", + "failureCount": "Сбой {count} : {error}", + "unknownError": "Неизвестная ошибка", + "healthy": "Здоровые", + "noFeeds": "Нет каналов для мониторинга", + "noFeedsDescription": "Добавьте канал подкаста, чтобы увидеть его статус обновления.", + "noMatchingEpisodes": "Нет подходящих эпизодов", + "noEpisodesLatest": "Нет эпизодов", + "noEpisodesDownloaded": "Нет загруженных эпизодов", + "noEpisodesInProgress": "Нет выпусков в процессе", + "noEpisodesUnplayed": "Нет невоспроизведенных эпизодов", + "noEpisodesFinished": "Нет завершенных эпизодов", + "noEpisodesPinned": "Нет закрепленных эпизодов", + "pinned": "Прикреплено", + "continueListening": "Продолжить прослушивание", + "viewAllContinue": "Посмотреть все", + "noEpisodesDescription": "Новые выпуски ваших сериалов появятся здесь.", + "loadMoreEpisodes": "Загрузить больше эпизодов", + "addPodcastFeed": "Добавить канал подкаста", + "rssUrl": "URL RSS ленты новостей", + "preview": "Предпросмотр", + "addPodcast": "Добавить подкаст", + "storage": "Хранилище подкастов", + "currentlyUsing": "Используется {size}", + "libraryQuotaGb": "Квота библиотеки (ГБ)", + "freeSpaceReserveGb": "Свободный резерв (ГБ)", + "defaultRefreshMinutes": "Обновление по умолчанию (минуты)", + "finishRemainingSeconds": "Завершить оставшиеся секунды", + "exportOpml": "Экспорт OPML", + "exportDescription": "Экспортировать эту библиотеку в список подписки OPML", + "importOpmlDescription": "Выберите файл OPML и политику скачивания для каждого ленты в нем.", + "opmlFile": "Файл OPML", + "chooseOpmlFile": "Выберите файл", + "noOpmlFileChosen": "Файл не выбран", + "importPolicyHint": "Это применимо ко всем импортированным каналам. Вы можете изменить его в дальнейшем.", + "searchShows": "Поиск сериалов", + "searchEpisodes": "Поиск эпизодов", + "searchHealth": "Поиск здоровья ленты", + "manageFeeds": "Управление каналами", + "feedHealth": "Потомок здоровья", + "feedsNeedAttention": "Ленты требуют внимания", + "episodeFilters": "Фильтры эпизодов", + "previewing": "Предпросмотр...", + "addingPodcast": "Добавление...", + "openShow": "Открыть {title}", + "retryFeed": "Обновить {title}", + "reparseFeed": "Обработка сохраненной ленты для {title}", + "confirmClearQueue": "Удалить каждый выпуск в очереди?", + "importProgress": "Прогресс импорта", + "jobsQueued": "В очереди: {count}", + "jobsProcessing": "Обработка {count}", + "jobsFailed": "{count} не удалось", + "retryUnhealthy": "Повторить нездоровые каналы", + "followedOnly": "Только подписка", + "queueDuration": "Общая длительность: {duration}", + "confirmClearPlayed": "Удалить все воспроизведенные эпизоды из очереди?", + "searchQueue": "Поиск очереди", + "noMatchingQueueEpisodes": "Нет совпадающих в очереди эпизодов", + "showAllEpisodes": "Показать все выпуски", + "browseShows": "Обзор сериалов", + "browseEpisodes": "Просмотр эпизодов", + "allLoaded": "Все {total} загружено", + "addFeedDescription": "Поиск в каталоге подкаста или вставьте URL RSS канала, предпросмотра шоу, а затем выберите как приобретаются его эпизоды.", + "searchDirectory": "Поиск в каталоге подкаста", + "searchDirectoryPlaceholder": "Показывать или показывать имя издателя", + "searchDirectoryEmpty": "В каталоге ничего не найдено.", + "searchDirectoryHint": "Выберите результат для предварительного просмотра или вставьте URL канала ниже.", + "inLibrary": "В библиотеке", + "openExistingShow": "Открыть {title}, уже в вашей библиотеке", + "pasteFeedUrl": "Или вставьте URL канала", + "selectAllLoaded": "Выбрать все загруженные выпуски", + "reorderLoadedHint": "Повторное сортирование применяется к уже загруженным эпизодам.", + "retryUnhealthyLoaded": "Повторить загрузку неудачных каналов", + "manageFeedsUnhealthy": "Управление каналами: неудачные каналы требуют внимания", + "localImportTitle": "Импорт подкастов из ваших папок", + "localImportDoneTitle": "Импорт завершён", + "localImportCounting": "Поиск по папкам…", + "localImportProgress": "{processed} из {total} файлов", + "localImportDone": "{processed} файлов импортировано", + "importingTitle": "Импорт ваших подкастов", + "importingHint": "Появится сюда, когда их файлы читаются." + }, + "import": { + "title": "Импорт локальных файлов", + "description": "Сопоставь звук уже в папке этой библиотеки на выпуски из подписанных вами каналов.", + "placementHint": "Сначала поместите файлы в папку этой библиотеки. BookOrbit принимает их, где они находятся: ничего не копируется, переименовывается или не перемещается.", + "scan": "Сканирование файлов", + "running": "Сканирование...", + "progress": "Отсканировано {current} файлов {total}", + "apply": "Импорт совпадающих файлов", + "applyWithChoices": "Импорт совпадающих файлов и ваш выбор", + "applied": "Принятые файлы {count}.", + "quota": "{adopt} для принятия, {headroom} квоты все еще бесплатно", + "truncated": "Некоторые списки сокращены. Вышеприведенное число завершено.", + "chooseEpisode": "Выберите эпизод", + "leaveUnresolved": "Покинуть позже", + "noDate": "Нет даты", + "fileCount": "{count} файлов", + "subscribe": "Подписаться", + "subscribed": "Подписан", + "suggestedFeedsHint": "Эти папки называются лентой новостей которую вы ещё не отслеживаете. Подпишитесь, а затем сканируйте ещё, чтобы соответствовать их файлам.", + "rescanHint": "Повторите сканирование, чтобы соответствовать файлам в папках, на которые вы только что подписаны.", + "duplicateDiffers": "Другой файл уже прикреплен к этому эпизоду", + "duplicateSame": "В этой эпизоде уже есть этот файл", + "unreadableFolders": "{count} папки не могут быть прочитаны.", + "groups": { + "matched": "Совпадение", + "ambiguous": "Требуется решение", + "unmatched": "Нет совпадений", + "duplicates": "Уже прикреплено", + "skipped": "Пропущено", + "suggestedFeeds": "Подписка на ленту новостей", + "unclaimedFolders": "Папки без ленты новостей" + }, + "signals": { + "episode_guid": "ID эпизода в тегах файла", + "episode_id_suffix": "ID BookOrbit в имени файла", + "enclosure_file_name": "Имя файла соответствует каналу", + "title_and_date": "Название и дата", + "title_and_duration": "Название и длина", + "manual": "Ваш выбор" + }, + "scopes": { + "request": "Показать выбранные", + "folder_suffix": "Показать имя папки", + "feed_url_tag": "Адрес ленты в тегах файла", + "feed_sidecar": "Лента сохранена в папке", + "title_similarity": "Похожие заголовки шоу", + "library": "Не идентифицировано шоу" + }, + "reasons": { + "show_unresolved": "Не удалось определить шоу для этого файла", + "no_episode_candidate": "Сериал совпал, но эпизод не был", + "single_fuzzy_signal": "Только один сигнал, указанный в эпизоде", + "multiple_candidates": "Несколько эпизодов одинаково хорошо подходят", + "empty_file": "Файл пуст", + "unsupported_format": "Неподдерживаемый аудиофайл", + "symlink": "Символические ссылки не импортированы", + "unreadable": "Файл не может быть прочитан", + "outside_library_root": "Файл разрешает вне папки библиотеки", + "attach_conflict": "Серия получила файл во время сканирования", + "quota_exceeded": "Импорт файлов превысил бы квоту хранения библиотеки. Уменьшите квоту или импортируйте меньшее количество файлов." + }, + "sources": { + "feed_sidecar": "Сохраненный файл ленты", + "metadata_json": "metadata.json", + "feed_url_tag": "Теги файлов" + }, + "errors": { + "status": "Не удалось прочитать статус импорта", + "start": "Не удалось начать импорт", + "subscribe": "Не удалось подписаться на этот канал", + "createLocalShow": "Не удалось создать локальное шоу из этой папки" + }, + "messages": { + "subscribed": "Подкаст добавлен. Повторите сканирование, чтобы совпадать с его файлами.", + "localShowCreated": "Локальное шоу создано. Его эпизоды импортируются.", + "localShowUpdated": "Импорт новых файлов в эту папку." + }, + "createLocalShow": "Создать локальное шоу", + "addLocalEpisodes": "Добавить новые выпуски", + "localShowCreated": "Создано", + "unclaimedFoldersHint": "В этих папках нет канала. Преобразуйте один в локальное шоу, и каждый аудиофайл в нем становится эпизодом.", + "localRescanHint": "Повторите сканирование, чтобы подобрать что-нибудь, что изменилось в папках, которые вы только что импортировали." + }, + "messages": { + "podcastAdded": "Подкаст добавлен", + "feedsQueued": "В очереди {count} подкастов", + "settingsSaved": "Настройки подкаста сохранены", + "downloadQueued": "Загрузка эпизода поставлена в очередь", + "downloadRemoved": "Загрузка серии удалена", + "refreshQueued": "Обновление подкастов поставлено в очередь", + "reparseQueued": "Возмещение подкаста в очереди", + "mergeQueued": "Слияние подкастов в очереди", + "showDeleted": "{title} удален", + "queueCleared": "Очередь подкастов очищена", + "playerClosed": "Игрок закрыт", + "feedsRefreshQueued": "В очереди обновлено для {count} каналов", + "finishedQueueCleared": "Воспроизводимые эпизоды удалены из очереди", + "bulkQueueActionCompleted": "Обновлено {count} выбранных эпизодов", + "bulkQueueActionFailed": "Обновлено {completed} эпизодов, {failed} не удалось", + "bulkQueued": "В очереди {completed} эпизодов; {skipped} уже поставлены в очередь или превышены лимит очереди", + "bulkMarkedPlayed": "Отмечено {count} выпусков", + "bulkDownloadsQueued": "Загрузка эпизодов в очереди {count}", + "bulkDownloadsRemoved": "Удалено загрузок эпизода {count}", + "bulkDownloadsRemovedWithFailures": "Удалено {completed} загрузок; {failed} не удалось", + "queueRestored": "Восстановленные выпуски {count} в очередь", + "playlistSaved": "Плейлист сохранен", + "playlistDeleted": "Плейлист удален", + "playlistQueued": "Очередь {completed} эпизодов, пропущенных {skipped}", + "playlistQueueEmpty": "Нет эпизодов, соответствующих этому плейлисту", + "detailsSaved": "Показать сведения сохраненные", + "episodeDetailsSaved": "Детали эпизода сохранены", + "artworkUpdated": "Обработки обновлены", + "artworkRemoved": "Пользовательское обложка удалено", + "localFileDeleted": "Файл эпизода удален", + "opmlOmittedLocalShows": "Левый {count} локальные показы из экспорта: OPML может описывать только каналы." + }, + "fullPlayer": { + "queueNowPlaying": "Сейчас играет #{position} · {count} осталось", + "queuedCount": "В очереди: {count}", + "mediaUnavailable": "Медиафайл недоступен", + "streaming": "Вещание", + "backToPodcast": "Вернуться к подкасту", + "loading": "Загрузка эпизода...", + "tryAgain": "Попробовать еще раз", + "nowListening": "Сейчас слушается", + "retry": "Повторить", + "restart": "Перезапустить", + "durationUnavailable": "Продолжительность недоступна", + "previousQueued": "Предыдущий эпизод в очереди", + "nextQueued": "Следующий выпуск в очереди", + "startingPlayback": "Запуск воспроизведения", + "speed": "Скорость", + "playbackSpeed": "Скорость воспроизведения", + "sleep": "Сон", + "off": "Выкл", + "endOfChapter": "Конец главы", + "endOfEpisode": "Конец эпизода", + "minutesLeft": "Осталось {count}м", + "aboutEpisode": "Об этом эпизоде", + "showLess": "Меньше", + "showMore": "Показать еще", + "chapters": "Главы", + "previousChapter": "Предыдущая глава", + "nextChapter": "Следующая глава", + "removeNamedFromQueue": "Удалить {title} из очереди", + "queueClear": "Ваша очередь очищена.", + "transcripts": "Транскрипты", + "transcript": "Транскрипт", + "sleepMinutes": "{count} мин", + "speedValue": "{rate}x", + "cyclePlaybackSpeed": "Скорость воспроизведения цикла", + "choosePlaybackSpeed": "Выберите скорость воспроизведения", + "moreSpeeds": "Ещё", + "showSpeedOverride": "Эта скорость запоминается для этого шоу.", + "clearSpeedOverride": "Использовать скорость по умолчанию для этого шоу", + "extendSleepLabel": "Добавить {count} больше минут в таймер сна", + "sleepTimer": "Таймер сна", + "sleepRemaining": "{count}м", + "fineTuneSpeed": "Прекрасная регулировка", + "decreaseSpeed": "Уменьшить скорость воспроизведения", + "increaseSpeed": "Увеличить скорость воспроизведения", + "extendSleep": "Добавить {count} мин", + "bookmarkTooltip": "Закладка: {title}", + "openQueue": "Открыть очередь", + "openChapterLink": "Открыть ссылку главы для {title}" + }, + "show": { + "loading": "Загрузка подкаста...", + "noAlerts": "Нет оповещений", + "immediate": "Немедленно", + "dailyDigest": "Ежедневный дайджест", + "weeklyDigest": "Еженедельный дайджест", + "refreshFeed": "Обновить ленту новостей", + "refreshInterval": "Интервал обновления через минуты", + "restore": "Восстановить", + "archive": "Архивировать", + "deletePermanently": "Удалить навсегда", + "mergeSource": "Объединить другой идентификатор подкаста с этим шоу", + "queueMerge": "Слияние очереди", + "confirmMerge": "Объединить {id} в подкаст? Исходный подкаст будет удален навсегда.", + "confirmDelete": "Окончательно удалить {title}, его эпизоды {episodes} и всё состояние прослушивания? Это действие нельзя отменить.", + "confirmDeleteWithDownloads": "Окончательно удалить {title}, его {episodes} эпизоды, {files} скачали файлы ({size}) и все состояния прослушивания? Это не может быть отменено.", + "back": "Назад", + "notificationMode": "Частота уведомлений", + "readMore": "Читать далее", + "searchEpisodes": "Искать в сериалах", + "clearEpisodeSearch": "Очистить поиск эпизода", + "episodeFilter": "Фильтр эпизодов", + "episodeSort": "Порядок сортировки эпизодов", + "newestFirst": "Сначала новые", + "oldestFirst": "Сначала старые", + "noEpisodes": "Нет подходящих эпизодов", + "noEpisodesDescription": "Попробуйте другой поиск, фильтр или сортировку.", + "dangerZone": "Опасная зона", + "dangerZoneActions": "Архив, удалить или объединить этот канал. Удаление нельзя отменить.", + "mergeTitle": "Merge duplicate show", + "mergeDescription": "Найдите сериал, чтобы объединить его в сеть. Источник будет удален навсегда.", + "searchMergeSource": "Поиск дубликатов шоу", + "mergeSelected": "Объединить “{title}” в это шоу", + "fromDate": "От", + "toDate": "Кому", + "feedFailingTitle": "Лента требует внимания", + "feedFailingDetail": "{count} неудачная попытка обновления. Последнее успешное обновление: {lastSuccess}", + "archivedTitle": "Это шоу заархивировано", + "archivedDescription": "Архивированные шоу перестают обновлять и не загружать новые эпизоды.", + "downloadLatestCount": "Количество последних выпусков для загрузки", + "confirmRemoveAllDownloads": "Удалить все загруженные эпизоды для этого шоу? Сохраняются потоковые эпизоды и прогресс прослушивания.", + "refreshCompleted": "Обновлено, новых эпизодов: {count}", + "refreshFailed": "Не удалось обновить: {error}", + "manageTitle": "Управление сериалами", + "manageActionsDescription": "Архивация, удаление и слияние обрабатываются отдельно, так что рутинные настройки остаются в безопасности для изменения.", + "openManageActions": "Архив, удалить или объединить", + "archiveOrDelete": "Архивирование является обратимым и сохраняет все эпизоды. Удаление сериала, его эпизодов и загруженных файлов хорошо.", + "deleteRequiresOwner": "Архивирование скрывает это шоу и останавливает его обновления. Только владелец библиотеки с правом на удаление подкастов может удалить его навсегда.", + "settingsDescription": "Выберите, как получают эпизоды и как часто проверяется канал.", + "updatedAgo": "Обновлено {time}", + "checksEvery": "Проверяет каждый {time}", + "visitWebsite": "Посетить сайт", + "backToLibrary": "Вернуться к {library}", + "categoryOverflow": "+{count}", + "moreCategories": "Показать еще {count} категории", + "allCategories": "Все категории", + "serial": "Серийный", + "daysShort": "{count} д", + "hoursShort": "{count} ч", + "minutesShort": "{count} мин", + "moreActions": "Другие действия", + "dates": "Даты", + "anyDate": "Любая", + "dateRange": "{from} - {to}", + "dateFilter": "Даты публикации эпизодов", + "clearDates": "Очистить даты", + "seasonHeader": "Сезон {season}", + "localSettingsHint": "У этого шоу нет ленты, поэтому у него нет настроек обновления или загрузки." + }, + "edit": { + "title": "Изменить данные", + "description": "Всё, что вы меняете здесь, заблокировано, так что следующее обновление ленты не может перезаписать его.", + "titleLabel": "Показать название", + "authorLabel": "Издатель", + "authorPlaceholder": "Кто публикует это шоу", + "descriptionLabel": "Описание", + "descriptionPlaceholder": "Что это за шоу", + "descriptionHint": "Форматирование из канала заменяется простым текстом, который вы вводите здесь.", + "siteUrlLabel": "Сайт", + "siteUrlPlaceholder": "https://example.com/show", + "languageLabel": "Язык", + "languagePlaceholder": "ru-ru", + "categoriesLabel": "Категории", + "categoriesPlaceholder": "Добавить категорию и нажать Enter", + "removeCategory": "Удалить категорию {category}", + "categoryLimit": "Вы можете держать до {count} категорий.", + "explicitLabel": "Ясный", + "explicitHint": "Отметить это шоу как содержащее явное содержимое.", + "artworkTitle": "Обложка", + "artworkHint": "PNG, JPEG, WebP, GIF или AVIF до 10 MB. Пользовательский рисунок заменяет изображение канала везде.", + "artworkUrlLabel": "Адрес изображения", + "artworkUrlPlaceholder": "https://example.com/artwork.png", + "chooseImage": "Выбрать изображение", + "useImage": "Использовать это изображение", + "removeCustomArtwork": "Удалить собственное обложку", + "lockField": "Заблокировать {field} от обновления фида", + "unlockField": "Разблокируйте {field} , чтобы канал мог обновить его", + "willLockField": "{field} будет заблокирован при сохранении", + "willLockHint": "Это поле будет заблокировано при сохранении.", + "localDescription": "У этого шоу нет корма, поэтому ваши правки постоянны и ничто не может перезаписать их." + }, + "episodeEdit": { + "title": "Редактировать эпизод", + "description": "Всё, что вы меняете здесь, заблокировано, так что следующее обновление ленты не может перезаписать его.", + "lockHint": "Отредактированные поля защищены от обновлений ленты.", + "titleLabel": "Название эпизода", + "subtitleLabel": "Субтитры", + "subtitlePlaceholder": "Короткая строка под названием", + "descriptionLabel": "Описание", + "descriptionPlaceholder": "Что описывает этот эпизод", + "descriptionHint": "Форматирование из канала заменяется простым текстом, который вы вводите здесь.", + "publishedAtLabel": "Опубликовано", + "seasonLabel": "Сезон", + "seasonPlaceholder": "2", + "episodeLabel": "Номер эпизода", + "episodePlaceholder": "14", + "episodeTypeLabel": "Тип эпизода", + "episodeTypeNone": "Не задано", + "episodeTypeFull": "Полный эпизод", + "episodeTypeTrailer": "Трейлер", + "episodeTypeBonus": "Бонус", + "episodeTypeFromFeed": "{value} (из фида)", + "durationLabel": "Продолжительность", + "durationPlaceholder": "Минут", + "durationHint": "В минутах. Оставьте пустым, чтобы удалить продолжительность.", + "durationInvalid": "Введите длительность в минутах больше нуля.", + "explicitLabel": "Ясный", + "explicitHint": "Отметить эту серию как содержащую явное содержание.", + "localHint": "Этот эпизод был из файла, а не корма, так что ваши правки постоянны и ничто не может перезаписать их." + }, + "errors": { + "createBookmark": "Не удалось создать закладку", + "updateBookmark": "Не удалось обновить закладку", + "deleteBookmark": "Не удалось удалить закладку", + "feedPreview": "Предпросмотр ленты не удался", + "directorySearch": "Поиск каталогов сейчас недоступен. Вставьте ссылку на канал.", + "invalidEpisodeLimit": "Введите допустимое максимальное количество эпизодов", + "invalidEpisodeWindow": "Введите правильное окно недавнего эпизода", + "invalidCleanupDelay": "Задержка очистки должна быть от 0 до 8,760 часов", + "addPodcast": "Не удалось добавить подкаст", + "opmlTooLarge": "Размер файла OPML не может превышать 5 МБ", + "opmlImport": "Не удалось импортировать OPML", + "opmlExport": "Экспорт OPML не удался", + "loadSettings": "Не удалось загрузить настройки подкаста", + "invalidStorage": "Значения хранилища должны быть неотрицательными числами", + "invalidRefresh": "Обновление по умолчанию должно быть от 5 до 10,080 минут", + "invalidCompletion": "Порог завершения должен быть от 0 до 3600 секунд", + "saveSettings": "Не удалось сохранить настройки подкаста", + "markPlayed": "Не удалось отметить воспроизведенный эпизод", + "restartEpisode": "Не удалось перезапустить эпизод", + "queueDownload": "Не удалось загрузить эпизод в очереди", + "removeDownload": "Не удалось удалить эпизод загрузки", + "addToQueue": "Не удалось добавить серию в очередь", + "removeFromQueue": "Не удалось удалить эпизод из очереди", + "loadPodcast": "Не удалось загрузить подкаст", + "loadEpisodes": "Не удалось загрузить выпуски подкаста", + "queueNext": "Не удалось поставить в очередь следующий эпизод", + "follow": "Не удалось подписаться на подкаст", + "unfollow": "Не удалось отписаться от подкаста", + "updateEpisode": "Не удалось обновить эпизод", + "refresh": "Не удалось поставить в очередь обновление подкаста", + "reparse": "Не удалось отправить в очередь на подкаст возмещение", + "reparseNoSnapshot": "У BookOrbit пока нет копий этой ленты. Сначала обновите ее.", + "updatePodcast": "Не удалось обновить подкаст", + "archive": "Не удалось архивировать подкаст", + "prepareDelete": "Не удалось подготовить шоу удаления", + "deleteShow": "Не удалось удалить сериал", + "restore": "Не удалось восстановить подкаст", + "merge": "Не удалось отправить подкаст в очередь", + "libraryAccess": "Не удалось загрузить доступ к библиотеке", + "reorderQueue": "Не удалось изменить порядок очереди подкастов", + "clearQueue": "Не удалось очистить очередь подкастов", + "podcastNotFound": "Подкаст не найден", + "loadPodcasts": "Не удалось загрузить подкасты", + "loadQueue": "Не удалось загрузить очередь подкастов", + "loadHealth": "Не удалось загрузить канал здоровья", + "loadPlaybackSettings": "Не удалось загрузить настройки воспроизведения подкаста", + "invalidPlaybackRate": "Частота воспроизведения должна быть от 0.5 до 3", + "invalidSkipBackward": "Пропустить назад должен быть от 5 до 120 секунд", + "invalidSkipForward": "Перемотка вперед должна быть от 5 до 120 секунд", + "invalidDateRange": "Дата начала должна быть до даты окончания", + "episodeNotFound": "Не найден эпизод подкаста", + "loadEpisode": "Не удалось загрузить подкаст", + "refreshPlaybackContext": "Не удалось обновить контекст воспроизведения", + "streamUnavailable": "Не удается загрузить этот подкаст", + "bulkAction": "Не удалось обновить выпуски подкаста", + "invalidVolume": "Объем должен быть от 0 до 100 процентов", + "restoreQueue": "Не удалось восстановить очередь подкаста", + "loadPlaylists": "Не удалось загрузить плейлисты", + "savePlaylist": "Не удалось сохранить плейлист", + "deletePlaylist": "Не удалось удалить плейлист", + "queuePlaylist": "Не удалось поставить в очередь плейлист", + "playlistNameRequired": "Назовите плейлист перед его сохранением", + "playlistLimitReached": "Вы достигли предела сохраненного плейлиста", + "playlistDurationRange": "Кратчайшая продолжительность должна быть меньше самой длинной", + "updatePinned": "Не удалось обновить закрепленное состояние", + "titleRequired": "Показать заголовок не может быть пустым", + "episodeTitleRequired": "Название эпизода не может быть пустым", + "updateArtwork": "Не удалось обновить обложку", + "removeArtwork": "Не удалось удалить пользовательский обложку" + }, + "settingsPage": { + "title": "Настройки подкаста", + "subtitle": "Управляйте настройками по умолчанию и поведением хранилища для каждой библиотеки подкастов.", + "loading": "Загрузка настроек подкаста...", + "saving": "Сохранение...", + "playbackTitle": "Воспроизведение по умолчанию", + "playbackDescription": "Эти настройки следуют вашей учетной записи между устройствами. Скорость воспроизведения запоминается для отдельных сериалов.", + "defaultPlaybackRate": "Скорость воспроизведения по умолчанию", + "skipBackwardSeconds": "Пропустить назад (секунды)", + "skipForwardSeconds": "Перейти вперед (в секундах)", + "playbackSaved": "Настройки воспроизведения подкаста сохранены", + "playbackSaveFailed": "Не удалось сохранить настройки воспроизведения подкаста", + "libraryTitle": "Библиотека по умолчанию и хранилище", + "libraryDescription": "Выберите библиотеку подкаста, чтобы просмотреть его ограничения хранения и поведение обновления по умолчанию.", + "library": "Библиотека подкастов", + "noLibraries": "У вас пока нет доступа к библиотеке подкастов.", + "loadingLibrary": "Загрузка настроек библиотеки...", + "readOnlyLibrary": "Изменять эти настройки могут только владельцы библиотек с правами на сохранение подкастов.", + "showSettingsHint": "Правила автоматической загрузки и обновления переопределений остаются в настройках каждого шоу.", + "defaultVolume": "По умолчанию громкость", + "gigabytesUnit": "Гб" + }, + "queueReorder": { + "lifted": "{title} поднял на позицию {position} у {total}", + "moved": "{title} перемещен на позицию {position} {total}", + "dropped": "{title} вышел в позицию {position} от {total}", + "cancelled": "Изменение порядка {title} отменено" + }, + "sort": { + "label": "Сортировка", + "showLabel": "Сортировать сериалы", + "episodeLabel": "Сортировать эпизоды", + "showTitle": "Заголовок от А к Я", + "showRecent": "Недавно обновленные", + "showUnplayed": "Самые невоспроизведенные", + "shortest": "Сначала самые короткие", + "longest": "Самый длинный", + "recentlyListened": "Недавно прослушанные" + }, + "announce": { + "queued": "{title} добавлен в очередь", + "queuedNext": "{title} будет играть далее", + "unqueued": "{title} удален из очереди", + "downloadReady": "{title} закончил загрузку", + "downloadFailed": "{title} не удалось загрузить", + "evictedSpace": "Загрузка {title} удалена на свободное место", + "evictedPlayed": "{title} загрузка удалена после прослушивания", + "sleepExpired": "Таймер сна закончился, воспроизведение приостановлено", + "sleepExtended": "Таймер сна продлен {count} минутами", + "sleepChapterUnavailable": "Таймер сна отменен, в этом эпизоде нет глав" + }, + "shortcuts": { + "title": "Горячие клавиши подкаста", + "description": "Эта работа при загрузке эпизода. Пространство и клавиши со стрелками действуют на странице игрока или мини-игрока, а закладки могут быть добавлены только со страницы игрока.", + "open": "Горячие клавиши", + "togglePlayback": "Играть или приостановить", + "skipBackward": "Пропустить назад", + "skipForward": "Перейти вперед", + "next": "Следующий эпизод", + "previous": "Предыдущий эпизод", + "speedDown": "Уменьшить скорость воспроизведения", + "speedUp": "Увеличить скорость воспроизведения", + "mute": "Отключить или включить звук", + "volumeUp": "Увеличить громкость", + "volumeDown": "Уменьшить громкость", + "bookmark": "Добавить закладку", + "help": "Показать этот список", + "spaceKey": "Пространство", + "groups": { + "playback": "Воспроизведение", + "navigation": "Navigation", + "tools": "Инструменты" + } + }, + "playlists": { + "title": "Плейлисты", + "builtInLabel": "Построен в", + "savedLabel": "Сохранено", + "choose": "Выберите плейлист", + "search": "Поиск серий плейлиста", + "summary": "{count} эпизодов, {duration}", + "summaryShortest": "Кратчайший", + "summaryLongest": "Длинный", + "summaryPublishedWithin": "Опубликовано в", + "create": "Новый плейлист", + "createTitle": "Новый смарт-список воспроизведения", + "editTitle": "Редактировать смарт-плейлист", + "editorDescription": "Выберите, какие выпуски собирает этот умный плейлист. Правила переоцениваются каждый раз при открытии игры, поэтому новые выпуски появятся автоматически.", + "edit": "Редактировать правила", + "adjustRules": "Регулировка правил", + "saveAs": "Сохранить как плейлист", + "save": "Сохранить плейлист", + "delete": "Удалить плейлист", + "deleteConfirmTitle": "Удалить этот плейлист?", + "deleteConfirmDescription": "\"{name}\" и его правила будут удалены. Эти эпизоды, которые он собирает, не затронуты.", + "nameLabel": "Имя плейлиста", + "namePlaceholder": "Первая половина дня", + "filterLabel": "Эпизоды", + "sortLabel": "Заказ", + "minDuration": "Краткий (в минутах)", + "maxDuration": "Длинные (минуты)", + "publishedWithin": "Опубликовано в течение (дней)", + "showsLabel": "Сериалы", + "showsDescription": "Оставьте это поле пустым, чтобы включить каждое шоу в библиотеку.", + "searchShows": "Поиск сериалов для добавления", + "removeShow": "Удалить {title}", + "showLimit": "Плейлист может быть направлен до {count} сериалов.", + "copyOf": "Копия {name}", + "empty": "Ничего еще не соответствует этому плейлисту", + "emptyDescription": "Отрегулируйте правила или возвращайтесь после появления новых эпизодов.", + "builtIn": { + "quick": "Быстрое прослушивание", + "continue": "Продолжить прослушивание", + "downloaded": "Загружено", + "fresh": "Свежая на этой неделе" + }, + "nameRequired": "Назовите плейлист перед его сохранением" + }, + "downloadWidget": { + "title": "Загрузки", + "progress": "{completed} из {total} загружено", + "progressWithFailures": "{completed} из {total} загружен; {failed} не удалось", + "progressWithCancelled": "{completed} из {total} загружен; {cancelled} отменен", + "complete": "Загрузка завершена: {count}", + "expand": "Расширить прогресс загрузки", + "collapse": "Свернуть прогресс загрузки", + "overallProgress": "Общий прогресс загрузки", + "unknownPodcast": "Подкаст", + "unknownEpisode": "Эпизод", + "batchProgress": "Завершено: {completed} из {total}", + "dismiss": "Отклонить процесс загрузки", + "bytes": "{received} из {total}", + "episodeProgress": "Прогресс загрузки {title}", + "status": { + "queued": "В очереди", + "downloading": "Скачивание", + "completed": "Загружено", + "failed": "Неудачный", + "cancelled": "Отменено" + } + }, + "collections": { + "addAction": "Добавить в коллекцию", + "addTitle": "Добавить в коллекцию", + "addDescription": "Выберите коллекцию подкаста для {title}.", + "added": "Добавлено в {name}", + "addFailed": "Не удалось добавить шоу в эту подборку.", + "createFailed": "Не удалось создать подборку.", + "alreadyIn": "Уже в этой коллекции", + "none": "Коллекций подкастов пока нет. Создайте их ниже.", + "newPlaceholder": "Sci-fi подкасты", + "newLabel": "Название новой коллекции", + "create": "Создать", + "newCollection": "Новая коллекция", + "existing": "Коллекции", + "inCollection": "В этой коллекции", + "showCount": "{count} сериалов", + "removed": "Удалено из {name}", + "removeFailed": "Не удалось удалить сериал из этой коллекции." + } + }, "titles": { "dashboard": "Панель", "libraries": "Библиотеки", "podcastLibraries": "Podcast Libraries", + "podcastScope": "Умный плейлист", + "podcastCollection": "Коллекция подкастов", "opds": "OPDS", "koboSync": "Kobo Sync", "koreaderSync": "Синхронизация KOReader", @@ -7280,6 +13807,7 @@ "notFound": "Не найдено", "signIn": "Войти", "initialSetup": "Начальная настройка", + "register": "Создать Аккаунт", "forgotPassword": "Забыли пароль", "resetPassword": "Сбросить пароль", "completingSignIn": "Завершение входа", @@ -7291,13 +13819,17 @@ "collection": "Коллекция", "author": "Автор", "book": "Книга", + "podcasts": "Подкасты", + "podcast": "Подкаст", + "podcastEpisode": "Эпизод", "seriesItem": "Серии", "appearance": { "theme": "Отображение", "book-covers": "Обложки книг", "icons": "Иконки", "layout": "Отобразить макет", - "behavior": "Действие библиотеки" + "behavior": "Действие библиотеки", + "language": "Язык" }, "reader": { "general": "Настройки чтения", @@ -7309,6 +13841,7 @@ }, "email": { "providers": "Поставщики", + "servers": "Почтовые серверы", "recipients": "Получатели", "groups": "Группы", "templates": "Шаблоны", @@ -7322,17 +13855,21 @@ "genre-blocklist": "Genre Blocklist", "score": "Балл доверия", "auto-fetch": "Авто-загрузка книги", - "authors": "Автоматически загружать автора" + "authors": "Автоматически загружать автора", + "search-cache": "Поиск кэша" }, "admin": { "users": "Пользователи", "account-activity": "Активность аккаунта", "magic-links": "Волшебные ссылки", - "oidc": "OIDC / ССО" + "oidc": "OIDC / ССО", + "server-fonts": "Шрифты сервера", + "tts": "Синтез речи" }, "system": { "file-naming": "Именование файлов", "book-dock": "Книжный док-бар", + "requests": "Запросы", "maintenance": "Техническое обслуживание", "audit-log": "Журнал аудита" }, @@ -7343,6 +13880,179 @@ "restrictions": "Ограничения содержимого" }, "smartScopes": "Умные списки", - "collections": "Коллекции" + "collections": "Коллекции", + "missingResources": "Отсутствуют ресурсы", + "bookRequests": "Запросы", + "bookRequestDetail": "Запросить", + "bookRequestReleases": "Выберите релиз", + "tts": "Синтез речи" + }, + "tts": { + "readerControls": { + "listen": "Слушать", + "playing": "Играет" + }, + "player": { + "fallbackTitle": "Воспроизведение речи", + "play": "Играть TTS", + "pause": "Пауза TTS", + "openMiniPlayer": "Открыть мини-плеер", + "shrinkPlayer": "Сжать плеер", + "expandPlayer": "Развернуть плеер", + "collapsePlayer": "Свернуть плеер", + "openDetails": "Подробнее о игроке", + "previousSentence": "Предыдущее предложение", + "nextSentence": "Следующее предложение", + "meta": "Ch {chapter} - Sent {sentence} - {voice} - {speed}x", + "metaWithoutVoice": "Кх {chapter} - Отправлено {sentence} - {speed}x", + "position": "Глава {chapter} - Предложение {sentence}", + "playbackError": "Ошибка воспроизведения - нажмите на воспроизведение для повтора", + "voice": "Голос", + "sleep": "Сон", + "sleepRemaining": "{count}м", + "currentVoice": "Текущий голос", + "chooseVoice": "Выберите голос", + "saveForBook": "Сохранить для этой книги", + "setAsDefault": "Установить как глобальный по умолчанию", + "bookVoiceSaved": "Голос сохранен для этой книги", + "bookVoiceSaveFailed": "Не удалось сохранить голос", + "defaultVoiceSaved": "Голос речи по умолчанию обновлен", + "defaultVoiceSaveFailed": "Не удалось обновить голос по умолчанию", + "stop": "Остановить" + }, + "speed": { + "label": "Скорость воспроизведения", + "value": "{speed}x" + }, + "sleepTimer": { + "title": "Таймер сна", + "preset": "{count}м", + "presetLabel": "Остановить воспроизведение после {count} минут", + "cancel": "Отмена", + "cancelLabel": "Отменить таймер сна", + "remaining": "Остановки в {minutes}м {seconds}с" + }, + "resume": { + "title": "Возобновить TTS?", + "description": "У вас сохраненная позиция речи", + "descriptionWithChapter": "У вас сохраненная позиция TTS (Глава {chapter})", + "resume": "Возобновить", + "startHere": "Начать эту страницу", + "dismiss": "Отклонить", + "clearing": "Очистка...", + "confirmClear": "Подтвердите очистку", + "clearSavedPosition": "Очистить сохраненную позицию" + }, + "voicePicker": { + "search": "Поиск голосов...", + "allProviders": "Все", + "allLanguages": "Все языки", + "allCountries": "Все страны", + "filterByLanguage": "Фильтр по языку", + "filterByCountry": "Фильтр по стране", + "empty": "Голосов не найдено", + "select": "Выберите {name}", + "preview": "Предпросмотр {name}", + "voiceWithLocale": "{voice} - {locale}" + }, + "settings": { + "description": "Настройте параметры голоса и воспроизведения речи по умолчанию.", + "defaultVoice": "Голос по умолчанию", + "selectVoice": "Выберите голос...", + "change": "Изменить", + "defaultSpeed": "Скорость по умолчанию", + "saved": "Настройки TTS сохранены", + "saveFailed": "Не удалось сохранить настройки TTS" + }, + "errors": { + "generic": "Ошибка TTS" + } + }, + "delivery": { + "readAloud": { + "label": "Чтение вслух EPUB доставки", + "automatic": "Автоматически: предпочитать только текст, разрешить оригинальный резерв.", + "textOnly": "Текстовый EPUB", + "original": "Оригинальный EPUB с повествованием", + "hint": "Применяется к будущим поставкам. Оригиналы сохраняют существующую повествование и могут быть гораздо больше. Только подготовка текста не удается, если безопасная копия не может быть сделана.", + "koboHint": "Оригинальное преобразование EPUB в обход KEPUB. Прошивка Native Kobo может не играть в описание, точное положение и подчеркнуть синхронизацию недоступна для этой копии.", + "profileHint": "Используйте отдельные OPDS профили для считывателей, которым нужны различные варианты EPUB.", + "replacementTitle": "Заменить копию Kobo", + "bookId": "ID книги", + "device": "Устройство", + "prepare": "Подготовка к замене", + "offer": "Я удалил только копию устройства; предложил замену", + "confirm": "Я установил замену", + "cancel": "Отменить замену", + "replacementHint": "Сначала подготавливайте и проверяйте. Удаление копии устройства не удаляет книгу библиотеки. Сделайте резервные копии на устройстве самостоятельно. BookOrbit сохраняет канонический прогресс и серверные аннотации. Задержка событий может ограничить точную синхронизацию.", + "prepared": "Подготовлено замены: {format}, {size}. Удалите эту книгу только с выбранного устройства, а затем предложите подготовленную замену и синхронизацию.", + "offered": "Предложена замена. Синхронизируйте и скачайте на устройстве, затем подтвердите установку. Завершенная передача HTTP не докажет установки.", + "cancelled": "Замена отменена. Отмена не восстанавливает удаленную или частично замененную копию устройства. Выберите ту же книгу для подготовки к скачиванию восстановления.", + "alreadyOnDevice": "Устройство уже имеет точную копию, поэтому нет ничего для замены.", + "failed": "Не удалось подготовить или обновить эту замену.", + "searchBook": "Поиск книги", + "chooseBook": "Выберите книгу", + "moreResults": "Показать больше книг", + "noResults": "Подходящие книги не найдены.", + "refresh": "Обновить статус доставки", + "confirmed": "Вы подтвердили установку. Это записывает ваше подтверждение, не верифицирует устройство.", + "transferred": "Передача завершена. Откройте замену устройства перед подтверждением установки.", + "koreaderDefaultTitle": "Доставка KOReader EPUB", + "koreaderDefaultHint": "Значение по умолчанию применяется к будущим загрузкам на устройствах, использующих эти учетные данные. Настройки устройства могут переопределить его. Существующие копии и прерванные загрузки остаются без изменений. Автоматическое сохранение существующих вариантов устройств.", + "koreaderUseDefault": "Использовать учетные данные по умолчанию", + "koreaderSaveFailed": "Не удалось сохранить настройки доставки EPUB KOReader. Повторите попытку.", + "koreaderSaved": "Настройки доставки KOReader EPUB сохранены." + } + }, + "commandPalette": { + "title": "Искать", + "description": "Поиск книг, авторов, серий и настроек, переход к месту или запуск действия.", + "placeholder": "Поиск книг, авторов, серий или перехода в…", + "close": "Закрыть поиск", + "clear": "Очистить поиск", + "tabs": { + "all": "Все", + "books": "Книги", + "authors": "Авторы", + "series": "Серии", + "settings": "Настройки" + }, + "sections": { + "continueReading": "Продолжить чтение", + "goTo": "Перейти к", + "actions": "Действия", + "books": "Книги", + "authors": "Авторы", + "series": "Серии", + "settings": "Настройки" + }, + "kinds": { + "author": "Автор", + "series": "Серии", + "library": "Библиотека", + "smartScope": "Умный охват", + "collection": "Коллекция", + "page": "Страница", + "setting": "Настройка" + }, + "showAllBooks": "{count, plural, one {Показать # книгу} other {Покажите все # книги} few {Покажите все # книги} many {Покажите все # книги}}", + "showAllAuthors": "{count, plural, one {Показать # автора} other {Показать всех # авторов} few {Показать всех # авторов} many {Показать всех # авторов}}", + "showAllSeries": "{count, plural, one {Показать # серии} other {Показать все # серии} few {Показать все # серии} many {Показать все # серии}}", + "showAllSettings": "{count, plural, one {Показать # параметр} other {Показать все # настройки} few {Показать все # настройки} many {Показать все # настройки}}", + "actions": { + "lightTheme": "Включить светлую тему", + "darkTheme": "Переключиться на темную тему" + }, + "hints": { + "navigate": "Navigate", + "open": "Открыть", + "filter": "Фильтр", + "close": "Закрыть" + }, + "keys": { + "escape": "esc", + "tab": "tab" + }, + "resultCount": "{count, plural, =0 {Нет результатов} one {# результат} other {# результаты} few {# результаты} many {# результаты}}" } } diff --git a/client/src/locales/sl.json b/client/src/locales/sl.json index 58d7a84b1..e38f407f2 100644 --- a/client/src/locales/sl.json +++ b/client/src/locales/sl.json @@ -15,7 +15,16 @@ "retry": "Poskusi znova", "yes": "Da", "no": "Ne", - "undo": "Undo" + "show": "Prikaži", + "hide": "Skrij", + "undo": "Undo", + "pagination": { + "label": "Poklic", + "pageOf": "Stran {page} m {totalPages}", + "previousPage": "Prejšnja stran", + "nextPage": "Naslednja stran", + "goToPage": "Pojdi na stran {page}" + } }, "settings": { "privacySharing": { @@ -98,10 +107,52 @@ }, "theme": { "title": "Tema", + "style": { + "label": "Slog", + "hint": "Celoten videz aplikacije. Način, naglas, koti in ozadje obdržijo svoje nastavitve.", + "bookorbit": { + "label": "BookOrbit", + "description": "Površine, steklene plošče in serifne tarifne številke." + }, + "nostalgia": { + "label": "nostalgija", + "description": "Nevtralne površine, sistem, ploske plošče in vrhunski sij." + } + }, "colorScheme": { "label": "Barvna shema", "hint": "Svetel ali temen vmesnik" }, + "surfacePalette": { + "label": "Površina", + "hint": "Nevtralna tla za ploščami in kartami.", + "palettes": { + "onyx": "Onyx", + "carbon": "Ogljik", + "neutral": "Nevtralno", + "zinc": "Cink", + "iron": "Železo", + "steel": "Jeklo", + "ash": "Pepel", + "smoke": "Dim", + "charcoal": "Oglje", + "slate": "Skripta", + "midnight-blue": "Polnočno modra", + "ocean": "Ocean", + "pine": "Bor", + "olive": "Olive", + "stone": "Kamen", + "sepia": "Sepia", + "crimson": "Škrlatna", + "plum": "Slive" + } + }, + "topGlow": { + "label": "Sije zgoraj", + "hint": "Kako daleč seže naglas, da ga ugasne.", + "value": "{value}%", + "off": "Izklopljeno" + }, "accents": { "grey": "Siva", "scarlet": "Škrlatna", @@ -174,7 +225,13 @@ }, "cornerRadius": { "label": "Zaobljenost kotov", - "hint": "Zaobljenost kartic in elementov vmesnika" + "hint": "Zaobljenost kartic in elementov vmesnika", + "options": { + "sharp": "Ostro", + "default": "Privzeto", + "rounded": "Zaokroženo", + "pill": "Tableta" + } }, "surfaceBrightness": { "label": "Svetlost površine", @@ -193,7 +250,8 @@ "structural": "Strukturno", "ambient": "Ambientalno", "refractive": "Lomljeno" - } + }, + "syncSaveFailed": "Ni uspelo shraniti nastavitev teme" }, "storage": { "title": "Kam shraniti nastavitve videza", @@ -225,6 +283,21 @@ "loadError": "Nalaganje privzetega ponudnika iskanja po naslovnicah ni uspelo", "saveError": "Shranjevanje privzetega ponudnika iskanja po naslovnicah ni uspelo" }, + "placeholderStyle": { + "title": "Slog držala", + "hint": "Knjige brez ovitkov so narisane v tem slogu.", + "options": { + "bauhaus": "Bauhaus", + "constructivist": "Konstruktivist", + "memphis": "Memfis", + "clothbound": "Oblačila", + "poster": "Poster", + "aurora": "Aurora", + "vista": "Vista", + "marbled": "Marbled", + "paperback": "Povratna dokumentacija" + } + }, "displayMode": { "title": "Način prikaza naslovnice", "hint": "Nadzoruje, kako se prave naslovnice prilegajo mestom za knjige, kadar se razmerja stranic razlikujejo", @@ -419,6 +492,11 @@ "collapseSeries": { "label": "Privzeto strni serije", "hint": "Združi knjige iz iste serije v eno samo kartico v pogledih knjižnice in zbirk" + }, + "bookRequests": { + "label": "Prikaži zahteve za knjigo", + "hint": "Prikaži strani z zahtevami, pozive in nastavitve na tem računu. Obstoječe zahteve naj tečejo, ko so skrite.", + "saveFailed": "Ni moč posodobiti vidnosti zahtev za knjige" } }, "icons": { @@ -733,6 +811,7 @@ "connected": "Povezano - {issuer}", "connectionFailed": "Povezava ni uspela", "privateIssuerAddress": "URL izdajatelja se razreši na zasebni ali lokalni omrežni naslov, zato strežnik ni hotel vzpostaviti povezave. Na strežniku BookOrbit nastavite OIDC_ALLOW_LOCAL_ISSUERS=true, da to omogočite.", + "tlsCertificateUntrusted": "BookOrbit ni mogel preveriti potrdila ponudnika OIDC TLS. Če ponudnik uporablja zasebni organ za potrjevanje, priklopi svoj paket PEM CA, nastavi NODE EXTRA CA CERTS na pot paketa v zabojniku in zaženi BookOrbit.", "hide": "Skrij", "details": "Podrobnosti", "supported": "podprto", @@ -1147,7 +1226,8 @@ "name": "Naziv", "books": "Knjige", "size": "Velikost na disku", - "lastScan": "Zadnji pregled" + "lastScan": "Zadnji pregled", + "sidebar": "Vrstni red stranske vrstice" }, "trigger": { "manual": "Ročno", @@ -1160,8 +1240,107 @@ "fileWrite": "Zapiši v datoteko", "fileRename": "Preimenuj datoteke", "on": "{name}: vklopljeno", - "off": "{name}: izklopljeno" - } + "off": "{name}: izklopljeno", + "legendHint": "Izbrisani pomeni" + }, + "stateOn": "Vklopljeno", + "stateOff": "Izklopljeno", + "toggleDetail": "Prikaži podrobnosti za {name}", + "durationMs": "{ms} ms", + "durationSeconds": "{seconds}s", + "durationMinutes": "{minutes}m {seconds}s", + "history": { + "when": "Kdaj", + "trigger": "Sprožitveno", + "duration": "Trajanje", + "result": "Rezultat", + "status": "Stanje", + "statusValue": { + "running": "Teče", + "completed": "Končano", + "failed": "Ni uspelo" + } + }, + "detail": { + "foldersTitle": "Postavitev & map", + "metadataTitle": "Metapodatki in branje", + "accessTitle": "Dostop", + "historyTitle": "Preglej zgodovino", + "path": "Pot {index}", + "organization": "Organizacija", + "excludePatterns": "Izvzemi vzorce", + "precedence": "Preferenca vira", + "allowedFormats": "Dovoljene oblike", + "countsAsStarted": "Štetje kot začetna", + "countsAsFinished": "Štetje dokončanih", + "peopleWithAccess": "Osebe z dostopom", + "added": "Dodano", + "coverShape": "Oblika prevleke", + "coverShapeValue": { + "portrait": "2:3 portret", + "square": "1:1 kvadrat" + }, + "gridShape": "Oblika mreže", + "gridShapeValue": { + "tall": "Tall-celice", + "square": "Kvadratne celice" + }, + "none": "Brez", + "allSupported": "Vse podprte", + "patternCount": "{count,plural,one{# vzorec} two{# vzorci} few{# vzorci} other{# vzorci}}", + "peopleCount": "{count,plural,one{# oseba} two{# ljudje} few{# ljudje} other{# ljudje} =0{Brez izrecnih dotacij}}", + "historyEmpty": "Knjižnica še ni bila skenirana.", + "historyFailed": "Ni moč naložiti zgodovine skeniranja za to knjižnico.", + "manageAccess": "Upravljaj", + "peopleMore": "{count,plural,one{+# več} two{+# več} few{+# več} other{+# več}}" + }, + "scannedAt": "Preiskano {time}", + "detailRegion": "Podrobnosti za {name}", + "scanTrigger": { + "manual": "Ročno", + "watcher": "Opazovalec", + "schedule": "Načrtovano" + }, + "schedule": { + "at": "{preset} · {time}", + "weeklyAt": "{preset} · {day} {time}" + }, + "librariesUnit": "{count,plural,one{knjižnica} two{knjižnice} few{knjižnice} other{knjižnice}}", + "foldersUnit": "{count,plural,one{mapa} two{mape} few{mape} other{mape}}", + "copyPath": "Kopiraj pot", + "pathCopied": "Kopirana pot", + "pathCopyFailed": "Ni moč kopirati poti", + "problem": { + "neverTitle": "Nikoli skeniran.", + "neverBody": "{count,plural,one{V mapi še ni indeksiranih.} two{Nič v njej. # Mape so še indeksirane.} few{Nič v njej. # Mape so še indeksirane.} other{Nič v njej. # Mape so še indeksirane.}}", + "failedTitle": "Zadnje skeniranje ni uspelo {time}.", + "scanNow": "Zdaj pa preglej.", + "retry": "Poskusi znova skenirati" + }, + "quick": { + "watchAria": "Opazuj mape za {name}", + "scheduleAria": "Predvideno skeniranje za {name}: {value}", + "customSchedule": "Po meri...", + "watchOn": "Opazujanje map za »{name}\"", + "watchOff": "Ustavljeno gledanje map za \"{name}\"", + "scheduleSet": "Predvideno skeniranje za \"{name}\": {value}", + "scheduleOff": "Urnik skeniranje izključeno za \"{name}\"", + "saveFailed": "Ni moč posodobiti »% 1 «{name}\"", + "fileWriteAria": "Piši v datoteko za {name}", + "renameAria": "Preimenuj datoteke za {name}", + "fileWriteOn": "\"{name}\"bo v svoje datoteke vnesel podrobnosti, ko bodo naslednjič shranjene", + "fileWriteOff": "\"{name}\"ne bo več pisal podrobnosti v svoje datoteke", + "renameOn": "\"{name}\"bo preimenoval datoteke v vaš vzorec poimenovanja naslednjič, ko bodo shranjeni njihovi podatki", + "renameOff": "\"{name}\"ne bo več preimenoval datotek" + }, + "historyFor": "Preglej zgodovino {name}", + "scanNothingNew": "Nič novega še ni.", + "scanTimeLeftSeconds": "{count,plural,one{o # druga leva} two{o # še nekaj sekund} few{o # še nekaj sekund} other{o # še nekaj sekund}}", + "scanTimeLeftMinutes": "{count,plural,one{o # Minuta levo} two{o # še nekaj minut} few{o # še nekaj minut} other{o # še nekaj minut}}", + "scanFinished": "Skeniranje končano za \"{name}\": {outcome}", + "scanFinishedFailed": "Ni moč skenirati za »{name}\"", + "viewChanges": "Prikaži spremembe", + "duplicateSettings": "Podvoji nastavitve" }, "authorEnrichment": { "configuration": "Konfiguracija", @@ -1215,6 +1394,10 @@ "resetToDefaultsButton": "Ponastavi na privzeto", "recalculateAll": "Preračunaj vse", "confirmReset": "Potrdi ponastavitev", + "resetDialog": { + "title": "Ponastavi vsako težo na privzeto?", + "description": "Vseh 24 polj se vrne na uteži BookOrbitovih ladij. Nič ni shranjeno, dokler ne izberete Save in ponovite." + }, "reset": "Ponastavi", "recalculate": "Preračunaj", "subtotal": "delna vsota: {count}", @@ -1222,13 +1405,88 @@ "saveFailed": "Shranjevanje uteži ocene ni uspelo", "recalcStarted": "Preračun ocene se je začel v ozadju", "recalcFailed": "Preračun ni uspel", - "resetToDefaults": "Uteži ponastavljene na privzeto. Za uveljavitev shranite." + "resetToDefaults": "Uteži ponastavljene na privzeto. Za uveljavitev shranite.", + "howItWorks": { + "title": "Kako to deluje.", + "summary": "Vsaka knjiga dobi rezultat od 100 za to, kako popoln je njen metapodatkov. Teža je pomembna le poleg drugih, tako da vsako polje spodaj prikazuje delež končnega rezultata, za katerega je odgovoren. Podvojitev vsake teže ne spremeni ničesar." + }, + "readOnly": "Lahko vidite, kako so izračunani rezultati, vendar spreminjanje uteži potrebuje dovoljenje za nastavitev aplikacij.", + "compositionTitle": "Od kod prihaja rezultat?", + "compositionHint": "Odstotek se vedno poveča na 100.", + "searchFields": "Polji s filtri", + "clearSearch": "Počisti iskanje", + "noMatches": "Nobeno polje se ne ujema z iskanjem.", + "totalSummary": "{scoring} 24 polj točkovanja, {total} skupno", + "countGroups": "Štej proti rezultatu", + "notScored": "Ni doseženo", + "notScoredHeading": "Ni doseženo ({count})", + "notScoredHint": "Tudi polje pri ničli pusti vse skupaj, zato knjige manjkajo, niso označene.", + "decreaseWeight": "zmanjšanje telesne mase {field}", + "increaseWeight": "Povečanje telesne mase {field}", + "revertField": "Povrni {field} do shranjene teže", + "table": { + "field": "Polje", + "weight": "Teža", + "share": "Delež rezultata", + "versusDefault": "Sprememba" + }, + "groups": { + "core": "jedrno", + "publishing": "Izdaja", + "classification": "Uvrstitev", + "enrichment": "Obogatitev", + "providers": "ID ponudnika" + }, + "rules": { + "text": "Šteje, če ni prazna", + "positive": "Štetje, ko je nad ničlo", + "count": "Število, ko je nastavljen vsaj eden", + "cover": "Številčenje ob shranjevanju slike ovitka", + "providerId": "Štetje ob shranjevanju ID", + "seriesIndex": "Štetje nad ničlo, zato volumen 0 nikoli ne šteje" + }, + "rail": { + "title": "Kjer se tvoje knjige prinesó", + "description": "Barva značke, ki jo bralec vidi na knjižni kartici, proti vsaki knjigi, ki jo lahko vidite danes.", + "bandsLabel": "Barvni trakovi z značkanjem", + "bands": { + "poor": "POD 50", + "fair": "50–69", + "good": "70–89", + "great": "90+" + }, + "median": "Mediana", + "belowFifty": "Pod 50", + "ninetyPlus": "90 in več", + "noBooks": "Ni še bilo doseženih knjig. Ko bo vaša knjižnica končala z uvozom, zaženite ponovitev.", + "scopeNote": "Prek {count,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}} v knjižnicah, ki jih lahko dostopate, zastavljene z utežmi, ki so trenutno shranjene." + }, + "progress": { + "running": "Ohranjevalna knjižnica", + "failed": "Ponovitev ni uspela", + "count": "{processed} predelane knjige", + "countOf": "{processed} m {total} knjige", + "failedCount": "({count} ni uspelo)", + "safeToLeave": "Varno je pustiti to stran.", + "dismiss": "Prosto" + }, + "save": { + "upToDate": "Vse spremembe so shranjene.", + "unsaved": "{count,plural,one{# polje spremenjeno} two{# polja spremenjena} few{# polja spremenjena} other{# polja spremenjena}}", + "totalShift": "Skupaj {from} do {to} točke", + "rescores": "Shranjevanje recenzij {count,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}} v ozadju.", + "rescoresUnknown": "Shranjevanje v ozadju ponavlja vašo knjižnico.", + "action": "Shrani in ponovi", + "discard": "Zavrzi", + "leaveWarning": "Imate neshranjene spremembe teže." + } }, "tabs": { "users": "Uporabniki", "account-activity": "Dejavnost računov", "magic-links": "Čarobne povezave", "oidc": "OIDC / SSO", + "tts": "Besedilo v govor", "server-fonts": "Strežniške pisave" }, "tts": { @@ -1294,14 +1552,167 @@ "formModel": "Default model", "formModelPlaceholder": "tts-1", "formDiscovery": "This provider can list its own voices", - "formRequired": "Name and base URL are required" + "formRequired": "Name and base URL are required", + "curation": { + "title": "Upravljajte glasove {provider}", + "summary": "{count,plural,one{# nastavljen glas} two{# glasovi nastavljeni} few{# glasovi nastavljeni} other{# glasovi nastavljeni}}", + "summaryUnsaved": "{count,plural,one{# nastavljen glas} two{# glasovi nastavljeni} few{# glasovi nastavljeni} other{# glasovi nastavljeni}} - Neshranjene spremembe", + "importFromProvider": "Uvozi od ponudnika", + "loadPreset": "Naloži {preset} prednastavitev", + "importUnsupported": "Ta ponudnik ne podpira iskanja glasu.", + "importUnsupportedWithPreset": "Ta ponudnik ne podpira iskanje glasu. Uporabite “Load {preset} prednastavljeno” Gumb namesto.", + "discoveryUnsupported": "Ta ponudnik ne izpostavlja končne točke seznama glasov.", + "discoverFailed": "Ni moč odkriti glasov", + "emptyImportOrPreset": "Ni nastavljenih glasov. Uvozite od ponudnika ali naložite prednastavljeno.", + "emptyImport": "Ni nastavljenih glasov. Uvozi od ponudnika.", + "emptyPreset": "Ni nastavljenih glasov. Naloži prednastavitev, da se začne.", + "emptyManual": "Ni nastavljenih glasov. Dodajte glasove ročno.", + "columnId": "ID", + "columnName": "Ime", + "columnLocale": "Jezikovna oznaka", + "columnGender": "Spol", + "genderMale": "Moški", + "genderFemale": "Ženske", + "genderUnknown": "Neznano", + "cancelEdit": "Prekliči urejanje", + "editVoice": "Uredi {name}", + "deleteVoice": "Zbriši {name}", + "previewVoice": "Ogled {name}", + "stopPreview": "Ustavi ogled za {name}", + "saveVoices": "{count,plural,one{Shrani # glas} two{Shrani # glasovi} few{Shrani # glasovi} other{Shrani # glasovi}}" + } }, "serverFonts": { "title": "Strežniške pisave", "subtitle": "Naložite pisave, ki jih lahko vsak uporabnik izbere v bralniku e-knjig, ne da bi moral naložiti svoje.", "listLabel": "Strežniške pisave", "noFontsYet": "Še ni strežniških pisav", - "noFontsHint": "Pisave, ki jih dodate tukaj, se prikažejo v bralniku vsakega uporabnika." + "noFontsHint": "Pisave, ki jih dodate tukaj, se prikažejo v bralniku vsakega uporabnika.", + "addFonts": "Dodaj pisave", + "filterLabel": "Filtriraj družine", + "filterPlaceholder": "Filtriraj družine", + "filterClear": "Počisti filter", + "noMatches": "Nobena družina se ne ujema z “{query}”", + "previewLabel": "Besedilo za ogled", + "previewPlaceholder": "Vnesite, da si ga ogledate v vsaki družini", + "previewSize": "Velikost ogleda", + "previewSizeOption": "{size} px", + "familiesUnit": "{count,plural,one{družina} two{družine} few{družine} other{družine}}", + "filesOfMax": "{count} m {max} datoteke", + "onDisk": "{size} na disku", + "columns": { + "family": "Družina", + "specimen": "Vzorec", + "styles": "Slogi", + "readers": "Bralci" + }, + "fileSummary": "{count,plural,one{# datoteka} two{# datoteke} few{# datoteke} other{# datoteke}} · {size}", + "newBadge": "Novo", + "styles": { + "single": "{style} samo", + "many": "{count} slogi", + "manyNoItalics": "{count} stili, brez poševne pisave" + }, + "facts": { + "books": "{count,plural,one{Vklopljeno # knjiga} two{Vklopljeno # knjige} few{Vklopljeno # knjige} other{Vklopljeno # knjige}}", + "booksDetail": "{books,plural,one{Nastavi # knjiga} two{Nastavi # knjige} few{Nastavi # knjige} other{Nastavi # knjige}} z {readers,plural,one{# bralec} two{# bralci} few{# bralci} other{# bralci}}", + "defaults": "{count,plural,one{Privzeto za # bralec} two{Privzeto za # bralci} few{Privzeto za # bralci} other{Privzeto za # bralci}}", + "hidden": "{count,plural,one{Skriti # bralec} two{Skriti # bralci} few{Skriti # bralci} other{Skriti # bralci}}" + }, + "moreActions": "Več za {name}", + "menu": { + "rename": "Preimenuj družino", + "addFiles": "Dodaj datoteke", + "remove": "Odstrani družino..." + }, + "footerHint": "Vsak bralec jih vidi na bralčevem seznamu pisav in jih lahko skrije pod bralnik › Pisave.", + "empty": { + "dropHint": "ali spusti datoteke kjerkoli na tej strani", + "tip": "Družina se najbolje bere kot štiri datoteke: Redna, italična, Bold in Bold Italic. Ena spremenljivka datoteke lahko stoji za vsako težo." + }, + "drop": { + "title": "{count,plural,one{Spusti za dodajanje # datoteka za vsak bralec} two{Spusti za dodajanje # datoteke za vsak bralnik} few{Spusti za dodajanje # datoteke za vsak bralnik} other{Spusti za dodajanje # datoteke za vsak bralnik}}" + }, + "upload": { + "ariaLabel": "Napredovanje pošiljanja", + "title": "{count,plural,one{Dodajanje # datoteka} two{Dodajanje # datoteke} few{Dodajanje # datoteke} other{Dodajanje # datoteke}}", + "progress": "{done} m {total} Opravljeno", + "addedCount": "{count} dodano", + "duplicateCount": "{count} -Je že tukaj.", + "refusedCount": "{count} ni dodano", + "dismiss": "Prosto", + "newFamily": "nova družina", + "states": { + "queued": "Čakanje", + "uploading": "Nalaganje", + "added": "Dodano", + "duplicate": "Že na strežniku", + "refused": "Ni dodano", + "failed": "Ni uspelo" + }, + "reasons": { + "tooLarge": "Večje od {maxMb} MB.", + "unsupportedType": "Ni datoteka s pisavami. Uporabite TTF, OTF, WOFF ali WOFF2.", + "invalidFile": "Datoteka je poškodovana ali pa ni pisava.", + "faceTaken": "{familyName} že ima datoteko pri tej teži in slogu.", + "limitReached": "Strežnik že drži {limit} datoteke s pisavami.", + "failed": "Naloži ni uspelo. Poskusite znova." + } + }, + "sheet": { + "description": "Ogled, preimenovanje in upravljanje datotek {name}", + "variable": "Spremenljivka", + "preview": "Ogled", + "pageColour": "Barva strani", + "papers": { + "app": "Površina aplikacije", + "white": "Bela stran", + "sepia": "Stran Sepia", + "night": "Nočna stran" + }, + "previewHeading": "Vrt živih rož", + "previewParagraph1": "Alice pogledal okoli nje v veliko presenečenje. “Zakaj, verjamem, da smo bili pod tem drevesom ves čas! Vse je tako, kot je bilo!”", + "previewParagraph2": "«Zdaj, tukaj, vidiš, je treba vsega teka, kar lahko storiš, da se držiš na istem mestu. če hočeš kam drugam, moraš bežati vsaj dvakrat hitreje, kakor je to!»", + "styles": "Slogi", + "stylesHint": "Kaj bralcu ponuja Style vrstica", + "singleStyleNote": "En slog, tako da bralci ne dobijo Style vrstico. Pogumno in poševno besedilo v knjigah je ponaredek brskalnik iz {style}.", + "inReader": "V bralniku", + "inReaderHint": "Seznam pisav, s katerim vsak bralec dobi v bralniku › Nastavitve {name} Izbrana.", + "pickerLabel": "Ogled seznama pisav bralca", + "files": "Datoteke", + "filesUsed": "{count} m {max} uporablja se na tem strežniku", + "fileDetail": "{summary} · Dodano {date}", + "upright": "Pokončno", + "italic": "italna", + "fileActions": "Več za {name}", + "changeStyle": "Spremeni težo in slog", + "removeFile": "Odstrani datoteko", + "removeFileQuestion": "Odstranim to datoteko za vsakega bralca?", + "weight": "Teža", + "style": "Slog", + "name": "Družinsko ime", + "nameHint": "Bralci izbirajo pisave s tem imenom.", + "nameHiddenWarning": "{count,plural,one{# bralec se je skril {name}} two{# bralci so se skrili {name}} few{# bralci so se skrili {name}} other{# bralci so se skrili {name}}}; novo ime jim ga spet pokaže.", + "nameBooksWarning": "Novo ime pošilja {count,plural,one{o # knjiga, ki jo uporablja} two{o # knjige, ki jo uporabljajo} few{o # knjige, ki jo uporabljajo} other{o # knjige, ki jo uporabljajo}} nazaj k lastni pisavi knjige.", + "readers": "Bralci", + "stats": { + "books": "{count,plural,one{Knjiga jo uporablja} two{Knjige jo uporabljajo.} few{Knjige jo uporabljajo.} other{Knjige jo uporabljajo.}}", + "defaults": "{count,plural,one{privzeto za bralca} two{privzeto za bralce} few{privzeto za bralce} other{privzeto za bralce}}", + "hidden": "{count,plural,one{bralec jo je skril} two{bralci so ga skrili.} few{bralci so ga skrili.} other{bralci so ga skrili.}}" + }, + "readersPrivacy": "Katere knjige in katere bralce imajo zase.", + "removeLabel": "Odstrani družino", + "removeQuestion": "Odstrani {name} Za vsakega bralca?", + "removeConsequenceBooks": "{books,plural,one{Začelo se je. # knjiga} two{Začelo se je. # knjige} few{Začelo se je. # knjige} other{Začelo se je. # knjige}} z {readers,plural,one{# bralec} two{# bralci} few{# bralci} other{# bralci}}Te knjige se vračajo k lastni pisavi knjige.", + "removeConsequenceFiles": "{count,plural,one{Njegova datoteka se izbriše s strežnika.} two{Vse # datoteke se izbrišejo s strežnika.} few{Vse # datoteke se izbrišejo s strežnika.} other{Vse # datoteke se izbrišejo s strežnika.}}", + "loadFailedNote": "Ta brskalnik ni mogel naložiti datoteke s pisavo, zato so ogledi pokazali rezervni obraz. Bralci ga bodo najverjetneje tudi zavrnili; poskusite z drugo kopijo pisave." + }, + "toasts": { + "removed": "{name} odstranjen", + "removePartial": "{failed,plural,one{# datoteka} two{# datoteke} few{# datoteke} other{# datoteke}} m {name} ni moč odstraniti", + "renameTaken": "{name} že ima datoteko z enako težo in slogom" + }, + "loadFailed": "Ta brskalnik ga ne more naložiti" } }, "common": { @@ -1310,10 +1721,12 @@ "display": "Prikaz", "reader": "Bralnik", "metadata": "Metapodatki", + "usersAccess": "Uporabniki in dostop", "email": "E-pošta", "opds": "OPDS", "kobo": "Kobo", "koreader": "KOReader", + "tts": "Besedilo v govor", "integrations": "Integracije", "hardcover": "Hardcover", "admin": "Skrbnik", @@ -1345,31 +1758,52 @@ "subtitle": "Podnaslov", "description": "Opis", "cover": "Naslovnica", + "audioCover": "Ovitek zvočne knjige", "authors": "Avtorji", "publisher": "Založnik", "publishedYear": "Leto izida", "language": "Jezik", "pageCount": "Število strani", + "isbn": "ISBNs", "communityRating": "Ocena skupnosti", "seriesName": "Ime serije", "seriesIndex": "Zaporedna številka v seriji", "genres": "Zvrsti", "narrators": "Bralci", "duration": "Trajanje", - "abridged": "Skrajšano" + "abridged": "Skrajšano", + "tags": "Oznake", + "isbn13": "ISBN-13", + "isbn10": "ISBN-10", + "googleBooksId": "ID Googlovih knjig", + "goodreadsId": "ID Goodreads", + "amazonId": "Identifikacijska oznaka Amazonke", + "hardcoverId": "ID Trde cover", + "openLibraryId": "ID odprte knjižnice", + "itunesId": "ID iTunes", + "koboId": "ID Kobo", + "aladinId": "ID Aladin" }, "mergeStrategy": { "fillMissing": { "label": "Izpolni manjkajoče", - "description": "Zapiši samo, če je polje trenutno prazno" + "description": "Zapiši samo, če je polje trenutno prazno", + "short": "Zapolni vrzeli" + }, + "mergeExisting": { + "label": "Združi z obstoječim", + "description": "Obdrži shranjene žanre in dodaj nove žanre ponudnikov", + "short": "Združi" }, "overwriteIfProvided": { "label": "Prepiši, če je na voljo", - "description": "Zapiši, če je ponudnik vrnil vrednost" + "description": "Zapiši, če je ponudnik vrnil vrednost", + "short": "Če je določeno" }, "overwrite": { "label": "Vedno prepiši", - "description": "Vedno zamenjaj obstoječo vrednost" + "description": "Vedno zamenjaj obstoječo vrednost", + "short": "Vedno" } }, "autoFetch": { @@ -1432,21 +1866,129 @@ "inheritFromGlobal": "Podeduj iz splošnih", "usingGlobalDefaults": "Uporablja splošne privzete vrednosti.", "saveOverride": "Shrani prepis" + }, + "scope": { + "ownSettings": "{count,plural,one{# lastni nastavitvi} two{# lastne nastavitve} few{# lastne nastavitve} other{# lastne nastavitve}}", + "globalIntro": "Vsaka knjižnica se ravna po tem pravilu, razen če ima svoje.", + "globalCoverage": "{libraryCount,plural,one{Uporablja se za # knjižnica} two{Uporablja se za # knjižnice} few{Uporablja se za # knjižnice} other{Uporablja se za # knjižnice}}, {bookCount,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}}.", + "ownLibraries": "{names} {count,plural,one{ima svoje pravilo.} two{imajo svoja pravila.} few{imajo svoja pravila.} other{imajo svoja pravila.}}", + "libraryFollows": "{library} Tukaj spremeni vse, da bo dobil svoje.", + "libraryOwn": "{library} ima svoje pravilo za {count,plural,one{# nastavitev} two{# nastavitve} few{# nastavitve} other{# nastavitve}}Vse ostalo sledi globalnemu pravilu.", + "lastRun": "Zadnji preskus {when}, v vrsti {count,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}}.", + "neverRun": "Ne še teči.", + "useGlobalRule": "Uporabi globalno pravilo", + "loadFailed": "Nastavitve samodejnega prenosa ni bilo moč naložiti. Znova naloži stran, da poskusite znova.", + "saved": "Shranjeno {scope}", + "saveFailed": "Ni moč shraniti {scope}Poskusi še enkrat." + }, + "run": { + "all": "Poženi za vsako knjižnico", + "library": "Poženi {library}", + "saveFirst": "Poganja uporablja shranjeno pravilo. Shrani najprej.", + "failed": "Teka ni bilo mogoče začeti. Poskusite znova." + }, + "onImport": { + "label": "Pridobi metapodatke za nove knjige", + "hint": "Skenira in naloži vrste ujemanje knjig takoj. Prinesem ob uvozu le zapolni prazna polja; zaklenjena polja se nikoli ne spremenijo.", + "follow": "Spremljaj globalno", + "on": "Vklopljeno", + "off": "Izklopljeno" + }, + "columns": { + "books": "{count,plural,one{knjiga} two{knjige} few{knjige} other{knjige}}", + "ofTotal": "m {total}", + "off": "Izklopljeno", + "own": "Lastni", + "global": "Globalno", + "useGlobal": "Uporabi globalno", + "globalValue": "Globalno pravilo: {value}", + "on": "Vklopljeno", + "scoreBelowValue": "Rezultat spodaj {threshold}", + "neverFetchedSplit": "{count,plural,one{# nikoli privzet} two{# nikoli privzet} few{# nikoli privzet} other{# nikoli privzet}}", + "fetchedBeforeSplit": "{count,plural,one{# pridobljeno pred} two{# pridobljeno pred} few{# pridobljeno pred} other{# pridobljeno pred}}", + "lowScoreLabel": "Nizka ocena zaupanja", + "lowScoreHint": "Prinesi knjige, katerih samozavest je pod črto.", + "outOf": "/ 100", + "lowerThreshold": "Nižje prag", + "raiseThreshold": "Dvignite prag.", + "missingHint": "Pridobite, če je katero izbrano polje prazno. Vsako polje prikazuje, koliko knjig manjka.", + "audioGroup": "Knjige z zvokom", + "audioHint": "{count,plural,one{Samo # Knjiga z zvokom lahko manjka teh.} two{Samo # Z zvokom lahko manjkajo te.} few{Samo # Z zvokom lahko manjkajo te.} other{Samo # Z zvokom lahko manjkajo te.} =0{Tukaj ni zvoka.}}", + "fieldCount": "{field}: {count,plural,one{# Knjiga manjka.} two{# Knjige manjkajo.} few{# Knjige manjkajo.} other{# Knjige manjkajo.}}" + }, + "histogram": { + "label": "Prag ocene zaupanja", + "valueText": "Rezultat spodaj {threshold}" + }, + "preview": { + "title": "Kakšen tek bi prinesel", + "matching": "{matching,plural,one{# m {total} Knjige se ujemajo.} two{# m {total} Knjige se ujemajo} few{# m {total} Knjige se ujemajo} other{# m {total} Knjige se ujemajo}}", + "showing": "{count,plural,one{ki prikazuje najmanj popolno} two{ki prikazuje # najmanj dokončan} few{ki prikazuje # najmanj dokončan} other{ki prikazuje # najmanj dokončan}}", + "empty": "Nobena knjiga se ne ujema s tem pravilom, zato ni bilo nič v vrsti.", + "unknownAuthor": "Neznan avtor", + "score": "Rezultat {score}", + "more": "+{count}", + "missing": { + "title": "Brez naslova", + "subtitle": "Brez podnaslova", + "description": "Brez opisa", + "cover": "Brez kritja", + "audioCover": "Ni ovitka avdioknjige", + "authors": "Brez avtorjev", + "publisher": "Brez založnika", + "isbn": "Št. ISBN", + "publishedYear": "Ni objavljeno leto", + "language": "Brez jezika", + "pageCount": "Brez štetja strani", + "communityRating": "Brez ocene skupnosti", + "seriesName": "Brez imena serije", + "seriesIndex": "Brez indeksa serije", + "genres": "Brez zvrsti", + "narrators": "Brez pripovedovalcev", + "duration": "Brez trajanja", + "abridged": "Ni nastavljeno" + } + }, + "queue": { + "progress": "{done} m {total}", + "failed": "{count,plural,one{# Ni moč dobiti knjige} two{# knjig ni bilo mogoče dobiti} few{# knjig ni bilo mogoče dobiti} other{# knjig ni bilo mogoče dobiti}}" } }, "providers": { "availableSources": "Razpoložljivi viri", "saveChanges": "Shrani spremembe", + "discard": "Zavrzi", + "configure": "Nastavi", "test": "Preizkusi", "testing": "Preizkušanje ...", + "testHint": "Preveril je, ali so te kartice v živo.", "enabled": "Omogočeno", "retryIn": "Poskusi znova čez {duration}", "runTestBeforeEnabling": "Pred omogočanjem zaženite preizkus", "hardcoverEnableHint": "Zaženite preizkus s trenutnim žetonom, da odklenete stikalo za omogočanje.", + "searchPlaceholder": "Viri filtra", + "sourcesEnabled": "{enabled} m {total} omogočeni viri", + "groupEnabled": "{enabled} m {total} o", + "unsavedChanges": "{count,plural,one{# neshranjena sprememba} two{# neshranjene spremembe} few{# neshranjene spremembe} other{# neshranjene spremembe}}", + "noMatches": "Noben vir se ne ujema s tem filtrom.", + "clearFilters": "Počisti filtre", + "filter": { + "label": "Filtriraj vire po državah", + "all": "Vse", + "enabled": "Omogočeno", + "needsSetup": "Potrebna je nastavitev" + }, + "groups": { + "books": "Katalogi splošnih knjig", + "audiobooks": "Avdioknjige", + "comics": "Stripi in romani o svetlobi", + "regional": "Regionalni katalogi" + }, "badge": { "setupRequired": "Zahtevana nastavitev", "throttled": "Omejeno", - "ready": "Pripravljeno" + "ready": "Pripravljeno", + "active": "Aktivno" }, "fields": { "apiKey": "API ključ", @@ -1470,6 +2012,7 @@ "kobo": "Pridobiva podatke z javnih strani knjig Kobo. Država in jezik se morata ujemati s potmi URL-jev Kobo; zaščita pred roboti lahko blokira zahteve.", "audible": "Pridobiva metapodatke zvočnih knjig iz Audible. Dodatna nastavitev ni potrebna.", "audnexus": "Metapodatki zvočnih knjig, ki jih ustvarja skupnost. Nastavitev ni potrebna.", + "librofm": "Brez DRM avdiobook katalog metapodatkov. Uporablja nedokumentiran Libro.fm končni cilj in je privzeto onemogočen.", "comicvine": "Metapodatki stripov iz ComicVine. Potreben je brezplačen API ključ s comicvine.gamespot.com.", "ranobedb": "Metapodatki japonskih lahkih romanov iz RanobeDB. Nastavitev ni potrebna.", "lubimyczytac": "Poljski katalog knjig (lubimyczytac.pl). Pridobiva podatke z javnih strani knjig. Nastavitev ni potrebna.", @@ -1487,6 +2030,7 @@ "clearAllProviders": "Počisti vse ponudnike", "clearAll": "Počisti vse", "resetToDefault": "Ponastavi na privzeto", + "bookCover": "Ovitek knjige", "reset": "Ponastavi", "dragProvidersHint": "Povlecite ponudnike od tu na katero koli polje, da jih dodate", "dragProviderHere": "povlecite ponudnika sem", @@ -1502,7 +2046,9 @@ "fillMissingBody": "Zapiši samo, če je trenutna vrednost prazna.", "overwriteTerm": "Prepiši:", "overwriteBody": "Zamenjaj, kadar koli ima ponudnik podatke." - } + }, + "summary": "Ponudnike se poskuša od zgoraj navzdol in prvi, ki vrne vrednost, zmaga. Strategija združitve se odloči, ali bo ta vrednost nadomestila tisto, kar že ima knjiga; žanri lahko dodajo tudi nove edinstvene vrednosti. Tu nastavite privzete vrednosti, nato pa zaobidete posamezna polja na knjižnico.", + "summaryByMedium": "Ponudnike se poskuša od zgoraj navzdol, prvi pa z dobitki vrednosti; žanri v načinu združevanja in ocenah skupnosti združijo vsakega ponudnika. Strategija združevanja se odloči, ali lahko vrednost nadomesti tisto, kar ima knjiga. Zvočni, AudNexus in Libro.fm odgovarjajo le za knjige z avdio, bralno priloženimi EPUB-ji, zato jim je najprej ljubši avdioknjižni metapodatki brez dotikanja knjig, ki vsebujejo ebook. Pokritje umetnosti napačne oblike zapolni režo samo, če nič drugega ne more. Knjižnica razveljavi celotno pravilo polja." }, "libraryOverrides": { "title": "Prepisi po knjižnici", @@ -1530,6 +2076,10 @@ "storeProviderIds": { "label": "Shrani ID-je ponudnikov na knjigah", "hint": "Ob pridobivanju metapodatkov shrani vrnjene ID-je ponudnikov (ISBN, ASIN, Goodreads ID itd.) na zapis knjige za natančnejše prihodnje iskanje." + }, + "existingProviderIdsOnly": { + "label": "Uporabi samo obstoječe ID-je ponudnika", + "hint": "Za knjige, ki so že v knjižnici, poizvedujte samo po ponudnikih s shranjenim ID in nikoli ne padete nazaj v iskanje, ko iskanje ID ne uspe. Ročno iskanje in odkritje nove knjige nista vplivana." } }, "library": { @@ -1555,21 +2105,36 @@ }, "groupSummary": { "base": "{fields} polj · {enabled} omogočenih", - "withOverrides": "{base} · {overrides} preglasitev" + "withOverrides": "{base} · {overrides} preglasitev", + "enabledOf": "{enabled} m {fields} omogočeno" }, "table": { "field": "Polje", "activeProviders": "Aktivni ponudniki (razvrščeni po prioriteti)", "mergeStrategy": "Strategija združevanja", - "status": "Stanje" + "status": "Stanje", + "noMatches": "Nobeno polje se ne ujema s temi filtri." }, "field": { "noProviders": "Omogočeno, vendar brez ponudnikov", + "noUsableProvider": "Omogočeno, vendar ga noben ponudnik ne more zapolniti", "empty": "Prazno", "config": "Konfiguracija", "custom": "Po meri", "default": "Privzeto", - "resetToDefault": "Ponastavi na privzeto" + "resetToDefault": "Ponastavi na privzeto", + "toggle": "Pridobi {field} med osvežitvijo metapodatkov", + "configure": "Nastavi {field}", + "add": "Dodaj", + "addHint": "Dodano na koncu naročila. Povlecite čip, da ga premaknete prej.", + "addProviderTo": "Dodaj ponudnika k {field}", + "removeProvider": "Odstrani {provider}", + "noProvidersYet": "Brez ponudnikov še ni bilo", + "skippedCount": "{count,plural,one{# preskoči} two{# preskoči} few{# preskoči} other{# preskoči}}", + "unsaved": "Neshranjeno", + "override": "& Preglasi", + "inherited": "Podedoval", + "morePreview": "+{count} več" }, "reservoir": { "disabled": "{provider} - onemogočeno", @@ -1583,6 +2148,74 @@ "statusDisabled": "onemogočeno", "statusNotConfigured": "ni konfigurirano", "done": "Končano" + }, + "scope": { + "label": "Področje uporabe", + "global": "Globalne privzete vrednosti", + "overrideCount": "{count,plural,one{# prevoženo polje} two{# prevožena polja} few{# prevožena polja} other{# prevožena polja}}", + "unsavedMarker": "Ima neshranjene spremembe" + }, + "toolbar": { + "searchFields": "Išči po poljih", + "clearSearch": "Počisti iskanje", + "provider": "Ponudnik", + "anyProvider": "Katerikoli", + "providerMenuTitle": "Filter in urejanje v razsutem stanju s strani ponudnika", + "usedIn": "{count,plural,one{# polje} two{# polja} few{# polja} other{# polja} =0{Neuporabljeno}}", + "showOnlyThese": "Prikaži samo polja, ki ga uporabljajo", + "bulkLabel": "Uveljavi za vse {count} polja, ki jo uporabljajo", + "makeFirst": "Naj bo povsod prvi.", + "makeLast": "Naj bo povsod vse večno.", + "removeEverywhere": "Odstrani iz vseh polj", + "audioCoverOrderKept": "Preurejanje preskoči pravilo ovitka Audiobook, ki ohranja najprej vire avdioknjig.", + "allFields": "Vsa polja", + "overridesOnly": "Samo preglasi", + "clearFilters": "Počisti filtre" + }, + "providerState": { + "disabled": "Onemogočeno", + "notConfigured": "Ni nastavljeno", + "disabledDetail": "{provider} je izključena, tako da ostane v vrstnem redu, vendar je preskočila.", + "notConfiguredDetail": "{provider} Nima še poverilnic, zato ostane v redu, vendar je preskočil.", + "neverSupplies": "Nikoli ne priskrbi tega.", + "neverSuppliesDetail": "{provider} Nikoli ne oskrbuje tega polja, zato ga tukaj preskočijo.", + "otherShape": "Druga oblika prevleke", + "otherShapeDetail": "{provider} ima samo pokrove druge oblike, zato zapolni ta reža samo, če nič drugega ne more." + }, + "detail": { + "priority": "Prednostna naloga ponudnika", + "priorityHint": "Prvi ponudnik, ki vrne vrednost, zmaga.", + "moveUp": "Premakni {provider} prej", + "moveDown": "Premakni {provider} kasneje", + "result": "Rezultat", + "resultHint": "Na naslednji osvežitev to polje odloči v tem vrstnem redu:", + "noUsableProviders": "Ni uporabnega ponudnika - to polje ne bo izpolnjeno.", + "skippedSummary": "{count,plural,one{{providers} je v redu, vendar bo preskočil.} two{{providers} so v redu, vendar bodo preskočili.} few{{providers} so v redu, vendar bodo preskočili.} other{{providers} so v redu, vendar bodo preskočili.}}", + "appliesTo": "Uporablja se za {scope}.", + "inheritGlobal": "Podedovati svetovno pravilo", + "inheritingGlobal": "Podedovati globalno pravilo.", + "collapse": "Zruši" + }, + "save": { + "upToDate": "Brez neshranjenih sprememb", + "unsaved": "{count,plural,one{# neshranjena sprememba} two{# neshranjene spremembe} few{# neshranjene spremembe} other{# neshranjene spremembe}} v {scope}", + "discard": "Zavrzi", + "action": "Shrani {scope}" + }, + "confirm": { + "clearProviders": { + "title": "Odstraniti vse ponudnike?", + "description": "To izčrpa seznam ponudnikov na vseh 16 poljih {scope}Nič ni shranjeno, dokler ne izbereš Save." + }, + "resetScope": { + "title": "Ponastavi na privzete vrednosti?", + "globalDescription": "To nadomesti vaša pravila globalnega polja s sistemskimi privzetimi in shrani takoj.", + "libraryDescription": "To odstrani vsako napravo za upravljanje {scope} Tako da spet podeduje svetovna pravila in takoj reši." + }, + "removeProvider": { + "title": "Odstrani {provider} Z vseh polj?", + "description": "To je potrebno. {provider} izven naročila ponudnika na vsakem polju {scope}Nič ni shranjeno, dokler ne izbereš Save." + } } }, "genreBlocklist": { @@ -1601,6 +2234,123 @@ "emptyHint": "Dodajte natančne vrednosti, kot sta Zvočna knjiga ali Odraslo, da jih izključite iz pridobljenih metapodatkov.", "removeLabel": "Odstrani {genre}" }, + "searchCache": { + "loadFailed": "Ni moč naložiti nastavitev iskalnega predpomnilnika.", + "retry": "Poskusi znova.", + "saved": "Nastavitve predpomnilnika za iskanje so shranjene", + "saveFailed": "Ni moč shraniti nastavitev predpomnilnika iskanja", + "units": { + "hours": "Ure", + "days": "Dnevi" + }, + "general": { + "title": "Shrani odgovore", + "enabled": "Shrani odgovore ponudnika", + "enabledHint": "Iskanje, velike količine osveži in ozadje prinese ponovno uporabo shranjene odgovore namesto da bi vprašal vsakega ponudnika znova.", + "resultsTtl": "Shrani rezultate za", + "resultsTtlHint": "Kako dolgo se ponovno uporabi odgovor z rezultati, preden se ponovno zaprosi ponudnika.", + "resultsTtlUnit": "Časovna enota rezultatov", + "emptyTtl": "Shrani prazne odgovore za", + "emptyTtlHint": "Kako dolgo se ponudnik ne spomni ničesar. Velja samo za ponudnike, označene kot caching praznih odgovorov. 0 nikoli ne ohrani praznih odgovorov.", + "emptyTtlUnit": "Prazna časovna enota odgovorov", + "staleGrace": "Uporabi potečene odgovore za", + "staleGraceHint": "Ko ponudnik ne uspe, namesto tega se uporabi odgovor na to dolgo preteklost. 0 nikoli ne pade nazaj.", + "staleGraceUnit": "Časovna enota za potečene odgovore", + "storage": "Proračun za shranjevanje", + "storageHint": "Najstarejši odgovori so odstranjeni, ko shranjeni odgovori podajo to velikost. Na disku lahko miza traja približno 1,5 do 2-krat proračun.", + "storageUnit": "MB" + }, + "providers": { + "title": "Nastavitve na dobavitelja", + "hint": "Pustite polje prazno, da uporabite zgoraj vrednost. Izklopite ponudnika, da vedno vprašajte v živo.", + "books": "Knjige", + "authors": "Avtorji", + "none": "Ponudniki niso na voljo.", + "globalOff": "Shranjevanje odgovorov je izključeno, zato te nastavitve veljajo, ko se vklopijo nazaj.", + "on": "Vklopljeno", + "off": "Izklopljeno", + "enabledLabel": "Shrani odgovore {provider}", + "resultsTtl": "Shrani rezultate za", + "resultsTtlLabel": "Obdrži {provider} Rezultati za", + "resultsTtlUnitLabel": "Časovna enota za {provider} rezultati", + "emptyTtl": "Shrani prazne odgovore za", + "emptyTtlLabel": "Obdrži prazno {provider} odgovori za", + "emptyTtlUnitLabel": "Časovna enota za prazno {provider} Odgovori", + "noEmptyCaching": "Prazni odgovori od tega ponudnika se nikoli ne shranijo.", + "notCacheable": "Odgovori od tega ponudnika niso nikoli shranjeni.", + "reset": "Ponastavi {provider} privzeto" + }, + "validation": { + "required": "Vnesite vrednost.", + "wholeNumber": "Vnesite celo številko.", + "range": "Vnesite vrednost iz {min} do {max}.", + "tooManyOverrides": "Preveč ponudnikov ima svoje nastavitve. Nekatere od njih ponastavi, da jih shrani." + }, + "save": { + "unsaved": "Neshranjene spremembe", + "invalid": "Popravi označena polja za shranjevanje", + "upToDate": "Vse spremembe shranjene", + "discard": "Zavrzi", + "action": "Shrani" + }, + "stats": { + "group": "Uporaba", + "title": "Shrani odgovore", + "refresh": "Osveži", + "loadFailed": "Ni moč naložiti uporabe predpomnilnika.", + "storage": "Uporabljeno skladiščenje", + "storageUsed": "{used} m {budget}", + "storageHint": "Velikost shranjenih odgovorov sami. Miza na disku je večja.", + "entries": "Shrani odgovore", + "emptyEntries": "Prazni odgovori", + "diskSize": "Velikost tabele na disku", + "hitRate": "Stopnja zaviranja", + "requestsAvoided": "Izognile se jim je.", + "fallbacks": "Nazadovanje", + "skippedWrites": "Preskakljivi zapisi", + "oldest": "Najstarejši odgovor", + "none": "-Ne še.", + "countersHint": "Hitrost udarca, zahteve izogniti, rezervne in preskočil število pisav, odkar strežnik nazadnje začel.", + "perProvider": "Shranjeni odgovori ponudnika", + "provider": "Ponudnik", + "kind": "Vrsta", + "size": "Velikost", + "empty": "Nič še ni rešeno." + }, + "clear": { + "group": "Vzdrževanje", + "title": "Počisti shranjene odgovore", + "regionHint": "Ponudniki lahko na lokacijo odgovorijo drugače. Počistite predpomnilnik po premiku strežnika v drugo regijo ali VPN.", + "action": "Počisti", + "failed": "Ni uspelo počistiti shranjenih odgovorov", + "done": "{count,plural,one{Odstrani # shranjen odgovor} two{Odstrani # shranjeni odgovori} few{Odstrani # shranjeni odgovori} other{Odstrani # shranjeni odgovori}}", + "donePending": "{count,plural,one{Odstrani # Drugi se odstranjujejo v ozadju.} two{Odstrani # -Rešili bomo odgovore, ostalo pa odstranili v ozadju.} few{Odstrani # -Rešili bomo odgovore, ostalo pa odstranili v ozadju.} other{Odstrani # -Rešili bomo odgovore, ostalo pa odstranili v ozadju.}}", + "empty": { + "label": "Počisti samo prazne odgovore", + "hint": "Pozabi, da ponudniki niso našli ničesar, zato te preiskave ponovno vprašajo.", + "confirmTitle": "-Prazni odgovori?", + "confirmDescription": "Shrani odgovore, če ponudnik ni našel ničesar, se odstranijo. Odgovori z rezultati se hranijo." + }, + "book": { + "label": "Počisti odgovore na knjige", + "hint": "Odstrani vse shranjene od ponudnikov knjig.", + "confirmTitle": "Jasno knjižni odgovori?", + "confirmDescription": "Vsak shranjen odgovor ponudnikov knjig je odstranjen. Naslednja iskanja ponovno vprašajte te ponudnike." + }, + "author": { + "label": "Jasni odgovor avtorja", + "hint": "Odstrani vse shranjene od avtorjevih ponudnikov.", + "confirmTitle": "Jasno, avtor odgovarja?", + "confirmDescription": "Vsak shranjen odgovor avtorjevih ponudnikov je odstranjen. Naslednja iskanja ponovno vprašajte te ponudnike." + }, + "all": { + "label": "Počisti vse shranjene odgovore", + "hint": "Empties predpomnilnik. Vsak ponudnik je ponovno vpraša na naslednjem iskanju.", + "confirmTitle": "Počistiti vse shranjene odgovore?", + "confirmDescription": "Celoten predpomnilnik se izprazni. Iskanje bo počasnejše, dokler se ne napolni, in nič ne ostane, da pade nazaj, medtem ko je ponudnik dol." + } + } + }, "customFields": { "label": "Oznaka", "labelPlaceholder": "npr. Izvirni naslov", @@ -1649,7 +2399,145 @@ "selectAll": "Izberi vse", "clear": "Počisti", "noLibraries": "Ni še razpoložljivih knjižnic.", - "allLibraries": "Vse knjižnice" + "allLibraries": "Vse knjižnice", + "pageFacts": "{fields,plural,one{# polje} two{# polja} few{# polja} other{# polja}} · {values,plural,one{# vrednost, shranjena} two{# shranjene vrednosti} few{# shranjene vrednosti} other{# shranjene vrednosti}}", + "newFieldAction": "Novo polje", + "views": { + "label": "Prikaži aktivna ali arhivirana polja", + "active": "Aktivno", + "archived": "Arhivirano" + }, + "columns": { + "order": "Vrstni red", + "field": "Polje", + "type": "Vrsta", + "libraries": "Knjižnice", + "filled": "polnjeni", + "valuesKept": "Ohranjene vrednosti", + "archived": "Arhivirano", + "actions": "Dejanja" + }, + "orderHint": "Povlecite, da se polja naročila prikažejo v Edit Metadata, v stolpcih tabele in pri izvozu.", + "archivedHint": "Arhivirana polja so skrita pred knjigami, filtri in izvozom. Njihove vrednosti ostanejo shranjene, dokler polje ni izbrisano.", + "coverage": "{filled} m {total}", + "coverageAria": "{filled} m {total} knjige imajo vrednost", + "onNoLibrary": "Brez knjižnic", + "onNoLibraryHint": "Na nobeni knjižnici, zato se to polje ne pojavlja nikjer.", + "moreLibraries": "+{count}", + "noValues": "Brez", + "rowActions": { + "edit": "Uredi", + "editField": "Uredi polje", + "moveUp": "Premakni gor", + "moveDown": "Premakni dol", + "archive": "Arhiv", + "restore": "Obnovi", + "deletePermanently": "Zbriši trajno...", + "more": "Več ukrepov za {label}" + }, + "toasts": { + "loadFailed": "Ni moč naložiti polj po meri", + "created": "{label} ustvarjeno", + "createFailed": "Ni moč ustvariti {label}", + "saved": "{label} shranjeno", + "saveFailed": "Ni moč shraniti {label}", + "archived": "{label} arhivirano", + "archiveFailed": "Ni moč arhivirati {label}", + "restored": "{label} obnovljen", + "restoreFailed": "Ni bilo mogoče obnoviti {label}", + "deleted": "{label} črtano", + "deleteFailed": "Ni moč zbrisati {label}", + "reorderFailed": "Ni mogel shraniti novega naročila." + }, + "empty": { + "body": "Spremljajte, za kaj BookOrbit nima polja, kot na primer, kje se knjiga nahaja na vaši polici ali kdo si jo je izposodil. Polja se pojavljajo na Edit Metadata, v stolpcih tabele in v filtrih.", + "examples": "Začnite z zgledom", + "shelfNumber": "Številka Rok uporabnosti", + "acquiredOn": "Pridobljeno", + "signedCopy": "Podpisan izvod", + "loanedTo": "Posojilo" + }, + "types": { + "text": { + "label": "Besedilo", + "hint": "Kakršne koli besede", + "example": "Prvi tisk, podpisana knjiga" + }, + "url": { + "label": "Povezava", + "hint": "Odpre v novem zavihku", + "example": "https://example.com/book" + }, + "number": { + "label": "Številka", + "hint": "Razvrsti po vrednosti", + "example": "42" + }, + "date": { + "label": "Datum", + "hint": "Koledarski dan", + "example": "2024-03-09" + }, + "boolean": { + "label": "Da / Ne", + "hint": "Potrdilno polje", + "example": "-Ja, ja." + } + }, + "sheet": { + "newTitle": "Novo polje", + "editDescription": "Uredite oznako polja po meri in knjižnice, in videli, kje se pojavi.", + "newDescription": "Imenujte novo polje po meri, izberite vrsto in izberite njegove knjižnice.", + "archivedDescription": "Arhivirano po meri polje. Obnovite ga ali pa zbrišite z njegovimi vrednostmi.", + "statusFilled": "{filled} m {total,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}} polnjena", + "statusNone": "Ne v nobeni knjižnici.", + "statusHidden": "{count} skrit", + "statusCreated": "ustvarjeno {date}", + "labelHint": "Prikazan na Edit Metadata, v stolpcih tabele in v filtrih.", + "renameHint": "Preimenovanje ohranja vsako shranjeno vrednost in datotečni ključ {key}.", + "keyHint": "Shrani v datotekah in izvoz kot {key}, ki ostane enako, če preimenujete polje.", + "typeLocked": "Nastavi ob ustvaritvi", + "typeLockedHint": "Vrsta se kasneje ne more spremeniti, zato se shranjene vrednosti vedno ujemajo z njo.", + "libraries": "Knjižnice", + "books": "{count,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}}", + "filledOfBooks": "{filled} m {total,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}}", + "hiddenCount": "{count} skrit", + "leavingNote": "{count,plural,one{# vrednost v {libraries} ostane shranjen, vendar skrit, dokler polje ni tam.} two{# vrednosti {libraries} Ostani shranjen, a skrit, dokler je polje tam zunaj.} few{# vrednosti {libraries} Ostani shranjen, a skrit, dokler je polje tam zunaj.} other{# vrednosti {libraries} Ostani shranjen, a skrit, dokler je polje tam zunaj.}} Obrneš ga nazaj, jih vrne.", + "noLibraryWarning": "Brez knjižnic se to polje ne pojavlja nikjer: ne na Edit Metadata, v filtrih ali pri izvozu.", + "appears": { + "title": "Kjer se pojavi", + "editMetadata": "Uredi metapodatke", + "details": "Podrobnosti", + "filters": "Filtri", + "table": "Tabela in sortiranje", + "tableBody": "Na voljo kot stolpec tabele in možnost razvrščanja", + "files": "Datoteke", + "filesWritten": "Napisano v datotekah EPUB in FB2 v {libraries}, kjer je pisanje metapodatkov v datoteke.", + "filesNotWritten": "Ni napisano v datoteke: nobena od teh knjižnic ne piše metapodatkov v datoteke EPUB ali FB2.", + "exports": "Izvoz" + }, + "archiveAction": "Arhivsko polje", + "archiveConfirm": "Arhiv {label}?", + "archiveConsequence": "{count,plural,one{Ostane Edit Metadata, filtri in izvoz. # vrednost ostane shranjena, dokler se polje ne izbriše.} two{Ostane Edit Metadata, filtri in izvoz. # vrednosti ostanejo shranjene, dokler se polje ne izbriše.} few{Ostane Edit Metadata, filtri in izvoz. # vrednosti ostanejo shranjene, dokler se polje ne izbriše.} other{Ostane Edit Metadata, filtri in izvoz. # vrednosti ostanejo shranjene, dokler se polje ne izbriše.} =0{Ostane Edit Metadata, filtri in izvoz. Kadarkoli ga shrani iz Arhiva.}}", + "create": "Ustvari polje", + "onLibraries": "Vklopljeno {count} m {total} knjižnice", + "onAllLibraries": "Na splošno {total} knjižnice", + "archivedBadge": "Arhivirano", + "archivedTitle": "Arhivirano {when}.", + "archivedBody": "{count,plural,one{To polje je skrito pred knjigami, filtri in izvozom. # shranjena vrednost se ohrani in pride nazaj na obnovitev.} two{To polje je skrito pred knjigami, filtri in izvozom. # shranjene vrednosti se hranijo in pridejo nazaj na obnovitev.} few{To polje je skrito pred knjigami, filtri in izvozom. # shranjene vrednosti se hranijo in pridejo nazaj na obnovitev.} other{To polje je skrito pred knjigami, filtri in izvozom. # shranjene vrednosti se hranijo in pridejo nazaj na obnovitev.} =0{To polje je skrito pred knjigami, filtri in izvozom.}}", + "facts": { + "type": "Vrsta", + "libraries": "Knjižnice", + "valuesKept": "Ohranjene vrednosti", + "fileKey": "Ključ datoteke", + "created": "Ustvarjeno", + "archived": "Arhivirano" + }, + "deleteQuestion": "Zbriši {label} Za vedno?", + "deleteConsequence": "{count,plural,one{Njegova # shranjena vrednost je odstranjena iz vsake knjige. Datoteke že napisane obdržijo svojo kopijo. Tega ni mogoče razveljaviti.} two{Njegova # shranjene vrednosti so odstranjene iz vsake knjige. Datoteke že napisane obdržijo svojo kopijo. Tega ni mogoče razveljaviti.} few{Njegova # shranjene vrednosti so odstranjene iz vsake knjige. Datoteke že napisane obdržijo svojo kopijo. Tega ni mogoče razveljaviti.} other{Njegova # shranjene vrednosti so odstranjene iz vsake knjige. Datoteke že napisane obdržijo svojo kopijo. Tega ni mogoče razveljaviti.} =0{To nima vrednosti, tega ni mogoče popraviti.}}", + "deleteConfirmLabel": "Vnesite ime polja za potrditev", + "deleteConfirmPlaceholder": "Vrsta {label} za potrditev" + } }, "tabs": { "providers": "Ponudniki", @@ -1658,7 +2546,8 @@ "genre-blocklist": "Seznam blokiranih žanrov", "score": "Ocena", "auto-fetch": "Knjige", - "authors": "Avtorji" + "authors": "Avtorji", + "search-cache": "Išči predpomnilnik" }, "tabTitles": { "providers": "Ponudniki", @@ -1667,7 +2556,8 @@ "genre-blocklist": "Seznam blokiranih žanrov", "score": "Ocena zaupanja", "auto-fetch": "Samodejno pridobivanje knjig", - "authors": "Samodejno pridobivanje avtorjev" + "authors": "Samodejno pridobivanje avtorjev", + "search-cache": "Išči predpomnilnik" }, "tabSubtitles": { "providers": "Omogočite zunanje vire metapodatkov in konfigurirajte njihova poverilnica.", @@ -1676,7 +2566,17 @@ "genre-blocklist": "Preprečite, da bi bile neželene vrednosti žanrov ponudnikov zapisane v knjige.", "score": "Dodelite uteži poljem metapodatkov za izračun, koliko zaupati pridobljenim rezultatom.", "auto-fetch": "Samodejno pridobite naslovnice, opise in druge podrobnosti, ko so v vašo knjižnico dodane nove knjige.", - "authors": "Samodejno pridobite biografije in profilne fotografije, ko se v vaši knjižnici pojavijo novi avtorji." + "authors": "Samodejno pridobite biografije in profilne fotografije, ko se v vaši knjižnici pojavijo novi avtorji.", + "search-cache": "Ponovna uporaba odgovorov ponudnika tako ponavlja iskanje so hitro in še vedno deluje, ko ponudnik je navzdol." + }, + "preferences": { + "toast": { + "saved": "Shranjene so nastavitve metapodatkov", + "saveFailed": "Ni moč shraniti nastavitev metapodatkov. Preverite povezavo in poskusite znova.", + "globalReset": "Pravila globalnega polja se ponastavijo na privzete sistemske vrednosti", + "libraryReset": "Ponastavitev knjižnice na globalna pravila", + "resetFailed": "Ni moč ponastaviti nastavitev metapodatkov. Preverite svojo povezavo in poskusite znova." + } } }, "reader": { @@ -1724,12 +2624,26 @@ "typography": "Tipografija", "font": "Pisava", "fontHint": "Pisava, uporabljena za osnovno besedilo", + "fontStyle": "Slog pisave", + "fontStyleHint": "Teža in poševno besedilo telesa. Pogum in poševno v knjigi ostati v razmerju z njim.", "builtInFonts": "Vgrajene pisave", "yourFonts": "Vaše pisave", "fontSize": "Velikost pisave", "fontSizeHint": "Osnovna velikost besedila v slikovnih pikah", "lineHeight": "Višina vrstice", "lineHeightHint": "Navpični razmik med vrsticami", + "paragraphSpacing": "Razmik od odstavkov", + "paragraphSpacingHint": "Prostor med odstavki. Knjiga privzeto ohranja razmik založnika.", + "paragraphSpacingDefault": "Privzeta knjiga", + "paragraphSpacingValue": "{value} em", + "letterSpacing": "Razmik črk", + "letterSpacingHint": "Prostor med črkami. Knjiga privzeto ohranja razmik založnika.", + "wordSpacing": "Razmik besed", + "wordSpacingHint": "Prostor med besedami. Privzeta knjiga ohranja razmik založnika.", + "textIndent": "Prva alinea", + "textIndentHint": "Zamik na začetku običajnih odstavkov. Knjiga privzeto ohranja zamik založnika.", + "custom": "Po meri", + "emValue": "{value} em", "justify": "Poravnaj besedilo", "justifyHint": "Poravnaj besedilo na oba robova", "hyphenation": "Deljenje besed", @@ -1798,6 +2712,8 @@ "widePageDisable": "Onemogoči", "forceTwoPage": "Vsili dve strani na majhnih zaslonih", "forceTwoPageHint": "Prezri samodejni preklop za mobilne naprave, ko je izbran dvostranski način po straneh", + "autoAdvance": "Samodejno napredovanje v naslednjo knjigo", + "autoAdvanceHint": "Obrnite se mimo zadnje strani in odprite naslednjo knjigo v seriji", "off": "Izklopljeno", "on": "Vklopljeno", "display": "Prikaz", @@ -1843,6 +2759,9 @@ "deleteVariant": "Izbriši različico", "styleNormal": "Navadno", "styleItalic": "Ležeče", + "weightItalicOf": "{weight} italna", + "variableRange": "Spremenljivka {min}-{max}", + "variableStyles": "{count,plural,one{# slog} two{# slogi} few{# slogi} other{# slogi}}", "weightThin": "Tanka", "weightExtraLight": "Ekstra svetla", "weightLight": "Svetla", @@ -1864,7 +2783,25 @@ "serverFontsHint": "Te pisave vam je poslal skrbnik strežnika. Eno izklopite, da je ne boste videli v bralniku.", "serverFontsShown": "{count} od {total} prikazanih", "serverFontsAllHidden": "Vse strežniške pisave so skrite. Vaš bralnik bo ponudil samo vgrajene in vaše lastne pisave.", - "serverFontVisibilityFailed": "Vidnosti pisave strežnika ni bilo mogoče posodobiti" + "serverFontVisibilityFailed": "Vidnosti pisave strežnika ni bilo mogoče posodobiti", + "library": { + "columns": { + "use": "V uporabi" + }, + "yourDefault": "Privzeto", + "hiddenBadge": "Skrito", + "emptyHint": "Dodaj pisave zgoraj ali pa spusti datoteke kjerkoli na tej strani.", + "dropTitle": "{count,plural,one{Spusti za dodajanje # datoteko z vašimi pisavami} two{Spusti za dodajanje # datoteke na vaše pisave} few{Spusti za dodajanje # datoteke na vaše pisave} other{Spusti za dodajanje # datoteke na vaše pisave}}", + "limitReached": "Si že. {limit} datoteke s pisavami.", + "filesUsed": "{count} -V redu. {max} uporabljeno", + "nameHint": "To je ime na seznamu pisav vašega bralca.", + "inReaderHint": "Vaš seznam pisav v bralniku › Nastavitve, z {name} Izbrana.", + "showInReader": "Prikaži v mojem bralniku", + "showFamily": "Prikaži {name} v mojem bralcu", + "removeConsequenceBooks": "{count,plural,one{Začelo se je. # Vaših knjig; ta knjiga sega nazaj v svojo pisavo.} two{Začelo se je. # Vaših knjig; vračajo se k lastnim pisavam.} few{Začelo se je. # Vaših knjig; vračajo se k lastnim pisavam.} other{Začelo se je. # Vaših knjig; vračajo se k lastnim pisavam.}}", + "removeConsequenceDefault": "To je vaša privzeta pisava; knjige brez lastne nastavitve se vrnejo v privzeto knjigo.", + "removeQuestion": "Odstrani {name} Iz vaših pisav?" + } }, "bookDock": { "title": "Odložišče knjig", @@ -1932,6 +2869,7 @@ "modSort": "Format Priimek, Ime", "modInitial": "Samo prva črka", "modFixed2": "Dve decimalni mesti", + "modMax3": "Do tri vrednosti, sicer nič", "folderOnlyPrefix": "Vzorec zaključite s", "folderOnlySuffix": "za določitev samo mape. Izvirno ime datoteke bo ohranjeno znotraj nje.", "conditionalLogic": "Pogojna logika", @@ -1987,6 +2925,7 @@ "tokenTitle": "Naslov knjige", "tokenSubtitle": "Podnaslov knjige", "tokenAuthors": "Avtor(ji), ločeni z vejicami", + "tokenNarrators": "Pripovedovalec(-i), ločen(-i) od vejice", "tokenYear": "Leto izdaje", "tokenSeries": "Ime serije", "tokenSeriesIndex": "Zaporedna številka v seriji (z vodilnimi ničlami)", @@ -1996,8 +2935,160 @@ "tokenLibrary": "Ime knjižnice", "tokenOriginalFilename": "Izvirno ime datoteke (brez pripone)", "tokenExtension": "Končnica datoteke (brez pike)", + "tokenReadaloud": "Beseda readyloud za EPUB z medijskimi prekrivnimi sloji", "patternHelpIntro": "Vzorci uporabljajo žetone, kot sta {titleToken} in {authorsToken}, ter modifikatorje in neobvezne segmente.", - "browseTokensAndExamples": "Brskaj po žetonih in primerih" + "browseTokensAndExamples": "Brskaj po žetonih in primerih", + "subtitleShort": "Vzorci map in imen datotek za shranjene datoteke.", + "rule": { + "fileAsBook": "Datoteka kot privzeta knjiga", + "folderAsBook": "Mapa kot privzeta knjiga", + "download": "Prenesi ime datoteke" + }, + "howItWorks": { + "title": "Kako se izbere pot.", + "summary": "Knjižnica z vzorcem lastnega dobitka. Vsaka druga knjižnica sledi globalnemu privzetemu načinu organizacije. Spreminjanje vzorca ne premakne knjig že na disku; novi prenosi mu sledijo od naslednjega prenosa naprej." + }, + "filterRules": "Pravila filtra", + "librariesGroup": "Knjižnice", + "customCount": "{custom}/{total} po meri", + "noRuleMatches": "Brez pravil se ujema.{query}\".", + "unsavedMarker": "Ima neshranjene spremembe", + "backToRules": "Nazaj na pravila poimenovanja", + "appliesToLibraries": "{count,plural,one{Uporablja se za # knjižnica} two{Uporablja se za # knjižnice} few{Uporablja se za # knjižnice} other{Uporablja se za # knjižnice} =0{Knjižnice ne uporabljajo tega privzetega}}", + "downloadScope": "Prenese in izvozi ZIP", + "badgeInherits": "Privzeto", + "badgeUnsaved": "Neshranjeno", + "patternLabel": "Vzorec", + "readOnlyFromGlobal": "Samo za branje iz globalnega privzetega stanja", + "useGlobalDefault": "Uporabi globalno privzeto", + "resetToShipped": "Ponastavi na poslano privzeto", + "addOverride": "Dodaj preglasitev", + "inheritsNotice": "Ta knjižnica sledi {base}- Dodajte napravo, da bo vzorec.", + "libraryRuleHint": "Prepreči {base} Samo za to knjižnico.", + "scopeLibrary": "Uporablja se za prenose v {name} Samo.", + "scopeDownload": "Uporablja se za vse prenose v eni datoteki in za vse datoteke v izvoznem ZIP.", + "scopeGlobal": "{count,plural,one{Uporablja se za # Knjižnica, ki nima svojega vzorca.} two{Uporablja se za # knjižnice, ki nimajo svojega vzorca.} few{Uporablja se za # knjižnice, ki nimajo svojega vzorca.} other{Uporablja se za # knjižnice, ki nimajo svojega vzorca.}}", + "scopeGlobalNone": "Knjižnica trenutno ne uporablja tega privzetega besedila; vsaka knjižnica v tem načinu ima svoj vzorec.", + "unbalancedOptional": "Neobvezna skupina manjka njen oklepaj za zapiranje kota", + "unbalancedToken": "Žeton manjka.", + "structure": "Struktura", + "paletteOptional": "neobvezno", + "paletteOptionalHint": "Zavije segment tako, da se spusti, ko je žeton v njem prazen", + "paletteFallback": "rezervna", + "paletteFallbackHint": "Znotraj neobvezne skupine besedila, ki se uporablja, ko leve strani ni mogoče zapolniti", + "paletteSeparator": "mapa", + "paletteSeparatorHint": "Začne novo raven mape", + "modUpper": "UPPERCASE", + "modLower": "male črke", + "recipesLabel": "Ali pa začnite z receptom.", + "recipe": { + "seriesShelf": "Polica serije", + "calibre": "Slog Kalibre", + "alphabetical": "Abecedna", + "flat": "Plosko, brez map", + "originalName": "Prvotno ime datoteke", + "authorTitle": "Avtor in naslov", + "titleOnly": "Samo naslov", + "seriesOrdered": "Naročena serija" + }, + "resultPanel": "Rešeni rezultat", + "resultFor": "Rezultat: {rule}", + "copyResult": "Kopiraj rešeni rezultat", + "resultCopied": "Rešen rezultat prepisan na odložišče", + "resultCopyFailed": "Ni moč kopirati rešenega rezultata", + "sampleBookNote": "Vzorčna knjiga, ki se uporablja za vsak ogled", + "missingMetadata": "Če metapodatki manjkajo", + "readaloudComparison": "Primerjava z branjem na glas", + "readaloudEpub": "Epub, ki se bere na glas", + "plainEpub": "Navadni EPUB", + "caseNoSeriesLabel": "Ni serije", + "caseNoYearLabel": "Brez leta", + "caseNoAuthorLabel": "Brez avtorja", + "previewEmpty": "Ta vzorec se ne reši v nič, zato bi namesto tega uporabili prvotno ime datoteke.", + "previewEmptyShort": "Reši se v nič", + "crossPlatformShortHint": "Zamenja znake, ki jih Windows zavrne. Ogledi odražajo to nastavitev.", + "rulesSaved": "{count,plural,one{# Pravilo o poimenovanju je shranjeno} two{# Pravila poimenovanja so shranjena} few{# Pravila poimenovanja so shranjena} other{# Pravila poimenovanja so shranjena}}", + "rulesSaveFailed": "{count,plural,one{Ni moč shraniti # Pravilo o poimenovanju} two{Ni moč shraniti # Pravila poimenovanja} few{Ni moč shraniti # Pravila poimenovanja} other{Ni moč shraniti # Pravila poimenovanja}}", + "rulesPartiallySaved": "Shranjeno {saved}, ni uspelo {failed}Pravila, ki so propadla, so še vedno neshranjena.", + "save": { + "unsaved": "{count,plural,one{# neshranjena sprememba} two{# neshranjene spremembe} few{# neshranjene spremembe} other{# neshranjene spremembe}}", + "upToDate": "Brez neshranjenih sprememb", + "discard": "Zavrzi", + "action": "Shrani spremembe", + "blocked": "Popravi neveljaven vzorec pred shranjevanjem" + }, + "examplesDescription": "Idiomi recepti ne zajemajo. Vzorec, ki se konča v poševnica reši v mapo in hrani preneseno ime datoteke v njej.", + "examplesApply": "Uveljavi", + "examplesApplyAria": "Uveljavi {label} vzorec", + "examplesUploadOnly": "To so vzorci pošiljanja, prikazani tukaj za referenco. Preklopi na datoteko kot knjigo ali mapo kot pravilo knjige, da se uporabi ena.", + "examplesFileModeOnly": "Mapa kot Knjiga potrebuje svoj segment imena datotek, zato ta idiom velja za datoteko samo kot knjižnice.", + "example": { + "seriesOrStandalone": "Serija ali samostojna mapa", + "optionalSubtitle": "Neobvezen podnaslov", + "languageFolder": "Jezikovna mapa", + "publisherFolder": "Mapa izdajateljev", + "stackedOptional": "Zložene neobvezne mape", + "folderDrop": "Samo mapa, obdrži ime datoteke, ki je bila naložena" + }, + "exampleCase": { + "complete": "Dokončano", + "noSeries": "Ni serije", + "noSubtitle": "Brez podnaslova", + "noLanguage": "Brez jezika", + "noPublisher": "Brez založnika" + }, + "unknownModifier": "Neznan modifikator{modifier}\". To bo prezrta, pusti vrednost nespremenjena.", + "rulesNav": "Pravila poimenovanja", + "railFoot": "Knjižnica brez lastnega vzorca sledi privzetemu pod katerim sedi.", + "usedBy": "Uporablja ga {libraries}", + "followsBase": "Sledi {base}.", + "copyPattern": "Kopiraj vzorec", + "recipes": "Recepti", + "recipesTitle": "Začnite z receptom", + "recipesReplace": "Zamenja celoten vzorec", + "recipeInUse": "V uporabi", + "insert": "Vstavi", + "insertToolbar": "Vstavi v vzorec", + "insertOptional": "Neobvezno", + "insertFallback": "Nazadovanje", + "insertFolder": "Mapa", + "lineHint": "Pritisni {enter} zagnati novo mapo ali tip {brace} Izberite žeton. Kliknite ikono mape, da preskočite mapo, ko je njena vrednost manjka.", + "downloadLineHint": "Prenosi nimajo map, zato se uporablja le zadnji del vzorca.", + "tokenSuggestions": "Ujemanje žetonov", + "noTokenMatch": "Ni simbolov za ujemanje \"{query}\".", + "uploadedNameKept": "Naloženo ime datoteke", + "level": { + "folder": "Mapa {n}", + "bookFolder": "Mapa s knjigami", + "file": "Ime datoteke", + "skipWhenEmpty": "Preskoči {level} kadar manjka njegova vrednost", + "skippedWhenEmpty": "Prekinjeno, ko manjka njegova vrednost. Kliknite, da vedno ustvarite to mapo.", + "alwaysCreated": "Vedno ustvarjeno. Kliknite, da preskočite to mapo, ko njena vrednost manjka." + }, + "result": "Rezultat", + "previewWith": "Ogled z", + "previewWithAria": "Ogled z {title}", + "previewBook": { + "sample": "Vzorčna knjiga", + "longTitle": "Dolg naslov in serija", + "longSubtitle": "Dolg podnaslov", + "manyAuthors": "Pet avtorjev", + "audiobook": "Zvočna knjiga", + "standalone": "Ni serije" + }, + "previewingCase": "Ogled: {case}", + "showComplete": "Prikaži popolno", + "previewStale": "Ogled se začne, ko je vzorec popravljen.", + "noChange": "Brez sprememb", + "tagSkipped": "preskoči", + "tagFallback": "rezervna", + "tagBookFolder": "mapa s knjigami", + "tagUploadedName": "preneseno ime", + "tagShortened": "skrajšano na 255 bajtov", + "tagEmptyName": "prazno ime", + "levelSkipped": "Prekinjeno, ker {token} prazno", + "levelEmptyName": "Prazno ime mape. Dajte tej mapi rezervno, da bo vedno imela eno.", + "renameNote": "Knjige že na disku ohranjajo svoje poti. Knjižnice, ki preimenujejo datoteke, uporabijo ta vzorec, ko bodo naslednjič shranjene podrobnosti knjige: {libraries}." }, "kobo": { "title": "Sinhronizacija Kobo", @@ -2040,6 +3131,8 @@ "syncHighlightsHint": "Pošljite označbe, ustvarjene v BookOrbit ali KOReader, v vašo napravo Kobo. Označbe iz naprave Kobo se uvozijo v BookOrbit tudi, kadar je to izklopljeno. Povezane opombe sinhronizirajo urejanja in brisanja v obe smeri. Zahteva dostavo KEPUB; knjiga na napravi Kobo mora biti KEPUB, prenesen iz BookOrbit.", "storeSync": "Vključi naslove trgovine Kobo", "storeSyncHint": "Knjige iz vašega računa Kobo, vključno s Kobo Plus in nakupi, dostavljajte tudi iz vaše knjižnice BookOrbit. Brez tega bodo v napravo prispele samo knjige iz BookOrbit. Naslovi iz trgovine se prenesejo neposredno iz Kobo in se ne dodajo v vašo knjižnico BookOrbit.", + "fullSizeCovers": "Pokrovi za celo velikost", + "fullSizeCoversHint": "Vsako ovitek pošljite na zaslonsko ločljivost vašega Koboja, tako da bodo spalni zasloni in celozaslonski ovitki ostali ostri. To izklopite, da boste poslali manjše ovitke, ki se hitreje sinhronizirajo. Ovitek se že na Kobo spremeni šele, ko se knjiga spremeni.", "convertKepub": "Pretvori v KEPUB", "convertKepubHint": "Pošlji ustrezne datoteke EPUB kot KEPUB. To ostane vklopljeno, kadar sta omogočena sinhronizacija napredka ali označbe iz BookOrbit v Kobo. Ob naslednji sinhronizaciji s Kobo bodo prizadete knjige znova ponujene kot prenosi KEPUB; odstranite morebitno staro kopijo EPUB, če jo Kobo še vedno odpira.", "forceHyphenation": "Prisili deljenje besed", @@ -2358,7 +3451,13 @@ "unmatchedDismissed": "Neujemajoča knjiga zavrnjena", "dismissFailed": "Zavrnitev neujemajoče knjige ni uspela", "allDismissed": "{count, plural, =0 {Zavrnjenih 0 neujemajočih knjig} one {Zavrnjena # neujemajoča knjiga} two {Zavrnjenih # neujemajočih knjig} few {Zavrnjenih # neujemajočih knjig} other {Zavrnjenih # neujemajočih knjig}}", - "dismissAllFailed": "Zavrnitev vseh neujemajočih knjig ni uspela" + "dismissAllFailed": "Zavrnitev vseh neujemajočih knjig ni uspela", + "reviewRefreshed": "Knjige za pregled osveženih", + "reviewRefreshFailed": "Ni moč osvežiti knjig za pregled", + "reviewDismissed": "Knjiga, ki je bila zavrnjena iz pregleda", + "reviewDismissFailed": "Ni uspelo zavreči knjige iz pregleda", + "reviewAllDismissed": "{count,plural,one{Prosto # knjigo iz pregled} two{Prosto # knjige iz pregledovanja} few{Prosto # knjige iz pregledovanja} other{Prosto # knjige iz pregledovanja} =0{Ni dovoljeno nobeno knjigo iz pregledovanja}}", + "reviewDismissAllFailed": "Ni uspelo zavreči vseh knjig iz pregleda" }, "modal": { "linkTitle": "Poveži knjigo KOReader", @@ -2411,7 +3510,15 @@ "syncedStatsNote": "Že sinhronizirana statistika bo ostala na trenutni knjigi BookOrbit.", "chooseDifferent": "Izberi drugo", "saving": "Shranjevanje ...", - "confirmLink": "Potrdi povezavo" + "confirmLink": "Potrdi povezavo", + "reviewTitle": "KOReader Books to review", + "reviewHint": "Knjige brez samodejnega ujemanja in knjige, ki ste jih nevezani, se lahko tukaj prikažejo. Nepovezane knjige lahko še vedno sinhronizirajo preko samodejnega ujemanja. Povežite knjigo, da razveljavite ujemanje, ali pa jo odstranite, da jo odstranite s tega seznama.", + "loadingReview": "Nalaganje knjig za pregled...", + "noReview": "Ni knjig za pregled KOReader.", + "manualUnlinkConfirmBody": "Odstrani ročno povezavo do {title} in vrnete to knjigo na seznam recenzij. Prihodnje sinhronizacije bodo uporabile samodejno ujemanje, če obstaja. Že sinhronizirane statistike bodo ostale na svoji trenutni knjigi BookOrbit.", + "reviewDismissConfirmBody": "To ga odstrani iz vaših knjig za pregled. Samodejno ujemanje in obstoječi sinhronizirani podatki se hranijo. Če naprava ponovno poroča hašiš brez ujemanja, se lahko ponovno pojavi.", + "reviewDismissAllConfirmTitle": "{count,plural,one{Prosto # Knjiga za pregled?} two{Prosto # Knjige za pregled?} few{Prosto # Knjige za pregled?} other{Prosto # Knjige za pregled?} =0{Ni knjig za pregled}}", + "reviewDismissAllConfirmBody": "To počisti vse vaše knjige za pregled seznama, vključno z vnosi na drugih straneh. Samodejno ujemanje in obstoječi sinhronizirani podatki se hranijo. Če naprava ponovno poroča hašiš brez ujemanja, se lahko ponovno pojavi." }, "remove": "Odstrani", "removing": "Odstranjevanje ...", @@ -2499,21 +3606,581 @@ "tabs": { "file-naming": "Poimenovanje datotek", "book-dock": "Odložišče knjig", + "requests": "Zahtevki", "maintenance": "Vzdrževanje", "audit-log": "Dnevnik revizije" + }, + "requests": { + "title": "Zahtevki", + "subtitle": "Kje so izpuščeni, kaj jih prinaša in kaj se zgodi, ko pristanejo.", + "tabs": { + "sources": "Viri", + "clients": "Prenesi odjemalce", + "automation": "Avtomatizacija" + }, + "loading": "Nalaganje strank...", + "clients": "Prenesi odjemalce", + "addClient": "Dodaj odjemalca", + "editClient": "Uredi odjemalca", + "deleteClient": "Zbriši {name}", + "clientsEmpty": { + "title": "Ni še nobenega odjemalca za prenos", + "body": "Neposredni prenos HTTP ne potrebuje odjemalca. Povežite enega, da bo BookOrbit lahko prinesel datoteke, ki jih dostavi torrent ali Usenet.", + "note": "qBittorrent, Transmission, Deluge, NZBGet in SABnzbd so podprti." + }, + "summary": "{type} - kategorija {category}, prioriteta {priority}", + "disabled": "Onemogočeno", + "test": "Preskusna povezava", + "testSaveFirst": "Shranite spremembe pred testiranjem", + "testOk": "Povezano {client} {version}", + "testOkNoVersion": "Povezano {client}", + "lastTestOk": "Zadnji testirani {time}: priključen", + "lastTestFailed": "Zadnji testirani {time}: {error}", + "saved": "Prenesi shranjen odjemalec", + "deleted": "Prenesi odjemalca odstranjenega", + "clientTypes": { + "qbittorrent": "qBittorrent", + "transmission": "Prenos", + "deluge": "Poplava", + "nzbget": "NZBGet", + "sabnzbd": "SABnzbd" + }, + "color": { + "label": "Barvno", + "hint": "Označi to stranko v podrobnostih prenosa. Protokol za prenos ohranja svojo barvo.", + "none": "Brez barve" + }, + "fields": { + "name": "Ime", + "type": "Vrsta odjemalca", + "baseUrl": "Osnovni URL", + "username": "Uporabniško ime", + "password": "Geslo", + "apiKey": "Ključ API", + "passwordKeep": "Pustite prazno, da se shrani geslo", + "apiKeyKeep": "Pustite prazno, da se shrani ključ API", + "passwordClear": "Počisti", + "passwordKeepAction": "Obdrži", + "passwordWillClear": "Shranjeno geslo se odstrani, ko shranite", + "apiKeyWillClear": "Shranjeni ključ API se odstrani, ko shranite", + "category": "Kategorija", + "categoryHint": "Tags prenosi BookOrbit dodaja, tako da vedno deluje samo na lastno pest.", + "priority": "Prednost", + "enabled": "Omogočeno", + "useHardlinks": "Uporabi trde povezave", + "allowPrivateAddress": "Dovoli zasebne naslove", + "allowPrivateAddressHint": "Potrebno je, ko stranka teče na vašem lokalnem omrežju ali istem stroju.", + "passwordBrief": "-Shranjeno.", + "apiKeyBrief": "Najdeno v SABnzbd pod Config > Splošno. Shranjeno šifrirano.", + "useHardlinksBrief": "Uvozi brez uporabe diska dvakrat. Spada nazaj v kopijo po datotečnih sistemih." + }, + "mappings": { + "title": "Kartiranje vlakovnih poti", + "hint": "Prevedite poti, ki jih stranka poroča v poti BookOrbit lahko odpre. Potrebno je, ko dve teče v ločenih zabojnikih.", + "add": "Dodaj kartiranje", + "remove": "Odstrani kartiranje", + "remotePath": "Pot do naročnika", + "localPath": "Pot BookOrbit", + "brief": "Zahtevano. Deklarira imenik BookOrbit lahko uvozi iz; ko odjemalec vidi iste datoteke na istih poteh, mapira imenik za prenos sebi.", + "identityExample": "Isti datotečni sistem? Uporabite isto pot na obeh straneh, na primer / odlaganje na levi in / odlaganje na desni." + }, + "hardlink": { + "test": "Preizkusite trdo povezavo", + "checking": "Preverjanje...", + "works": "Trdne povezave delujejo tukaj: uvoz ne bo uporabil diska dvakrat.", + "unavailable": "Trdih povezav ni na voljo tukaj: uvoz bo kopiral, z uporabo prostora dvakrat.", + "link_refused": "Ta datotečni sistem je zavrnil povezavo ({code}): uvoz bo prepisan, z uporabo prostora dvakrat.", + "download_dir_unwritable": "BookOrbit ne more pisati v mapo za prenos ({code}), tako hardlinking ni bilo mogoče preizkusiti.", + "localMissing": "BookOrbit ne vidi te poti.", + "dockMissing": "Mapa z Dockovo knjigo ni berljiva." + }, + "reconciliation": { + "action": "Reconcile", + "clean": "Vsak predmet odjemalca se ujema z zadržanim poskusom prenosa BookOrbita.", + "unsupported": "Ta odjemalec ne more naštevati elementov z označevalcem lastništva BookOrbita. Za potop omogočite vstavek Label; za prenos nastavite mapo kategorije.", + "truncated": "Stranka je vrnila več kot 1000 predmetov v lasti. Rešiti vidne vnose, nato pa se ponovno uskladiti.", + "orphan": "Ta predmet ni v lasti nobenega poskusa BookOrbita.", + "failedAttempt": "Stranka še vedno drži to stvar, vendar njen poskus za \"{title}\"je označeno kot neuspešno.", + "missing": "Tole. {status} poskus ni več prisoten v prejemniku.", + "adopt": "Priloži na {title}", + "adopted": "Priložil je postavko odjemalca na {title}", + "remove": "Odstrani iz odjemalca", + "removed": "Odstranil je osirotel predmet stranke", + "removeTitle": "Odstraniti to osirotelo stranko stvar?", + "removeDescription": "{name} je odstranjen iz odjemalca za prenos. Njegove prenesene datoteke se hranijo.", + "notOrphan": "Ta stranka je še vedno priložena poskusu prenosa BookOrbita.", + "notAdoptable": "Ta stranka ali neuspeli poskus se je spremenil in ga ni več mogoče pritrditi." + }, + "errors": { + "loadFailed": "Ni moč naložiti odjemalcev za prenos", + "saveFailed": "Ni moč shraniti tega odjemalca za prenos", + "deleteFailed": "Ni moč odstraniti tega odjemalca za prenos", + "testFailed": "Ni moč doseči tega odjemalca za prenos", + "nameAndUrlRequired": "Zahtevata se ime in osnovni URL", + "nameTaken": "Odjemalec za prenos s tem imenom že obstaja", + "urlUnsafe": "Tega osnovnega URL- ja ni bilo moč doseči. Preverite naslov in da uporablja http ali https.", + "urlPrivate": "Ta naslov je na zasebnem ali lokalnem omrežju.", + "encryptionKeyMissing": "Nastavi KNJIGO ZAHTEVA OZNAVA KEY pred shranjevanjem odjemalca. Ustvari eno z: opensl rand -hex 32", + "encryptionKeyChanged": "Shranjena poverilnica odjemalca ni bila prebrana. KNJIGA ZAHTEVA ZAHTEVA ZAHTEVA ZAHTEVA ZAHTEVA se je morda spremenila, odkar je bila shranjena.", + "pathNotAbsolute": "Kartiranje poti mora uporabiti absolutne poti na obeh straneh.", + "nameRequired": "Povej mu ime.", + "urlRequired": "Vnesite naslov BookOrbit, ki naj bi dosegel tega odjemalca na.", + "mappingRequired": "Dodajte vsaj eno kartografiranje poti, tako da BookOrbit ve, iz katere mape lahko uvozi.", + "apiKeyRequired": "Vnesite ključ SABnzbd API iz Config > Splošno." + }, + "encryptionKeyMissing": "KNJIGA ZAHTEVA ENCRYPTION KEY ni nastavljena, zato odjemalčeve poverilnice ni moč shraniti. Ustvari eno z: opensl rand -hex 32", + "confirmDelete": { + "title": "Odstranim to stranko?", + "description": "{name}Naslov in shranjena poverilnica sta izbrisana, zahteve za prenos pa se tam prenehajo posodabljati. Izklopite jo, da obdržite podrobnosti.", + "confirm": "Odstrani odjemalca" + }, + "indexers": { + "title": "Neposredni viri", + "hint": "Povežite posamezne Torznab-ove vire za torrente ali Newznab za izpise Usenet.", + "allDisabled": "Vsak vir spodaj je izključen, zato ne bo nihče našel ničesar.", + "loading": "Nalaganje indeksov...", + "empty": { + "title": "Ni še nobenih virov.", + "body": "BookOrbit ni lastnega vira, zato iskanje po naročilu ne najde ničesar, dokler ne dodate enega. Izberite nastavitev, ki ustreza vašim indekserjem.", + "bodyOneWay": "BookOrbit ne zbira lastnih virov, zato iskanje po zahtevi ne najde ničesar, dokler ne dodate enega.", + "responsibility": "Kakšen vir, ki ga dodaš indeksom, je tvoja odgovornost.", + "prowlarrTitle": "Poveži Prowlarr", + "prowlarrBody": "Upravljajte več torrentov in indeksov Usenet preko ene povezave.", + "recommended": "Priporočeno", + "pluginTitle": "Namesti vstavek", + "pluginBody": "Ena datoteka, ki uči BookOrbit iskati določeno spletno stran. Vi jo dobavljate, nato pa vnesite njene nastavitve.", + "torznabTitle": "Dodaj indekser Torznab", + "torznabBody": "Point na Prowlarr, Jackett ali NZBHydra krmo ste že teče.", + "builtInTitle": "Dodaj indekser", + "builtInBody": "Point na Torznab ali Newznab vir, ki ga že uporabljate. Ena nastavitev na vir." + }, + "add": "Dodaj indekser", + "edit": "Uredi indekser", + "delete": "Zbriši {name}", + "none": "Še vedno ni indekserja.", + "disabled": "Onemogočeno", + "test": "Preskusna povezava", + "testSaveFirst": "Shranite spremembe pred testiranjem", + "testOk": "Povezano {name}", + "toggleAria": "Iskanje z {name}", + "enabledNotice": "{name} bodo preiskani", + "disabledNotice": "{name} ne bo preiskana", + "lastTestOk": "Zadnji testirani {time}: priključen", + "lastTestFailed": "Zadnji testirani {time}: {error}", + "saved": "Indekser shranjen", + "deleted": "Vir izbrisan", + "unavailable": "Ta namestitev nima »{type}\" Indexer tip. Spremenite vrsto ali izbrisati svoj plugin in shranjene nastavitve.", + "pluginFailed": "Vstavek v »{directory}\"ni naložil: {reason}", + "sources": { + "title": "Viri", + "hint": "Vse, kar lahko BookOrbit išče, združeno s povezavo.", + "add": "Dodaj vir", + "prowlarr": "Poveži Prowlarr", + "prowlarrHint": "Upravljajte več torrentov in indeksov Usenet.", + "direct": "Dodaj Torznab ali Newznab", + "directHint": "Povežite en kompatibilen vir neposredno.", + "plugin": "Namesti vstavek", + "pluginHint": "Dodaj specializirano izvajanje izvorne kode.", + "activeSummary": "{count,plural,one{# aktivni vir} two{# aktivni viri} few{# aktivni viri} other{# aktivni viri}}: {torrent} torrent, {usenet} Usenet, {direct} neposredno" + }, + "network": { + "title": "Napredno omrežje", + "hint": "Potrebno le, če privzeta pot do tega vira ne deluje. Kar je dovoljeno, se ne spremeni: katerikoli naslov je dosežen, je še vedno preverjen na enak način.", + "resolvers": "Strežniki DNS", + "proxyUrl": "Posrednik URL", + "proxyHint": "Posrednik http ali https, ki pošilja zahteve tega vira. SOCKS ni podprt.", + "brief": "Potrebno le, če privzeta pot do tega vira ne deluje.", + "resolversBrief": "Voma ločena. Uporablja se namesto sistemskega razreševalnika samo za ta vir; prazno uporablja sistemski vir.", + "proxyBrief": "Pretvornik za ta vir je na voljo na http ali https. SOCKS ni podprt." + }, + "types": { + "torznab": "Torznab (Jackett, Prowlarr, NZBHydra)", + "newznab": "Newznab" + }, + "fields": { + "name": "Ime", + "type": "Vrsta indekserja", + "baseUrl": "Osnovni URL", + "baseUrlHint": { + "torznab": "URL vira Torznab brez niza poizvedb. Jackett ga prikaže na vsakem indekserju kot » Torznab Feed «.", + "newznab": "URL mesta Newznab ali API končnica brez poizvedbe." + }, + "credential": { + "apiKey": "Ključ API", + "sessionId": "ID seje" + }, + "credentialKeep": "Pustite prazno, da se shrani verodostojnost", + "credentialClear": "Počisti", + "credentialKeepAction": "Obdrži", + "credentialWillClear": "Shranjena verodostojnost se odstrani, ko shranite", + "enabled": "Omogočeno", + "allowPrivateAddress": "Dovoli zasebne naslove", + "credentialBrief": "-Shranjeno.", + "allowPrivateAddressBrief": "Privzeto izklopljeno. Potrebno je samo, če je vir v vašem krajevnem omrežju.", + "searchByIsbn": "Išči po ISBN", + "searchByIsbnBrief": "Privzeto ga izključite, če ta vir vrne napačno knjigo za natančen ISBN, in bo namesto tega preiskana z naslovom in avtorjem." + }, + "color": { + "label": "Barvno", + "hint": "Označi ta vir na vsaki izdaji, ki jo vrne, tako da lahko poveste, od kod je prišel rezultat pred branjem svojega imena. Dostavni protokoli ohranijo svoje barve, zato te barve niso na voljo tukaj.", + "none": "Brez barve", + "options": { + "blue": "Modra", + "indigo": "Indigo", + "purple": "škrlatno", + "pink": "Roza", + "red": "Rdeča", + "orange": "Oranžna", + "yellow": "Rumena", + "lime": "Lipa", + "green": "Zelena", + "teal": "Teal" + } + }, + "mediaKinds": { + "label": "Išči po tem viru", + "hint": "Izklop medija ta vir ni vredno vprašati. Samo avdiobook sledilnik za splošni posrednik še vedno pravi, da nosi vse, in iskanje po ebooks stane zahtevo za vsako iskanje.", + "notCarried": "Ta vir ga ne nosi." + }, + "categories": { + "title": "Kategorije", + "brief": "Indikator je sam kategorije številke, ki jih ločijo vejice." + }, + "settings": { + "restoreDefault": "Obnovi privzete vrednosti" + }, + "seeding": { + "applyTracker": "Uveljavi cilje semenskega sledilnika", + "applyTrackerBrief": "Ko je ročna vrednost prazna, uporabite veljaven cilj, ki ga je sporočil sledilnik. Ko je to izklopljeno, prazne vrednosti uporabljajo privzete vrednosti prejemnika. Ročne vrednosti še vedno veljajo.", + "ratio": "Razmerje semen", + "ratioBrief": "Pozitivna decimalka. Prazna podeduje od sledilnika ali odjemalca.", + "time": "Čas sejanja (minute)", + "timeBrief": "Pozitivna cela številka.", + "clientSupport": "qBittorrent sprejema razmerje in skupni čas sejanja. Potop in prenos sprejemata le razmerje. Pravila za vse stranke in katera koli omejitev je dosežena prej lahko ustavi sejanje, zato te vrednosti ne zagotavljajo, da je izpolnjen vsak najmanjši sledilnik.", + "futureGrabs": "Spremembe veljajo za prihodnje zgrabi. Obstoječi ali sprejeti torrenti lahko ohranijo omejitve, specifične za stranke. Odpravljanje zaledja sledilnika pusti privzete odjemalčeve aktivne; to ne pomeni neomejenega sejanja.", + "reset": "Ponastavi nastavitve sejanja", + "summary": { + "title": "Povzetek politike", + "ratio": "Razmerje", + "time": "Čas semena", + "manual": "Ročno: {value}", + "tracker": "Sledilnik se je umaknil", + "client": "Privzeto za odjemalca" + }, + "errors": { + "ratio": "Vnesite končno število, večje od nič, ali pa pustite to prazno.", + "minutes": "Vnesite celotno številko od 1 do 2,147.483.647, ali pustite to prazno." + } + }, + "confirmDelete": { + "title": "Zbrišem ta vir?", + "description": "{name}Naslov, nastavitve in shranjene poverilnice so izbrisani. Izključite jih, da jih ne izgubite.", + "confirm": "Zbriši vir" + }, + "errors": { + "loadFailed": "Ni moč naložiti indekserjev", + "saveFailed": "Ni moč shraniti tega indekserja", + "deleteFailed": "Ni moč zbrisati tega vira", + "testFailed": "Ni moč doseči tega indekserja", + "nameAndUrlRequired": "Zahtevata se ime in osnovni URL", + "nameTaken": "Indekser s tem imenom že obstaja", + "urlUnsafe": "Tega osnovnega URL- ja ni bilo moč doseči. Preverite naslov in da uporablja http ali https.", + "urlPrivate": "Ta naslov je na zasebnem ali lokalnem omrežju. Vklopite \"Dovolite zasebni naslov\", če indekser teče tam.", + "credentialRequired": "Ta indekser potrebuje potrdilo, preden se lahko uporabi", + "invalidSettings": "Ena ali več nastavitev vira so neveljavne. Pregled razpoložljivih možnosti.", + "nameRequired": "Daj temu indekserju ime.", + "urlRequired": "Vnesite naslov BookOrbit, na katerem naj bi iskal." + }, + "editName": "Uredi {name}", + "editorDescription": "Nastavitve za ta indekser.", + "chooseType": "Izberite vrsto indekserja", + "chooseTypeHint": "Izberite, kje naj bo BookOrbit. Obrazec nato zahteva samo tisto, kar ta vir potrebuje.", + "builtIn": "Vgrajena", + "plugin": "Vstavek", + "typeDescriptions": { + "torznab": "Vaš Jackett, Prowlarr ali NZBHydra. Uporablja kategorije in cilje semena.", + "newznab": "Newznab-združljiv USEnet indekser. Uporablja kategorije in zahteva API ključ." + }, + "plugins": { + "title": "Vstavki", + "hint": "BookOrbit stran lahko išče, dodan kot ena datoteka vstavka.", + "directoryLink": "Brskajte po odprtih vstavkih knjižnice", + "none": "Ni nameščenega vstavka. Namestite enega za iskanje mesta vgrajenih protokolov ne zajema.", + "install": "Namesti vstavek", + "installed": "Nameščen {label}.", + "installFailed": "Tega vstavka ni bilo moč namestiti.", + "inspectFailed": "Te datoteke ni bilo moč brati kot vstavek.", + "removeAction": "Zbriši vstavek", + "removed": "Zbrisano {type} in viri.", + "removeFailed": "Tega vstavka ni bilo moč zbrisati.", + "confirmRemove": "Zbriši {label} -Vstavek?", + "replaces": "To nadomešča {type} vstavek je že nameščen.", + "restartRequired": "Znova zaženi BookOrbit za spremembo vstavka za začetek veljavnosti.", + "confirmInstall": "Namesti vstavek", + "configure": "Nastavi", + "notSetUp": "Ni še nastavljeno", + "brokenTitle": "Vstavek ni naložen", + "managedHint": "Nameščen na tem strežniku. Posodabljanje nadomesti svojo kodo. Izbris trajno odstrani plugin in vsak vir te vrste.", + "missingHint": "Datoteka vstavka je že izginila. Zbriši ta vnos vstavka, da odstrani vsak preostali vir, nastavitev in shranjeno verodostojnost za svojo vrsto.", + "removeWarning": "{count,plural,one{# vir in njegove shranjene nastavitve in poverilnice bodo trajno izbrisani s tem vstavkom.} two{# Viri in njihove shranjene nastavitve in poverilnice bodo trajno izbrisani s tem vstavkom.} few{# Viri in njihove shranjene nastavitve in poverilnice bodo trajno izbrisani s tem vstavkom.} other{# Viri in njihove shranjene nastavitve in poverilnice bodo trajno izbrisani s tem vstavkom.}}", + "configureAria": "Nastavi {label}", + "usedBy": "{count,plural,one{uporablja # vir} two{uporablja # viri} few{uporablja # viri} other{uporablja # viri}}", + "unused": "Ni še vira, ki bi ga uporabljal.", + "update": "Posodobi vstavek", + "checkUpdates": "Preveri posodobitve", + "updateCheckComplete": "Preverjanje posodobitve vstavka končano.", + "updateCheckFailed": "Ni moč preveriti posodobitev vstavkov.", + "updateInspectFailed": "Objavljene posodobitve vstavkov ni bilo moč preveriti.", + "reviewUpdate": "Posodobitev pregleda", + "updated": "Posodobljeno {label} do {version}.", + "autoUpdate": "Samodejno namesti podpisane posodobitve", + "autoUpdateFailed": "Ni moč spremeniti samodejne posodobitve za ta vstavek.", + "installedVersion": "Nameščena različica", + "updateChannel": "Podpisan kanal za posodobitev", + "signatureVerified": "Preneseni vir se ujema s podpisom Ed25519.", + "updateStates": { + "unsupported": "Ročne posodobitve", + "unchecked": "Ni še preverjeno", + "current": "Dosedanje", + "available": "Različica {version} na voljo", + "custom": "Lastna gradnja", + "failed": "Preverjanje posodobitve ni uspelo" + }, + "wrongType": "Ta dosje je {found} vstavek, ne {expected}.", + "replaceTitle": "Zamenjaj ta vstavek?", + "replace": "Zamenjaj vstavek", + "reviewTitle": "Namestim ta vstavek?", + "reviewDescription": "Kar je v datoteki, se bo objavilo in kodo bo zagnalo.", + "declares": "Kaj je izjavil", + "source": "Kaj bo to delovalo?", + "type": "Vrsta", + "version": "Različica", + "versionLabel": "Različica vstavkov {version}", + "versionUnknown": "Različica vstavkov ni znana", + "versionUnknownValue": "Neznano", + "media": "Mediji", + "credential": "Zaupnost", + "credentialRequired": "Zahtevano", + "credentialNone": "Brez", + "trustWarning": "Vstavek teče znotraj BookOrbita z dostopom do vaše baze podatkov, datotek knjižnice in šifrirnega ključa. Namestite enega samo iz vira, ki mu zaupate, in ga najprej preberite.", + "sectionTitle": "Vstavek", + "removeUnusedWarning": "Vstavek bo trajno izbrisan iz strežnika." + }, + "posture": "BookOrbit ne zagotavlja ali podpira indeksnih virov. Vsak vir je tukaj tisti, ki ste ga nastavili, in ste odgovorni za to, kar iščete in prenesete preko njega." + }, + "managers": { + "add": "Dodaj Prowlarr", + "loading": "Nalaganje povezav Prowlarr...", + "managedSources": "{count,plural,one{# upravljani indekser} two{# upravljani indekserji} few{# upravljani indekserji} other{# upravljani indekserji}}", + "protocol": { + "torrent": "Torrent", + "usenet": "Usenet" + }, + "saved": "Nastavitve Prewlarr so shranjene", + "deleted": "Prewlarr odstranjen", + "synced": "Sinhronizirani viri Prowlarr", + "test": "Preskusna povezava", + "sync": "Uskladi", + "testOk": "Povezano s Prowlarrom {version}Najdeno. {count,plural,one{# vir} two{# viri} few{# viri} other{# viri}}.", + "unavailable": "Ni na voljo", + "priority": "Prednostna naloga Prowlarr {priority}", + "toggleSource": "Iskanje z {name}", + "changeColor": "Spremeni barvo za {name}", + "sourceColor": "Barva vira", + "sourceColorHint": "Marks sprostitve nazaj {name} skozi BookOrbit.", + "noSources": "Ni bilo moč najti nobenega ustreznega torrenta ali indeksa Usenet. Sinhronizirajte po dodajanju enega v Prowlarr.", + "unknown": "Neznano", + "editorDescription": "Nastavitve za sinhronizacijo povezave in vira za Prowlarr.", + "confirmDelete": "Odstranim to povezavo s Prewlarrom?", + "deleteConsequence": "Povezava, šifrirani API ključ, in vsi sinhronizirani viri so izbrisani. Prenosi že potekajo, niso odstranjeni.", + "fields": { + "name": "Ime", + "color": "Barva povezave", + "colorHint": "Označi to povezavo Prowlarr tukaj. Vsak upravlja indekser ima svojo barvo za sprostitev.", + "baseUrl": "Osnovni URL", + "apiKey": "Ključ API", + "apiKeyHint": "Najdeno v Prowlarr pod Nastavitve > Splošno > Varnost. Shranjeno šifrirano.", + "syncNew": "Omogoči novo odkrite vire", + "syncNewHint": "Novi indeksi Prowlarr so takoj na voljo. Viri, ki jih izklopite tukaj, ostanejo izključeni po kasnejših sinhronizacijah.", + "autoExpand": "Poskusi znova brez filtrov kategorije", + "autoExpandHint": "Ko indekser uspešno odgovori brez rezultatov, ponovno poskusite enkrat brez filtra BookOrbitove kategorije knjige.", + "inheritSeedLimits": "Uporabi omejitve semen Prowlarra", + "inheritSeedLimitsHint": "Uporabi nastavljeno razmerje semen in čas sejanja za vsak torrent indekser, ko ne obstaja noben program BookOrbit.", + "perIndexerTimeout": "Zakasnitev indekserja (sekund)", + "perIndexerTimeoutHint": "Kako dolgo lahko en sinhroniziran vir traja. Počasni FlareSolverr-backed indekserji morda potrebujejo več časa.", + "overallBudget": "Proračun podjetja Prowlarr (sekunde)", + "overallBudgetHint": "Najdaljši čas za steno, ki si ga delimo z vsemi viri iz te povezave Prowlarr med enim iskanjem." + }, + "errors": { + "load": "Ni moč naložiti upraviteljev indekserjev", + "nameTaken": "Povezava s tem imenom že obstaja", + "urlPrivate": "Ta naslov je na zasebnem ali lokalnem omrežju. Vklopite \"Dovolite privatne naslove\", če tam teče Prowlarr.", + "required": "Vnesite ime, osnovni URL in API ključ.", + "save": "Ni moč shraniti povezave Prowlarr", + "delete": "Ni moč odstraniti povezave Prowlarr", + "test": "Ni moč doseči Prowlarrja", + "sync": "Ni moč uskladiti virov Prowlarr", + "source": "Ni moč spremeniti vira" + } + }, + "automation": { + "title": "Avtomatizacija", + "pipeline": "Ko se prenos konča, gre skozi Knjižni dok, kjer se bereta njen naslov in avtor, da se lahko datoteka pravilno imenuje in vloži, potem pa se sama premakne v ciljno knjižnico zahteve. Za vas se ustavi le, če je vključeno preverjanje uvoza in se datoteka ne ujema z zahtevano.", + "groupDownloads": "Samodejni prenosi", + "groupImports": "Uvozni pregledi", + "stateOn": "Vklopljeno", + "stateOff": "Izklopljeno", + "summaryOff": "Vsaka odobrena zahteva čaka, da človek odpre berača za izpust in izbere.", + "summaryNoRetry": "Odobrena zahteva prenese svojo najboljšo izdajo na lastno, dokler je ta objava rezultati {score} Če ne uspe, zahteva čaka na osebo.", + "summaryRetry": "Odobrena zahteva prenese svojo najboljšo izdajo na lastno, dokler je ta objava rezultati {score} Ali še več. {count,plural,one{To je edina izpustitev, ki jo je poskušal, preden je prošnja čakala na osebo.} two{Do # Izpusti se preizkusijo, preden zahteva čaka na osebo.} few{Do # Izpusti se preizkusijo, preden zahteva čaka na osebo.} other{Do # Izpusti se preizkusijo, preden zahteva čaka na osebo.}}", + "howDownloads": "Kako deluje samodejno prenašanje", + "howImports": "Kako poteka preverjanje uvoza", + "minScoreShort": "Nič spodaj ni preneseno brez nadzora.", + "autoRetryShort": "Neuspešen prenos pade v zavihek.", + "maxAttemptsShort": "Prvi poskus in vsak ponovni poskus štejeta k temu.", + "verificationShort": "Pod tem datoteko čaka v Dock knjige za pregled.", + "loading": "Nalaganje nastavitev avtomatizacije...", + "loadFailed": "Ni moč naložiti nastavitev avtomatizacije", + "saveFailed": "Ni moč shraniti te nastavitve", + "saved": "Nastavitve avtomatizacije shranjene", + "autoGrab": "Prejmite najboljšo izdajo samodejno", + "noSourcesConfigured": "Ni virov iskanja, zato ne bo nič preiskano in bo vsaka odobrena zahteva takoj predana nazaj. Dodajte eno pod Viri.", + "noSourcesEnabled": "Vsak vir iskanja je izključen, zato ne bo nič preiskano in vsaka odobrena zahteva bo predana nazaj.", + "autoGrabHint": "Ko je prošnja odobrena, njena najvišja skorja javnost gre naravnost do prejemnika in nihče ne bo odprl izbirnik za sprostitev. Izklopljeno privzeto, ker ujemanje knjige s pravico javnost je težko in oseba je običajno boljši sodnik.", + "autoGrabEnabled": "Samodejni prenosi so vklopljeni", + "autoGrabDisabled": "Samodejni prenosi so izključeni", + "minScore": "Minimalna ocena za samodejno nalaganje", + "minScoreHint": "Izid točkovanja pod to ni nikoli samodejno preneseno. Rezultati tečejo na 100, in kako dobro naslov in avtor ujema sestavlja večino enega, z obliko, velikost datoteke, sejalniki in prioriteto vira za njim. Če nič ne doseže dovolj visoko, zahteva čaka, da nekdo izbere sprostitev ročno in pove, zakaj se je ustavila.", + "minScoreHintV2": "Izid točkovanja pod to ni nikoli preneseno samodejno. Rezultati tečejo na 100. Naslov in pomen avtorja prispeva največ, sledi format in verjetna velikost datoteke, z zdravjem rojov in freeleech uporablja, ko jih vir. Če nič ne doseže dovolj visoko, zahteva čaka, da nekdo izbere sprostitev ročno in pove, zakaj se je ustavil.", + "autoRetry": "Poskusite naslednjo izdajo po napaki", + "autoRetryHint": "Ko samodejno prenašanje ne uspe, se namesto predaja poskuša naslednja najboljša izdaja. To zajema vir, ki noče izročiti datoteke, in prenos, ki umre delno. Velja samo za izdaje BookOrbit se je odločil: eden od afirmerjev, ki jih izbere ročno, ostane neuspešen in jih čaka.", + "maxAttempts": "Poskusi na zahtevo", + "maxAttemptsHint": "Vsaka objava BookOrbit pošlje prejemniku za to zahtevo šteje do te meje: prvi samodejni poskus, karkoli poskušal po vir zavrnil eno, in vse, kar poskušal po prenosu ni uspelo. Nastavi na 1 ustaviti po prvem poskusu.", + "autoSearch": "Iščite prošnje, za katere ni bilo nič.", + "autoSearchShort": "Odobreno zahtevo, ki se ne ujema z nič, se išče še enkrat kasneje.", + "autoSearchHint": "Zahteva je treba iskati enkrat, ko je odobrena. Če se ne pojavi nič dovolj dobrega, ali pa knjiga še ni bila izdana, da zahteva čaka na odobren in nič ne išče še enkrat. Vklopite to in BookOrbit še vedno preverja sam, tako da je objava objavljena naslednji mesec še vedno. Poteče samo, ko so na voljo samodejni prenosi, saj iskanje z ničimer ne pomaga pri tem, kar najde, samo stane promet vaših virov.", + "autoSearchEnabledToast": "Prošnje bodo znova iskale.", + "autoSearchDisabledToast": "Zahtevki bodo preiskani šele, ko bodo odobreni.", + "autoSearchInterval": "Išči znova po", + "autoSearchIntervalShort": "Prešteti od zadnjega iskanja, in raztegnjeni kot prošnja starosti.", + "autoSearchIntervalHint": "Koliko časa je še čakati, preden zopet poiščeš prošnjo, ni bilo nič. Čakalna dvojka za vsak teden zahteva je čakala, do osemkrat ta številka, tako se dolga zaostanka starih prošenj ne spremeni v dnevni promet proti vsakemu viru, ki ga imaš.", + "autoSearchIntervalUnit": "ure", + "autoSearchMaxAge": "Ne skrbi za to.", + "autoSearchMaxAgeShort": "Šteto od kdaj je bila prošnja vložena.", + "autoSearchMaxAgeHint": "Zahtevo, ki je starejša od tega, lahko pustite sami. Ostane odobrena in še vedno lahko imajo sprostitev, ki jo izberemo ročno kadarkoli; nič več ne išče samodejno.", + "autoSearchMaxAgeUnit": "dni", + "verify": "Preveri uvoz na podlagi zahtevka", + "verifyOnHint": "Vsaka prenesena datoteka se primerja s knjigo, ki je bila zahtevana, preden je vložena. Vse, kar se ne ujema dovolj natančno čaka v Dock knjigi za nekoga, da si ga ogleda.", + "verifyOffHint": "Nič ni za pregled. Vsak prenos se vloži takoj, ko je bil njen naslov in avtor prebral, tako napačno označeno sprostitev zemljišča v vaši knjižnici brez opozorila.", + "verificationEnabled": "Preverjanje uvoza je vključeno", + "verificationDisabled": "Preverjanje uvoza je izključeno. Prenosi bodo vloženi brez pregleda", + "verification": "Prag preverjanja", + "verificationHint": "Kako tesno mora prenesena datoteka ustrezati zahtevi, preden je vložena sama. Vse, kar je spodaj, čaka v Dock knjigi za pregled namesto. To velja za vsako zahtevo, vključno z izpusti nekdo, ki jih izbere ročno.", + "destinations": "Privzeti namembni kraji", + "destinationsHint": "Če je knjiga vložena, ko nihče ni izbral knjižnice za to. Obstaja en privzeti na medij, ker je medij izbran, preden se karkoli preišče in je edina stvar, ki je znana o datoteki, ki je zgodaj. Cilj, ki ga je prosilec pripet, ali eden izbran na odobritev, se uporablja pred temi.", + "destinationUnset": "Brez privzetega", + "destinationHiddenLibrary": "Knjižnica, ki je ne vidiš", + "destinationHiddenFolder": "Mapa, ki je ne morete videti", + "selectFolder": "Izberite mapo", + "destinationLibraryFor": "Privzeta knjižnica za {medium} zahtevki", + "destinationFolderFor": "Privzeta mapa za {medium} zahtevki", + "destinationClearFor": "Počisti privzeti cilj za {medium} zahtevki", + "importFormats": "Uvozi oblike", + "importFormatsHint": "Kaj obdržati, ko ena izdaja nosi isto knjigo v več kot enem formatu, kot sta EPUB in PDF skupaj. To nikoli ne velja za večdelno avdioknjigo, saj so njeni deli ena knjiga in ne konkurenčne izdaje.", + "importFormatsOption": { + "all": "Vse razpoložljive", + "allHint": "Obdrži vse formate, ki so prišli z izdajo.", + "preferred": "Samo prednostni", + "preferredHint": "Ohranite le format, ki je najvišji v prednostni obliki ciljne knjižnice." + } + }, + "profiles": { + "title": "Profili za izpeljavo", + "effectiveRule": "Pravilo samodejnega prenosa: prva stopnja ujemanja, nato najvišja ocena (minimalna) {score}).", + "summary": "Izpusti zunaj profila ostanejo na voljo za ročno izbiro. Brez stopenj, sprosti rang po rezultatu sam.", + "howProfiles": "Kako delujejo profili za sproščanje", + "hint": "Sprostitev se ujema z stopnjami od zgoraj do spodaj in je prva stopnja, ki se ujema. Samodejni prenosi menijo, da so razvezane izdaje le, če obstaja profil. Ročna izbira še vedno vključuje razvezane izdaje po stopenjskih rezultatih.", + "bitrateNote": "Bitna tla odvrne izpust, ki navaja nižje. Večina virov meri zelo malo svojih izpustov, in nemerjena sprostitev ni obrnjena stran, tako da se ta zoži manj, kot je videti.", + "empty": "Izdaje za ta medij so razvrščene po točkah.", + "addTier": "Dodaj stopnjo", + "removeTier": "Odstrani to stopnjo", + "moveUp": "Premakni to stopnjo navzgor", + "moveDown": "Premakni to stopnjo navzdol", + "tierName": "Ime stopnje", + "newTier": "Stopnja {position}", + "formats": "Oblike", + "files": "Datoteke", + "anyLayout": "Katerikoli", + "minBitrate": "Min kbps", + "minSeeders": "Stroji za sejanje rudnin", + "torrentConditions": "Pogoji za torrent", + "nonTorrentConditions": "Seeder, freeleech in VIP pogoji ne veljajo za izbrane vire.", + "incompatibleTorrentConditions": "Ta stopnja, ki še ni nastavljena, je še vedno shranila pogoje torrenta. Lahko se jih prezre ali pa se jim prepreči ujemanje.", + "removeTorrentConditions": "Odstrani torrent", + "channels": "Kanali", + "anyChannels": "Katerikoli", + "mono": "Mono", + "stereo": "Stereo", + "maxSize": "Max MB", + "languages": "Jeziki", + "indexers": "Viri", + "multiSelectHint": "Izberite eno ali več ali pa pustite prazno, da se omogoči", + "multiSelectAny": "Katerikoli" + }, + "health": { + "ok": "Povezan", + "failed": "Ni dosegljivo", + "untested": "Ni preizkušen", + "disabled": "Onemogočeno", + "testedAt": "testiran {time}", + "failedAt": "spodletelo {time}" + }, + "categoryLabel": "kategorija {category}", + "priorityLabel": "prednost {priority}", + "editClientName": "Uredi {name}", + "sections": { + "connection": "Povezava", + "search": "Kaj iskati", + "access": "Dostop", + "seeding": "Sejanje", + "availability": "Razpoložljivost", + "behaviour": "Obnašanje" + }, + "continueWithType": "Nadaljuj", + "external": "Zunanja", + "editorDescription": "Nastavitve za tega odjemalca.", + "chooseClientType": "Izberite vrsto odjemalca", + "chooseClientTypeHint": "Izberite kateri program BookOrbit roke prenese.", + "clientTypeDescriptions": { + "qbittorrent": "Potrebuje naslov in račun.", + "transmission": "Vaš lasten prenos. Nima kategorij, tako da kategorija postane podmapa svojega imenika za prenos.", + "deluge": "Vpišite se z geslom za spletni uporabniški vmesnik; kategorija potrebuje vstavek za označevanje vklopljen.", + "nzbget": "Vaš NZBGet. BookOrbit pošilja NZB datoteke preko svoje JSON-RPC API.", + "sabnzbd": "Vaš lastni SABnzbd. BookOrbit pošilja NZB datoteke z uporabo svojega API ključa." + }, + "searchHealth": { + "failingOnce": "Zadnje iskanje ni uspelo", + "failingStreak": "{count} iskanje ni uspelo v vrsti", + "lastSearchAt": "Nazadnje preiskano {time}" + } } }, "nav": { "title": "Nastavitve", "ariaLabel": "Sekcije nastavitev", + "breadcrumbLabel": "Kruhovo drobtino", "searchPlaceholder": "Nastavitve iskanja", "clearSearch": "Počisti iskanje", "noResults": "Nobena nastavitev ne ustreza {query}.", "shortcutHint": "Pritisnite {shortcut} za skok na katero koli nastavitev", + "status": { + "scanning": "Skeniranje" + }, "groups": { "you": "Vi", "library": "Knjižnica", "devices": "Naprave in sinhronizacija", + "accounts": "Računi", "server": "Strežnik" }, "descriptions": { @@ -2547,9 +4214,69 @@ "oidc": "Ponudnik enotne prijave, zahtevki in omogočanje.", "serverFonts": "Pisave, nameščene za vsak bralnik na tem strežniku.", "bookDock": "Hitra dejanja, prikazana na straneh knjige.", - "auditLog": "Kdo je kaj spremenil in kdaj." + "auditLog": "Kdo je kaj spremenil in kdaj.", + "requests": "Viri, prenos strank, in kaj se zgodi z knjigo, ko prenese.", + "readerTts": "Glas, hitrost in privzeta pripoved.", + "adminTts": "Stroje za pošiljanje besedil v govor, ki so na voljo vsem bralcem na tem strežniku." }, - "backToApp": "Nazaj v knjižnico" + "backToApp": "Nazaj v knjižnico", + "pageDescriptions": { + "profile": "Vaše ime, fotografija, časovni pas in sledenje dosežkom, plus geslo in ponudniki prijav, povezani s tem računom.", + "appearance-theme": "Izberite, kje so shranjene nastavitve videza, nato pa nastavite slog, barvno shemo, naglas, kote, svetlost površine in vzorec za knjižnico.", + "appearance-book-covers": "Kako naslovnice videti preko aplikacije: prostorske umetnosti za knjige brez, kako pokrovi prilegajo svoje reže, hrbtenici in sijaju učinke, in ovitek odtenek na straneh knjige.", + "appearance-icons": "Naložite svoje ikone za uporabo poleg vgrajenega kompleta za knjižnice, pametne obsege in zbirke.", + "appearance-layout": "Velikosti in razmiki za knjižnično mrežo, naslovnica za sesuto serijo in kako je mreža avtorja postavljena.", + "appearance-behavior": "Kaj odpira knjigo iz mreže ali seznama, ali se serija sesuje v eno karto in ali se na tem računu pojavijo knjižni zahtevki.", + "appearance-language": "Jezik BookOrbit uporablja za menije, oznake in sporočila ter regionalne formate za datume in številke.", + "reader-ebook": "Privzete vrednosti za bralnik e-knjig: ali se nove knjige začnejo z vašimi nastavitvami, pretokom strani in stolpci, temo in tipografijo, kot so pisava, velikost in razmik.", + "reader-pdf": "Kako se PDF odpre: stran po strani ali en neprekinjen zvitek, katera stran začne dvostrano širjenje, in privzeto povečavo fit.", + "reader-comics": "Kako stripi berejo: način branja in smer, eno- ali dvostrankarski razmiki, fit, širokostranska rokovanja in prehitevanje k naslednji knjigi v seriji.", + "reader-audio": "Začetna hitrost in glasnost za nove avdioknjige, in kako daleč skip nazaj in preskočite naprej gumbi skok.", + "reader-fonts": "Naložite svoje pisave za bralnik in izberite, katere pisave, ki jih deli vaš strežnik administrator, se pojavijo v njem.", + "reader-general": "Kjer so shranjene nastavitve bralnika in privzete vrednosti, ki jih deli vsak način branja.", + "tts": "Vaš privzeti glas in hitrost, ko BookOrbit bere knjigo na glas.", + "notifications": "Izberite, kateri dogodki vas obveščajo, od končanih skeniranj in metapodatkov do datotek preimenovanja, uvoz in Dockovi rezultati.", + "privacy": "Odločite se, koliko vaših vodij bralnih dejavnosti lahko vidi, si ogleda vaš skupni profil in preverite, kdo si ga je ogledal.", + "restrictions": "Omejitve vsebine, določene na tem računu, kot so starostne ocene in skrite vsebine, ter tisto, kar hranijo zunaj vaših knjižnic.", + "libraries": "Vsaka knjižnica na pogled: njene mape, kaj drži, kako je skenirana in kdaj je nazadnje tekla. Dodajte, uredite ali preglejte knjižnice tukaj.", + "metadata-providers": "Vklop ali izklop metapodatkovnih virov, dodajanje ključev API ali piškotkov, kjer jih vir potrebuje, in testiranje poverilnic v živo storitev.", + "metadata-field-rules": "Izberite, kateri ponudniki izpolnijo vsako metapodatkovno polje in v kakšnem vrstnem redu, kako se združijo vrednosti ter kako se zberejo žanri in identifikatorji ponudnikov.", + "metadata-custom-fields": "Ustvarite svoja metapodatkovna polja, izberite njihovo vrsto in knjižnice, ki jih uporabljajo, ter jih ponovno naročite ali arhivirajte.", + "metadata-score": "Določite, koliko vsako metapodatkovno polje šteje za rezultat popolnosti, prikazan v vsaki knjigi.", + "metadata-auto-fetch": "Pridobite knjižne metapodatke samodejno, ko so knjige uvožene ali manjkajo podrobnosti, z obvozi za vsako knjižnico.", + "metadata-authors": "Pridobite avtorske biografije in fotografije samodejno, izberite vire vrstnega reda so preizkušeni, in odločite, kateri avtorji izpolnjujejo pogoje.", + "metadata-search-cache": "Naj ponudnik odgovori tako ponavljajoče iskanje so hitro in še vedno deluje, ko je ponudnik dol, in nadzor, kako dolgo in koliko se hrani.", + "metadata-genre-blocklist": "Žanrske vrednosti, ki so naštete tukaj, so odstranjene iz rezultatov ponudnika, preden so napisani metapodatki, zato oznake, kot je Audiobook, ne vnašajte v svoje knjige.", + "metadata-reminders": "Izberite, katera manjkajoča polja se prikažejo v opomnikih. To spremeni samo opomnike, ne pa metapodatkovne rezultate.", + "file-naming": "Vzorci map in imen datotek, ki se uporabljajo, ko BookOrbit preimenuje knjige na disku, s predogledom rezultata in kaj se zgodi, ko manjka vrednost.", + "maintenance": "Strežnik: omejitev velikosti nalaganja, pretekli uvoz, obnovo priporočil, zapolnitev dosežkov in preverjanje posodobitev.", + "kobo": "Povežite kobo e-bralnike, izberite, kako knjige, policah in branje napredek sinhronizacijo, in sledite vsaki napravi je nedavno sinhronizacijo dejavnost.", + "koreader": "Uskladite napredek, branje dejavnost in poudarja s KOReader, dobili sinhronizacijo URL in plugin, in upravljanje naprav, ki se povezujejo.", + "opds": "Vklopi katalog OPDS in ustvari račune, tako da lahko aplikacije za branje tretjih oseb brskajo in prenašajo vaše knjige.", + "email": "Upravljajte naslove, ki so poslani, kot so Kindle inboxes, zazri privzeto eno, in skupine prejemnike, da pošljete več naenkrat.", + "hardcover": "Povežite svoj Hardcover račun in izberite med branjem stanja, napredek in ocene sinhronizacijo, in kako se tam pojavljajo sinhronizirane knjige.", + "readwise": "Povežite svoj račun Readwise, da boste tja poslali svoje vrhunce samodejno.", + "storygraph": "Povežite svoj račun StoryGraf z uporabo piškotkov seje brskalnika za sinhronizacijo napredka in stanja branja.", + "users": "Ustvarjanje in upravljanje računov, njihove vloge, dovoljenja in dostop do knjižnice, in videli, katere račune je treba pozornost.", + "account-activity": "Oglejte si, kdaj je bil vsak račun nazadnje aktiven in kako se vpiše, ter odprite vpoglede na uporabnika in seje.", + "magic-links": "Ustvarite skupne povezave, ki se vpišejo v nekoga brez gesla, in jih prekličete, ko niso več potrebni.", + "oidc": "Povežite enega ponudnika podpisa, kot je Keycloak, mapirajte njegove zahtevke in se odločite, kako se ustvarjajo novi računi.", + "requests": "Kjer BookOrbit išče zahtevane knjige, ki prenesete stranke, jih prinesejo in kaj se zgodi, ko se prenos konča.", + "admin-tts": "Čitalniki tekst-do-govora lahko uporabljajo za branje-glas, glasove, ki jih ponujajo od vsakega, in vrstni red, v katerem se pojavljajo.", + "book-dock": "Mapa s spustom Dock knjige, samodejni metapodatki, ki iščejo nove datoteke, in rezultat, na katerem so datoteke zaključene same.", + "server-fonts": "Naloži pisave enkrat za vsakega bralca na strežnik. Vsak bralec lahko še vedno skrije katero koli od njih.", + "audit-log": "Iskanje zapis, kdo je spremenil kaj in kdaj, filtrirajo po dogodku, oseba, prizadet predmet in datum." + } + }, + "field": { + "required": "(zahtevano)" + }, + "editor": { + "discardTitle": "Zavrzite spremembe?", + "discardDescription": "Ta urednik ima spremembe, ki jih ni nikoli rešil. Zapiranje jih zdaj zavrže.", + "discardConfirm": "Zavrzi spremembe", + "moreActions": "Več ukrepov", + "removeQuestion": "Odstranim to?" } }, "achievements": { @@ -2574,6 +4301,201 @@ "earned": "Doseženo ({count})", "inProgress": "V teku ({count})", "locked": "Zaklenjeno ({count})" + }, + "tiersEarnedFact": "{earned} m {total} Stopnje", + "loading": "Nalaganje dosežkov", + "filters": { + "label": "Dosežki filtra", + "all": "Vse", + "earned": "Prisluženi", + "inProgress": "V teku", + "locked": "Zaklenjeno" + }, + "showcase": { + "label": "Poudarki", + "latest": "Zadnje odklepanje", + "newToday": "{count,plural,one{# nov danes} two{# nov danes} few{# nov danes} other{# nov danes}}", + "secretRevealed": "Skrivnost razkrita", + "categoryAndDate": "{category} · {date}", + "alsoNew": "Tudi novo", + "openMedal": "Odpri {name}", + "emptyTitle": "Tvoja prva medalja čaka.", + "emptyBody": "Končaj knjigo, oceni eno ali pa osvetli odlomek in pristane tukaj.", + "collection": "Zbiranje", + "shareOfTiers": "{percent} vseh stopenj", + "tiersEarned": "{earned} m {total} Zasluženi deleži", + "closest": "Najbližje odklepanje", + "allInProgress": "Vse {count}", + "tierOfSet": "Stopnja {tier} m {set}", + "nothingCounting": "Nič še ne šteje do medalje." + }, + "shelf": { + "tiers": "{earned} / {total}", + "progressLabel": "{category} Zasluženi deleži" + }, + "medal": { + "label": "{name}, {rarity}, {status}", + "tier": "Stopnja {tier}", + "allTiers": "{count,plural,one{Edina stopnja} two{Vse # Stopnje} few{Vse # Stopnje} other{Vse # Stopnje}}", + "keepReading": "Nadaljuj branje", + "notStarted": "Ni zagnano" + }, + "progress": { + "generic": "{current} / {threshold}", + "toGo": "{count,plural,one{# da bi šel} two{# da bi šel} few{# da bi šel} other{# da bi šel}}" + }, + "hints": { + "howToGetIt": "Kako priti do njega?", + "readingPace": "{count,plural,one{-Brala si. # ura v zadnjem {days} dni.} two{-Brala si. # ur v zadnjih {days} dni.} few{-Brala si. # ur v zadnjih {days} dni.} other{-Brala si. # ur v zadnjih {days} dni.}}", + "etaDays": "{count,plural,one{O programu # Dan v tem tempu.} two{O programu # Dneve v tem tempu.} few{O programu # Dneve v tem tempu.} other{O programu # Dneve v tem tempu.}}", + "etaWeeks": "{count,plural,one{O programu # Teden v tem tempu.} two{O programu # tednov s tem tempom.} few{O programu # tednov s tem tempom.} other{O programu # tednov s tem tempom.}}", + "etaMonths": "{count,plural,one{O programu # Mesec je tak.} two{O programu # mesece s tem tempom.} few{O programu # mesece s tem tempom.} other{O programu # mesece s tem tempom.}}", + "decadeUnread": "{count,plural,one{# Knjiga iz {decade}S čaka na vaših policah.} two{# knjige iz {decade}S čakajo na vaših policah.} few{# knjige iz {decade}S čakajo na vaših policah.} other{# knjige iz {decade}S čakajo na vaših policah.}}", + "centuryUnread": "{count,plural,one{# Knjiga iz {century}S čaka na vaših policah.} two{# knjige iz {century}S čakajo na vaših policah.} few{# knjige iz {century}S čakajo na vaših policah.} other{# knjige iz {century}S čakajo na vaših policah.}}", + "stalled": "{title} m {percent} je bral in se začel {date}.", + "stalledNoProgress": "{title} je bilo začeto {date}.", + "untitledBook": "Knjiga v teku", + "nearlyFinished": "{count,plural,one{# knjige, ki se izvajajo, je že konec. {percent}.} two{# knjige, ki se že izvajajo, so preteklost {percent}.} few{# knjige, ki se že izvajajo, so preteklost {percent}.} other{# knjige, ki se že izvajajo, so preteklost {percent}.}}", + "unratedFinished": "{count,plural,one{# Knjiga, ki si jo končal, še nima ocene.} two{# Knjige, ki si jih končal, še nimajo ocene.} few{# Knjige, ki si jih končal, še nimajo ocene.} other{# Knjige, ki si jih končal, še nimajo ocene.}}", + "shortBooks": "{count,plural,one{# knjigo pod {pages} Strani čakajo na vaših policah.} two{# knjige pod {pages} Strani čakajo na vaših policah.} few{# knjige pod {pages} Strani čakajo na vaših policah.} other{# knjige pod {pages} Strani čakajo na vaših policah.}}", + "alreadyStarted": "{count,plural,one{# je že v teku.} two{# so že v teku.} few{# so že v teku.} other{# so že v teku.}}", + "longBooks": "{count,plural,one{# knjiga {pages} Strani ali več vas čaka na policah.} two{# knjig {pages} Strani ali več vas čakajo na policah.} few{# knjig {pages} Strani ali več vas čakajo na policah.} other{# knjig {pages} Strani ali več vas čakajo na policah.}}", + "oldBooks": "{count,plural,one{# knjiga, objavljena pred {year} Čaka na vaših policah.} two{# knjige, objavljene pred tem {year} čakajo na vaših policah.} few{# knjige, objavljene pred tem {year} čakajo na vaših policah.} other{# knjige, objavljene pred tem {year} čakajo na vaših policah.}}", + "authorUnread": "{author}: {finished,plural,one{# dokončan} two{# dokončan} few{# dokončan} other{# dokončan}}, {count,plural,one{# več na vaših policah} two{# več na vaših policah} few{# več na vaših policah} other{# več na vaših policah}}.", + "languageUnread": "{count,plural,one{# knjigo v {language} Čaka na vaših policah.} two{# knjige v {language} čakajo na vaših policah.} few{# knjige v {language} čakajo na vaših policah.} other{# knjige v {language} čakajo na vaših policah.}}", + "monthsRead": "{count,plural,one{Prebrali ste: # mesec {year} Zaenkrat.} two{Prebrali ste: # mesecev {year} Zaenkrat.} few{Prebrali ste: # mesecev {year} Zaenkrat.} other{Prebrali ste: # mesecev {year} Zaenkrat.}}", + "monthsLeft": "{count,plural,one{{months} je levo.} two{{months} levo.} few{{months} levo.} other{{months} levo.}}", + "noLongBook": "Nobena knjiga na vaših policah nima {pages} Strani ali še več.", + "nothingBeforeYear": "Nič na vaših policah ni bilo objavljeno pred tem. {year}.", + "tooFewDecades": "{count,plural,one{Vaše police se raztezajo samo # Desetletje do zdaj.} two{Vaše police se raztezajo samo # Desetletja do zdaj.} few{Vaše police se raztezajo samo # Desetletja do zdaj.} other{Vaše police se raztezajo samo # Desetletja do zdaj.}}", + "tooFewCenturies": "{count,plural,one{Vaše police se raztezajo samo # Stoletje do sedaj.} two{Vaše police se raztezajo samo # Stoletja.} few{Vaše police se raztezajo samo # Stoletja.} other{Vaše police se raztezajo samo # Stoletja.}}", + "missedMonth": "Niste prebrali {month}, tako {year} Število se začne januarja.", + "continueReading": "Nadaljuj branje", + "rateFinished": "Oceni končno knjigo", + "viewAuthor": "Avtor prikaza", + "openBook": "Odpri {title}", + "openUntitledBook": "Odpri knjigo" + }, + "sets": { + "booksFinished": "Knjige končane", + "pagesRead": "Strani se berejo", + "hoursRead": "Ure branja", + "longestBook": "Najdaljša končana knjiga", + "librarySize": "Velikost knjižnice", + "annotations": "Zabeležke", + "booksRated": "Ocenjene knjige", + "genresFinished": "Žanr je končan", + "languagesFinished": "Jeziki zaključeni", + "readingStreak": "Branje" + }, + "units": { + "books": { + "progress": "{current} / {threshold} knjige", + "toGo": "{count,plural,one{# Knjiga za odhod} two{# knjige za odhod} few{# knjige za odhod} other{# knjige za odhod}}" + }, + "pages": { + "progress": "{current} / {threshold} strani", + "toGo": "{count,plural,one{# Stran za odhod} two{# Strani za odhod} few{# Strani za odhod} other{# Strani za odhod}}" + }, + "hours": { + "progress": "{current} / {threshold} ure", + "toGo": "{count,plural,one{# še ura do konca} two{# ure do konca} few{# ure do konca} other{# ure do konca}}" + }, + "annotations": { + "progress": "{current} / {threshold} zabeležke", + "toGo": "{count,plural,one{# opomba za odhod} two{# opombe za odhod} few{# opombe za odhod} other{# opombe za odhod}}" + }, + "ratings": { + "progress": "{current} / {threshold} ocene", + "toGo": "{count,plural,one{# ocena za odhod} two{# Bonitetne ocene za odpravo} few{# Bonitetne ocene za odpravo} other{# Bonitetne ocene za odpravo}}" + }, + "genres": { + "progress": "{current} / {threshold} žanri", + "toGo": "{count,plural,one{# žanr za odhod} two{# žanri za odhod} few{# žanri za odhod} other{# žanri za odhod}}" + }, + "languages": { + "progress": "{current} / {threshold} jeziki", + "toGo": "{count,plural,one{# jezik za odhod} two{# jeziki za odhod} few{# jeziki za odhod} other{# jeziki za odhod}}" + }, + "days": { + "progress": "{current} / {threshold} dni", + "toGo": "{count,plural,one{# dan za odhod} two{# dni do konca} few{# dni do konca} other{# dni do konca}}" + } + }, + "moments": { + "nthBook": "Knjiga {number} je bilo {title}", + "pagesAtUnlock": "{count,plural,one{# Stran} two{# strani} few{# strani} other{# strani}} ko je odklenilo", + "hoursAtUnlock": "{count,plural,one{# ura} two{# ure} few{# ure} other{# ure}} ko je odklenilo", + "titleWithPages": "{title}, {count,plural,one{# Stran} two{# strani} few{# strani} other{# strani}}", + "booksAtUnlock": "{count,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}} v knjižnici, ko je odklenjena", + "annotationsAtUnlock": "{count,plural,one{# zaznamek} two{# zabeležke} few{# zabeležke} other{# zabeležke}} ko je odklenilo", + "ratingsAtUnlock": "{count,plural,one{# ocena} two{# ocene} few{# ocene} other{# ocene}} ko je odklenilo", + "genresAtUnlock": "{count,plural,one{# žanr} two{# žanri} few{# žanri} other{# žanri}} ko je odklenilo", + "languagesAtUnlock": "{count,plural,one{# jezik} two{# jeziki} few{# jeziki} other{# jeziki}} ko je odklenilo", + "streakAtUnlock": "{count,plural,one{# dan} two{# dni} few{# dni} other{# dni}} v vrsti v tistem času", + "longSession": "Eno zasedanje je potekalo {duration}", + "durationHours": "{hours} h {minutes} min.", + "durationMinutes": "{minutes} min.", + "sessionStartedAt": "Seja, ki se je začela na {time}", + "oneDayBook": "{title}, začnite končati v enem dnevu", + "booksInWeek": "{count,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}} konča v enem tednu", + "booksInMonth": "{count,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}} dokončana {month}", + "booksInYear": "{count,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}} dokončana {year}", + "wholeBookOneSession": "Cela knjiga v eni seji", + "pagesInSession": "{count,plural,one{# Stran} two{# strani} few{# strani} other{# strani}} v enem zasedanju", + "pagesInDay": "{count,plural,one{# Stran} two{# strani} few{# strani} other{# strani}} v enem dnevu", + "slowBurn": "{title}, končano po {count,plural,one{# dan} two{# dni} few{# dni} other{# dni}}", + "formatsOwned": "{count,plural,one{# oblika} two{# formati} few{# formati} other{# formati}} na vaših policah", + "annotationsWithNote": "{count,plural,one{# zaznamek} two{# zabeležke} few{# zabeležke} other{# zabeležke}} z opombo", + "annotationsInDay": "{count,plural,one{# zaznamek} two{# zabeležke} few{# zabeležke} other{# zabeležke}} v enem dnevu", + "everyStar": "Vsaka ocena od ene zvezde do pet", + "everyColour": "Vsaka uporabljena barva poudarjanja", + "titlePublished": "{title}, objavljeno {year}", + "booksInGenre": "{count,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}} v enem žanru", + "firstInSeries": "{title}, iz {series} serija", + "centuries": "Knjige iz {count,plural,one{# stoletje} two{# stoletja} few{# stoletja} other{# stoletja}}", + "booksBySameAuthor": "{count,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}} avtor", + "decades": "Knjige iz {count,plural,one{# desetletje} two{# desetletja} few{# desetletja} other{# desetletja}}", + "shortBooks": "{count,plural,one{# kratka knjiga} two{# kratke knjige} few{# kratke knjige} other{# kratke knjige}} dokončan", + "allSeasons": "Vse štiri sezone {year}", + "consistentDays": "{count,plural,one{# dan} two{# dni} few{# dni} other{# dni}} 30 minut ali več", + "weekendsInRow": "{count,plural,one{# vikend} two{# vikendi} few{# vikendi} other{# vikendi}} v vrsti", + "weekendHours": "{count,plural,one{# ura} two{# ure} few{# ure} other{# ure}} med vikendom {date}", + "categoriesCovered": "{count,plural,one{# kategorija} two{# kategorije} few{# kategorije} other{# kategorije}} z dosežkom", + "readingSources": "{count,plural,one{# vir branja} two{# viri branja} few{# viri branja} other{# viri branja}}", + "oneBookSources": "Ena knjiga, ki se bere iz {count,plural,one{# vir} two{# viri} few{# viri} other{# viri}}" + }, + "records": { + "title": "Zapisna knjiga", + "subtitle": "Številke za tvojimi medaljami, kot so stale, ko so bile odklenjene.", + "value": "{value}", + "oneSession": "Ena bralna seja", + "pagesInSession": "Strani v eni seji", + "pagesInDay": "Strani v enem dnevu", + "booksInWeek": "Knjige v enem tednu", + "booksInMonth": "Knjige v {month}", + "booksInYear": "Knjige končane {year}", + "annotations": "Zabeležke", + "genresFinished": "Žanr je končan", + "daysInRow": "Dnevi zapored", + "booksInLibrary": "Knjige v vaši knjižnici" + }, + "detail": { + "categoryTierSet": "{category} · Stopnja set", + "secretHint": "Beri naprej, da boš to razkril.", + "tierOf": "Stopnja {earned} m {total}", + "current": "Sedanji", + "noneYet": "-Ne še.", + "progress": "Napredek", + "allTiersEarned": "Vsaka stopnja zasluži", + "tiers": "Stopnje", + "earned": "Prisluženi", + "status": "Stanje", + "hidden": "Skrito", + "rarity": "Rarity", + "category": "Kategorija", + "theSet": "Komplet", + "theMoment": "Trenutek." } }, "adminFeature": { @@ -2662,6 +4584,7 @@ "web": "Spletni bralnik", "ios": "iOS app", "watchos": "Apple Watch", + "android": "Aplikacija Android", "koreader": "KOReader", "manual": "Ročno", "kobo": "Kobo", @@ -2739,14 +4662,47 @@ "presetClearAll": "Počisti vse", "permissionGroups": { "content": "Vsebina", + "podcasts": "Podcasti", "devicesAccess": "Naprave in dostop", "email": "E-pošta", "administration": "Administracija", "notifications": "Obvestila", - "restrictions": "Omejitve" + "restrictions": "Omejitve", + "libraryBooks": "Knjižnice in knjige", + "bookRequests": "Zahtevki za knjigo", + "bookDock": "Knjižna doka", + "devices": "Naprave", + "readingIntegrations": "Branje integracije", + "emailNotifications": "& Obvestila po e- pošti", + "libraryConfiguration": "Nastavitve knjižnice", + "usersSecurity": "Uporabniki in varnost", + "system": "Sistem" }, + "permissionLevels": { + "use": "Uporaba", + "manage": "Upravljaj" + }, + "accountRestrictions": "Omejitve računa", + "demoRestrictedHint": "Omeji ta račun na omejeno demo izkušnjo.", "superuserTarget": "Cilj superuporabnika", "superuserTargetHint": "Omejitev vsebine ni mogoče uporabiti za superuporabnike.", + "superuserAccess": { + "title": "Dostop superuporabnika", + "enabled": "Omogočeno", + "disabled": "Onemogočeno", + "enabledHint": "Ta račun ima neomejen dostop do strežnika. Njegova shranjena dovoljenja, knjižnice, in omejitve bodo ponovno velja po demotion.", + "disabledHint": "Promocija omogoča neomejen dostop strežnika in zaobide dovoljenja, knjižnične naloge in omejitve vsebine.", + "selfHint": "Ne moreš spremeniti svojega dostopa do superuporabnika.", + "sharedHint": "Deljeni računi se ne morejo spodbujati za superuporabnike.", + "promote": "Spodbujanje superuporabniku", + "demote": "Odstrani dostop superuporabnika", + "promoteDialogTitle": "Spodbujati za superuporabnika?", + "promoteDialogBody": "Dotacija {name} Nepreklicen dostop do strežnika. Njihove aktivne seje se bodo končale in se bodo morale ponovno vpisati.", + "demoteDialogTitle": "Odstraniti dostop superuporabnika?", + "demoteDialogBody": "Odstrani neomejen dostop iz {name}. Njihova shranjena dovoljenja, knjižnice, in omejitve bodo začeli veljati, in se morajo ponovno vpisati.", + "changing": "Posodabljanje dostopa...", + "changeError": "Ni uspelo posodobiti dostopa superuporabnika. Znova naložite račun in poskusite znova." + }, "noRestrictions": "Brez omejitev vsebine", "noRestrictionsHint": "Ta uporabnik ima poln dostop do vseh knjig v svojih dodeljenih knjižnicah.", "addRestrictions": "+ Dodaj omejitve vsebine", @@ -2760,6 +4716,8 @@ "includeGenresHint": "(prikaži samo knjige s temi žanri)", "excludeGenres": "Izključi žanre", "excludeGenresHint": "(skrij knjige s temi žanri)", + "seeOwnRequestedBooks": "Naj ta uporabnik vidi knjige, ki so jih zahtevali", + "seeOwnRequestedBooksHint": "Knjige, ki so prispele skozi lastne knjige, se ne menijo za zgoraj navedena pravila.", "searchTagsPlaceholder": "Iskanje oznak ...", "searchGenresPlaceholder": "Iskanje žanrov ...", "saving": "Shranjevanje ...", @@ -2770,8 +4728,67 @@ "updateContentFilters": "Posodobitev filtrov vsebine ni uspela", "emailRequired": "E-pošta je obvezna", "createSharedAccount": "Ustvarjanje skupnega računa ni uspelo", - "createUser": "Ustvarjanje uporabnika ni uspelo" - } + "createUser": "Ustvarjanje uporabnika ni uspelo", + "nameRequired": "Polno ime je potrebno", + "usernameRequired": "Uporabniško ime je potrebno" + }, + "drawerDescription": "Uredite profil tega računa, dostop do knjižnice, dovoljenja in omejitve.", + "createHint": "Novi računi nimajo dovoljenja, dokler jih ne izdate.", + "sectionsLabel": "Nastavitve računa", + "sections": { + "profile": "Profil", + "libraries": "Knjižnice", + "permissions": "Dovoljenja", + "restrictions": "Omejitve" + }, + "sectionSummary": { + "newAccount": "Ni še ustvarjeno", + "libraries": "{selected} m {total}", + "permissions": "{count,plural,one{1 odobreno} two{# odobren} few{# odobren} other{# odobren} =0{Brez dovoljenj}}", + "restrictionsNone": "Brez", + "restrictionsContent": "Vsebinski filtri", + "restrictionsDemo": "Demo omejena", + "restrictionsBoth": "Filtri in demo način" + }, + "account": "Račun", + "status": "Stanje", + "statusHint": "Zapozneli uporabniki se ne morejo vpisati v naprave ali jih sinhronizirati.", + "signInMethod": "Vpis", + "signInMethods": { + "password": "Geslo", + "oidc": "Enojna vpisnica", + "shared": "Magična povezava" + }, + "created": "Ustvarjeno", + "lockedUntil": "Zaklenjeno do {time}", + "lockedHint": "Preveč neuspelih poskusov prijave. Odklenite s seznama uporabnikov.", + "usernameFixedHint": "Uporabniških imen ni mogoče spremeniti.", + "emailHint": "Uporablja se za ponastavitev gesel in obvestil.", + "libraryAccessHint": "Knjige zunaj teh knjižnic so za tega uporabnika nevidne.", + "selectAll": "Izberi vse", + "clearAll": "Počisti", + "permissionsHint": "Kaj je ta račun dovoljeno storiti. {granted} m {total} odobren.", + "groupLegend": "{group}: {granted} m {total} odobren", + "presets": { + "label": "Prednastavitev dovoljenja", + "none": "Brez", + "standard": "Standardna", + "custom": "Po meri", + "admin": "Skrbnik", + "customHint": "Ta izbira se ne ujema s prednastavljenim." + }, + "filterPermissions": "Dovoljenja za filtriranje", + "grantedOnly": "Samo odobrena", + "noPermissionMatches": "Ni dovoljenja, ki bi se ujemalo s filtrom.", + "clearFilters": "Počisti filtre", + "filteredNotice": "Dovoljenja, ki so skrita, obdržijo trenutno nastavitev.", + "contentRestrictionsHint": "Omeji, katere knjige lahko ta uporabnik vidi, po oznaki ali žanru.", + "contentRestrictionsAfterCreate": "Vsebinske omejitve se lahko določijo, ko račun obstaja.", + "unsavedChanges": "{count,plural,one{1 neshranjena sprememba} two{# neshranjene spremembe} few{# neshranjene spremembe} other{# neshranjene spremembe}}", + "libraryBookCount": "{count,plural,one{1 knjiga} two{# knjige} few{# knjige} other{# knjige} =0{Brez knjig}}", + "dangerZone": "Nevarno območje", + "deleteUserHint": "Ta račun in njegove podatke za branje trajno odstrani. Knjige v knjižnici niso prizadete.", + "libraryReach": "Ta račun lahko vidi {selected} m {total} knjige." }, "usersPage": { "usersTitle": "Uporabniki", @@ -2783,7 +4800,10 @@ "email": "E-pošta", "access": "Dostop", "status": "Stanje", - "actions": "Dejanja" + "actions": "Dejanja", + "user": "Uporabnik", + "libraries": "Knjižnice", + "lastActive": "Zadnje aktivno" }, "adminBadge": "Skrbnik", "permissionCount": "{count, plural, =0 {brez dovoljenj} one {eno dovoljenje} two {# dovoljenj} few {# dovoljenj} other {# dovoljenj}}", @@ -2800,6 +4820,7 @@ "resetPasswordSharedHint": "Skupni računi nimajo gesel", "resetPasswordOidcHintFull": "Uporabniki OIDC ponastavijo gesla pri svojem ponudniku identitete.", "resetPasswordSharedHintFull": "Skupni računi nimajo gesel.", + "resetPasswordDisabledHintFull": "Overovitev gesla je onemogočena zaradi nastavitve strežnika.", "deleteUserAction": "Izbriši uporabnika", "deleteDialogTitle": "Izbrišem uporabnika?", "deleteDialogBody": "Izbriši uporabnika \"{username}\". Tega dejanja ni mogoče razveljaviti.", @@ -2846,12 +4867,66 @@ }, "pagination": { "label": "Številčenje strani seznama uporabnikov", - "page": "Stran {page} od {totalPages}" + "page": "Stran {page} od {totalPages}", + "showing": "Prikaz {shown} m {total} Računi" }, "editUserAria": "Uredi {name}", "resetPasswordAria": "Ponastavi geslo za {name}", "deleteUserAria": "Izbriši {name}", - "moreActionsAria": "Več dejanj za {name}" + "moreActionsAria": "Več dejanj za {name}", + "headerSummary": "{count,plural,one{# račun} two{# Računi} few{# Računi} other{# Računi} =0{Brez računov}} · {admins} z administratorskim dostopom", + "noEmail": "Brez naslova", + "editAccount": "Uredi račun", + "cardMeta": "{access} · {libraries} · {lastActive}", + "accessTier": { + "superuser": "Superuporabnik", + "admin": "Skrbnik", + "standard": "Standardna", + "custom": "Po meri", + "none": "Brez dostopa" + }, + "libraries": { + "all": "Vse {total}", + "some": "{granted} m {total}" + }, + "statusLocked": "Zaklenjeno", + "status": { + "never": "Nikoli", + "neverSignedIn": "Nikoli se ni prijavila.", + "defaultPassword": "Privzeto geslo", + "contentFiltered": "Vsebina filtrirana", + "unlocksIn": "Odkleni {when}" + }, + "attention": { + "title": "Potrebuje pozornost", + "count": "{count,plural,one{# račun} two{# Računi} few{# Računi} other{# Računi}}", + "filter": "{count,plural,one{# potrebuje pozornost.} two{# je treba nameniti pozornost} few{# je treba nameniti pozornost} other{# je treba nameniti pozornost}}", + "more": "{count} več tukaj ni prikazano", + "reason": { + "locked": "{name} je zaklenjen po preveč neuspešnih vpisih", + "neverSignedIn": "{name} se ni nikoli prijavila", + "defaultPassword": "{name} še vedno uporablja geslo, s katerim je bil račun ustvarjen" + }, + "detail": { + "unlocksIn": "Samodejno odkleni {when}", + "created": "Ustvarjeno {when}", + "linkExpired": "Ustvarjeno {when} · povezava z vpisom je potekla", + "linkValid": "Ustvarjeno {when} · povezava za prijavo velja do {expiry}" + }, + "action": { + "unlock": "Odkleni zdaj", + "sendResetLink": "Pošlji povezavo za reset", + "sendNewLink": "Pošlji novo povezavo" + }, + "collapse": "Skrij", + "expand": "Prikaži" + }, + "defaults": { + "title": "Zapadle obveznosti za nove račune", + "appliesTo": "Uporablja se za samoregistracijo in OIDC", + "startingLibraries": "Zaganjanje knjižnic", + "startingLibrariesHint": "Dostop pregledovalca je samodejno odobren na vsak nov račun." + } } }, "annotations": { @@ -2976,7 +5051,16 @@ "noMatch": "Noben poudarek ne ustreza vašim filtrom.", "resetFilters": "Ponastavi filtre", "trashEmpty": "Koš je prazen", - "noAnnotations": "Še ni zaznamkov. Poudarki, ki jih ustvarite v spletu ali na bralniku, se pojavijo tukaj." + "noAnnotations": "Še ni zaznamkov. Poudarki, ki jih ustvarite v spletu ali na bralniku, se pojavijo tukaj.", + "noMatchHint": "Poskusite krajše fraze, ali pa očistite barvo in filtre za knjige.", + "noAnnotationsBody": "Vse kar označite, v katerikoli knjigi in na napravi, zbira tukaj.", + "readHere": "Preberite tukaj.", + "readHereBody": "Izberite besedilo v bralniku in izberite barvo.", + "syncKobo": "Uskladi a Kobo", + "syncKoboBody": "Oznake na napravi prihajajo na naslednjo sinhronizacijo.", + "syncKoreader": "Uskladi KOReader", + "syncKoreaderBody": "Vstavek naloži zapiske s svojimi položaji.", + "goToLibrary": "Pojdi v knjižnico." }, "toast": { "movedToTrash": "Premaknjeno v koš", @@ -2986,8 +5070,70 @@ "bulkTrashed": "{count, plural, =0 {V koš ni premaknjenih zaznamkov} one {V koš je premaknjen # zaznamek} two {V koš je premaknjenih # zaznamkov} few {V koš je premaknjenih # zaznamkov} other {V koš je premaknjenih # zaznamkov}}", "bulkRestored": "{count, plural, =0 {Obnovljenih ni zaznamkov} one {Obnovljen je # zaznamek} two {Obnovljenih je # zaznamkov} few {Obnovljenih je # zaznamkov} other {Obnovljenih je # zaznamkov}}", "bulkRecolored": "{count, plural, =0 {Barva ni spremenjena za noben zaznamek} one {Barva je spremenjena za # zaznamek} two {Barva je spremenjena za # zaznamkov} few {Barva je spremenjena za # zaznamkov} other {Barva je spremenjena za # zaznamkov}}", - "bulkRestyled": "{count, plural, =0 {Slog ni spremenjen za noben zaznamek} one {Slog je spremenjen za # zaznamek} two {Slog je spremenjen za # zaznamkov} few {Slog je spremenjen za # zaznamkov} other {Slog je spremenjen za # zaznamkov}}" - } + "bulkRestyled": "{count, plural, =0 {Slog ni spremenjen za noben zaznamek} one {Slog je spremenjen za # zaznamek} two {Slog je spremenjen za # zaznamkov} few {Slog je spremenjen za # zaznamkov} other {Slog je spremenjen za # zaznamkov}}", + "noteSaved": "Shranjena nota" + }, + "railTitle": "{marks} oznake · {books} knjige", + "lastTwelveMonths": "Zadnjih 12 mesecev", + "colour": "Barvno", + "whereFrom": "Od kod so prišli?", + "theShelf": "Polica", + "devices": "Naprave", + "allBooks": "Vse {count} knjige", + "behindCount": "{count,plural,one{# zadaj} two{# zadaj} few{# zadaj} other{# zadaj}}", + "busiestWeek": "Najzaposlitevnejši teden", + "longestQuiet": "Najdaljši tihi odsek", + "mostMarked": "Najbolj označena", + "weekCount": "{count,plural,one{# teden} two{# tednov} few{# tednov} other{# tednov}}", + "anchorsUnplaced": "{count,plural,one{# sidra ni bilo moč namestiti} two{# sidra ni bilo moč postaviti} few{# sidra ni bilo moč postaviti} other{# sidra ni bilo moč postaviti}}", + "reviewThem": "-Preveri jih.", + "anchorLost": "Sidro je izgubilo", + "anchorRepaired": "Popravila", + "notes": "Opombe", + "review": "Pregled", + "viewLabel": "Skupina in sortiranje", + "views": { + "newest": "Najnovejši prvi", + "oldest": "Najstarejše prvo", + "book": "Po knjigi", + "color": "Barvno", + "source": "Po viru" + }, + "matchCount": "{shown} m {total}", + "moreActions": "Več ukrepov", + "loadMore": "{count,plural,one{Naloži še 1} two{Naloži # več} few{Naloži # več} other{Naloži # več}}", + "openBook": "Odpri knjigo", + "noteLabel": "Opomba", + "yourNote": "Tvoje sporočilo.", + "notePlaceholder": "Povej, zakaj je to pomembno.", + "openAtThisPage": "Odpri na tej strani", + "positionAndSync": "Položaj in uskladitev", + "loadFailed": "Ni moč naložiti vrhuncev. Poskusite znova v trenutku.", + "chips": { + "dateBetween": "{from} do {to}", + "dateFrom": "Od {from}", + "dateUntil": "Dokler {to}" + }, + "activitySummary": "{count,plural,one{# Poudari med {from} ter {to}} two{# Poudarek med {from} ter {to}} few{# Poudarek med {from} ter {to}} other{# Poudarek med {from} ter {to}}}", + "book": "Knjiga", + "needsReview": "Potrebe po pregledu" + }, + "sources": { + "web": "Splet", + "koreader": "KOReader", + "kobo": "Kobo" + }, + "colors": { + "yellow": "Rumena", + "green": "Zelena", + "blue": "Modra", + "pink": "Roza", + "orange": "Oranžna", + "red": "Rdeča", + "olive": "Olive", + "cyan": "Sinja", + "purple": "škrlatno", + "gray": "Siva" } }, "audit": { @@ -3081,7 +5227,13 @@ "user": "Uporabnik", "action": "Dejanje", "description": "Opis", - "ip": "IP" + "ip": "IP", + "time": "Čas", + "person": "Oseba", + "source": "Vir", + "open": "Odpri", + "network": "Omrežje", + "activity": "Dejavnost" }, "categories": { "authentication": "Avtentikacija", @@ -3091,7 +5243,10 @@ "collections": "Zbirke", "integrations": "Integracije", "settings": "Nastavitve", - "other": "Drugo" + "other": "Drugo", + "access": "Dostop do vpisov", + "requests": "Zahtevki", + "devices": "Naprave in e- pošta" }, "resourceLabels": { "User": "Uporabnik", @@ -3102,6 +5257,9 @@ "Collection": "Zbirka", "SmartScope": "Pametni obseg", "BookDockFile": "Datoteka v odložišču knjig", + "BookRequest": "Zahteva za knjigo", + "DownloadClient": "Prenesi odjemalca", + "RequestIndexer": "Indekser", "Author": "Avtor", "AppSettings": "Nastavitve aplikacije", "Genre": "Žanr", @@ -3159,6 +5317,7 @@ "LibraryAccessRevoke": "Preklic dostopa do knjižnice", "LibraryWriteMetadataToFiles": "Zapisovanje metapodatkov v datoteke", "LibraryBulkRename": "Preimenuj datoteke knjižnice", + "LibraryRecomputeAddedAt": "Ponavljaj dodan datum", "PodcastCreate": "Create podcast", "PodcastUpdate": "Update podcast", "PodcastArchive": "Archive podcast", @@ -3195,6 +5354,24 @@ "SmartScopeUpdate": "Posodobi pametni obseg", "SmartScopeDelete": "Izbriši pametni obseg", "BookDockFinalize": "Dokončaj datoteke v odložišči knjig", + "BookRequestCreate": "Ustvari zahtevo za knjigo", + "BookRequestApprove": "Zahtevek za odobritev knjige", + "BookRequestReject": "Zavrni zahtevo za knjigo", + "BookRequestCancel": "Prekliči zahtevo za knjigo", + "BookRequestFulfill": "Zahteva za knjigo Fulfil", + "BookRequestGrab": "Pošlji zahtevo za knjigo odjemalcu za prenos", + "BookRequestImport": "Uvozi zahtevo za knjigo", + "BookRequestRemoveDownload": "Odstrani prenos zahteve za knjigo iz odjemalca", + "BookRequestDelete": "Zbriši zahtevo za knjigo", + "DownloadClientCreate": "Ustvari odjemalca za prenos", + "DownloadClientUpdate": "Posodobi odjemalca prejemanja", + "DownloadClientDelete": "Zbriši odjemalca prejemanja", + "RequestIndexerCreate": "Indekser dodan", + "RequestIndexerUpdate": "Indekser posodobljen", + "RequestIndexerDelete": "Vir izbrisan", + "RequestIndexerPluginInspect": "Pregledani vstavek za indekser", + "RequestIndexerPluginInstall": "Nameščen vstavek za indekserName", + "RequestIndexerPluginRemove": "Vstavek za indekser je izbrisan", "AuthorUpdate": "Posodobi avtorja", "AuthorDelete": "Izbriši avtorja", "AuthorMerge": "Združi avtorje", @@ -3229,11 +5406,182 @@ "EmailRecipientGroupUpdate": "Posodobi skupino prejemnikov", "EmailRecipientGroupDelete": "Izbriši skupino prejemnikov", "EmailRecipientGroupMemberAdd": "Dodaj prejemnika v skupino", - "EmailRecipientGroupMemberRemove": "Odstrani prejemnika iz skupine" - } + "EmailRecipientGroupMemberRemove": "Odstrani prejemnika iz skupine", + "MaintenanceMissingBooksClean": "Počistite manjkajoče knjige", + "MaintenanceBrokenCoversClean": "Čiste lomljene prevleke", + "MaintenanceOrphanedCoversClean": "Počistite mape s krinkami sirotami" + }, + "views": { + "label": "Prikaži", + "changes": "Spremembe", + "signins": "Vpisi", + "security": "Varnost", + "all": "Vse" + }, + "search": { + "label": "Iskanje dogodkov", + "placeholder": "Iskanje ljudi, ciljev ali IP naslovi", + "placeholderShort": "Iskanje dogodkov" + }, + "range": { + "label": "Datum: {range}", + "today": "Danes", + "7d": "Zadnjih 7 dni", + "30d": "Zadnjih 30 dni", + "all": "Vse je bilo obdržano.", + "custom": "Lastni obseg", + "from": "Od", + "to": "V", + "between": "{from} do {to}", + "since": "Od {date}", + "until": "Dokler {date}", + "sinceOldest": "Od {date}" + }, + "filterMenu": { + "button": "Filtri", + "category": "Kategorija", + "person": "Oseba", + "findPerson": "Najdite osebo", + "noPeople": "Brez ujemanja ljudi", + "clear": "Počisti", + "done": "Opravljeno" + }, + "activeFilters": { + "target": "{type}: {name}", + "clearAll": "Počisti vse" + }, + "securityGroups": { + "label": "Vrsta dogodka v zvezi z varnostjo", + "all": "Vse", + "failed": "Vpisi vplačil niso uspeli", + "accounts": "Računi", + "passwords": "Gesla", + "permissions": "Dovoljenja", + "access": "Dostop do knjižnice", + "links": "Vpisne povezave" + }, + "day": { + "today": "Danes", + "yesterday": "Včeraj", + "changes": "{count,plural,one{# sprememba} two{# spremembe} few{# spremembe} other{# spremembe}}", + "events": "{count,plural,one{# dogodek} two{# dogodki} few{# dogodki} other{# dogodki}}" + }, + "person": { + "system": "Sistem", + "deleted": "Izbrisan račun", + "automation": "Avtomatizacija" + }, + "source": { + "server": "Ta strežnik", + "local": "Lokalno omrežje", + "internet": "Internet", + "job": "Ozadje", + "unknown": "Ni zabeleženo" + }, + "target": { + "none": "Brez cilja", + "more": "+{count}", + "sinceDeleted": "Od črta", + "withId": "{type} #{id}" + }, + "openEvent": "Odprti podatki: {event}", + "signIns": { + "signIns": "{count,plural,one{# vpišite se} two{# Vpisi} few{# Vpisi} other{# Vpisi}}", + "signOuts": "{count,plural,one{# odjava} two{# odpisi} few{# odpisi} other{# odpisi}}", + "failed": "{count,plural,one{# neuspešen poskus} two{# neuspešni poskusi} few{# neuspešni poskusi} other{# neuspešni poskusi}}", + "failedAs": "{count,plural,one{# ni uspelo {names}} two{# ni uspelo {names}} few{# ni uspelo {names}} other{# ni uspelo {names}}}", + "range": "{from} – {to}", + "footer": "{count,plural,one{{events} Vpisi, zloženi v # vrstica po osebi, dan in omrežje} two{{events} Vpisi, zloženi v # vrstice po osebah, dan in omrežje} few{{events} Vpisi, zloženi v # vrstice po osebah, dan in omrežje} other{{events} Vpisi, zloženi v # vrstice po osebah, dan in omrežje}}" + }, + "pager": { + "label": "Strani", + "previous": "Prejšnja stran", + "next": "Naslednja stran", + "page": "Stran {page}", + "changes": "{from}–{to} m {count,plural,one{# sprememba} two{# spremembe} few{# spremembe} other{# spremembe}}", + "events": "{from}–{to} m {count,plural,one{# dogodek} two{# dogodki} few{# dogodki} other{# dogodki}}" + }, + "drawer": { + "description": "Podrobnosti o enem revizijskem dogodku", + "close": "Zapri", + "subtitle": "{category} · {day}, {time}", + "when": "Kdaj", + "person": "Oseba", + "source": "Vir", + "target": "Cilj", + "usernameTried": "Uporabniško ime je poskušalo", + "deletedHere": "{type} · izbrisan s tem dogodkom", + "deletedSince": "{type} · odkar je bil izbrisan", + "inThisRow": "{count,plural,one{# dogodek v tej vrstici} two{# dogodki v tej vrstici} few{# dogodki v tej vrstici} other{# dogodki v tej vrstici}}", + "around": "Okoli tega dogodka", + "aroundHint": "{name}, 40 minut na vsaki strani", + "aroundEmpty": "Nič drugega od {name} v 40 minutah.", + "history": "Zgodovina", + "historyCount": "{count,plural,one{# dogodek} two{# dogodki} few{# dogodki} other{# dogodki}}", + "historyMeta": "{name} · {date}, {time}", + "thisEvent": "Ta dogodek", + "raw": "Surovi dogodek", + "rawEventId": "ID dogodka", + "rawAction": "Ukrepanje", + "rawTarget": "Ciljna vrsta", + "rawNote": "Opomba strežnika", + "only": "Samo {name}" + }, + "facts": { + "format": "Oblika", + "size": "Velikost", + "download": "Prenesi", + "dockFile": "Datoteka z dokom knjige", + "rejected": "Zavrnjeno", + "failed": "Ni uspelo", + "cleaned": "Očiščeni", + "skipped": "Preklicano", + "remaining": "Ostanek", + "sharingLevel": "Stopnja souporabe", + "sharing": { + "private": "Ni deljeno", + "summary": "Povzetek", + "detailed": "Podrobno" + } + }, + "retention": { + "button": "{count,plural,one{Zadržana za # dan} two{Zadržana za # dni} few{Zadržana za # dni} other{Zadržana za # dni}}", + "title": "Obdrži dogodke za", + "days": "{count,plural,one{# dan} two{# dni} few{# dni} other{# dni}}", + "hint": "Starejši dogodki se črtijo vsako noč o polnoči.", + "hintWithOldest": "Starejši dogodki so izbrisani vsako noč ob polnoči. Najstarejši dogodek, ki se hrani, je iz {date}.", + "readOnly": "To lahko spremenijo le ljudje, ki lahko spremenijo nastavitve aplikacij.", + "saved": "{count,plural,one{Revizijski dogodki se zdaj hranijo za # dan.} two{Revizijski dogodki se zdaj hranijo za # dni.} few{Revizijski dogodki se zdaj hranijo za # dni.} other{Revizijski dogodki se zdaj hranijo za # dni.}}", + "saveFailed": "Ni moč spremeniti trajanja dogodkov." + }, + "export": { + "button": "Izvoz", + "title": "Izvozi, kar je prikazano", + "hint": "Uporablja trenutni pogled, filtre in obseg datuma.", + "csv": "CSV", + "json": "JSON", + "failed": "Ni moč izvoziti dnevnika." + }, + "emptyFiltered": "Noben dogodek se ne ujema s temi filtri." }, "auth": { "backToSignIn": "Nazaj na prijavo", + "plate": { + "exLibris": "Ex Libris" + }, + "endpaper": { + "change": "Spremeni končni papir", + "options": { + "seigaiha": "Valovi", + "shippo": "Povezani krogi", + "asanoha": "Konoplja", + "quatrefoil": "Kvatrefol", + "ogee": "Ogee", + "harlequin": "Harlekin", + "greekKey": "Grški ključ", + "plain": "Navadna" + } + }, "themePicker": { "switchToLight": "Preklopi na svetlo", "switchToDark": "Preklopi na temno", @@ -3251,7 +5599,10 @@ "confirmPassword": "Potrdi geslo", "confirmNewPassword": "Potrdi novo geslo", "currentPassword": "Trenutno geslo", - "passwordHint": "Najmanj 8 znakov z veliko, malo črko in številko" + "passwordHint": "Najmanj 8 znakov z veliko, malo črko in številko", + "showPassword": "Prikaži geslo", + "hidePassword": "Skrij geslo", + "capsLockOn": "Kapa je vključena." }, "errors": { "generic": "Nekaj je šlo narobe. Poskusite znova.", @@ -3263,12 +5614,16 @@ "signingIn": "Prijavljanje ...", "orDivider": "ali", "forgotPassword": "Ste pozabili geslo?", + "resetPasswordAction": "Ponastavi geslo", "noAccount": "Še nimate računa?", "signUp": "Prijavi se", "registeredNotice": "Račun je ustvarjen. Za nadaljevanje se prijavite. Skrbnik mora podeliti dovoljenja, preden lahko dostopate do knjižnice.", + "resetNotice": "Geslo posodobljeno. Prijavite se z novim geslom.", "errors": { "invalidCredentials": "Neveljavno uporabniško ime ali geslo", "tooManyAttempts": "Preveč poskusov prijave. Počakajte minuto in poskusite znova.", + "passwordDisabled": "Geslo ni na voljo. Uporabite enega ponudnika.", + "optionsUnavailable": "Vpisnih možnosti ni bilo moč naložiti. Prosim osvežite stran ali se obrnite na skrbnika.", "accountLocked": "Vaše geslo je pravilno, vendar je ta račun zaradi prevelikega števila neuspešnih poskusov prijave začasno zaklenjen. Poskusite znova čez {minutes, plural, one {# minuto} two {# minuti} few {# minute} other {# minut}} ali pa za takojšnjo odklepanje ponastavite svoje geslo." } }, @@ -3369,7 +5724,15 @@ "deleteAuthor": "Izbriši avtorja" }, "filters": { - "allLibraries": "Vse knjižnice" + "allLibraries": "Vse knjižnice", + "chips": { + "groupLabel": "Avtorji filtrov", + "all": "Vse", + "noPortrait": "Ni portreta", + "multipleBooks": "2+ knjige", + "recentlyAdded": "Dodan ta teden", + "noSortName": "Brez imena vrste" + } }, "header": { "never": "Nikoli", @@ -3427,6 +5790,8 @@ "selectVisible": "Izberi vidne", "refreshMetadata": "Osveži metapodatke", "refreshingMetadata": "Osveževanje metapodatkov ...", + "confirmRefreshCount": "{count,plural,one{Osveži metapodatke za # Avtor?} two{Osveži metapodatke za # Avtorji?} few{Osveži metapodatke za # Avtorji?} other{Osveži metapodatke za # Avtorji?}}", + "refreshAction": "Osveži", "deleteSelected": "Izbriši izbrane", "deleting": "Brisanje ...", "exitSelection": "Zapusti izbiro", @@ -3516,10 +5881,33 @@ "deleteSuccess": "Avtor izbrisan; prizadetih {books} knjig", "deleteFailed": "Brisanje avtorja ni uspelo" } + }, + "portrait": { + "fromTheirBook": "Naslovnica ene od njihovih knjig; v datoteki ni portreta" + }, + "index": { + "bookCount": "{count,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige} =0{brez knjig}}", + "rowLabel": "{name}, {count,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige} =0{brez knjig}}", + "actionsFor": "Ukrepi za {name}", + "refreshing": "Osvežitev metapodatkov za {name}", + "deleting": "Brisanje {name}" } }, "book": { "untitled": "Brez naslova", + "placeholder": { + "volume": "Vol. {number}", + "genre": { + "horror": "Groza.", + "romance": "Romantična", + "fantasy": "Fantazija", + "scifi": "Sci-fi", + "mystery": "Skrivnost", + "classic": "Klasika", + "nonfiction": "Nefiktivno", + "young": "Mladi bralci" + } + }, "unknownFormat": "neznano", "collapsedSeries": { "label": "Serija", @@ -3533,9 +5921,34 @@ "primary": "Primarno", "audiobook": "Zvočna knjiga" }, + "formats": { + "djvu": "Dokument DjVu", + "epub": "Epub e-knjiga", + "kepub": "E-knjiga KEPUB", + "pdf": "Dokument PDF", + "cbz": "CBZ strip", + "cbr": "Komični CBR", + "cb7": "CB7 comic", + "mobi": "E-knjiga MOBI", + "azw3": "E-knjiga AZW3", + "azw": "E-knjiga AZW", + "fb2": "FictionBook", + "m4b": "Zvočna knjiga M4B", + "mp3": "Zvok MP3", + "m4a": "M4A zvok", + "opus": "Opus audio", + "ogg": "OGG zvok", + "flac": "FLAC avdio", + "readAlong": "Branje-podaljšek EPUB", + "primary": "Primarna oblika" + }, "actions": { "read": "Beri", "listen": "Poslušaj", + "startReading": "Začni brati", + "continueReading": "Nadaljuj branje", + "startListening": "Začni poslušati", + "continueListening": "Še naprej poslušaj", "peek": "Hitri vpogled", "quickView": "Hitri ogled", "details": "Podrobnosti", @@ -3549,7 +5962,18 @@ "setStatus": "Nastavi stanje", "sendViaEmail": "Pošlji po e-pošti", "rate": "Oceni {star}", - "openAs": "Odpri kot {format}" + "openAs": "Odpri kot {format}", + "openReadAlong": "Odpri EPUB, ki se lahko bere" + }, + "refreshMetadata": { + "success": "Osveženi metapodatki", + "failed": "Osveževanje metapodatkov ni uspelo" + }, + "coverRegeneration": { + "failed": "Ni moč obnoviti pokrova", + "bulkInProgress": "Podaljšanje zajema", + "bulkFailed": "Ni moč ponovno izvleči pokrovov", + "bulkCompleted": "Ponovno izvlečen {updated} m {processed,plural,one{# ovitek} two{# pokrovi} few{# pokrovi} other{# pokrovi}}" }, "readStatus": { "unread": "Neprebrano", @@ -3565,7 +5989,20 @@ "action": "Prenesi", "audiobookZip": "Zvočna knjiga (ZIP)", "allFormatsZip": "Vsi formati (ZIP)", - "primaryOnlyZip": "Samo primarno (ZIP)" + "primaryOnlyZip": "Samo primarno (ZIP)", + "preparing": "Priprava prejemanja...", + "preparingExport": "Priprava {count,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}} za prenos...", + "progressPercent": "Prenašanje {percent} m {total}", + "progressBytes": "Prenašanje {transferred}", + "failed": "Prenesi ni uspelo", + "exportFailed": "Izvoz ni uspel", + "audiolessEpub": "KOReader EPUB", + "audiolessEpubHint": "Prenesi EPUB za KOReader z odstranjenimi zvočnimi datotekami", + "noAudio": "brez zvoka", + "textOnlyEpub": "Samo besedilo EPUB", + "textOnlyEpubHint": "Prenesite EPUB brez narečij in hkrati ohranite bralna sidra.", + "originalNarrated": "Originalni EPUB z naracijo", + "originalNarratedEpub": "Originalni EPUB z naracijo" }, "sort": { "moveUp": "Premakni navzgor", @@ -3623,18 +6060,21 @@ "collection": "Zbirka", "library": "Knjižnica", "format": "Format", + "fileSize": "Velikost glavne datoteke", "addedAt": "Dodano dne", "startedAt": "Datum začetka", "finishedAt": "Datum zaključka", "fileAvailability": "Razpoložljivost datoteke", "rating": "Ocena", "communityRating": "Ocena skupnosti", + "communityRatingCount": "Število pregledov Skupnosti", "readProgress": "Napredek branja", "readStatus": "Status branja", "description": "Opis", "isbn": "ISBN", "metadataScore": "Ocena metapodatkov", "cover": "Naslovnica", + "audioCover": "Ovitek zvočne knjige", "lockStatus": "Stanje zaklepanja", "seriesStatus": "Stanje serije" }, @@ -3681,7 +6121,8 @@ "unit": { "days": "dni", "weeks": "tednov", - "months": "mesecev" + "months": "mesecev", + "megabytes": "MB" }, "scorePreset": { "outstanding": "Odlično", @@ -3690,6 +6131,9 @@ "poor": "Slabo" }, "scoreRangePlaceholder": "0-100", + "fileSizePlaceholder": "npr. 10", + "fileSizeValueAria": "Primarna velikost datoteke v megabajtih", + "fileSizeMaximumAria": "Največja primarna velikost datoteke v megabajtih", "valuePlaceholder": "vrednost", "maxPlaceholder": "najv.", "to": "do", @@ -3854,7 +6298,8 @@ }, "header": { "previousBook": "Prejšnja knjiga", - "nextBook": "Naslednja knjiga" + "nextBook": "Naslednja knjiga", + "backToLibrary": "Nazaj k {library}" }, "tabs": { "details": "Podrobnosti", @@ -3934,7 +6379,32 @@ "saving": "Shranjevanje...", "saveCover": "Shrani naslovnico", "revertToOriginal": "Povrni na izvirno", - "regenerateCover": "Znova ustvari naslovnico" + "regenerateCover": "Znova ustvari naslovnico", + "slotsLabel": "Ovitek za urejanje", + "slotEbook": "Knjiga", + "slotAudio": "Zvočna knjiga", + "slotEbookName": "Ovitek knjige", + "slotAudioName": "Ovitek zvočne knjige", + "editingEbook": "Urejanje naslovnice knjige", + "editingAudio": "Urejanje ovitka avdioknjige", + "lockEbookCover": "Ovitek za zakleni knjigo", + "unlockEbookCover": "Odkleni ovitek knjige", + "lockAudioCover": "Zakleni ovitek avdioknjige", + "unlockAudioCover": "Odkleni ovitek avdioknjige", + "viewLarger": "Videz večji", + "viewLargerEbook": "Prikaži večjo ovitek knjige", + "viewLargerAudio": "Oglejte si večji ovitek avdioknjige", + "sourceMode": "Vir slike", + "urlLabel": "URL slike", + "saveFailed": "Ni moč shraniti ovitka", + "revertFailed": "Ni moč obrniti pokrova" + }, + "coverLightbox": { + "title": "Ogled platnice", + "description": "Pritisnite Beg, da se zaprete.", + "switchLabel": "Naslovnica za prikaz", + "ebook": "Knjiga", + "audio": "Zvočna knjiga" }, "coverSearch": { "title": "Spletno iskanje", @@ -3975,14 +6445,38 @@ "cancelEditAria": "Prekliči urejanje osebne ocene" }, "editCover": "Uredi naslovnico", + "viewCover": "Prikaži večjo ovitek", "finished": "Zaključeno", "resetFileProgress": "Ponastavi napredek datoteke", + "resetEditionProgress": "Ponastavi napredek za {format}", "resetting": "Ponastavljanje...", "resetProgressConfirm": "Ponastavi shranjen bralni napredek za {label}?", "moreCount": "+{count} več", "untitled": "Brez naslova", "metadataScore": "Ocena metapodatkov", "primaryFormat": "Primarni format", + "readAloudSync": { + "title": "Usklajevanje napredka v zvezi z branjem", + "state": { + "enabled": "Omogočeno", + "disabled": "Onemogočeno", + "unavailable": "Ni na voljo", + "epubCopiesOnly": "Samo EPUB kopije" + }, + "enabledDescription": "Avdiobook, spletni bralnik, Kobo in KOReader položaji ostanejo usklajeni.", + "disabledDescription": "Vsak format ohranja svoj bralni položaj.", + "epubCopiesDescription": "Spletni bralnik, Kobo in KOReader položaji ostanejo sinhronizirani preko EPUB kopij. Dodajte ujemanje avdioknjig datoteke za sinhronizacijo avdioknjige preveč.", + "reason": { + "no_media_overlay_epub": "Potrebno je branje-dolgo EPUB z medijskimi prekrivnimi sloji.", + "no_audio_files": "Potrebno je ujemanje samostojnih datotek z avdioknjigo.", + "missing_duration": "Metapodatki o trajanju zvoka so nepopolni.", + "durationMismatch": "Trajanje se ne ujema dovolj: avdioknjiga {audio}, v celoti beri EPUB {overlay}." + }, + "enable": "Omogoči", + "disable": "Onemogoči", + "saving": "Shranjevanje...", + "saveFailed": "Ni moč posodobiti napredka v obliki branja." + }, "openIn": "Odpri v {provider}", "showLess": "Prikaži manj", "showMore": "Prikaži več", @@ -4015,6 +6509,7 @@ "dateAddedFutureError": "Datum dodajanja ne sme biti v prihodnosti.", "dateFinishedFutureError": "Datum zaključka ne more biti v prihodnosti.", "dateFinishedBeforeStartedError": "Datum zaključka mora biti enak ali za datumom začetka.", + "dateFinishedBeforeStartedErrorWithDate": "Datum zaključka mora biti v ali po datumu začetka ({date}).", "saveReadingDatesError": "Shranjevanje bralnih datumov ni uspelo.", "saveAddedDateError": "Shranjevanje datuma dodajanja ni uspelo.", "koboPendingDelete": "Čaka na izbris iz naprave", @@ -4028,7 +6523,33 @@ "resetHoldNotice": "{device} ima še vedno stari položaj ({percent})", "resetHoldRelease": "Uporabite položaj te naprave", "resetHoldReleasing": "Izdajam...", - "resetHoldReleaseFailed": "Tega položaja ni bilo mogoče uporabiti. Poskusite znova." + "resetHoldReleaseFailed": "Tega položaja ni bilo mogoče uporabiti. Poskusite znova.", + "editions": "Izdaje", + "editionsSummary": "{count} · {size}", + "moreFormats": "+{count} več", + "filesOnDisk": "Datoteke na disku", + "yourReading": "Tvoje branje.", + "lastRead": "zadnji bral {when}", + "notStarted": "ni zagnano", + "noSessionsYet": "Ni še branje seje. Odpiranje te knjige v bralcu spremlja čas, tempo in napredek na napravi.", + "activitySessions": "Seje", + "activityTime": "Čas", + "activityAverage": "Avg", + "activityProgress": "Napredek", + "activityDayTooltip": "{day}: {minutes} min.", + "activityReached": "{percent} Dosežena", + "durationS": "{seconds}s", + "durationM": "{minutes}m", + "durationHm": "{hours}h {minutes}m", + "yourReview": "Vaša ocena", + "reviewNotWritten": "Ni še napisano.", + "writeReview": "Piši", + "collections": "Zbirke", + "noCollections": "Brez", + "onDisk": "Na disku", + "detailsHeading": "Podrobnosti", + "percentUnderOne": "< 1%", + "percentOverNinetyNine": "> 99%" }, "editMetadata": { "fieldCount": "{count, plural, =0 {brez polj} one {eno polje} two {# polj} few {# polj} other {# polj}}", @@ -4065,7 +6586,9 @@ "loadFromFileTooltip": "Naloži metapodatke iz primarne datoteke knjige", "writeToFile": "Zapiši v datoteko", "autoFill": "Samodejno izpolni", + "autoFillFailed": "Samodejno polnjenje ni uspelo", "fetchingMetadata": "Pridobivanje metapodatkov...", + "noExistingProviderIds": "Ni pridobljenih metapodatkov: noben od aktivnih ponudnikov pravil polja nima ID- ja, ki bi bil shranjen v tej knjigi.", "allFieldsLocked": "Vsa polja so zaklenjena", "autoFillTooltip": "Samodejno izpolni polja z uporabo vaših nastavitev metapodatkov", "lockAll": "Zakleni vse", @@ -4133,9 +6656,19 @@ "hideUnchanged": "Skrij nespremenjeno", "showUnchanged": "Prikaži nespremenjeno", "current": "Trenutno", + "new": "Novo", "noMetadata": "Iz tega vira ni na voljo nobenih metapodatkov.", "noChangedFields": "Ni spremenjenih ali manjkajočih polj. Uporabite Prikaži nespremenjeno za pregled vsega.", - "applyToForm": "Uveljavi v obrazcu" + "applyToForm": "Uveljavi v obrazcu", + "secondCover": { + "audioResults": "Rezultati ovitka avdioknjige", + "bookResults": "Rezultati ovitka knjige", + "showCover": "Prikaži {provider} kritje, {index} m {total}", + "searchingAudio": "Iskanje izdaj avdioknjige...", + "searchingBook": "Iskanje knjižnih izdaj...", + "noAudio": "Ni najdenih avdioknjig.", + "noBook": "Ni najdenih knjižnih platnic." + } }, "diff": { "locked": "Zaklenjeno", @@ -4144,15 +6677,79 @@ "newCoverAlt": "Nova naslovnica", "pickCoverFromProvider": "Izberi naslovnico od drugega ponudnika", "pickCoverSource": "Izberi vir naslovnice", + "coverShapeHint": { + "portraitForAudio": "Portretna slika. Avdiobook platnice so kvadratne.", + "squareForBook": "Kvadratna slika. Knjižni ovitki so portreti." + }, "pickFromProvider": "Izberi od drugega ponudnika", "pickSource": "Izberi vir", + "useNew": "Uporabi novo {field}", + "keepCurrent": "Obdrži tok {field}", + "genreWriteMode": { + "label": "Kako uporabljati žanre", + "merge": "Združi", + "replace": "Nadomesti" + }, "empty": "prazno", "showLess": "Prikaži manj", "showMore": "Prikaži več", - "coverPreviewAlt": "Predogled naslovnice" + "coverPreviewAlt": "Predogled naslovnice", + "fields": { + "coverUrl": "Cover", + "bookCover": "Ovitek knjige", + "audioCover": "Ovitek zvočne knjige", + "title": "Naslov", + "subtitle": "Podnaslov", + "authors": "Avtorji", + "description": "Poimenovanje", + "publisher": "Izdajatelj", + "publishedDate": "Objavljena", + "language": "Jezik", + "pageCount": "Števec strani", + "communityRating": "Ocena Skupnosti", + "seriesName": "Serija", + "seriesIndex": "Indeks serije", + "isbn13": "ISBN-13", + "isbn10": "ISBN-10", + "genres": "Žanri", + "narrators": "Pripovedovalci", + "durationSeconds": "Trajanje (sekunde)", + "abridged": "Okrajšano", + "hardcoverEditionId": "ID izdaje Hardcover", + "comicIssueNumber": "Številka izdaje", + "comicVolumeName": "Obseg", + "comicPencillers": "Pencillerji", + "comicInkers": "Inkerji", + "comicColorists": "Pisatelji", + "comicLetterers": "Letters", + "comicCoverArtists": "Pokrij umetnike", + "comicCharacters": "Znaki", + "comicTeams": "Ekipe", + "comicLocations": "Lokacije", + "comicStoryArcs": "Loki s pripovedmi", + "sourceUrl": "Izvorna lokacija" + }, + "providerIds": { + "google": "ID Googlovih knjig", + "goodreads": "ID Goodreads", + "amazon": "Identifikacijska oznaka Amazonke", + "hardcover": "ID Trde cover", + "openLibrary": "ID odprte knjižnice", + "itunes": "ID iTunes", + "audible": "Zvočna identifikacija", + "librofm": "Libro.fm ISBN", + "comicvine": "ID ComicVine", + "ranobedb": "ID RanobeDB", + "kobo": "ID Kobo", + "lubimyczytac": "LubimyCzytac ID", + "aladin": "ID Aladin" + } }, "searchDrawer": { "searchTitle": "Iskanje metapodatkov", + "autoSearchOnOpen": "Po odprtju samodejno išči", + "autoSearchOnOpenHint": "Ko se bo ta pult odprl, bo uporabil podrobnosti knjige. Zapomnil si je vaš račun v tem brskalniku.", + "searchOptions": "Možnosti iskanja", "compareTitle": "Primerjava metapodatkov", "searchSubtitle": "Poiščite najboljše ujemanje ponudnika za to knjigo.", "compareSubtitle": "Preglejte razlike in uveljavite samo tisto, kar želite." @@ -4174,13 +6771,244 @@ "notInFieldRulesText": "{providers}. Vključeno v ročno iskanje pri Vsi omogočeni, vendar se ne uporablja pri samodejnem pridobivanju metapodatkov.", "noResults": "Ni najdenih rezultatov", "noResultsHint": "Poskusite prilagoditi naslov ali avtorja", + "searchInterrupted": "Iskanje ni bilo končano", + "searchIncomplete": "Nekateri rezultati so lahko manjkajoči", + "providerTimedOut": "{provider} Predolgo je trajalo, da sem se odzval.", + "providerThrottled": "{provider} -Počakajte in poskusite znova.", + "providerFailed": "{provider} ni bilo mogoče doseči.", + "searchInterruptedHint": "Poskusi še enkrat, ali pa zoži iskalno področje.", "searchPrompt": "Iščite zgoraj, nato kliknite rezultat, da začnete primerjavo metapodatkov." }, + "match": { + "sheetDescription": "Iščite metapodatke in izberite, kaj kopirajte v to knjigo.", + "mediumAudiobook": "Zvočna knjiga", + "mediumEbook": "Ebook", + "query": { + "label": "Iskanje metapodatkov", + "title": "Naslov", + "author": "Avtor", + "isbn": "ISBN", + "edited": "Urejeno poizvedbo", + "useBookDetails": "Uporabi podrobnosti knjige" + }, + "sources": { + "heading": "Viri", + "allEnabledHint": "{count,plural,one{# Najboljši za ročno iskanje.} two{# Najboljši za ročno iskanje.} few{# Najboljši za ročno iskanje.} other{# Najboljši za ročno iskanje.}}", + "fieldRulesHint": "{count,plural,one{# vir, ki ga samodejno prikliče.} two{# Viri, tisti, ki jih avtomatsko uporablja.} few{# Viri, tisti, ki jih avtomatsko uporablja.} other{# Viri, tisti, ki jih avtomatsko uporablja.}}", + "outsideRules": "{providers} {count,plural,one{je omogočen, vendar ne v pravilih polja, zato samodejno prinesite preskoči.} two{so omogočeni, vendar ne v pravilih polja, zato jih samodejno prijem preskoči.} few{so omogočeni, vendar ne v pravilih polja, zato jih samodejno prijem preskoči.} other{so omogočeni, vendar ne v pravilih polja, zato jih samodejno prijem preskoči.}}", + "manualOnly": "{providers}: ročno iskanje samo, ne uporablja samodejno prijem.", + "count": "{provider}: {count,plural,one{# rezultat} two{# rezultati} few{# rezultati} other{# rezultati} =0{ni rezultatov}}", + "searching": "{provider}: iskanje", + "stopped": "{provider}: ustavi pred zaključkom" + }, + "results": { + "label": "Ujema se", + "best": "Najboljše tekme", + "otherEditions": "Druge izdaje", + "otherBooks": "Verjetno različne knjige.", + "stillSearching": "Še vedno iščem", + "linked": "Povezan", + "linkedHint": "Ta zapis je že povezan s knjigo", + "isbn": "ISBN tekmo", + "fills": "+{count} prazno", + "fillsHint": "{count,plural,one{Zamaški # prazno polje} two{Zamaški # prazno polje} few{Zamaški # prazno polje} other{Zamaški # prazno polje}}", + "differ": "{count} razlika", + "differHint": "{count,plural,one{# polje se razlikuje od knjige} two{# polja se razlikujejo od knjige} few{# polja se razlikujejo od knjige} other{# polja se razlikujejo od knjige}}", + "inSync": "V sinhronizaciji", + "inSyncHint": "Nič ne bi spremenilo knjige.", + "differentAuthor": "Različni avtorji", + "titleDiffers": "Naslov se razlikuje", + "sparse": "Rezervno", + "sparseHint": "{count,plural,one{Samo # polje izpolnjeno} two{Samo # polja, napolnjena} few{Samo # polja, napolnjena} other{Samo # polja, napolnjena}}", + "staged": "{count,plural,one{# sprememba od tega rezultata} two{# spremembe, ki so bile uprizorjene s tem rezultatom} few{# spremembe, ki so bile uprizorjene s tem rezultatom} other{# spremembe, ki so bile uprizorjene s tem rezultatom}}", + "noMatches": "Ni ujemanj za to poizvedbo", + "noMatchesHint": "{count,plural,one{Vir je odgovoril brez vsega.} two{# Viri so odgovorili brez vsega.} few{# Viri so odgovorili brez vsega.} other{# Viri so odgovorili brez vsega.}} Sprosti iskanje in poskusi znova.", + "searchTitleOnly": "Samo naslov iskanja", + "prompt": "Vnesite naslov ali ISBN za iskanje.", + "mayBeMissing": "Morda manjkajo rezultati.", + "retry": "Poskusi znova {provider}", + "pages": "{count,plural,one{# Stran} two{# strani} few{# strani} other{# strani}}", + "fetched": "Pritrjeno" + }, + "tier": { + "strong": "Močna tekma", + "possible": "Možna ujemanja", + "weak": "Ni verjetno, da bi se ujemala." + }, + "compare": { + "label": "Primerjaj", + "backToMatches": "Nazaj na tekme", + "previous": "Prejšnji rezultat", + "next": "Naslednji rezultat", + "position": "{index} m {total}", + "viewOn": "Pogled na {provider}", + "linkedToBook": "Povezana s to knjigo", + "sameTitleAuthor": "Isti naslov in avtor", + "streaming": "-Do zdaj je bil najboljši dvoboj. {providers}.", + "rows": "Vrstice", + "differences": "Razlike", + "allFields": "Vsa polja", + "fillEmpty": "{count,plural,one{Zapolni # prazno} two{Zapolni # prazno} few{Zapolni # prazno} other{Zapolni # prazno} =0{Brez praznih polj}}", + "takeAll": "{count,plural,one{Uporaba #} two{Uporabi vse #} few{Uporabi vse #} other{Uporabi vse #} =0{Nič za uporabo.}}", + "more": "Več ukrepov", + "clearAll": "Počisti vse izbore", + "clearAllHint": "Nazaj k trenutnim vrednotam knjige.", + "field": "Polje", + "pickTitle": "Izberite ujemanje za primerjavo", + "pickHint": "Izberite rezultat. Njegova polja se postavijo v vrsto proti knjigi, da lahko obdržite ali zamenjate vsakega.", + "noneTitle": "Nič za primerjavo še ni.", + "noneHint": "Ko iskanje najde ujemanje, se najboljše odpre tukaj, poleg česa {title} Danes.", + "allMatch": "Vsako polje se ujema s knjigo.", + "toReview": "{count,plural,one{# Pregled} two{# Pregled} few{# Pregled} other{# Pregled} =0{-Nič za pregledati.}}", + "stagedInSection": "{count} uprizorjeno" + }, + "sections": { + "identity": "Identiteta", + "description": "Poimenovanje", + "publication": "Objava", + "series": "Serija", + "genres": "Žanri", + "comics": "Komični krediti", + "identifiers": "Identifikatorji", + "ratings": "Ocena Skupnosti" + }, + "kind": { + "fill": "Zapolni prazno", + "change": "Raznovrstne", + "same": "Enako.", + "missing": "Ni določeno" + }, + "minor": { + "reordered": "Preurejeno", + "formatting": "Samo oblikovanje", + "punctuation": "Ločilo", + "capitalization": "Kapitalizacija", + "yearOnly": "Samo leto", + "addsDay": "Dodaj dan", + "languageCode": "Isti jezik", + "ratingCount": "Samo štetje" + }, + "decision": { + "keep": "Obdrži", + "use": "Uporaba", + "merge": "Združi", + "replace": "Nadomesti", + "alreadyMatches": "Že ujemanje.", + "nothingToApply": "Nič za uporabiti", + "lockedHint": "Odkleni ga v uredništvu, da ga spremeni.", + "usingFrom": "Uporaba vrednosti od", + "switchTo": "Preklopi na {provider}" + }, + "value": { + "empty": "Prazno", + "notProvided": "Ni določeno", + "showAll": "Prikaži vse {count} besede", + "otherValues": "{count,plural,one{# druga vrednost} two{# druge vrednosti} few{# druge vrednosti} other{# druge vrednosti}}", + "otherValuesHeading": "{field} iz drugih rezultatov", + "otherValuesHint": "Izbira ene stopnje za to polje", + "sameAsCurrent": "Enako kot trenutno", + "useThis": "Uporabi to", + "using": "Uporaba" + }, + "providerRating": "{provider} ocena", + "cover": { + "slotAudio": "Zvočna knjiga, kvadratna", + "slotBook": "Reža za knjigo, portret", + "current": "Sedanji", + "staged": "Stabilizirano", + "size": "{width} × {height}", + "fits": "Ustreza reži", + "portraitInSquare": "Portret: škatla s črkami", + "squareInPortrait": "Kvadrat: boks za črke", + "broken": "Videti je zlomljeno.", + "unknown": "Oblika neznana", + "fitShort": "Ustreza", + "portraitShort": "Portret", + "squareShort": "Kvadrat", + "brokenShort": "Zlomljeno", + "noCover": "V tem rezultatu ni kritja", + "noCurrent": "Ni še kritja.", + "strip": "Kritje iz ujemajočih se rezultatov", + "stripMeta": "{count,plural,one{# ovitek} two{# pokrovi} few{# pokrovi} other{# pokrovi}}, najprej se namesti", + "choose": "Izberite ovitek", + "preview": "Oglejte si celozaslonske ovitke", + "previewTitle": "Prekriva drug ob drugem", + "previewDescription": "Sedanja krinka poleg tiste, ki bi jo nadomestila.", + "choice": "{provider} ovitek", + "choiceSized": "{provider} kritje, {width} z {height}", + "using": "Uporaba" + }, + "footer": { + "changes": "{count,plural,one{# sprememba} two{# spremembe} few{# spremembe} other{# spremembe}}", + "from": "iz", + "nothingStaged": "Nič uprizorjenega. Izberite Uporaba na igrišču ali izberite naslovnico.", + "nothingStagedShort": "Nič uprizorjenega", + "formHint": "Izpolni obrazec za urejanje. Shrani ga tja, da ga obdrži.", + "fileHint": "Shrani do metapodatkov te datoteke.", + "apply": "{count,plural,one{Uveljavi # sprememba} two{Uveljavi # spremembe} few{Uveljavi # spremembe} other{Uveljavi # spremembe} =0{Uveljavi}}", + "stagedHeading": "Nastavljeno za obrazec", + "clearAll": "Počisti vse", + "undo": "Razveljavi {field}", + "merged": "združeno", + "live": "{count,plural,one{# spremembe uprizorjene} two{# spremembe so ustavljene} few{# spremembe so ustavljene} other{# spremembe so ustavljene} =0{Ni sprememb, ki bi bile uprizorjene}}" + }, + "keyboard": { + "title": "Kratice s tipkovnico", + "results": "Prejšnji ali naslednji rezultat", + "fields": "Premakni med polja", + "toggle": "Ohranite ali uporabite polje", + "search": "Uredi iskanje", + "close": "Zapri menije" + } + }, "writeAndRename": "Zapiši v datoteko in preimenuj", - "writeAndRenameShort": "Zapiši in preimenuj" + "writeAndRenameShort": "Zapiši in preimenuj", + "identityCard": "Identiteta", + "catalogCard": "Katalog", + "sourceCard": "Vir", + "score": "Rezultat", + "scoreTooltip": "Metapodatki {score} od 100", + "emptyFields": "{count,plural,one{prazno polje} two{prazno polje} few{prazno polje} other{prazno polje}}", + "emptyFieldsCount": "{count,plural,one{# prazno polje} two{# prazno polje} few{# prazno polje} other{# prazno polje}}", + "emptyFieldsHeading": "Prazna metapodatkovna polja", + "emptyFieldsTooltip": "Še ni izpolnjeno: {fields}-Iščite jih po spletu.", + "libraryRow": "Knjižnica", + "primaryRow": "Primarni", + "writeBackRow": "Odpis", + "writeBackOff": "Izklopljeno", + "lastWrittenRow": "Nazadnje napisano", + "neverWritten": "Nikoli", + "fileCount": "{count,plural,one{ena datoteka} two{# datoteke} few{# datoteke} other{# datoteke} =0{Brez datotek}}", + "unknownFormat": "Neznano" }, "files": { "title": "Datoteke knjige", + "stats": { + "files": "Datoteke", + "total": "Skupaj", + "runtime": "Čas delovanja", + "formats": "Oblike" + }, + "filesHeading": "Datoteke", + "allPresent": "Vsi prisotni", + "groupedByReader": "združeno z bralcem", + "thisFile": "Ta datoteka", + "writeBackShort": "Odpis", + "fieldsSet": "{filled} / {total} nastavljeno", + "writtenSummary": "{fields} ter {count,plural,one{# več polja} two{# več polj} few{# več polj} other{# več polj}} so zapisani v {format}.", + "writtenSummaryAll": "{fields} so zapisani v {format}.", + "writtenNothing": "Nikakršnega od {total} Pisna polja imajo še vrednost.", + "writeBackOff": "Odpis je za to knjigo.", + "editMetadata": "Uredi metapodatke", + "showAllTracks": "Prikaži vse", + "collapseTracks": "Zruši", + "moreTracks": "{count,plural,one{# več skladb} two{# več skladb} few{# več skladb} other{# več skladb}}", + "tracksRolled": "{count,plural,one{# skladba} two{# skladbe} few{# skladbe} other{# skladbe}}", + "fileDetails": "Podrobnosti datoteke", + "openDetails": "Odpri podrobnosti datoteke", + "closeDetails": "Zapri podrobnosti datoteke", + "trackFrom": "Skladba {track} m {total}, iz {time}", + "throughCopy": "Ti si. {percent} preko te kopije", "fileCount": "{count, plural, =0 {# datotek} one {# datoteka} two {# datoteki} few {# datoteke} other {# datotek}}", "synced": "Sinhronizirano {time}", "sortAria": "Razvrsti datoteke", @@ -4231,7 +7059,99 @@ "title": "Izbrišem datoteko?", "description": "Ali ste prepričani, da želite izbrisati \"{filename}\"? Tega dejanja ni mogoče razveljaviti." }, - "deleting": "Brisanje ..." + "deleting": "Brisanje ...", + "folderAria": "Lokacija mape", + "folderContents": "Vsebina mape", + "inspectorAria": "Izbrana datoteka", + "libraryRoot": "Knjižnični koren", + "onDisk": "Na disku", + "missing": "Manjka", + "backToFolder": "Nazaj v mapo", + "copyPath": "Kopiraj celotno pot", + "pathCopied": "Pot kopirana na odložišče", + "resume": "Nadaljuj", + "audiobook": "Zvočna knjiga", + "writeTarget": "Zapiši cilj", + "notWritten": { + "formatNotSupported": "Ni napisano: nepodprta oblika", + "formatDisabled": "Ni napisano: oblika je izključena", + "fileExceedsSizeLimit": "Ni napisano: preko meja velikosti", + "notContentFile": "Ni napisano: ni vsebine knjige" + }, + "enabled": "Omogočeno", + "disabled": "Izklopljeno", + "notSet": "ni nastavljeno", + "sortAdded": "Dodano", + "formatCount": "{count,plural,one{# oblika} two{# formati} few{# formati} other{# formati}}", + "trackCount": "{count,plural,one{# skladba} two{# skladbe} few{# skladbe} other{# skladbe}}", + "formatsInFolder": "{count,plural,one{# Format tukaj} two{# formati tukaj} few{# formati tukaj} other{# formati tukaj}}", + "compositionAria": "Delež velikosti mape po obliki", + "percentRead": "{percent} beri", + "trackOf": "Skladba {track} m {total}", + "groups": { + "ebook": "Ebook", + "document": "Dokument", + "comic": "Strip", + "audio": "Zvok", + "extras": "Dodatki" + }, + "roles": { + "primary": "Primarni", + "content": "Nadomestni", + "supplement": "Dodatek", + "cover": "Cover" + }, + "reader": { + "none": "Brez bralca", + "ebook": "Bralnik Ebook", + "document": "Bralnik PDF", + "comic": "Čitalnik stripov", + "audio": "Predvajalnik zvoka" + }, + "spec": { + "format": "Oblika", + "role": "Vloga", + "size": "Velikost", + "length": "Dolžina", + "added": "Dodano", + "indexed": "Indeksirano", + "opensIn": "Odpre", + "writeBack": "Odpis", + "track": "Skladba", + "targetFile": "Ciljna datoteka", + "notWritten": "Ni napisano" + }, + "duration": { + "hoursMinutes": "{hours}h {minutes}m", + "minutes": "{minutes}m", + "minutesSeconds": "{minutes}m {seconds}s", + "seconds": "{seconds}s" + }, + "positionHeading": "Vaš položaj v tej kopiji", + "copiesStarted": "{started} m {total} začete kopije", + "nothingStarted": "Nič se še ni začelo.", + "throughFile": "{percent} skozi to datoteko", + "notOpened": "Ni še odprto", + "lastRead": "Zadnji bral {time}", + "noPosition": "Ni shranjenega položaja za branje", + "trackPositionHeading": "Kjer ta proga sedi", + "totalRuntime": "{duration} Skupaj", + "startsAt": "Začne se na {time}", + "trackLength": "{duration} dolga", + "switchFileHeading": "Zamenjaj datoteko", + "writeBackHeading": "Zapisano v to datoteko", + "fieldsWithValue": "{filled} m {total} polja imajo vrednost", + "lastRun": "Zadnji preskus {time}", + "neverRun": "Nikoli ne teci", + "historyHeading": "Zgodovina", + "timeline": { + "written": "Metapodatki, zapisani na {format}", + "writtenMany": "Metapodatki, zapisani na {format} ×{count}", + "writeDetail": "{count,plural,one{# polje} two{# polja} few{# polja} other{# polja}} · {ms}ms · {trigger}", + "failed": "Pisanje ni uspelo", + "indexed": "{name} indeksirano", + "indexedMany": "{count} {format} datoteke indeksirane" + } }, "highlights": { "note": { @@ -4265,9 +7185,247 @@ "hint": "Med branjem izberite besedilo za ustvarjanje poudarkov" }, "uncategorized": "Nekategorizirano", - "paginationUnit": "poudarki" + "paginationUnit": "poudarki", + "rail": { + "title": "Oznake", + "unit": "{count,plural,one{& Poudari} two{Poudarek} few{Poudarek} other{Poudarek}}", + "withNotes": "nosi sporočilo", + "chaptersMarked": "označena poglavja", + "ofChaptersMarked": "m {total} označena poglavja", + "colour": "Barvno", + "showOnly": "Prikaži samo {colour}", + "source": "Od kod so prišli?", + "health": "Zdravje na položaju", + "needsAttention": "{count,plural,one{# potrebuje pozornost.} two{# je treba nameniti pozornost} few{# je treba nameniti pozornost} other{# je treba nameniti pozornost}}", + "anchorLost": "{count,plural,one{eden je izgubil svoje sidro, ko se je datoteka spremenila} two{# ko se je datoteka spremenila, je izgubila sidro} few{# ko se je datoteka spremenila, je izgubila sidro} other{# ko se je datoteka spremenila, je izgubila sidro}}", + "reAnchored": "{count,plural,one{je bil ponovno nameščen samodejno} two{# so bili ponovno samodejno nastavljeni} few{# so bili ponovno samodejno nastavljeni} other{# so bili ponovno samodejno nastavljeni}}", + "reviewPositions": "Stališča za pregled", + "span": "Span", + "firstMark": "Prva oznaka", + "lastMark": "Zadnja oznaka", + "markingDays": "Dnevi označevanja", + "exportCount": "Izvoz {count}" + }, + "row": { + "select": "Izberite to poudarjanje", + "showMore": "Pokaži več", + "showLess": "Prikaži manj", + "note": "Opomba", + "addNote": "Dodaj opombo", + "page": "p.{page}", + "anchorLost": "Sidro je izgubilo", + "reAnchored": "Ponovno zasidrana" + }, + "stream": { + "title": "Potok", + "searchPlaceholder": "Iskanje {count} Poudarek in opombe", + "all": "Vse", + "notes": "Opombe", + "review": "Pregled", + "density": "Preklop med udobnimi in kompaktnimi vrstami", + "matchCount": "{shown} m {total} Ujemanje", + "textChip": "besedilo „{query}”", + "marks": "{count,plural,one{# oznaka} two{# oznake} few{# oznake} other{# oznake}}", + "loadingMore": "Nalaganje več" + }, + "bulk": { + "selected": "{count} izbrano", + "selectAll": "Izberi vse {count}", + "recolour": "Prebarvaj izbor", + "recolourTo": "Prebarvaj v {colour}", + "clear": "Počisti izbor" + }, + "index": { + "title": "Indeks", + "groupBy": "Združi tok po", + "byChapter": "Poglavja", + "byColour": "Barve", + "byDay": "Dnevi" + }, + "activity": { + "title": "Označevanje", + "days": "{count,plural,one{# dan} two{# dni} few{# dni} other{# dni}}", + "showAll": "Prikaži vse {count} dni", + "showFewer": "Prikaži manj" + }, + "inspector": { + "title": "Poudari podrobnosti", + "back": "Nazaj na indeks", + "counter": "Označi {position} m {total}", + "previous": "Prejšnja oznaka", + "next": "Naslednja oznaka", + "notePrompt": "Zakaj je to pomembno? Opombe so iskalne in potujejo z izvozom.", + "style": "Slog", + "position": "Položaj in sinhronizacija", + "openHere": "Odpri tukaj." + }, + "band": { + "title": "Kjer so oznake", + "subtitle": "vsako označeno poglavje v vrstnem redu branja, obarvano tako, kot ste ga označili", + "barTitle": "{chapter}, {count} oznake", + "start": "Začetek", + "densest": "Izbruh", + "marks": "{count,plural,one{# oznaka} two{# oznake} few{# oznake} other{# oznake}}", + "longestGap": "Najdaljši tek brez oznake", + "chapters": "{count,plural,one{# Poglavje} two{# poglavja} few{# poglavja} other{# poglavja}}", + "end": "Konec" + }, + "emptyStage": { + "title": "Ni poudarkov v {title} še", + "body": "Poudarki prihajajo iz treh krajev, in ta stran zbira vse v eni hrbtenici.", + "openReader": "Odpri bralnik", + "web": { + "title": "Preberi tukaj.", + "body": "Izberite besedilo v vgrajenem bralniku in izberite barvo." + }, + "kobo": { + "title": "Uskladi a Kobo", + "body": "Poudarki na napravi so na naslednji sinhronizaciji." + }, + "koreader": { + "title": "Uskladi KOReader", + "body": "Vstavek naloži zapiske s svojimi točnimi položaji." + } + }, + "shortcuts": { + "title": "Tipkovnica", + "description": "Kratice s tipkovnico za seznam poudarkov.", + "move": "Naslednja/prejšnja oznaka", + "open": "Odprite inšpektorja", + "back": "Nazaj na indeks", + "search": "Iskanje", + "note": "Napiši sporočilo", + "recolour": "Prebarvaj", + "select": "Izberite to oznako", + "regroup": "Prerazporedi tok", + "copy": "Kopiraj ponudbo", + "reader": "Odpri v bralniku" + }, + "railTitle": "{marks} oznake · {chapters} poglavja", + "whenMarked": "Ko so bile označene", + "chapters": "Poglavja", + "noChapter": "Brez poglavja", + "views": { + "position": "V vrstnem redu branja", + "newest": "Najnovejši prvi", + "oldest": "Najstarejše prvo", + "colour": "Barvno", + "source": "Po viru" + } }, "readingLog": { + "resetReadingState": "Ponastavi stanje branja", + "vitals": { + "aria": "Povzetek branja", + "notSet": "Ni nastavljeno", + "started": "Začetno", + "finished": "Končano", + "editStarted": "Uredi datum, ko ste začeli s to knjigo", + "editFinished": "Uredi datum, ko si končal to knjigo", + "totalTime": "Skupni čas", + "sessions": "Seje", + "avgSession": "Povprečno zasedanje", + "activeDays": "Aktivni dnevi", + "activeDaysOf": "{active} m {total}", + "pace": "Pace", + "pacePerHour": "{percent}%/h", + "lastRead": "Zadnji bral", + "whereYouRead": "Kjer si jo prebral.", + "addSession": "Dodaj sejo", + "durationHm": "{hours}h {minutes}m", + "durationM": "{minutes}m", + "durationS": "{seconds}s" + }, + "ledger": { + "title": "Seje", + "none": "brez", + "colDay": "Dan", + "colTime": "Čas", + "colLength": "Dolžina", + "colChange": "Sprememba", + "colPosition": "Položaj v knjigi", + "colReached": "Dosežena", + "colSource": "Vir", + "colFormat": "Oblika", + "gapDays": "{count,plural,one{# dan brez branja} two{# dni brez branja} few{# dni brez branja} other{# dni brez branja}}", + "attemptBegan": "Poskus {index} se je začelo", + "attemptOutsideAny": "Zunaj vsakega poskusa.", + "empty": "Seje še niso bile zabeležene", + "emptyHint": "Odprite knjigo v čitalniku, sinhronizirajte napravo ali pa ročno dodajte sejo." + }, + "attempts": { + "title": "Poskusi", + "none": "brez", + "ordinal": "Poskus {index}", + "addPast": "Dodaj pretekli poskus", + "reread": "Znova preberi", + "rereadPrompt": "Začeli nov poskus branja?", + "rereadResetProgress": "Ponastavi položaj za odčitavanje na začetek. Sinhronizirane naprave lahko prejmejo to ponastavitev.", + "rereadConfirm": "Začni znova brati", + "fieldStarted": "Začetno", + "fieldEnded": "Končano", + "fieldOutcome": "Rezultat", + "outcome": { + "completed": "Končano", + "skimmed": "Posneto", + "abandoned": "Zapuščena", + "inProgress": "V teku" + }, + "spanRange": "{from} do {to}", + "spanSince": "od {from}", + "spanEnded": "končano {to}", + "spanUnknown": "Ni zabeleženih datumov", + "sessionCount": "{count,plural,one{# zasedanje} two{# seje} few{# seje} other{# seje}}", + "endBeforeStart": "Končni datum mora biti na začetni datum ali po njem.", + "editAria": "Uredi ta poskus", + "deleteAria": "Zbriši ta poskus", + "cancelDeleteAria": "Prekliči brisanje tega poskusa", + "confirmDeleteAria": "Potrdi brisanje tega poskusa", + "empty": "Ni zabeleženih poskusov", + "emptyHint": "Začnite ponovno brati ali pa dodajte poskus, ki ste ga končali, preden je ta knjižnica obstajala." + }, + "records": { + "title": "Evidence", + "longestSession": "Najdaljša seja", + "bestDay": "Najboljši dan", + "longestStreak": "Najdaljši niz", + "streakDays": "{count,plural,one{# dan} two{# dni} few{# dni} other{# dni}}", + "pace": "Hitrost branja", + "jumpedBack": "Skočil nazaj", + "jumpedBackTimes": "{count,plural,one{# čas} two{# časi} few{# časi} other{# časi}}", + "firstOpened": "Prvič odprt", + "empty": "Ko se ta knjiga sestane, se pojavijo zapisi." + }, + "band": { + "curve": "Krivulja", + "trace": "Sled", + "switchAria": "Prikaz grafa", + "curveTitle": "Napredek skozi čas", + "traceTitle": "Kje si bil v knjigi?", + "curveSubDays": "{active} aktivne dni {total}", + "curveSubSitting": "ena seja, seja po seji", + "traceSub": "vsaka vrstica je stry ena seja obravnava", + "traceSubWithBacktracks": "{count,plural,one{vsaka vrstica je ena seja, # Skočil nazaj.} two{vsaka vrstica je ena seja, # Skočil nazaj.} few{vsaka vrstica je ena seja, # Skočil nazaj.} other{vsaka vrstica je ena seja, # Skočil nazaj.}}", + "legendPosition": "Dosežena pozicija", + "legendMinutes": "Zapisnik", + "legendBacktrack": "Skočil nazaj", + "traceEmpty": "Ni še sledu.", + "traceEmptyHint": "Ko seje obstajajo to prikazuje odsek knjige vsak pokrit, in kjer ste podvojili nazaj.", + "tooltipCovered": "Zajeto {from}% do {to}%", + "tooltipMinutes": "{minutes} min." + }, + "emptyStage": { + "title": "Nič še ni zabeleženo za to knjigo.", + "description": "Dnevnik branja je zgrajen iz sej. BookOrbit zapisi enkrat vsakič, ko preberete v spletnem čitalniku, in pobere preostale iz naprav, ki jih sinhronizirate.", + "readerTitle": "Preberi tukaj.", + "readerBody": "Vsaka minuta v bralniku BookOrbit je samodejno prijavljena.", + "koreaderTitle": "Uskladi KOReader", + "koreaderBody": "Vstavek potiska vsak sedel nazaj, s strani, ki ste jo dosegli.", + "koboTitle": "Uskladi a Kobo", + "koboBody": "Vklopite napravo in BookOrbit bere svoj števec časa branja.", + "addSession": "Ročno dodaj sejo", + "recordPast": "Zapiši preteklo branje" + }, "moreActionsAria": "Več dejanj dnevnika branja", "export": { "button": "Izvozi" @@ -4317,6 +7475,7 @@ "startFuture": "Datum začetka ne more biti v prihodnosti.", "finishFuture": "Datum zaključka ne more biti v prihodnosti.", "finishBeforeStart": "Datum zaključka mora biti enak ali kasnejši od datuma začetka.", + "finishBeforeStartWithDate": "Končni datum mora biti na začetni datum ali po njem ({date}).", "saveFailed": "Shranjevanje datumov branja ni uspelo." }, "eta": { @@ -4381,6 +7540,7 @@ "colProgressChangeMobile": "Razlika", "colEndProgress": "Končni napredek", "colEndProgressMobile": "Konec", + "jumpToProgress": "Skoči k {progress}%", "empty": "Še ni zabeleženih bralnih sej.", "emptyHint": "Dodajte sejo, da začnete graditi zgodovino branja te knjige.", "colPace": "Tempo", @@ -4430,6 +7590,7 @@ "moveDown": "Premakni navzdol", "removeSeries": "Odstrani serijo", "seriesIndexLabel": "Vrstni red v seriji", + "invalidSeriesIndex": "Vnesite števke z največ eno decimalno mesto, kot je 5.10.", "totalLabel": "Knjige v seriji", "totalPlaceholder": "od", "totalHint": "Skupno število knjig v tej seriji. Deljeno z vsemi, ki imajo to serijo." @@ -4452,6 +7613,15 @@ "chips": { "addPlaceholder": "Dodaj ..." }, + "quickFilter": { + "presentFiles": "Filtriraj za predstavitev datotek", + "missingFiles": "Filtriraj do manjkajočih datotek", + "withCovers": "Filtriraj v knjige z ovitki", + "missingCovers": "Filter za knjige manjkajoče platnice", + "missingAudioCovers": "Filter za knjige manjka avdio knjige ovitkov", + "withValues": "Filtriraj v vrstice z vrednostmi", + "emptyRows": "Filtriraj v prazne vrstice" + }, "cover": { "previewDescription": "Predogled naslovnice knjige", "editDescription": "Uredi naslovnico knjige", @@ -4498,6 +7668,8 @@ "read": { "play": "Predvajaj", "read": "Beri", + "readFormat": "Preberi {format}", + "playFormat": "Predvajaj {format}", "primary": "Primarno", "peekFormat": "Poglej {format}", "chooseFormat": "Izberite format za branje ali predvajanje", @@ -4507,6 +7679,7 @@ "unread": "Neprebrano" }, "series": { + "seriesRow": "Serija", "bookCount": "{count, plural, =0 {(brez knjig)} one {(# knjiga)} two {(# knjige)} few {(# knjige)} other {(# knjige)}}", "readOfCount": "{read} od {total} prebranih" }, @@ -4648,6 +7821,7 @@ "apply": "Uveljavi", "done": "Končano", "discard": "Zavrzi", + "deselect": "Odizberi", "finalize": "Dokončaj", "rescan": "Ponovno preglej", "uploadAction": "Naloži", @@ -4657,12 +7831,19 @@ "bulkEditAction": "Množično urejanje", "applyFetched": "Uveljavi pridobljeno", "retryErrors": "Ponovi napake", + "discardDialog": { + "title": "{count,plural,one{Zavrzi izbrano datoteko?} two{Zavrzite # Izbrane datoteke?} few{Zavrzite # Izbrane datoteke?} other{Zavrzite # Izbrane datoteke?} =0{Ne zavržeš datotek?}}", + "description": "{count,plural,one{To trajno izbriše izbrano datoteko z diska. Tega dejanja ni mogoče razveljaviti.} two{To trajno izbriše # izbrane datoteke z diska. Tega dejanja ni mogoče razveljaviti.} few{To trajno izbriše # izbrane datoteke z diska. Tega dejanja ni mogoče razveljaviti.} other{To trajno izbriše # izbrane datoteke z diska. Tega dejanja ni mogoče razveljaviti.} =0{Ni izbranih datotek.}}", + "confirm": "{count,plural,one{Zbriši datoteko} two{Zbriši # datoteke} few{Zbriši # datoteke} other{Zbriši # datoteke}}", + "failed": "Izbranih datotek ni bilo moč zbrisati. Poskusite znova." + }, "commaSeparated": "ločeno z vejicami", "destinationLibrary": "Ciljna knjižnica", "destinationFolder": "Ciljna mapa", "nFailed": "{count} neuspešnih", "updatedOfFiles": "Posodobljenih {updated} od {total} datotek", "errorStatus": "Napaka {status}", + "invalidSeriesIndex": "Vnesite števke z največ eno decimalno mesto, kot je 5.10.", "tab": { "all": "Vse", "pending": "V čakanju", @@ -4698,6 +7879,22 @@ "nFailed": "{count} neuspešno", "nTotal": "{count} skupaj" }, + "uploadFailures": { + "heading": "{count,plural,one{Ni moč naložiti # datoteka} two{Ni moč naložiti # datoteke} few{Ni moč naložiti # datoteke} other{Ni moč naložiti # datoteke}}", + "dismissAll": "Prosto", + "retry": "Poskusi ponovno naložiti {name}", + "dismiss": "Prosto {name}", + "reason": { + "unsupported": "Nepodprta vrsta datoteke: .{extension}", + "noExtension": "Datoteka nima pripone, zato njena oblika ni znana", + "tooLarge": "Večje od {limit} Omejitev pošiljanja", + "tooLargeServer": "Večja od omejitve pošiljanja strežnika", + "tooLargeProxy": "Zavrnjen kot prevelik, preden je dosegel BookOrbit, verjetno z obratno posrednik", + "storageFull": "Strežnik je izven prostora za shranjevanje", + "network": "Ni moč doseči strežnika", + "status": "Pošiljanje ni uspelo (HTTP) {status})" + } + }, "fileList": { "emptyTitle": "Ni datotek v odložišču knjig", "emptyMessageDefault": "Naložite datoteke ali jih spustite v mapo odložišča knjig", @@ -4808,6 +8005,7 @@ }, "empty": { "nothingToReview": "Nič ni treba pregledati. Vsaka pripravljena datoteka ima cilj in zanesljivo ujemanje.", + "nothingReadyToFile": "Nobena datoteka ni pripravljena za vložitev.", "dropHint": "Ali pa spustite datoteke kamor koli na tej strani." }, "selectAllOnPage": "Izberi vse datoteke na tej strani", @@ -4832,10 +8030,841 @@ "access_denied": "Ni dostopa", "invalid_format": "Napačna oblika", "error": "Ne bi uspelo" + }, + "unit": { + "fileCount": "{count,plural,one{# datoteka} two{# datoteke} few{# datoteke} other{# datoteke}}", + "filesHeading": "{count,plural,one{Datoteka v tem vnosu} two{# datoteke v tem vnosu} few{# datoteke v tem vnosu} other{# datoteke v tem vnosu}}", + "role": { + "content": "Knjiga", + "cover": "Cover", + "metadata": "Metapodatki", + "supplement": "Dodatno" + } } } }, + "bookRequests": { + "title": "Zahteve (Beta)", + "subtitle": "Vprašajte za knjige, ki jih knjižnica še nima. Ta funkcija je eksperimentalna, pričakujte manjše hrošče.", + "tabs": { + "search": "Zahtevaj knjigo", + "mine": "Moje prošnje.", + "all": "Vse zahteve" + }, + "mediaKind": { + "ebook": "E-knjiga", + "audiobook": "Zvočna knjiga", + "comic": "Strip" + }, + "status": { + "pending": "V teku", + "approved": "Odobreno", + "rejected": "Zavrnjeno", + "cancelled": "Preklicano", + "searching": "Iskanje", + "grabbed": "Zagrabljena", + "downloading": "Prenašanje", + "importing": "Uvoz", + "needs_review": "Potrebe po pregledu", + "available": "Na voljo", + "failed": "Ni uspelo" + }, + "search": { + "titleLabel": "Naslov", + "titlePlaceholder": "Naslov knjige", + "authorLabel": "Avtor", + "authorPlaceholder": "Ime avtorja", + "mediaKindLabel": "Oblika", + "libraryLabel": "Dodaj v knjižnico", + "libraryAny": "Naj se o tem odloči pooblaščenec", + "libraryDefault": "Privzeto ({library})", + "libraryChoose": "Izberite knjižnico", + "libraryRequired": "Vaše prošnje so odobrene takoj, ko jih naredite, zato izberite knjižnico, v kateri naj bi knjiga pristala.", + "fulfillmentLabel": "Izpolnitev", + "fulfillmentAutomatic": "Samodejno", + "fulfillmentChooseRelease": "Izberite sprostitev", + "folderLabel": "Mapa", + "languageLabel": "Jezik zahtevka", + "languageAny": "Jezik", + "languageDefaultToggleLabel": "Uporabi ta jezik za nove zahteve", + "languageDefaultSetHint": "Vprašajte za ta jezik na vsako novo zahtevo", + "languageDefaultClearHint": "Prenehaj spraševati po tem jeziku privzeto", + "languageDefaultSaved": "Nove zahteve bodo zahtevale {language}", + "languageDefaultCleared": "Nove zahteve bodo sledile vašemu jeziku vmesnika", + "languageDefaultFailed": "Ni moč shraniti vaše jezikovne želje", + "submit": "Iskanje", + "searching": "Iskanje ponudnikov...", + "noResultsTitle": "Ni najdenih ujemajočih se knjig", + "noResultsHint": "Poskusite z drugim naslovom ali avtorjem.", + "noResultsIndexerHint": "Poskusite drugačen naslov ali avtorja ali pa iščite indekse za \"{title}\"in sam izberi odpustnico.", + "freeTextAction": "Indekserji iskanja", + "manualSearchAction": "Ročno iskalni indekserji", + "yearUnknown": "Leto neznano", + "sourceCount": "{count,plural,one{# vir} two{# viri} few{# viri} other{# viri}}", + "sourcesLabel": "Viri: {sources}", + "sourcesUnavailable": "Nekateri viri se niso odzvali, zato so rezultati lahko nepopolni: {sources}", + "identifiers": { + "none": "Št. ISBN", + "one": "1 ISBN", + "confirmed": "ISBN potrjena", + "count": "{count} ISBNs", + "sourcesTitle": "Viri metapodatkov", + "provider": "Ponudnik", + "providerTitle": "Naslov ponudnika", + "isbn": "ISBN", + "year": "Leto", + "language": "Jezik", + "notProvided": "Ni določeno", + "searchScope": "Izberite eno od {count,plural,one{# ISBN} two{# ISBNs} few{# ISBNs} other{# ISBNs}} iskanje ali iskanje po naslovu in avtorju.", + "searchScopeLimited": "Izberite en ISBN za iskanje.", + "titleAuthorOnly": "ISBN ni bil na voljo. BookOrbit bo iskal enkrat po naslovu in avtorju.", + "chooseSearch": "Izberite edition za iskanje", + "searchByEdition": "Najdi izdajo za izdajo", + "findRelease": "Najdi sprostitev", + "primaryIsbn": "ISBN {isbn}", + "primaryTitleAuthor": "Naslov in avtor", + "recommended": "Priporočeno", + "recommendationHelpLabel": "Kako BookOrbit izbere priporočeno ISBN", + "recommendationTitle": "Kako se izbere priporočeno iskanje", + "recommendationLanguage": "Pred znano neusklajenostjo raje imej zahtevani jezik, nato neznan jezik.", + "recommendationAgreement": "Prefer ISBN, ki ga potrdi bolj neodvisnih ponudnikov metapodatkov.", + "recommendationProvider": "Uporabi BookOrbitovo stabilno prioriteto zagotavljanja metapodatkov.", + "recommendationRelevance": "Uporabi položaj izdaje v rezultatih tega ponudnika.", + "recommendationYear": "Raje bi imel leto izdaje, ki je najbližje prvemu znanemu letu.", + "recommendationStable": "Uporabite ISBN kot končni stabilni lomilec kravat.", + "recommendationFallback": "Če ni na voljo veljavnega ISBN-a, BookOrbit išče enkrat po naslovu in avtorju. Izbira izdaje iz menija vedno prevlada nad tem priporočilom.", + "withoutIsbn": "Iskanje po naslovu in avtorju", + "action": "Ukrepanje" + }, + "request": "Zahtevek", + "download": "Prenesi", + "getAutomatically": "Dobi samodejno", + "chooseRelease": "Izberite sprostitev", + "joinRequest": "Dodaj še mene.", + "submitted": "Zahtevek", + "joinedExisting": "Dodal vas je k obstoječi zahtevi", + "submitFailed": "Ni bilo mogoče predložiti zahtevka", + "alreadyInLibrary": "Že v vaši knjižnici", + "alreadyRequested": "Že nekdo drug ga je zahteval.", + "alreadyRequestedByYou": "To si že zahteval.", + "preferredFormatsLabel": "Prednostne oblike", + "preferredFormatsHint": "Izdaje v teh oblikah so uvrščene višje. Drugi formati so še vedno na voljo.", + "noteLabel": "Opomba za akreditatorja", + "notePlaceholder": "Vse, kar je vredno vedeti o tej prošnji.", + "moreOptions": "Več možnosti", + "fewerOptions": "Manj možnosti", + "optionsSummary": "{formats} · dodana opomba", + "formatToggleAria": "Raje {format}", + "pair": { + "choice": "Oboje.", + "choiceHint": "Skupaj vprašajta za e-knjigo in avdioknjigo", + "ebookLibraryLabel": "Knjižnica E-knjiga", + "audiobookLibraryLabel": "Knjižnica z avdio knjigami", + "audiobookFolderLabel": "Mapa z avdio knjigami", + "landsTogether": "Oba formata prispeta kot ena knjiga {library}.", + "landsSeparately": "{library} hrani po eno knjigo na datoteko, tako da vsak format prispe kot svojo knjigo.", + "landsApart": "E-knjiga in avdioknjiga gresta v različne knjižnice, tako da prispeta kot dve knjigi.", + "preferredEbookFormats": "Prednostni formati e-knjig", + "preferredAudiobookFormats": "Prednostne oblike avdioknjig", + "state": { + "owned": "V vaši knjižnici", + "following": "To si zahteval.", + "joinable": "Zahtevano", + "new": "Ni zahtevano" + }, + "requestBoth": "Zahtevek", + "getBoth": "Vzemi oboje.", + "chooseReleases": "Izberite datoteke", + "joinBoth": "Dodaj me k obema", + "requestEbook": "Zahteva e-knjiga", + "requestAudiobook": "Zahtevaj avdioknjigo", + "getEbook": "Dobi e-knjigo", + "getAudiobook": "Dobi avdioknjigo", + "joinEbook": "Dodaj me k zahtevi za e-knjigo", + "joinAudiobook": "Dodaj me k zahtevi za avdioknjigo", + "haveBoth": "V vaši knjižnici", + "requestedBoth": "Zahtevano", + "submitted": "Zahteval je e-knjigo in avdioknjigo", + "submittedPartlyJoined": "Eden je že na poti, zato ste bili dodani k tej zahtevi.", + "submittedJoinsBook": "Zahtevano. Kopijo se bo pridružilo že v vaši knjižnici" + } + }, + "card": { + "details": "Podrobnosti", + "mediaKind": "Oblika", + "library": "Knjižnica", + "requestedBy": "Zahtevano s strani", + "requestedByAt": "{name} o {time}", + "alsoWanted": "Prav tako ga je želel", + "alsoWantedCount": "{count,plural,one{# To hoče druga oseba.} two{# To si želijo drugi.} few{# To si želijo drugi.} other{# To si želijo drugi.}}", + "moreActions": "Več ukrepov za {title}", + "settledIn": "Vloženo {library}, {time}", + "settledAt": "Zaprto {time}", + "dismissedBadge": "Prosto" + }, + "detail": { + "unknownAuthor": "Neznan avtor", + "requestedBy": "Zahtevano s strani", + "requestedOn": "Zahtevano dne", + "library": "Knjižnica", + "series": "Serija", + "isbn": "ISBN", + "decidedBy": "Odloči se", + "requesterNote": "Opomba prejemnika", + "decisionNote": "Opomba k odločitvi", + "statusReason": "Kaj je ustavilo?", + "alsoWanted": "Prav tako ga je želel", + "decisionNoteLabel": "Opomba (neobvezno)", + "decisionNotePlaceholder": "Pojasnite odločitev", + "destinationLibraryLabel": "Namembna knjižnica", + "destinationLibraryPlaceholder": "Izberite knjižnico", + "destinationFolderLabel": "Ciljna mapa", + "languageLabel": "Jezik, za katerega se prosi", + "languageAny": "Jezik", + "destinationRequired": "Daš knjigo v knjižnico, zato jo izberi, preden jo odobriš.", + "fulfilTitle": "Zapri to zahtevo", + "fulfilHint": "Postavite zahtevo v knjigo, ki ste jo dodali, ali v datoteko Dock knjige, ki čaka, da se vloži.", + "bookIdLabel": "ID knjige", + "bookIdPlaceholder": "npr. 128", + "dockFileIdLabel": "ID datoteke z dokom knjige", + "dockFileIdPlaceholder": "npr. 42", + "backToList": "Vse zahteve", + "loading": "Nalaganje zahteve...", + "transfer": "Prenos", + "requestSection": "Zahtevek", + "decideTitle": "Odobrite ali zavrnete", + "fulfilSourceLabel": "Kaj je zakljucilo to zahtevo?", + "fulfilFromLibrary": "Knjiga v knjižnici", + "fulfilFromDock": "Datoteka s knjižno doko", + "fulfilSearchLabel": "Išči datoteko, ki zapre to zahtevo", + "fulfilSearchBooks": "Preišči knjižnico po naslovu ali avtorju", + "fulfilSearchDock": "Iskanje po knjižni dok po imenu datoteke", + "fulfilSearching": "Iskanje...", + "fulfilNoResults": "Nič se ne ujema.", + "errors": { + "notFound": "Ta zahteva ne obstaja več.", + "forbidden": "Ta prošnja pripada nekomu drugemu.", + "loadFailed": "Ni moč naložiti zahteve" + }, + "entityName": "Zahtevek", + "pairSwitchLabel": "Oblike v tej zahtevi", + "joinsBook": "Pridruži se knjigi, ki jo imate", + "joinsBookHint": "Ko to prispe, je dodan v knjigo že v vaši knjižnici" + }, + "actions": { + "approve": "Odobreno", + "approveAndNext": "Odobrijo in naslednje", + "reject": "Zavrni", + "cancel": "Prekliči zahtevo", + "cancelDownload": "Prekliči prenos", + "dismiss": "Prosto", + "restore": "Obnovi", + "delete": "Izbriši zahtevo", + "markFulfilled": "Oznaka izpolnjena", + "grab": "Najdi sprostitev", + "goToBook": "Pojdi v knjigo", + "retryRelease": "Poskusi še enkrat sprostiti", + "leave": "Zahteva za dopust", + "pair": { + "approveBoth": "Odobrite oboje", + "approveEbook": "Odobrena e-knjiga", + "approveAudiobook": "Odobrena avdioknjiga", + "rejectBoth": "Zavrni oboje", + "rejectEbook": "Zavrni e-knjigo", + "rejectAudiobook": "Zavrni avdioknjigo", + "cancelBoth": "Prekliči oboje", + "cancelEbook": "Prekliči e-knjigo", + "cancelAudiobook": "Prekliči avdioknjigo", + "dismissBoth": "Prosto", + "dismissEbook": "Odpravi e-knjigo", + "dismissAudiobook": "Odpusti avdioknjigo", + "restoreBoth": "Obnovi oboje", + "restoreEbook": "Obnovi e-knjigo", + "restoreAudiobook": "Obnovi avdioknjigo", + "grabEbook": "Najdi e-knjigo", + "grabAudiobook": "Najdi izdajo avdioknjige", + "chooseReleases": "Izberite datoteke", + "openEbook": "Odpri zahtevo za e-knjigo", + "openAudiobook": "Odpri zahtevo za avdioknjigo" + } + }, + "filters": { + "status": "Stanje", + "anyStatus": "Kakršen koli status", + "mediaKind": "Oblika", + "anyMediaKind": "Oblika", + "requester": "Zaprosilec", + "anyRequester": "Vsak prosilec", + "showDismissed": "Prikaži zavrnjeno", + "fulfilment": "Izpolnitev", + "anyFulfilment": "Izpolnjevanje", + "selfServeOnly": "samopostrežni", + "approvedOnly": "Preneseno z odobritvijo" + }, + "list": { + "loading": "Nalaganje zahtev...", + "emptyMine": "Niste še zahtevali nobene knjige.", + "emptyAll": "Ni še nobenih zahtev za knjigo.", + "pagination": "Strani zahtevka", + "pageOf": "Stran {page} m {total}", + "emptyHint": "Poišči knjigo in se bo pojavila tukaj, ko jo boš zahteval." + }, + "toasts": { + "approved": "Zahtevek je bil odobren", + "rejected": "Zahtevek je bil zavrnjen", + "cancelled": "Zahtevek je bil preklican", + "downloadCancelled": "Preneseno", + "dismissed": "Skrita s seznama", + "restored": "Nazaj na seznam.", + "deleted": "Zahtevek je bil izbrisan", + "fulfilled": "Zahteva je izpolnjena", + "grabbed": "Prenesi se začne", + "downloadRemoved": "Odjemalec za prenos odstranjen", + "bulkApproved": "{count,plural,one{# zahtevek je odobren} two{# zahtevki, odobreni} few{# zahtevki, odobreni} other{# zahtevki, odobreni}}", + "bulkApprovedPartial": "{done} odobren, {failed} ni mogoče", + "bulkDismissed": "{count,plural,one{# zahteva skrita} two{# skrite zahteve} few{# skrite zahteve} other{# skrite zahteve}}", + "bulkDismissedPartial": "{done} skrita, {failed} ni mogoče", + "unitChosen": "Uvoz knjige, ki ste jo izbrali", + "languageChanged": "Jezik zahtevka posodobljen", + "left": "To zahtevo ste pustili.", + "bulkRejected": "{count,plural,one{# zahtevek zavrnjen} two{# zahtevki zavrnjeni} few{# zahtevki zavrnjeni} other{# zahtevki zavrnjeni}}", + "bulkRejectedPartial": "{done} zavrnjena, {failed} ni mogoče", + "importDiscarded": "Uvožena datoteka je bila zavržena", + "pairApproved": "Odobreno oboje", + "pairRejected": "Zavrnjeno oboje" + }, + "errors": { + "loadFailed": "Ni moč naložiti zahtev", + "approveFailed": "Ni bilo mogoče odobriti te zahteve.", + "rejectFailed": "Ni moč zavrniti te zahteve", + "cancelFailed": "Ni moč preklicati te zahteve", + "cancelDownloadFailed": "Ni moč preklicati tega prejema", + "dismissFailed": "Ni moč skriti te zahteve", + "restoreFailed": "Te zahteve ni bilo moč vrniti", + "deleteFailed": "Ni moč zbrisati te zahteve", + "fulfilFailed": "Ni moč zapreti te zahteve", + "grabFailed": "Ni moč zagnati tega prenosa", + "removeDownloadFailed": "Ni moč odstraniti torrenta iz odjemalca za prenos", + "bulkApproveFailed": "Ni moč odobriti izbranih zahtev", + "bulkDismissFailed": "Ni moč skriti izbranih zahtev", + "selectUnitFailed": "Te knjige ni bilo mogoče uvoziti.", + "languageChangeFailed": "Ni moč spremeniti jezika zahteve", + "leaveFailed": "Te zahteve ni bilo mogoče opustiti", + "bulkRejectFailed": "Ta izbor ni bil zavrnjen", + "discardImportFailed": "Ta uvoz ni bil zavržen", + "approveCompanionFailedEbook": "Odobrila sem jo, a e-knjige ni bilo mogoče odobriti.", + "approveCompanionFailedAudiobook": "Odobril sem jo, a avdioknjige ni bilo mogoče odobriti." + }, + "grab": { + "title": "Pošlji odjemalcu za prenos", + "subtitle": "Prilepite magnetno povezavo ali naložite .torrent za \"{title}\".", + "singleFileNote": "Izpustitev je lahko ena knjiga v več oblikah, avdio knjiga v delih, ali arhiv - vse te uvoz kot eno knjigo. Izdaja, ki drži več ločenih knjig vas sprašuje, katero je treba obdržati.", + "magnet": "Magnetna povezava", + "torrentFile": ".torrent datoteka", + "client": "Prenesi odjemalca", + "submit": "Pošlji", + "errors": { + "pickOne": "Navedite bodisi magnetno povezavo ali datoteko .torrent, ne oboje", + "fileTooLarge": "Ta datoteka je večja od {limit}, torej ni .torrent datoteko", + "fileUnreadable": "Te datoteke ni bilo moč prebrati" + }, + "noClientList": "BookOrbit bo uporabil svoj odjemalec za prenos, ki je omogočen z najvišjo prioriteto." + }, + "attempts": { + "title": "Predhodni poskusi", + "loading": "Nalaganje prejšnjih poskusov...", + "loadFailed": "Ni moč naložiti prejšnjih poskusov", + "refused": "Zavrnjeno, nič preneseno", + "handPicked": "Poslano z roko" + }, + "download": { + "source": { + "automatic": "Samodejno prijema", + "manual": "Izbere ga akreditator", + "pasted": "Ročno prilepljen" + }, + "transferred": "{done} m {total}", + "transferredUnknown": "{done} preneseno", + "progressLabel": "Prenesi napredek za {title}", + "status": { + "queued": "V čakalni vrsti za prenos", + "downloading": "Prenašanje", + "completed": "Prenesi končano", + "importing": "Uvažanje v knjižnico", + "needs_review": "Čakanje na pregled v Knjižni dok", + "imported": "Dodano v vašo knjižnico", + "failed": "Prenesi ni uspelo" + } + }, + "releases": { + "title": "Izberite sprostitev", + "retryTitle": "Poskusi še enkrat sprostiti", + "pairTitle": "Izbori", + "pair": { + "tabsLabel": "Oblike za izbiro izpustov za", + "releaseCount": "{count,plural,one{# sprostitev} two{# izpusti} few{# izpusti} other{# izpusti}}", + "searching": "Iskanje", + "toChoose": "Izbira", + "sent": "Poslano", + "finishedTitle": "Nič več ni ostalo za izbiro", + "finishedHint": "Oba formata imata sedaj svojo izdajo. Vsakemu lahko sledite iz zahteve.", + "backToRequest": "Nazaj na zahtevo", + "done": "Opravljeno" + }, + "subtitle": "Razvrščen po vseh omogočenih indeksih.", + "summaryCount": "{count,plural,one{# sprostitev} two{# izpusti} few{# izpusti} other{# izpusti}}", + "allFreeleech": "vse freeleech", + "allLanguage": "vse {language}", + "allFormat": "vse {format}", + "allIndexer": "vse od {name}", + "criteria": { + "label": "Aktivno iskanje", + "searched": "Iskanje", + "searchedTitleAuthor": "Naslov in avtor iskanja", + "nothingFound": "Nič ni najdenega {key}", + "changeSearch": "Spremeni iskanje", + "closeSearch": "Zapri", + "sources": "Viri", + "sourceSearchedIsbn": "Preiskali ISBN", + "sourceSearchedTitleAuthor": "Preiskali naslov in avtorja", + "sourceNoAdapter": "brez ujemajočega adapterja", + "sourceReleases": "{count,plural,one{# sprostitev} two{# izpusti} few{# izpusti} other{# izpusti}}", + "sourceNone": "brez ujemanja", + "sourceFiltered": "{count} filtriran", + "sourcesSearched": "{count,plural,one{# iskanje vira} two{# Viri, ki so bili preiskani} few{# Viri, ki so bili preiskani} other{# Viri, ki so bili preiskani}}", + "showEachSource": "Prikaži vsako", + "uncovered": "{count,plural,one{# omogočen vir naredi} two{# omogočeni viri delajo} few{# omogočeni viri delajo} other{# omogočeni viri delajo}} ne nosite takšne knjige", + "fixSource": "Popravi v nastavitvah", + "searchInstead": "Namesto tega išči to", + "keyTried": "Poskušala, nič našla", + "keyTriedCount": "Poskušala sem. {count,plural,one{# sprostitev} two{# izpusti} few{# izpusti} other{# izpusti}}", + "searchWithoutIsbn": "Naslov in avtor", + "customIsbnSource": "Prilagojeno ISBN", + "filteredLocally": "Filtrirano krajevno:", + "title": "Naslov", + "author": "Avtor", + "additionalAuthors": "Dodatni avtorji", + "isbn10": "ISBN-10", + "isbn13": "ISBN-13", + "isbns": "ISBNs", + "mediaKind": "Mediji", + "language": "Jezik", + "formats": "Prednostne oblike", + "editFields": "Uredi polja", + "closeEditor": "Zapri urejevalnik", + "authorsEditor": "Avtorji, po ena vrstica", + "authorsPlaceholder": "En avtor na vrstico", + "authorsInvalid": "Uporabite največ 50 avtorjev, z 255 znaki ali manj na avtorja.", + "languagePlaceholder": "Jezik", + "formatsPlaceholder": "epub, azw3", + "formatsInvalid": "Uporabi največ 20 formatov, z 20 znaki ali manj na format.", + "isbnSelection": "Način iskanja", + "isbnSelectionHint": "Izberite eno ISBN, naslov in avtor, ali pa dodajte po meri ISBN.", + "noIsbnSelected": "Naslov in avtor, brez ISBN", + "customIsbn": "Prilagojeno ISBN", + "customIsbnPlaceholder": "ISBN-10 ali ISBN-13", + "addIsbn": "Dodaj ISBN", + "invalidIsbn": "{isbn} ni veljaven ISBN-10 ali ISBN-13.", + "titleRequired": "Vnesite naslov za iskanje.", + "fixedMedia": "Mediji so ostali {media} ker nadzoruje združljive vire in pot izpolnitve.", + "useRequestFields": "Uporabi polja zahtevka", + "runSearch": "Išči s temi polji" + }, + "previousFailure": "Zadnji poskus je spodletel: {reason}", + "refused": { + "sourceRefused": "Ta vir je zavrnil prejšnjo izdajo", + "sourceUnavailable": "Ta vir ni odgovoril", + "vipRequired": "Potrebuje VIP račun na tem viru", + "clientRefused": "Vaš odjemalec je zavrnil prejšnjo izdajo", + "clientUnavailable": "Vaš odjemalec za prenos ni odgovoril na prejšnjo izdajo" + }, + "singleFileNote": "Izpustitev je lahko ena knjiga v več oblikah, avdio knjiga v delih, ali arhiv - vse te uvoz kot eno knjigo. Izdaja, ki drži več ločenih knjig vas sprašuje, katero je treba obdržati.", + "searching": "Iskanje indekserjev...", + "refresh": "Znova išči", + "cached": "Prikazujem zadnje iskanje. Iščite še enkrat sveže rezultate.", + "sortBy": "Razvrsti po", + "sort": { + "score": "Najboljša tekma", + "seeders": "Sejalci", + "size": "Velikost", + "bitrate": "Bitna hitrost", + "added": "Datum vnosa" + }, + "freeleechOnly": "Samo Freeleech ({count})", + "clearFilters": "Počisti filtre", + "filteredEmpty": "Noben izpust se ne ujema s temi filtri.", + "grab": "Izpust prejemanja", + "viewFiles": "Oglejte si datoteke", + "hideFiles": "Skrij datoteke", + "viewDetails": "O vsebini", + "hideDetails": "Skrij podrobnosti", + "inspectingFiles": "Branje seznama datotek za sprostitev...", + "inspectingNzb": "Pridobivanje in potrjevanje NZB...", + "inspectingShort": "Preverjanje datotek...", + "inspectionFailed": "Seznama datotek te izdaje ni bilo moč prebrati.", + "manifest": { + "ready": "{count,plural,one{Ta sprostitev vsebuje # datoteka. Podprta datoteka knjige se lahko uvozi.} two{Ta sprostitev vsebuje # datoteke. Podprta datoteka z knjigo se lahko uvozi.} few{Ta sprostitev vsebuje # datoteke. Podprta datoteka z knjigo se lahko uvozi.} other{Ta sprostitev vsebuje # datoteke. Podprta datoteka z knjigo se lahko uvozi.}}", + "noSupported": "Ta objava nima neposredno podprte datoteke z knjigo, zato je ni mogoče poslati.", + "contentsUnknown": "Ta sprostitev je pakirana kot arhiv (RAR, ZIP ali 7z). BookOrbit ga bo po prenosu izluščil, zato njegova vsebina še ni znana.", + "multipleBooks": "Ta sprostitev vsebuje {count} ločene knjige. Ko bo prenesete, vas bomo vprašali, katero uvoziti.", + "multiPartBook": "{count,plural,one{Ta izdaja je ena knjiga, narejena iz # Datoteka.} two{Ta izdaja je ena knjiga, narejena iz # datoteke, uvožene skupaj kot ena knjiga.} few{Ta izdaja je ena knjiga, narejena iz # datoteke, uvožene skupaj kot ena knjiga.} other{Ta izdaja je ena knjiga, narejena iz # datoteke, uvožene skupaj kot ena knjiga.}}", + "metadataUnavailable": "To je magnetna povezava. Njen seznam datotek ni na voljo, dokler torrent ne prinese metapodatkov iz roja.", + "usenetMetadataUnavailable": "To je sprostitev Usenet. Njegov končni seznam datotek ni na voljo, dokler NZBGet ne prenese in po-procesira.", + "bookFile": "Knjižna datoteka", + "extraFile": "Dodatno", + "truncated": "Prikaz {shown} m {total} datoteke.", + "untitledUnit": "Brez naslova", + "unitFiles": "{count,plural,one{# datoteka} two{# datoteke} few{# datoteke} other{# datoteke}}", + "unitsTruncated": "Prikaz {shown} m {total} knjige.", + "ignored": "{count,plural,one{Ignoring # vzorec ali datoteka z blazinicami.} two{Ignoring # vzorčne in polnilne datoteke.} few{Ignoring # vzorčne in polnilne datoteke.} other{Ignoring # vzorčne in polnilne datoteke.}}", + "mediaKind": { + "ebook": "E-knjiga", + "audiobook": "Zvočna knjiga", + "comic": "Strip" + } + }, + "manual": "Prilepi povezavo namesto nje", + "manualTorrent": "Namesto tega uporabi magnet ali .torrent", + "indexer": "Indekser", + "size": "Velikost", + "seeders": "Sejalci", + "language": "Jezik", + "seederCountPlural": "{count,plural,one{# sejalec} two{# sejalci} few{# sejalci} other{# sejalci}}", + "seederCountUnknown": "Sejalci neznani", + "format": "Oblika", + "files": "Datoteke", + "fileLayout": { + "single": "Ena navedena datoteka", + "multi": "Več navedenih datotek" + }, + "fileCount": "{count,plural,one{# datoteka} two{# datoteke} few{# datoteke} other{# datoteke}}", + "audio": "Zvok", + "bitrateAtLeast": "{rate}k+", + "channels": { + "mono": "Mono", + "stereo": "Stereo" + }, + "chapterCountPlural": "{count,plural,one{# Poglavje} two{# poglavja} few{# poglavja} other{# poglavja}}", + "durationHm": "{hours}h {minutes}m", + "durationM": "{minutes}m", + "freeleech": "Freeleech", + "vipOnly": "Samo VIP", + "hideVipOnly": "Skrij samo VIP", + "noneMatchedProfile": "Nobena izdaja se ne ujema z vašim profilom za ta medij, zato se nobena od njih ne prenese samodejno. Še vedno lahko pošljete enega ročno. Če želite razširiti, dodajte stopnjo z manj pogoji pod tistimi, ki jih imate.", + "profileMismatch": { + "summary": "{count,plural,one{# sprostitev je bila najdena, vendar samodejno prenesete bo preskočil, ker se ne ujema z nobenim {medium} profilni nivo.} two{# so bile odkrite sprosti, vendar jih bo samodejno prenesete preskočite, ker se nobena ne ujema {medium} profilni nivo.} few{# so bile odkrite sprosti, vendar jih bo samodejno prenesete preskočite, ker se nobena ne ujema {medium} profilni nivo.} other{# so bile odkrite sprosti, vendar jih bo samodejno prenesete preskočite, ker se nobena ne ujema {medium} profilni nivo.}} Pravila za ujemanje in profil so ločena preverjanja. Še vedno lahko kliknete Pošlji.", + "review": "Pregled {medium} profil", + "row": "Samodejno prenašanje bo preskočilo to. Najbližja stopnja: {tier}. {reasons}", + "failures": { + "formatUnknown": "{source} ni navedel oblike; ta stopnja zahteva {expected}.", + "format": "Oblika je {actual}; ta stopnja zahteva {expected}.", + "fileLayoutUnknown": "{source} ni navedel števila datotek; ta stopnja zahteva {expected}.", + "fileLayout": "Razpored datotek je {actual}; ta stopnja zahteva {expected}.", + "bitrate": "Bitna hitrost je: {actual} kbps; ta stopnja zahteva vsaj {expected} kbps.", + "channels": "Zvok je {actual}; ta stopnja zahteva {expected}.", + "languageUnknown": "{source} ni navedel jezika; ta stopnja zahteva {expected}.", + "language": "Jezik je {actual}; ta stopnja zahteva {expected}.", + "source": "Ta vir ni vključen v stopnjo.", + "seeders": "Ta sprostitev ima {actual} sejalci; ta stopnja zahteva vsaj {expected}.", + "sizeUnknown": "{source} ni navedel velikosti; ta stopnja omogoča do {expected}.", + "size": "Velikost je {actual}; ta stopnja omogoča do {expected}.", + "freeleech": "Ta stopnja zahteva prostodušje.", + "vipOnly": "Ta stopnja izključuje samo VIP izdaje." + } + }, + "alreadyGrabbed": "Že ugrabljeno", + "freeleechLabel": "Freeleech", + "published": "Objavljena", + "scoreLabel": "Rezultat tekme {score} od 100", + "scoreBreakdown": "Kako je ta izid dosegel rezultat", + "whyThisScore": "Zakaj ta rezultat?", + "failures": { + "unauthorized": "vknjižba potekla", + "throttled": "omejena stopnja", + "timeout": "čas je potekel", + "unreachable": "Nedostopen", + "unsupportedMedium": "ne nosi te vrste knjige", + "error": "iskanje ni uspelo" + }, + "reasons": { + "isbnMatch": "ISBN tekme", + "titleMatch": "Ujemanje naslova", + "authorMatch": "Naslov in avtor se ujemata", + "preferredFormat": "Prednostna oblika {detail}", + "knownFormat": "Oblika {detail}", + "unknownFormat": "Oblika ni navedena", + "expectedSize": "Uverjena velikost", + "suspiciousSize": "verjetna velikost {detail}", + "seeders": "{detail} sejalci", + "freeleech": "Freeleech", + "likelySeveralBooks": "{detail} datoteke, lahko več knjig" + }, + "errors": { + "loadFailed": "Ni moč najti izpisa" + }, + "backToRequest": "Nazaj na zahtevo", + "bestMatch": "Najboljša tekma", + "flags": "Zastave", + "score": "Rezultat", + "release": "Izpustitev", + "send": "Pošlji", + "tableCaption": "Izdaje, razvrščene", + "onlyBestMatch": "To je edina izdaja, ki se ujema.", + "tiedWithBest": "{count,plural,one{# druga verzija je bila enaka} two{# druge izdaje so enake} few{# druge izdaje so enake} other{# druge izdaje so enake}}", + "inspectionFailedHint": "Ni bilo poslano odjemalcu za prenos. Poskusite znova, ali pa uporabite Prilepi povezavo.", + "inspectionFailedHintGeneric": "Ni bil poslan na prenos odjemalca. Poskusite znova, ali izberite drugo izdajo.", + "mediumUncovered": "Noben vir ne nosi takšne knjige.", + "mediumUncoveredHint": "Noben od vaših omogočenih indeksov ne pokriva. Dodajte enega, ki ga, ali prilepite povezavo sami.", + "noSourcesConfigured": "Ni še vzpostavljenih virov iskanja.", + "noSourcesEnabled": "Vsak vir iskanja je izključen.", + "noSourcesConfiguredHint": "Nič ni bilo preiskano. Dodajte indekser ali namestite vstavek vira, ali prilepite povezavo na sprostitev sami.", + "noSourcesEnabledHint": "Nič ni bilo preiskano. Vklopi eno nazaj ali prilepi povezavo do sprostitve sami.", + "noSourcesAskAdmin": "Nič ni bilo preiskano. Vprašajte administratorja, da nastavite iskalni vir, ali prilepite povezavo na sprostitev sami.", + "addSource": "Dodaj vir", + "reviewSources": "Viri pregleda", + "protocol": { + "torrent": "Torrent", + "usenet": "Usenet", + "direct": "Neposredno preneseno", + "directPill": "Neposredno" + } + }, + "seed": { + "title": "Prenesi odjemalca", + "automated": "BookOrbit je samodejno izbral to izdajo.", + "loading": "Branje odjemalca za prenos...", + "loadFailed": "Za to zahtevo ni bilo mogoče doseči odjemalca za prenos.", + "notInClient": "Odjemalec prejemanja nima več tega torrenta.", + "state": "Stanje", + "seeding": "Sejanje", + "stopped": "Ustavljeno", + "client": "Odjemalec", + "ratio": "Razmerje", + "time": "Čas sejanja", + "uploaded": "Naloženo", + "hours": "{value} h", + "ofGoal": "{value} m {goal}", + "deleteFiles": "Zbriši tudi prenesene datoteke", + "remove": "Odstrani iz odjemalca", + "removeHint": "KnjigaOrbit nikoli ne ustavi semena sama. Uvožena knjiga ostane v vaši knjižnici v vsakem primeru.", + "confirm": { + "title": "Ali naj odstranim torrent?", + "description": "Torrent preneha sejati. Prenesene datoteke ostanejo na disku.", + "descriptionWithFiles": "Torrent preneha sejati in njegove prenesene datoteke so izbrisane. Uvožena knjiga ostane v vaši knjižnici." + } + }, + "pipeline": { + "label": "Napredek", + "steps": { + "asked": "Zaprošeno", + "approved": "Odobreno", + "release": "Najden izpust", + "downloading": "Prenašanje", + "filed": "Pila" + }, + "summary": { + "waiting": "Čakanje na: {step}", + "progress": "V teku na: {step}", + "done": "Vloženo v vaši knjižnici", + "failed": "Ustavljeno z napako na: {step}", + "stopped": "Ustavil se je na: {step}" + } + }, + "density": { + "label": "Gostota seznama", + "comfortable": "Udobno", + "compact": "Kompakten" + }, + "drawer": { + "label": "Zahtevaj podrobnosti", + "description": "Zahteva, stopnja, ki jo je dosegla, in odločitve, ki so o njej odprte.", + "previous": "Predhodna zahteva", + "next": "Naslednja zahteva", + "position": "{position} m {total}", + "shortcuts": "J / K za premik, A za odobritev, Esc za zaprtje" + }, + "table": { + "caption": "Knjižne zahteve, s stopnjo, ki jo je dosegel vsak", + "cover": "Cover", + "title": "Naslov", + "mediaKind": "Oblika", + "requestedBy": "Zahtevano s strani", + "age": "Starost", + "state": "Stanje", + "outcome": "Rezultat", + "actions": "Dejanja", + "selectAll": "Izberite vsako zahtevo za odobritev", + "selectRow": "Izberi {title}", + "toggleDetail": "Pokaži, kaj se je zgodilo. {title}", + "release": "Izpustitev", + "decidedBy": "Odloči se", + "decisionNote": "Opomba k odločitvi", + "requestNote": "Zahtevano obvestilo", + "openDetail": "Odpri vse podrobnosti", + "pairMedia": "E-knjiga in avdioknjiga" + }, + "confirm": { + "cancelDownloadTitle": "Prekličem ta prenos?", + "cancelDownloadDescription": "Aktivni prenos se ustavi in zahtevek ostane odprt, tako da se lahko izbere druga izdaja. Podatki, ki jih upravlja odjemalec, se hranijo; delna postavitev neposrednega prenosa se izbriše.", + "cancelTitle": "-Prenehati to zahtevo?", + "cancelDescription": "Nihče ne bo dobil knjige.", + "cancelDescriptionWithDownload": "Aktivni prenos je ustavljen. Podatki v odjemalcu se hranijo; delna direktna razporeditev se izbriše.", + "deleteTitle": "Ali želite to zahtevo izbrisati?", + "deleteDescription": "Zahteva in zapis o tem, kdo je zahteval, gredo za vedno, za vsakogar. Vsak torrent, ki še vedno seje, se odstrani iz odjemalca s svojimi datotekami, ki jih hrani. Neposredno odlaganje se samodejno očisti. Odpuščate zahtevo, namesto da jo skrijete s svojega seznama.", + "discardImportTitle": "Zavrzite ta uvoz?", + "discardImportDescription": "Prenesene datoteke se odstranijo iz Docka knjige in zahteva je označena kot neuspešna. Torrent nadaljuje sejanje; ustavite ga ločeno, če želite, da izgine.", + "leaveTitle": "Pustim to zahtevo?", + "leaveDescription": "Ne sledite mu in ne bodite obveščeni o tem.", + "rejectDescription": "Vsi, ki čakajo na te prošnje, pravijo, da so jih zavrnili." + }, + "outcome": { + "filedIn": "Vloženo {library} {time}", + "filed": "Pila {time}", + "rejected": "Zavrnjeno {time}", + "cancelled": "Preklicano {time}", + "awaitingApproval": "Čakanje na odobritev", + "awaitingReview": "Čakanje na ročno preverjanje", + "failedUnknown": "Ustavljen brez razloga od indekserja", + "atStage": { + "asked": "Samo prosil sem za", + "approved": "Odobreno, še ne preiskano", + "release": "Iščete sprostitev", + "downloading": "Prenašanje izdaje", + "filed": "Vpis v knjižnico" + } + }, + "handback": { + "AUTOMATION_DISABLED": "Samodejno grabljenje je izključeno, zato ta potrebuje ročno izpisek.", + "NO_DESTINATION": "Ta zahteva nima ciljne knjižnice, zato knjige ni nikjer za vnesti.", + "ATTEMPT_LIMIT": "Samodejno izpolnjevanje je po {attempts} poskusi", + "SEARCH_FAILED": "Ni moč najti datoteke: {detail}", + "NO_SOURCES_CONFIGURED": "Ni virov iskanja, zato ni bilo nič iskano za to zahtevo.", + "NO_SOURCES_ENABLED": "Vsak vir iskanja je izključen, zato ni bilo nič iskano za to zahtevo.", + "MEDIUM_UNCOVERED": "Ni omogočenega iskalnega vira, ki bi nosil to vrsto knjige, zato ni bilo nič iskano za to zahtevo.", + "PROFILE_EXCLUDED_ALL": "Nobeno sproščanje se ni ujemalo s profilom za ta medij, zato ta potrebuje sprostitev, ki jo izberemo ročno.", + "ALL_TRIED": "Vsaka dovolj dobra, da zgrabi je že bila preizkušena, tako da ta potrebuje sprostitev, ki jo izbere ročno", + "BELOW_SCORE_FLOOR": "Ni dosežene nobene izpustitve {floor} ali bolje, tako da ta potrebuje sprostitev, ki jo izbere ročno", + "ALL_BLOCKED": "Vsako dovolj dobro, da zgrabi je izključena zgodnejša napaka, tako da ta potrebuje sprostitev izbran ročno", + "ABANDONED": "Ni bila izbrana nobena izdaja, zato ta prenos ni bil zagnan" + }, + "submitError": { + "SUBMIT_TITLE_REQUIRED": "Preden knjigo zaprosite za naslov", + "SUBMIT_SELF_FULFIL_FORBIDDEN": "Ne smete izpolniti svojih zahtev.", + "SUBMIT_LIBRARY_FORBIDDEN": "Nimate dostopa do knjižnice.", + "SUBMIT_FOLDER_NEEDS_LIBRARY": "Izberite ciljno knjižnico, preden izberete mapo", + "SUBMIT_FOLDER_NOT_IN_LIBRARY": "Ta mapa ni del ciljne knjižnice", + "SUBMIT_DEFAULT_LIBRARY_UNREACHABLE": "Izberite ciljno knjižnico, do katere lahko pridete: privzeta ta primerka ni ena izmed vaših", + "SUBMIT_DESTINATION_REQUIRED": "Vaše prošnje so odobrene takoj, ko jih naredite, zato izberite knjižnico knjigo naj pristane v", + "SUBMIT_SELF_SERVE_LIMIT": "Končaj ali prej prekliče nekatere prenose: lahko jih imate {limit} v letu naenkrat", + "SUBMIT_ON_BEHALF_FORBIDDEN": "Ne smeš zahtevati knjig za druge.", + "SUBMIT_ON_BEHALF_UNKNOWN_USER": "Ta uporabnik ne more imeti za njih naročene zahteve za knjigo", + "SUBMIT_TARGET_BOOK_NOT_FOUND": "Te knjige ni v knjižnici, ki jo lahko dosežeš.", + "SUBMIT_TARGET_BOOK_HAS_MEDIUM": "Ta knjiga že ima ta format" + }, + "actionError": { + "BOOK_REQUEST_NOT_PENDING": "Ta ukrep podpira samo še nerešena zahteva; ta zahteva je trenutno {status}", + "BOOK_REQUEST_NOT_CANCELLABLE": "Zahteva, ki je {status} ni več mogoče preklicati", + "BOOK_REQUEST_DESTINATION_REQUIRED": "Pred odobritvijo te zahteve izberite ciljno knjižnico", + "BOOK_REQUEST_ACTION_FORBIDDEN": "Ne smeš. {action} ta zahteva", + "BOOK_REQUEST_STALE_TRANSITION": "Ta zahteva se je med izvajanjem spremenila. {status}." + }, + "bulk": { + "selected": "{count,plural,one{# izbrani zahtevek} two{# izbrane zahteve} few{# izbrane zahteve} other{# izbrane zahteve}}", + "approveSelected": "{count,plural,one{Odobreno # zahtevek} two{Odobrite vse #} few{Odobrite vse #} other{Odobrite vse #}}", + "clear": "Počisti", + "dismissSelected": "{count,plural,one{Skrij # zahtevek} two{Skrij vse #} few{Skrij vse #} other{Skrij vse #}}", + "rejectSelected": "{count,plural,one{Zavrni # zahtevek} two{Zavrni vse #} few{Zavrni vse #} other{Zavrni vse #}}", + "rejectNoteLabel": "Razlog (neobvezno)", + "rejectNotePlaceholder": "Zakaj se to zavrača?", + "rejectTitle": "Zavrni {count,plural,one{# zahtevek} two{# zahtevki} few{# zahtevki} other{# zahtevki}}?", + "rejectConfirm": "Zavrni" + }, + "chooser": { + "title": "Izberite katero knjigo uvoziti", + "hint": "Ta sprostitev se je izkazalo, da vsebuje {count} ločene knjige. Prenos je končan; izberite tistega, ki je bil zahtevan in ostali so ostali za seboj.", + "untitled": "Brez naslova", + "files": "{count,plural,one{# datoteka} two{# datoteke} few{# datoteke} other{# datoteke}}", + "import": "Uvozi to knjigo", + "mediaKind": { + "ebook": "E-knjiga", + "audiobook": "Zvočna knjiga", + "comic": "Strip" + } + }, + "review": { + "title": "Zakaj to čaka?", + "scoreShort": "Uvožena datoteka je bila zadana {score} na to zahtevo, pod {threshold} je bilo potrebno, da ga samodejno vpišete.", + "scoreClears": "Uvožena datoteka je bila zadana {score}, ki odpravlja {threshold} je bilo potrebno, da ga samodejno vpišete.", + "verificationOff": "Preverjanje uvoza je izključeno, tako da ta datoteka ni bila nikoli dosežena na zahtevo.", + "reason": { + "isbn_match": "Njegov ISBN je tisti, ki je bil zahtevan.", + "above_threshold": "Izgleda kot knjiga, ki so jo zahtevali.", + "below_threshold": "Preverite spodnja polja in se odločite, ali je prava knjiga.", + "author_mismatch": "Naslov je blizu, avtor pa je nekdo drug.", + "no_title": "Datoteka nima berljivega naslova, zato ni bilo ničesar za primerjati." + }, + "field": { + "title": "Naslov", + "authors": "Avtor", + "isbn13": "ISBN" + }, + "verdict": { + "match": "Ujema se", + "mismatch": "Ne ujema se", + "unknown": "Neprimerjava" + }, + "requested": "Zahtevano", + "imported": "Uvoženo", + "absent": "Niti prošnja niti datoteka nimata nobene.", + "notSet": "Ni nastavljeno", + "filesTitle": "Kaj je pristalo?", + "fileCount": "{count,plural,one{# datoteka} two{# datoteke} few{# datoteke} other{# datoteke}}", + "role": { + "cover": "Cover", + "metadata": "Metapodatki", + "supplement": "Dodatno" + }, + "fileAnyway": "Vseeno vrzi.", + "fileAnywayHint": "Vpiše to v ciljno knjižnico in označi zahtevo, ki je na voljo, točno tako kot bi se lahko dosegel rezultat.", + "noDestination": "Ta zahteva nima ciljne knjižnice z mapo v njej, zato še ni nikjer vložene knjige.", + "openDock": "Odpri knjižno doko", + "missingEntry": "Datoteka, ki je bila ta zahteva zapisana, ni več v Dockovi knjigi. Vložena je bila ali zavržena ročno, zato tukaj ni ostalo ničesar za pregled.", + "missingEntryNext": "Če je knjiga že v vaši knjižnici, jo spodaj zaprite. Če ni, prekličete zahtevo in poiščite drugo izdajo.", + "filed": "Vložil sem v vašo knjižnico.", + "fileFailed": "Ni moč vnesti tega uvoza", + "discard": "Zavrzi ta uvoz", + "discardHint": "Uporabite to, ko se je izkazalo, da je izdaja napačna knjiga. Datoteke so odstranjene iz Docka knjige in zahteva ni označena." + }, + "sources": { + "noneConfigured": "Ni virov iskanja.", + "allDisabled": "Vsak vir iskanja je izključen.", + "noneConfiguredHint": "Zahtevki se lahko vloži, vendar nič ne bo iskal za njih, dokler ne dodate indekser ali namestite vstavek izvor.", + "allDisabledHint": "Prošnje lahko vložite, vendar jih ne boste iskali, dokler ne vklopite enega.", + "askAdmin": "Prošnje se lahko vloži, vendar jih ne bo nič iskalo, dokler jih ne bo administrator nastavil.", + "addSource": "Dodaj vir", + "reviewSources": "Viri pregleda" + }, + "selfServeBadge": "samopostrežni", + "selfServeBadgeHint": "Neposredno ga je prenesel prosilec, brez homologacijskega koraka", + "missingFormat": { + "labelAudiobook": "Avdiobook za to knjigo", + "labelEbook": "E-knjiga za to knjigo", + "noAudiobook": "Ni še nobene zvočne knjige", + "noEbook": "Brez e-knjige še ni", + "requestAudiobook": "Zahtevaj avdioknjigo", + "requestEbook": "Zahteva e-knjiga", + "requested": "Zahtevano", + "requestedBySomeone": "Zahteval jo je nekdo drug", + "ownedElsewhere": "V knjižnici kot ločena knjiga", + "open": "Odpri", + "viewRequest": "Zahteva za ogled", + "submittedAudiobook": "Zahtevano. Zvočna knjiga se bo pridružila tej knjigi, ko prispe", + "submittedEbook": "Zahtevano. E-knjiga se bo pridružila tej knjigi, ko prispe." + } + }, "collection": { + "visibleToAll": "Vidno za vse uporabnike", + "visibleToAllHint": "Vsak uporabnik lahko vidi to zbirko, vendar lahko samo ti spremeniš njene knjige", "dialog": { "name": "Ime", "icon": "Ikona", @@ -4908,6 +8937,9 @@ "uploadBooks": "Naloži knjige", "appearance": "Videz", "appearanceDescription": "Izberite temo, poudarek, polmer vogala, površino in možnosti ozadja.", + "style": "Slog", + "surfacePalette": "Površina", + "topGlow": "Sije zgoraj", "theme": "Tema", "accent": "Poudarek", "radius": "Zaobljenost", @@ -4946,8 +8978,16 @@ "newCollection": "Nova zbirka", "noCollections": "Še ni zbirk", "newReleaseNotes": "Na voljo so nove opombe ob izdaji", + "requestBadge": { + "allActive": "{count,plural,one{# aktivna zahteva za vse uporabnike} two{# aktivne zahteve za vse uporabnike} few{# aktivne zahteve za vse uporabnike} other{# aktivne zahteve za vse uporabnike}}", + "mineActive": "{count,plural,one{# aktivno zahtevo vaše} two{# aktivne vaše zahteve} few{# aktivne vaše zahteve} other{# aktivne vaše zahteve}}" + }, "support": "Podprite BookOrbit", "supportAria": "Podprite BookOrbit na Ko-fi", + "appLinks": { + "ios": "Dobi aplikacijo iOS", + "android": "Aplikacija Android bo kmalu na voljo" + }, "sectionHeader": { "add": "Dodaj", "showAll": "Prikaži vse", @@ -4997,7 +9037,8 @@ "updateTooltip": "Posodobitev {version} je na voljo", "openUpdateRelease": "Odprite izdajo {version} na GitHubu", "zones": { - "browse": "Brskaj" + "browse": "Brskaj", + "reading": "Branje" }, "reorder": { "gripAria": "Spremeni vrstni red {name}", @@ -5028,6 +9069,8 @@ "moreActions": "Več dejanj", "setField": "Nastavi polje", "refreshMetadata": "Osveži metapodatke", + "refreshConfirm": "{count,plural,one{Osveži metapodatke za # Knjiga?} two{Osveži metapodatke za # Knjige?} few{Osveži metapodatke za # Knjige?} other{Osveži metapodatke za # Knjige?}}", + "refreshConfirmAction": "Osveži", "reExtractCover": "Znova pridobi naslovnico", "metadataLock": "Zaklep metapodatkov", "lockAll": "Zakleni vse", @@ -5076,9 +9119,82 @@ "columnsHint": "Uporabi ploščo za vidnost stolpcev v glavi tabele, da prikažeš ali skriješ stolpce.", "coverShape": "Oblika naslovnice", "circle": "Krog", - "square": "Kvadrat" + "square": "Kvadrat", + "rowDensity": "Višina vrstice", + "densityCompact": "Kompakten", + "densityComfortable": "Udobno", + "densityRoomy": "Prostorno", + "coverFallback": "Uporabi knjižne ovitke za manjkajoče portrete" + }, + "viewModes": { + "grid": "Pogled mreže", + "list": "Seznam", + "table": "Prikaz tabele" } }, + "browseHeader": { + "eyebrow": { + "library": "Knjižnica", + "smartScope": "Pametno področje uporabe", + "collection": "Zbiranje", + "browse": "Brskaj" + }, + "facts": { + "books": "{count,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}}", + "booksOf": "{matching} m {total,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}}", + "authors": "{count,plural,one{# avtor} two{# avtorji} few{# avtorji} other{# avtorji}}", + "series": "{count,plural,one{# serija} two{# serija} few{# serija} other{# serija}}", + "scanned": "Preiskano {time}", + "scanningProgress": "Skeniranje {processed} / {total}", + "syncsToKobo": "Sinhronizacija Kobo" + }, + "switcher": { + "open": "Preklopi od {name}", + "jumpTo": "Skoči na...", + "libraries": "Knjižnice", + "smartScopes": "Pametna področja uporabe", + "collections": "Zbirke", + "empty": "Nič se ne ujema." + }, + "search": { + "removeToken": "Odstrani filter {label}", + "clearAll": "Počisti iskanje in filtre", + "save": "Shrani", + "summaryToken": "{count,plural,one{# filter} two{# filtri} few{# filtri} other{# filtri}}" + }, + "tokens": { + "anyOf": "ali {count,plural,one{# Pravilo} two{# pravila} few{# pravila} other{# pravila}}", + "allOf": "Vse {count,plural,one{# Pravilo} two{# pravila} few{# pravila} other{# pravila}}" + }, + "sort": { + "sortBy": "Razvrsti po {field}", + "ascending": "Povzpnemo se. Preklopimo na padajoče", + "descending": "Spust. Preklopi na naraščajoče" + }, + "facets": { + "format": "Oblika", + "rules": "Pravila", + "show": "Prikaži", + "library": "Knjižnica", + "status": "Stanje", + "ruleCount": "{count,plural,one{# Pravilo} two{# pravila} few{# pravila} other{# pravila}}" + }, + "menu": { + "more": "Več za {name}", + "editRules": "Uredi pravila", + "deleteSmartScope": "Zbriši pametni obseg", + "deleteCollection": "Zbriši zbirko", + "confirmDelete": "Zbriši »{name}Tega ne moremo popraviti.", + "upload": "Naloži knjige" + }, + "scan": { + "scanning": "Skeniranje", + "started": "Skeniranje {name}", + "finished": "Pregled {name} dokončan" + }, + "viewModes": "Način prikaza", + "legend": "Barve glasnosti" + }, "iconPicker": { "clearSelectionAria": "Počisti izbrano ikono", "searchLucide": "Išči ikone Lucide...", @@ -5128,11 +9244,21 @@ "sidebar": { "title": "Stranska vrstica", "mobileDescription": "Prikaže mobilno stransko vrstico.", - "toggle": "Preklopi stransko vrstico" + "toggle": "Preklopi stransko vrstico", + "collapse": "Zloži stransko vrstico", + "expand": "Razširi stransko vrstico", + "open": "Odpri stranski pas", + "close": "Zapri stranski pas" }, "chipInput": { "typeAndEnter": "Vtipkaj in pritisni Enter za dodajanje", - "pressEnter": "Pritisni Enter za dodajanje" + "pressEnter": "Pritisni Enter za dodajanje", + "remove": "Odstrani {value}" + }, + "tokenSelect": { + "remove": "Odstrani {value}", + "noMatches": "Ni ujemanja.", + "showOptions": "Prikaži možnosti" } }, "entityIndex": { @@ -5156,8 +9282,49 @@ "smartScopesEmptyHint": "Pametni obsegi shranijo nabor filtrov, ki jih pogosto uporabljate.", "collectionsEmptyHint": "Zbirke združujejo knjige, ki jih izberete ročno." }, + "legalNotices": { + "about": "O BookOrbitu", + "trigger": "Pravna obvestila", + "title": "O BookOrbitu", + "description": "BookOrbitova dodelitev, licenciranje in izvorna koda.", + "poweredBy": "Poganja jo BookOrbit", + "originalDevelopment": "Ta programska oprema vsebuje material, ki je bil prvotno razvit kot BookOrbit.", + "copyright": "Avtorske pravice (C) 2025-2026 neon.", + "contributors": "Dodatne avtorske pravice imajo ustrezni prispevajoči v knjigiBookOrbit.", + "licenseSummary": "Licenca je licencirana pod GNU Affero General Public License, različica 3, z dodatnimi pogoji. Ta programska oprema je zagotovljena brez garancije. Pod temi pogoji jo lahko prerazporedite in spremenite.", + "sourceCode": "Izvorna koda", + "license": "Licenca AGPLv3", + "additionalTerms": "Dodatni izrazi" + }, "confirmDialog": { "typeToConfirm": "Type “{phrase}” to confirm" + }, + "formSheet": { + "discardTitle": "Zavrzite spremembe?", + "discardDescription": "Tvoje neshranjene spremembe bodo izgubljene.", + "discardConfirm": "Zavrzi" + }, + "backgroundPicker": { + "none": "Brez", + "dots": "Pike", + "cross": "Križ", + "millimeter": "Milimeter", + "blueprint": "Načrt", + "brushed": "Podlaga", + "scanlines": "Skenline", + "vinyl": "Vinil", + "carbon": "Ogljik", + "perforated": "perforirani", + "aurora": "Aurora", + "horizon": "Obzorje", + "glow": "Glow", + "mesh": "Meso", + "elevation": "Višina", + "prism": "Prism", + "spectrum": "Spekter", + "spectrum-x": "Spekter X", + "spectrum-plus": "Spekter Plus", + "eclipse": "Eclipse" } }, "customIcons": { @@ -5215,6 +9382,7 @@ }, "settings": { "title": "Prilagodi nadzorno ploščo", + "preferencesTitle": "Preferencialne armature", "tabs": { "widgets": "Gradniki", "shelves": "Police" @@ -5251,6 +9419,19 @@ "twoColumns": "Dva stolpca", "twoColumnsDescription": "Prikažite dve polici na vrsto." }, + "shelfSync": { + "label": "Uskladi police med sejami", + "description": "Shranite polico, vidljivost, število vrstic in razporeditev na vaš račun. Ko je izklopljena, nastavitve polic ostanejo v tem brskalniku." + }, + "saveFailed": "Ni moč shraniti nastavitev armaturne plošče. Preverite svojo povezavo in poskusite znova.", + "libraryScope": { + "title": "Dashboard knjižnice", + "description": "Izberite, katere knjižnice prispevajo knjige in branje podatkov na to armaturno ploščo.", + "allLibraries": "Vse dostopne knjižnice", + "summaryNone": "Izbrane niso nobene knjižnice", + "summaryCount": "{count,plural,one{# knjižnica} two{# knjižnice} few{# knjižnice} other{# knjižnice}}", + "required": "Izberite vsaj eno knjižnico." + }, "shelfRows": { "label": "Vrste knjig", "option": "{count, plural, one {Ena vrsta knjig} two {# vrsti knjig} few {# vrste knjig} other {# vrstic knjig}}", @@ -5389,6 +9570,7 @@ }, "tabs": { "providers": "Ponudniki", + "servers": "Poštni strežniki", "recipients": "Prejemniki", "groups": "Skupine", "templates": "Predloge", @@ -5557,6 +9739,306 @@ "sending": "Pošiljanje ...", "queued": "{count, plural, =0 {brez e-pošte v vrsti} one {ena e-pošta v vrsti} two {# e-pošt v vrsti} few {# e-pošt v vrsti} other {# e-pošt v vrsti}}", "failed": "Pošiljanje ni uspelo" + }, + "page": { + "addRecipient": "Dodaj prejemnika", + "recipients": "Prejemniki", + "groups": "Skupine", + "newGroup": "Nova skupina", + "servers": "Poštni strežniki", + "addServer": "Dodaj poštni strežnik", + "templates": "Predloge", + "newTemplate": "Nova predloga", + "noServersReadonly": "Ni še nobenega poštnega strežnika. Vprašajte skrbnika, da doda enega.", + "roleShared": "Delili z vsemi", + "roleSystem": "Ponastavitve gesel", + "cantConnect": "Ni mogoče povezati", + "builtIn": "Vgrajena", + "recipientsEmptyTitle": "Dodajte e-bralnik ali poštni predal, ki ga pošiljate knjige", + "recipientsEmptyBody": "Naslov Kindle se konča v {kindle} in je naveden pod napravami v vašem Amazon računu. PocketBook konča v {pocketbook}-Vsaka običajna inbox deluje.", + "kindleNote": "Kindle sprejema pošto samo od odobrenih pošiljateljev. Dodaj {address} v nastavitvah osebnega dokumenta v vašem računu Amazon.", + "copyAddress": "Kopiraj naslov", + "addressCopied": "Naslov je prepisan", + "editServer": "Uredi {name}", + "editTemplate": "Uredi {name}", + "editGroup": "Uredi {name}", + "groupCount": "{count,plural,one{# prejemnik} two{# prejemniki} few{# prejemniki} other{# prejemniki}}", + "recipientsHint": "Zvezdna zvezda je izbrana, ko jo pošlješ.", + "groupsHint": "Pošljite več prejemnikom naenkrat.", + "groupsEmpty": "Še vedno ni skupin.", + "serversHint": "Zvezdni zvezdnik pošilja tvoje knjige.", + "templatesHint": "Tema in sporočilo, poslano z vsako knjigo.", + "kindleTemplateNote": "Kindle nikoli ne prikaže predloge: njena e-pošta vedno gre ven z zadevo {subject}.", + "test": "Preskus", + "testServer": "Preskus {name}", + "testOk": "{name} priključen", + "testFailed": "{name} ni mogoče povezati", + "defaultRecipient": "Privzeti prejemnik", + "makeDefaultRecipient": "Znamka {name} privzeti prejemnik", + "defaultServer": "Privzet strežnik", + "makeDefaultServer": "Znamka {name} privzeti strežnik", + "defaultTemplate": "Privzeta predloga", + "makeDefaultTemplate": "Znamka {name} privzeta predloga", + "editRecipient": "Uredi {name}", + "serversEmptyTitle": "Ni še poštnega strežnika", + "serversEmptyBody": "Knjige gredo ven preko SMTP računa. Gmail, Outlook, iCloud in Fastmail so en klik; vsak drug strežnik deluje preveč.", + "needServerTitle": "Dodaj poštni strežnik, preden ga lahko pošljete", + "needServerBody": "BookOrbit pošilja knjige preko SMTP računa, ki ga imate, kot je Gmail z geslom aplikacije.", + "needServerAsk": "Vprašajte skrbnika, če želite deliti poštni strežnik z vami.", + "goToServers": "Pojdi na poštne strežnike", + "noEncryption": "Brez šifriranja" + }, + "route": { + "defaultSaved": "Privzeto posodobljeno" + }, + "attention": { + "title": "Potrebuje pozornost", + "count": "{count,plural,one{# Postavka} two{# postavke} few{# postavke} other{# postavke}}", + "hide": "Skrij", + "show": "Prikaži", + "serverDown": "{name} ni mogoče povezati", + "notDelivered": "{book} ni dosegel {recipient}", + "maybeDelivered": "{book} morda ni doseženo {recipient}", + "testedAgo": "testiran {time}", + "editServer": "Uredi strežnik", + "editRecipient": "Uredi prejemnika", + "resend": "Znova ponastavi" + }, + "reason": { + "tooLarge": "{size} je več kot {server} sprejme.", + "tooLargeGmail": "{size} je preko omejitve priponke Gmail 25 MB.", + "tooLargeFix": "Pošljite manjšo izdajo ali pa nastavite prejemnika na besedilo-samo EPUB.", + "signIn": "{server} je zavrnil prijavo.", + "signInFix": "Preverite uporabniško ime in geslo na poštnem strežniku.", + "unreachable": "{server} ni odgovoril.", + "unconfirmed": "Povezava je padla po predaji sporočila, zato je morda prispela.", + "unconfirmedFix": "Pred responiranjem preglejte inbox, ali pa lahko prispe dvakrat.", + "interrupted": "BookOrbit se je znova začel, medtem ko je ta e- pošta odhajala.", + "interruptedFix": "Pred responiranjem preglejte polje.", + "preparation": "Datoteka ni bila pripravljena za pošiljanje.", + "other": "Poštni strežnik ga je zavrnil.", + "server": "poštni strežnik", + "serverMessage": "Sporočilo strežnika", + "retryAt": "Naslednji poskus {time}." + }, + "status": { + "sent": "Poslano", + "sending": "Pošiljanje", + "retrying": "Ponovno preizkušanje · {attempt} m {total}", + "unconfirmed": "Nepotrjeno", + "failed": "Ni uspelo" + }, + "recent": { + "moreActions": "Več ukrepov za {title}", + "deletedBook": "Zbrisana knjiga", + "openBook": "Odpri knjigo", + "resend": "Znova ponastavi", + "delete": "Zbriši vnos" + }, + "log": { + "all": "Vse", + "attention": "Potrebuje pozornost", + "active": "V teku", + "book": "Knjiga", + "sentTo": "Poslano na", + "file": "Datoteka", + "status": "Stanje", + "when": "Kdaj", + "sentMeans": "Poslano pomeni, da ga je sprejel vaš poštni strežnik", + "emptyFilter": "Nič ni tukaj.", + "loadMore": "Naloži več", + "showing": "Prikaz {shown} m {total}", + "emptyTitle": "Nič še poslano.", + "emptyBody": "Knjige, ki jih po e-pošti pokažete tukaj, kam so šle in ali jih je poštni strežnik vzel." + }, + "card": { + "nothingSent": "Nič še poslano.", + "failed": "spodletelo", + "retrying": "ponovni poskusi", + "unconfirmed": "nepotrjeno", + "sending": "pošiljanje", + "narration": "Naracija", + "narrationTitle": "V knjigi se berejo." + }, + "device": { + "kindle": "Vrtinec", + "kobo": "Kobo", + "other": "Drugi e-bralniki", + "otherShort": "E-bralnik", + "none": "Oseba ali poštni predal" + }, + "sheet": { + "title": "Pošlji po e- pošti", + "sendTo": "Pošlji v", + "groups": "Skupine", + "templateName": "{name} predloga", + "eachFormat": "Oblika vsakega prejemnika", + "formatForAll": "{format} za vse", + "file": "Datoteka", + "mailServer": "Poštni strežnik", + "template": "Predloga", + "yourDefault": "privzeto", + "emails": "{count,plural,one{# e-pošta} two{# e-pošta} few{# e-pošta} other{# e-pošta}}", + "noOnePicked": "Nihče ni izbral", + "total": "{size} skupaj", + "send": "{count,plural,one{Pošlji} two{Pošlji # e-pošta} few{Pošlji # e-pošta} other{Pošlji # e-pošta}}", + "noFormat": "Št. {format}-Ne, ne, ne. {got}", + "readAlong": "Read-along, {size}", + "overKindle": "{size}, preko omejitve 50 MB Kindle's", + "overGmail": "{size}, preko omejitve za Gmail 25 MB", + "kindleRejects": "Kindle republis {format}", + "blockedKindle": "{name} Ne moreš vzeti. {format}Izberi EPUB ali PDF ali pa ga odkljukaj.", + "books": "{count,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}}", + "notReadyTitle": "E- pošta še ni nastavljena", + "notReadyBody": "Preden lahko knjiga kam odide, ta račun potrebuje poštni strežnik in prejemnika.", + "addServer": "Dodaj poštni strežnik", + "addServerHint": "Gmail, Outlook, iCloud, Fastmail ali kateri koli SMTP račun.", + "askForServer": "Vprašajte skrbnika, če si deli poštni strežnik.", + "addRecipient": "Dodaj prejemnika", + "addRecipientHint": "Vaš Kindle, PocketBook ali katerikoli poštni predal.", + "openSettings": "Odpri nastavitve e- pošte", + "sendingTitle": "Pošiljanje {title}", + "closeHint": "To lahko zaprete. Neuspehi se pojavijo tudi v vaših obvestilih in v vaši e-poštni zgodovini.", + "openHistory": "Odpri zgodovino", + "done": "Opravljeno", + "acceptedBy": "Sprejeto s {server} {time}", + "handingOver": "Predaja {server}" + }, + "editor": { + "kindleSubject": "pretvori", + "recipient": { + "newTitle": "Novi prejemnik", + "description": "Ime prejemnika, naslov, naprava in kaj prejme.", + "sectionRecipient": "Prejemnik", + "sectionReceives": "Kaj prejme", + "name": "Ime", + "email": "E- poštni naslov", + "device": "Naprava", + "deviceHint": "Kindle spremeni temo {subject} in omejuje formate v nadaljevanju.", + "format": "Oblika", + "formatPrimary": "Knjiga je glavna", + "formatHint": "Knjiga brez tega formata dobi svojo primarno izdajo.", + "kindleFormatHint": "Amazon prenehal sprejemati MOBI in AZW3 po e-pošti leta 2023, tako da niso na voljo za Kindle. Knjiga brez tega formata dobi svojo primarno izdajo.", + "kindleLegacyFormat": "Kindle ne sprejema več {format} Po e-pošti. Izberite EPUB ali PDF.", + "readAlong": "Knjigoveški zapisi", + "readAlongAutomatic": "Samodejno", + "readAlongAutomaticHint": "Besedilo samo, če je mogoče narediti varno kopijo, sicer original.", + "readAlongTextOnly": "Samo besedilo EPUB", + "readAlongTextOnlyHint": "Dovolj majhna za e-pošto.", + "readAlongOriginal": "Original z naracijo", + "readAlongOriginalHint": "Pogosto 100 MB ali več, preko večine omejitev poštnih strežnikov.", + "notForKindle": "Ne za Kindle.", + "template": "Predloga", + "templateDefault": "Privzeto ({name})", + "templateKindleHint": "Ignorirana za Kindle, ki nikoli ne pokaže sporočila.", + "approveTitle": "Odobrite pošiljatelja v Amazonu", + "approveBody": "Kindle spusti e-pošto z naslovov, ki jih ne ve, brez skoka. {path}, dodajte {address}", + "approvePath": "Upravljajte svoje vsebine in naprave › Možnosti › Nastavitve osebnega dokumenta", + "approveNoServer": "Najprej dodajte poštni strežnik, da vidite naslov, ki ga mora Kindle odobriti.", + "lastSent": "Zadnja poslana knjiga {time}", + "sendTest": "Pošlji testno e- pošto", + "testSubject": "E- pošta za preizkus BookOrbit", + "testBody": "To je preizkus iz BookOrbita. Če ga lahko preberete, knjige poslane {name} Tudi jaz bom prišel sem.", + "testSent": "Preizkusi e-pošto poslano {name}", + "testFailed": "E- pošta za preizkus ni izšla: {error}", + "makeDefault": "Naredite hitro pošiljanje prejemnika", + "remove": "Zbriši prejemnika", + "removeConfirm": "Zbriši {name}?", + "removeConsequence": "To je pošiljanje zgodovine ostane.", + "removeDefaultConsequence": "Njegova zgodovina ostane, in hitro pošiljanje ustavi, dokler ne zvezda drugega prejemnika.", + "required": "Ime in e-poštni naslov sta potrebna.", + "sectionLastSent": "Nazadnje poslano" + }, + "server": { + "newTitle": "Nov poštni strežnik", + "description": "Strežnik SMTP, njegov vpis in kdo lahko pošlje skozi njega.", + "sectionProvider": "Ponudnik", + "sectionServer": "Strežnik", + "sectionSignIn": "Vpišite se", + "sectionSender": "Pošiljatelj", + "sectionWho": "Kdo ga uporablja?", + "presetGmail": "Gmail", + "presetOutlook": "Ogled", + "presetIcloud": "iCloud Mail", + "presetFastmail": "Fastmail", + "presetOther": "Drugo SMTP", + "presetHint": "Prednastavitev zapolni gostitelja, vrata in varnost. Še vedno jih lahko spremenite.", + "name": "Ime", + "host": "Gostitelj", + "port": "Vrata", + "security": "Varnost", + "securityStarttls": "ZAČETKI", + "securitySsl": "SSL/TLS", + "securityNone": "Brez", + "securityHint": "SSL/TLS na 465.", + "needsPassword": "Ta strežnik potrebuje geslo", + "username": "Uporabniško ime", + "password": "Geslo", + "appPassword": "Aplikacijsko geslo", + "passwordKeep": "Shrani. Vnesite, da ga zamenjate", + "appPasswordHint": "Gmail in iCloud potrebujeta geslo aplikacije, ne gesla računa.", + "fromName": "Od imena", + "fromAddress": "Z naslova", + "fromAddressHint": "Lastniki vrtljajev morajo odobriti ta naslov.", + "share": "Deli z vsemi", + "shareHint": "Drugi ljudje lahko pošiljajo knjige po tem strežniku, ne da bi videli geslo.", + "system": "Pošlji ponastavitve gesel in vpisovne povezave", + "systemHint": "Edini strežnik BookOrbit sam uporablja. Samo superuporabnik lahko to spremeni.", + "verifyTls": "Preveri certifikat strežnika", + "verifyTlsHint": "Izklopite samo za strežnik na svojem omrežju s samopodpisanim certifikatom.", + "test": "Preskusna povezava", + "testDirty": "Shrani najprej, nato pa preizkusi", + "testOk": "Povezan", + "testFailed": "Ni mogoče povezati: {error}", + "remove": "Zbriši strežnik", + "removeConfirm": "Zbriši {name}?", + "removeConsequence": "Vsi, ki so jim deljeno, ga izgubijo.", + "removeSystemFirst": "Izklopi ponastavitev gesla na tem strežniku, preden ga izbriše.", + "makeDefault": "Uporabi kot privzeto", + "required": "Ime in gostitelj sta potrebna." + }, + "template": { + "newTitle": "Nova predloga", + "description": "Tema in sporočilo, poslano z vsako knjigo.", + "sectionTemplate": "Predloga", + "sectionInsert": "Vstavi", + "sectionPreview": "Ogled", + "name": "Ime", + "subject": "Zadeva", + "message": "Sporočilo", + "groupBook": "Knjiga", + "groupFile": "Datoteka", + "groupOther": "Drugo", + "insertHint": "Vnese se pri kazalcu, v predmetu ali sporočilu. Prazne vrednosti ne tiskajo ničesar.", + "insertVariable": "Vstavi {variable}", + "previewWith": "Ogled z", + "previewEmpty": "Pošlji knjigo enkrat, da si ogledaš predlogo z njo.", + "previewFailed": "Predogleda ni bilo moč narediti.", + "previewTo": "V", + "builtInReadonly": "Samo superuporabnik ga lahko spremeni.", + "kindleNote": "Kindle nikoli ne prikaže predloge: vedno dobi predmet {subject}.", + "makeDefault": "Naredite mi privzeto", + "remove": "Zbriši predlogo", + "removeConfirm": "Zbriši {name}?", + "removeConsequence": "Prejemniki, ki ga uporabljajo, se vrnejo v privzeto predlogo.", + "required": "Ime in subjekt sta potrebna.", + "attachment": "Priloženo: {name}" + }, + "group": { + "newTitle": "Nova skupina", + "description": "Niz prejemnikov, ki bi poslali eno knjigo naenkrat.", + "sectionGroup": "Skupina", + "sectionMembers": "Člani", + "name": "Ime", + "memberCount": "{count} m {total}", + "noRecipientsTitle": "Ni prejemnikov, ki bi izbrali", + "noRecipientsBody": "Skupina je skupek prejemnikov. Najprej dodajte prejemnika.", + "remove": "Zbriši skupino", + "removeConfirm": "Zbriši {name}?", + "removeConsequence": "Prejemniki ostanejo.", + "required": "Skupina potrebuje ime.", + "updated": "Skupina posodobljena" + } } }, "errors": { @@ -5825,12 +10307,40 @@ "title": "Slog naslovnice", "portrait": "Pokončno", "square": "Kvadratno", - "hint": "Pokončno za e-knjige ali mešane knjižnice. Kvadratno za knjižnice samo z zvočnimi knjigami." + "hint": "Pokončno za e-knjige ali mešane knjižnice. Kvadratno za knjižnice samo z zvočnimi knjigami.", + "hintSlots": "Portret za e-knjigo ali mešane knjižnice, kvadrat za knjižnice, ki se ukvarjajo samo z avdioknjigo. Knjiga z e-knjigo in avdioknjigo prikazuje svojo knjižno ovitek v portretni knjižnici in avdioknjigo na kvadratni strani." }, "icon": { "label": "Ikona", "placeholder": "Izberite ikono ...", - "selected": "Izbrano" + "selected": "Izbrano", + "more": "Več ikon" + }, + "identity": "Identiteta", + "podcastName": "Ime knjižnice Podcast", + "podcastPlaceholder": "Moji podcasti", + "podcastDefaultName": "Podcasti", + "type": { + "title": "Vrsta knjižnice", + "books": "Knjige", + "booksHint": "Eknjige, stripi in avdioknjige", + "podcasts": "Podcasti", + "podcastsHint": "RSS-ov vir in upravljano shranjevanje epizod" + }, + "cover": { + "portraitTitle": "Portret 2:3", + "portraitHint": "Eknjige in mešane knjižnice", + "squareTitle": "Kvadrat 1:1", + "squareHint": "Knjižnice, ki se uporabljajo samo za avdio knjige", + "slotsHint": "Knjiga z e-knjigo in avdioknjigo prikazuje naslovnico, ki ustreza tej obliki." + }, + "gridShape": { + "title": "Oblika mreže", + "tallTitle": "Tall-celice", + "tallHint": "Najboljše za e-knjige ali mešane knjižnice", + "squareTitle": "Kvadratne celice", + "squareHint": "Najboljše za avdioknjige knjižnice", + "hint": "Vsaka knjiga prikazuje naslovnico svojega primarnega formata, kvadrat za avdioknjigo. Ovitek, ki se ne ujema z ploščico, sledi vaši ovitki." } }, "folders": { @@ -5865,6 +10375,32 @@ "addDescription": "Every folder directly inside becomes a show.", "add": "Add another folder", "remove": "Remove {folder}" + }, + "listTitle": "Mape", + "storageTitle": "Mapa za shranjevanje", + "matchingFiles": "{count,plural,one{# ujemanje datoteke} two{# ujemanje datotek} few{# ujemanje datotek} other{# ujemanje datotek}}", + "bookCount": "{count,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}}", + "checkAll": "Znova preveri mape", + "checkAgain": "Preveri {folder} Spet.", + "checkHint": "Vsaka mapa je preverjena takoj, ko jo dodate. Mapa, ki jo že bere druga knjižnica, je označena, ker bi obe knjižnici uvozili iste datoteke.", + "emptyHint": "Prilepi pot strežnika spodaj ali pa brskaj po njej.", + "emptyPodcastHint": "Izberite, kje bodo shranjene prenesene epizode podcasta.", + "pastePlaceholder": "Prilepi pot strežnika, npr. /books/ Sci-Fi", + "pastePodcastPlaceholder": "Prilepi pot strežnika, npr. / podcasts", + "browse": "Brskaj...", + "status": { + "checking": "Preverjanje", + "failed": "Ni mogoče preveriti", + "notAccessible": "Ni dostopno", + "overlap": "Tudi v {library}", + "overlapTitle": "Knjižnica \"{library}\"že bere to mapo.", + "files": "{count,plural,one{# datoteka} two{# datoteke} few{# datoteke} other{# datoteke}}" + }, + "errors": { + "empty": "Vnesite pot do mape strežnika.", + "notAbsolute": "Vnesite absolutno pot strežnika, ki se začne z /.", + "duplicate": "Ta mapa je že bila dodana.", + "covered": "Ta mapa je že pokrita z {path}." } }, "scanner": { @@ -5882,6 +10418,49 @@ "hint": "Vsako datoteko obravnava kot posamezno knjigo. Najbolj primerno za knjižnice z eno obliko na naslov. Izogibajte se, če vaše zvočne knjige obsegajo več datotek." } }, + "addedAt": { + "title": "Datum vnosa", + "hint": "Izberite, kaj odraža » dodan datum « knjige. To velja za knjige, uvožene od zdaj naprej.", + "options": { + "imported": { + "title": "Ko je uvoženo", + "hint": "Datum, ko je knjigaOrbit prvič uvozila knjigo. To je privzeto." + }, + "file_modified": { + "title": "Čas spremembe datoteke", + "hint": "Zadnji spremenjeni čas datoteke (mtime), pogosto ohranjen pri kopiranju datotek." + }, + "file_created": { + "title": "Čas ustvarjanja datotek", + "hint": "Ko je datoteka prvič pristala na disku (rojstni čas). Padne nazaj v spremenjeni čas na datotečnih sistemih, ki ne beležijo časa ustvarjanja." + } + }, + "recompute": "Preračunaj zdaj", + "recomputing": "Recomputing...", + "recomputeHint": "S to nastavitvijo posodobite dodan datum za obstoječe knjige.", + "recomputeSaveFirst": "Najprej shranite svoje spremembe, nato pa ponovno izračunajte obstoječe knjige.", + "backgroundConfirm": "Izračunajte datume obstoječih knjig? To teče v ozadju in lahko zaprete ta urejevalnik. Knjige z neprebranimi datotekami obdržijo svoj trenutni datum.", + "progressSummary": "Obdelan {processed} m {total}: {updated} posodobljene, {unchanged} nespremenjeno, {skipped} preskočil, {failed} -Neuspešno.", + "failedBooksHint": "Ni uspelo shraniti svojih datumov. Preverite dostop do datoteke in nato ponovno zaženite ponovno preračunavanje za ponovno poiskusitev.", + "jobStatus": { + "running": "-Primerjam datume v ozadju.", + "completed": "Datum recompute končan.", + "failed": "Pred zaključkom izračunajte ustavitev. Zaključene spremembe so bile ohranjene; varno ga lahko ponovno zaženete." + }, + "errors": { + "sourceImported": "Shrani vir časovnega žiga datoteke pred ponovnim izračunom datumov.", + "alreadyRunning": "Recompute že teče za to knjižnico.", + "busy": "Drugi recomputes tečejo. Poskusite znova v kratkem.", + "requestFailed": "Ni moč doseči storitve recompute. Zaprite in ponovno odprite ta urejevalnik, da preverite njegov status.", + "interrupted": "Status opravila ni več na voljo. Morda ga je strežnik prekinil. Lahko varno ponovno zaženete." + }, + "failureSample": "Knjiga {bookId}: {reason}", + "failureReasons": { + "file_unavailable": "Ni moč prebrati datoteke z vsebino.", + "unsafe_path": "Vsebinska datoteka je zunaj njene dovoljene mape za knjižnico.", + "database_error": "Posodobitev zbirke podatkov ni uspela." + } + }, "allowedFormats": { "title": "Dovoljene oblike", "allowAll": "Dovoli vse", @@ -5895,6 +10474,36 @@ "hintAfter": ").", "add": "Dodaj", "empty": "Ni dodanih vzorcev." + }, + "mode": { + "title": "Kako datoteke postanejo knjige", + "locked": "Nastavljeno ob ustvaritvi", + "cannotChange": "Tega se kasneje ne da spremeniti.", + "folderHint": "Vsaka mapa je ena knjiga. Najboljši, če naslov hrani več formatov skupaj, ali avdioknjiga zajema veliko datotek.", + "fileHint": "Vsaka datoteka je lastna knjiga. Najboljše za ploske mape z eno obliko na naslov.", + "folderResult": "Ena knjiga z dvema formatoma", + "fileResult": "Tri knjige, ena po en dosje." + }, + "import": { + "title": "Uvozi", + "all": "Vsi formati", + "some": "Samo te.", + "groups": { + "ebook": "Eknjige", + "kindle": "Vrtinec", + "document": "Dokumenti", + "comic": "Stripi", + "audio": "Zvok" + } + }, + "skip": { + "title": "Preskoči ujemanje datotek", + "count": "{count,plural,one{# vzorec} two{# vzorci} few{# vzorci} other{# vzorci}}", + "hint": "Vzorci glob, ujema se s potmi znotraj knjižničnih map.", + "inputLabel": "Vzorec za preskočiti", + "placeholder": "Vnesite vzorec, kot je **/vzorci/** in pritisnite Enter", + "placeholderMore": "Dodaj drug vzorec", + "remove": "Odstrani vzorec {pattern}" } }, "metadata": { @@ -5905,6 +10514,91 @@ "formatPriority": { "title": "Prednost oblik", "hint": "Kadar ima knjiga več oblik, ima prednost oblika, ki je najvišje na seznamu." + }, + "moveUp": "Premakni {item} Gor", + "moveDown": "Premakni {item} Dol", + "primary": { + "title": "Primarna datoteka", + "hint": "Ko ima knjiga več datotek, prvi format v tem vrstnem redu postane njegova glavna datoteka: tista, ki odpre prvo in priskrbi podrobnosti knjige. Povlecite vrstico ali uporabite puščice.", + "reset": "Ponastavi vrstni red", + "first": "Prva izbira", + "notImported": "Neuvožen", + "notHeld": "{count,plural,one{# format, ki ga ta knjižnica ne hrani, po tem ohranja privzeto mesto.} two{# formati, ki jih ta knjižnica ne hrani, po tem ne hranijo privzetega naročila.} few{# formati, ki jih ta knjižnica ne hrani, po tem ne hranijo privzetega naročila.} other{# formati, ki jih ta knjižnica ne hrani, po tem ne hranijo privzetega naročila.}}", + "moreBelow": "{count,plural,one{# V tem vrstnem redu sledi več formatov.} two{# v tem vrstnem redu sledi več formatov.} few{# v tem vrstnem redu sledi več formatov.} other{# v tem vrstnem redu sledi več formatov.}}", + "showingAll": "Prikazujem vse oblike.", + "showAll": "Prikaži vse {count}", + "showFewer": "Prikaži manj" + }, + "source": { + "title": "Podrobnosti knjige prihajajo iz", + "embeddedTitle": "Oznake v datoteki knjige", + "embeddedHint": "Beri iz primarne datoteke", + "opfTitle": "metapodatkovna datoteka.opf", + "opfHint": "Shranil poleg knjige Calibre", + "swap": "Zamenjaj naročilo", + "hint": "BookOrbit uporablja prvo knjigo ima in ignorira drugo. Calibre knjižnice običajno želijo metapodatke.opf najprej." + }, + "regex": { + "title": "Nastavi metapodatke regex", + "sourceTitle": "Relex", + "description": "Izvleci metapodatke iz glavne poti datoteke glede na mapo knjižnice. Pripona datoteke se odstrani pred ujemanjem. Prvo pravilo z uporabnimi polji zmaga.", + "enable": "Omogoči metapodatke regex", + "primaryFileHint": "Za knjigo, narejeno iz več datotek, kot so avdioknjige skladbe, pravila berejo pot primarne datoteke.", + "groups": "Imene skupin:", + "valuesHint": "Uporabi avtor za enega avtorja ali avtorje, ki jih ločujejo podpičja. Datumi uporabljajo LLLL-MM-DD. Zastave: i prezre primer, u omogoča Unicode.", + "rules": "Pravila za odredbo črpanja", + "rule": "Člen {number}", + "moveUp": "Premakni pravilo navzgor", + "moveDown": "Premakni pravilo navzdol", + "remove": "Odstrani pravilo", + "basePath": "Knjižnica", + "extensionHint": "Pripona datoteke je samodejno prezrta. Konec sidra se ujema z imenom datoteke brez pripone.", + "flags": "Zastave", + "add": "Dodaj pravilo", + "examplePath": "Primer relativna pot datoteke, vključno s pripono", + "examplePlaceholder": "Avtor/Series/08 - My.Book.epub", + "exampleTitle": "Primer z iskalno referenco avtorja", + "exampleTestPath": "Preskusna pot (vključno s podaljšanjem)", + "validating": "Preverjam pravila...", + "validationSuccess": "Skladnja pravil in skupine so veljavne. Uporabite ogled za preverjanje ujemanj za pot datoteke.", + "validationError": "Ni moč potrditi pravil. Poskusite znova, preden jih uporabite.", + "validationRetry": "Preveri še enkrat", + "validationRuleCount": "Dodaj med {min} ter {max} Pravila.", + "preview": "Ogled", + "previewing": "Pravila testiranja...", + "previewError": "Ni moč videti pravil. Preverite relativno pot in nastavitev, nato poskusite znova.", + "actualInput": "Preizkušena pot:", + "matched": "Ustrezno pravilo {number}", + "noMatch": "Ni uporabnega ujemanja. Uporabljeni bodo metapodatki datotek.", + "scanHint": "Spremembe veljajo za prihodnje metapodatkovno izvlečevanje novih ali spremenjenih datotek. Shranjevanje ne zažene skeniranja ali posodablja nespremenjenih knjig.", + "apply": "Uveljavi se v knjižnični obrazec", + "configure": "Nastavi", + "enabledHint": "Izvlecite polja iz relativnih poti brez priponk datotek.", + "disabledHint": "Onemogočeno. Nastavite pravila, da se omogoči.", + "moveSourceUp": "Premakni {source} Gor", + "moveSourceDown": "Premakni {source} Dol", + "diagnostics": { + "pattern_required": "Vnesite regularni izraz.", + "pattern_too_long": "Izraz ne sme presegati {count} like.", + "invalid_flags": "Samo midva sva dovoljena, vsak posebej.", + "invalid_pattern": "Neveljaven regularni izraz.", + "missing_group": "Vključi vsaj eno podprto skupino.", + "conflicting_authors": "Uporabi avtorja ali avtorje, ne oboje.", + "invalid_value": "Neveljavna vrednost polja je bila preskoči.", + "timeout": "Izraz je trajal predolgo.", + "busy": "Vsi delavci so zaposleni.", + "worker_failed": "Izraza ni bilo moč oceniti. Poskusite znova." + }, + "precedenceHint": "Prvi razpoložljivi vir datoteke dostavlja metapodatke. Polja Regex sledijo temu vrstnemu redu in manjkajoče vrednosti so zapolnjene iz drugega vira.", + "summary": "{format} prvi, raje metapodatke regex", + "fields": { + "title": "Naslov", + "authors": "Avtorji", + "series": "Serija", + "seriesIndex": "Številka serije", + "publishedYear": "Objavljeno leto", + "publishedDate": "Objavljeni datum" + } } }, "fileWrite": { @@ -5920,13 +10614,23 @@ }, "cover": { "title": "Vključi naslovnico", - "hint": "Zapiše shranjeno naslovnico nazaj v podprte formate datotek." + "hint": "Zapiše shranjeno naslovnico nazaj v podprte formate datotek.", + "mediumHint": "Zapiše shranjeno ovitek v datoteko preveč. Ebook datoteke dobili naslovnico knjige in avdio datoteke dobili ovitek Audiobook; datoteka, katerih ovitek je manjka, ohranja svoje." + }, + "allFiles": { + "title": "Vpišite v vsako datoteko knjige", + "hint": "Vpiše tudi druge knjižne datoteke knjige, kot je avdioknjiga, ki jo hrani poleg svoje ebook ali PDF v isti mapi. Vsak format knjige je napisan, tako da je spremljevalec datoteko, kot je delovni zvezek svojo mapo, da ga ven. Format toggles in omejitve velikosti spodaj še vedno velja. Izklop ustavi prihodnje pisanje; ne razveljavi datotek že napisane." }, "epub": { "title": "EPUB", "hint": "Zapiše metapodatke v datoteko OPF znotraj arhiva EPUB.", "toggleAria": "Zapiši metapodatke EPUB" }, + "readAlong": { + "title": "Branje-podaljšek EPUB", + "hint": "EPUB-ji s sinhronizacijo pripovedi, kot je Storyteller read-alongs. Imajo svoj zvok, tako da so veliki in potrebujejo več spomina za reportažo.", + "toggleAria": "Zapiši bralne metapodatke EPUB" + }, "fb2": { "title": "FictionBook (FB2)", "hint": "Prepiše blok opisa znotraj datotek FB2, pri čemer besedilo knjige ostane nedotaknjeno.", @@ -5950,8 +10654,20 @@ "audio": { "title": "Zvok", "hint": "Vdela shranjeno naslovnico v datoteke M4B, M4A, MP3 in FLAC.", - "toggleAria": "Zapiši naslovnice zvočnih knjig" - } + "toggleAria": "Zapiši naslovnice zvočnih knjig", + "tagsHint": "Piše oznake, kot so naslov, avtorji, pripovedovalci, in serij v M4B, M4A, MP3 in FLAC datoteke.", + "tagsToggleAria": "Piši zvočne metapodatke" + }, + "coverAudioHint": "Tudi v datoteko zapiše shranjeno ovitek. Zvočne datoteke lahko vzamejo samo ovitek.", + "audioNeedsCover": "Potrebuje “Vključi sliko ovitka” vklopljen.", + "table": { + "format": "Oblika", + "inLibrary": "Tukaj.", + "sizeLimit": "Omejitev velikosti" + }, + "sizeLimitAria": "{format} omejitev velikosti v MB", + "mb": "MB", + "summary": "{count,plural,one{# Datoteka je napisana. Datoteke nad njihovo mejo velikosti so preskočite.} two{# vrste datotek so zapisane. Datoteke nad njihovo mejo velikosti so preskočite.} few{# vrste datotek so zapisane. Datoteke nad njihovo mejo velikosti so preskočite.} other{# vrste datotek so zapisane. Datoteke nad njihovo mejo velikosti so preskočite.} =0{Zapisane niso nobene vrste datotek.}}" }, "reading": { "readingStart": { @@ -5960,8 +10676,18 @@ }, "markAsFinished": { "title": "Označi kot prebrano", - "hint": "Knjiga je samodejno označena kot \"prebrano\", ko je dosežen ta odstotek napredka." - } + "hint": "Knjiga je samodejno označena kot \"prebrano\", ko je dosežen ta odstotek napredka.", + "invalidThreshold": "Končni napredek mora biti med 90 % in 100 %." + }, + "statusTitle": "Stanje branja", + "zones": { + "notStarted": "Ni zagnano", + "reading": "Branje", + "read": "Preberi" + }, + "range": "Med {min} ter {max}.", + "startSlider": "Povlecite, da se nastavi, ko se knjiga šteje kot začeta", + "finishSlider": "Povlecite, da se nastavi, ko bo knjiga štela kot končana" }, "schedule": { "fileWatching": "Spremljanje datotek", @@ -6016,9 +10742,104 @@ "errors": { "grant": "Dodelitev dostopa ni uspela", "updateLevel": "Posodobitev ravni dostopa ni uspela", - "revoke": "Preklic dostopa ni uspel" + "revoke": "Preklic dostopa ni uspel", + "load": "Ni moč naložiti nastavitev dostopa do knjižnice." + }, + "peopleTitle": "Osebe z dostopom", + "peopleCount": "{count,plural,one{# oseba} two{# ljudje} few{# ljudje} other{# ljudje}}", + "add": "Dodaj", + "emptyCreate": "Ljudje, ki jih dodate, pridejo takoj, ko knjižnica obstaja.", + "superusers": "Superuporabniki imajo vedno popoln dostop.", + "levelsHint": "Pregledovalci lahko brskajo in berejo. Uredniki in lastniki lahko uredijo tudi metapodatke, ko ima njihov račun dovoljenje za urejanje metapodatkov.", + "levelFor": "Raven dostopa za {name}", + "revokeFor": "Odstrani dostop za {name}", + "revokeQuestion": "-Izločiš dostop?", + "revoke": "Odstrani", + "keep": "Obdrži", + "failed": { + "title": "{count,plural,one{# osebe ni bilo moč dodati} two{# ljudi ni bilo mogoče dodati} few{# ljudi ni bilo mogoče dodati} other{# ljudi ni bilo mogoče dodati}}", + "body": "Knjižnica je bila ustvarjena. Poskusite dodati {names} ali jih kasneje dodamo iz tega oddelka." } - } + }, + "optional": "Neobvezno", + "nav": { + "details": "Knjižnica", + "folders": "Mape", + "scanner": "Skeniranje", + "metadata": "Metapodatki", + "reading": "Branje", + "schedule": "Avtomatizacija", + "fileWrite": "Posodobitve datotek", + "access": "Dostop", + "descriptions": { + "details": "Kako se imenuje knjižnica in kako izgledajo njene platnice.", + "folders": "Mape strežnika, iz katerih se ta knjižnica bere.", + "scanner": "Kako so datoteke združene v knjige, in katere datoteke so preskoči.", + "metadata": "Katera datoteka vodi, ko ima knjiga več in od kod prihajajo njene podrobnosti.", + "reading": "Ko se knjiga premakne od neprebranega do branja do branja.", + "schedule": "Obdržite tok knjižnice brez pritiska Scan.", + "fileWrite": "Neobvezne spremembe BookOrbit lahko naredite v datoteke na disku.", + "access": "Kdo še lahko vidi in dela s to knjižnico." + } + }, + "sheet": { + "createTitle": "Nova knjižnica", + "createHint": "Ime in smer na mapo. Vse drugo se začne z razumnim privzetim.", + "editFallbackTitle": "Nastavitve knjižnice", + "editSubtitle": "{books,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}} · {folders,plural,one{# mapa} two{# mape} few{# mape} other{# mape}} · {mode}", + "editSubtitleNoBooks": "{folders,plural,one{# mapa} two{# mape} few{# mape} other{# mape}} · {mode}", + "readyHint": "Pripravljeni za ustvarjanje, ostali lahko počakajo.", + "needsHint": "Potrebuje ime, ikono in mapo.", + "discardQuestion": "Zavrzite svoje neshranjene spremembe?", + "discard": "Zavrzi", + "keepEditing": "Nadaljuj urejanje", + "done": "Opravljeno", + "loading": "Nalaganje nastavitev...", + "staleWarning": "Najnovejših nastavitev knjižnice ni bilo moč naložiti. Tu lahko še vedno urejate predpomnilne nastavitve.", + "scanNow": "Zdaj pa preglej." + }, + "summary": { + "needsName": "Potrebuje ime", + "needsIcon": "Potrebuje ikono", + "needsFolder": "Potrebuje mapo", + "detailsPortrait": "{name} · Pokončne pokrove", + "detailsSquare": "{name} · Kvadratne platnice", + "folders": "{folders,plural,one{# mapa} two{# mape} few{# mape} other{# mape}}", + "foldersFiles": "{folders,plural,one{# mapa} two{# mape} few{# mape} other{# mape}} · {files,plural,one{# datoteka} two{# datoteke} few{# datoteke} other{# datoteke}}", + "foldersBooks": "{folders,plural,one{# mapa} two{# mape} few{# mape} other{# mape}} · {books,plural,one{# knjiga} two{# knjige} few{# knjige} other{# knjige}}", + "scannerAll": "{mode} · Vsi formati", + "scannerSome": "{mode} · {count,plural,one{# oblika} two{# formati} few{# formati} other{# formati}}", + "metadataFile": "{format} vodi · Najprej datoteka knjige", + "metadataOpf": "{format} vodi · metapodatke.opf first", + "reading": "Začetno {start} · Končano {finish}", + "watching": "Pregledovanje map", + "notWatching": "Ne gledam", + "watchingScheduled": "Opazovanje · {schedule}", + "watchingOnly": "Gledanje · Ni razporeda", + "scheduledOnly": "Ne gledam · {schedule}", + "manualOnly": "Samo ročno skeniranje", + "customSchedule": "Po meri", + "writesAndRenames": "{count,plural,one{Pisave # vrsta} two{Pisave # vrste} few{Pisave # vrste} other{Pisave # vrste} =0{Ne piše ničesar.}} · Preimenuj", + "writes": "{count,plural,one{Pisave # vrsta datoteke} two{Pisave # vrste datotek} few{Pisave # vrste datotek} other{Pisave # vrste datotek} =0{Ne piše ničesar.}}", + "renames": "Preimenuje datoteke", + "untouched": "Datoteke, ki so ostale nedotaknjene", + "onlySuperusers": "Samo superuporabniki", + "accessQueued": "{count,plural,one{# oseba za dodajanje} two{# ljudi, ki dodajajo} few{# ljudi, ki dodajajo} other{# ljudi, ki dodajajo}}", + "accessPeople": "{count,plural,one{# oseba} two{# ljudje} few{# ljudje} other{# ljudje} =0{Samo superuporabniki}}" + }, + "errors": { + "nameRequired": "Vnesite ime knjižnice.", + "iconRequired": "Izberite ikono.", + "folderRequired": "Dodaj vsaj eno mapo.", + "podcastStorageFolder": "Izberite točno eno mapo za shranjevanje podcastov.", + "podcastFolderOverlap": "Obstoječe mape podcastov morajo sedeti zunaj mape za shranjevanje.", + "cronInvalid": "Vnesite veljaven izraz 5- polje cron.", + "readingStartRange": "Začetek branja mora biti med 0,05 % in 5 %.", + "fileSizeRange": "Omejitve velikosti datotek morajo biti cele številke od 1 do 10.000 MB.", + "saveFailed": "Ni uspelo shraniti knjižnice.", + "connection": "Ni se moč povezati s strežnikom. Preverite svojo povezavo in poskusite znova." + }, + "copyName": "{name} izvod" }, "folderPicker": { "title": "Prebrskaj mape", @@ -6049,6 +10870,13 @@ "createFolder": "Mape ni bilo mogoče ustvariti" } }, + "destination": { + "loadFailed": "Ni moč naložiti ciljnih knjižnic. Za ponovno poskusiti je treba zapreti in ponovno odpreti.", + "noLibraries": "Knjižnic ni na voljo. Ustvarite knjižnico ali pa prosite skrbnika za dostop.", + "noFolders": "Ta knjižnica nima ciljnih map. Dodaj mapo v nastavitve knjižnice.", + "unavailable": "Izbrana knjižnica ni več na voljo.", + "selectFolder": "Izberite mapo..." + }, "upload": { "library": "Knjižnica", "selectLibrary": "Izberite knjižnico...", @@ -6076,6 +10904,85 @@ } } }, + "metadataReminders": { + "title": "Opomniki manjkajočega polja", + "navDescription": "Izberite manjkajoča polja metapodatkov, ki jih želite videti", + "personal": "Vaše želje", + "description": "Izberite manjkajoča polja v opomnikih za knjige. Te nastavitve veljajo v vaši knjižnici in ne spreminjajo metapodatkovnih rezultatov.", + "sheetDescription": "Izberite polja, ki vam je mar, ne da bi zapustili to knjigo.", + "fieldsHeading": "Polja za preverjanje", + "autoSave": "Spremembe samodejno shranite na svoj račun.", + "saving": "Shranjevanje nastavitev...", + "saved": "Možnosti shranjene.", + "reset": "Ponastavi na privzete", + "disabled": "Ni izbranih polj.", + "saveFailed": "Ni moč shraniti vaših nastavitev. Vaše prejšnje so bile obnovljene.", + "customize": "Prilagodi opomnike...", + "missingHeading": "Manjkajoči metapodatki", + "missingDescription": "Manjkajoča polja, ki ste jih izbrali za sledenje.", + "missingCount": "{count,plural,one{# manjkajoče polje} two{# manjkajoča polja} few{# manjkajoča polja} other{# manjkajoča polja}}", + "missingFields": "{count,plural,one{manjkajoče polje} two{manjkajoča polja} few{manjkajoča polja} other{manjkajoča polja}}", + "fields": { + "publisher": { + "label": "Izdajatelj", + "hint": "Založnik je poln." + }, + "language": { + "label": "Jezik", + "hint": "Jezik je zapolnjen." + }, + "publication": { + "label": "Leto objave", + "hint": "Leto objave ali polni datum je dovolj." + }, + "pageCount": { + "label": "Števec strani", + "hint": "Štetje strani je izpolnjeno." + }, + "isbn": { + "label": "ISBN", + "hint": "Ali ISBN-10 ali ISBN-13 je dovolj." + }, + "genres": { + "label": "Žanri", + "hint": "Zapolni se vsaj en žanr." + }, + "tags": { + "label": "Oznake", + "hint": "Vsaj ena nalepka je izpolnjena." + }, + "description": { + "label": "Poimenovanje", + "hint": "Opis je izpolnjen." + } + } + }, + "metadataCache": { + "badge": { + "cached": "vstavljeno", + "stale": "Stale", + "cachedHint": "Shranjen rezultat {when}", + "cachedHintUndated": "Shranjen rezultat", + "staleHint": "Ponudnik ni bil na voljo, zato je bil shranjen rezultat {when} je bila uporabljena", + "staleHintUndated": "Ponudnik ni bil na voljo, zato je bil uporabljen shranjen rezultat" + }, + "notice": { + "someCached": "Nekateri rezultati so bili pridobljeni iz shranjenih iskanj (starejši: {when}).", + "someCachedUndated": "Nekaj rezultatov je bilo pridobljenih z iskanjem.", + "someStale": "Nekateri ponudniki niso bili na voljo, zato so bili prikazani shranjeni rezultati (najstarejši: {when}).", + "someStaleUndated": "Nekateri ponudniki niso bili na voljo, zato so bili prikazani shranjeni rezultati.", + "searchFresh": "Išči sveže", + "searchFreshHint": "Vprašajte še enkrat vsakega ponudnika, namesto da bi uporabili shranjene odgovore" + }, + "fallback": { + "usedSaved": "{count,plural,one{{providers} Ni bilo na voljo, zato so bili uporabljeni shranjeni rezultati.} two{{providers} Ni bilo mogoče, zato so uporabili shranjene rezultate.} few{{providers} Ni bilo mogoče, zato so uporabili shranjene rezultate.} other{{providers} Ni bilo mogoče, zato so uporabili shranjene rezultate.}}" + }, + "ignoreCache": { + "label": "Prezri predpomnjene rezultate", + "hint": "Vprašajte vse ponudnike znova, namesto da ponovno uporabite shranjene odgovore. Počasneje, in uporablja več žepnine za vsako ponudnika.", + "runHint": "Velja za zagnanje, ki ga začnete tukaj. Vsak ponudnik je ponovno vprašan namesto ponovno uporabo shranjenih odgovorov, ki je počasnejši." + } + }, "metadataScore": { "missingFields": "{count, plural, =0 {ni manjkajočih polj - uredi metapodatke} one {# manjkajoče polje - uredi metapodatke} two {# manjkajočih polj - uredi metapodatke} few {# manjkajočih polj - uredi metapodatke} other {# manjkajočih polj - uredi metapodatke}}" }, @@ -6428,6 +11335,9 @@ "clear": "Počisti", "empty": "Trenutno ni obvestil", "loadMore": "Naloži več obvestil", + "dismiss": "Obvestilo se zavrne", + "occurrences": "Zgodilo se je {count} časi", + "occurrencesShort": "x{count}", "preferences": { "title": "Obvestila", "subtitle": "Izberite, katere kategorije obvestil želite prejemati.", @@ -6446,6 +11356,20 @@ "app": "Posododitve programa" }, "enabledCount": "{enabled} od {total} omogočenih", + "levels": { + "off": { + "short": "Izklopljeno", + "description": "Nikoli me ne obvesti o tem." + }, + "problems": { + "short": "Težave", + "description": "Sporoči mi, ko bo kaj spodletelo ali pa bo potrebno pozornost." + }, + "all": { + "short": "Vse", + "description": "Obveščajte me vsakič, vključno z uspehi." + } + }, "categories": { "scanning": { "label": "Ponovno pregledovanje knjižnice", @@ -6490,19 +11414,102 @@ "achievements": { "label": "Dosežki", "description": "Ko odklenete nov bralni dosežek." + }, + "bookRequests": { + "label": "Zahtevki za knjige", + "description": "Ko je prošnja za knjigo predložena, se odloči ali pa knjiga postane na voljo." } } } }, "reader": { + "pageImages": { + "loadFailed": "Ni moč odpreti tega dokumenta. Preverite svoj dostop ali poskusite znova.", + "pageFailed": "Ta stran ni bila naložena. Poskusite znova, ko je strežnik na voljo.", + "pageAlt": "Stran {page}", + "previousPage": "Prejšnja stran", + "nextPage": "Naslednja stran", + "goToPage": "Pojdi na stran", + "pin": "Meni bralnikov", + "unpin": "Meni bralnika » Unpin «" + }, + "djvu": { + "pageText": "Besedilo vstavljene strani", + "textDescription": "Besedilo, ki je shranjeno v dokumentu DjVu. OCR lahko vsebuje napake.", + "noText": "Ta stran nima vgrajenega besedila.", + "textFailed": "Ni moč naložiti vstavljenega besedila te strani." + }, "retry": "Poskusi znova", "pdf": { "openError": "Tega dokumenta PDF ni mogoče odpreti", "preparing": "Pripravljanje bralnika PDF", - "opening": "Odpiranje dokumenta PDF" + "opening": "Odpiranje dokumenta PDF", + "loading": "Nalaganje PDF", + "loadFallback": "Dokumenta ni bilo moč naložiti.", + "requestFailed": "Zahteva PDF ni uspela s statusom {status}.", + "emptyDocument": "Zahteva PDF je vrnila prazen dokument.", + "managerError": "Upravljalnika dokumentov PDF ni bilo mogoče inicializirati.", + "engineNoPages": "Motor PDF je odprl ta dokument brez strani.", + "engineOpenError": "PDF ni mogel odpreti dokumentarni motor.", + "noPages": "Ta PDF odprt brez strani", + "noPagesHint": "Ponovno naložite dokument, da si opomorete od nepopolnega odziva PDF motorja.", + "externalLinkTitle": "Odpreš zunanjo povezavo?", + "externalLinkDescription": "Ta PDF želi odpreti {host} v novem zavihku.", + "openLink": "Odpri povezavo", + "annotationsLoadError": "Ni moč naložiti vrhuncev za ta PDF.", + "loadingAnnotations": "Nalaganje poudarja PDF", + "loadMoreAnnotations": "Naloži več poudarkov", + "loadingMoreAnnotations": "Nalaganje več poudarkov...", + "sidebar": { + "pages": "Strani", + "contents": "Vsebina", + "search": "Iskanje", + "tabsLabel": "Navigacija PDF", + "closeNavigation": "Zaključna plovba", + "goToPage": "Pojdi na stran {page}", + "noOutline": "Ta PDF nima orisa dokumenta.", + "searchPlaceholder": "Iščite to PDF", + "clearSearch": "Počisti iskanje", + "matchCase": "Ujemanje s primerom", + "wholeWord": "Cela beseda", + "resultPosition": "{current} m {total}", + "previousResult": "Prejšnji rezultat", + "nextResult": "Naslednji rezultat", + "searchingPage": "Iskanje strani {page} m {total}", + "searchPrompt": "Vnesite izraz za iskanje tega PDF.", + "searchTooShort": "Vnesite vsaj {min} znakov za iskanje PDF.", + "noSearchResults": "Nobeno besedilo, ki ga je mogoče iskati, se ni ujemalo z vašim povpraševanjem.", + "page": "Stran {page}", + "filterOutline": "Obris filtra", + "noOutlineMatch": "Ni podatkov, ki bi se ujemali s tvojim filtrom.", + "loadingOutline": "Nalaganje obrisa", + "expandSection": "Razširi {title}", + "collapseSection": "Zruši {title}", + "jumpToPage": "Skoči na stran", + "resizePanel": "Spremeni velikost navigacijske plošče" + }, + "toolbar": { + "navigation": "Navigacija dokumentov", + "previousPage": "Prejšnja stran", + "currentPage": "Trenutna stran", + "nextPage": "Naslednja stran", + "zoomOut": "Oddalji", + "zoomIn": "Povečaj", + "panTool": "Orodje za pan", + "pan": "Pan", + "selectTool": "Izberite orodje za besedilo", + "selectText": "Izberi besedilo", + "pinHeader": "Glava bralnika Pin", + "unpinHeader": "Glava bralnika odklopi", + "pinHeaderShort": "Glava za peresa", + "unpinHeaderShort": "Odpinska glava", + "moreTools": "Več orodij PDF", + "settings": "Nastavitve PDF" + } }, "loadingBook": "Nalaganje knjige…", "failedToLoadBook": "Nalaganje knjige ni uspelo", + "bookLoadTimeout": "Knjiga je potrebovala predolgo, da bi jo odprla.", "chapterNumber": "Poglavje {number}", "peek": { "badge": "Hitri pogled", @@ -6520,6 +11527,12 @@ "keyboardShortcutsHint": "Bližnjice na tipkovnici (?)", "enterFullscreen": "Vstopi v celozaslonski način", "exitFullscreen": "Zapusti celozaslonski način", + "narrationPlaying": "Predvajanje pripovedi", + "ttsPlaying": "Predvajanje TTS", + "listenWithNarrationShort": "Poslušaj.", + "listen": "Poslušaj.", + "listenWithNarration": "Poslušaj z naracijo.", + "listenWithTts": "Poslušajte s TTS", "footerMode": { "pageProgress": "Prikaz v nogi: stran + napredek", "sessionTimeLeft": "Prikaz v nogi: seja branja + preostali čas", @@ -6554,7 +11567,18 @@ "fontBuiltIn": "Vgrajeno", "fontServer": "Strežniške pisave", "fontYours": "Vaše pisave", + "fontStyle": "Slog", + "fontStyleItalicOf": "{style} italna", "lineSpacing": "Razmik med vrsticami", + "paragraphSpacing": "Razmik od odstavkov", + "paragraphSpacingDefault": "Privzeto", + "paragraphSpacingValue": "{value} em", + "letterSpacing": "Razmik črk", + "wordSpacing": "Razmik besed", + "textIndent": "Prva alinea", + "bookDefault": "Knjiga", + "custom": "Po meri", + "emValue": "{value} em", "pageWidth": "Širina strani", "pageWidthNarrow": "Ozko", "pageWidthMedium": "Srednje", @@ -6650,7 +11674,15 @@ "translate": "Prevedi", "define": "Razloži", "deleteAnnotation": "Izbriši oznako", - "apply": "Uporabi" + "apply": "Uporabi", + "color": "Barva poudarjanja: {color}", + "style": "Slog poudarjanja: {style}", + "styles": { + "highlight": "Poudarek", + "underline": "Podčrtano", + "strikethrough": "Prečrtano", + "squiggly": "Čvrsto poudarjam" + } }, "note": { "title": "Dodaj beležko", @@ -6692,6 +11724,9 @@ "scrollMode": "Način drsenja", "scrollModeHint": "Uporabite \"Brez vrzeli\" za webtoone in navpične trakove.", "readingDirection": "Smer branja", + "autoAdvance": "Samodejno napredovanje", + "autoAdvanceHint": "Obrnjena mimo zadnje strani odpre naslednjo knjigo v seriji.", + "autoAdvancePagedOnly": "Samodejno napredovanje velja samo v paged načinu.", "pageView": "Pogled strani", "twoPagePagedOnly": "Dve strani sta prikazani samo v načinu po strani.", "spreadSection": "Dvostranska razporeditev", @@ -6737,6 +11772,14 @@ "black": "Črna", "gray": "Siva", "white": "Bela" + }, + "nextIssue": { + "eyebrow": "Naslednji v seriji", + "action": "Preberi naslednje", + "open": "Beri naslednje: {title}", + "numbered": "#{index} {title}", + "untitled": "Brez naslova", + "autoAdvanceHint": "Obrni stran še enkrat, da nadaljujete" } }, "audiobook": { @@ -6764,6 +11807,23 @@ "playerSettings": "Nastavitve predvajalnika", "skipBack": "Preskoči nazaj", "skipForward": "Preskoči naprej" + }, + "sheet": { + "expand": "Razširi pult", + "collapse": "Zloži pult" + }, + "narration": { + "fallbackTitle": "Naracija", + "meta": "Zvočna pripoved - {speed}x", + "openControls": "Odprte naprave za napovedovanje", + "previousSentence": "Prejšnji stavek", + "nextSentence": "Naslednji stavek", + "play": "Predvajaj naracijo", + "pause": "Premor pri pripovedovanju", + "showControls": "Prikaži upravljalnike", + "hideControls": "Skrij upravljalnike", + "stop": "Ustavi napovedovanje", + "error": "Napaka predvajanja napisov" } }, "scanner": { @@ -6779,7 +11839,10 @@ "ownedOfExpected": "{owned} od {expected} v knjižnici" }, "gaps": { - "label": "Možne vrzeli:" + "label": "Možne vrzeli:", + "missingCount": "{count,plural,one{# manjka} two{# manjka} few{# manjka} other{# manjka}}", + "missingList": "Manjka {list}", + "previewMore": "{shown} +{count}" }, "filters": { "title": "Filtri serij", @@ -6809,7 +11872,10 @@ "bookCount": "Število knjig", "recentAdditions": "Nedavno dodano", "readingProgress": "Napredek branja" - } + }, + "clearSearch": "Počisti iskanje", + "noMatchHint": "Poskusite v drugi knjižnici, ali pa počistite, kaj je nastavljeno.", + "emptyHint": "Serija se pojavi, ko vaše knjige nosijo metapodatke serije." }, "detail": { "pageTitle": "Serija", @@ -6850,6 +11916,66 @@ "ascending": "Naraščajoče", "descending": "Padajoče" } + }, + "authorsPlus": "{authors} +{count}", + "track": { + "readCount": "{count,plural,one{# beri} two{# beri} few{# beri} other{# beri}}", + "readingCount": "{count,plural,one{# v teku} two{# v teku} few{# v teku} other{# v teku}}", + "unreadCount": "{count,plural,one{# neprebrana} two{# neprebrana} few{# neprebrana} other{# neprebrana}}", + "missingCount": "{count,plural,one{# manjka} two{# manjka} few{# manjka} other{# manjka}}", + "slotMissing": "{number} ni v knjižnici", + "untitled": "Brez naslova" + }, + "legend": { + "read": "Preberi", + "reading": "Branje", + "unread": "V knjižnici", + "missing": "Manjka" + }, + "status": { + "label": "Filtriraj po stanju branja", + "all": "Vse", + "reading": "Branje", + "unread": "Neprebrana", + "complete": "Dokončano", + "gaps": "Gaps", + "read": "Preberi", + "inProgress": "V teku", + "hasGaps": "Ima vrzeli", + "notStarted": "Ni zagnano" + }, + "index": { + "columnSeries": "Serija", + "columnVolumes": "Obseg", + "columnRead": "Preberi", + "columnNext": "Naslednji", + "columnAdded": "Dodano", + "percent": "{value}%", + "captionReading": "{base} · {count,plural,one{# v teku} two{# v teku} few{# v teku} other{# v teku}}", + "finished": "Beri do konca", + "reading": "Branje", + "next": "Naprej", + "start": "Začetek" + }, + "grouping": { + "label": "Skupina po", + "none": "Brez združevanja", + "letter": "Po pismi", + "library": "Po knjižnici", + "status": "Po statusu" + }, + "libraries": { + "more": "+{count}" + }, + "card": { + "oneVolume": "En glasnik", + "oneVolumeShort": "1 vol.", + "volumeCount": "{count,plural,one{# glasnost} two{# glasnosti} few{# glasnosti} other{# glasnosti}}", + "readSummary": "{base} · {read} beri", + "publishedOf": "{owned} m {total} objavljeno", + "complete": "Dokončano", + "moreVolumes": "{count,plural,one{# več volumna} two{# več zvezkov} few{# več zvezkov} other{# več zvezkov}}", + "label": "{name}, {read} m {total} zvezki se berejo" } }, "smartScope": { @@ -7085,7 +12211,8 @@ "title": "Kje berete", "emptyTitle": "Še ni aktivnosti branja", "emptyDescription": "Berite v spletu, KOReaderju ali na Kobu, da vidite razdelitev po virih.", - "emptyDescriptionWithAppleClients": "Read on the web, iOS app, Apple Watch, KOReader, or Kobo to see your source split." + "emptyDescriptionWithAppleClients": "Read on the web, iOS app, Apple Watch, KOReader, or Kobo to see your source split.", + "emptyDescriptionWithNativeClients": "Preberite na spletu, iOS aplikacijo, Android aplikacijo, Apple Watch, KOReader, ali Kobo, da bi videli vaš vir razdeljen." } } }, @@ -7093,7 +12220,8 @@ "header": { "entityManager": "Upravitelj entitet", "bulkRename": "Množično preimenovanje", - "duplicateBooks": "Podvojene knjige" + "duplicateBooks": "Podvojene knjige", + "missingResources": "Manjkajoče vire" }, "entityTypes": { "authors": "Avtorji", @@ -7112,8 +12240,19 @@ "previewFailed": "Predogleda ni bilo mogoče naložiti", "executionFailed": "Množično preimenovanje ni uspelo", "openBookDetails": "Odpri podrobnosti knjige", + "openBook": "Odpri knjigo", + "toRenameCount": "{count,plural,one{# Preimenovati} two{# Preimenovati} few{# Preimenovati} other{# Preimenovati} =0{nič za preimenovati}}", + "applyCount": "{count,plural,one{Uveljavi # Preimenuj} two{Uveljavi # Preimenuj} few{Uveljavi # Preimenuj} other{Uveljavi # Preimenuj}}", + "search": { + "placeholder": "Najdi knjigo ali pot", + "label": "Najdi knjigo", + "clear": "Počisti iskanje" + }, "filter": { - "all": "Vse" + "all": "Vse", + "changes": "Spremembe", + "conflicts": "Spori", + "unchanged": "Nespremenjeno" }, "status": { "willRename": "Bo preimenovano", @@ -7122,14 +12261,106 @@ "noPattern": "Ni vzorca", "error": "Napaka" }, + "group": { + "collision": "Konflikt med namembnimi kraji", + "unchanged": "Že pravilno", + "noPattern": "Brez vzorca poimenovanja", + "error": "Napaka", + "includeAll": "Vključi vsako {kind} Preimenuj", + "expand": "Razširi {kind}", + "collapse": "Zruši {kind}", + "heldBack": "Teh ni mogoče preimenovati." + }, + "changeKind": { + "ungroup": "Odstranjena skupina serij", + "flatten": "Podvoji stopnjo mape", + "yearRemoved": "Leto objave odstranjeno", + "yearAdded": "Dodano leto objave", + "yearCorrected": "Leto objave popravljeno", + "authorSpelling": "Ime avtorja", + "capitalisation": "Kapitalizacija in razmik", + "unsafeCharacters": "Nevarni znaki zamenjani", + "filenameRebuilt": "Ime datoteke je bilo obnovljeno iz metapodatkov", + "folderRenamed": "Preimenovana mapa", + "rebuilt": "Predelava mape in imena datotek", + "restructured": "Prestrukturirana pot", + "multiple": "Več sprememb" + }, + "select": { + "ofSelected": "m {total} izbrano", + "toggleAll": "Izberite ali počistite vsako ime", + "toggleGroup": "Izberite ali počistite vsak {kind} Preimenuj", + "toggleBook": "Preimenuj {title}" + }, + "review": { + "loadMore": "Naloži več", + "queue": "Preimenovanja v teku", + "position": "{index} m {total}", + "previous": "Prejšnja knjiga", + "next": "Naslednja knjiga", + "keyboardHint": "Premakni", + "keyboardSkip": "skip", + "skip": "Preskoči", + "include": "Vključi", + "excluded": "Izključeno", + "back": "Nazaj na seznam" + }, + "detail": { + "whatChanges": "Kaj se spremeni", + "foldedFolders": "{count,plural,one{# nespremenjena mapa} two{# nespremenjene mape} few{# nespremenjene mape} other{# nespremenjene mape}}", + "onDisk": "Na disku", + "today": "Danes", + "afterRename": "Po preimenovanju", + "showLibraryFolders": "Prikaži mape za knjižnico", + "hideLibraryFolders": "Skrij mape za knjižnico", + "currentPath": "Trenutna pot", + "whyItMoves": "Zakaj se premika?", + "levelTop": "Zgornja mapa", + "levelFolder": "Mapa {depth}", + "levelFilename": "Ime datoteke", + "levelRemoved": "Odstrani", + "tokenCount": "{count,plural,one{# žeton} two{# žetoni} few{# žetoni} other{# žetoni}}", + "optionalLevel": "Neobvezna raven mape, ki jo je izdelala skupina v vzorcu.", + "removedExplainer": "Vzorec poimenovanja na tej ravni nima mape, zato {folder} se spusti in vsebina se premakne navzgor.", + "conflictTitle": "Druga datoteka že trdi, da je ta cilj.", + "conflictBody": "Renaming bi jo prepisal, zato je ta knjiga zadržana, dokler spor ne bo rešen.", + "siblings": "{count,plural,one{# več z isto spremembo} two{# več z isto spremembo} few{# več z isto spremembo} other{# več z isto spremembo}}", + "siblingsMore": "+{count} več" + }, "empty": { "title": "Izberite knjižnico za začetek", "description": "Zgoraj izberite knjižnico za predogled sprememb preimenovanja, filtriranje po stanju in izvedbo množičnega preimenovanja.", - "chooseLibrary": "Izberi knjižnico" + "chooseLibrary": "Izberi knjižnico", + "noneTitle": "-Nič za pregledati.", + "noneDescription": "Nobena knjiga se ne ujema s trenutnim filtrom. Počistite iskanje ali preklopite na Vse.", + "noMatch": "Nobena knjiga se ne ujema z vašim iskanjem." }, "confirmDialog": { "title": "{count, plural, few {Preimenovati # datoteke na disku?} one {Preimenovati # datoteko na disku?} two {Preimenovati # datoteki na disku?} other {Preimenovati # datotek na disku?}}", - "body": "To premakne prave datoteke znotraj {library}. BookOrbit beleži vsak premik, razveljavitev pa pomeni ponovno preimenovanje." + "body": "To premakne prave datoteke znotraj {library}. BookOrbit beleži vsak premik, razveljavitev pa pomeni ponovno preimenovanje.", + "willRename": "Preimenovali se bodo v", + "skippedByYou": "Preskočila si me.", + "heldBack": "Zadržan kot konflikti", + "untouched": "Nedotaknjeno", + "confirm": "{count,plural,one{Preimenuj # datoteka} two{Preimenuj # datoteke} few{Preimenuj # datoteke} other{Preimenuj # datoteke}}", + "cannotRename": "Ni mogoče preimenovati" + }, + "run": { + "preparing": "Priprava...", + "preparingHint": "Pregledujem vse datoteke na vzorcu poimenovanja, preden se karkoli premakne.", + "title": "Renaming {done} m {total}", + "runningHint": "Datoteke se preimenujejo. Po zaključku trenutne datoteke se lahko ustavite.", + "stop": "Ustavi po tej datoteki", + "resultTitle": "{done,plural,one{Preimenovano # m {total} datoteke} two{Preimenovano # m {total} datoteke} few{Preimenovano # m {total} datoteke} other{Preimenovano # m {total} datoteke}}", + "resultFailed": "{count,plural,one{# spodletelo} two{# spodletelo} few{# spodletelo} other{# spodletelo}}", + "resultSkipped": "{count,plural,one{# preskoči} two{# preskoči} few{# preskoči} other{# preskoči}}", + "dismiss": "Prosto" + }, + "executionError": { + "http": "Strežnik je zahtevo zavrnil (HTTP) {status}).", + "noBody": "Strežnik ni poslal telesa za odgovor.", + "incomplete": "Povezava se je končala pred končanim preimenovanjem. Nekatere datoteke morda niso bile preimenovane.", + "unknown": "Preimenovanja ni bilo mogoče dokončati." } }, "bookDuplicates": { @@ -7165,7 +12396,16 @@ "isbn": "ISBN", "formats": "Oblike", "collections": "Zbirke", - "added": "Dodano" + "added": "Dodano", + "size": "Velikost", + "metadata": "Metapodatki", + "reading": "Branje", + "folder": "Mapa", + "noIsbn": "Ni nastavljeno", + "notStarted": "Ni zagnano", + "outOfHundred": "/100", + "percentRead": "{percent} beri", + "fileCount": "{count,plural,one{# datoteka} two{# datoteke} few{# datoteke} other{# datoteke}}" }, "initial": { "title": "Poišči podvojene knjige", @@ -7185,11 +12425,101 @@ "status": "Napredka pregledovanja ni bilo mogoče naložiti.", "scan": "Pregledovanje dvojnikov ni uspelo. Poskusi ga znova zagnati.", "results": "Podvojenih skupin ni bilo mogoče naložiti.", - "delete": "Izbranih podvojenih knjig ni bilo mogoče izbrisati." + "delete": "Izbranih podvojenih knjig ni bilo mogoče izbrisati.", + "dismiss": "Te skupine ni bilo mogoče odpustiti.", + "restore": "Ni bilo mogoče obnoviti tega para." }, "pagination": { "label": "Podvojene strani skupin", "page": "Stran {page} od {total}" + }, + "similarityOption": "{percent} in navzgor", + "scannedBooks": "{count} knjige · pregledane {when}", + "scanProgress": "{processed} m {total} knjige", + "recommended": "Priporočeno", + "keeping": "Ohranjanje", + "willDelete": "Zbriši", + "keepCopy": "Obdrži {name}", + "selectGroup": "Izberi {title}", + "selectAll": "Izberite vsako skupino na tej strani", + "compareCopies": "Primerjajte kopije {title}", + "compareCaption": "Primerjava polj po poljih {count} izvodi", + "fieldColumn": "Polje", + "filesEach": "{count,plural,one{# vsak datoteko} two{# datoteke} few{# datoteke} other{# datoteke}}", + "moreFilesCount": "{count,plural,one{ter # več datotek} two{ter # več datotek} few{ter # več datotek} other{ter # več datotek}}", + "identicalAcross": "{count,plural,one{Enako v obeh kopijah:} two{Enako # izvodi:} few{Enako # izvodi:} other{Enako # izvodi:}}", + "deleteGroup": "{count,plural,one{Zbriši # Kopiraj, brezplačno {size}} two{Zbriši # izvodi, brezplačni {size}} few{Zbriši # izvodi, brezplačni {size}} other{Zbriši # izvodi, brezplačni {size}}}", + "confidence": { + "file_hash": "Enako", + "isbn": "Isti ISBN", + "exact_metadata": "Točno ujemanje", + "fuzzy_metadata": "Podobno", + "withSimilarity": "{label} {percent}" + }, + "summary": { + "groups": "{count,plural,one{skupina} two{skupine} few{skupine} other{skupine}}", + "extraCopies": "{count,plural,one{dodatna kopija} two{dodatne kopije} few{dodatne kopije} other{dodatne kopije}}", + "reclaimable": "Vrnjeno" + }, + "columns": { + "match": "Ujemanje", + "book": "Knjiga", + "copies": "Kopije", + "libraries": "Knjižnice", + "frees": "Osvobojeni", + "keeping": "Ohranjanje" + }, + "keepRule": { + "label": "Obdrži", + "metadata": "Najboljši metapodatki", + "size": "Največje datoteke", + "formats": "Večina formatov", + "oldest": "Najstarejša kopija", + "newest": "Najnovejša kopija", + "hint": "Izbereš lahko vsakega čuvaja v vsaki skupini." + }, + "sort": { + "label": "Razvrsti", + "reclaimable": "Večina prostora osvobojenega", + "copies": "Večina kopij", + "confidence": "Najmočnejša tekma", + "title": "Naslov A do Z" + }, + "keeper": { + "yourChoice": "Tvoja izbira.", + "reading": "-Ne, ne, ne, ne. {percent} Skozi njo.", + "collection": "je v {name}", + "metadata": "metapodatki {score}", + "largest": "največja na {size}", + "formats": "{count} formati", + "isbn": "ima ISBN", + "added": "dodano {date}", + "riskReading": "izbriše kopijo, ki jo vi ste {percent} skozi", + "riskCollection": "izbriše kopijo v {name}" + }, + "selection": { + "summary": "{groups} izbrane skupine, {copies} kopije za brisanje, brez {size}", + "clear": "Počisti", + "review": "{count,plural,one{Pregled # izvod} two{Pregled # izvodi} few{Pregled # izvodi} other{Pregled # izvodi}}", + "hint": "Izberite skupine, ki jim zaupate, ali pa odprite eno za primerjavo kopij." + }, + "keys": { + "move": "Premakni", + "expand": "razširi", + "keep": "Obdrži", + "select": "Izberi" + }, + "review": { + "title": "{count,plural,one{Zbriši # izvod} two{Zbriši # izvodi} few{Zbriši # izvodi} other{Zbriši # izvodi}}", + "description": "Prek {groups} skupine, osvoboditev {size}- Nič ni izbrisano, dokler ne potrdite.", + "riskWarning": "{count,plural,one{# skupina izbriše kopijo, ki nosi vaše podatke o branju.} two{# skupine izbrišejo kopijo, ki nosi vaše podatke o branju.} few{# skupine izbrišejo kopijo, ki nosi vaše podatke o branju.} other{# skupine izbrišejo kopijo, ki nosi vaše podatke o branju.}}", + "footer": "Osvobojeni {size}" + }, + "dismissed": { + "show": "{count,plural,one{Prikaži # par zavrnjenih} two{Prikaži # parih, ki so bili odpuščeni} few{Prikaži # parih, ki so bili odpuščeni} other{Prikaži # parih, ki so bili odpuščeni}}", + "hide": "Skrij zavržene pare", + "restore": "Obnovi ta par", + "restored": "Par se lahko ponovno ujema na naslednjem posnetku." } }, "entityManager": { @@ -7206,7 +12536,8 @@ }, "actions": { "rename": "Preimenuj", - "split": "Razdeli" + "split": "Razdeli", + "merge": "Združi" }, "duplicates": { "similarity": "Podobnost:", @@ -7226,7 +12557,20 @@ "percentSimilar": "{percent} % podobno", "pairDetails": "Podrobnosti para", "dismissEntityTitle": "Opusti vse pare za to entiteto", - "dismissPairTitle": "Opusti ta par" + "dismissPairTitle": "Opusti ta par", + "groupsLabel": "Možni podvojeni skupini", + "keepThisOne": "Obdržite tega.", + "mergeAway": "Zlijte se", + "notAMatch": "Ne ujema se.", + "notAMatchTitle": "Razpusti vsak par v tej skupini", + "selectPromptTitle": "Izberite skupino za pregled", + "selectPromptDescription": "Izberite skupino s seznama, da primerjate njene entitete z ramo ob rami.", + "backToList": "Nazaj v skupine", + "noBookTitles": "Ni knjig, povezanih s tem zapisom", + "thresholdLabel": "Najmanjša podobnost", + "thresholdValue": "{percent}%+", + "willBeMerged": "{count,plural,one{# subjekt bo združena in odstranjena} two{# subjekti bodo združeni in odstranjeni} few{# subjekti bodo združeni in odstranjeni} other{# subjekti bodo združeni in odstranjeni}}", + "chooseTargetHint": "Izberite entiteto, ki jo želite obdržati. Vse ostalo v skupini se združi vanj." }, "dismissed": { "loading": "Nalaganje opuščenih parov...", @@ -7250,7 +12594,44 @@ "nameDesc": "Ime Ž-A", "fewestBooks": "Najmanj knjig", "mostBooks": "Največ knjig" - } + }, + "sortByLabel": "Razvrsti po", + "entityTypeLabel": "Vrsta subjekta", + "resultCount": "{count,plural,one{# subjekt} two{# subjekti} few{# subjekti} other{# subjekti} =0{brez subjektov}}", + "selectedCount": "{count,plural,one{# izbrano} two{# izbrano} few{# izbrano} other{# izbrano}}", + "columns": { + "name": "Ime", + "sortName": "Razvrsti ime", + "books": "Knjige", + "status": "Stanje", + "actions": "Dejanja" + }, + "selectAllOnPage": "Izberite vse entitete na tej strani", + "selectEntity": "Izberi {name}", + "actionsFor": "Ukrepi za {name}", + "status": { + "noBooks": "Brez knjig" + }, + "filters": { + "all": "Vse", + "noBooks": "Brez knjig" + }, + "density": { + "label": "Višina vrstice", + "comfortable": "Udobno", + "compact": "Kompakten" + }, + "rowsPerPage": "Vrstice na stran", + "range": "Prikaz {from}-{to} m {total}", + "pagination": "Poklic", + "previousPage": "Prejšnja stran", + "nextPage": "Naslednja stran", + "goToPage": "Pojdi na stran {page}", + "morePages": "Več strani", + "noEntitiesDescription": "Ta vrsta entitete še ni bila dodana.", + "noMatchesTitle": "Ni ujemanja.", + "noMatchesDescription": "Noben subjekt se ne ujema z vašim trenutnim iskanjem in filtri.", + "clearFilters": "Počisti filtre" }, "deleteMode": { "label": "Način brisanja", @@ -7286,6 +12667,88 @@ "title": "Združi entitete", "description": "Izberite, katero entiteto želite ohraniti. Ostale bodo združene vanjo in odstranjene." } + }, + "missingResources": { + "title": "Manjkajoče vire", + "accessDenied": "Nimate dovoljenja za čiščenje manjkajočih sredstev.", + "categoriesLabel": "Kategorija čiščenja", + "untitled": "Brez naslova", + "clearSelection": "Počisti izbor", + "cleanSelected": "Čista {count} izbrano", + "selectAllMatching": "Izberi vse {count} ujemanje vnosov", + "allSelected": "Vse {count} so izbrani ustrezni vnosi.", + "sweep": { + "title": "Preverjanje pokrova", + "description": "Preveri vsako knjigo, ki trdi naslovnico na datotekah na disku in išče mape ovitkov, ki jih puščajo izbrisane knjige. Med preverjanjem se nič ne odstrani.", + "run": "Preverjanje delovanja", + "running": "Preverjanje", + "progress": "Pregledano {processed} m {total} knjige", + "lastRun": "Nazadnje pregledano {at}", + "truncated": "Našteti so samo prvi rezultati. Očistite te, nato pa ponovno zaženite pregled, da vidite ostale." + }, + "categories": { + "missing_books": "Manjkajoče knjige", + "broken_covers": "Zlomljene prevleke", + "orphaned_cover_dirs": "Mape s sirotami" + }, + "found": { + "missing_books": "{count,plural,one{Ena knjiga z manjkajočimi datotekami} two{# knjige z manjkajočimi datotekami} few{# knjige z manjkajočimi datotekami} other{# knjige z manjkajočimi datotekami} =0{Ni knjig z manjkajočimi datotekami}}", + "broken_covers": "{count,plural,one{En prekinjen sklic na pokrov} two{# lomljena sklicevanja na naslovnice} few{# lomljena sklicevanja na naslovnice} other{# lomljena sklicevanja na naslovnice} =0{Ni lomljenih referenc za ovitke}}", + "orphaned_cover_dirs": "{count,plural,one{Ena mapa s preostankom osirotelih naslovnic} two{# Mape s preostankom osirotelega dela} few{# Mape s preostankom osirotelega dela} other{# Mape s preostankom osirotelega dela} =0{Ni map s naslovi sirot}}" + }, + "empty": { + "missing_books": "Brez manjkajočih knjig", + "broken_covers": "Ni lomljenih referenc za ovitke", + "orphaned_cover_dirs": "Ni map s naslovi sirot", + "description": "Vse v tej kategoriji je zabeleženo." + }, + "needsSweep": { + "title": "Najprej preveri pokrov.", + "description": "Rezultati ovitka izhajajo iz pregleda diska. Zaženite ga, da vidite lomljene reference in osirote mape." + }, + "coverSource": { + "extracted": "Izvlečen", + "custom": "Po meri" + }, + "brokenSlot": { + "ebookExtracted": "Prevleka knjige, ekstrahirana", + "ebookCustom": "Ovitek knjige, po meri", + "audioExtracted": "Ovitek za avdio knjige, izvlečen", + "audioCustom": "Ovitek za avdioknjigo, po meri" + }, + "table": { + "selectPage": "Izberite vse na tej strani", + "coverFolder": "Ovitek za knjigo #{bookId}", + "fileCount": "{count,plural,one{# datoteka} two{# datoteke} few{# datoteke} other{# datoteke}}", + "orphanMedia": { + "ebook": "Ovitek knjige", + "audio": "Ovitek zvočne knjige", + "both": "Ovitki knjig in avdioknjig" + } + }, + "confirm": { + "title": "Čisti manjkajoči viri?", + "action": "Čista", + "missing_books": "{count,plural,one{Zbriše zapis zbirke podatkov za eno knjigo, katere datoteke so izginile. Knjiga, njeni metapodatki, napredek branja in ovitek so odstranjeni. Tega ni mogoče razveljaviti.} two{Zbriše zapise podatkovne zbirke za # Knjige, metapodatki, branje in platnice so odstranjeni. Tega ni mogoče razveljaviti.} few{Zbriše zapise podatkovne zbirke za # Knjige, metapodatki, branje in platnice so odstranjeni. Tega ni mogoče razveljaviti.} other{Zbriše zapise podatkovne zbirke za # Knjige, metapodatki, branje in platnice so odstranjeni. Tega ni mogoče razveljaviti.}}", + "broken_covers": "{count,plural,one{Počisti referenco na naslovnici za eno knjigo, tako da se prikaže, da nima ovitka. Metapodatki se drugače ne spremenijo.} two{Počisti reference za naslovnice # knjige, ki jih prikazujejo kot brez naslovnice. Metapodatki se sicer ne spremenijo.} few{Počisti reference za naslovnice # knjige, ki jih prikazujejo kot brez naslovnice. Metapodatki se sicer ne spremenijo.} other{Počisti reference za naslovnice # knjige, ki jih prikazujejo kot brez naslovnice. Metapodatki se sicer ne spremenijo.}}", + "orphaned_cover_dirs": "{count,plural,one{Zbriše eno ovitek mapo z diska. Njena knjiga ni več v bazi podatkov. Tega ni mogoče razveljaviti.} two{Zbriše # ovitkov map z diska. Njihovih knjig ni več v bazi podatkov. Tega ni mogoče razveljaviti.} few{Zbriše # ovitkov map z diska. Njihovih knjig ni več v bazi podatkov. Tega ni mogoče razveljaviti.} other{Zbriše # ovitkov map z diska. Njihovih knjig ni več v bazi podatkov. Tega ni mogoče razveljaviti.}}" + }, + "cleaned": { + "missing_books": "{count,plural,one{Odstrani eno manjkajočo knjigo} two{Odstrani # manjkajoče knjige} few{Odstrani # manjkajoče knjige} other{Odstrani # manjkajoče knjige} =0{Nič za očistiti.}}", + "broken_covers": "{count,plural,one{Počisti eno lomljeno sklicevanje na pokrov} two{Počisti # lomljena sklicevanja na naslovnice} few{Počisti # lomljena sklicevanja na naslovnice} other{Počisti # lomljena sklicevanja na naslovnice} =0{Nič za očistiti.}}", + "orphaned_cover_dirs": "{count,plural,one{Odstranil je eno mapo s prekrivnimi naslovi} two{Odstrani # Mape s preostankom osirotelega dela} few{Odstrani # Mape s preostankom osirotelega dela} other{Odstrani # Mape s preostankom osirotelega dela} =0{Nič za očistiti.}}" + }, + "pagination": { + "label": "Manjkajoče strani virov", + "page": "Stran {page} m {total}" + }, + "errors": { + "summary": "Ni moč naložiti manjkajočega povzetka virov.", + "sweepStart": "Ni moč zagnati preverjanja naslovov.", + "sweep": "Preverjanje naslovnice ni uspelo.", + "list": "Ni moč naložiti teh vnosov.", + "clean": "Čiščenje ni uspelo." + } } }, "views": { @@ -7302,6 +12765,9 @@ "sort": "Razvrsti", "sortOn": "Vklopljeno", "resetSort": "Ponastavi razvrščanje na privzeto", + "shuffle": "Premešaj", + "shuffleAria": "Premešaj vrstni red knjige", + "shuffleHint": "Nariši novo naključno naročilo", "filters": "Filtri", "clear": "Počisti", "clearAllFilters": "Počisti vse filtre", @@ -7581,7 +13047,28 @@ "feedFailing": "Feed failing", "archived": "Archived", "localShow": "Local", - "localShowDescription": "This show has no feed. Its episodes are the files in its folder." + "localShowDescription": "This show has no feed. Its episodes are the files in its folder.", + "missing": "Manjka", + "missingDescription": "Mapa te oddaje ni več na disku. Shranjena je tukaj, če se mapa vrne. Izbrišite jo, da jo odstranite za vedno." + }, + "selection": { + "select": "Izberi", + "selectAll": "Izberi vse", + "count": "{count} izbrano", + "toggleShow": "Izberi {title}" + }, + "bulkDelete": { + "title": "Zbriši izbrane prikaze", + "action": "Zbriši", + "confirmPhrase": "DELETE", + "description": "To trajno izbriše {count} kaže in vse, kar BookOrbit ve o njih, vključno z vašo zgodovino poslušanja. Tega ni mogoče razveljaviti.", + "descriptionWithFiles": "To trajno izbriše {count} kaže, vse BookOrbit ve o njih, in {size} prenesenih datotek. Vaših map se nikoli ne dotakne. Tega ni mogoče razveljaviti.", + "queued": "Brisanje {count} kaže", + "queuedWithFailures": "Brisanje {count} kaže, {failed} ni moč zagnati", + "errors": { + "prepare": "Ni bilo mogoče ugotoviti, kaj bi izbris teh prikazov odstranil", + "delete": "Ni moč zbrisati izbranih prikazov" + } }, "views": { "queue": "Čakalna vrsta" @@ -7603,6 +13090,7 @@ "explicit": "Explicit", "lastListened": "Listened {time}", "timeLeft": "{time} left", + "remainingClock": "-{time}", "pinnedEpisode": "Pinned episode", "newEpisodeCount": "{count} new", "unplayedShort": "{count} unplayed" @@ -8353,6 +13841,7 @@ }, "email": { "providers": "Ponudniki", + "servers": "Poštni strežniki", "recipients": "Prejemniki", "groups": "Skupine", "templates": "Predloge", @@ -8366,18 +13855,21 @@ "genre-blocklist": "Seznam blokiranih žanrov", "score": "Ocena zaupanja", "auto-fetch": "Samodejno pridobivanje knjig", - "authors": "Samodejno pridobivanje avtorjev" + "authors": "Samodejno pridobivanje avtorjev", + "search-cache": "Išči predpomnilnik" }, "admin": { "users": "Uporabniki", "account-activity": "Dejavnost računa", "magic-links": "Čarobne povezave", "oidc": "OIDC / SSO", - "server-fonts": "Strežniške pisave" + "server-fonts": "Strežniške pisave", + "tts": "Besedilo v govor" }, "system": { "file-naming": "Poimenovanje datotek", "book-dock": "Odložišče knjig", + "requests": "Zahtevki", "maintenance": "Vzdrževanje", "audit-log": "Dnevnik revizije" }, @@ -8388,6 +13880,179 @@ "restrictions": "Omejitve vsebine" }, "smartScopes": "Pametni obsegi", - "collections": "Zbirke" + "collections": "Zbirke", + "missingResources": "Manjkajoče vire", + "bookRequests": "Zahtevki", + "bookRequestDetail": "Zahtevek", + "bookRequestReleases": "Izberite sprostitev", + "tts": "Besedilo v govor" + }, + "tts": { + "readerControls": { + "listen": "Poslušaj.", + "playing": "Igranje" + }, + "player": { + "fallbackTitle": "Predvajanje TTS", + "play": "Predvajaj TTS", + "pause": "Premor TTS", + "openMiniPlayer": "Odpri mini predvajalnik", + "shrinkPlayer": "Skrči predvajalnik", + "expandPlayer": "Razširi predvajalnik", + "collapsePlayer": "Zloži predvajalnik", + "openDetails": "Odpri podrobnosti igralca", + "previousSentence": "Prejšnji stavek", + "nextSentence": "Naslednji stavek", + "meta": "Ch {chapter} -Poslano. {sentence} - {voice} - {speed}x", + "metaWithoutVoice": "Ch {chapter} -Poslano. {sentence} - {speed}x", + "position": "Poglavje {chapter} - Kazen. {sentence}", + "playbackError": "Napaka pri predvajanju - tapnite igro za ponovno poiskusitev", + "voice": "Glas", + "sleep": "Spanje", + "sleepRemaining": "{count}m", + "currentVoice": "Trenutni glas", + "chooseVoice": "Izberite glas", + "saveForBook": "Shrani za to knjigo", + "setAsDefault": "Nastavi kot globalno privzeto", + "bookVoiceSaved": "Glas je shranjen za to knjigo", + "bookVoiceSaveFailed": "Ni uspelo shraniti glasu knjige", + "defaultVoiceSaved": "Privzeto glasovno posodabljanje TTS", + "defaultVoiceSaveFailed": "Ni moč posodobiti privzetega glasu", + "stop": "Ustavi" + }, + "speed": { + "label": "Hitrost predvajanja", + "value": "{speed}x" + }, + "sleepTimer": { + "title": "Čas spanja", + "preset": "{count}m", + "presetLabel": "Ustavi predvajanje po {count} minute", + "cancel": "Prekliči", + "cancelLabel": "Prekliči čas spanja", + "remaining": "Ustavi se noter {minutes}m {seconds}s" + }, + "resume": { + "title": "Nadaljuj s TTS?", + "description": "Imate shranjen TTS položaj", + "descriptionWithChapter": "Imate shranjeno TTS položaj (poglavje {chapter})", + "resume": "Nadaljuj", + "startHere": "Začni to stran", + "dismiss": "Prosto", + "clearing": "Potrditev...", + "confirmClear": "Potrdi jasno", + "clearSavedPosition": "Počisti shranjeno mesto" + }, + "voicePicker": { + "search": "Išči glasove...", + "allProviders": "Vse", + "allLanguages": "Vsi jeziki", + "allCountries": "Vse države", + "filterByLanguage": "Filtriraj po jeziku", + "filterByCountry": "Filtriraj po državah", + "empty": "Ni najdenih glasov", + "select": "Izberi {name}", + "preview": "Ogled {name}", + "voiceWithLocale": "{voice} - {locale}" + }, + "settings": { + "description": "Nastavite privzete nastavitve TTS glasu in predvajanja.", + "defaultVoice": "Privzet glas", + "selectVoice": "Izberite glas...", + "change": "Sprememba", + "defaultSpeed": "Privzeta hitrost", + "saved": "Shranjene so nastavitve TTS", + "saveFailed": "Ni uspelo shraniti nastavitev TTS" + }, + "errors": { + "generic": "Napaka TTS" + } + }, + "delivery": { + "readAloud": { + "label": "Dostava EPUB-a v obliki branja", + "automatic": "Samodejno: raje besedilo, pustite originalno rezervno.", + "textOnly": "Samo besedilo EPUB", + "original": "Originalni EPUB z naracijo", + "hint": "Velja za prihodnje dobave. Originali ohranijo obstoječo naracijo in so lahko veliko večji. Priprava samo besedila ne uspe, če ni mogoče narediti varne kopije.", + "koboHint": "Original EPUB- jev bypass KEPUB konverzija. Native Kobo firmware morda ne bo predvajal narationa, natančna lega in poudarjanje sinhronizacije pa za to kopijo nista na voljo.", + "profileHint": "Za bralce, ki potrebujejo različne različice EPUB, uporabite ločene profile OPDS.", + "replacementTitle": "Zamenjaj Kobo kopijo", + "bookId": "ID knjige", + "device": "Naprava", + "prepare": "Pripravite zamenjavo", + "offer": "Odstranil sem samo kopijo naprave; ponudi zamenjavo", + "confirm": "Namestil sem zamenjavo.", + "cancel": "Prekliči zamenjavo", + "replacementHint": "Pripravite se in najprej pregledajte. Odstranitev kopije naprave ne izbriše knjižnične knjige. Back up naprava-lokalne opombe sami. BookOrbit ohranja kanonični napredek in zabeležke strežnika. Zamujeni dogodki lahko omejijo natančno usklajevanje.", + "prepared": "Pripravljeno nadomestilo: {format}, {size}. Odstrani to knjigo samo iz izbrane naprave, nato pa ponudite pripravljeno zamenjavo in sinhronizacijo.", + "offered": "Nadomestek ponujen. Sinhronizirajte in prenesete na napravo, nato potrdite namestitev. Dokončan prenos HTTP ne dokazuje namestitve.", + "cancelled": "Zamenjava preklicana. Prekličitev ne obnovi odstranitve ali delno zamenjane kopije naprave. Za pripravo prenosa obnovitve izberite isto knjigo.", + "alreadyOnDevice": "Naprava že ima to kopijo, zato ni ničesar za zamenjati.", + "failed": "Te zamenjave ni bilo moč pripraviti ali posodobiti.", + "searchBook": "Išči knjigo", + "chooseBook": "Izberite knjigo", + "moreResults": "Prikaži več knjig", + "noResults": "Ni najdenih knjig.", + "refresh": "Osveži status dostave", + "confirmed": "Potrdili ste namestitev, to pa je potrdilo, ne pa preverjanje naprave.", + "transferred": "Prenos končan. Odprite zamenjavo na napravi pred potrditvijo namestitve.", + "koreaderDefaultTitle": "KOReader, dostava EPUB", + "koreaderDefaultHint": "Privzeto velja za prihodnje prenose na napravah, ki uporabljajo te poverilnice. Nastavitve naprav ga lahko razveljavijo. Obstoječe kopije in prekinjeni prenosi ostanejo nespremenjeni. Samodejno ohranja obstoječe možnosti naprav.", + "koreaderUseDefault": "Uporabi privzeto vrednost", + "koreaderSaveFailed": "Ni moč shraniti nastavitve za dostavo za KOReader EPUB. Poskusite znova.", + "koreaderSaved": "Nastavitve dostave KOReader EPUB je shranjena." + } + }, + "commandPalette": { + "title": "Iskanje", + "description": "Išči knjige, avtorje, serije in nastavitve, skoči na kraj ali pa zaženi akcijo.", + "placeholder": "Iščite knjige, avtorje, serije ali pa pojdite na...", + "close": "Zapri iskanje", + "clear": "Počisti iskanje", + "tabs": { + "all": "Vse", + "books": "Knjige", + "authors": "Avtorji", + "series": "Serija", + "settings": "Nastavitve" + }, + "sections": { + "continueReading": "Nadaljuj branje", + "goTo": "Pojdi na", + "actions": "Dejanja", + "books": "Knjige", + "authors": "Avtorji", + "series": "Serija", + "settings": "Nastavitve" + }, + "kinds": { + "author": "Avtor", + "series": "Serija", + "library": "Knjižnica", + "smartScope": "Pametno področje uporabe", + "collection": "Zbiranje", + "page": "Stran", + "setting": "Nastavitev" + }, + "showAllBooks": "{count,plural,one{Prikaži # knjiga} two{Prikaži vse # knjige} few{Prikaži vse # knjige} other{Prikaži vse # knjige}}", + "showAllAuthors": "{count,plural,one{Prikaži # avtor} two{Prikaži vse # avtorji} few{Prikaži vse # avtorji} other{Prikaži vse # avtorji}}", + "showAllSeries": "{count,plural,one{Prikaži # serija} two{Prikaži vse # serija} few{Prikaži vse # serija} other{Prikaži vse # serija}}", + "showAllSettings": "{count,plural,one{Prikaži # nastavitev} two{Prikaži vse # nastavitve} few{Prikaži vse # nastavitve} other{Prikaži vse # nastavitve}}", + "actions": { + "lightTheme": "Preklopi na svetlobno temo", + "darkTheme": "Preklopi na temno temo" + }, + "hints": { + "navigate": "Navigacija", + "open": "Odpri", + "filter": "Filter", + "close": "Zapri" + }, + "keys": { + "escape": "esc", + "tab": "jeziček" + }, + "resultCount": "{count,plural,one{# rezultat} two{# rezultati} few{# rezultati} other{# rezultati} =0{Ni rezultatov}}" } } diff --git a/client/src/locales/uk.json b/client/src/locales/uk.json index b9768d064..24690c550 100644 --- a/client/src/locales/uk.json +++ b/client/src/locales/uk.json @@ -14,7 +14,17 @@ "previous": "Попереднє", "retry": "Повторити спробу", "yes": "Так", - "no": "Ні" + "no": "Ні", + "show": "Показати", + "hide": "Приховати", + "undo": "Скасувати", + "pagination": { + "label": "Розбивка на сторінки", + "pageOf": "Сторінка {page} з {totalPages}", + "previousPage": "Попередня сторінка", + "nextPage": "Наступна сторінка", + "goToPage": "Перейти на сторінку {page}" + } }, "settings": { "privacySharing": { @@ -97,10 +107,52 @@ }, "theme": { "title": "Тема", + "style": { + "label": "Стиль", + "hint": "Загальний вигляд додатку. Режим, акценти, кути та фон тримають свої налаштування.", + "bookorbit": { + "label": "Книжкова орбіта", + "description": "Термінові поверхні, скляні панелі та засічки." + }, + "nostalgia": { + "label": "Nostalgia", + "description": "Нейтральне ґрунтування, системний тип, плоскі панелі та верхній сяйво." + } + }, "colorScheme": { "label": "Кольорова схема", "hint": "Світлий або темний інтерфейс" }, + "surfacePalette": { + "label": "Поверхня", + "hint": "Нейтральний грунт за панелями та картами.", + "palettes": { + "onyx": "Онікс", + "carbon": "Вуглець", + "neutral": "Нейтрально", + "zinc": "Цинк", + "iron": "Залізо", + "steel": "Сталь", + "ash": "Аш", + "smoke": "Дим", + "charcoal": "Деревне вугілля", + "slate": "Сланець", + "midnight-blue": "Синій опівніч", + "ocean": "Океан", + "pine": "Пайн", + "olive": "Оливковий", + "stone": "Камінь", + "sepia": "Sepia", + "crimson": "Малиновий", + "plum": "Слива" + } + }, + "topGlow": { + "label": "Верхнє підсвічування", + "hint": "Як далеко очне підсвічування простягається вниз сторінки. Проведіть весь шлях вліво, щоб вимкнути його.", + "value": "{value}%", + "off": "Вимкнено" + }, "accents": { "grey": "Сірий колір", "scarlet": "Scarlet", @@ -168,11 +220,18 @@ "blush": "Блаш" }, "accentColor": { - "label": "Колір акценту" + "label": "Колір акценту", + "hint": "Управління виділенням і інтерактивними елементами" }, "cornerRadius": { "label": "Corner radius", - "hint": "Обсяг карт та елементів UI" + "hint": "Обсяг карт та елементів UI", + "options": { + "sharp": "Дієз", + "default": "Типово", + "rounded": "Округлі", + "pill": "Pill" + } }, "surfaceBrightness": { "label": "Яскравість поверхні", @@ -191,7 +250,8 @@ "structural": "Структурна", "ambient": "Навколишнє середовище", "refractive": "Пояснення" - } + }, + "syncSaveFailed": "Не вдалося зберегти настройки теми" }, "storage": { "title": "Де зберегти налаштування зовнішнього вигляду", @@ -223,6 +283,21 @@ "loadError": "Не вдалося завантажити постачальника пошуку обкладинок за замовчуванням", "saveError": "Не вдалося зберегти постачальника пошуку обкладинок за замовчуванням" }, + "placeholderStyle": { + "title": "Стиль заповнювача", + "hint": "Книги без обкладинки малюнку зображуються в цьому стилі.", + "options": { + "bauhaus": "Bauhaus", + "constructivist": "Конструктивіст", + "memphis": "Memphis", + "clothbound": "Одяг", + "poster": "Плакат", + "aurora": "Aurora", + "vista": "Віста", + "marbled": "Мармуровий", + "paperback": "М'яка обкладинка" + } + }, "displayMode": { "title": "Режим відображення обкладинки", "hint": "Визначає, як реальні обкладинки розміщуються в слоти книги, коли співвідношення сторін відрізняються", @@ -417,6 +492,11 @@ "collapseSeries": { "label": "Згорнути серію за замовчуванням", "hint": "Згрупувати книги з тієї ж серії в одній картці в бібліотеці та колекції переглядів" + }, + "bookRequests": { + "label": "Показати запити на книгу", + "hint": "Показувати сторінки запиту, запити та налаштування в цьому обліковому записі. Існуючі запити виконуються під час приховування.", + "saveFailed": "Не вдалося оновити функцію видимість запитів на замовлення" } }, "icons": { @@ -731,6 +811,7 @@ "connected": "Підключено - {issuer}", "connectionFailed": "Не вдалося встановити з'єднання", "privateIssuerAddress": "URL-адреса видавця посилається на приватну або локальну мережу, тому підключення не дозволено. Встановіть значення OIDC_ALLOCAL_ISSUERS=true на сервері BookOrbit для дозволу такого підключення.", + "tlsCertificateUntrusted": "BookOrbit не вдалося перевірити сертифікат TLS провайдера OIDC. Якщо постачальник використовує засіб приватного сертифікату, монтуйте його пакет PEM CA, встановіть NODE_EXTRA_CERTS в шлях контейнерів і перезапустіть Bookbit.", "hide": "Приховати", "details": "Подробиці", "supported": "підтримується", @@ -738,6 +819,7 @@ }, "groupMappings": { "title": "Співставлення груп", + "description": "Карта OIDC прав груп до закладок. Синхронізується при кожному вході в систему.", "noPermission": "Немає дозволу", "empty": "Не налаштовано групове зіставлення.", "addMapping": "Додати відображення", @@ -779,6 +861,7 @@ "recommendationsGroup": "Рекомендації", "achievementsGroup": "Досягнення", "updatesGroup": "Оновлення", + "importFromBooklore": "Імпортувати з Booklore", "bookloreImportConfigured": "Імпорт Booklore налаштований", "importLibraryData": "Імпортувати дані бібліотеки", "migrationConfigured": "Джерело міграцій налаштовано", @@ -866,6 +949,7 @@ "sourceRecordId": "ID вихідного запису #{id}", "byAuthorWithId": "від {author} (ID: {id})", "filePathWithId": "{path} (ID: {id})", + "bookloreSourceId": "Ідентифікатор джерела Booklore: {id}", "libraryBookNum": "Бібліотечна книга #{id}", "errorInitialize": "Не вдалося ініціалізувати налаштування міграції", "errorLoadSourceTypes": "Не вдалося завантажити підтримувані типи міграції", @@ -876,6 +960,7 @@ "errorLoadSuggestions": "Не вдалося завантажити пропозиції зіставлень користувачів", "requiredFields": "Потрібно вказати ім'я хоста, ім'я бази даних, бази даних і початкового тексту", "connectionTestPassedWithWarnings": "Тестування підключення пройшло з попередженнями", + "connectionTestPassedWithCount": "Тест підключення пройдено з попередженнями {count} . Перший: {first}", "connectionTestPassed": "Тестування з'єднання пройдено", "connectionOkMissingTables": "Підключення до ok, але {count} обов'язкова таблиця (ів) відсутня", "cannotTestMediaPathActiveRun": "Неможливо перевірити шлях до медіа, коли запускається", @@ -886,6 +971,7 @@ "mediaPathValidationFailed": "Помилка перевірки шляху медіа.", "connectionFailedBeforeMediaPath": "Помилка під час перевірки підключення до медіа-шляху.", "cannotModifySourceActiveRun": "Не вдалося змінити джерело, поки запускається", + "sourceSavedValidatedWarnings": "Вихідне значення збережено та перевірено через попередження {count}", "sourceSavedValidated": "Джерело збережено та перевірене", "errorSaveValidateSource": "Не вдалося зберегти або перевірити джерело", "cannotSaveMappingsActiveRun": "Не вдалося зберегти зіставлення, коли запускається", @@ -920,13 +1006,16 @@ "reasonNoFilePathMatch": "Шлях до файлу не відповідає жодній книзі у цій бібліотеці", "reasonNoFileHashMatch": "Хеш файлу не відповідає жодній книзі в цій бібліотеці", "reasonNoIsbnMatch": "ISBN не відповідає жодній книзі у цій бібліотеці", + "reasonNoAsinMatch": "ASIN не відповідає жодній книзі у цій бібліотеці", "reasonInsufficientSourceData": "Недостатньо метаданих для спроби збігатися", "reasonAmbiguousIsbnMatch": "Кілька книг відповідають одному ISBN", + "reasonAmbiguousAsinMatch": "Кілька книг співпадають з тим самим ASIN", "reasonAmbiguousFileHashMatch": "Кілька книг відповідають одному хешу файлів", "reasonAmbiguousFilePathMatch": "Кілька книг відповідають одному шляху до файлу", "reasonAmbiguousTitleAuthorMatch": "Кілька книг співпадають з тим же заголовком і автором", "reasonUnknown": "Не вдалося визначити причину", "strategyIsbn": "За даними ISBN", + "strategyAsin": "За участі ASIN", "strategyFileHash": "відповідно до хешу файлу", "strategyPathMapping": "За шляхом зіставленого файлу", "strategyTitleAuthor": "Відповів заголовку і автору програми", @@ -955,6 +1044,7 @@ "saveAndValidate": "Зберегти та підтвердити", "sourceValidatedWithWarnings": "Джерело перевірене з попередженнями", "lastValidationSnapshot": "Остання перевірка, знімок", + "sourceVersion": "Версія джерела: Z{version}", "unknown": "Не вказано", "missingRequiredTables": "Відсутні необхідні таблиці: {tables}", "suggestionsAutoLoad": "Завантаження пропозицій користувачів автоматично після перевірки джерела.", @@ -1008,6 +1098,7 @@ "refreshStatus": "Оновити статус", "statusPollingStopped": "Опитування стану зупинено через помилку.", "retry": "Повторити спробу", + "stageLabel": "Стадія: Z{stage}", "stageInitializing": "ініціалізація", "endedLabel": "Завершено {date}", "stageCompleted": "Завершені", @@ -1050,6 +1141,7 @@ "unresolvedBooksHint": "Ці книги є у джерелі, але не можуть бути розміщені в будь-якій книзі у вашій бібліотеці.", "mappedUsersHeading": "Згорнуті користувачі ({count})", "mappedUsersHint": "Сукупності користувачів беруться з багатоосновного попереднього перегляду сушного схованки з планом міграції.", + "coverImportsFailed": "Імпорт обкладинок {count} не вдався. Докладні рядки несправностей не зберігаються.", "backToSetup": "Назад до налаштувань" }, "libraries": { @@ -1064,6 +1156,7 @@ "syncMetadataToFiles": "Синхронізувати метадані у файли", "deleteLibrary": "Видалити бібліотеку", "bookCount": "{count, plural, =0 {жодної книги} one {# книга} few {# книг} many {# книг} other {# книг}}", + "booksUnit": "{count, plural, one {Запишіть} other {Книги} few {Книги} many {Книги}}", "folderCount": "{count, plural, =0 {папок немає} one {# папка} few {# папки} many {# папки} other {# папки}}", "fileMode": "Режим файлу", "folderMode": "Режим теки", @@ -1077,6 +1170,7 @@ "deleteLibraryButton": "Видалити бібліотеку", "syncConfirmTitle": "Синхронізувати метадані у файли?", "syncFiles": "Синхронізація файлів", + "metadataSynced": "Метадані, синхронізовані з файлами для \"{name}\"", "fileWriteNotEnabled": "Запис файлу метаданих не увімкнено для цієї бібліотеки. Увімкніть його в налаштуваннях бібліотеки.", "fileSyncFailed": "Не вдалося синхронізувати файл для \"{name}\"", "scanStarted": "Сканування розпочато \"{name}\"", @@ -1090,7 +1184,163 @@ "libraryDeleted": "\"{name}\" видалено", "deleteFailed": "Не вдалося вилучити бібліотеку", "refreshingCovers": "Оновлення обкладинки {pct}% ({processed}/{total})", - "coversRefreshed": "Обкладинки оновлені ({count} оброблено)" + "coversRefreshed": "Обкладинки оновлені ({count} оброблено)", + "onDiskUnit": "На диску {size}", + "noFilesIndexed": "Не знайдено жодного файлу", + "formatEntry": "{format} {count}", + "formatOverflow": "{count, plural, one {+# більше формату} other {+# форматів} few {+# форматів} many {+# форматів}}", + "extraFolders": "{count, plural, one {+# папка} other {+# папки} few {+# папки} many {+# папки}}", + "openLibrary": "Відкрити {name}", + "moreActions": "Додаткові дії для {name}", + "statsFailed": "Не вдалося завантажити лічильники бібліотеки. Все інше на цій сторінці досі працює.", + "filterLabel": "Фільтр бібліотек", + "filterPlaceholder": "Фільтр за іменем або шляхом", + "filterClear": "Очистити фільтр", + "sortLabel": "Упорядкувати", + "noMatchesTitle": "Немає бібліотек, які відповідають цьому фільтру", + "noMatchesHint": "Нічого не відповідає значенню{query}\" за іменем або шляхом папки.", + "totalLibraries": "{count, plural, one {# бібліотека} other {# бібліотеки} few {# бібліотеки} many {# бібліотеки}}", + "neverScanned": "Ніколи не сканував", + "neverScannedHint": "Запустити сканування, щоб індексувати свої папки", + "scanFailedAt": "Не вдалося виконати {time}", + "scanningPercent": "Сканування {pct}%", + "scanCounting": "Відлік файлів", + "scanCounts": "{processed} {total}", + "scanAdded": "{count, plural, one {+# додано} other {+# додано} few {+# додано} many {+# додано}}", + "scanUpdated": "{count, plural, one {# оновлено} other {# оновлено} few {# оновлено} many {# оновлено}}", + "scanMissing": "{count, plural, one {# відсутнє} other {# відсутнє} few {# відсутнє} many {# відсутнє}}", + "scanNoChange": "без змін", + "outcomeSeparator": ", ", + "scanOutcome": "{trigger} · {outcome}", + "syncConfirmBody": "Це призведе до перезаписування метаданих у кожен підтримуваний файл {name} безпосередньо на диску. Це не можна скасувати.", + "columns": { + "library": "Бібліотека", + "contents": "Вміст", + "onDisk": "На диску", + "automation": "Автоматизація", + "lastScan": "Останнє сканування", + "actions": "Дії" + }, + "sort": { + "default": "Порядок за замовчуванням", + "name": "Ім'я", + "books": "Книжки", + "size": "Розмір на диску", + "lastScan": "Останнє сканування", + "sidebar": "Sidebar order" + }, + "trigger": { + "manual": "Вручну", + "watcher": "спостерігач", + "schedule": "Розклад" + }, + "capability": { + "watch": "Дивитися папки", + "schedule": "Заплановане сканування", + "fileWrite": "Запис у файл", + "fileRename": "Перейменування файлів", + "on": "{name}: увімкнено", + "off": "{name}: вимкнено", + "legendHint": "Пунктирні означає вимкнути" + }, + "stateOn": "Увімк", + "stateOff": "Вимкнено", + "toggleDetail": "Показати деталі для {name}", + "durationMs": "{ms} мс", + "durationSeconds": "{seconds}сек", + "durationMinutes": "{minutes}m {seconds}s", + "history": { + "when": "Коли", + "trigger": "Тригер", + "duration": "Тривалість", + "result": "Результат", + "status": "Статус", + "statusValue": { + "running": "Біг", + "completed": "Завершені", + "failed": "Не вдалося" + } + }, + "detail": { + "foldersTitle": "Папки та розкладка", + "metadataTitle": "Метадані та читання", + "accessTitle": "Доступ", + "historyTitle": "Історія сканування", + "path": "Шлях {index}", + "organization": "Організація", + "excludePatterns": "Не включати шаблони", + "precedence": "Попередній пріоритет джерела", + "allowedFormats": "Дозволені формати", + "countsAsStarted": "Лічильники почали", + "countsAsFinished": "Лічильники", + "peopleWithAccess": "Люди з доступом", + "added": "Додано", + "coverShape": "Форма обкладинки", + "coverShapeValue": { + "portrait": "2:3 портрет", + "square": "1:1 квадрат" + }, + "gridShape": "Форма сітки", + "gridShapeValue": { + "tall": "Шкіряні клітини", + "square": "Квадратні клітини" + }, + "none": "Без ефекту", + "allSupported": "Всі підтримувані", + "patternCount": "{count, plural, one {# шаблон} other {# шаблон} few {# шаблон} many {# шаблон}}", + "peopleCount": "{count, plural, =0 {Без явних надходить} one {# особа} other {# людей} few {# людей} many {# людей}}", + "historyEmpty": "Ця бібліотека ніколи не сканувалась.", + "historyFailed": "Не вдалося завантажити історію сканування для цієї бібліотеки.", + "manageAccess": "Керування", + "peopleMore": "{count, plural, one {+# ще} other {+# більше} few {+# більше} many {+# більше}}" + }, + "scannedAt": "Відскановано {time}", + "detailRegion": "Подробиці для {name}", + "scanTrigger": { + "manual": "Вручну", + "watcher": "спостерігач", + "schedule": "Заплановані" + }, + "schedule": { + "at": "{preset} · {time}", + "weeklyAt": "{preset} · {day} {time}" + }, + "librariesUnit": "{count, plural, one {бібліотека} other {бібліотеки} few {бібліотеки} many {бібліотеки}}", + "foldersUnit": "{count, plural, one {папка} other {папки} few {папки} many {папки}}", + "copyPath": "Копіювати шлях", + "pathCopied": "Шлях скопійовано", + "pathCopyFailed": "Не вдалося скопіювати шлях", + "problem": { + "neverTitle": "Ніколи не сканувало.", + "neverBody": "{count, plural, one {Все ще нічого не індексується} other {Нічого в його # теках ще індексовано} few {Нічого в його # теках ще індексовано} many {Нічого в його # теках ще індексовано}}", + "failedTitle": "Останнє сканування невдале {time}.", + "scanNow": "Сканувати", + "retry": "Повторити сканування" + }, + "quick": { + "watchAria": "Дивитися папки на {name}", + "scheduleAria": "Заплановане сканування для {name}: {value}", + "customSchedule": "Спеціальний розклад…", + "watchOn": "Перегляд папок для \"{name}\"", + "watchOff": "Завершено перегляд тек для \"{name} \" \" \"", + "scheduleSet": "Заплановане сканування для \"{name}\": {value}", + "scheduleOff": "Планове сканування вимкнено для \"{name}\"", + "saveFailed": "Не вдалося оновити \"{name}\"", + "fileWriteAria": "Напишіть файл для {name}", + "renameAria": "Перейменувати файли для {name}", + "fileWriteOn": "\"{name}\" буде писати дані у свої файли наступного разу при збереженні", + "fileWriteOff": "\"{name}\" більше не буде записувати подробиці у файли", + "renameOn": "\"{name}\" перейменовує файли на ваш номер шаблону наступного разу, коли їх дані будуть збережені", + "renameOff": "\"{name}\" більше не буде перейменовувати файли" + }, + "historyFor": "Історію сканування {name}", + "scanNothingNew": "нічого нового", + "scanTimeLeftSeconds": "{count, plural, one {Лишилося # секунду} other {Залишилось # секунд} few {Залишилось # секунд} many {Залишилось # секунд}}", + "scanTimeLeftMinutes": "{count, plural, one {Лишилося # хвилину} other {Залишилось # хвилин} few {Залишилось # хвилин} many {Залишилось # хвилин}}", + "scanFinished": "Сканування завершено для \"{name}\": {outcome}", + "scanFinishedFailed": "Помилка сканування \"{name}\"", + "viewChanges": "Переглянути зміни", + "duplicateSettings": "Дублювати налаштування" }, "authorEnrichment": { "configuration": "Конфігурація", @@ -1124,7 +1374,17 @@ "birthDate": "Народився", "deathDate": "Помер", "website": "Вебсайт", - "genres": "Жанри" + "genres": "Жанри", + "influences": "Інфляції" + }, + "metadataPreferences": { + "title": "Джерела полів", + "hint": "Задати замовлення з кожного поля заповнено. Перший провайдер має значення у перемогах.", + "noProviders": "Немає провайдера", + "saved": "Джерела полів збережено", + "saveFailed": "Не вдалося зберегти джерела поля", + "limitedProviders": "{providers} надає лише біографії та фотографії.", + "addProvider": "Додати {provider} як джерело" } }, "scoreWeights": { @@ -1134,6 +1394,10 @@ "resetToDefaultsButton": "Скинути до типових", "recalculateAll": "Перерахувати все", "confirmReset": "Підтвердіть скидання", + "resetDialog": { + "title": "Скинути кожну вагу до стандартної?", + "description": "З усіма 24 полями повертаються до ваги BookOrbit кораблів. Нічого не збережено, поки ви не виберете і перезавантажите." + }, "reset": "Reset", "recalculate": "Перерахувати повторно", "subtotal": "підсума: {count}", @@ -1141,18 +1405,314 @@ "saveFailed": "Не вдалося зберегти ваги", "recalcStarted": "Перерахунок почато у фоновому режимі", "recalcFailed": "Перерахування не вдалося", - "resetToDefaults": "Вага відновлена до стандартних значень. Зберегти для застосування." + "resetToDefaults": "Вага відновлена до стандартних значень. Зберегти для застосування.", + "howItWorks": { + "title": "Як це працює.", + "summary": "Кожна книга набирає 100 балів як завершити свої метадані. Вага змістовна лише поруч з іншими, тому кожне поле нижче показує частку готового рахунку, за який він несе відповідальність. Подвоєння усіх ваг нічого не змінюється." + }, + "readOnly": "Ви можете побачити розрахунок партитур, але зміна ваги потребує дозволу в налаштуваннях програми.", + "compositionTitle": "Де отримується результат", + "compositionHint": "Відсоток завжди додавати до 100.", + "searchFields": "Поля фільтру", + "clearSearch": "Очистити пошук", + "noMatches": "Немає полів, відповідних за цим пошуком.", + "totalSummary": "{scoring} з 24 полів, загальна сума {total} балів", + "countGroups": "Рахувати відповідно до рахунку", + "notScored": "Не набрано", + "notScoredHeading": "Не набрали ({count})", + "notScoredHint": "Поле на нулю листя загальної кількості, тому її не помічають.", + "decreaseWeight": "Зменшити вагу {field}", + "increaseWeight": "Збільшення ваги {field}", + "revertField": "Відновити {field} на збережену вагу", + "table": { + "field": "Поле", + "weight": "Вага", + "share": "Поділитися рахунком", + "versusDefault": "Змінити" + }, + "groups": { + "core": "Основа", + "publishing": "Публікація", + "classification": "Класифікація", + "enrichment": "Забезпечення", + "providers": "ID постачальника" + }, + "rules": { + "text": "Підлітки, якщо вони не порожні", + "positive": "Показувати коли він вище нуля", + "count": "Підраховує при множенні принаймні однієї", + "cover": "Прораховує при збереженні зображення обкладинки", + "providerId": "Підлітки при збереженні ID", + "seriesIndex": "Прораховує коли більше нуля, тому гучність 0 ніколи не враховується" + }, + "rail": { + "title": "Де знаходиться ваша книжка", + "description": "Значок колір читача на книжці з кожною книгою, яку ви можете побачити сьогодні.", + "bandsLabel": "Кольорові межі іконок", + "bands": { + "poor": "ВІДМІНИТИ 50", + "fair": "50-69", + "good": "70-89", + "great": "90+" + }, + "median": "Медіана", + "belowFifty": "Менше 50", + "ninetyPlus": "90 і вище", + "noBooks": "Ще не набрали іще жодної книги. Запустіть recore, коли ваша бібліотека буде готова.", + "scopeNote": "У доступних вам бібліотеках {count, plural, one {# книга} few {# книги} many {# книг} other {# книги}}, оцінених за збереженими зараз вагами." + }, + "progress": { + "running": "Бібліотека кореляції", + "failed": "Не вдалося відтворити", + "count": "Обробка книг {processed}", + "countOf": "{processed} з книг {total}", + "failedCount": "({count} не вдалося)", + "safeToLeave": "Безпечно лишити цю сторінку.", + "dismiss": "Відхилити" + }, + "save": { + "upToDate": "Всі зміни збережено.", + "unsaved": "{count, plural, one {# поле змінено} other {# полів змінено} few {# полів змінено} many {# полів змінено}}", + "totalShift": "всього {from} по точкам {to}", + "rescores": "Збереження повторних ядер {count, plural, one {# книга} other {# книг} few {# книг} many {# книг}} на задньому плані.", + "rescoresUnknown": "Збереження recores у фоновому режимі.", + "action": "Зберегти і відновити", + "discard": "Відкинути", + "leaveWarning": "У вас є незбережені зміни. Залишити сторінку та їх втратити?" + } }, "tabs": { "users": "Спільноти", "account-activity": "Активність облікового запису", "magic-links": "Магічні посилання", "oidc": "OIDC / SSO", + "tts": "Text-to-Speech", "server-fonts": "Шрифти сервера" }, + "tts": { + "title": "Постачальники", + "subtitle": "Голосові двигуни, доступні читачам. Голоси стають вагою через постачальника.", + "summary": "{providers, plural, one {# постачальник} other {# постачальників} few {# постачальників} many {# постачальників}} · {enabled} активовано · ! {voices, plural, one {# голосові прикриті} other {# голоси прокляті} few {# голоси прокляті} many {# голоси прокляті}}", + "addProvider": "Додати постачальника", + "loadFailed": "Не вдалося завантажити конфігурацію синтезу мовлення", + "empty": "Не налаштовано голосових провайдерів.", + "reorderHint": "Перетягніть, щоб змінити порядок. Читачі бачать провайдерів в цьому порядку.", + "dragHandle": "Замовити {name}", + "moveUp": "Перемістити {name} вгору", + "moveDown": "Перемістити {name} вниз", + "reorderFailed": "Не вдалося зберегти замовлення постачальника", + "expand": "Показати деталі для {name}", + "collapse": "Приховати деталі для {name}", + "toggleEnabled": "Увімкнути {name}", + "enableFailed": "Не вдалося оновити {name}", + "statusConnected": "Підключено", + "statusUnreachable": "Недоступний", + "statusUnchecked": "Не перевірено", + "voiceCount": "{count, plural, one {# голос} other {# голоси} few {# голоси} many {# голоси}}", + "configuration": "Конфігурація", + "fieldType": "Тип", + "fieldTypeOpenAi": "OpenAI-сумісний", + "fieldApiKey": "API ключ", + "apiKeySet": "Сет", + "apiKeyNotSet": "Не задано", + "fieldModel": "Модель за замовчуванням", + "fieldModelNone": "Постачальник за умовчанням", + "fieldDiscovery": "Голосове виявлення", + "discoverySupported": "Підтримується", + "discoveryUnsupported": "Не підтримується", + "voices": "Голоси", + "voicesCurated": "{count} проклято", + "voicesTapToPreview": "Торкніться голосу для попереднього перегляду", + "voicesNone": "Немає голосів, налаштованих ще", + "manageVoices": "Керування голосами", + "previewVoice": "Попередній перегляд {name}", + "previewStop": "Зупинити попередній перегляд", + "previewFailed": "Не вдалося відтворити попередній перегляд для {name}", + "previewNeedsEnabled": "Увімкнути для перегляду голосів", + "editConfiguration": "Редагувати конфігурацію", + "testConnection": "Перевірка підключення", + "testPassed": "Підключено · {count, plural, one {Знайдено # голос} other {# голосів знайдено} few {# голосів знайдено} many {# голосів знайдено}}", + "testFailed": "Не вдалося встановити з'єднання", + "delete": "Видалити", + "deleteConfirm": "Видалити постачальника \"{name}\"? Читачі, використовуючи його голоси, повертаються до іншого постачальника.", + "deleteFailed": "Не вдалося видалити {name}", + "deleted": "Постачальник видалено", + "saveFailed": "Не вдалося зберегти {name}", + "saved": "Постачальник збережено", + "formAddTitle": "Новий постачальник", + "formEditTitle": "Змінити провайдера", + "formName": "Ім'я", + "formNamePlaceholder": "Kokoro", + "formBaseUrl": "Базова URL-адреса", + "formBaseUrlPlaceholder": "http://localhost:8880/v1", + "formApiKey": "API ключ", + "formApiKeyOptional": "За бажанням", + "formApiKeyPlaceholder": "sk-...", + "formApiKeyKeep": "Залиште порожнім, щоб тримати поточний ключ", + "formModel": "Модель за замовчуванням", + "formModelPlaceholder": "tts-1", + "formDiscovery": "Цей провайдер може відображати свої власні голоси", + "formRequired": "Ім'я і базова URL-адреса обов'язкові", + "curation": { + "title": "Керувати голосами - {provider}", + "summary": "{count, plural, one {# голос налаштовано} other {# голоси налаштовано} few {# голоси налаштовано} many {# голоси налаштовано}}", + "summaryUnsaved": "{count, plural, one {# голос налаштований} other {# голоси налаштовані} few {# голоси налаштовані} many {# голоси налаштовані}} - Незбережені зміни", + "importFromProvider": "Імпорт із провайдера", + "loadPreset": "Load {preset} preset", + "importUnsupported": "Цей постачальник не підтримує голосове відкриття.", + "importUnsupportedWithPreset": "Цей провайдер не підтримує виявлення голосу. Замість цього скористайтеся кнопкою «Load {preset} preset».", + "discoveryUnsupported": "Цей постачальник не викриває кінцеву точку списку голосу.", + "discoverFailed": "Не вдалося відкрити голоси", + "emptyImportOrPreset": "Немає голосів. Імпорт з постачальника або завантаження попередніх записів.", + "emptyImport": "Голосів не налашували. Імпортуйтеся від постачальника.", + "emptyPreset": "Жодних голосів не налаштовано. Завантажте пресет, аби розпочати.", + "emptyManual": "Не сконфігуровано голосів. Додай голоси вручну.", + "columnId": "ID", + "columnName": "Ім'я", + "columnLocale": "Локалізація", + "columnGender": "Стать", + "genderMale": "Чоловік", + "genderFemale": "Жінка", + "genderUnknown": "Не вказано", + "cancelEdit": "Відмінити редагування", + "editVoice": "Редагувати {name}", + "deleteVoice": "Видалити {name}", + "previewVoice": "Попередній перегляд {name}", + "stopPreview": "Зупинити попередній перегляд для {name}", + "saveVoices": "{count, plural, one {Збережіть # голос} other {Збережіть # голосу} few {Збережіть # голосу} many {Збережіть # голосу}}" + } + }, "serverFonts": { "title": "Шрифти сервера", - "listLabel": "Шрифти сервера" + "subtitle": "Завантажити шрифти, які кожен користувач може вибрати в eBook читач, не завантажуючи власне.", + "listLabel": "Шрифти сервера", + "noFontsYet": "Шрифти сервера ще немає", + "noFontsHint": "Шрифти, які ви додаєте, з'являються в читачеві кожного користувача.", + "addFonts": "Додати шрифти", + "filterLabel": "Фільтр сімейств", + "filterPlaceholder": "Фільтр сімейств", + "filterClear": "Очистити фільтр", + "noMatches": "Жодна сім'я не відповідає запиту \"{query}\"", + "previewLabel": "Попередній перегляд тексту", + "previewPlaceholder": "Введіть для попереднього перегляду в кожній сім'ї", + "previewSize": "Розмір попереднього перегляду", + "previewSizeOption": "{size} px", + "familiesUnit": "{count, plural, one {сімейство} other {сімейства} few {сімейства} many {сімейства}}", + "filesOfMax": "{count} з {max} файлів", + "onDisk": "На диску {size}", + "columns": { + "family": "Родина", + "specimen": "Специмен", + "styles": "Styles", + "readers": "Читачі" + }, + "fileSummary": "{count, plural, one {# файл} other {# файлів} few {# файлів} many {# файлів}} · {size}", + "newBadge": "Новий", + "styles": { + "single": "Тільки {style}", + "many": "{count} styles", + "manyNoItalics": "{count} styles, no italics" + }, + "facts": { + "books": "{count, plural, one {За # книгу} other {У # книгах} few {У # книгах} many {У # книгах}}", + "booksDetail": "{books, plural, one {Встанови на # книгу} other {Вкажи до # книг} few {Вкажи до # книг} many {Вкажи до # книг}} від {readers, plural, one {# читачів} other {# читачів} few {# читачів} many {# читачів}}", + "defaults": "{count, plural, one {За умовчанням для # читача} other {За замовчуванням # читачів} few {За замовчуванням # читачів} many {За замовчуванням # читачів}}", + "hidden": "{count, plural, one {Прихований # читач} other {Приховані # читачів} few {Приховані # читачів} many {Приховані # читачів}}" + }, + "moreActions": "Детальніше для {name}", + "menu": { + "rename": "Перейменувати сімейство", + "addFiles": "Додати файли", + "remove": "Видалити сімейство…" + }, + "footerHint": "Кожен читач бачить у списку шрифтів читача і приховує будь-який з них під Reader › Фонти.", + "empty": { + "dropHint": "або скасуйте файли будь-де на цій сторінці", + "tip": "Сімейство найкраще читає чотири файли: регулярний, курсивний, жирний і жирний курсив. Один файл змінної може стояти кожної ваги." + }, + "drop": { + "title": "{count, plural, one {Будуйте додати # файл для кожного читача} other {Перетягніть щоб додати # файли для кожного читача} few {Перетягніть щоб додати # файли для кожного читача} many {Перетягніть щоб додати # файли для кожного читача}}" + }, + "upload": { + "ariaLabel": "Прогрес завантаження", + "title": "{count, plural, one {Додавання # файлу} other {Додавання # файлів} few {Додавання # файлів} many {Додавання # файлів}}", + "progress": "{done} з {total} завершено", + "addedCount": "Додано {count}", + "duplicateCount": "{count} уже тут", + "refusedCount": "{count} не додано", + "dismiss": "Відхилити", + "newFamily": "нова сім'я", + "states": { + "queued": "В очікуванні", + "uploading": "Вивантаження", + "added": "Додано", + "duplicate": "Вже на сервері", + "refused": "Не додано", + "failed": "Не вдалося" + }, + "reasons": { + "tooLarge": "Більше {maxMb} МБ.", + "unsupportedType": "Не є файлом шрифту. Використовуйте TTF, OTF, WOFF або WOFF2.", + "invalidFile": "Файл пошкоджений або не є шрифтом.", + "faceTaken": "{familyName} уже має файл такої ваги та стилю.", + "limitReached": "Сервер вже має файли шрифтів {limit}.", + "failed": "Помилка вивантаження. Спробуйте ще раз." + } + }, + "sheet": { + "description": "Попередній перегляд, перейменування та керування файлами {name}", + "variable": "Змінна", + "preview": "Прев'ю", + "pageColour": "Колір сторінки", + "papers": { + "app": "Поверхня програми", + "white": "Біла сторінка", + "sepia": "Sepia page", + "night": "Нічна сторінка" + }, + "previewHeading": "Сад живих квітів", + "previewParagraph1": "Аліса зирнула до неї дуже здивованою: «Чому, гадаю, нам весь час під цим деревом! Усе тільки так, як було!»", + "previewParagraph2": "“Тепер ось, бачте, це займе все, що працює, ви можете зробити, щоб тримати в одному місці. Якщо ви хочете де-небудь ще, вам потрібно бігти хоча б вдвічі швидше за це!”", + "styles": "Styles", + "stylesHint": "Що пропонує рядок стилю читача", + "singleStyleNote": "Один стиль, тому читачі не отримують ніякого стилю. Жирний і курсив текст у книгах підроблений браузером з {style}.", + "inReader": "В читачеві", + "inReaderHint": "Список шрифтів кожен читач › Налаштування з {name}.", + "pickerLabel": "Попередній перегляд списку шрифтів читача", + "files": "Файли", + "filesUsed": "{count} з {max} використано на цьому сервері", + "fileDetail": "{summary} · Доданий {date}", + "upright": "Праворуч", + "italic": "Italic", + "fileActions": "Детальніше для {name}", + "changeStyle": "Змінити вагу та стиль", + "removeFile": "Видалити файл", + "removeFileQuestion": "Видалити цей файл для кожного читача?", + "weight": "Вага", + "style": "Стиль", + "name": "Прізвище", + "nameHint": "Читачі вибирають шрифти за такою назвою.", + "nameHiddenWarning": "{count, plural, one {# читач сховав {name}} other {# приховали читання {name}} few {# приховали читання {name}} many {# приховали читання {name}}}нове ім'я показує їм знову.", + "nameBooksWarning": "Нове ім'я відправляється {count, plural, one {# книга, що використовує його} other {# книг, які використовують його} few {# книг, які використовують його} many {# книг, які використовують його}} Повернутися до власних шрифтів книги.", + "readers": "Читачі", + "stats": { + "books": "{count, plural, one {книгу використовує його} other {книги використовувати його} few {книги використовувати його} many {книги використовувати його}}", + "defaults": "{count, plural, one {За замовченням} other {читачів'и} few {читачів'и} many {читачів'и}}", + "hidden": "{count, plural, one {читач приховав його} few {читачі приховали його} many {читачів приховали його} other {читача приховали його}}" + }, + "readersPrivacy": "Тільки рахується сума, які читачі і які їх лишають.", + "removeLabel": "Видалити сімейство", + "removeQuestion": "Видалити {name} для кожного читача?", + "removeConsequenceBooks": "{books, plural, one {Його встановлено для # книги} few {Його встановлено для # книг} many {Його встановлено для # книг} other {Його встановлено для # книги}} у {readers, plural, one {# читача} few {# читачів} many {# читачів} other {# читача}}; ці книги повернуться до власного шрифту книги.", + "removeConsequenceFiles": "{count, plural, one {Його файл видалено з сервера} other {Всі # файли видалені на сервері.} few {Всі # файли видалені на сервері.} many {Всі # файли видалені на сервері.}}", + "loadFailedNote": "Цей веб-переглядач не вдалося завантажити файл шрифту, тому передпоказ обличчя відступу. Браузери читачів, швидше за все, їх відмовлять; спробуйте іншу копію шрифту." + }, + "toasts": { + "removed": "Видалено {name}", + "removePartial": "{failed, plural, one {# файл} few {# файли} many {# файлів} other {# файла}} з {name} не вдалося видалити", + "renameTaken": "{name} вже має файл з такою ж вагою і стилем" + }, + "loadFailed": "Неможливо завантажити цей браузер" } }, "common": { @@ -1161,53 +1721,89 @@ "display": "Відображати", "reader": "Читач", "metadata": "Метадані", + "usersAccess": "Користувачі та доступ", "email": "Ел. пошта", "opds": "OPDS", "kobo": "Kobo", "koreader": "KOReader", + "tts": "Text-to-Speech", "integrations": "Інтеграції", "hardcover": "Палітурка", "admin": "Адмін", "system": "Система", - "account": "Обліковий запис" + "account": "Обліковий запис", + "podcasts": "Підкасти" } }, "integrations": { - "title": "Інтеграції" + "title": "Інтеграції", + "subtitle": "Під'єднайте зовнішні сервіси, щоб синхронізувати дані читання та виділення.", + "noPermission": "У вас немає дозволу на використання будь-яких інтеграцій.", + "tabs": { + "hardcover": "Палітурка", + "readwise": "Легко", + "storygraph": "Пустельний графік" + }, + "providerSubtitles": { + "readwise": "Надсилайте виділення для читання автоматично.", + "storygraph": "Синхронізуйте свій прогрес читання та статус у The StoryGraph." + } }, "metadata": { "title": "Метадані", + "subtitle": "Налаштування провайдерів метаданих, відповідні правила, автоматизація і збагачення автора.", "noPermission": "Ви не маєте дозволу для керування параметрами метаданих.", "fields": { "title": "Найменування", "subtitle": "Субтитри", "description": "Опис", "cover": "Обкладинка", + "audioCover": "Аудіокнига", "authors": "Автори", "publisher": "Автор", "publishedYear": "Рік публікації", "language": "Мова", "pageCount": "Кількість сторінок", + "isbn": "ISBNs", "communityRating": "Рейтинг спільноти", "seriesName": "Назва серії", "seriesIndex": "Індекс серії", "genres": "Genres", "narrators": "Проголосували", "duration": "Тривалість", - "abridged": "Полегшена" + "abridged": "Полегшена", + "tags": "Мітки", + "isbn13": "ІСБН-13", + "isbn10": "ІЗБН-10", + "googleBooksId": "Google Книги ID", + "goodreadsId": "ID хорошого товару", + "amazonId": "Amazon ID", + "hardcoverId": "ID обкладинки", + "openLibraryId": "Відкрити бібліотеку ID", + "itunesId": "iTunes ID", + "koboId": "Kobo ID", + "aladinId": "Ідентифікатор Aladin" }, "mergeStrategy": { "fillMissing": { "label": "Не заповнювати", - "description": "Пишіть лише якщо поле зараз пусте" + "description": "Пишіть лише якщо поле зараз пусте", + "short": "Заповнити прогалини" + }, + "mergeExisting": { + "label": "Об'єднання з існуючими", + "description": "Зберегти збережені жанри та додати нові жанри постачальника", + "short": "Об'єднати" }, "overwriteIfProvided": { "label": "Перезаписувати, якщо вказано", - "description": "Напишіть якщо постачальник повернув значення" + "description": "Напишіть якщо постачальник повернув значення", + "short": "В разі вказання" }, "overwrite": { "label": "Завжди перезаписувати", - "description": "Завжди замінити існуючі значення" + "description": "Завжди замінити існуючі значення", + "short": "Завжди" } }, "autoFetch": { @@ -1270,21 +1866,129 @@ "inheritFromGlobal": "Успадковувати від глобального", "usingGlobalDefaults": "Використання глобальних значень за замовчуванням.", "saveOverride": "Зберегти перевизначені" + }, + "scope": { + "ownSettings": "{count, plural, one {# власні налаштування} other {# власні налаштування} few {# власні налаштування} many {# власні налаштування}}", + "globalIntro": "Кожна бібліотека слідує за цим правилом, хіба що вона не має власного.", + "globalCoverage": "{libraryCount, plural, one {Застосовується до # бібліотеки} other {Застосовується до # бібліотек} few {Застосовується до # бібліотек} many {Застосовується до # бібліотек}}, {bookCount, plural, one {# книг} other {# книг} few {# книг} many {# книг}}", + "ownLibraries": "{names} {count, plural, one {має власне правило.} few {мають власні правила.} many {мають власні правила.} other {мають власні правила.}}", + "libraryFollows": "{library} слідує за глобальним правилом. Змінювати щось тут, щоб надати йому своє.", + "libraryOwn": "{library} має власне правило для {count, plural, one {# налаштування} few {# налаштувань} many {# налаштувань} other {# налаштування}}. Усе інше відповідає глобальному правилу.", + "lastRun": "Останній запуск {when}, в черзі {count, plural, one {# книга} other {# книг} few {# книг} many {# книг}}", + "neverRun": "Ще не запущено.", + "useGlobalRule": "Використовуйте глобальне правило", + "loadFailed": "Не вдалося завантажити налаштування автозавантаження. Щоб спробувати ще раз, перезавантажте сторінку.", + "saved": "Збережено {scope}", + "saveFailed": "Не вдалося зберегти {scope}. Спробуйте ще раз." + }, + "run": { + "all": "Запустити для кожної бібліотеки", + "library": "Запустити для {library}", + "saveFirst": "Виконується використання збережених правил. Спочатку збережіть.", + "failed": "Запуск не може бути запущений. Спробуйте знову." + }, + "onImport": { + "label": "Отримати метадані для нової книги", + "hint": "Відразу сканує і завантажує черги, що відповідають книгам. За допомогою імпорту спорожнюють тільки порожні поля; заблоковані поля ніколи не змінюються.", + "follow": "Спостерігати за глобальним", + "on": "Увімк", + "off": "Вимкнено" + }, + "columns": { + "books": "{count, plural, one {Запишіть} other {Книги} few {Книги} many {Книги}}", + "ofTotal": "з {total}", + "off": "Вимкнено", + "own": "Власні", + "global": "Глобальний", + "useGlobal": "Використовувати глобальний", + "globalValue": "Глобальне правило: {value}", + "on": "Увімк", + "scoreBelowValue": "Рахунок нижче {threshold}", + "neverFetchedSplit": "{count, plural, one {# ніколи не отримували} other {# ніколи не отримано} few {# ніколи не отримано} many {# ніколи не отримано}}", + "fetchedBeforeSplit": "{count, plural, one {# отримано раніше} few {# отримано раніше} many {# отримано раніше} other {# отримано раніше}}", + "lowScoreLabel": "Низький рівень впевненості", + "lowScoreHint": "Отримати книги, показники впевненості в яких знаходяться під рядком.", + "outOf": "/ 100", + "lowerThreshold": "Зниження порогу", + "raiseThreshold": "Підняти поріг", + "missingHint": "Встановити, якщо будь-яке вибране поле порожнє. Кожне поле показує, скільки книг не існує.", + "audioGroup": "Будує аудіо", + "audioHint": "{count, plural, =0 {Тут немає книг з аудіо.} one {Лише у # книги з аудіо можуть бути відсутні ці поля.} few {Лише у # книг з аудіо можуть бути відсутні ці поля.} many {Лише у # книг з аудіо можуть бути відсутні ці поля.} other {Лише у # книги з аудіо можуть бути відсутні ці поля.}}", + "fieldCount": "{field}: {count, plural, one {відсутнє в # книзі} few {відсутнє в # книгах} many {відсутнє в # книгах} other {відсутнє в # книги}}" + }, + "histogram": { + "label": "Поріг оцінки здібності", + "valueText": "Рахунок нижче {threshold}" + }, + "preview": { + "title": "Як би можна було принести пробіг", + "matching": "{matching, plural, one {# {total} книги збігаються з} other {# з {total} книги збігаються з} few {# з {total} книги збігаються з} many {# з {total} книги збігаються з}}", + "showing": "{count, plural, one {показує найменш завершені} other {показує # найменш завершено} few {показує # найменш завершено} many {показує # найменш завершено}}", + "empty": "Жодна книга не відповідає цьому правилам, тому виконання не призведе до нічого.", + "unknownAuthor": "Невідомий автор", + "score": "Рахунок {score}", + "more": "+{count}", + "missing": { + "title": "Без назви", + "subtitle": "Без субтитрів", + "description": "Без опису", + "cover": "Без покриття", + "audioCover": "Немає аудіобурювання", + "authors": "Немає авторів", + "publisher": "Публікацію немає", + "isbn": "Немає ISBN", + "publishedYear": "Немає опублікованого року", + "language": "Немає мови", + "pageCount": "Без лічильника сторінок", + "communityRating": "Немає рейтингу спільноти", + "seriesName": "Немає назви серії", + "seriesIndex": "Немає індексу серій", + "genres": "Немає жанрів", + "narrators": "Немає оповіщень", + "duration": "Без тривалості", + "abridged": "Обраний не задано" + } + }, + "queue": { + "progress": "{done} {total}", + "failed": "{count, plural, one {Не вдалося отримати # книгу} few {Не вдалося отримати # книги} many {Не вдалося отримати # книг} other {Не вдалося отримати # книги}}" } }, "providers": { "availableSources": "Доступні джерела", "saveChanges": "Зберегти зміни", + "discard": "Відкинути", + "configure": "Настроїти", "test": "Тест", "testing": "Тестування...", + "testHint": "Перевіряє ці облікові дані проти працюючого сервісу. Нічого не збережено.", "enabled": "Увімкнено", "retryIn": "Повторити через {duration}", "runTestBeforeEnabling": "Запустіть тестове тестування перед увімкненням", "hardcoverEnableHint": "Запустити тест з поточним токеном щоб розблокувати перемикач включення.", + "searchPlaceholder": "Вибір джерел фільтрації", + "sourcesEnabled": "{enabled} із {total} увімкнених джерел", + "groupEnabled": "{enabled} з {total} на", + "unsavedChanges": "{count, plural, one {# незбережені змініть} other {# незбережені зміни} few {# незбережені зміни} many {# незбережені зміни}}", + "noMatches": "Немає джерел, що відповідають цьому фільтру.", + "clearFilters": "Очистити фільтри", + "filter": { + "label": "Фільтрувати джерела за станом", + "all": "Всі", + "enabled": "Увімкнено", + "needsSetup": "Потребує налаштування" + }, + "groups": { + "books": "Каталоги загальної книги", + "audiobooks": "Аудіокниги", + "comics": "Комікси та світлові романи", + "regional": "Регіональні каталоги" + }, "badge": { "setupRequired": "Потрібне налаштування", "throttled": "Задуманий", - "ready": "Готовий" + "ready": "Готовий", + "active": "Активний" }, "fields": { "apiKey": "API ключ", @@ -1308,9 +2012,11 @@ "kobo": "Сторінки публічних книг Scrapes Kobo. Країна та мова повинні співпадати з Кобо URL-шляхами; захист бота може блокувати запити.", "audible": "Pulls audiobook метадані з Audible. Немає необхідних додаткових налаштувань.", "audnexus": "Метадані аудіосуд. не потрібно налаштувати.", + "librofm": "Відсутня кінцева точка каталогу диспетчерських DRM. Використовує недокументовану кінцеву точку Libro.fm і за замовчуванням відключається.", "comicvine": "Для ComicVine потрібен безкоштовний ключ API з comicvine.gamespot.com.", "ranobedb": "Японські світлові метадані RanobeDB. Без налаштувань.", - "lubimyczytac": "Польський каталог книг (lubimyczytac.pl). публічні сторінки публічних книг. Не потрібна установка." + "lubimyczytac": "Польський каталог книг (lubimyczytac.pl). публічні сторінки публічних книг. Не потрібна установка.", + "aladin": "Метадані корейських книг з Aladin (알라딘). Потрібен ключ TTB із сайту aladin.co.kr." }, "blocked": { "google": "Для активації модуля Google Books потрібен ключ API", @@ -1324,6 +2030,7 @@ "clearAllProviders": "Очистити усіх провайдерів", "clearAll": "Очистити все", "resetToDefault": "Відновити за замовчуванням", + "bookCover": "Книжкова обкладинка", "reset": "Reset", "dragProvidersHint": "Перетягніть провайдерів з сюди на будь-яке поле, щоб додати їх", "dragProviderHere": "перетягніть провайдера сюди", @@ -1339,7 +2046,9 @@ "fillMissingBody": "Пишіть лише якщо поточне значення порожнє.", "overwriteTerm": "Перезапис:", "overwriteBody": "Заміна кожного разу, коли провайдер має дані." - } + }, + "summary": "Постачальники намагались підняти нагору, і першими повернули значення. Стратегія злиття вирішує, чи може це значення замінити вже є книга; жанри також можуть додати нові унікальні значення. Значення за замовчуванням перевизначте індивідуальні поля на бібліотеку.", + "summaryByMedium": "Постачальники намагаються звернутися до низу, і перший з яких перемагає значення; жанри в режимі злиття і рейтинги спільноти комбінують кожного провайдера. Стратегія злиття вирішує, чи може значення замінити вже є книгою. Аудиційні, AudNexus та Лібро. m тільки для книг з аудіо, включено \"читання\" в EPUBs, так що розміщення їх перший бажає надати аудіопарку метаданих без дотику тільки книг ebook-. Обкладинка з неправильної форми заповнює слот лише у випадку, коли нічого не може. Бібліотека замінить усе правило поля." }, "libraryOverrides": { "title": "Перевизначення бібліотеки", @@ -1360,10 +2069,17 @@ }, "maxGenres": { "label": "Максимум жанрів на книгу", - "unlimited": "Необмежено" + "hint": "Застосовується після видалення виключень та дублікатів. Залиште порожнім для необмежених. Це впливає на майбутні метадані плодів.", + "unlimited": "Необмежено", + "error": "Введіть ціле число від 1 до {max}, або залиште поле порожнім." }, "storeProviderIds": { - "label": "Ідентифікатори провайдера магазину у книгах" + "label": "Ідентифікатори провайдера магазину у книгах", + "hint": "При отриманні метадані, збереженні ID, що повертаються, (ISBN, ASIN, Goodreads ID для більш точних майбутніх фільтрувань." + }, + "existingProviderIdsOnly": { + "label": "Використання лише існуючих ID провайдера", + "hint": "Для книг, які вже є в бібліотеці, запит лише постачальники зі збереженим ID і ніколи не повертаються до пошуку, коли ідентифікатор не працює. Ручний пошук та відкриття нових книг не впливають." } }, "library": { @@ -1389,21 +2105,36 @@ }, "groupSummary": { "base": "{fields} поля · {enabled} включено", - "withOverrides": "{base} · {overrides} перевизначення" + "withOverrides": "{base} · {overrides} перевизначення", + "enabledOf": "{enabled} з {fields} увімкнено" }, "table": { "field": "Поле", "activeProviders": "Активні постачальники (впорядковані за пріоритетом)", "mergeStrategy": "Об'єднати стратегію", - "status": "Статус" + "status": "Статус", + "noMatches": "Немає полів, що відповідають цим фільтрам." }, "field": { "noProviders": "Увімкнено, але немає провайдерів", + "noUsableProvider": "Увімкнено, але немає провайдера тут може заповнити його", "empty": "Порожньо", "config": "Налаштування", "custom": "Користувацька", "default": "Типово", - "resetToDefault": "Відновити типові" + "resetToDefault": "Відновити типові", + "toggle": "Отримати {field} під час оновлення метаданих", + "configure": "Налаштування {field}", + "add": "Додати", + "addHint": "Додано в кінець замовлення. Перетягни чіп, щоб перемістити його раніше.", + "addProviderTo": "Додати постачальника до {field}", + "removeProvider": "Видалити {provider}", + "noProvidersYet": "Немає провайдерів", + "skippedCount": "{count, plural, one {# пропущено} other {# пропущено} few {# пропущено} many {# пропущено}}", + "unsaved": "Не збережено", + "override": "Перевизначити", + "inherited": "Успадкована", + "morePreview": "+{count} більше" }, "reservoir": { "disabled": "{provider} - вимкнено", @@ -1417,6 +2148,74 @@ "statusDisabled": "вимкнуто", "statusNotConfigured": "не налаштовано", "done": "Виконано" + }, + "scope": { + "label": "Область правила", + "global": "Глобальні налаштування за умовчанням", + "overrideCount": "{count, plural, one {# overridden field} other {# overridden fields} few {# overridden fields} many {# overridden fields}}", + "unsavedMarker": "Є незбережені зміни" + }, + "toolbar": { + "searchFields": "Пошук полів", + "clearSearch": "Очистити пошук", + "provider": "Постачальник", + "anyProvider": "Будь-яке", + "providerMenuTitle": "Фільтр та масове редагування провайдером", + "usedIn": "{count, plural, =0 {Невикористане} one {# поле} other {# поля} few {# поля} many {# поля}}", + "showOnlyThese": "Відображати лише поля, що використовують її", + "bulkLabel": "Застосувати до всіх полів {count} , які використовують його", + "makeFirst": "Спершу всюди", + "makeLast": "Знаходьте в будь-який час", + "removeEverywhere": "Видалити з усіх полів", + "audioCoverOrderKept": "Зміна порядку пропускає правило обкладинки аудіокниги, яке спочатку зберігає джерела аудіобстеження.", + "allFields": "Всі поля", + "overridesOnly": "Перевизначити тільки", + "clearFilters": "Очистити фільтри" + }, + "providerState": { + "disabled": "Вимкнено", + "notConfigured": "Не налаштовано", + "disabledDetail": "{provider} вимкнено, тому він залишається в порядку, але пропущено.", + "notConfiguredDetail": "{provider} не має облікових даних, тому він залишається в замовленні, але пропущений.", + "neverSupplies": "Ніколи не поставляється", + "neverSuppliesDetail": "{provider} ніколи не постачає це поле, тому його буде пропущено тут.", + "otherShape": "Інша фігура обкладинки", + "otherShapeDetail": "{provider} має лише покриття іншої форми, тому вона заповнює цей слот лише тоді, коли нічого не може." + }, + "detail": { + "priority": "Пріоритет постачальника", + "priorityHint": "Перший постачальник, який повертає значення.", + "moveUp": "Перемістити {provider} раніше", + "moveDown": "Перемістити {provider} пізніше", + "result": "Результат", + "resultHint": "При наступному оновленні це поле вирішується у замовленні:", + "noUsableProviders": "Немає вільного постачальника - це поле не буде заповнене.", + "skippedSummary": "{count, plural, one {{providers} Воно у порядку, але буде пропущене.} other {{providers} знаходяться в замовленні, але буде пропущено.} few {{providers} знаходяться в замовленні, але буде пропущено.} many {{providers} знаходяться в замовленні, але буде пропущено.}}", + "appliesTo": "Застосовується до {scope}.", + "inheritGlobal": "Успадковувати глобальне правило", + "inheritingGlobal": "Успадкування світового правила.", + "collapse": "Згорнути" + }, + "save": { + "upToDate": "Немає незбережених змін", + "unsaved": "{count, plural, one {# незбережених змін} other {# незбережені зміни} few {# незбережені зміни} many {# незбережені зміни}} в {scope}", + "discard": "Відкинути", + "action": "Зберегти {scope}" + }, + "confirm": { + "clearProviders": { + "title": "Видалити кожного постачальника?", + "description": "Ця опція очищує список провайдерів на всіх 16 полях в {scope}. Нічого не зберігається, доки ви не виберете Зберегти." + }, + "resetScope": { + "title": "Повернути типові значення?", + "globalDescription": "Це замінює глобальні правила за замовчуванням і негайно зберігає налаштування системи.", + "libraryDescription": "Це видаляє кожне перекриття {scope} , тому воно знову успадковує глобальні правила і негайно збережеться." + }, + "removeProvider": { + "title": "Видалити {provider} з кожного поля?", + "description": "Це забирає порядок {provider} від постачальника в кожному полі в {scope}. Нічого не збережено, доки ви не виберете Зберегти." + } } }, "genreBlocklist": { @@ -1435,6 +2234,123 @@ "emptyHint": "Додавайте такі значення як Audiobook або дорослі, щоб залишити їх отриманими метаданими.", "removeLabel": "Видалити {genre}" }, + "searchCache": { + "loadFailed": "Не вдалося завантажити параметри пошуку кешу.", + "retry": "Спробуйте ще раз", + "saved": "Пошук налаштувань кешу збережено", + "saveFailed": "Не вдалося зберегти налаштування кешу для пошуку", + "units": { + "hours": "Годин", + "days": "Днів" + }, + "general": { + "title": "Відгуки збережено", + "enabled": "Зберегти відповіді провайдера", + "enabledHint": "Пошуки, масові оновлення і фоновий фон повторне використання збережених відповідей замість кожного постачальника знову.", + "resultsTtl": "Зберегти результати для", + "resultsTtlHint": "Як довго повторне використання відповіді з результатами до того, як запитується постачальник.", + "resultsTtlUnit": "Одиниці виміру часу", + "emptyTtl": "Залишити порожні відповіді для", + "emptyTtlHint": "Як довго провайдер нічого не пам'ятає. Застосовується лише до провайдерів, позначених як кешування порожніх відповідей. 0 ніколи не зберігає порожні відповіді.", + "emptyTtlUnit": "Порожній час відповіді", + "staleGrace": "Використовуйте прострочені відповіді для", + "staleGraceHint": "Коли постачальник зазнає невдачі, відповідь до цього часу буде використана застарів. 0 ніколи не впаде.", + "staleGraceUnit": "Прострочений час відповіді", + "storage": "Бюджет зберігання", + "storageHint": "Найстаріші відповіді видаляються після того, як дані відповіді пройдуть розмір. На диску можуть зайняти приблизно 1.5 або 2 рази більше бюджету.", + "storageUnit": "МБ" + }, + "providers": { + "title": "Налаштування постачальника", + "hint": "Залиште поле порожнім, щоб використовувати значення вище. Вимикайте провайдера щоб завжди запитувати його в живому режимі.", + "books": "Книжки", + "authors": "Автори", + "none": "Немає доступних постачальників.", + "globalOff": "Збереження відповідей вимкнено, тому ці налаштування застосовуються після ввімкнення.", + "on": "Увімк", + "off": "Вимкнено", + "enabledLabel": "Зберегти відповіді від {provider}", + "resultsTtl": "Зберегти результати для", + "resultsTtlLabel": "Зберегти результати {provider} для", + "resultsTtlUnitLabel": "Час підрозділення результатів {provider}", + "emptyTtl": "Залишити порожні відповіді для", + "emptyTtlLabel": "Залишити порожні відповіді {provider} для", + "emptyTtlUnitLabel": "Проміжок часу для порожніх відповідей {provider}", + "noEmptyCaching": "Порожні відповіді цього постачальника ніколи не зберігаються.", + "notCacheable": "Відповіді від цього постачальника ніколи не зберігаються.", + "reset": "Скинути {provider} на значення за замовчуванням" + }, + "validation": { + "required": "Введіть значення.", + "wholeNumber": "Введіть ціле число.", + "range": "Введіть значення від {min} до {max}.", + "tooManyOverrides": "Забагато постачальників мають свої власні налаштування. Для збереження вимкніть їх." + }, + "save": { + "unsaved": "Незбережені зміни", + "invalid": "Для збереження необхідно виправити виділені поля", + "upToDate": "Всі зміни збережено", + "discard": "Відкинути", + "action": "Зберегти" + }, + "stats": { + "group": "Використання", + "title": "Відгуки збережено", + "refresh": "Оновити", + "loadFailed": "Не вдалося завантажити використання кешу.", + "storage": "Використано пам’яті", + "storageUsed": "{used} {budget}", + "storageHint": "Розмір збережених відповідей самі. Таблиця на диску більша.", + "entries": "Відгуки збережено", + "emptyEntries": "Порожні відповіді", + "diskSize": "Розмір таблиці на диску", + "hitRate": "Швидкість попадань", + "requestsAvoided": "Запитів вимкнено", + "fallbacks": "Резервні копії", + "skippedWrites": "Пропущені записи", + "oldest": "Найстаріша відповідь", + "none": "Ще немає", + "countersHint": "Заняття на камеру, запити уникнуто, відступу і пропущене кількість записів з моменту останнього запуску.", + "perProvider": "Збережено відповіді постачальника", + "provider": "Постачальник", + "kind": "Тип", + "size": "Розмір", + "empty": "Поки що нічого не збережено." + }, + "clear": { + "group": "Ремонт", + "title": "Очистити збережені відповіді", + "regionHint": "Постачальники можуть відповісти по іншим місцезнаходженню. Очистіть кеш після переходу сервера до іншої області або VPN.", + "action": "Очистити", + "failed": "Не вдалося очистити збережені відповіді", + "done": "{count, plural, one {Видалено # збережену відповідь} other {Видалено # збережених відповіде} few {Видалено # збережених відповіде} many {Видалено # збережених відповіде}}", + "donePending": "{count, plural, one {Видалено # збережену відповідь. Решта видаляється у фоновому режимі.} other {Видалено # збережені відповіді. Решта видаляються у фоновому режимі} few {Видалено # збережені відповіді. Решта видаляються у фоновому режимі} many {Видалено # збережені відповіді. Решта видаляються у фоновому режимі}}", + "empty": { + "label": "Очистити тільки порожні відповіді", + "hint": "Фортети, що постачальники не знайшли нічого, тому пошуки знову.", + "confirmTitle": "Очистити порожні відповіді?", + "confirmDescription": "Збережені відповіді, де постачальник нічого не знайшов. Відповіді з результатами збережені." + }, + "book": { + "label": "Очистити", + "hint": "Видалити все, що збережено з провайдерів книги.", + "confirmTitle": "Очистити відповіді від книги?", + "confirmDescription": "Усі збережені відповіді від провайдерів книги видаляються. Наступні пошуки знову запитують цих провайдерів." + }, + "author": { + "label": "Очистити відповіді авторів", + "hint": "Вилучити все збережене від провайдерів автора.", + "confirmTitle": "Очистити відповіді автора?", + "confirmDescription": "Усі збережені відповіді від провайдерів автора видаляються. Наступні пошуки знову питають у цих провайдерів." + }, + "all": { + "label": "Очистити всі збережені відповіді", + "hint": "Очищує кеш. Кожен постачальник знову запитується при наступному пошуку.", + "confirmTitle": "Очистити всі збережені відповіді?", + "confirmDescription": "Весь кеш очищено. Пошук буде повільнішим, поки воно не заповнюватиме знову, і нічого не залишатиметься таким, як постачальник." + } + } + }, "customFields": { "label": "Мітка", "labelPlaceholder": "напр. Оригінальний заголовок", @@ -1455,6 +2371,7 @@ "searchAriaLabel": "Пошук настроюваних полів", "emptyTitle": "Немає настроюваних полів", "emptyHint": "Використовуйте форму вище, щоб визначити ваше перше поле метаданих.", + "noMatchTitle": "Немає полів, що відповідають \"{query}\"", "noMatchHint": "Спробуйте іншу мітку, ключ або тип.", "clearSearchToReorder": "Очистити поле пошуку для зміни порядку", "dragToReorder": "Перетягніть для зміни порядку", @@ -1482,7 +2399,145 @@ "selectAll": "Виділити все", "clear": "Очистити", "noLibraries": "Немає доступних бібліотек.", - "allLibraries": "Всі бібліотеки" + "allLibraries": "Всі бібліотеки", + "pageFacts": "{fields, plural, one {# поле} other {# поля} few {# поля} many {# поля}} · {values, plural, one {# значення зберегло} other {# значень, що зберігаються} few {# значень, що зберігаються} many {# значень, що зберігаються}}", + "newFieldAction": "Нове поле", + "views": { + "label": "Показати активні або архівовані поля", + "active": "Активний", + "archived": "Архівовано" + }, + "columns": { + "order": "Ордер", + "field": "Поле", + "type": "Тип", + "libraries": "Бібліотеки", + "filled": "Заповнено", + "valuesKept": "Значення проведені", + "archived": "Архівовано", + "actions": "Дії" + }, + "orderHint": "Перетягніть для встановлення полів замовлення з'явиться в Metadata, в колонках таблиці і в експорті.", + "archivedHint": "Архівні поля приховуються із книг, фільтрів та експорту. Їхні значення залишаються збереженими до тих пір, поки поле не буде видалено.", + "coverage": "{filled} {total}", + "coverageAria": "{filled} з книг {total} має значення", + "onNoLibrary": "Немає бібліотек", + "onNoLibraryHint": "В жодній бібліотеці, і це поле не з'явиться ніде", + "moreLibraries": "+{count}", + "noValues": "Без ефекту", + "rowActions": { + "edit": "Редагувати", + "editField": "Редагувати поле", + "moveUp": "Посунути вгору", + "moveDown": "Посунути вниз", + "archive": "Архів", + "restore": "Відновити", + "deletePermanently": "Видалити остаточно…", + "more": "Додаткові дії для {label}" + }, + "toasts": { + "loadFailed": "Не вдалося завантажити користувацькі поля", + "created": "Створено {label}", + "createFailed": "Не вдалося створити {label}", + "saved": "{label} збережено", + "saveFailed": "Не вдалося зберегти {label}", + "archived": "{label} заархівовано", + "archiveFailed": "Не вдалося заархівувати {label}", + "restored": "Відновлено {label}", + "restoreFailed": "Не вдалося відновити {label}", + "deleted": "Видалено {label}", + "deleteFailed": "Не вдалося видалити {label}", + "reorderFailed": "Не вдалося зберегти нове замовлення" + }, + "empty": { + "body": "Відстежуйте те, для чого книга не має поля, наприклад, де книжка сидить на полиці, чи хто його позичав. Поля з’являються у метадатах , в колонках таблиці та у фільтрах.", + "examples": "Почніть з прикладу", + "shelfNumber": "Решітковий номер", + "acquiredOn": "Придбано у", + "signedCopy": "Підписана копія", + "loanedTo": "Позичено в" + }, + "types": { + "text": { + "label": "Текст", + "hint": "Будь-які слова", + "example": "Перший друк, підписаний до книги" + }, + "url": { + "label": "Лінк", + "hint": "Відкриється в новій вкладці", + "example": "https://example.com/book" + }, + "number": { + "label": "Номер", + "hint": "Сортування за значенням", + "example": "42" + }, + "date": { + "label": "Дата", + "hint": "Календар", + "example": "2024-03-09" + }, + "boolean": { + "label": "Так / ні", + "hint": "Прапорці", + "example": "Так" + } + }, + "sheet": { + "newTitle": "Нове поле", + "editDescription": "Редагувати мітки та бібліотеки та користувацького поля і бачити де він з'явиться.", + "newDescription": "Назвіть нове користувальницьке поле, виберіть його тип і виберіть його бібліотеки.", + "archivedDescription": "Спеціальне поле архівовано. Відновіть його або видаліть його з його значеннями.", + "statusFilled": "{filled} від {total, plural, one {# книга} other {# книг} few {# книг} many {# книг}} заповнили", + "statusNone": "Не в будь-якій бібліотеці", + "statusHidden": "{count} hidden", + "statusCreated": "створено {date}", + "labelHint": "Показується в редакторі метадані, в стовпцях таблиць і в фільтрах.", + "renameHint": "Перейменування продовжує усі збережені значення та ключ файлу {key}.", + "keyHint": "Збережено у файлах та експорт як {key}, який залишається таким самим, якщо ви перейменуєте це поле.", + "typeLocked": "Установити після створення", + "typeLockedHint": "Тип не можна змінити пізніше, тому збережені значення завжди збігаються з ним.", + "libraries": "Бібліотеки", + "books": "{count, plural, one {# книга} other {# книг} few {# книг} many {# книг}}", + "filledOfBooks": "{filled} від {total, plural, one {# книга} other {# книг} few {# книг} many {# книг}}", + "hiddenCount": "{count} hidden", + "leavingNote": "{count, plural, one {# значення {libraries} Залишається, але приховане поки поле вимкнене.} other {# значень в {libraries} зберігайте, але приховане поки поле зникне.} few {# значень в {libraries} зберігайте, але приховане поки поле зникне.} many {# значень в {libraries} зберігайте, але приховане поки поле зникне.}} Увімкнення його на відшкодовує їх.", + "noLibraryWarning": "Без бібліотек, це поле не з'являється ніде: не в метаданих Edition, в фільтрах або в експорті.", + "appears": { + "title": "Там, де він з'являється", + "editMetadata": "Редагувати метадані", + "details": "Details tab", + "filters": "Фільтри", + "table": "Стіл і сортування", + "tableBody": "Доступ в якості стовпця таблиці та опції сортування", + "files": "Файли", + "filesWritten": "Записані в файли EPUB і FB2 в {libraries}, де записування метаданих в файли увімкнено.", + "filesNotWritten": "Не записано в файли: жодна з цих бібліотек не містить метаданих для файлів EPUB або FB2.", + "exports": "Експорт" + }, + "archiveAction": "Архівувати поле", + "archiveConfirm": "Архівувати {label}?", + "archiveConsequence": "{count, plural, =0 {Це залишає редагування метадані, фільтри та експорт. Відновити їх з архіву в будь-який час} one {Це залишає редагування метадані, фільтри та експорту. # значення залишається, поки поле не буде видалене} other {Він залишає Редагувати Метадані, фільтри та експорт. # значення залишаться збереженими до видалення поля} few {Він залишає Редагувати Метадані, фільтри та експорт. # значення залишаться збереженими до видалення поля} many {Він залишає Редагувати Метадані, фільтри та експорт. # значення залишаться збереженими до видалення поля}}", + "create": "Створити поле", + "onLibraries": "На {count} із {total} бібліотек", + "onAllLibraries": "На всіх бібліотеках {total}", + "archivedBadge": "Архівовано", + "archivedTitle": "Архівовано {when}.", + "archivedBody": "{count, plural, =0 {Це поле приховане з книг, фільтрів та експорту. Воно не містить цінностей.} one {Це поле приховане у книгах, фільтрах і експорту. # збережене значення зберігається і повертається на відновлення.} other {Це поле приховане у книгах, фільтрах та експорті. # збережені значення зберігаються і повертаються до відновлення.} few {Це поле приховане у книгах, фільтрах та експорті. # збережені значення зберігаються і повертаються до відновлення.} many {Це поле приховане у книгах, фільтрах та експорті. # збережені значення зберігаються і повертаються до відновлення.}}", + "facts": { + "type": "Тип", + "libraries": "Бібліотеки", + "valuesKept": "Значення проведені", + "fileKey": "Файл ключа", + "created": "Створений", + "archived": "Архівовано" + }, + "deleteQuestion": "Видалити {label} для добре?", + "deleteConsequence": "{count, plural, =0 {Це не може бути скасовано.} one {Його # збережене значення видалено з кожної книги. Файли, які вже записані, зберігають свою копію. Цю дію неможливо скасувати.} other {Його # збережені значення видаляються з кожної книги. Файли вже записують свою копію. Це не можна скасувати.} few {Його # збережені значення видаляються з кожної книги. Файли вже записують свою копію. Це не можна скасувати.} many {Його # збережені значення видаляються з кожної книги. Файли вже записують свою копію. Це не можна скасувати.}}", + "deleteConfirmLabel": "Введіть назву поля для підтвердження", + "deleteConfirmPlaceholder": "Введіть {label} для підтвердження" + } }, "tabs": { "providers": "Постачальники", @@ -1491,7 +2546,8 @@ "genre-blocklist": "Genre Blocklist", "score": "Рахунок", "auto-fetch": "Книжки", - "authors": "Автори" + "authors": "Автори", + "search-cache": "Пошук кешу" }, "tabTitles": { "providers": "Постачальники", @@ -1500,7 +2556,8 @@ "genre-blocklist": "Genre Blocklist", "score": "Оцінка довіри", "auto-fetch": "Автозавантаження книги", - "authors": "Автозавантаження автора" + "authors": "Автозавантаження автора", + "search-cache": "Пошук кешу" }, "tabSubtitles": { "providers": "Увімкнути джерела зовнішніх метаданих та налаштувати їх облікові дані.", @@ -1509,7 +2566,17 @@ "genre-blocklist": "Запобігати небажаним цінностям жанру провайдера записувати до книг.", "score": "Призначте ваги полям метаданих для розрахунку, скільки довіряти отриманим результатом.", "auto-fetch": "Автоматично отримувати обкладинки, описи та інші деталі, коли до твоєї бібліотеки додаються нові книги.", - "authors": "Автоматично завантажувати біографії та фотографії профілю, коли нові автори з'являються у вашій бібліотеці." + "authors": "Автоматично завантажувати біографії та фотографії профілю, коли нові автори з'являються у вашій бібліотеці.", + "search-cache": "Повторно використовувати відповіді провайдера настільки повторні пошуки швидко і як і раніше працюють, коли провайдер буде недоступний." + }, + "preferences": { + "toast": { + "saved": "Параметри метаданих збережені", + "saveFailed": "Не вдалося зберегти налаштування метаданих. Перевірте підключення та повторіть спробу.", + "globalReset": "Глобальні правила поля скидаються до системних за замовчуванням", + "libraryReset": "Бібліотека скинута до глобальних правил", + "resetFailed": "Не вдалося скинути налаштування метаданих. Перевірте підключення та повторіть спробу." + } } }, "reader": { @@ -1558,12 +2625,25 @@ "font": "Font", "fontHint": "Ящик для тексту тіла", "fontStyle": "Шрифт", + "fontStyleHint": "Крихітка і слабка від тексту тіла. Напівжирний і курсив у книзі залишається про неї.", "builtInFonts": "Вбудовані шрифти", "yourFonts": "Ваші шрифти", "fontSize": "Font size", "fontSizeHint": "Базовий розмір тексту в пікселях", "lineHeight": "Висота рядка", "lineHeightHint": "Вертикальний інтервал між лініями", + "paragraphSpacing": "Абзац", + "paragraphSpacingHint": "Простір між пунктами. За замовчуванням книжка зберігає інтервал видавця.", + "paragraphSpacingDefault": "Книга за замовчуванням", + "paragraphSpacingValue": "{value} em", + "letterSpacing": "Відстань між літерами", + "letterSpacingHint": "Простір між літерами. Книга за замовчуванням зберігає простір видавця.", + "wordSpacing": "Відстань між словами", + "wordSpacingHint": "Пробіл між словами. Книга за замовчуванням зберігає простір видавця.", + "textIndent": "Відступ першої лінії", + "textIndentHint": "Відступ від початку звичайних абзац. Книга за замовчуванням зберігає відступи видавця.", + "custom": "Користувацька", + "emValue": "{value} em", "justify": "По ширині тексту", "justifyHint": "Вирівняти текст з обома полями", "hyphenation": "Дефікація", @@ -1632,6 +2712,8 @@ "widePageDisable": "Вимкнено", "forceTwoPage": "Примусово використовувати дві сторінки на малих екранах", "forceTwoPageHint": "Обхід мобільного авторезервування при виборі режиму двох сторінок", + "autoAdvance": "Автоматичне переходу до наступної книги", + "autoAdvanceHint": "Поверніть останню сторінку, щоб відкрити наступну книгу в серії", "off": "Вимкнено", "on": "Увімк", "display": "Відображати", @@ -1677,7 +2759,9 @@ "deleteVariant": "Видалити варіант", "styleNormal": "Нормальний", "styleItalic": "Italic", + "weightItalicOf": "{weight} Italic", "variableRange": "Змінна {min}-{max}", + "variableStyles": "{count, plural, one {# style} other {# styles} few {# styles} many {# styles}}", "weightThin": "Тонкий", "weightExtraLight": "Дуже Легкий", "weightLight": "Світла", @@ -1695,7 +2779,29 @@ "demoCannotManage": "Обмежений доступ до демо-ліміту не можна керувати шрифтами", "fileAdded": "\"{name}\" додано", "uploadFailed": "Не вдалося завантажити", - "serverFontsShown": "{count} з {total} показано" + "serverFontsTitle": "Шрифти сервера (дозволено адміністратора)", + "serverFontsHint": "Ці шрифти надійшли від адміністратора серверу. Вимкніть його, щоб не допустити до нього.", + "serverFontsShown": "{count} з {total} показано", + "serverFontsAllHidden": "Всі шрифти сервера приховані. Ваш читач буде пропонувати лише вбудовані та ваші власні шрифти.", + "serverFontVisibilityFailed": "Не вдалося оновити видимість шрифту сервера", + "library": { + "columns": { + "use": "У використанні" + }, + "yourDefault": "Ваша типова", + "hiddenBadge": "Hidden", + "emptyHint": "Додавайте шрифти вище, або видаляйте файли будь-де на цій сторінці.", + "dropTitle": "{count, plural, one {Перетягніть до вашого # файлу зі шрифтами} other {Перетягніть щоб додати # файлів до шрифтів} few {Перетягніть щоб додати # файлів до шрифтів} many {Перетягніть щоб додати # файлів до шрифтів}}", + "limitReached": "У вас вже є файли шрифтів {limit}.", + "filesUsed": "{count} з вашого {max} використано", + "nameHint": "Це ім'я у списку шрифтів читача.", + "inReaderHint": "Ваш список шрифтів в читанні › Налаштування з вибраними {name}.", + "showInReader": "Показати в моєму читачеві", + "showFamily": "Показати {name} в моєму читачеві", + "removeConsequenceBooks": "{count, plural, one {Це встановлено на # ваших книгах; ця книга повертається до власного шрифту.} other {Він налаштований на # ваших книг; вони повертаються до власних шрифтів.} few {Він налаштований на # ваших книг; вони повертаються до власних шрифтів.} many {Він налаштований на # ваших книг; вони повертаються до власних шрифтів.}}", + "removeConsequenceDefault": "Це основний шрифт. Програма не має типових параметрів, а типова для книг.", + "removeQuestion": "Видалити {name} з ваших шрифтів?" + } }, "bookDock": { "title": "Книга док", @@ -1763,6 +2869,7 @@ "modSort": "Прізвище, перший формат", "modInitial": "Лише перший символ", "modFixed2": "Два числа після коми", + "modMax3": "До трьох цінностей, в іншому випадку нічого", "folderOnlyPrefix": "Завершення шаблону з", "folderOnlySuffix": "вказати тільки теку. Спочатку назву файлу буде збережено.", "conditionalLogic": "Умовна логіка", @@ -1817,6 +2924,8 @@ "resetLibraryPattern": "Скинути шаблон {name} на типовий", "tokenTitle": "Назва книги", "tokenSubtitle": "Підзаголовок книги", + "tokenAuthors": "Автор), розділені комами", + "tokenNarrators": "Нарратор(и), розділених комами", "tokenYear": "Рік публікації", "tokenSeries": "Назва серії", "tokenSeriesIndex": "Індекс серії (0 відкладено)", @@ -1826,8 +2935,160 @@ "tokenLibrary": "Назва бібліотеки", "tokenOriginalFilename": "Початкове ім'я файлу (без розширення)", "tokenExtension": "Розширення файлу (без крапки)", + "tokenReadaloud": "Слово читається для EPUB з медіа шарами", "patternHelpIntro": "Шаблони використовують токени типу {titleToken} і {authorsToken}, плюс модифікатори та додаткові сегменти.", - "browseTokensAndExamples": "Перегляд токенів і прикладів" + "browseTokensAndExamples": "Перегляд токенів і прикладів", + "subtitleShort": "Теки та шаблони імен імен файлів для збережених файлів.", + "rule": { + "fileAsBook": "Файл як книга за замовчуванням", + "folderAsBook": "Папка як книга за замовчуванням", + "download": "Ім'я файлу для завантаження" + }, + "howItWorks": { + "title": "Як вибрано шлях.", + "summary": "Бібліотека з власним відображенням перемог. Кожна інша бібліотека слідує за глобальним дефолтом для своєї організації. Зміна зразка не переносить вже на диск; за ним слідують нові завантаження." + }, + "filterRules": "Правила фільтру", + "librariesGroup": "Бібліотеки", + "customCount": "{custom}/{total} користувацький", + "noRuleMatches": "Правило не відповідає \"Z{query}\".", + "unsavedMarker": "Є незбережені зміни", + "backToRules": "Назад до іменування правил", + "appliesToLibraries": "{count, plural, =0 {Жодних бібліотек не використовувати цей стандартний} one {Застосовується до # бібліотеки} other {Застосовується до # бібліотек} few {Застосовується до # бібліотек} many {Застосовується до # бібліотек}}", + "downloadScope": "Завантаження та експорт ZIPs", + "badgeInherits": "Успадковувати за замовчуванням", + "badgeUnsaved": "Не збережено", + "patternLabel": "Графічний ключ", + "readOnlyFromGlobal": "Лише для читання з глобального значення", + "useGlobalDefault": "Використовувати глобальний типовий", + "resetToShipped": "Відновити для відправлення значення за замовчуванням", + "addOverride": "Додати перевизначене значення", + "inheritsNotice": "Ця бібліотека слідує за {base}. Додайте перевизначення, щоб надати їй власний шаблон.", + "libraryRuleHint": "Перевизнає {base} лише для цієї бібліотеки.", + "scopeLibrary": "Застосовується лише для завантаження в {name}.", + "scopeDownload": "Застосовується до кожної одно-файлової завантаження і кожен файл всередині export ZIP.", + "scopeGlobal": "{count, plural, one {Застосовується до # бібліотеки, у яких немає зразка власної} other {Застосовується до # бібліотек, у яких немає зразка власної.} few {Застосовується до # бібліотек, у яких немає зразка власної.} many {Застосовується до # бібліотек, у яких немає зразка власної.}}", + "scopeGlobalNone": "Наразі жодна бібліотека не використовує це за замовчуванням; кожна бібліотека в цьому режимі має свій шаблон.", + "unbalancedOptional": "Не вистачає початкової групи кроків, що закриваються", + "unbalancedToken": "Токен відсутній у дужках, що закриваються", + "structure": "Структура", + "paletteOptional": "необов'язково", + "paletteOptionalHint": "Обмінює сегмент отже він буде знищений, коли токена всередині нього пуста", + "paletteFallback": "fallback", + "paletteFallbackHint": "Всередині групи не може бути заповнений текст, який використовується, коли ліва сторона не може бути заповнена", + "paletteSeparator": "тека", + "paletteSeparatorHint": "Починає новий рівень папки", + "modUpper": "ВЕЛИКИМИ", + "modLower": "нижній регістр", + "recipesLabel": "Або почніть з рецепта", + "recipe": { + "seriesShelf": "Серійне полювання", + "calibre": "Calibre style", + "alphabetical": "За алфавітом", + "flat": "Плоск, папки відсутні", + "originalName": "Початкове ім'я файлу", + "authorTitle": "Автор і назва", + "titleOnly": "Лише заголовок", + "seriesOrdered": "Серія замовлена" + }, + "resultPanel": "Вирішений результат", + "resultFor": "Результат: {rule}", + "copyResult": "Копіювати вирішені результати", + "resultCopied": "Вирішений результат скопійовано до буфера обміну", + "resultCopyFailed": "Не вдалося скопіювати вирішений результат", + "sampleBookNote": "Приклад книги для кожного прев'ю", + "missingMetadata": "Якщо метадані відсутні", + "readaloudComparison": "Порівняння без звуку", + "readaloudEpub": "Авто-зарядний EPUB", + "plainEpub": "Просте EPUB", + "caseNoSeriesLabel": "Немає серій", + "caseNoYearLabel": "Немає року", + "caseNoAuthorLabel": "Немає автора", + "previewEmpty": "Цей шаблон нічого не вирішує, тому буде використано оригінальне ім'я файлу.", + "previewEmptyShort": "Не вирішує нічого", + "crossPlatformShortHint": "Замінює символи Windows відхилено. Передбачення відображають це налаштування.", + "rulesSaved": "{count, plural, one {# правило іменування збережено} other {# правил іменування збережено} few {# правил іменування збережено} many {# правил іменування збережено}}", + "rulesSaveFailed": "{count, plural, one {Не вдалося зберегти # правило іменування} other {Не вдалося зберегти # правил іменування} few {Не вдалося зберегти # правил іменування} many {Не вдалося зберегти # правил іменування}}", + "rulesPartiallySaved": "Збережено {saved}, не вдалося зберегти {failed}. Правила з помилкою незбережені зміни.", + "save": { + "unsaved": "{count, plural, one {# незбережені змініть} other {# незбережені зміни} few {# незбережені зміни} many {# незбережені зміни}}", + "upToDate": "Немає незбережених змін", + "discard": "Відкинути", + "action": "Зберегти зміни", + "blocked": "Виправити неприпустимий ключ перед збереженням" + }, + "examplesDescription": "Рецепти ідіоми не покриваються. Шаблон, що закінчується в косу риску, вирішує папку і зберігає звантажене ім'я файлу в ній.", + "examplesApply": "Прийняти", + "examplesApplyAria": "Застосувати шаблон {label}", + "examplesUploadOnly": "Це шаблони завантаження, показані тут для посилання. Переключіться на файл як книга або Папка як правило книги, щоб застосувати їх.", + "examplesFileModeOnly": "Папка як книга потребує самостійного назви файлу, тому цей ідіом застосовується лише до файлу як бібліотеки книг.", + "example": { + "seriesOrStandalone": "Серія або стандартна папка", + "optionalSubtitle": "Додаткові субтитри", + "languageFolder": "Тека з мовами", + "publisherFolder": "Тека каталогу статей", + "stackedOptional": "Фікеровані не обов'язкові папки", + "folderDrop": "Папка тільки збережіть ім'я файлу" + }, + "exampleCase": { + "complete": "Complete", + "noSeries": "Немає серій", + "noSubtitle": "Без субтитрів", + "noLanguage": "Немає мови", + "noPublisher": "Публікацію немає" + }, + "unknownModifier": "Невідомий модифікатор \"{modifier}\". Буде проігноровано, залишивши значення без змін.", + "rulesNav": "Правила іменування", + "railFoot": "За замовчуванням бібліотека без зразка власного зразка, яку вона сидить.", + "usedBy": "Використовується {libraries}", + "followsBase": "Слідує за {base}.", + "copyPattern": "Скопіювати шаблон", + "recipes": "Рецепти", + "recipesTitle": "Почати з рецепту", + "recipesReplace": "Замінює всю модель", + "recipeInUse": "У використанні", + "insert": "Insert", + "insertToolbar": "Вставити у шаблон", + "insertOptional": "За бажанням", + "insertFallback": "Fallback", + "insertFolder": "Тека", + "lineHint": "Натисніть {enter} , щоб створити нову папку або введіть {brace} , щоб вибрати токен. Натисніть на іконку папки, щоб пропустити цю теку, коли її значення відсутнє.", + "downloadLineHint": "У вас немає папок, тому використовуються тільки остання частина шаблону.", + "tokenSuggestions": "Відповідні токени", + "noTokenMatch": "Немає відповідного токену{query}\".", + "uploadedNameKept": "Збережено ім'я файлу", + "level": { + "folder": "Тека {n}", + "bookFolder": "Папка книги", + "file": "Ім'я файлу", + "skipWhenEmpty": "Пропустити {level} , коли його значення відсутній", + "skippedWhenEmpty": "Пропущені, коли його значення відсутнє. Натисніть, щоб завжди створювати цю папку.", + "alwaysCreated": "Завжди створено. Натисніть, щоб пропустити цю теку, коли її значення відсутнє." + }, + "result": "Результат", + "previewWith": "Попередній перегляд з", + "previewWithAria": "Попередній перегляд з {title}", + "previewBook": { + "sample": "Зразки", + "longTitle": "Повна назва та серія", + "longSubtitle": "Довгі субтитри", + "manyAuthors": "П'ять авторів", + "audiobook": "Аудіобук", + "standalone": "Немає серій" + }, + "previewingCase": "Попередній перегляд: Z{case}", + "showComplete": "Показати повністю", + "previewStale": "Попередній перегляд синхронізується одразу після виправлення шаблону.", + "noChange": "Без змін", + "tagSkipped": "пропущено", + "tagFallback": "fallback", + "tagBookFolder": "папка книги", + "tagUploadedName": "завантажене ім'я", + "tagShortened": "скорочено до 255 байт", + "tagEmptyName": "порожнє ім'я", + "levelSkipped": "Пропущено, оскільки {token} пустий", + "levelEmptyName": "Порожня папка. Дайте цій папці запас, щоб вона завжди має.", + "renameNote": "Книги вже на диску зберігатимуть свої шляхи. Бібліотеки, що перейменовують файли, застосовують шаблон наступного разу при збереженні бібліотеки {libraries}." }, "kobo": { "title": "Kobo Sync", @@ -1869,6 +3130,9 @@ "syncHighlights": "Синхронізувати закладки з Кобо", "syncHighlightsHint": "Відмітини надсилаються в BookOrbit або KOReader до вашого Kobo. Відмітки Kobo імпортуються в BookOrbit навіть якщо це вимкнено. Пов'язані анотації синхронізації змін і видалення обох способів. Потребує доставку KEPUB; книга про Кобо повинна бути KEPUB, завантаженим з BookOrbit.", "storeSync": "Включали назви з магазину Kobo", + "storeSyncHint": "Також доставити книги з вашого облікового запису Кобо Plus і покупки разом з твоїми бібліотеками BookOrbit. Без цього тільки книги BookOrbit досягають пристрою. заголовки магазину завантажені безпосередньо з Кобо і не будуть додані до бібліотеки BookOrbit [Книги.", + "fullSizeCovers": "Покриття повного розміру", + "fullSizeCoversHint": "Відправляйте кожну обкладинку на екран вашого Кобо, тому екрани сну й обкладинки повноекранного режимів залишаються гострими. Вимкніть це, щоб надсилати менші обкладинки для синхронізації. Це покриття вже змінюється лише тоді, коли висвітлення книги змінюється.", "convertKepub": "Перетворити на KEPUB", "convertKepubHint": "Надсилати доступні EPUBs у якості KEPUB. Це залишається увімкненим при курсі синхронізації прогресів і BookOrbit-to-Kobo виділення. При наступній синхронізації Кобо розглянуті книги знову будуть запропоновані як завантаження KEPUB; видаляти будь-яку стару копію EPUB, якщо Кобо продовжить її відкривати.", "forceHyphenation": "Широкомовний режим", @@ -1940,6 +3204,7 @@ }, "readingPositionSyncedTitle": "Читання синхронізовано: {title}", "readingPositionSynced": "Читання позиції синхронізоване", + "labelWithTitle": "{label}: {title}", "updateCount": "{count, plural, one {# оновлення} few {# оновлень} many {# оновлень} other {# оновлень}}", "directionToKobo": "BookOrbit -> Кобо", "directionToBookOrbit": "Кобо -> BookOrbit", @@ -1954,6 +3219,7 @@ "progressUpdatesSynced": "{count, plural, one {#поступ синхронізовано} few {# оновлення поступу синхронізовано} many {# оновлення поступу синхронізовано} other {# оновлення поступу синхронізовано}}", "newReadingPositionFor": "Кобо повідомив про нову позицію читання {title}", "newReadingPosition": "Кобо повідомив про нову позицію читання", + "noHighlightChangesNeededFor": "Не потрібні зміни підсвічування для {title}", "noHighlightChangesNeeded": "Не потрібні зміни підсвічування", "highlightsSentToKoboFor": "{count, plural, one {# підсвічування відправляється Кобо за {title}} few {# підсвічування відправляється до Кобо за {title}} many {# підсвічування відправляється до Кобо за {title}} other {# підсвічування відправляється до Кобо за {title}}}", "highlightsSentToKobo": "{count, plural, one {# highlight sent to Kobo} few {# highlights sent to Kobo} many {# highlights sent to Kobo} other {# highlights sent to Kobo}}", @@ -2040,6 +3306,7 @@ "unknown": "Не вказано", "updateAvailable": "Доступне оновлення", "manualUpdateRequired": "Потрібне ручне оновлення", + "manualUpdateExplanation": "Ця версія плагіна не може встановлювати власні оновлення. Завантажити плагін і скопіювати bookorbit.koplugin у koreader/plugins/ на цьому пристрої.", "upToDate": "Актуальні дані", "versionUnknown": "Версія невідома", "latestPlugin": "Останній плагін: v{version}", @@ -2054,12 +3321,21 @@ "password": "Пароль", "passwordPlaceholder": "Мінімум 6 символів", "changeCredentials": { + "action": "Змінити облікові дані", + "title": "Змінити облікові дані KOReader", + "description": "У кожного облікового запису BookOrbit один набір облікових даних KOReader. Змініть його тут без видалення синхронізованих даних.", "newPassword": "Новий пароль", + "usernameInvalid": "Ім'я користувача має містити від 3 до 100 символів.", + "passwordPlaceholder": "Залиште порожнім, щоб зберегти поточний пароль", + "passwordHint": "Залиште це поле порожнім, щоб зберегти поточний пароль.", + "passwordInvalid": "Пароль повинен містити від 6 до 128 символів.", + "deviceNotice": "Пристрої, що використовують попередній логін, повинні бути перепідключені або оновлені з нещодавно завантаженим пакетом плагінів.", "showPassword": "Показати новий пароль", "hidePassword": "Приховати новий пароль", "save": "Зберегти облікові дані", "saving": "Збереження...", - "updated": "Облікові дані KOReader оновлено" + "updated": "Облікові дані KOReader оновлено", + "updateFailed": "Не вдалося оновити облікові дані KOReader" }, "creating": "Створюю...", "create": "Створити", @@ -2077,6 +3353,8 @@ "credentialsCreatedLabel": "Облікові дані створюються", "setup": "Установка", "pluginServerUrl": "URL-адреса сервера плагінів", + "syncUrl": "KOReader URL синхронізації", + "syncUrlHint": "Працює з плагіном BookOrbit та вбудованим синхронізація подачі KOReader.", "copied": "Скопійовано", "copyUrl": "Копіювати посилання", "preconfiguredPlugin": "Попередньо налаштований плагін BookOrbit", @@ -2092,6 +3370,7 @@ "noneYet": "Ще немає", "pluginActivity": "Активність плагінів", "noPluginActivity": "Ще не було повідомлено про активність плагіна.", + "lastFullSync": "Остання синхронізація: {time}", "latestPluginSuffix": "- останній плагін v{version}", "matchedBooks": "Відповідні книги", "readingEvents": "Читання подій", @@ -2115,6 +3394,7 @@ "stockStep1Prefix": "На Вашому пристрої KOReader перейдіть на", "stockStep1Suffix": ".", "stockStep2": "Встановіть користувацький сервер для URL-адреси, показаної вище.", + "stockStep2InlineUrl": "Встановіть користувацький сервер синхронізації на наступний URL:", "stockStep3": "Введіть логін та пароль, які Ви створили, а потім натисніть \"Вхід\".", "locationNote": "BookOrbit зберігає розташування KOReader-сумісних з EPUB від веб-читача. Відновлення має приземлятися біля тієї ж позиції, хоча точне розміщення лінії може відрізнятися від читача і за макетом EPUB.", "dangerZone": "Небезпечна зона", @@ -2171,7 +3451,13 @@ "unmatchedDismissed": "Невідповідні книги відхилені", "dismissFailed": "Не вдалося відхилити невідповідні книги", "allDismissed": "{count, plural, =0 {Звільнено немає невідповідних книг} one {Відхилено # невідповідну книгу} few {Відхилено # невідповідних книг} many {Відхилено # невідповідних книг} other {Відхилено # невідповідних книг}}", - "dismissAllFailed": "Не вдалося відхилити всі невідповідні книги" + "dismissAllFailed": "Не вдалося відхилити всі невідповідні книги", + "reviewRefreshed": "Книги для перевірки оновлені", + "reviewRefreshFailed": "Не вдалося оновити книги для перевірки", + "reviewDismissed": "Книга відхилена від відгуку", + "reviewDismissFailed": "Не вдалося відхилити книгу від відгуку", + "reviewAllDismissed": "{count, plural, =0 {Немає книг від відгуку} one {Відхилено # книгу від відгуку} other {Відмінено # книг від відгуку} few {Відмінено # книг від відгуку} many {Відмінено # книг від відгуку}}", + "reviewDismissAllFailed": "Не вдалося відхилити всі книги від відгуку" }, "modal": { "linkTitle": "Посилання KOReader книга", @@ -2188,11 +3474,13 @@ "confirmTitle": "Підтвердити посилання KOReader", "koreader": "KOReader", "bookOrbit": "Книжкова орбіта", + "bookId": "Book ID: {id}", "syncedStatsNote": "Вже синхронізована статистика залишатиметься у своїй поточній книзі Книги Закладок.", "chooseDifferent": "Виберіть інше", "saving": "Збереження...", "confirmLink": "Підтвердити посилання", "unlinkTitle": "Від'єднати книгу KOReader?", + "unlinkBody": "Синхронізація майбутнього цього хешу перестане працювати з {title} , поки вона не буде зв'язана знову. Вже синхронізована статистика залишатиметься у поточній книзі BookOrbit.", "unlinking": "Від'єднання..." }, "dismiss": "Відхилити", @@ -2200,6 +3488,7 @@ "dismissing": "Відключення...", "unlinking": "Від'єднання...", "unlinkConfirmTitle": "Від'єднати книгу KOReader?", + "unlinkConfirmBody": "Синхронізація майбутнього цього хешу перестане працювати з {title} , поки вона не буде зв'язана знову. Вже синхронізована статистика залишатиметься у поточній книзі BookOrbit.", "dismissConfirmTitle": "Відхилити {title}?", "dismissConfirmBody": "Це видалить його з вашого невідповідного списку книг. Якщо будь-який пристрій повідомить про цей хеш знову, він з'явиться знову як новий запис.", "dismissAllConfirmTitle": "{count, plural, =0 {no unmatched books} one {Dismiss all # unmatched book?} few {Dismiss all # unmatched books?} many {Dismiss all # unmatched books?} other {Dismiss all # unmatched books?}}", @@ -2217,10 +3506,19 @@ "loadMore": "Завантажити ще", "loadingMore": "Завантажується...", "confirmLinkTitle": "Підтвердити посилання KOReader", + "bookId": "Book ID: {id}", "syncedStatsNote": "Вже синхронізована статистика залишатиметься у своїй поточній книзі Книги Закладок.", "chooseDifferent": "Виберіть інше", "saving": "Збереження...", - "confirmLink": "Підтвердити посилання" + "confirmLink": "Підтвердити посилання", + "reviewTitle": "Книги KOReader для перегляду", + "reviewHint": "Книги без автоматичного збігу і книг, які ви відкріпите тут. Не пов'язані книги можуть синхронізуватися через автоматичний матч. Прив'яжіть книгу, щоб змінити збіг, або очистіть її, щоб видалити її з цього списку.", + "loadingReview": "Завантажую книги на відгук...", + "noReview": "Немає KOReader книг для перегляду.", + "manualUnlinkConfirmBody": "Видалити ручне посилання на {title} і повернути цю книгу до переліку. Синхронізація з майбутнім буде використовувати автоматичний матч, якщо такий існує. Уже синхронізована статистика залишиться у своїй поточній книзі Книги Закладок.", + "reviewDismissConfirmBody": "Це видаляє дані з ваших книг на перевірку. Автоматичне порівняння та наявні дані синхронізації зберігаються. Якщо пристрій повідомляє про хеш знову без співпадіння, він може знову з'явитися.", + "reviewDismissAllConfirmTitle": "{count, plural, =0 {Немає книг, щоб переглянути} one {Закрити всі # книжки, щоб переглянути?} other {Прибрати всі # книг для оцінки?} few {Прибрати всі # книг для оцінки?} many {Прибрати всі # книг для оцінки?}}", + "reviewDismissAllConfirmBody": "Це очищує усі ваші книги для перегляду, включаючи записи на інших сторінках. Автоматичне співставлення та наявні дані синхронізації зберігаються. Якщо пристрій повідомляє про хеш знову без збігу, він може відображатися." }, "remove": "Видалити", "removing": "Видалення...", @@ -2229,6 +3527,9 @@ "removeDeviceFailed": "Не вдалося вилучити пристрій", "removeDeviceConfirmTitle": "Видалити {device}?", "removeDeviceConfirmBody": "Ця остаточно видаляє процес синхронізації на цьому пристрої, активність на читанні та всі невідповідні записи з книги, про які більше не повідомляється інший пристрій. Якщо пізніше пристрій синхронізується, він з'явиться знову як новий запис.", + "deleteDeviceDataConfirmTitle": "Видалити синхронізовані дані з {device}?", + "deleteDeviceDataConfirmBody": "Ця остаточно видаляє процес синхронізації на цьому пристрої, активність для читання сторінок на сторінці та будь-який невідповідний запис ніколи не повідомляє про даний іншим пристроєм. Читання сесій вже записано в вашій статистиці. Якщо пристрій синхронізується пізніше, це буде знову відображатися як новий запис.", + "devicesHint": "Оновлення пристрою приховує його і зберігає все, що синхронізовано. Видалення синхронізованих даних не може бути скасовано.", "retire": "Відкликати", "retiring": "Відкликання...", "restore": "Відновити", @@ -2237,6 +3538,9 @@ "deletingSyncedData": "Видалення...", "deviceRetired": "Пристрій відкликано", "deviceRestored": "Пристрій відновлено", + "retireDeviceFailed": "Не вдалося вийти на пристрій", + "restoreDeviceFailed": "Не вдалося відновити пристрій", + "retiredDevices": "{count, plural, one {# пристрій на пенсії закінчилися} other {# на пенсійних пристроях} few {# на пенсійних пристроях} many {# на пенсійних пристроях}}", "retiredOnLabel": "Відкликаний" }, "opds": { @@ -2284,6 +3588,7 @@ "userCreated": "Створено OPDS користувач \"{username}\"", "sortOrderUpdated": "Порядок сортування оновлено для \"{username}\"", "updateSortFailed": "Не вдалося оновити порядок сортування", + "userDeleted": "OPDS користувач \"{username}\" видалено", "deleteUserFailed": "Не вдалося видалити користувача OPDS", "labelCopied": "{label} скопійовано", "copyLabelFailed": "Не вдалося скопіювати {label}" @@ -2301,24 +3606,677 @@ "tabs": { "file-naming": "Назва файлу", "book-dock": "Книга док", + "requests": "Запити", "maintenance": "Ремонт", "audit-log": "Журнал аудиту" + }, + "requests": { + "title": "Запити", + "subtitle": "Де роздачі знаходяться, що їх друкує, і що стається як тільки вони приземляться.", + "tabs": { + "sources": "Джерела", + "clients": "Завантажити клієнтів", + "automation": "Автоматизація" + }, + "loading": "Завантаження клієнтів...", + "clients": "Завантажити клієнтів", + "addClient": "Додати клієнта", + "editClient": "Редагувати клієнта", + "deleteClient": "Видалити {name}", + "clientsEmpty": { + "title": "Ще немає завантаженого клієнта", + "body": "Пряме завантаження HTTP не потребує жодного клієнта. Підключіть його, щоби BookOrbit міг отримати релізи, доставлені торентом або Usenet теж.", + "note": "qBittorrent, Transmission, Deluge, NZBGet і SABnzbd підтримуються." + }, + "summary": "{type} - категорія {category}, пріоритетна {priority}", + "disabled": "Вимкнено", + "test": "Перевірка підключення", + "testSaveFirst": "Зберегти зміни перед тестуванням", + "testOk": "Підключено до {client} {version}", + "testOkNoVersion": "Підключено до {client}", + "lastTestOk": "Останній раз перевірений {time}: підключено", + "lastTestFailed": "Остання перевірена {time}: {error}", + "saved": "Завантажити клієнт, збережено", + "deleted": "Завантажити клієнт видалено", + "clientTypes": { + "qbittorrent": "кБіторрент", + "transmission": "Трансмісія", + "deluge": "Шведський потоп", + "nzbget": "NZBGet", + "sabnzbd": "SABnzbd" + }, + "color": { + "label": "Колір", + "hint": "Позначає клієнт, в даних передачі даних. Протокол передачі зберігає свій власний колір.", + "none": "Без кольору" + }, + "fields": { + "name": "Ім'я", + "type": "Тип клієнта", + "baseUrl": "Базова URL-адреса", + "username": "Ім'я користувача", + "password": "Пароль", + "apiKey": "API ключ", + "passwordKeep": "Залиште порожнім, щоб зберегти пароль", + "apiKeyKeep": "Залиште порожнім, щоб зберегти збережений API ключ", + "passwordClear": "Очистити", + "passwordKeepAction": "Донжон", + "passwordWillClear": "Збережений пароль буде видалений під час збереження", + "apiKeyWillClear": "Збережений API ключ буде видалений при збереженні", + "category": "Категорія", + "categoryHint": "Мітки всіх завантажень BookOrbit доповнень, тому вона діє лише самостійно.", + "priority": "Пріоритет", + "enabled": "Увімкнено", + "useHardlinks": "Використовувати жорсткі посилання", + "allowPrivateAddress": "Дозволити приватні адреси", + "allowPrivateAddressHint": "Потрібно, коли клієнт працює на вашій локальній мережі або той же комп'ютер.", + "passwordBrief": "Збережені зашифровані.", + "apiKeyBrief": "Знайдено в SABnzbd під конфігурацією > генералом. Збережені у зашифрованому вигляді.", + "useHardlinksBrief": "Імпортує без використання диска двічі. Скинь назад до копіювання через файлову систему." + }, + "mappings": { + "title": "Розкладання шляху", + "hint": "Перекласти шляхи для клієнта звіти про маршрути BookOrbit може відкритись. Необхідно, якщо два запущені контейнери.", + "add": "Додати відображення", + "remove": "Видалити зіставлення", + "remotePath": "Шлях до клієнта", + "localPath": "Шлях до Bookbit", + "brief": "Обов'язково. Оголошує каталог BookOrbit може імпортувати від; коли клієнт бачить ті ж файли за тим самим шляхами, відповідно відповідно до каталогу завантаження.", + "identityExample": "Та ж файлова система? Використайте той самий шлях з обох сторін, наприклад /downloads на лівому та /downloads справа." + }, + "hardlink": { + "test": "Перевірка твердого посилання", + "checking": "Перевірка...", + "works": "Жорсткі посилання працюють тут: імпорт не використовуватиме диск двічі.", + "unavailable": "Жорсткі посилання не доступні тут: імпорт буде копіюватися, використовуючи простір двічі.", + "link_refused": "Ця файлова система відхилила посилання ({code}): імпорт буде копіюватися, використовуючи простір двічі.", + "download_dir_unwritable": "BookOrbit не може записати в директорію завантаження ({code}), тому hardlink не може бути протестовано.", + "localMissing": "Книга не може бачити цей шлях.", + "dockMissing": "Папка Книги док не читається." + }, + "reconciliation": { + "action": "Врегулювати", + "clean": "Кожен клієнтський елемент відповідає збереженій спробі завантажити BookOrbt.", + "unsupported": "Цей клієнт не може перерахувати елементи маркеру BookOrbit. Для затримки активуйте плагін мітки; для Transmission, налаштувати папку категорії.", + "truncated": "Клієнт повернув більше 1000 предметів. Вирішіть видимі записи, а потім знову примириться.", + "orphan": "Не отримано спробу цього клієнтського пакету.", + "failedAttempt": "Клієнт все ще тримає цей елемент, але його спроба \"{title}\" позначена не вдалося.", + "missing": "Ця спроба {status} більше не присутня в клієнті завантаження.", + "adopt": "Прикріпити до {title}", + "adopted": "Прикріплено клієнту до {title}", + "remove": "Видалити з клієнта", + "removed": "Видалено елемент сиротового клієнта", + "removeTitle": "Вилучити цей сиротих елементів клієнта?", + "removeDescription": "{name} видалено з клієнта завантажень. Його завантажені файли збережені.", + "notOrphan": "Цей елемент клієнта ще прив'язаний до спроби завантажити BookOrbit.", + "notAdoptable": "Цей елемент або невдала спроба були змінені, і більше не можуть бути вкладені. Поповните пароль ще раз." + }, + "errors": { + "loadFailed": "Не вдалося завантажити клієнтів", + "saveFailed": "Не вдалося зберегти завантаженого клієнта", + "deleteFailed": "Не вдалося видалити завантаженого клієнта", + "testFailed": "Не вдалося підключитися до цього завантажуваного клієнта", + "nameAndUrlRequired": "Назва та базова URL-адреса обов'язкові", + "nameTaken": "Завантажити клієнт з таким іменем вже існує", + "urlUnsafe": "Ця базова URL-адреса не може бути досягнута. Перевірте адресу і що вона використовує https.", + "urlPrivate": "Ця адреса знаходиться у приватній або локальній мережі. Увімкніть \"Дозволити приватні адреси\", якщо клієнт працює тут.", + "encryptionKeyMissing": "Встановіть BOOK_REQUEST_ENCRYPTION_KEY перед збереженням клієнтських даних. Створіть це: openssl rand -hex 32", + "encryptionKeyChanged": "Збережені клієнтські дані не вдалося прочитати. BOOK_REQUEST_ENCRYPTION_KEY могло змінитися після його збереження.", + "pathNotAbsolute": "Шлях відображення повинен використовувати абсолютні шляхи з обох сторін", + "nameRequired": "Дайте цьому клієнту ім'я.", + "urlRequired": "Введіть адресу BookOrbit має досягти цього клієнта.", + "mappingRequired": "Додайте принаймні один контурний зіставлення, щоб BookOrbit знав, який каталог він може імпортувати.", + "apiKeyRequired": "Введіть ключ SABnzbd API з Config > General." + }, + "encryptionKeyMissing": "BOOK_REQUEST_ENCRYPTION_KEY не встановлено, тому клієнтські дані не можуть бути збережені. Створіть одне з: openssl rand -hex 32", + "confirmDelete": { + "title": "Видалити цього клієнта?", + "description": "Видаляються адреси та збережені облікові дані {name}, і надсилають запит на завантаження там припинення оновлення. Вимкніть її, щоб зберегти деталі.", + "confirm": "Видалити клієнта" + }, + "indexers": { + "title": "Прямі стрічки", + "hint": "Під'єднайте окремий канал Torznab для торентів або стрічки Newznab для релізів Usenet.", + "allDisabled": "Кожне джерело подано вимкнене, тому запит не знайде нічого. Перемикайте хоча б один раз увімкнути.", + "loading": "Завантаження індексерів...", + "empty": { + "title": "Джерел ще немає", + "body": "Пакети BookOrbit не є власними джерелами, тому запит пошуку нічого не знаходить, доки ви не додасте його. Виберіть налаштування, яке відповідає вашим індексаторам.", + "bodyOneWay": "Пакети BookOrbit не є власними джерелами, тому запит пошуку нічого не знаходить, доки ви не додасте їх.", + "responsibility": "Джерело, яке ви додаєте, - це ваша відповідальність.", + "prowlarrTitle": "Підключіть броулярку", + "prowlarrBody": "Керування кількома торрент і Usenet індексаторами через одне підключення.", + "recommended": "Рекомендовані", + "pluginTitle": "Встановити плагін", + "pluginBody": "Один файл, який навчає BookOrbit для пошуку певного сайту. Ви це забезпечуєте, а потім заповнюєте його налаштування.", + "torznabTitle": "Додати індексатор Torznab", + "torznabBody": "Точку на бродінг, жарт або NZBHydra, яку ви вже працюєте.", + "builtInTitle": "Додати індексатор", + "builtInBody": "Точка на Torznab або Newznab feed ви вже використовуєте." + }, + "add": "Додати індексатор", + "edit": "Редагувати індексатор", + "delete": "Видалити {name}", + "none": "Поки що немає індексатора.", + "disabled": "Вимкнено", + "test": "Перевірка підключення", + "testSaveFirst": "Зберегти зміни перед тестуванням", + "testOk": "Підключено до {name}", + "toggleAria": "Пошук з Z{name}", + "enabledNotice": "{name} буде шукати", + "disabledNotice": "{name} не буде знайдено", + "lastTestOk": "Останній раз перевірений {time}: підключено", + "lastTestFailed": "Остання перевірена {time}: {error}", + "saved": "Індексор збережено", + "deleted": "Видалено джерело", + "unavailable": "Цей встановлення не має \"{type}\" індексатор \". Змініть тип або видаліть його плагін і збережену конфігурацію.", + "pluginFailed": "Плагін в \"{directory}\" не завантажено: {reason}", + "sources": { + "title": "Джерела", + "hint": "Пошук у всіх закладках може здійснюватись за допомогою зв'язку.", + "add": "Додати джерело", + "prowlarr": "Підключіть броулярку", + "prowlarrHint": "Управління кількома торентами і індексами Usenet разом.", + "direct": "Додати Торцнаб або Ньюцнаб", + "directHint": "Пряме з'єднання з одним сумісним каналом.", + "plugin": "Встановити плагін", + "pluginHint": "Додати спеціалізоване джерело реалізації.", + "activeSummary": "{count, plural, one {# активне джерело} other {# активні джерела} few {# активні джерела} many {# активні джерела}}: {torrent} торент, {usenet} Usenet, {direct} прямий" + }, + "network": { + "title": "Розширена мережа", + "hint": "Працює лише тоді, коли шлях до цього джерела не працює. Те, що дозволено не змінюється: будь-яку адресу досягнуто, все ще перевіряється так само.", + "resolvers": "DNS сервери", + "proxyUrl": "Адреса проксі", + "proxyHint": "Http або https проксі для надсилання запитів цього джерела через нього. SOCKS не підтримується.", + "brief": "Працює лише тоді, коли шлях до цього джерела не працює.", + "resolversBrief": "Розділений комами. Використовується замість системного розв'язувача лише для цього джерела; пусте використання системи.", + "proxyBrief": "Http або https проксі для цього джерела. SOCKS не підтримується." + }, + "types": { + "torznab": "Torznab (Jackett, Prowlarr, NZBHydra)", + "newznab": "Newznab" + }, + "fields": { + "name": "Ім'я", + "type": "Тип індексатора", + "baseUrl": "Базова URL-адреса", + "baseUrlHint": { + "torznab": "Torznab стрічка URL, без рядка запиту. Джекетт показує його на кожному індексаторі як \"Канал Torznab Feed\".", + "newznab": "URL-адреса Newznab сайту або кінцева точка API без пошукового запиту." + }, + "credential": { + "apiKey": "API ключ", + "sessionId": "Ідентифікатор сеансу" + }, + "credentialKeep": "Залиште порожнім, щоб зберігати облікові дані", + "credentialClear": "Очистити", + "credentialKeepAction": "Донжон", + "credentialWillClear": "Збережені дані будуть видалені під час збереження", + "enabled": "Увімкнено", + "allowPrivateAddress": "Дозволити приватні адреси", + "credentialBrief": "Збережені зашифровані.", + "allowPrivateAddressBrief": "За замовчанням вимкнено лише коли джерело знаходиться у вашій локальній мережі.", + "searchByIsbn": "Пошук по ISBN", + "searchByIsbnBrief": "За умовч. Вимкніть, якщо це джерело поверне неправильну книгу для точного ISBN, і натомість він буде пошук за заголовком і автором." + }, + "color": { + "label": "Колір", + "hint": "Позначає джерело з якого він повертає, щоб ви могли сказати звідки походить результат перед прочитанням його назви. Протоколи доставки зберігають власні кольори, тому їх тут не пропонують кольори.", + "none": "Без кольору", + "options": { + "blue": "Синій", + "indigo": "Indigo", + "purple": "Пурпурний", + "pink": "Рожевий", + "red": "Червоний", + "orange": "Помаранчевий", + "yellow": "Жовтий колір", + "lime": "Лайм", + "green": "Зелений", + "teal": "Зелено-блакитний" + } + }, + "mediaKinds": { + "label": "Знайдіть це джерело для", + "hint": "Вимкніть середовище, про яке не варто питати. Відслідковувач лише аудіонами позаду загального проксі-сервера як і раніше каже, що він всюди, і пошук ebooks коштує запит на кожен пошук.", + "notCarried": "Це джерело не може його виконувати." + }, + "categories": { + "title": "Категорії", + "brief": "Список власних категорій індексатора, розділених комами." + }, + "settings": { + "restoreDefault": "Відновити значення за замовчуванням" + }, + "seeding": { + "applyTracker": "Застосувати ціль роздачі трекеру", + "applyTrackerBrief": "Якщо вручну значення не заповнене, використовуйте правильний метод, який повідомляє трекер. Якщо ця опція вимкнена, порожні значення використовують значення за замовчуванням клієнта. Ручні значення все ще застосовуються.", + "ratio": "Відношення сідів", + "ratioBrief": "Позитивна частка. Бланк успадковує від трекеру або клієнта.", + "time": "Час сіду (хвилини)", + "timeBrief": "додатне число - Бланк успадковує від трекера або клієнта.", + "clientSupport": "qBittorrent приймає співвідношення і загальний час фрази-паролю (seed). Відхил і Transmission приймають лише співвідношення прав. Глобальні правила клієнта та які обмеження буде досягнуто, спочатку можуть перестати сідати, тому ці значення не гарантують, що кожен мінімум трекеру виконується.", + "futureGrabs": "Зміни застосовуються до майбутніх захоплень. Існуючі або прийняті торренти можуть зберігати користувацькі ліміти. Вимкнення трекера вимикає стандартну активацію клієнта; це не означає необмежену кількість сідерів.", + "reset": "Скинути параметри роздачі", + "summary": { + "title": "Підсумок політики", + "ratio": "Співвідношення", + "time": "Час сіду", + "manual": "Посібник: {value}", + "tracker": "Tracker fallback", + "client": "Типові налаштування для клієнта" + }, + "errors": { + "ratio": "Введіть скінченне число, більше нуля, або залиште це поле порожнім.", + "minutes": "Введіть ціле число від 1 до 2,147,483647, або залиште це поле порожнім." + } + }, + "confirmDelete": { + "title": "Видалити це джерело?", + "description": "Налаштування адреси {name}та збережені облікові дані. Вимкніть її, щоб припинити пошук без втрати їх.", + "confirm": "Видалити джерело" + }, + "errors": { + "loadFailed": "Не вдалося завантажити індексатори", + "saveFailed": "Не вдалося зберегти цей індексатор", + "deleteFailed": "Не вдалося видалити джерело", + "testFailed": "Не вдалося зв'язатися з цим індексатором", + "nameAndUrlRequired": "Назва та базова URL-адреса обов'язкові", + "nameTaken": "Індекатор з таким ім'ям вже існує", + "urlUnsafe": "Ця базова URL-адреса не може бути досягнута. Перевірте адресу і що вона використовує https.", + "urlPrivate": "Ця адреса знаходиться у приватній або локальній мережі. Увімкніть \"Дозволити приватні адреси\", якщо індексатор запускає тут.", + "credentialRequired": "Цей індексатор потребує облікові дані перед його використанням", + "invalidSettings": "Один або кілька параметрів джерела невірні. Перевірте доступні варіанти.", + "nameRequired": "Віддайте це ім'я індексатора.", + "urlRequired": "Введіть адресу Bookbit повинен знайти." + }, + "editName": "Редагувати {name}", + "editorDescription": "Налаштування для цього індексатора.", + "chooseType": "Виберіть тип індексатора", + "chooseTypeHint": "Виберіть, де потрібно шукати Закладку. Дана форма запитує тільки те, що вона потребує.", + "builtIn": "Вбудований", + "plugin": "Плагін", + "typeDescriptions": { + "torznab": "Ваш власний курт, Prowlarr або NZBHydra. Використовує категорії та цілі сім'я.", + "newznab": "Newznab-сумісний індексатор Usenet. Використовує категорії і потребує ключа API." + }, + "plugins": { + "title": "Плагіни", + "hint": "Сайт BookOrbit може шукати, доданий як один файл плагіна.", + "directoryLink": "Перегляд відкритих плагінів бібліотеки", + "none": "Не встановлено жодного плагіну. Встановіть його для пошуку сайта, у яких вбудовані протоколи не відображаються.", + "install": "Встановити плагін", + "installed": "Встановлено {label}.", + "installFailed": "Не вдалося встановити цей плагін.", + "inspectFailed": "Цей файл не можливо прочитати як плагін.", + "removeAction": "Видалити плагін", + "removed": "Видалено {type} і його джерела.", + "removeFailed": "Цей плагін не вдалося видалити.", + "confirmRemove": "Видалити плагін {label}?", + "replaces": "Це замінює плагін {type} вже інстальовано.", + "restartRequired": "Перезапустіть BookOrbit для зміни плагіна, щоб зміни набули чинності.", + "confirmInstall": "Встановити плагін", + "configure": "Налаштувати", + "notSetUp": "Ще не створено", + "brokenTitle": "Плагін не завантажено", + "managedHint": "Встановлено на цьому сервері. Оновлення замінить його код. Видалення назавжди видаляє плагін і кожне джерело цього типу.", + "missingHint": "Файл доповнень вже закінчився. Видаліть цей запис плагіна, щоб видалити всі залишені джерела, налаштування і збережені облікові дані для його типу.", + "removeWarning": "{count, plural, one {# джерело та його збережені налаштування та облікові дані будуть остаточно видалені з цим модулем.} other {# Джерела і їх збережені налаштування та облікові дані будуть остаточно видалені з цим модулем.} few {# Джерела і їх збережені налаштування та облікові дані будуть остаточно видалені з цим модулем.} many {# Джерела і їх збережені налаштування та облікові дані будуть остаточно видалені з цим модулем.}}", + "configureAria": "Налаштуйте {label}", + "usedBy": "{count, plural, one {Використовується # джерело} other {Використовується з # джерела} few {Використовується з # джерела} many {Використовується з # джерела}}", + "unused": "немає джерела, що використовує його", + "update": "Оновити плагін", + "checkUpdates": "Перевірити наявність оновлень", + "updateCheckComplete": "Оновлення плагіна завершено.", + "updateCheckFailed": "Не вдалося перевірити наявність оновлень для плагінів.", + "updateInspectFailed": "Не вдалося перевірити опубліковане оновлення плагіна.", + "reviewUpdate": "Переглянути оновлення", + "updated": "Оновлено {label} до {version}.", + "autoUpdate": "Встановити підписані оновлення автоматично", + "autoUpdateFailed": "Не можна змінити автоматичне оновлення для цього плагіна.", + "installedVersion": "Встановлена версія", + "updateChannel": "Підписано канал оновлення", + "signatureVerified": "Завантажене джерело співпадає з підписом видавця Ed25519.", + "updateStates": { + "unsupported": "Ручне оновлення", + "unchecked": "Ще не перевірено", + "current": "Актуальні дані", + "available": "Доступна версія {version}", + "custom": "Довільна збірка", + "failed": "Не вдалося перевірити оновлення" + }, + "wrongType": "Цей файл є плагіном {found}, а не {expected}.", + "replaceTitle": "Замінити цей плагін?", + "replace": "Замінити плагін", + "reviewTitle": "Встановити цей плагін?", + "reviewDescription": "Про що цей файл заявляє, і код буде виконуватися.", + "declares": "Що оголошує", + "source": "Те, що він розпочнеться", + "type": "Тип", + "version": "Версія", + "versionLabel": "Версія плагіна {version}", + "versionUnknown": "Версія плагіна невідома", + "versionUnknownValue": "Не вказано", + "media": "Медіа", + "credential": "Облікові дані", + "credentialRequired": "Обов'язково", + "credentialNone": "Без ефекту", + "trustWarning": "Плагін працює всередині BookOrbit з доступом до вашої бази даних, файлів бібліотеки і ключа шифрування. Встановіть тільки з джерела, яким ви довіряєте, і прочитайте його спочатку.", + "sectionTitle": "Плагін", + "removeUnusedWarning": "Плагін буде остаточно видалено з сервера." + }, + "posture": "BookOrbit не надає і не підтримує джерела індексатора. Кожне джерело тут має той, що ви налаштовані, і ви несете відповідальність за те, що ви шукаєте і завантажуєте через нього." + }, + "managers": { + "add": "Додати броулярку", + "loading": "Завантаження з'єднань Prowlarr...", + "managedSources": "{count, plural, one {# керований індексатор} other {# керованих індексаторів} few {# керованих індексаторів} many {# керованих індексаторів}}", + "protocol": { + "torrent": "Торент", + "usenet": "Usenet" + }, + "saved": "Налаштування Prowlarr збережено", + "deleted": "Prowlarr видалено", + "synced": "Початкові коди Prowlarr синхронізовані", + "test": "Перевірка підключення", + "sync": "Synchronize", + "testOk": "Підключено до Prowlarr {version}. Знайшли {count, plural, one {# джерело} other {# джерела} few {# джерела} many {# джерела}}", + "unavailable": "Unavailable", + "priority": "Prowlarr priority {priority}", + "toggleSource": "Пошук з Z{name}", + "changeColor": "Змінити колір для {name}", + "sourceColor": "Колір джерела", + "sourceColorHint": "Позначати релізи від {name} у BookOrbit.", + "noSources": "Не було виявлено сумісних торрентів або індексаторів Usenet. Синхронізуйте після додавання одного з Prowlarr.", + "unknown": "Не вказано", + "editorDescription": "Підключення та синхронізація вихідних для Prowlarr.", + "confirmDelete": "Видалити це підключення Prowlarr?", + "deleteConsequence": "Під’єднання, зашифрований ключ API, і всі синхронізовані джерела були видалені. Завантаження вже в даний час не видаляються.", + "fields": { + "name": "Ім'я", + "color": "Колір з’єднання", + "colorHint": "Позначає тут з'єднання Prowlarr. Кожен керований індексатор має свій власний реліз колір.", + "baseUrl": "Базова URL-адреса", + "apiKey": "API ключ", + "apiKeyHint": "Знайдений у Prowlarr під Settings > General > Безпека. Збережене шифрування.", + "syncNew": "Увімкнути нещодавно відкриті джерела", + "syncNewHint": "Негайно шукаються нові індекси Prowlarr. Джерела ви вимикаєте тут, щоб вимкнути після пізнішої синхронізації.", + "autoExpand": "Повторити без фільтрів категорій", + "autoExpandHint": "Коли індексатор успішно відповідає без результатів, спробуйте знову без фільтра категорії книг BookOrbit.", + "inheritSeedLimits": "Використовувати обмеження початкового коду Prowlarr", + "inheritSeedLimitsHint": "Застосувати кожен торрент-індексатор і час фрази-паролю (seed) до майбутніх завантажень, коли немає заміни BookOrb).", + "perIndexerTimeout": "Тайм-аут індексатора (секунди)", + "perIndexerTimeoutHint": "Скільки часу може знадобитися одне синхронізоване джерело. Для повільних програм може знадобитися більше часу.", + "overallBudget": "Броулярний бюджет (секунди)", + "overallBudgetHint": "Максимальний час виконання усіх джерел на даний час для підключення до Prowlarr протягом одного пошуку." + }, + "errors": { + "load": "Не вдалося завантажити менеджери індексаторів", + "nameTaken": "Prowlarr з'єднання з таким іменем вже існує", + "urlPrivate": "Ця адреса знаходиться у приватній або локальній мережі. Увімкніть \"Дозволити приватні адреси\", якщо Prowlarr там запускається.", + "required": "Введіть ім'я, базову URL-адресу та ключ API.", + "save": "Не вдалося зберегти підключення Prowlarr", + "delete": "Не вдалося видалити підключення Prowlarr", + "test": "Не вдалося зв'язатися з Prowlarr", + "sync": "Не вдалося синхронізувати джерела Prowlarr", + "source": "Не вдалося змінити джерело" + } + }, + "automation": { + "title": "Автоматизація", + "pipeline": "Коли завантаження завершує вона проходить через папку \"Документ книги\", де прочитані її назви і автори, для правильного імені файлу і імені файлу, і потім вона самостійно рухається в бібліотеці призначення запиту. Це зупиняє тільки для вас, якщо відбувається перевірка імпорту, і файл не відповідає тому, що було запитано.", + "groupDownloads": "Автоматичні завантаження", + "groupImports": "Імпортування перевірок", + "stateOn": "Увімк", + "stateOff": "Вимкнено", + "summaryOff": "Кожен затверджений запит очікує на людину, щоб відкрити семінар і вибрати вибрати кожний затвердження.", + "summaryNoRetry": "затверджений запит завантажує його найкращий випуск самостійно, доки він отримає {score} або більше. Якщо вона зазнає невдачі, запит чекає людини.", + "summaryRetry": "затверджений запит завантажує його найкращий випуск самостійно, доки він отримає оцінку {score} або багато іншого. {count, plural, one {Це єдиний реліз, перш ніж запит очікує на людину.} other {До # релізів постачається до того, як запит очікує на людину} few {До # релізів постачається до того, як запит очікує на людину} many {До # релізів постачається до того, як запит очікує на людину}}", + "howDownloads": "Як працюють автоматичні завантаження", + "howImports": "Як імпортувати перевірки роботи", + "minScoreShort": "Нічого не нижче не завантажено.", + "autoRetryShort": "Невдале завантаження випадає до runner'а.", + "maxAttemptsShort": "Першою спробою і кожною спробою вирахувати до цього.", + "verificationShort": "Нижче ви можете побачити файл в доці Книги для перегляду.", + "loading": "Завантаження параметрів автоматизації...", + "loadFailed": "Не вдалося завантажити налаштування автоматизації", + "saveFailed": "Не вдалося зберегти цей параметр", + "saved": "Налаштування автоматизації збережено", + "autoGrab": "Завантажити найкращий реліз автоматично", + "noSourcesConfigured": "Жодних джерел не встановлено, так що нічого не буде здійснюватися пошук і кожен затверджений запит буде переданий прямо назад. Додайте його за джерелами.", + "noSourcesEnabled": "Кожне джерело пошуку вимкнене, тому нічого не буде шукати і кожен затверджений запит буде переданий прямо назад. Повернутись назад до джерел.", + "autoGrabHint": "Коли запит буде схвалено, його найвищою віддачею переходу прямо на завантажити клієнта, і ніхто не повинен створювати реліз. Відмічений за замовчуванням, оскільки появу книги на випуск є важким і людина, як правило, є кращим суддям.", + "autoGrabEnabled": "Автоматичні завантаження увімкнені", + "autoGrabDisabled": "Автоматичне завантаження вимкнено", + "minScore": "Мінімальний результат для автоматичного завантаження", + "minScoreHint": "Розгортання нижче не завантажується автоматично. Результати закінчуються до 100, і як добре звання і автор складають більшість з них, з форматом, розміром файлів, seeders і пріоритетом джерела. Якщо нічого достатньо великого, цей запит очікує на когось вибирання по одному опуску і говорить, чому він зупинився.", + "minScoreHintV2": "Експорт нижче не завантажується автоматично. Результати запускаються до 100. Релевантність автора сприяє найбільшому розміру, за яким наведений формат і правдоподібний розмір файлу, зі здоров'ю та фоновим елементом, який використовується коли джерело надає їх. Якщо нічого достатньо великого, цей запит очікує на когось вибирання по одному опуску і говорить, чому він зупинився.", + "autoRetry": "Спробуйте наступний реліз після відмови", + "autoRetryHint": "Коли автоматичне завантаження зазнає невдачі, наступний найкращий випуск спробує замість того, щоб здаватися. Це охоплює джерело відмовляється передавати файл знову і завантаження, які пропускають розбірку. Застосовується тільки до релізів BookOrbit обрав себе: одне затвердження, яке було обрано руками, залишається невдалою і чекає на них.", + "maxAttempts": "Спроби за запитом", + "maxAttemptsHint": "Кожен реліз BookOrbit надсилає клієнту завантаження для цього обмеження: перша автоматична спроба, все, що було зроблено після того, як джерело повернув вниз, і все, що було виконано після того, як завантаження не вдалося. Встановіть значення 1, щоб зупинити після першої спроби.", + "autoSearch": "Продовжувати пошук запитів не знайдено", + "autoSearchShort": "Затверджений запит нічого не відповідає вимогам.", + "autoSearchHint": "Запит здійснюється один раз, коли його затверджують. Якщо нічого хорошого виявляється, або книга ще не була випущена, цей запит чекає на затвердження і нічого не виглядає на неї знову. Увімкніть це, і BookOrbit зберігає перевірку самостійно, тому реліз, опублікований на наступний місяць, як і раніше знайдено. Працює тільки тоді, коли з'являються автоматичні завантаження, тому що пошук не має нічого спільного з тим, що знаходить лише витрати на трафік ваших джерел.", + "autoSearchEnabledToast": "Повтор запиту буде здійснений пошук", + "autoSearchDisabledToast": "Запити будуть пошукові лише після їх затвердження", + "autoSearchInterval": "Шукати знову після", + "autoSearchIntervalShort": "Підраховується з останнього пошуку, і простягався як вік запитів.", + "autoSearchIntervalHint": "Як довго чекати, перш ніж знову шукати нічого не було знайдено. Очікування вдвічі кожний тиждень, запит чекав до восьми разів цієї фігури, так довгий відставання старих запитів не перетворюється на щоденний трафік відносно кожного джерела, який ви маєте.", + "autoSearchIntervalUnit": "годин", + "autoSearchMaxAge": "Припинити пошук після", + "autoSearchMaxAgeShort": "Відлік перед виконанням запиту.", + "autoSearchMaxAgeHint": "Прохання до цього залишається наодинці. Вона залишається повністю затвердженою і все ж може мати на відпущений вручну і, ніхто, більше нічого не шукає.", + "autoSearchMaxAgeUnit": "днів", + "verify": "Перевіряти імпорт за запитом", + "verifyOnHint": "Кожен завантажений файл порівнюється з книгою, яку було запропоновано до того, як він з'явився. Усе, що не дуже тісно збігається, чекає за докером книги і побачить когось.", + "verifyOffHint": "Нічого не відбувається для розгляду. Кожне завантаження заповнене, як тільки його заголовок і автор буде прочитано, тому неправильно позначані релізи в бібліотеці не попереджаючи.", + "verificationEnabled": "Перевірку імпорту ввімкнено", + "verificationDisabled": "Перевірка імпорту вимкнена. Завантаження буде зніматися без перевірки", + "verification": "Поріг перевірки", + "verificationHint": "Як тісно завантажений файл повинен відповідати запиту, перш ніж він подав сам по собі. Все, що під цим стоїть, замість цього в Книзі Доку перегляду. Це стосується кожного запиту, в тому числі випускає когось, хто вибрав вручну.", + "destinations": "Усталені місця", + "destinationsHint": "Книжку записують, коли ніхто не вибрав для неї бібліотеку. Є один типовий для середовища, через те, що середовище обирається, перш ніж будь-що буде досліджуване і це є єдиною річчю, яка відома раніше. Призначення закріпленого абонента або обраного при затвердженні, використовується попереду.", + "destinationUnset": "Немає за умовчанням", + "destinationHiddenLibrary": "Бібліотека, яку ви не бачите", + "destinationHiddenFolder": "Папка яку ви не бачите", + "selectFolder": "Виберіть теку", + "destinationLibraryFor": "Бібліотека за замовчуванням для запитів {medium}", + "destinationFolderFor": "Папка за замовчуванням для запитів {medium}", + "destinationClearFor": "Очистити призначення за замовчуванням для {medium} запитів", + "importFormats": "Імпортувати формати", + "importFormatsHint": "Що ж змінювати, коли один реліз несе ту саму книжку в більш ніж одному форматі, наприклад, EPUB та PDF разом. Це ніколи не відноситься до багаточастинних аудіокнижок тому, що її складові - це одна книжка, а не змагальні редакції.", + "importFormatsOption": { + "all": "Всі доступні", + "allHint": "Залишити кожен формат, що прийшов з релізом.", + "preferred": "Бажані тільки", + "preferredHint": "Зберігайте лише формат, який розміщений вище у форматі формату цільової бібліотеки." + } + }, + "profiles": { + "title": "Профілі релізу", + "effectiveRule": "Автоматичне завантаження: перший відповідний рівень, найвищий рахунок (мінімальний {score}).", + "summary": "Релізи за межами профілю залишаються доступними для ручного відбору. Без прив'язки релізів лише за результатами.", + "howProfiles": "Як працюють профілі релізу", + "hint": "Реліз зіляється з верхівки до нижнього боку та бере перший рівень його відповідності. Автоматичні завантаження вважаються прив'язаними лише коли є профіль. Ручний вибір все ще включає в себе об'єднання релізів після багаторівневої інформації.", + "bitrateNote": "Бітрейт підлоги відкидає реліз, який встановлює нижчий. Більшість джерел вимірюють дуже мало їх випущень, і невиміряний випуск вже не зникає, тому цей вузький, як виглядає.", + "empty": "Немає профілю. Релізи для цього середнього розміру займають лише рахунок.", + "addTier": "Додати рівень", + "removeTier": "Видалити цей рівень", + "moveUp": "Посунути цей рівень вгору", + "moveDown": "Перемістити цей рівень вниз", + "tierName": "Назва каналу", + "newTier": "Рівень {position}", + "formats": "Формати", + "files": "Файли", + "anyLayout": "Будь-яке", + "minBitrate": "Мін. Кбіт/с", + "minSeeders": "Мін сідів", + "torrentConditions": "Умови торенту", + "nonTorrentConditions": "Сідер, вільні джерела і VIP умови не поширюються з вибраними джерелами.", + "incompatibleTorrentConditions": "Цей не торрент рівень все ще зберігає торрент умови. Вони можуть бути ігноровані або не допустити відповідного рівня.", + "removeTorrentConditions": "Видалити умови торенту", + "channels": "Канали", + "anyChannels": "Будь-яке", + "mono": "Моно", + "stereo": "Stereo", + "maxSize": "Максимум МБ", + "languages": "Мови", + "indexers": "Джерела", + "multiSelectHint": "Виберіть один або більше, або лишіть його порожнім, щоб дозволити будь-які", + "multiSelectAny": "Будь-яке" + }, + "health": { + "ok": "Підключено", + "failed": "Недоступний", + "untested": "Ніколи не тестував", + "disabled": "Вимкнено", + "testedAt": "перевірено {time}", + "failedAt": "не вдалося виконати {time}" + }, + "categoryLabel": "категорія {category}", + "priorityLabel": "приорітет {priority}", + "editClientName": "Редагувати {name}", + "sections": { + "connection": "З'єднання", + "search": "Що шукати", + "access": "Доступ", + "seeding": "Сідую", + "availability": "Наявність", + "behaviour": "Поведінка" + }, + "continueWithType": "Продовжити", + "external": "Зовнішній", + "editorDescription": "Налаштування для цього клієнта.", + "chooseClientType": "Виберіть тип клієнта", + "chooseClientTypeHint": "Вибрати програму завантаження закладок.", + "clientTypeDescriptions": { + "qbittorrent": "Ваш власний qBittorrent. Потрібен адресу і рахунок.", + "transmission": "Ваш власний Transmission. Він не має категорій, тому категорія стає підтекою її каталогу.", + "deluge": "Ваш власний Deluge. Увійдіть за допомогою пароля веб-інтерфейсу; категорії потрібно увімкнути плагін міток.", + "nzbget": "Ваш NZBGet. Bookbit посилає NZB файли на їх JSON-RPC API.", + "sabnzbd": "Ваш власний SABnzbd. Bookbit відправляє NZB файли, використовуючи його ключ API." + }, + "searchHealth": { + "failingOnce": "Останній пошук не вдався", + "failingStreak": "Пошук {count} не пройшов поспіль", + "lastSearchAt": "остання пошукова {time}" + } } }, "nav": { "title": "Налаштування", "ariaLabel": "Розділи налаштувань", + "breadcrumbLabel": "Навігаційна стежка", "searchPlaceholder": "Налаштування пошуку", "clearSearch": "Очистити пошук", + "noResults": "Жодне налаштування не відповідає запиту {query}.", + "shortcutHint": "Натисніть {shortcut} , щоб перейти до будь-якого налаштування", + "status": { + "scanning": "Сканування" + }, "groups": { "you": "Ви", "library": "Бібліотека", "devices": "Пристрої та синхронізація", + "accounts": "Облікові записи", "server": "Сервер" }, "descriptions": { - "profile": "Ваше ім'я, електронна пошта, пароль та активні сесії." + "profile": "Ваше ім'я, електронна пошта, пароль та активні сесії.", + "appearanceTheme": "Тема, колір акцентів, фон і радіус кута.", + "appearanceBookCovers": "Тіні обкладинки, ефекти хребта та заповнювача мистецтва.", + "appearanceIcons": "Виберіть стиль іконок у програмі.", + "appearanceLayout": "Типовий вигляд бібліотеки, щільність і інтервал.", + "appearanceBehavior": "Як бібліотека реагує під час перегляду та сортування.", + "appearanceLanguage": "Мова і регіональні формати.", + "readerEbook": "Фонди, пробіл та поведінка сторінок для eBooks.", + "readerPdf": "Візуалізація, масштаб і сторінка підходить для PDF.", + "readerComics": "Читання напрямку і поширення сторінок для коміксів.", + "readerAudio": "Швидкість відтворення, пропуск інтервалів і таймер сну.", + "readerFonts": "Шрифти доступні під час читання.", + "readerGeneral": "Типово розділяються кожним режимом читання.", + "notifications": "Те, про що книга говорить вам і де.", + "privacy": "Читання інформації, спільні посилання та видимість активності.", + "restrictions": "Вікові рейтинги та приховані вміст для цього облікового запису.", + "libraries": "Сканувати шляхи, переглянуті теки та правила відтворення.", + "fileNaming": "Теки та шаблони імен імен файлів для збережених файлів.", + "maintenance": "Сканує, повторення, сироти та кеш.", + "kobo": "Синхронізація кінцевої точки, зберігання проксі, і зіставлення магазинів.", + "koreader": "Прогресивна синхронізація і відповідність документів.", + "opds": "Каталог подач для сторонніх програм для читання.", + "email": "SMTP-адреси доставки та надсилання до пристрою.", + "hardcover": "Синхронізація читання статусу і відгуків з Hardcover.", + "users": "Облікові записи, ролі, дозволи та запрошення.", + "accountActivity": "Завдання та читання за користувачем та сесії.", + "magicLinks": "Пароль, що не є поширенням та зв'язками для входу.", + "oidc": "Постачальник єдиного входу, претензії та положення.", + "serverFonts": "Шрифти, встановлені для кожного читача на цьому сервері.", + "bookDock": "Швидкі дії показані на сторінках книги.", + "auditLog": "Хто змінив що, і коли.", + "requests": "Джерела, завантажувати клієнти, і що відбувається з книгою після її завантаження.", + "readerTts": "Голосовий голос, швидкість та типовість за замовчуванням.", + "adminTts": "Всі читачі цього сервера можуть використовувати режим перетворення тексту в звук." + }, + "backToApp": "Назад до бібліотеки", + "pageDescriptions": { + "profile": "Ваше ім'я, фото, часовий пояс і шлях досягнень, плюс ваш пароль та провайдери входу, пов'язані з цим обліковим записом.", + "appearance-theme": "Виберіть, де ваші налаштування зовнішнього вигляду збережені, а потім встановіть схему стилів, колір, кути, яскравість поверхні та шаблон бібліотеки.", + "appearance-book-covers": "Як охоплює охоплює програм: заповнювач мистецтва для книг без одного, як покривають свої слоти, зображення і ефекти блиску, а також покриття на сторінках книги.", + "appearance-icons": "Завантажте власні значки, які використовуватимуться поряд із вбудованим набором для бібліотек, розумних областей та колекцій.", + "appearance-layout": "Розміри обкладинки та інтервал для сітки бібліотеки, обкладинка показана для розваленої серії, і як викладена мережа автора.", + "appearance-behavior": "Що відкриває книгу з таблиці чи списку, чи то запобігає колапсу в одну карту і чи з’являються запити на замовлення в цьому обліковому записі.", + "appearance-language": "Книга книг для менй, міток і повідомлень і регіональних форматів дати і чисел.", + "reader-ebook": "За замовчуванням для читача електронних книг: чи нові книги починаються з ваших налаштувань, потоків і стовпців, тем і областей, таких як шрифт, розмір і інтервал.", + "reader-pdf": "Як відкриваються PDF: сторінка за сторінкою або одним постійним прокручуванням, на якій сторінка починає поширення на дві сторінки та відповідає за замовчування збільшення.", + "reader-comics": "Як читаються коміки: режим читання і напрямок, один-дві сторінки поширюється, вміст, обробка широких сторінок і рух до наступної книги в серії.", + "reader-audio": "Початкова швидкість і гучність нових аудіопошуків, і як далеко далеко назад і пропускати перемотування клавіш.", + "reader-fonts": "Завантажте свої власні шрифти для читання і виберіть у ньому які шрифти використовуються для адміністратора сервера.", + "reader-general": "Де ваші налаштування читачів збережені, а типові - в кожному режимі читання.", + "tts": "Ваш голос і швидкість за замовчуванням, коли BookOrbit читає книгу вголос.", + "notifications": "Виберіть, які події повідомляють вас, від завершених сканувань і метаданих надходять на імена, імпорт і результат Dock книги.", + "privacy": "Вирішіть, скільки адміністраторів ваших операцій побачать перегляд спільного профілю та перевірте, хто його переглядав.", + "restrictions": "Вміст, що встановлюється на цьому рахунку, такі як вікові рейтинги та прихований вміст, і те, що вони видаляють з ваших бібліотек.", + "libraries": "Кожна бібліотека поглянула: її папки, що вона утримує, як вона відсканована і коли вона востаннє виявляється. Додати, редагувати чи пересканувати бібліотеки тут.", + "metadata-providers": "Перетворіть джерела метаданих на або відключайте, додайте ключі API або кукі, де джерело їх потребує, та протестуйте облікові дані проти живої служби.", + "metadata-field-rules": "Виберіть, які провайдери заповнюють кожен поле метаданих і в якому порядку, як значення злито, і як зібрані жанри і ідентифікатори провайдерів.", + "metadata-custom-fields": "Створіть свої власні поля метаданих, виберіть їх тип та бібліотеки, які їх використовують, змінюють або архівують.", + "metadata-score": "Вирішіть, скільки кожен з метаданих поля розраховує до результату заповненості, показаного у кожній книзі.", + "metadata-auto-fetch": "Автоматично отримувати метадані книги, коли книги імпортуються або відсутні деталі, з заміщенням кожної бібліотеки.", + "metadata-authors": "Автоматично отримувати авторські біографії та фотографії і вибирати джерела замовлень і визначати, які з автора мають значення.", + "metadata-search-cache": "Залишити відповіді провайдера на такі повторювані пошуки швидко і до сих пір працюють, коли постачальник зменшується, і контролювати, скільки часу та скільки зберігається.", + "metadata-genre-blocklist": "Жанрі значення, які тут беруться із результатів постачальника, перш ніж метадані записуються, тому етикетки, як Audiobook стежується з ваших книг.", + "metadata-reminders": "Виберіть, які відсутні поля з'являються в нагадуваннях книги. Це змінює тільки нагадування - не метаданні.", + "file-naming": "Теки та шаблони назв файлів використовуються, коли BookOrbit перейменовують книгу на диск, з попереднім переглядом результату і що відбувається, коли значення відсутнє.", + "maintenance": "Економія сервера: обмеження розміру сервера, минулий імпорт, відновлення рекомендацій, заповнення досягнень та перевірка оновлень.", + "kobo": "Підключіть електронних читачів Кобо, виберіть, як книги, полиці та читання результатів синхронізації, а також слідуйте за останньою активністю кожного пристрою.", + "koreader": "Синхронізація прогресу, читання активності і підсвічування в KOReader, отримання URL-адреси та плагіна синхронізації та керування пристроями, які підключаються.", + "opds": "Увімкніть каталог OPDS і створіть облікові записи, таким чином сторонні програми можуть переглядати та завантажувати свої книги.", + "email": "Управління книгами адрес надсилається, наприклад, вкладені бокси Kindle, зірка за замовчуванням і одержувачів групи для відправки одночасно на декілька адрес.", + "hardcover": "Підключіть ваш обліковий запис Hardcover та оберіть при читанні статусу, синхронізація досягнень та рейтинги, і як там з'являються ваші книги.", + "readwise": "Підключіть обліковий запис Readwise щоб надіслати підсвічування там автоматично.", + "storygraph": "Підключіть свій обліковий запис StoryGraph за допомогою куків вашого браузера для синхронізації прогресу та статусу.", + "users": "Створюйте та керуйте обліковими записами, ролями, правами доступу до бібліотеки, і дивіться, які облікові записи потребують уваги.", + "account-activity": "Подивіться, коли кожен обліковий запис був останнім активним і як він увійшов, а також інформацію про читання та сеанс кожного користувача.", + "magic-links": "Створюйте спільні посилання, які ввійдуть в когось без пароля, і відкликають їх, коли вони більше не потрібні.", + "oidc": "Підключіть єдиного підпису такого як Keycloak, відобразити його претензії та вирішити, яким чином були створені нові облікові записи.", + "requests": "Коли BookOrbit шукає замовлені книги, які завантажують клієнтів і що станеться після завершення завантаження.", + "admin-tts": "Читачі, які працюють в текстовій мові, можуть використовувати для читання вголос, голоси, запропоновані з кожної і замовлення, яким вони з'являються.", + "book-dock": "Тека із книжкою \"Док-станція\", автоматична метаданих отримання нових файлів, а також очка, з якою файли завершаться самі.", + "server-fonts": "Завантажувати шрифти один раз для кожного читача на цьому сервері. Кожен читач все ще може приховати будь-який з них.", + "audit-log": "Доступний для пошуку, який змінив те, що і коли фільтрується за подіями, людьми, вплинув на предмет і дату." } + }, + "field": { + "required": "(обов'язково)" + }, + "editor": { + "discardTitle": "Скасувати зміни?", + "discardDescription": "У цього редактора є зміни, які ніколи не були збережені. Закриття їх тепер зруйнує їх.", + "discardConfirm": "Скасувати зміни", + "moreActions": "Більше дій", + "removeQuestion": "Видалити це?" } }, "achievements": { @@ -2343,6 +4301,201 @@ "earned": "Зароблено ({count})", "inProgress": "В процесі ({count})", "locked": "Заблоковано ({count})" + }, + "tiersEarnedFact": "{earned} з {total} плиток", + "loading": "Завантаження досягнень", + "filters": { + "label": "Фільтрувати досягнення", + "all": "Всі", + "earned": "Зароблено", + "inProgress": "Обробка", + "locked": "Заблоковано" + }, + "showcase": { + "label": "В центрі уваги", + "latest": "Останнє розблокування", + "newToday": "{count, plural, one {# нових сьогодні} other {# нових сьогодні} few {# нових сьогодні} many {# нових сьогодні}}", + "secretRevealed": "Виявлена таємниця", + "categoryAndDate": "{category} · {date}", + "alsoNew": "Також нові", + "openMedal": "Відкрити {name}", + "emptyTitle": "Чекає вашої першої медалини", + "emptyBody": "Закінчіть книгу, оцініть або виділіть уривок і вона ось тут.", + "collection": "Колекція", + "shareOfTiers": "{percent} кожного рівня", + "tiersEarned": "{earned} із {total} отриманих рівнів", + "closest": "Найближче для розблокування", + "allInProgress": "Всі {count}", + "tierOfSet": "Рівень {tier} {set}", + "nothingCounting": "Поки що ніщо не рахується до медаль." + }, + "shelf": { + "tiers": "{earned} / {total}", + "progressLabel": "Отримано {category} tiers" + }, + "medal": { + "label": "{name}, {rarity}, {status}", + "tier": "Рівень {tier}", + "allTiers": "{count, plural, one {Єдиний рівень} other {Всі # tiers} few {Всі # tiers} many {Всі # tiers}}", + "keepReading": "Продовжувати читати", + "notStarted": "Не розпочато" + }, + "progress": { + "generic": "{current} / {threshold}", + "toGo": "{count, plural, one {# йти} other {# пройти} few {# пройти} many {# пройти}}" + }, + "hints": { + "howToGetIt": "Як отримати", + "readingPace": "{count, plural, one {За останні {days} днів ви читали # годину.} few {За останні {days} днів ви читали # години.} many {За останні {days} днів ви читали # годин.} other {За останні {days} днів ви читали # години.}}", + "etaDays": "{count, plural, one {У такому темпі приблизно # день.} few {У такому темпі приблизно # дні.} many {У такому темпі приблизно # днів.} other {У такому темпі приблизно # дня.}}", + "etaWeeks": "{count, plural, one {Від # тижня до цього темпису} other {Через # тижнів в цьому темпі!} few {Через # тижнів в цьому темпі!} many {Через # тижнів в цьому темпі!}}", + "etaMonths": "{count, plural, one {У такому темпі приблизно # місяць.} few {У такому темпі приблизно # місяці.} many {У такому темпі приблизно # місяців.} other {У такому темпі приблизно # місяця.}}", + "decadeUnread": "{count, plural, one {# книг від {decade}вони чекають на ваші полиці.} other {# книг від {decade}Вони чекають на ваших полицях} few {# книг від {decade}Вони чекають на ваших полицях} many {# книг від {decade}Вони чекають на ваших полицях}}", + "centuryUnread": "{count, plural, one {# книг від {century}вони чекають на ваші полиці.} other {# книг від {century}Вони чекають на ваших полицях} few {# книг від {century}Вони чекають на ваших полицях} many {# книг від {century}Вони чекають на ваших полицях}}", + "stalled": "{title} це {percent} прочитано і запущено в {date}.", + "stalledNoProgress": "{title} був запущений на {date}.", + "untitledBook": "Книжка, виконується", + "nearlyFinished": "{count, plural, one {# книга в процесі прочитана більш ніж на {percent}.} few {# книги в процесі прочитані більш ніж на {percent}.} many {# книг у процесі прочитані більш ніж на {percent}.} other {# книги в процесі прочитані більш ніж на {percent}.}}", + "unratedFinished": "{count, plural, one {# книга, яку ви закінчили, ще не має рейтингів} other {# книг, які ви закінчили, ще не мають рейтингу} few {# книг, які ви закінчили, ще не мають рейтингу} many {# книг, які ви закінчили, ще не мають рейтингу}}", + "shortBooks": "{count, plural, one {# забронювати під {pages} сторінки чекають на ваші полиці.} other {# книг поразок {pages} Сторінки чекають на ваші полиці.} few {# книг поразок {pages} Сторінки чекають на ваші полиці.} many {# книг поразок {pages} Сторінки чекають на ваші полиці.}}", + "alreadyStarted": "{count, plural, one {# вже виконується} other {# вже в процесі!} few {# вже в процесі!} many {# вже в процесі!}}", + "longBooks": "{count, plural, one {# книг {pages} Сторінки або більше чекають на ваших полицях.} other {# книг {pages} сторінки або більше чекають на ваші полиці.} few {# книг {pages} сторінки або більше чекають на ваші полиці.} many {# книг {pages} сторінки або більше чекають на ваші полиці.}}", + "oldBooks": "{count, plural, one {# книг опублікованих до {year} чекає на ваші полиці.} other {# книг опублікованих до {year} чекають на ваші полиці.} few {# книг опублікованих до {year} чекають на ваші полиці.} many {# книг опублікованих до {year} чекають на ваші полиці.}}", + "authorUnread": "{author}: {finished, plural, one {# закінчили} other {# закінчили} few {# закінчили} many {# закінчили}}, {count, plural, one {# на полицях} other {# на полицях} few {# на полицях} many {# на полицях}}.", + "languageUnread": "{count, plural, one {# книг {language} чекає на ваші полиці.} other {# книг в {language} чекають на ваші полиці.} few {# книг в {language} чекають на ваші полиці.} many {# книг в {language} чекають на ваші полиці.}}", + "monthsRead": "{count, plural, one {Ви прочитали за # місяць {year} поки що.} other {Ви прочитали # місяців {year} поки що.} few {Ви прочитали # місяців {year} поки що.} many {Ви прочитали # місяців {year} поки що.}}", + "monthsLeft": "{count, plural, one {{months} Залишилося} other {{months} зліва.} few {{months} зліва.} many {{months} зліва.}}", + "noLongBook": "Жодна книга на поличках не має сторінок {pages} або більше.", + "nothingBeforeYear": "На ваших полицях нічого не було опубліковано до {year}.", + "tooFewDecades": "{count, plural, one {Поки що ваші полиці охоплюють лише # десятиліття.} few {Поки що ваші полиці охоплюють лише # десятиліття.} many {Поки що ваші полиці охоплюють лише # десятиліть.} other {Поки що ваші полиці охоплюють лише # десятиліття.}}", + "tooFewCenturies": "{count, plural, one {Ваші полиці уже не доступні в силі # століття} other {Ваші полиці всього за # століть, поки що.} few {Ваші полиці всього за # століть, поки що.} many {Ваші полиці всього за # століть, поки що.}}", + "missedMonth": "Ви не прочитали в {month}, тому {year} не досягнуто. Кількість починається в січні.", + "continueReading": "Продовжити читання", + "rateFinished": "Оцінити завершену книгу", + "viewAuthor": "Переглянути автора", + "openBook": "Відкрити {title}", + "openUntitledBook": "Відкрити книгу" + }, + "sets": { + "booksFinished": "Книги закінчено", + "pagesRead": "Переглянуті сторінки", + "hoursRead": "Прочитані години", + "longestBook": "Найдовша книга закінчилася", + "librarySize": "Розмір бібліотеки", + "annotations": "Анотації", + "booksRated": "Оцінка книг", + "genresFinished": "Жанри закінчені", + "languagesFinished": "Мови завершені", + "readingStreak": "Читання серії" + }, + "units": { + "books": { + "progress": "{current} / {threshold} книг", + "toGo": "{count, plural, one {Залишилася # книга} few {Залишилося # книги} many {Залишилося # книг} other {Залишилося # книги}}" + }, + "pages": { + "progress": "{current} / {threshold} сторінки", + "toGo": "{count, plural, one {# сторінка, щоб отримати} other {# сторінок для цього} few {# сторінок для цього} many {# сторінок для цього}}" + }, + "hours": { + "progress": "{current} / {threshold} годин", + "toGo": "{count, plural, one {# година перейти до} other {# годин, щоб отримати} few {# годин, щоб отримати} many {# годин, щоб отримати}}" + }, + "annotations": { + "progress": "{current} / {threshold} анотації", + "toGo": "{count, plural, one {# анотація, щоб перейти до} other {# анотацій - для цього} few {# анотацій - для цього} many {# анотацій - для цього}}" + }, + "ratings": { + "progress": "Оцінки {current} / {threshold}", + "toGo": "{count, plural, one {Залишилася # оцінка} few {Залишилося # оцінки} many {Залишилося # оцінок} other {Залишилося # оцінки}}" + }, + "genres": { + "progress": "{current} / {threshold} genres", + "toGo": "{count, plural, one {# жанр, щоб перейти до} other {# жанрів, щоб перейти в} few {# жанрів, щоб перейти в} many {# жанрів, щоб перейти в}}" + }, + "languages": { + "progress": "{current} / {threshold} мови", + "toGo": "{count, plural, one {# мови, щоб їхати} other {# мов щоб продовжити} few {# мов щоб продовжити} many {# мов щоб продовжити}}" + }, + "days": { + "progress": "{current} / {threshold} днів", + "toGo": "{count, plural, one {# день минути} other {# днів щоб перейти в} few {# днів щоб перейти в} many {# днів щоб перейти в}}" + } + }, + "moments": { + "nthBook": "Книгою № {number} була {title}", + "pagesAtUnlock": "{count, plural, one {# сторінка} other {# сторінок} few {# сторінок} many {# сторінок}} коли він розблокований", + "hoursAtUnlock": "{count, plural, one {# година} other {# годин} few {# годин} many {# годин}} Коли він розблокований", + "titleWithPages": "{title}, {count, plural, one {# сторінка} other {# сторінки} few {# сторінки} many {# сторінки}}", + "booksAtUnlock": "{count, plural, one {# книга} other {# книг} few {# книг} many {# книг}} в бібліотеці, коли вона розблокована", + "annotationsAtUnlock": "{count, plural, one {# анотація} other {# анотацій} few {# анотацій} many {# анотацій}} коли він розблокований", + "ratingsAtUnlock": "{count, plural, one {# рейтинг} other {# рейтингів} few {# рейтингів} many {# рейтингів}} коли він розблокований", + "genresAtUnlock": "{count, plural, one {# жанр} other {# жанрів} few {# жанрів} many {# жанрів}} коли він розблокований", + "languagesAtUnlock": "{count, plural, one {# мова} few {# мови} many {# мов} other {# мови}} на момент розблокування", + "streakAtUnlock": "На той момент {count, plural, one {# день} few {# дні} many {# днів} other {# дня}} поспіль", + "longSession": "Одна сесія була запущена {duration}", + "durationHours": "{hours} год {minutes} хв", + "durationMinutes": "{minutes} хв", + "sessionStartedAt": "Сесія, яка розпочалася в {time}", + "oneDayBook": "{title}, почати закінчувати за один день", + "booksInWeek": "{count, plural, one {# книга} other {# книг} few {# книг} many {# книг}} Завершено за тиждень", + "booksInMonth": "{count, plural, one {# книга} other {# книг} few {# книг} many {# книг}} Завершено в {month}", + "booksInYear": "{count, plural, one {# книга} other {# книг} few {# книг} many {# книг}} Завершено в {year}", + "wholeBookOneSession": "Уся книга за один сеанс", + "pagesInSession": "{count, plural, one {# сторінка} other {# сторінок} few {# сторінок} many {# сторінок}} в одному сеансі", + "pagesInDay": "{count, plural, one {# сторінка} other {# сторінок} few {# сторінок} many {# сторінок}} за один день", + "slowBurn": "{title}, завершено за {count, plural, one {# день} few {# дні} many {# днів} other {# дня}}", + "formatsOwned": "{count, plural, one {# формат} other {# формати} few {# формати} many {# формати}} на ваших полицях", + "annotationsWithNote": "{count, plural, one {# анотація} few {# анотації} many {# анотацій} other {# анотації}} з приміткою", + "annotationsInDay": "{count, plural, one {# анотація} other {# анотацій} few {# анотацій} many {# анотацій}} За один день", + "everyStar": "Кожний рейтинг від однієї зірки до п'ятої", + "everyColour": "Колір виділеної області", + "titlePublished": "{title}, опубліковано {year}", + "booksInGenre": "{count, plural, one {# книга} other {# книг} few {# книг} many {# книг}} в одному жанрі", + "firstInSeries": "{title}, з Серії {series}", + "centuries": "Книжки від {count, plural, one {# століття} other {# століть} few {# століть} many {# століть}}", + "booksBySameAuthor": "{count, plural, one {# книга} other {# книг} few {# книг} many {# книг}} одним автором", + "decades": "Книжки від {count, plural, one {# десятиріччя} other {# десятиліть} few {# десятиліть} many {# десятиліть}}", + "shortBooks": "{count, plural, one {# коротка книга} other {# короткі книги} few {# короткі книги} many {# короткі книги}} Завершено", + "allSeasons": "Усі чотири пори року {year}", + "consistentDays": "{count, plural, one {# день} other {# днів} few {# днів} many {# днів}} від 30 хвилин або більше", + "weekendsInRow": "{count, plural, one {# вихідних} other {# вихідних} few {# вихідних} many {# вихідних}} поспіль", + "weekendHours": "{count, plural, one {# година} other {# годин} few {# годин} many {# годин}} через вихідні дані {date}", + "categoriesCovered": "{count, plural, one {# категорія} other {# категорії} few {# категорії} many {# категорії}} з досягненням", + "readingSources": "{count, plural, one {# джерело читання} other {# джерела читання} few {# джерела читання} many {# джерела читання}}", + "oneBookSources": "Одна книга прочитана {count, plural, one {# джерело} other {# Джерело} few {# Джерело} many {# Джерело}}" + }, + "records": { + "title": "Рекордна книга", + "subtitle": "Цифри за вашими медальними, так як вони стояли, коли кожен розблокований", + "value": "{value}", + "oneSession": "Одне з читання сесії", + "pagesInSession": "Сторінки в одному сеансі", + "pagesInDay": "Сторінки за один день", + "booksInWeek": "Книги за один тиждень", + "booksInMonth": "Книги в {month}", + "booksInYear": "Книжки завершили {year}", + "annotations": "Анотації", + "genresFinished": "Жанри закінчені", + "daysInRow": "Днів поспіль", + "booksInLibrary": "Книги у вашій бібліотеці" + }, + "detail": { + "categoryTierSet": "{category} · Набір тегів", + "secretHint": "Продовжуйте читати, щоб показати цей.", + "tierOf": "Рівень {earned} {total}", + "current": "Поточна версія", + "noneYet": "Ще немає", + "progress": "Прогрес", + "allTiersEarned": "Кожен отриманий рівень", + "tiers": "Рівні", + "earned": "Зароблено", + "status": "Статус", + "hidden": "Hidden", + "rarity": "Рідкість", + "category": "Категорія", + "theSet": "Множина", + "theMoment": "Момент" } }, "adminFeature": { @@ -2426,8 +4579,12 @@ "trend": "Денне читання тренду", "emptyTitle": "За цей період немає активності з читання", "noData": "Немає записаних даних для читання цього періоду.", + "sessionCount": "{count, plural, one {# сеанс} other {# сесій} few {# сесій} many {# сесій}}", "sourceNames": { "web": "Веб-читач", + "ios": "iOS додаток", + "watchos": "Apple Watch", + "android": "Android app", "koreader": "KOReader", "manual": "Вручну", "kobo": "Kobo", @@ -2505,14 +4662,47 @@ "presetClearAll": "Очистити все", "permissionGroups": { "content": "Зміст", + "podcasts": "Підкасти", "devicesAccess": "Пристрої та доступ", "email": "Ел. пошта", "administration": "Адміністрування", "notifications": "Сповіщення", - "restrictions": "Обмеження" + "restrictions": "Обмеження", + "libraryBooks": "Бібліотека і Книги", + "bookRequests": "Запити на бронювання", + "bookDock": "Книга док", + "devices": "Пристрої", + "readingIntegrations": "Інтеграції з читанням", + "emailNotifications": "Ел. пошта та повідомлення", + "libraryConfiguration": "Конфігурація бібліотеки", + "usersSecurity": "Користувачі та безпека", + "system": "Система" }, + "permissionLevels": { + "use": "Використати", + "manage": "Керування" + }, + "accountRestrictions": "Обмеження для облікового запису", + "demoRestrictedHint": "Обмежує цей рахунок в необмеженій демо версії.", "superuserTarget": "Superuser Target", "superuserTargetHint": "Обмеження вмісту не можна застосовувати до суперкористувачів.", + "superuserAccess": { + "title": "Суперкористувач", + "enabled": "Увімкнено", + "disabled": "Вимкнено", + "enabledHint": "Цей обліковий запис не обмежує доступ до сервера. Після демо, збережені дозволи, бібліотеки та обмеження будуть застосовані ще раз.", + "disabledHint": "Просування надає необмежений доступ на сервер і обходить дозволи, завдання бібліотеки та обмеження вмісту.", + "selfHint": "Ви не можете змінити власний доступ суперкористувача.", + "sharedHint": "Спільні облікові записи не можуть бути підвищено для суперкористувача.", + "promote": "Підвищити до суперкористувача", + "demote": "Видалити суперкористувач", + "promoteDialogTitle": "Підвищити до суперкористувача?", + "promoteDialogBody": "Надати необмежений доступ до сервера {name} . Їхні активні сеанси закінчаться, і вони повинні увійти знову.", + "demoteDialogTitle": "Видалити доступ суперкористувача?", + "demoteDialogBody": "Видалити необмежений доступ від {name}. Їхні збережені дозволи, бібліотеки та обмеження набудуть чинності, і вони повинні увійти знову.", + "changing": "Оновлення доступу...", + "changeError": "Не вдалося оновити доступ суперкористувача. Перезавантажте обліковий запис і повторіть спробу." + }, "noRestrictions": "Немає обмежень на вміст", "noRestrictionsHint": "Цей користувач має повний доступ до всіх книг у своїх призначених бібліотеках.", "addRestrictions": "+ Додати Обмеження вмісту", @@ -2526,6 +4716,8 @@ "includeGenresHint": "(показати тільки книги з цих жанрів)", "excludeGenres": "Виключити жанри", "excludeGenresHint": "(приховує книги з цими жанрами)", + "seeOwnRequestedBooks": "Нехай цей користувач бачить книги, які він замовив", + "seeOwnRequestedBooksHint": "Книжки, які прибули через їхню власну книгу, ігнорують правила вище. за замовчуванням - за умовчанням.", "searchTagsPlaceholder": "Пошукові теги...", "searchGenresPlaceholder": "Пошук генів...", "saving": "Збереження...", @@ -2536,8 +4728,67 @@ "updateContentFilters": "Не вдалося оновити фільтри вмісту", "emailRequired": "Електронна адреса є обов'язковою", "createSharedAccount": "Не вдалося створити спільний обліковий запис", - "createUser": "Не вдалося створити користувача" - } + "createUser": "Не вдалося створити користувача", + "nameRequired": "Потрібне повне ім'я", + "usernameRequired": "Ім'я користувача є обов'язковим" + }, + "drawerDescription": "Редагувати профіль профілю, доступ до бібліотеки, дозволи та обмеження.", + "createHint": "Нові облікові записи не мають дозволів, доки ви їх не надасте.", + "sectionsLabel": "Налаштування облікового запису", + "sections": { + "profile": "Анкета", + "libraries": "Бібліотеки", + "permissions": "Дозволи", + "restrictions": "Обмеження" + }, + "sectionSummary": { + "newAccount": "Ще не створено", + "libraries": "{selected} {total}", + "permissions": "{count, plural, =0 {Немає права} one {1 надано} other {# надано!} few {# надано!} many {# надано!}}", + "restrictionsNone": "Без ефекту", + "restrictionsContent": "Фільтри вмісту", + "restrictionsDemo": "Демо обмежено", + "restrictionsBoth": "Фільтри і демонстраційний режим" + }, + "account": "Обліковий запис", + "status": "Статус", + "statusHint": "Призупинені користувачі не можуть увійти в систему або синхронізувати пристрої.", + "signInMethod": "Вхід", + "signInMethods": { + "password": "Пароль", + "oidc": "Єдиний вхід", + "shared": "Магічне посилання" + }, + "created": "Створений", + "lockedUntil": "Заблоковано до {time}", + "lockedHint": "Занадто багато невдалих спроб входу в систему. Розблокуйте зі списку користувачів.", + "usernameFixedHint": "Імена користувачів не можуть бути змінені.", + "emailHint": "Використовується для скидання пароля та сповіщень.", + "libraryAccessHint": "Книги за межами цих бібліотек невидимі для цього користувача.", + "selectAll": "Виділити все", + "clearAll": "Очистити", + "permissionsHint": "Що дозволено робити цьому обліковому запису. Надано {granted} із {total}.", + "groupLegend": "{group}: {granted} {total} надано", + "presets": { + "label": "Попередні налаштування дозволу", + "none": "Без ефекту", + "standard": "Стандартна", + "custom": "Користувацька", + "admin": "Адмін", + "customHint": "Цей вибір не відповідає пресету." + }, + "filterPermissions": "Фільтр дозволів", + "grantedOnly": "Тільки надано", + "noPermissionMatches": "Немає дозволів, які відповідають цьому фільтру.", + "clearFilters": "Очистити фільтри", + "filteredNotice": "Фільтровано. Дозволи, які приховані зберігають їх поточні налаштування.", + "contentRestrictionsHint": "Обмежити які книги цей користувач може бачити за тегом або жанром.", + "contentRestrictionsAfterCreate": "Обмеження вмісту можуть бути встановлені після створення облікового запису.", + "unsavedChanges": "{count, plural, one {1 незбережена зміна} other {# незбережені зміни} few {# незбережені зміни} many {# незбережені зміни}}", + "libraryBookCount": "{count, plural, =0 {Жодних книг} one {1 книга} other {# книг} few {# книг} many {# книг}}", + "dangerZone": "Небезпечна зона", + "deleteUserHint": "Остаточно видалити цей обліковий запис та його дані про читання. Книги в бібліотеці не впливають на інформацію.", + "libraryReach": "Цей аккаунт може бачити {selected} з {total} книг." }, "usersPage": { "usersTitle": "Спільноти", @@ -2549,7 +4800,10 @@ "email": "Ел. пошта", "access": "Доступ", "status": "Статус", - "actions": "Дії" + "actions": "Дії", + "user": "Користувач", + "libraries": "Бібліотеки", + "lastActive": "Остання активність" }, "adminBadge": "Адмін", "permissionCount": "{count, plural, =0 {немає права} one {одного дозволу} few {# дозволу} many {# дозволу} other {# дозволу}}", @@ -2557,11 +4811,16 @@ "contentRestrictionsActive": "Обмеження вмісту активні", "statusActive": "Активний", "statusInactive": "Неактивний", + "lockedBadge": "Заблоковано", + "unlockAccount": "Розблокувати обліковий запис", + "unlockHint": "Очистити блокування входу", + "unlockAria": "Розблокувати {name}", "resetPassword": "Скинути пароль", "resetPasswordOidcHint": "Скинути паролі користувачів OIDC в своєму ідентифікаційному провайдері", "resetPasswordSharedHint": "Спільні облікові записи не мають паролів", "resetPasswordOidcHintFull": "Користувачів OIDC скидають паролі в особистого провайдера.", "resetPasswordSharedHintFull": "Загальні облікові записи не мають паролів.", + "resetPasswordDisabledHintFull": "Аутентифікація паролів вимкнена через налаштування сервера.", "deleteUserAction": "Видалити користувача", "deleteDialogTitle": "Видалити користувача?", "deleteDialogBody": "Видалити користувача \"{username}\". Цю дію не можна скасувати.", @@ -2569,7 +4828,17 @@ "errors": { "load": "Не вдалося завантажити", "deleteUser": "Не вдалося вилучити користувача", - "resetPassword": "Не вдалося створити посилання для зміни пароля" + "resetPassword": "Не вдалося створити посилання для зміни пароля", + "unlock": "Не вдалося розблокувати обліковий запис" + }, + "selfRegistration": { + "title": "Само-реєстрація", + "subtitle": "Контролювати, чи можуть відвідувачі створювати власні облікові записи.", + "label": "Дозволити самореєстрацію", + "hint": "Коли увімкнено, сторінка входу показує посилання для створення облікового запису.", + "enabledNotice": "Нові облікові записи починаються з бібліотеки за замовчуванням і не мають інших дозволів. Надайте дозвіл перед тим, як вони зможуть використовувати захищені функції.", + "loadError": "Не вдалося завантажити налаштування самореєстрації", + "saveError": "Не вдалося оновити налаштування самореєстрації" }, "defaultLibraryAccess": { "title": "Доступ до бібліотеки за замовчуванням", @@ -2598,12 +4867,66 @@ }, "pagination": { "label": "Виставлення сторінок", - "page": "Сторінка {page} з {totalPages}" + "page": "Сторінка {page} з {totalPages}", + "showing": "Показані {shown} з {total} облікових записів" }, "editUserAria": "Редагувати {name}", "resetPasswordAria": "Скинути пароль для {name}", "deleteUserAria": "Видалити {name}", - "moreActionsAria": "Додаткові дії для {name}" + "moreActionsAria": "Додаткові дії для {name}", + "headerSummary": "{count, plural, =0 {Немає облікових записів} one {# обліковий запис} other {# акаунт} few {# акаунт} many {# акаунт}} · {admins} з правами адміністратора", + "noEmail": "Адресу не вказано", + "editAccount": "Редагувати обліковий запис", + "cardMeta": "{access} · {libraries} · {lastActive}", + "accessTier": { + "superuser": "Суперкористувач", + "admin": "Адмін", + "standard": "Стандартна", + "custom": "Користувацька", + "none": "Немає доступу" + }, + "libraries": { + "all": "Всі {total}", + "some": "{granted} {total}" + }, + "statusLocked": "Заблоковано", + "status": { + "never": "Ніколи", + "neverSignedIn": "Ніколи не входив", + "defaultPassword": "Типовий пароль", + "contentFiltered": "Контент відфільтрований", + "unlocksIn": "Розблоковує {when}" + }, + "attention": { + "title": "Потребує уваги", + "count": "{count, plural, one {# обліковий запис} other {# акаунт} few {# акаунт} many {# акаунт}}", + "filter": "{count, plural, one {# потребує уваги} other {# потрібна увага} few {# потрібна увага} many {# потрібна увага}}", + "more": "{count} більше не відображається тут", + "reason": { + "locked": "{name} буде заблоковано через занадто багато невдалих входів", + "neverSignedIn": "{name} ніколи не ввійшов", + "defaultPassword": "{name} все ще використовує пароль, з яким було створено обліковий запис" + }, + "detail": { + "unlocksIn": "Відкриває автоматично {when}", + "created": "Створений {when}", + "linkExpired": "Створено {when} · Термін дії посилання для реєстрації, минув", + "linkValid": "Створено {when} · Посилання для входу дійсне до {expiry}" + }, + "action": { + "unlock": "Розблокувати", + "sendResetLink": "Скинути пароль", + "sendNewLink": "Надіслати нове посилання" + }, + "collapse": "Приховати", + "expand": "Показати" + }, + "defaults": { + "title": "Типово для нових облікових записів", + "appliesTo": "Застосовується до самостійної реєстрації та OIDC", + "startingLibraries": "Початкові бібліотеки", + "startingLibrariesHint": "Переглядач доступу надається автоматично до кожного нового облікового запису." + } } }, "annotations": { @@ -2708,6 +5031,7 @@ }, "hub": { "title": "Анотації", + "totalCount": "Усього {count}", "bookCount": "{count, plural, =0 {жодної книги} one {# книга} few {# книг} many {# книг} other {# книг}}", "noteCount": "{count, plural, =0 {Нотатки немає} one {# примітка} few {# примітки} many {# примітки} other {# примітки}}", "export": "Експорт", @@ -2727,7 +5051,16 @@ "noMatch": "Жодного виділеного підсвітки не відповідають фільтрам.", "resetFilters": "Скинути фільтри", "trashEmpty": "Кошик порожній", - "noAnnotations": "Поки що немає анотацій. Ви створюєте в Інтернеті або з’являється ваш email." + "noAnnotations": "Поки що немає анотацій. Ви створюєте в Інтернеті або з’являється ваш email.", + "noMatchHint": "Спробуйте коротшу фразу, або очистіть кольори і фільтри книг.", + "noAnnotationsBody": "Тут збираються всі ваші позначки.", + "readHere": "Прочитайте тут", + "readHereBody": "Виберіть текст у читачеві та виберіть колір.", + "syncKobo": "Sync a Kobo", + "syncKoboBody": "Відмічення, зроблені на пристрої, надходять після наступної синхронізації.", + "syncKoreader": "Синхронізувати KOReader", + "syncKoreaderBody": "Плагін відправляє анотації зі своїми позиціями.", + "goToLibrary": "Перейти до бібліотеки" }, "toast": { "movedToTrash": "Переміщено у кошик", @@ -2737,8 +5070,70 @@ "bulkTrashed": "{count, plural, =0 {Переміщено не анотацій в сміття} one {Переміщено # анотації в сміття} few {Переміщено # анотацій в сміття} many {Переміщено # анотацій в сміття} other {Переміщено # анотацій в сміття}}", "bulkRestored": "{count, plural, =0 {Відновлено не анотації} one {Відновлено # анотації} few {Відновлено # анотацій} many {Відновлено # анотацій} other {Відновлено # анотацій}}", "bulkRecolored": "{count, plural, =0 {Кольорові немає анотацій} one {Отримано # анотації} few {Отримано # анотацій} many {Отримано # анотацій} other {Отримано # анотацій}}", - "bulkRestyled": "{count, plural, =0 {Відновлено не анотації} one {Відновлено # анотації} few {Відновлено # анотацій} many {Відновлено # анотацій} other {Відновлено # анотацій}}" - } + "bulkRestyled": "{count, plural, =0 {Відновлено не анотації} one {Відновлено # анотації} few {Відновлено # анотацій} many {Відновлено # анотацій} other {Відновлено # анотацій}}", + "noteSaved": "Нотатку збережено" + }, + "railTitle": "{marks} позначки · {books} книг", + "lastTwelveMonths": "Останні 12 місяців", + "colour": "Колір", + "whereFrom": "Куди вони прийшли з", + "theShelf": "Полиця", + "devices": "Пристрої", + "allBooks": "Усі {count} книг", + "behindCount": "{count, plural, one {# позаду} other {# за це} few {# за це} many {# за це}}", + "busiestWeek": "Найгрубіший тиждень", + "longestQuiet": "Найдовша тиха розтяжка", + "mostMarked": "Найбільш відзначені", + "weekCount": "{count, plural, one {# тиждень} other {# тижнів} few {# тижнів} many {# тижнів}}", + "anchorsUnplaced": "{count, plural, one {# прив’язок не може бути поставлено} other {# не можливо розмістити якірних авторів} few {# не можливо розмістити якірних авторів} many {# не можливо розмістити якірних авторів}}", + "reviewThem": "Переглянути", + "anchorLost": "Втрачено прив’язку", + "anchorRepaired": "Відремонтовано", + "notes": "Нотатки", + "review": "Рецензія", + "viewLabel": "Група та сортування", + "views": { + "newest": "Спочатку нові", + "oldest": "Спочатку старіші", + "book": "За книгою", + "color": "За кольором", + "source": "За джерелом" + }, + "matchCount": "{shown} {total}", + "moreActions": "Більше дій", + "loadMore": "{count, plural, one {Завантажити ще 1} other {Завантажити ще #} few {Завантажити ще #} many {Завантажити ще #}}", + "openBook": "Відкрити книгу", + "noteLabel": "Примітка", + "yourNote": "Ваша записка", + "notePlaceholder": "Скажи, чому це мало значення.", + "openAtThisPage": "Відкрити на цій сторінці", + "positionAndSync": "Позиція і синхронізація", + "loadFailed": "Не вдалося завантажити виділення. Спробуйте ще раз пізніше.", + "chips": { + "dateBetween": "{from} до {to}", + "dateFrom": "З {from}", + "dateUntil": "До {to}" + }, + "activitySummary": "{count, plural, one {# підсвічування між {from} і {to}} other {# підсвічування між {from} і {to}} few {# підсвічування між {from} і {to}} many {# підсвічування між {from} і {to}}}", + "book": "Книжка", + "needsReview": "Потрібна рецензія" + }, + "sources": { + "web": "Веб", + "koreader": "KOReader", + "kobo": "Kobo" + }, + "colors": { + "yellow": "Жовтий колір", + "green": "Зелений", + "blue": "Синій", + "pink": "Рожевий", + "orange": "Помаранчевий", + "red": "Червоний", + "olive": "Оливковий", + "cyan": "Бірюзовий", + "purple": "Пурпурний", + "gray": "Сірий" } }, "audit": { @@ -2754,6 +5149,7 @@ "hideDetails": "Приховати подробиці", "refresh": "Оновити журнал аудиту", "loadError": "Не вдалося завантажити події аудиту.", + "removeFilter": "Видалити фільтр: {value}", "allActions": "Всі дії", "allEventTypes": "Всі типи подій", "allActors": "Усі актори", @@ -2787,6 +5183,7 @@ "detailAction": "Дія: {value}", "detailIp": "IP: {value}", "detailResource": "Ресурс: {value}", + "detailResourceId": "ID Ресурсу: {value}", "deletedBooks": "Видалені книги", "deletedBookDetail": "{title} (книга #{id})", "untitledBook": "Без назви", @@ -2797,6 +5194,7 @@ "search": "Пошук: {value}", "action": "Дія: {value}", "eventType": "Тип події: {value}", + "actor": "Актор: {value}", "resource": "Ресурс: {value}", "targetType": "Target type: {value}", "user": "Користувач: {value}", @@ -2829,7 +5227,13 @@ "user": "Користувач", "action": "Дія", "description": "Опис", - "ip": "Адреса IP" + "ip": "Адреса IP", + "time": "Час", + "person": "Особа", + "source": "Джерело", + "open": "Відкриті", + "network": "Мережа", + "activity": "Активність" }, "categories": { "authentication": "Автентифікація", @@ -2839,15 +5243,23 @@ "collections": "Колекції", "integrations": "Ентеграції", "settings": "Налаштування", - "other": "Інше" + "other": "Інше", + "access": "Вхід і доступ", + "requests": "Запити", + "devices": "Пристрої та електронна пошта" }, "resourceLabels": { "User": "Користувач", "Library": "Бібліотека", "Book": "Книжка", + "Podcast": "Подкаст", + "PodcastEpisode": "Подкаст-епізод", "Collection": "Колекція", "SmartScope": "Розумний обсяг", "BookDockFile": "Книга док-файлу", + "BookRequest": "Запити на бронювання", + "DownloadClient": "Завантажити клієнт", + "RequestIndexer": "Програма індексування", "Author": "Автор", "AppSettings": "Параметри програми", "Genre": "Жанр", @@ -2905,6 +5317,18 @@ "LibraryAccessRevoke": "Скасувати доступ до бібліотеки", "LibraryWriteMetadataToFiles": "Запис метаданих у файли", "LibraryBulkRename": "Перейменувати файли бібліотеки", + "LibraryRecomputeAddedAt": "Дата повернення додано", + "PodcastCreate": "Створити подкаст", + "PodcastUpdate": "Оновити подкаст", + "PodcastArchive": "Подкаст архіву", + "PodcastRestore": "Відновити подкасти", + "PodcastPurge": "Очистити подкаст", + "PodcastMerge": "Об'єднати подкастів", + "PodcastDownload": "Завантажити подкаст серію", + "PodcastDownloadRemove": "Видалити завантаження podcast", + "PodcastRetentionUpdate": "Оновити зберігання подкастів", + "PodcastOpmlImport": "Імпорт OPML podcast", + "PodcastOpmlExport": "Експортувати OPML podcast", "BookUpload": "Завантажити книгу", "BookMetadataUpdate": "Оновлення метаданих книги", "BookMetadataLocksUpdate": "Оновити блоки метаданих", @@ -2930,6 +5354,24 @@ "SmartScopeUpdate": "Оновити інтелектуальну область", "SmartScopeDelete": "Видалити розумний обсяг", "BookDockFinalize": "Завершити журнал док", + "BookRequestCreate": "Створити замовлення", + "BookRequestApprove": "Підтвердити запит на книгу", + "BookRequestReject": "Відхилити запит на книгу", + "BookRequestCancel": "Скасувати запит книги", + "BookRequestFulfill": "Запит на Фульфілову книгу", + "BookRequestGrab": "Надсилати запит на книгу завантажити клієнта", + "BookRequestImport": "Імпорт завантаження запитів на сервер", + "BookRequestRemoveDownload": "Видаляє запит на завантаження книги з її клієнта", + "BookRequestDelete": "Видалити запит на книгу", + "DownloadClientCreate": "Створити звантажений клієнт", + "DownloadClientUpdate": "Оновити завантажений клієнт", + "DownloadClientDelete": "Видалити завантажений клієнт", + "RequestIndexerCreate": "Індексатор доданий", + "RequestIndexerUpdate": "Індексор оновлено", + "RequestIndexerDelete": "Видалено джерело", + "RequestIndexerPluginInspect": "Заливка індексатора перевіряється", + "RequestIndexerPluginInstall": "Модулі індексування встановлено", + "RequestIndexerPluginRemove": "Модуль індексування видалено", "AuthorUpdate": "Оновити автора", "AuthorDelete": "Видалити автора", "AuthorMerge": "Об'єднати автори", @@ -2964,11 +5406,182 @@ "EmailRecipientGroupUpdate": "Оновити групу одержувачів", "EmailRecipientGroupDelete": "Видалити групу одержувачів", "EmailRecipientGroupMemberAdd": "Додати одержувача до групи", - "EmailRecipientGroupMemberRemove": "Видалити одержувача з групи" - } + "EmailRecipientGroupMemberRemove": "Видалити одержувача з групи", + "MaintenanceMissingBooksClean": "Очищені відсутні книги", + "MaintenanceBrokenCoversClean": "Очищена зламана обкладинка", + "MaintenanceOrphanedCoversClean": "Очищені папки обкладинки" + }, + "views": { + "label": "Показати", + "changes": "Зміни", + "signins": "Сінь", + "security": "Безпека", + "all": "Всі" + }, + "search": { + "label": "Пошук подій", + "placeholder": "Пошук людей, цілей або IP-адрес", + "placeholderShort": "Пошук подій" + }, + "range": { + "label": "Date range: {range}", + "today": "Сьогодні", + "7d": "Останні 7 днів", + "30d": "Останні 30 днів", + "all": "Все зберігаються", + "custom": "Інший діапазон", + "from": "Від", + "to": "На", + "between": "{from} до {to}", + "since": "З {date}", + "until": "До {date}", + "sinceOldest": "З {date}" + }, + "filterMenu": { + "button": "Фільтри", + "category": "Категорія", + "person": "Особа", + "findPerson": "Знайти людину", + "noPeople": "Немає відповідних людей", + "clear": "Очистити", + "done": "Виконано" + }, + "activeFilters": { + "target": "{type}: {name}", + "clearAll": "Очистити все" + }, + "securityGroups": { + "label": "Тип події безпеки", + "all": "Все", + "failed": "Не вдалося увійти", + "accounts": "Облікові записи", + "passwords": "Паролі", + "permissions": "Дозволи", + "access": "Доступ до бібліотеки", + "links": "Посилання для входу" + }, + "day": { + "today": "Сьогодні", + "yesterday": "Вчора", + "changes": "{count, plural, one {# зміна} few {# зміни} many {# змін} other {# зміни}}", + "events": "{count, plural, one {# подія} other {# події} few {# події} many {# події}}" + }, + "person": { + "system": "Система", + "deleted": "Видалений обліковий запис", + "automation": "Автоматизація" + }, + "source": { + "server": "Цей сервер", + "local": "Локальна мережа", + "internet": "Інтернет", + "job": "Фонове завдання", + "unknown": "Не записано" + }, + "target": { + "none": "No target", + "more": "+{count}", + "sinceDeleted": "Видалено з", + "withId": "{type} #{id}" + }, + "openEvent": "Відкриті деталі: {event}", + "signIns": { + "signIns": "{count, plural, one {# в реєстрації} other {# входів} few {# входів} many {# входів}}", + "signOuts": "{count, plural, one {# вихід} other {# знаків} few {# знаків} many {# знаків}}", + "failed": "{count, plural, one {# невдала спроба} other {# невдалі спроби} few {# невдалі спроби} many {# невдалі спроби}}", + "failedAs": "{count, plural, one {# провалилися як {names}} other {# провалився як {names}} few {# провалився як {names}} many {# провалився як {names}}}", + "range": "{from} – {to}", + "footer": "{count, plural, one {{events} подій входу, згорнутих у # рядок за користувачем, днем і мережею} few {{events} подій входу, згорнутих у # рядки за користувачем, днем і мережею} many {{events} подій входу, згорнутих у # рядків за користувачем, днем і мережею} other {{events} подій входу, згорнутих у # рядка за користувачем, днем і мережею}}" + }, + "pager": { + "label": "Сторінки", + "previous": "Попередня сторінка", + "next": "Наступна сторінка", + "page": "Сторінка {page}", + "changes": "{from}–{to} з {count, plural, one {# зміни} few {# змін} many {# змін} other {# зміни}}", + "events": "{from}-{to} of {count, plural, one {# подія} other {# події} few {# події} many {# події}}" + }, + "drawer": { + "description": "Детальна інформація про одну аудит подію", + "close": "Закрити", + "subtitle": "{category} · {day}, {time}", + "when": "Коли", + "person": "Особа", + "source": "Джерело", + "target": "Target", + "usernameTried": "Логін повинен бути виконано", + "deletedHere": "{type} · видалено цією подією", + "deletedSince": "{type} · З моменту видалення", + "inThisRow": "{count, plural, one {# подія в цьому ряді} other {# подій в цьому рядку} few {# подій в цьому рядку} many {# подій в цьому рядку}}", + "around": "Навколо цієї події", + "aroundHint": "{name}, 40 хвилин з обох сторін", + "aroundEmpty": "Все інше з {name} протягом 40 хвилин.", + "history": "Історія", + "historyCount": "{count, plural, one {# подія} other {# події} few {# події} many {# події}}", + "historyMeta": "{name} · {date}, {time}", + "thisEvent": "Ця подія", + "raw": "Необроблена подія", + "rawEventId": "ID події", + "rawAction": "Дія", + "rawTarget": "Target type", + "rawNote": "Нотатка сервера", + "only": "Лише {name}" + }, + "facts": { + "format": "Форматувати", + "size": "Розмір", + "download": "Звантажити", + "dockFile": "Книга док-файлу", + "rejected": "Відхилено", + "failed": "Не вдалося", + "cleaned": "Очищено", + "skipped": "Пропущені", + "remaining": "Залишилось", + "sharingLevel": "Рівень обміну", + "sharing": { + "private": "Без доступу", + "summary": "Summary", + "detailed": "Докладно" + } + }, + "retention": { + "button": "{count, plural, one {Кипнути # день} other {Кіпт протягом # днів} few {Кіпт протягом # днів} many {Кіпт протягом # днів}}", + "title": "Зберегти події", + "days": "{count, plural, one {# день} other {# дні} few {# дні} many {# дні}}", + "hint": "Старіші події видаляються опівночі.", + "hintWithOldest": "Старіші події видаляються щовечора опівночі. Найстаріша збережена подія від {date}.", + "readOnly": "Тільки люди, які можуть змінити налаштування програми можуть це.", + "saved": "{count, plural, one {Події аудиту тепер зберігаються # день.} few {Події аудиту тепер зберігаються # дні.} many {Події аудиту тепер зберігаються # днів.} other {Події аудиту тепер зберігаються # дня.}}", + "saveFailed": "Не вдалося змінити збереження довгих подій." + }, + "export": { + "button": "Експорт", + "title": "Експортувати що показано", + "hint": "Використовувати поточне перегляд, фільтри та проміжок часу.", + "csv": "CSV-файл", + "json": "JSON", + "failed": "Не вдалося експортувати журнал аудиту." + }, + "emptyFiltered": "Жодна подія не відповідає цим фільтрам." }, "auth": { "backToSignIn": "Повернутися до авторизації", + "plate": { + "exLibris": "Ex Libris" + }, + "endpaper": { + "change": "Змінити кінцевий папір", + "options": { + "seigaiha": "Хвилі", + "shippo": "Зв'язані кола", + "asanoha": "Конопляний лист", + "quatrefoil": "Кватрефолій", + "ogee": "Ogee", + "harlequin": "Harlequin", + "greekKey": "Грецький ключ", + "plain": "Рівнина" + } + }, "themePicker": { "switchToLight": "Перемкнутися на лампу", "switchToDark": "Переключити в темний", @@ -2986,7 +5599,10 @@ "confirmPassword": "Підтвердити пароль", "confirmNewPassword": "Підвердіть новий пароль", "currentPassword": "Поточний пароль", - "passwordHint": "Мін. 8 символів з верхньому регістрі, маленьким та цифрою" + "passwordHint": "Мін. 8 символів з верхньому регістрі, маленьким та цифрою", + "showPassword": "Показати пароль", + "hidePassword": "Приховати пароль", + "capsLockOn": "Caps Lock увімкнуто" }, "errors": { "generic": "Щось пішло не так. Будь ласка, спробуйте ще раз.", @@ -2998,11 +5614,17 @@ "signingIn": "Входимо...", "orDivider": "або", "forgotPassword": "Забули пароль?", + "resetPasswordAction": "Скинути пароль", "noAccount": "Не маєте облікового запису?", "signUp": "Реєстрація", + "registeredNotice": "Обліковий запис створено. Для продовження увійдіть адміністратору необхідно надати дозволи, перш ніж ви зможете отримати доступ до бібліотеки.", + "resetNotice": "Пароль оновлено. Увійдіть за допомогою нового пароля.", "errors": { "invalidCredentials": "Невірне ім'я користувача або пароль", - "tooManyAttempts": "Занадто багато спроб входу. Будь ласка, зачекайте хвилину і повторіть спробу." + "tooManyAttempts": "Занадто багато спроб входу. Будь ласка, зачекайте хвилину і повторіть спробу.", + "passwordDisabled": "Вхід паролів вимкнено. Використовуйте один вхід в оператора для входу.", + "optionsUnavailable": "Не вдалося завантажити параметри входу. Будь ласка, оновіть сторінку або зверніться до адміністратора.", + "accountLocked": "Пароль правильний, але цей обліковий запис тимчасово заблоковано через надто багато невдалих спроб входу. Спробуйте знову через {minutes, plural, one {# хвилину} few {# хвилини} many {# хвилин} other {# хвилини}} або скиньте пароль, щоб розблокувати його зараз." } }, "oidc": { @@ -3045,10 +5667,26 @@ }, "register": { "title": "Створення акаунту", + "subtitle": "Зареєструйтесь, щоб розпочати.", "createAccount": "Створити акаунт", "creatingAccount": "Створюємо акаунт...", "haveAccount": "Вже маєте акаунт?", - "signIn": "Увійти" + "signIn": "Увійти", + "errors": { + "closed": "Самостійна реєстрація не відкрита на цьому сервері.", + "taken": "Це ім'я користувача чи електронна пошта вже використовується.", + "invalid": "Перевірте введені вами деталі та повторіть спробу.", + "tooManyAttempts": "Забагато спроб. Зачекайте хвилину і повторіть спробу.", + "failed": "Не вдалося створити обліковий запис", + "username": { + "unsafeCharacters": "Ваше ім'я користувача не може містити приховані символи в тексті.", + "untrimmed": "Ваше ім'я користувача не може починатися або закінчуватися областю." + }, + "name": { + "unsafeCharacters": "Ваше ім'я не може містити приховані символи в тексті.", + "untrimmed": "Ваше ім'я не може починатися і закінчуватись простором." + } + } }, "setup": { "title": "Первинне налаштування", @@ -3086,7 +5724,15 @@ "deleteAuthor": "Видалити автора" }, "filters": { - "allLibraries": "Всі бібліотеки" + "allLibraries": "Всі бібліотеки", + "chips": { + "groupLabel": "Фільтр авторів", + "all": "Всі", + "noPortrait": "Немає портретної орієнтації", + "multipleBooks": "2+ книги", + "recentlyAdded": "Доданий цього тижня", + "noSortName": "Не вказано назву сортування" + } }, "header": { "never": "Ніколи", @@ -3107,7 +5753,8 @@ "born": "Народився", "died": "Помер", "website": "Вебсайт", - "genres": "Жанри" + "genres": "Жанри", + "influences": "Інфляції" }, "list": { "title": "Автори", @@ -3143,6 +5790,8 @@ "selectVisible": "Вибрати видимі", "refreshMetadata": "Обновити метадані", "refreshingMetadata": "Оновлення метаданих...", + "confirmRefreshCount": "{count, plural, one {Оновіть метадані для # автора?} other {Оновити метадані для # авторів?} few {Оновити метадані для # авторів?} many {Оновити метадані для # авторів?}}", + "refreshAction": "Оновити", "deleteSelected": "Видалити вибране", "deleting": "Видалення...", "exitSelection": "Вийти з вибору", @@ -3153,8 +5802,10 @@ "refreshedNoImage": "Метадані оновлено, але зображення автора не було знайдено.", "refreshFailed": "Не вдалося оновити метадані автора", "bulkRefreshPartial": "Оновлено {updated} автора(ів), {failed} не вдалося", + "bulkRefreshSuccess": "Оновлені метадані для автора Z{updated} author(s)", "bulkRefreshFailed": "Не вдалося оновити вибрані автори", - "deleteSuccess": "{count, plural, =0 {Deleted # author; affected {books} books} one {Deleted # author; affected {books} books} few {Deleted # authors; affected {books} books} many {Deleted # authors; affected {books} books} other {Deleted # authors; affected {books} books}}" + "deleteSuccess": "{count, plural, =0 {Deleted # author; affected {books} books} one {Deleted # author; affected {books} books} few {Deleted # authors; affected {books} books} many {Deleted # authors; affected {books} books} other {Deleted # authors; affected {books} books}}", + "deleteFailed": "Не вдалося видалити автора" } }, "detail": { @@ -3174,17 +5825,20 @@ "uploadImage": "Вивантажити зображення", "removing": "Видалення...", "removeImage": "Remove image", + "imageHint": "PNG/JPEG/WEBP/GIF/BMP до {size} Мб", "saving": "Збереження..." }, "merge": { "searchPlaceholder": "Пошук авторів, щоб об'єднати їх у цьому авторі", "searching": "Пошук...", "bookCount": "{count, plural, =0 {жодної книги} one {# книга} few {# книг} many {# книг} other {# книг}}", + "selectedSummary": "Вибрано авторів {count}Z), під впливом в книзі {books}Z.", "merging": "Злиття...", "mergeSelected": "Об'єднати вибрані", "confirmLabel": "Об'єднати" }, "mergeDialog": { + "title": "Об'єднати {count} авторів до \"{name}\"?", "titleFallback": "Об'єднати вибраних авторів?", "description": "Це об’єднить вибраних авторів у поточного автора і повторно зв'яже асоційовані книги. Цю дію не можна скасувати.", "descriptionEmpty": "Цю дію не можна скасувати." @@ -3222,14 +5876,38 @@ "imageUploadFailed": "Не вдалося завантажити зображення автора", "imageRemoved": "Зображення автора видалено", "imageRemoveFailed": "Не вдалося видалити зображення автора", + "mergeSuccess": "Об’єднано {count} автор(ів); вплинуло на {books} книг", "mergeFailed": "Не вдалося об'єднати авторів", "deleteSuccess": "Вилучений автора; була врахована книга {books}", "deleteFailed": "Не вдалося видалити автора" } + }, + "portrait": { + "fromTheirBook": "Прикриття однієї з їхніх книг, немає портрету в файлі" + }, + "index": { + "bookCount": "{count, plural, =0 {жодної книги} one {# книга} other {# книг} few {# книг} many {# книг}}", + "rowLabel": "{name}, {count, plural, =0 {Жодних книг} one {# книга} other {# книг} few {# книг} many {# книг}}", + "actionsFor": "Дії для {name}", + "refreshing": "Оновлення метаданих для {name}", + "deleting": "Видалення {name}" } }, "book": { "untitled": "Без назви", + "placeholder": { + "volume": "Воль. {number}", + "genre": { + "horror": "Жах", + "romance": "Романтика", + "fantasy": "Fantasy", + "scifi": "Науфі", + "mystery": "Таємниця", + "classic": "Класика", + "nonfiction": "Нефікування", + "young": "Молоді читачі" + } + }, "unknownFormat": "невідомо", "collapsedSeries": { "label": "Серія", @@ -3243,9 +5921,34 @@ "primary": "Первинний", "audiobook": "Аудіобук" }, + "formats": { + "djvu": "Документ DjVu", + "epub": "Електронна книга", + "kepub": "КЛАПУБ -книга", + "pdf": "PDF-документ", + "cbz": "Коміт CBZ", + "cbr": "Кор. комікс", + "cb7": "CB7 комік", + "mobi": "Електронна книга МОБІ", + "azw3": "AZW3 -книга", + "azw": "AZW електронна книга", + "fb2": "Книга словників", + "m4b": "Аудіобук M4B", + "mp3": "MP3 аудіо", + "m4a": "Аудіо M4A", + "opus": "Опюс звук", + "ogg": "Аудіо OGG", + "flac": "FLAC аудіо", + "readAlong": "Читання вздовж EPUB", + "primary": "Основний формат" + }, "actions": { "read": "Прочитано", "listen": "Слухати", + "startReading": "Почни читати", + "continueReading": "Продовжити читання", + "startListening": "Почати прослуховування", + "continueListening": "Продовжити прослуховування", "peek": "Пік", "quickView": "Швидкий перегляд", "details": "Подробиці", @@ -3258,7 +5961,19 @@ "addToCollection": "Додати до колекції", "setStatus": "Встановити статус", "sendViaEmail": "Надіслати через ел. пошту", - "rate": "Оцінити {star}" + "rate": "Оцінити {star}", + "openAs": "Відкрити як {format}", + "openReadAlong": "Відкрити читання разом з EPUB" + }, + "refreshMetadata": { + "success": "Метадані оновлено", + "failed": "Помилка оновлення метаданих" + }, + "coverRegeneration": { + "failed": "Не вдалося відновити обкладинку", + "bulkInProgress": "Повторне вилучення обкладинок", + "bulkFailed": "Не вдалося повторно витягти обкладинки", + "bulkCompleted": "Повторно видобуто {updated} з {processed, plural, one {# обкладинки} few {# обкладинок} many {# обкладинок} other {# обкладинки}}" }, "readStatus": { "unread": "Непрочитані", @@ -3274,7 +5989,20 @@ "action": "Звантажити", "audiobookZip": "Аудіокнига (ZIP)", "allFormatsZip": "Всі формати (ZIP)", - "primaryOnlyZip": "Первинні тільки (ZIP)" + "primaryOnlyZip": "Первинні тільки (ZIP)", + "preparing": "Підготовка завантаження...", + "preparingExport": "Підготовка {count, plural, one {# книг} other {# книг} few {# книг} many {# книг}} для завантаження...", + "progressPercent": "Завантаження {percent} з {total}", + "progressBytes": "Завантаження {transferred}", + "failed": "Не вдалося завантажити", + "exportFailed": "Експорт не вдався", + "audiolessEpub": "KOReader EPUB", + "audiolessEpubHint": "Завантаження EPUB для KOReader з аудіо-файлами вилучено", + "noAudio": "немає аудіо", + "textOnlyEpub": "Лише тексти EPUB", + "textOnlyEpubHint": "Завантажте без розповідей EPUB при збереженні якорів для читання.", + "originalNarrated": "Оригінальний EPUB з розповіддю", + "originalNarratedEpub": "Оригінальний EPUB з розповіддю" }, "sort": { "moveUp": "Посунути вгору", @@ -3282,6 +6010,7 @@ "ascending": "За зростанням", "descending": "За спаданням", "fields": { + "relevance": "Релевантність", "author": "Автор", "title": "Найменування", "series": "Серія", @@ -3302,7 +6031,8 @@ "finishedAt": "Дата завершення", "random": "Випадковий", "language": "Мова", - "metadataScore": "Оцінка метаданих" + "metadataScore": "Оцінка метаданих", + "collectionOrder": "Замовлення додано" }, "customFieldsGroup": "Додаткові поля", "customFieldFallback": "Додаткове поле", @@ -3330,18 +6060,21 @@ "collection": "Колекція", "library": "Бібліотека", "format": "Форматувати", + "fileSize": "Основний розмір файлу", "addedAt": "Додана дата", "startedAt": "Дата початку", "finishedAt": "Дата завершення", "fileAvailability": "Доступність файлу", "rating": "Рейтинг", "communityRating": "Рейтинг спільноти", + "communityRatingCount": "Кількість оглядів спільноти", "readProgress": "Хід читання", "readStatus": "Стан читання", "description": "Опис", "isbn": "ІСБН", "metadataScore": "Оцінка метаданих", "cover": "Обкладинка", + "audioCover": "Кувер Аудіобаку", "lockStatus": "Заблокувати статус", "seriesStatus": "Статус серії" }, @@ -3372,8 +6105,12 @@ "isFinished": "завершено", "isLocked": "заблокований", "isUnlocked": "розблоковано", - "isUpNext": "є наступним" + "isUpNext": "є наступним", + "isTrue": "є так", + "isFalse": "немає" }, + "customFieldsGroup": "Додаткові поля", + "customFieldFallback": "Додаткове поле", "anyProvider": "Будь-який постачальник", "communityRatingProvider": "Постачальник рейтингу спільноти", "loadingLibraries": "Завантаження бібліотеки...", @@ -3384,7 +6121,8 @@ "unit": { "days": "днів", "weeks": "тижнів", - "months": "місяців" + "months": "місяців", + "megabytes": "МБ" }, "scorePreset": { "outstanding": "Видатні", @@ -3393,6 +6131,9 @@ "poor": "Бідний" }, "scoreRangePlaceholder": "0-100", + "fileSizePlaceholder": "напр. 10", + "fileSizeValueAria": "Первинний розмір файлу в мегабайтах", + "fileSizeMaximumAria": "Максимальний розмір основного файлу в мегабайтах", "valuePlaceholder": "значення", "maxPlaceholder": "макс", "to": "по", @@ -3441,8 +6182,10 @@ "includeFilePaths": "Додати шляхи до файлу (додатково)", "includeContextMeta": "Включити контекстні метадані", "preflight": "Попереднє світло", + "scopeLabel": "Область: {summary}", "calculatingSize": "Розрахунок розміру експорту...", "estimatedSize": "Розрахунковий розмір:", + "fileLabel": "Файл: {fileName}", "exportAction": "Експорт", "selectedRowsSummary": "{count, plural, =0 {# обраний рядок} one {# вибраний рядок} few {# вибраних рядків} many {# вибраних рядків} other {# вибраних рядків}}", "matchingRowsSummary": "{count, plural, =0 {# відповідний рядок} one {# відповідний рядок} few {! # відповідні рядки} many {! # відповідні рядки} other {! # відповідні рядки}}", @@ -3511,6 +6254,7 @@ "title": "Швидкий перегляд книги", "titleFor": "Швидкий перегляд для {title}", "description": "Перегляд відомостей про книгу та виконання швидких дій.", + "openIn": "Відкрити в {provider}", "pages": "{count, plural, =0 {# сторінка} one {# сторінка} few {# сторінки} many {# сторінки} other {# сторінки}}", "primaryFile": "Основний файл", "fileNumber": "Файл #{id}", @@ -3531,6 +6275,7 @@ "loadingMoreBooks": "Завантаження інших книг", "sort": "Упорядкувати", "refreshingMetadata": "Оновлення метаданих {processed} / {total}", + "failedCount": "{count} не вдалося", "remainingCount": "Залишилося {count}", "readOnlyNotice": "Редагування таблиць вимкнено на менших екранах. Перемкніться на список або сітка для виконання швидших дій.", "fetching": "Отримання...", @@ -3553,7 +6298,8 @@ }, "header": { "previousBook": "Попередня книга", - "nextBook": "Наступна книга" + "nextBook": "Наступна книга", + "backToLibrary": "Повернутися до {library}" }, "tabs": { "details": "Подробиці", @@ -3633,7 +6379,32 @@ "saving": "Збереження...", "saveCover": "Зберегти обкладинку", "revertToOriginal": "Повернутися до оригіналу", - "regenerateCover": "Відновити обкладинку" + "regenerateCover": "Відновити обкладинку", + "slotsLabel": "Обкладинка для редагування", + "slotEbook": "Книжка", + "slotAudio": "Аудіобук", + "slotEbookName": "Книжкова обкладинка", + "slotAudioName": "Аудіокнига", + "editingEbook": "Редагування обкладинки книги", + "editingAudio": "Редагування обкладинки аудіозаписів", + "lockEbookCover": "Заблокувати обкладинку", + "unlockEbookCover": "Розблокувати обкладинку книги", + "lockAudioCover": "Заблокувати обкладинку аудіо", + "unlockAudioCover": "Відкрити обкладинку аудіобдука", + "viewLarger": "Збільшити для перегляду", + "viewLargerEbook": "Збільшити обкладинку", + "viewLargerAudio": "Перегляд більшого аудіо обкладинки", + "sourceMode": "Джерело зображення", + "urlLabel": "URL-адреса зображення", + "saveFailed": "Не вдалося зберегти обкладинку", + "revertFailed": "Не вдалося анулювати обкладинку" + }, + "coverLightbox": { + "title": "Попередній перегляд обкладинки", + "description": "Залишки повного розміру. Натисніть Екран, щоб закрити.", + "switchLabel": "Показати обкладинку", + "ebook": "Книжка", + "audio": "Аудіобук" }, "coverSearch": { "title": "Онлайн пошук", @@ -3674,18 +6445,44 @@ "cancelEditAria": "Скасувати редагування особистого огляду" }, "editCover": "Редагувати обкладинку", + "viewCover": "Подивитися більшу обкладинку", "finished": "Завершено", "resetFileProgress": "Скинути прогрес файлу", + "resetEditionProgress": "Скинути прогрес для {format}", "resetting": "Скидання...", "resetProgressConfirm": "Скинути збережений прогрес читання для {label}?", "moreCount": "+{count} більше", "untitled": "Без назви", "metadataScore": "Оцінка метаданих", "primaryFormat": "Основний формат", + "readAloudSync": { + "title": "Синхронізація між розмовними сповіщеннями", + "state": { + "enabled": "Увімкнено", + "disabled": "Вимкнено", + "unavailable": "Unavailable", + "epubCopiesOnly": "Лише EPUB копії" + }, + "enabledDescription": "Audiobook, веб-читачі, Кобо та KOReader позиції залишаються синхронізованими.", + "disabledDescription": "Кожен формат підтримує власну позицію читання.", + "epubCopiesDescription": "Положення веб-читача, Кобо та KOReader, залишайтеся синхронізованими між копіями EPUB. Додайте відповідні файли аудіо, щоб синхронізувати також аудіобу.", + "reason": { + "no_media_overlay_epub": "Потрібне читання EPUB з засобами накладання медіа.", + "no_audio_files": "Відповідність файлів автономового аудіокнигу є необхідними.", + "missing_duration": "Метадані аудіо тривалістю неповні.", + "durationMismatch": "Тригери недостатньо тісно: аудіосупровід {audio}, читання за EPUB {overlay}." + }, + "enable": "Увімкнено", + "disable": "Вимкнено", + "saving": "Збереження...", + "saveFailed": "Не вдалося оновити синхронізацію поступу \"читання\"." + }, + "openIn": "Відкрити в {provider}", "showLess": "Показати менше", "showMore": "Показати більше", "publisher": "Автор", "published": "Опубліковано", + "language": "Мова:", "pages": "Сторінки", "duration": "Тривалість", "edition": "Видання", @@ -3695,6 +6492,8 @@ "fileSize": "Розмір файлу", "library": "Бібліотека", "added": "Додано", + "cancelDateAddedEdit": "Скасувати дату додавання", + "editDateAdded": "Редагувати дату додавання", "dateStarted": "Дата початку", "saving": "Збереження...", "cancelDateStartedEdit": "Скасувати дату початку редагування", @@ -3706,16 +6505,51 @@ "synopsis": "Синопсис", "noDescription": "Опис відсутній.", "dateStartedFutureError": "Дата початку не може бути в майбутньому.", + "dateAddedRequiredError": "Додана дата є обов'язковою.", + "dateAddedFutureError": "Додана дата не може бути в майбутньому.", "dateFinishedFutureError": "Дата завершення не може бути в майбутньому.", "dateFinishedBeforeStartedError": "Дата закінчення дії має бути вказана або після початку початку.", + "dateFinishedBeforeStartedErrorWithDate": "Дата завершення має бути вказана або після початку дати ({date}).", "saveReadingDatesError": "Не вдалося зберегти дату читання.", + "saveAddedDateError": "Не вдалося зберегти дату додавання.", "koboPendingDelete": "Очікує видалення з пристрою", "koboPendingDeleteTooltip": "Кобо видалить його під час наступної синхронізації.", "koboRemovedByDevice": "Видалено пристроєм", "koboRemovedByDeviceTooltip": "Кобо повідомив про цю книгу видалено.", "koboNotSynced": "Не синхронізовано", "koboNotSyncedTooltip": "У черзі до наступного синхронізації Кобо.", - "filesNotFound": "Файли не знайдено" + "filesNotFound": "Файли не знайдено", + "filesNotFoundDescription": "Файл для цієї книги більше не знайдено на диску. Метадані все ще доступні. Запустити сканування бібліотеки для підтвердження або видалення запису.", + "resetHoldNotice": "{device} все ще має стару позицію ({percent})", + "resetHoldRelease": "Використовуйте позицію цього пристрою", + "resetHoldReleasing": "Реліз...", + "resetHoldReleaseFailed": "Не вдалося використати цю позицію. Повторіть спробу.", + "editions": "Редакції", + "editionsSummary": "{count} · {size}", + "moreFormats": "+{count} більше", + "filesOnDisk": "Файли на диску", + "yourReading": "Ваше читання", + "lastRead": "останнє прочитане {when}", + "notStarted": "не розпочато", + "noSessionsYet": "Поки що немає жодної сесії читання. Відкриття цієї книги у час читача, темп і пологість, прогрес пристрою.", + "activitySessions": "Сеанси", + "activityTime": "Час", + "activityAverage": "Сер.", + "activityProgress": "Прогрес", + "activityDayTooltip": "{day}: {minutes} хв", + "activityReached": "Досягнуто {percent}", + "durationS": "{seconds}сек", + "durationM": "{minutes} хв", + "durationHm": "{hours}h {minutes}хв", + "yourReview": "Ваш відгук", + "reviewNotWritten": "Ще не створено", + "writeReview": "Записати", + "collections": "Колекції", + "noCollections": "Без ефекту", + "onDisk": "На диску", + "detailsHeading": "Подробиці", + "percentUnderOne": "<1%", + "percentOverNinetyNine": ">99%" }, "editMetadata": { "fieldCount": "{count, plural, =0 {Немає полів} one {одне поле} few {# поля} many {# поля} other {# поля}}", @@ -3729,17 +6563,22 @@ "saveInProgress": "Збереження в процесі", "writeManualLibraryDisabled": "Запис метаданих у файл і перейменування на диск; автоматичне резервне копіювання запису вимкнено в цій бібліотеці", "writeManualTooltip": "Записати {fields} в {target} та перейменувати на диску", + "applyResult": "{skipped}, {updated}", "skippedLockedFields": "{count, plural, =0 {Не пропуск заблокованих полів} one {Пропущене по одному заблокованому полі} few {Пропущені # заблоковані поля} many {Пропущені # заблоковані поля} other {Пропущені # заблоковані поля}}", "updatedFields": "{count, plural, =0 {updated no fields} one {updated one field} few {updated # fields} many {updated # fields} other {updated # fields}}", + "wroteFieldsToFile": "Wrote {fields} в файл", "fileWriteFailedReason": "Помилка запису файлу: {reason}", "fileWriteFailed": "Не вдалося записати файл", "fileWriteSkippedReason": "Пропущений запис файлу: {reason}", "fileWriteSkipped": "Файл для запису пропущений", "metadataSaved": "Метадані збережені", "metadataWrittenToFile": "Метадані, записані в файл", + "savedButWriteFailedReason": "Метадані збережені, але запис файла не вдалося: {reason}", "savedButWriteFailed": "Метадані збережені, але запис файлу не вдалося", "savedWriteSkippedReason": "Метадані збережені, файл перезапису: {reason}", "savedWriteSkipped": "Метадані збережені, файл перезаписується", + "saveFailed": "Не вдалося зберегти зміни", + "saveFailedWithStatus": "Не вдалося зберегти зміни (HTTP {status})", "loadFromFileFailed": "Не вдалося завантажити метадані з файлу", "loadedFieldsFromFile": "{count, plural, =0 {Завантажено не поля з файлу} one {Завантажено одне поле з файлу} few {Завантажено # полів з файлу} many {Завантажено # полів з файлу} other {Завантажено # полів з файлу}}", "noMetadataInFile": "У файлі не знайдено метаданих", @@ -3747,7 +6586,9 @@ "loadFromFileTooltip": "Завантажити метадані із основного файлу книги", "writeToFile": "Запис у файл", "autoFill": "Автозаповнення", + "autoFillFailed": "Помилка автозаповнення", "fetchingMetadata": "Отримання метаданих...", + "noExistingProviderIds": "Немає метаданих: жоден з активних провайдерів правил поля не має ID, що зберігається в цій книзі.", "allFieldsLocked": "Всі поля заблоковані", "autoFillTooltip": "Автозаповнення полів, використовуючи ваші налаштування метаданих", "lockAll": "Заблокувати все", @@ -3758,6 +6599,7 @@ "fileWriteBackDetails": "Подробиці запису", "fileWriteBack": "Повернутися до змісту", "enabled": "Увімкнено", + "saveWritesMetadata": "'Save' записує метадані до {target}", "formats": "Формати", "bookFiles": "Файли книги", "supportedFields": "Підтримувані поля", @@ -3814,9 +6656,19 @@ "hideUnchanged": "Сховати без змін", "showUnchanged": "Показати без змін", "current": "Поточна версія", + "new": "Новий", "noMetadata": "Немає метаданих, доступних з цього джерела.", "noChangedFields": "Немає змінених або відсутніх полів. Використовуйте Показати без змін, щоб оглянути все.", - "applyToForm": "Застосувати до форми" + "applyToForm": "Застосувати до форми", + "secondCover": { + "audioResults": "Результати обкладинки Audiobook", + "bookResults": "Результати обкладинки альбому", + "showCover": "Показати обкладинку {provider} , {index} {total}", + "searchingAudio": "Пошук редакцій аудіо...", + "searchingBook": "Пошук у редакторі книг...", + "noAudio": "Не знайдено обкладинок звуку.", + "noBook": "Обкладинок не знайдено." + } }, "diff": { "locked": "Заблоковано", @@ -3825,15 +6677,79 @@ "newCoverAlt": "Нова обкладинка", "pickCoverFromProvider": "Вибрати від іншого постачальника", "pickCoverSource": "Вибрати джерело обкладинки", + "coverShapeHint": { + "portraitForAudio": "Картини в портреті - це квадратні обкладинки.", + "squareForBook": "Квадратний зображення. Обкладинка книги - портрет." + }, "pickFromProvider": "Вибрати від іншого постачальника", "pickSource": "Вибрати джерело", + "useNew": "Використати новий {field}", + "keepCurrent": "Зберегти поточний {field}", + "genreWriteMode": { + "label": "Як застосувати жанри", + "merge": "Об'єднати", + "replace": "Заміняти" + }, "empty": "порожньо", "showLess": "Показати менше", "showMore": "Показати більше", - "coverPreviewAlt": "Попередній перегляд обкладинки" + "coverPreviewAlt": "Попередній перегляд обкладинки", + "fields": { + "coverUrl": "Обкладинка", + "bookCover": "Книжкова обкладинка", + "audioCover": "Аудіокнига", + "title": "Найменування", + "subtitle": "Субтитри", + "authors": "Автори", + "description": "Опис", + "publisher": "Автор", + "publishedDate": "Опубліковано", + "language": "Мова:", + "pageCount": "Кількість сторінок", + "communityRating": "Рейтинг спільноти", + "seriesName": "Серія", + "seriesIndex": "Індекс серії", + "isbn13": "ІСБН-13", + "isbn10": "ІЗБН-10", + "genres": "Genres", + "narrators": "Проголосували", + "durationSeconds": "Тривалість (сек.)", + "abridged": "Полегшена", + "hardcoverEditionId": "ID версії обкладинки", + "comicIssueNumber": "Номер задачі", + "comicVolumeName": "Об'єм", + "comicPencillers": "Pencillers", + "comicInkers": "Чорнилки", + "comicColorists": "Колористи", + "comicLetterers": "Літери", + "comicCoverArtists": "Обкладинка виконавців", + "comicCharacters": "Символи", + "comicTeams": "Команди", + "comicLocations": "Місцезнаходження", + "comicStoryArcs": "Story arcs", + "sourceUrl": "URL джерела" + }, + "providerIds": { + "google": "Google Книги ID", + "goodreads": "ID хорошого товару", + "amazon": "Amazon ID", + "hardcover": "ID обкладинки", + "openLibrary": "Відкрити бібліотеку ID", + "itunes": "iTunes ID", + "audible": "Хибний ID", + "librofm": "Libro.fm ISBN", + "comicvine": "Ідентифікатор ComicVine", + "ranobedb": "RanobeDB ID", + "kobo": "Kobo ID", + "lubimyczytac": "LubimyCzytac ID", + "aladin": "Ідентифікатор Aladin" + } }, "searchDrawer": { "searchTitle": "Пошук метаданих", + "autoSearchOnOpen": "Пошук автоматично при відкритті", + "autoSearchOnOpenHint": "Використовує деталі книги наступного разу, коли відкриється ця панель. Пам’ятається для вашого облікового запису в цьому браузері.", + "searchOptions": "Параметри пошуку", "compareTitle": "Порівняти метадані", "searchSubtitle": "Знайдіть кращого провайдера для цієї книги.", "compareSubtitle": "Переглядайте відмінності та застосовуйте лише те, що ви хочете." @@ -3855,13 +6771,244 @@ "notInFieldRulesText": "{providers}. Включено в ручному пошуку з усією увімкненою, але не використовується автоматичним переглядом метаданих.", "noResults": "Нічого не знайдено", "noResultsHint": "Спробуйте налаштувати заголовок або автора", + "searchInterrupted": "Пошук не завершений", + "searchIncomplete": "Деякі результати можуть бути відсутні", + "providerTimedOut": "{provider} зайняв занадто багато часу, щоб відповісти.", + "providerThrottled": "{provider} досяг ліміту швидкості. Зачекайте хвилину і повторіть спробу.", + "providerFailed": "{provider} не вдалося отримати.", + "searchInterruptedHint": "Спробуйте ще раз або вузьте область пошуку.", "searchPrompt": "Пошук вище, а потім натисніть на результат для початку порівняння метаданих." }, + "match": { + "sheetDescription": "Пошук постачальників метаданих і вибрати, що копіювати в цю книгу.", + "mediumAudiobook": "Аудіобук", + "mediumEbook": "Електронна книга", + "query": { + "label": "Пошук метаданих", + "title": "Найменування", + "author": "Автор", + "isbn": "ІСБН", + "edited": "Запит відредаговано", + "useBookDetails": "Використати деталі книги" + }, + "sources": { + "heading": "Джерела", + "allEnabledHint": "{count, plural, one {# джерело. Кращий за ручний пошук.} other {# джерел. Кращий для ручного пошуку.} few {# джерел. Кращий для ручного пошуку.} many {# джерел. Кращий для ручного пошуку.}}", + "fieldRulesHint": "{count, plural, one {# джерело, одне автоматичне отримання використання.} other {# джерел, інші - автоматично завантажувати їх.} few {# джерел, інші - автоматично завантажувати їх.} many {# джерел, інші - автоматично завантажувати їх.}}", + "outsideRules": "{providers} {count, plural, one {включено, але не в правилах, тому автоматичне піклування його пропускає.} other {включені, але не в правилах Польща, тому автоматичне отримання їх пропустить.} few {включені, але не в правилах Польща, тому автоматичне отримання їх пропустить.} many {включені, але не в правилах Польща, тому автоматичне отримання їх пропустить.}}", + "manualOnly": "{providers}: лише ручний пошук, не використовується при автоматичному виведенні.", + "count": "{provider}: {count, plural, =0 {немає результатів} one {# результат} other {! # результат} few {! # результат} many {! # результат}}", + "searching": "{provider}: пошук", + "stopped": "{provider}: зупинено до завершення" + }, + "results": { + "label": "Матчі", + "best": "Кращі збіги", + "otherEditions": "Інші видання", + "otherBooks": "Напевно різні книги", + "stillSearching": "Все ще шукаєте", + "linked": "З’єднані", + "linkedHint": "Цей запис вже пов'язаний з книгою", + "isbn": "ISBN співпадає", + "fills": "+{count} порожній", + "fillsHint": "{count, plural, one {Заповнює # порожнє поле} other {Заповнює # порожні поля} few {Заповнює # порожні поля} many {Заповнює # порожні поля}}", + "differ": "{count} відрізняється", + "differHint": "{count, plural, one {# поля відрізняються від книги} other {# поля відрізняються від книги} few {# поля відрізняються від книги} many {# поля відрізняються від книги}}", + "inSync": "Синхронізація", + "inSyncHint": "Ніщо з цього не змінило б книгу", + "differentAuthor": "Інший автор", + "titleDiffers": "Різноманітні назви", + "sparse": "Проаналізувати", + "sparseHint": "{count, plural, one {Заповнено тільки # поле} other {Лише # поле заповнено} few {Лише # поле заповнено} many {Лише # поле заповнено}}", + "staged": "{count, plural, one {З цього результату підготовлено # зміну} few {З цього результату підготовлено # зміни} many {З цього результату підготовлено # змін} other {З цього результату підготовлено # зміни}}", + "noMatches": "Для цього запиту немає збігів", + "noMatchesHint": "{count, plural, one {Джерело не відповідає нічого} other {# джерела відповіли ні з чим.} few {# джерела відповіли ні з чим.} many {# джерела відповіли ні з чим.}} Вивантажте пошук і спробуйте знову.", + "searchTitleOnly": "Шукати тільки в назві", + "prompt": "Введіть назву або ISBN для пошуку.", + "mayBeMissing": "Результати з неї можуть бути відсутні.", + "retry": "Повторити спробу {provider}", + "pages": "{count, plural, one {# сторінка} other {# сторінок} few {# сторінок} many {# сторінок}}", + "fetched": "Відібрано" + }, + "tier": { + "strong": "Сильний матч", + "possible": "Можливий збіг", + "weak": "Неймовірний збіг" + }, + "compare": { + "label": "Порівняти", + "backToMatches": "Повернутися до матчів", + "previous": "Попередній результат", + "next": "Наступний результат", + "position": "{index} {total}", + "viewOn": "Переглянути на {provider}", + "linkedToBook": "Пов'язано з цією книжкою", + "sameTitleAuthor": "Назва та автор", + "streaming": "Показаний найкращий матч до цих пір. Ще чекають на {providers}.", + "rows": "Рядки", + "differences": "Відмінності", + "allFields": "Всі поля", + "fillEmpty": "{count, plural, =0 {Немає порожніх полів} one {Заповніть # порожньо} other {Заповніть # порожні} few {Заповніть # порожні} many {Заповніть # порожні}}", + "takeAll": "{count, plural, =0 {Нічого не використовувати} one {Використовуйте #} other {Застосовуйте всі #} few {Застосовуйте всі #} many {Застосовуйте всі #}}", + "more": "Більше дій", + "clearAll": "Очистити всі піки", + "clearAllHint": "Повернутися до поточних значень у книзі.", + "field": "Поле", + "pickTitle": "Виберіть збіг для порівняння", + "pickHint": "Виберіть результат. Її поля збігаються з книгою, щоб ви могли зберегти або замінити кожну.", + "noneTitle": "Поки що нічого порівнювати", + "noneHint": "Коли пошук знаходить збіги, тут відкривається найкращий із того, що {title} має сьогодні.", + "allMatch": "Кожне поле відповідає книзі. Перемкніться на всі поля, щоб їх бачити.", + "toReview": "{count, plural, =0 {Немає чого переглядати} one {# на перегляд} few {# на перегляд} many {# на перегляд} other {# на перегляд}}", + "stagedInSection": "{count} індексовано" + }, + "sections": { + "identity": "Тотожність", + "description": "Опис", + "publication": "Публікація", + "series": "Серія", + "genres": "Genres", + "comics": "Комікси", + "identifiers": "Ідентифікатори", + "ratings": "Рейтинг спільноти" + }, + "kind": { + "fill": "Порожні заповнення", + "change": "Дифери", + "same": "Та ж", + "missing": "Не надано" + }, + "minor": { + "reordered": "Повторне замовлення", + "formatting": "Тільки форматування", + "punctuation": "Пунктуація", + "capitalization": "Капіталізація", + "yearOnly": "Тільки рік", + "addsDay": "Додає день", + "languageCode": "Така ж мова", + "ratingCount": "Тільки" + }, + "decision": { + "keep": "Донжон", + "use": "Використати", + "merge": "Об'єднати", + "replace": "Заміняти", + "alreadyMatches": "Вже збіги", + "nothingToApply": "Немає що застосовувати", + "lockedHint": "Розблокуйте його в редакторі, щоб змінити його.", + "usingFrom": "Використання значення від", + "switchTo": "Перейти на {provider}" + }, + "value": { + "empty": "Порожньо", + "notProvided": "Не надано", + "showAll": "Показати всі слова {count}", + "otherValues": "{count, plural, one {# інше значення} other {# інші значення} few {# інші значення} many {# інші значення}}", + "otherValuesHeading": "{field} з інших результатів", + "otherValuesHint": "Вибір однієї стадії для цього поля", + "sameAsCurrent": "Так само, як і поточний", + "useThis": "Використати це", + "using": "Використання" + }, + "providerRating": "Оцінка {provider}", + "cover": { + "slotAudio": "Слот аудіобкура, квадратний", + "slotBook": "Книжковий слот, портрет", + "current": "Поточна версія", + "staged": "Проіндексовано", + "size": "{width} × {height}", + "fits": "Розміщує поле", + "portraitInSquare": "Портрет: панель букв", + "squareInPortrait": "Квадрат: letterboxed", + "broken": "Вигляд пошкоджений", + "unknown": "Фігура невідома", + "fitShort": "Фіти", + "portraitShort": "Вертикальна орієнтація", + "squareShort": "Квадрат", + "brokenShort": "Пошкоджений", + "noCover": "Обкрити в цьому результаті немає", + "noCurrent": "Поки що немає покриття", + "strip": "Коханці з відповідних результатів", + "stripMeta": "{count, plural, one {# обкладинка} few {# обкладинки} many {# обкладинок} other {# обкладинки}}, найвідповідніша спочатку", + "choose": "Оберіть обкладинку", + "preview": "Попередній перегляд обкладинок на весь екран", + "previewTitle": "Поруч із шарами", + "previewDescription": "Поточна обкладинка біля тієї, що замінить її.", + "choice": "Обкладинка {provider}", + "choiceSized": "{provider} покриття, {width} by {height}", + "using": "Використання" + }, + "footer": { + "changes": "{count, plural, one {# зміна} few {# зміни} many {# змін} other {# зміни}}", + "from": "від", + "nothingStaged": "Нічого не індексовано. Виберіть на полі чи виберіть обкладинку.", + "nothingStagedShort": "Нічого не проіндексовано", + "formHint": "Заповнює форму редагування. Збережіть там, щоб залишити її.", + "fileHint": "Зберігається в метадані цього файлу.", + "apply": "{count, plural, =0 {Застосувати} one {Застосувати # зміну} few {Застосувати # зміни} many {Застосувати # змін} other {Застосувати # зміни}}", + "stagedHeading": "Розміщена для форми", + "clearAll": "Очистити все", + "undo": "Скасувати {field}", + "merged": "об’єднано", + "live": "{count, plural, =0 {Немає підготовлених змін} one {Підготовлено # зміну} few {Підготовлено # зміни} many {Підготовлено # змін} other {Підготовлено # зміни}}" + }, + "keyboard": { + "title": "Гарячі клавіші", + "results": "Попередній або наступний результат", + "fields": "Перемістити між полями", + "toggle": "Зберегти або використати поле", + "search": "Редагувати пошук", + "close": "Закрити меню" + } + }, "writeAndRename": "Записати у файл і перейменувати", - "writeAndRenameShort": "Записати та перейменувати" + "writeAndRenameShort": "Записати та перейменувати", + "identityCard": "Тотожність", + "catalogCard": "Каталог", + "sourceCard": "Джерело", + "score": "Рахунок", + "scoreTooltip": "Метадані {score} з 100", + "emptyFields": "{count, plural, one {Порожнє поле} other {Порожні поля} few {Порожні поля} many {Порожні поля}}", + "emptyFieldsCount": "{count, plural, one {# порожнє поле} other {# порожні поля} few {# порожні поля} many {# порожні поля}}", + "emptyFieldsHeading": "Пусті поля метаданих", + "emptyFieldsTooltip": "Ще не загублено: {fields}. Пошук в Інтернеті, щоб знайти їх.", + "libraryRow": "Бібліотека", + "primaryRow": "Первинний", + "writeBackRow": "Назад", + "writeBackOff": "Вимкнено", + "lastWrittenRow": "Остання писка", + "neverWritten": "Ніколи", + "fileCount": "{count, plural, =0 {Немає файлів} one {один файл} other {# файли} few {# файли} many {# файли}}", + "unknownFormat": "Не вказано" }, "files": { "title": "Файли книги", + "stats": { + "files": "Файли", + "total": "Загальна сума замовлення", + "runtime": "Тривалість", + "formats": "Формати" + }, + "filesHeading": "Файли", + "allPresent": "Усі присутні", + "groupedByReader": "групування через читач", + "thisFile": "Цей файл", + "writeBackShort": "Назад", + "fieldsSet": "Набір {filled} / {total}", + "writtenSummary": "{fields} та {count, plural, one {Ще # поле} other {Ще # поля} few {Ще # поля} many {Ще # поля}} Записуються в {format}.", + "writtenSummaryAll": "{fields} записуються в {format}.", + "writtenNothing": "Жоден з доступних для запису полів {total} ще не має значення.", + "writeBackOff": "Повернення на запис знято для цієї книги.", + "editMetadata": "Редагувати метадані", + "showAllTracks": "Показати всі", + "collapseTracks": "Згорнути", + "moreTracks": "{count, plural, one {Ще # доріжка} other {Ще # треків} few {Ще # треків} many {Ще # треків}}", + "tracksRolled": "{count, plural, one {# доріжка} other {# пісень} few {# пісень} many {# пісень}}", + "fileDetails": "Подробиці про файл", + "openDetails": "Відкрити подробиці про файл", + "closeDetails": "Закрити подробиці про файл", + "trackFrom": "Маршрут {track} з {total}з {time}", + "throughCopy": "Ви {percent} через цю копію", "fileCount": "{count, plural, =0 {Немає файлів} one {# файл} few {# файл} many {# файл} other {# файл}}", "synced": "Синхронізовано {time}", "sortAria": "Сортування файлів", @@ -3909,9 +7056,102 @@ }, "saving": "Збереження...", "deleteModal": { - "title": "Видалити файл?" + "title": "Видалити файл?", + "description": "Ви впевнені, що хочете видалити \"{filename}\"? Цю дію не можна скасувати." }, - "deleting": "Видалення..." + "deleting": "Видалення...", + "folderAria": "Розташування теки", + "folderContents": "Вміст папки", + "inspectorAria": "Вибраний файл", + "libraryRoot": "корінь бібліотеки", + "onDisk": "На диску", + "missing": "Зниклі", + "backToFolder": "Назад до папки", + "copyPath": "Копіювати повний шлях", + "pathCopied": "Шлях скопійований в буфер обміну", + "resume": "Поновити", + "audiobook": "Аудіобук", + "writeTarget": "Write target", + "notWritten": { + "formatNotSupported": "Не написано: непідтримуваний формат", + "formatDisabled": "Не написано: формат вимкнено", + "fileExceedsSizeLimit": "Не написано: обмеження на розмір", + "notContentFile": "Не написано: не є контентом" + }, + "enabled": "Увімкнено", + "disabled": "Вимкнено", + "notSet": "не встановлено", + "sortAdded": "Додано", + "formatCount": "{count, plural, one {# формат} other {# формати} few {# формати} many {# формати}}", + "trackCount": "{count, plural, one {# доріжка} other {# пісень} few {# пісень} many {# пісень}}", + "formatsInFolder": "{count, plural, one {# формат тут} other {# формати тут} few {# формати тут} many {# формати тут}}", + "compositionAria": "Поділитися розміром папки у форматах", + "percentRead": "{percent} прочитано", + "trackOf": "Трек {track} із {total}", + "groups": { + "ebook": "Електронна книга", + "document": "Документ", + "comic": "Комікс", + "audio": "Аудіо", + "extras": "Extras" + }, + "roles": { + "primary": "Первинний", + "content": "Альтернативний", + "supplement": "Додаткові", + "cover": "Обкладинка" + }, + "reader": { + "none": "Немає читача", + "ebook": "Електронний читель", + "document": "Читач PDF", + "comic": "Комікс читач", + "audio": "Аудіо-плеєр" + }, + "spec": { + "format": "Форматувати", + "role": "Роль", + "size": "Розмір", + "length": "Довжина", + "added": "Додано", + "indexed": "Індексовано", + "opensIn": "Відкрито в", + "writeBack": "Назад", + "track": "Доріжка", + "targetFile": "Кінцевий файл", + "notWritten": "Не записано" + }, + "duration": { + "hoursMinutes": "{hours}h {minutes}хв", + "minutes": "{minutes} хв", + "minutesSeconds": "{minutes}m {seconds}s", + "seconds": "{seconds}сек" + }, + "positionHeading": "Ваша позиція в цій копії", + "copiesStarted": "{started} з {total} копій запущено", + "nothingStarted": "Нічого не запустилося", + "throughFile": "{percent} через цей файл", + "notOpened": "Ще не відкрито", + "lastRead": "Останній прочитаний {time}", + "noPosition": "Немає збереженої позиції читання", + "trackPositionHeading": "Де знаходиться ця композиція", + "totalRuntime": "{duration} всього", + "startsAt": "Початок в {time}", + "trackLength": "Тривалість: {duration}", + "switchFileHeading": "Перемкнути файл", + "writeBackHeading": "Записано у цей файл", + "fieldsWithValue": "{filled} із {total} полів мають значення", + "lastRun": "Останній запуск {time}", + "neverRun": "Ніколи не запускати", + "historyHeading": "Історія", + "timeline": { + "written": "Метадані записані в {format}", + "writtenMany": "Метадані записані в {format} ×{count}", + "writeDetail": "{count, plural, one {# поле} other {# поля} few {# поля} many {# поля}} · {ms}мс · {trigger}", + "failed": "Помилка запису", + "indexed": "{name} проіндексовано", + "indexedMany": "Проіндексовано файлів {count} {format}" + } }, "highlights": { "note": { @@ -3945,9 +7185,247 @@ "hint": "Виберіть текст під час читання для виділення" }, "uncategorized": "Без категорії", - "paginationUnit": "відмітини" + "paginationUnit": "відмітини", + "rail": { + "title": "Marks", + "unit": "{count, plural, one {Виділіть} other {Підсвічуйте} few {Підсвічуйте} many {Підсвічуйте}}", + "withNotes": "носити нотатку", + "chaptersMarked": "розділів позначено", + "ofChaptersMarked": "розділів {total} позначено", + "colour": "Колір", + "showOnly": "Показати лише {colour}", + "source": "Куди вони прийшли з", + "health": "Покращення здоров’я", + "needsAttention": "{count, plural, one {# потребує уваги} other {# потрібна увага} few {# потрібна увага} many {# потрібна увага}}", + "anchorLost": "{count, plural, one {одна втратила прив’язку після зміни файлу} few {# втратили прив’язку після зміни файлу} many {# втратили прив’язку після зміни файлу} other {# втратили прив’язку після зміни файлу}}", + "reAnchored": "{count, plural, one {одну було автоматично перевантажено} other {# було повторно закріплено автоматично} few {# було повторно закріплено автоматично} many {# було повторно закріплено автоматично}}", + "reviewPositions": "Позиції у листі", + "span": "Спан", + "firstMark": "Перша позначка", + "lastMark": "Остання позначка", + "markingDays": "Позначені дні", + "exportCount": "Експорт {count}" + }, + "row": { + "select": "Оберіть цю виділенну", + "showMore": "Показати більше", + "showLess": "Показати менше", + "note": "Примітка", + "addNote": "Додати нотатку", + "page": "p.{page}", + "anchorLost": "Втрачено прив’язку", + "reAnchored": "Перекладено" + }, + "stream": { + "title": "Потік", + "searchPlaceholder": "Пошук підсвічування та нотаток {count}", + "all": "Всі", + "notes": "Нотатки", + "review": "Рецензія", + "density": "Переключення між комфортними і компактними рядками", + "matchCount": "{shown} від {total} матчу", + "textChip": "текст “{query}”", + "marks": "{count, plural, one {# марка} other {# марки} few {# марки} many {# марки}}", + "loadingMore": "Завантажити більше" + }, + "bulk": { + "selected": "Вибрано {count}", + "selectAll": "Вибрати всі {count}", + "recolour": "Скасувати вибір", + "recolourTo": "Повернення в {colour}", + "clear": "Очистити виділене" + }, + "index": { + "title": "Покажчик", + "groupBy": "Групувати потік за", + "byChapter": "Глави", + "byColour": "Кольори", + "byDay": "Днів" + }, + "activity": { + "title": "Позначення активності", + "days": "{count, plural, one {# день} other {# дні} few {# дні} many {# дні}}", + "showAll": "Показати всі {count} днів", + "showFewer": "Показати менше" + }, + "inspector": { + "title": "Деталі", + "back": "Повернутися до індексу", + "counter": "Позначити {position} із {total}", + "previous": "Попередня позначка", + "next": "Наступна позначка", + "notePrompt": "Чому це було важливо? Нотатки доступні для пошуку та подорожують експортом.", + "style": "Стиль", + "position": "Позиція і синхронізація", + "openHere": "Відкрити тут" + }, + "band": { + "title": "Де знаки", + "subtitle": "кожен відмічений розділ в порядку читання, який ви позначили", + "barTitle": "{chapter}, {count} marks", + "start": "Старт", + "densest": "Денсст", + "marks": "{count, plural, one {# марка} other {# марки} few {# марки} many {# марки}}", + "longestGap": "Найдовший біг без позначки", + "chapters": "{count, plural, one {# розділ} few {# розділи} many {# розділів} other {# розділу}}", + "end": "Кінець" + }, + "emptyStage": { + "title": "Ще немає виділень в {title}", + "body": "Відмітини приходять з трьох місць, а ця сторінка збирає їх усіх за один хрест.", + "openReader": "Відкрити читач", + "web": { + "title": "Прочитайте його тут", + "body": "Виберіть текст у вбудованому читанці та виберіть колір." + }, + "kobo": { + "title": "Sync a Kobo", + "body": "Підсвічення, що показане на пристрої при наступній синхронізації." + }, + "koreader": { + "title": "Синхронізувати KOReader", + "body": "Плагін задає анотації з певними позиціями." + } + }, + "shortcuts": { + "title": "Keyboard", + "description": "Гарячі клавіші для списку підсвічень.", + "move": "Наступний / попередній відмітку", + "open": "Відкрити інспектор", + "back": "Повернутися до індексу", + "search": "Пошук", + "note": "Напишіть записку", + "recolour": "Відкидання", + "select": "Оберіть цю позначку", + "regroup": "Перегруповувати потік", + "copy": "Скопіювати цитату", + "reader": "Відкрити в читачі" + }, + "railTitle": "Знаки {marks} · {chapters}", + "whenMarked": "Позначені", + "chapters": "Глави", + "noChapter": "Без розділу", + "views": { + "position": "У читанні замовлення", + "newest": "Спочатку нові", + "oldest": "Спочатку старіші", + "colour": "За кольором", + "source": "За джерелом" + } }, "readingLog": { + "resetReadingState": "Скинути статус читання", + "vitals": { + "aria": "Підсумок читання", + "notSet": "Не задано", + "started": "Розпочато", + "finished": "Завершено", + "editStarted": "Відредагуйте дату, коли ви почали цю книгу", + "editFinished": "Відредагуйте дату завершення цієї книги", + "totalTime": "Загальний час", + "sessions": "Сеанси", + "avgSession": "Середня сесія", + "activeDays": "Активні дні", + "activeDaysOf": "{active} {total}", + "pace": "Темп", + "pacePerHour": "{percent}%/год", + "lastRead": "Останні прочитані", + "whereYouRead": "Де ти прочитала", + "addSession": "Додати сесію", + "durationHm": "{hours}h {minutes}хв", + "durationM": "{minutes} хв", + "durationS": "{seconds}сек" + }, + "ledger": { + "title": "Сеанси", + "none": "нічого", + "colDay": "День", + "colTime": "Час", + "colLength": "Довжина", + "colChange": "Змінити", + "colPosition": "Позиція в книзі", + "colReached": "Досягнено", + "colSource": "Джерело", + "colFormat": "Форматувати", + "gapDays": "{count, plural, one {# день, не читаючи} other {# днів без читання} few {# днів без читання} many {# днів без читання}}", + "attemptBegan": "Спроба {index} розпочалася", + "attemptOutsideAny": "Зовні будь-які спроби", + "empty": "Поки що сесій не записано", + "emptyHint": "Відкрити книгу в читанні, синхронізувати пристрій або додати сесію вручну." + }, + "attempts": { + "title": "Спроби", + "none": "нічого", + "ordinal": "Спроба {index}", + "addPast": "Додати минулу спробу", + "reread": "Рерад", + "rereadPrompt": "Почати нову спробу читання?", + "rereadResetProgress": "Скидання позиції читання до початку. Синхронізовані пристрої можуть отримати це скидання.", + "rereadConfirm": "Розпочати речитель", + "fieldStarted": "Розпочато", + "fieldEnded": "Завершено", + "fieldOutcome": "Результат", + "outcome": { + "completed": "Завершені", + "skimmed": "Скіммед", + "abandoned": "Покинутий", + "inProgress": "Обробка" + }, + "spanRange": "{from} до {to}", + "spanSince": "з {from}", + "spanEnded": "завершено {to}", + "spanUnknown": "Не записано жодної дати", + "sessionCount": "{count, plural, one {# сеанс} other {# сесій} few {# сесій} many {# сесій}}", + "endBeforeStart": "Кінцева дата має бути на або після дати початку.", + "editAria": "Редагування цієї спроби", + "deleteAria": "Видалити цю спробу", + "cancelDeleteAria": "Скасувати видалення цієї спроби", + "confirmDeleteAria": "Підтвердьте видалення цієї спроби", + "empty": "Немає спроб", + "emptyHint": "Запустити rerad, або додати спробу до того, як вона існувала." + }, + "records": { + "title": "Записи", + "longestSession": "Найдовша сесія", + "bestDay": "Найкращий день", + "longestStreak": "Найдовша серія", + "streakDays": "{count, plural, one {# день} other {# дні} few {# дні} many {# дні}}", + "pace": "Темп читання", + "jumpedBack": "Повернення з переходом", + "jumpedBackTimes": "{count, plural, one {# час} other {# разів} few {# разів} many {# разів}}", + "firstOpened": "Вперше відкрито", + "empty": "Записи з'являються після того, як у цій книзі є сеанси." + }, + "band": { + "curve": "Крива", + "trace": "Слідкування", + "switchAria": "Подання графіків", + "curveTitle": "Прогрес більше часу", + "traceTitle": "Де ти був у книжці", + "curveSubDays": "{active} активних днів через {total}", + "curveSubSitting": "один сеанс за сеансом", + "traceSub": "кожен бар це розтягнути по одному сеансу покритому", + "traceSubWithBacktracks": "{count, plural, one {кожен бар на одну сесію, # стрибнув назад} other {кожен бар це одна сестра, # стрибків назад} few {кожен бар це одна сестра, # стрибків назад} many {кожен бар це одна сестра, # стрибків назад}}", + "legendPosition": "Позиція досягнута", + "legendMinutes": "Хвилин прочитано", + "legendBacktrack": "Повернення з переходом", + "traceEmpty": "Поки що сліди відсутні", + "traceEmptyHint": "Після існування сесії це показує розтягнення книги кожне покрите, і де ви подвоїлися назад.", + "tooltipCovered": "Покрито від {from}% до {to}%", + "tooltipMinutes": "{minutes} хв" + }, + "emptyStage": { + "title": "Поки що нічого не записано для цієї книги", + "description": "Журнал читання побудований з сесій. BookOrbit записує один кожен раз, коли ви читаєте веб-читач і піднімає решту з пристроїв, які ви синхронізуєте.", + "readerTitle": "Прочитайте його тут", + "readerBody": "Кожну хвилину у книжковому читачі автоматично увійшли.", + "koreaderTitle": "Синхронізувати KOReader", + "koreaderBody": "Плагін відштовхує кожний вихід, з сторінкою, яку ви досягли.", + "koboTitle": "Sync a Kobo", + "koboBody": "Підключіть пристрій до нього і BookOrbit читає власний лічильник читання.", + "addSession": "Додати сесію вручну", + "recordPast": "Записати минуле читання" + }, "moreActionsAria": "Додаткові дії для читання журналу", "export": { "button": "Експорт" @@ -3997,6 +7475,7 @@ "startFuture": "Дата початку не може бути в майбутньому.", "finishFuture": "Дата закінчення не може бути в майбутньому.", "finishBeforeStart": "Дата завершення має бути на або після дати початку.", + "finishBeforeStartWithDate": "Дата завершення має бути на або після дати початку ({date}).", "saveFailed": "Не вдалося зберегти дату читання." }, "eta": { @@ -4050,6 +7529,8 @@ "table": { "title": "Сеанси", "sourceWeb": "Веб", + "sourceIos": "iOS додаток", + "sourceWatchos": "Apple Watch", "sourceManual": "Вручну", "colDate": "Дата", "colDateMobile": "Дата", @@ -4059,6 +7540,7 @@ "colProgressChangeMobile": "Дельта", "colEndProgress": "Завершення прогресу", "colEndProgressMobile": "Кінець", + "jumpToProgress": "Перейти до {progress}%", "empty": "Жодних сесій прочитання ще не записано.", "emptyHint": "Додайте сесію, щоб почати створювати історію читання цієї книги.", "colPace": "Темп", @@ -4107,7 +7589,11 @@ "moveUp": "Посунути вгору", "moveDown": "Посунути вниз", "removeSeries": "Видалити послідовність", - "totalPlaceholder": "з" + "seriesIndexLabel": "Позиція в серії", + "invalidSeriesIndex": "Введіть цифри з максимум однією десятковою точкою, наприклад 5.10.", + "totalLabel": "Книги в серії", + "totalPlaceholder": "з", + "totalHint": "Загальна кількість книг з цієї серії. Поширюється з усіма, хто має цю серію." } }, "table": { @@ -4127,6 +7613,15 @@ "chips": { "addPlaceholder": "Додати..." }, + "quickFilter": { + "presentFiles": "Фільтрувати за наявністю файлів", + "missingFiles": "Фільтрувати за відсутніми файлами", + "withCovers": "Фільтр книг з обкладинкою", + "missingCovers": "Фільтр в книгах немає обкладинок", + "missingAudioCovers": "Фільтр у книгах відсутні обкладинки аудіо", + "withValues": "Фільтр для рядків з значеннями", + "emptyRows": "Фільтрувати за порожніми рядками" + }, "cover": { "previewDescription": "Попередній перегляд обкладинки книги", "editDescription": "Редагувати обкладинку", @@ -4173,6 +7668,8 @@ "read": { "play": "Відтворити", "read": "Прочитано", + "readFormat": "Читати Z{format}", + "playFormat": "Грати {format}", "primary": "Первинний", "peekFormat": "Peek {format}", "chooseFormat": "Виберіть формат читання чи відтворення", @@ -4182,6 +7679,7 @@ "unread": "Непрочитані" }, "series": { + "seriesRow": "Ряд серії", "bookCount": "{count, plural, =0 {(no books)} one {(# book)} few {(# books)} many {(# books)} other {(# books)}}", "readOfCount": "{read} з {total} прочитаних" }, @@ -4191,6 +7689,8 @@ }, "move": { "title": "{count, plural, one {Move # book} few {Move # books} many {Move # books} other {Move # books}}", + "subtitle": "Файли будуть переміщені на диск в бібліотеку призначення. Це може змінити, хто може бачити ці книжки.", + "searchPlaceholder": "Бібліотеки пошуку", "currentLibrary": "Поточний", "folderCount": "{count, plural, one {# folder} few {# folders} many {# folders} other {# folders}}", "continue": "Продовжити", @@ -4198,16 +7698,56 @@ "confirm": "{count, plural, one {Move # book} few {Move # books} many {Move # books} other {Move # books}}", "action": "Перемістити в бібліотеку", "review": { - "collisions": "{count, plural, one {# name conflict} few {# name conflicts} many {# name conflicts} other {# name conflicts}}" + "ready": "{count} готовий", + "collisions": "{count, plural, one {# name conflict} few {# name conflicts} many {# name conflicts} other {# name conflicts}}", + "ineligible": "{count} не може перемістити", + "alreadyThere": "{count} вже є", + "collisionsHeading": "Конфлікти імен", + "ineligibleHeading": "Не можна перемістити", + "moreCollisions": "та {count} більше" }, "policy": { + "suggested": "Використати запропоновані", "keep_both": "Залишити обидва", "merge": "Об'єднати", "skip": "Пропустити" }, "collision": { "folder_path": "Книга вже використовує ім'я цієї папки", - "file_path": "Файл вже використовує цей шлях" + "file_path": "Файл вже використовує цей шлях", + "hash_duplicate": "Ідентична копія вже знаходиться в цій бібліотеці" + }, + "ineligible": { + "book_not_present": "Відсутні файли для цієї книги", + "no_content_file": "Ця книга не має читуваного файлу", + "multi_file_target_per_file": "Місце призначення зберігає один файл в книжці, а в цій книзі містяться файли {detail}", + "no_source_access": "Ви не можете редагувати бібліотеку, в якій ця книга присутня", + "pattern_unresolved": "Вихідна бібліотека не має придатного зразка іменування", + "path_too_long": "Шлях призначення буде занадто довгим", + "path_outside_target_root": "Шлях призначення буде знаходитися за межами папки бібліотеки" + }, + "warning": { + "accessLoss": "{user} більше не бачитиме {count} цих книг", + "koboImpact": "{count} книг залишать Kobo користувача {user} під час наступної синхронізації", + "layout": { + "wrap_into_folder": "Кожну {count} книг буде розміщено в окремій папці", + "dissolve_folder": "Папки книг {count} будуть розпущені в одних файлах" + }, + "crossDevice": "Файли перемістяться на інший диск, тому вони копіюються, перевірено, потім видалені." + }, + "progress": { + "label": "Перенесення книг до {library}", + "failed": "{count} не вдалося" + }, + "done": { + "summary": "Переміщення книг {count} до {library}", + "merged": "{count} об’єднано з копіями вже там", + "skipped": "Пропущено {count}", + "failed": "{count} не вдалося" + }, + "toast": { + "success": "Переміщення книг {count} до {library}", + "partial": "Не вдалося перемістити {moved} книги, {failed}" } } }, @@ -4247,6 +7787,7 @@ "paused": "Призупинено", "remaining": "Залишилося {count}", "processing": "Обробка {count}", + "failed": "{count} не вдалося", "rateLimited": "Обмежена ставка {count}" }, "report": { @@ -4272,13 +7813,15 @@ "failedItemsRequeued": "Невдала спроба елементів", "bookComplete": "Метадані завершено - змінено {done} книг", "bookDoneWithFailures": "Метадані зроблено - {done} оброблений, {failed} невдалий", - "authorComplete": "Збагачення автора завершено - змінилося авторів {done}" + "authorComplete": "Збагачення автора завершено - змінилося авторів {done}", + "authorDoneWithFailures": "Збагачення автора - оброблено {done} , {failed} не вдалося" } }, "bookDock": { "apply": "Прийняти", "done": "Виконано", "discard": "Відкинути", + "deselect": "Зняти виділення", "finalize": "Завершення", "rescan": "Повторне сканування", "uploadAction": "Вивантажити", @@ -4288,11 +7831,19 @@ "bulkEditAction": "Масове редагування", "applyFetched": "Застосувати", "retryErrors": "Спробувати помилки", + "discardDialog": { + "title": "{count, plural, =0 {Не знімайте файли?} one {Відмінити обраний файл?} other {Відмінити # обрані файли?} few {Відмінити # обрані файли?} many {Відмінити # обрані файли?}}", + "description": "{count, plural, =0 {Файли не вибрані} one {Це остаточно видаляє обраний файл з диску. Цю дію неможливо скасувати.} other {Ця дія остаточно видалить # обрані файли з диску. Цю дію неможливо скасувати} few {Ця дія остаточно видалить # обрані файли з диску. Цю дію неможливо скасувати} many {Ця дія остаточно видалить # обрані файли з диску. Цю дію неможливо скасувати}}", + "confirm": "{count, plural, one {Видаліть файл} other {Видаліть # файлів} few {Видаліть # файлів} many {Видаліть # файлів}}", + "failed": "Вибрані файли не вдалося видалити. Повторіть спробу." + }, "commaSeparated": "відокремлені комами", "destinationLibrary": "Бібліотека призначення", "destinationFolder": "Тека призначення", + "nFailed": "{count} не вдалося", "updatedOfFiles": "Оновлено {updated} з файлів {total}", "errorStatus": "Помилка {status}", + "invalidSeriesIndex": "Введіть цифри з максимум однією десятковою точкою, наприклад 5.10.", "tab": { "all": "Всі", "pending": "Очікує підтвердження", @@ -4314,6 +7865,7 @@ "publisher": "Автор", "publishedDate": "Дата публікації", "year": "Рік", + "language": "Мова:", "isbn13": "ІСБН-13", "isbn10": "ІЗБН-10", "series": "Серія", @@ -4323,7 +7875,25 @@ "description": "Опис" }, "upload": { - "nDone": "{count} завершено" + "nDone": "{count} завершено", + "nFailed": "{count} не вдалося", + "nTotal": "Усього {count}" + }, + "uploadFailures": { + "heading": "{count, plural, one {Не вдається завантажити # файл} other {Неможливо завантажити # файлів} few {Неможливо завантажити # файлів} many {Неможливо завантажити # файлів}}", + "dismissAll": "Закрити всі", + "retry": "Повторити завантаження {name}", + "dismiss": "Відхилити {name}", + "reason": { + "unsupported": "Непідтримуваний тип файлу:{extension}", + "noExtension": "Файл не має розширення, тому його формат невідомий", + "tooLarge": "Більший за ліміт завантаження {limit}", + "tooLargeServer": "Більший за ліміт завантаження сервера", + "tooLargeProxy": "Замінено занадто великим перед тим, як досягнути BookOrbit, ймовірно, за зворотним проксі-сервером", + "storageFull": "На сервері недостатньо вільного місця", + "network": "Не вдалося зв'язатися з сервером", + "status": "Вивантажити не вдалося (HTTP {status})" + } }, "fileList": { "emptyTitle": "Немає файлів в панелі книги", @@ -4398,26 +7968,903 @@ "import": "Імпорт" }, "layout": { + "pause": "Пауза", "resume": "Продовжити", + "pauseUpdateFailed": "Помилка при завантаженні", + "clearSearch": "Очистити пошук", + "filter": { + "all": "Всі", + "needsReview": "Потрібна рецензія", + "pending": "Очікує підтвердження", + "ready": "Готовий", + "error": "Помилка" + }, + "working": { + "label": "{count} працює" + }, "row": { + "select": "Вибрати {title}", + "setDestination": "Вкажіть місце призначення", "file": "Файл", + "match": "{percent}% відповідає", "noAuthor": "Ще немає автора", "proposedChanges": "Запропоновані зміни", - "editDetails": "Редагувати деталі" + "noChanges": "Немає метаданих", + "editDetails": "Редагувати деталі", + "noMatch": "Немає збігів", + "applied": "Застосовано", + "refetch": "Повторне отримання метаданих", + "clickToZoom": "Натисніть на обкладинку для збільшення", + "changedFields": "{count, plural, one {# поле} other {# поля} few {# поля} many {# поля}}", + "needMore": "Потрібно шукати постачальників або редагувати інші поля?" }, + "selection": { + "fileToLibrary": "{count, plural, =0 {Файл до бібліотеки} one {Файл # в бібліотеці} other {Файл # в бібліотеці} few {Файл # в бібліотеці} many {Файл # в бібліотеці}}", + "nSelected": "Вибрано {count}", + "nReadyToFile": "{count} готовий до файлу" + }, + "empty": { + "nothingToReview": "Нічого не потребує розгляду. Кожен готовий файл має місце призначення і впевнений матч.", + "nothingReadyToFile": "Немає файлів готових до файлу.", + "dropHint": "Або скасуйте файли будь-де на цій сторінці." + }, + "selectAllOnPage": "Обрати всі файли на цій сторінці", + "showingOf": "{shown} {total}", + "keyboardHint": "J / K для переміщення · Виберіть простір для розширення", + "allOnPageSelected": "Вибрано всі {count} на цій сторінці.", + "selectAllMatching": "Обрати усі відповідності {count}", + "allMatchingSelected": "Усі файли підбору {count} вибрані", "sort": { + "label": "Сортувати за", + "attention": "Потребує уваги", + "createdAt": "Нещодавно додані", + "fileName": "Ім'я файлу", "fileSize": "Розмір", "format": "Формат", "status": "Статус" }, "conflict": { "duplicate": "Дублікат", + "destination_conflict": "Шлях прийнято", + "invalid_target": "Bad target", "access_denied": "Немає доступу", - "invalid_format": "Невірний формат" + "invalid_format": "Невірний формат", + "error": "Не вдасться" + }, + "unit": { + "fileCount": "{count, plural, one {# файл} other {# файлів} few {# файлів} many {# файлів}}", + "filesHeading": "{count, plural, one {Файл на цьому запису} other {# файлів в цьому записі} few {# файлів в цьому записі} many {# файлів в цьому записі}}", + "role": { + "content": "Книжка", + "cover": "Обкладинка", + "metadata": "Метадані", + "supplement": "Націнка" + } } } }, + "bookRequests": { + "title": "Запити (Beta)", + "subtitle": "Попросіть книги, які бібліотека ще не має. Ця функція є експериментальною, очікують незначні помилки.", + "tabs": { + "search": "Замовити книгу", + "mine": "Мої запити", + "all": "Усі запити" + }, + "mediaKind": { + "ebook": "Електронна книга", + "audiobook": "Аудіобук", + "comic": "Комікс" + }, + "status": { + "pending": "Очікує підтвердження", + "approved": "Затверджено", + "rejected": "Відхилено", + "cancelled": "Скасовано", + "searching": "Пошук", + "grabbed": "Схопив", + "downloading": "Завантажується", + "importing": "Імпортування", + "needs_review": "Потрібна рецензія", + "available": "Доступно", + "failed": "Не вдалося" + }, + "search": { + "titleLabel": "Найменування", + "titlePlaceholder": "Назва книги", + "authorLabel": "Автор", + "authorPlaceholder": "Ім'я автора", + "mediaKindLabel": "Форматувати", + "libraryLabel": "Додати до бібліотеки", + "libraryAny": "Нехай вирішує затверджуючий користувач", + "libraryDefault": "За замовчуванням ({library})", + "libraryChoose": "Виберіть бібліотеку", + "libraryRequired": "Ваші запити затверджуються, як тільки ви їх зробите, так що вибери бібліотеку, в яку повинна приземлитись книжка.", + "fulfillmentLabel": "Фульфілмент", + "fulfillmentAutomatic": "Автоматично", + "fulfillmentChooseRelease": "Виберіть реліз", + "folderLabel": "Тека", + "languageLabel": "Запитати мову", + "languageAny": "Будь-яка мова", + "languageDefaultToggleLabel": "Використовуйте цю мову для нових запитів", + "languageDefaultSetHint": "Запитувати для цієї мови про кожен новий запит", + "languageDefaultClearHint": "Зупинити запит на цю мову за замовчуванням", + "languageDefaultSaved": "Нові запити будуть запитувати {language}", + "languageDefaultCleared": "Нові запити будуть супроводжуватися мовою інтерфейсу", + "languageDefaultFailed": "Не вдалося зберегти ваш мовний вибір", + "submit": "Пошук", + "searching": "Пошук постачальників...", + "noResultsTitle": "Відповідних книг не знайдено", + "noResultsHint": "Спробуйте іншу назву або автора.", + "noResultsIndexerHint": "Спробуйте іншу назву або автора, або знайдіть індексатори{title}і виберіть реліз самі.", + "freeTextAction": "Пошук індексерів", + "manualSearchAction": "Пошук індексаторів вручну", + "yearUnknown": "Рік невідомий", + "sourceCount": "{count, plural, one {# джерело} other {# джерела} few {# джерела} many {# джерела}}", + "sourcesLabel": "Джерела: {sources}", + "sourcesUnavailable": "Деякі джерела не відповіли, тому результати можуть бути незавершеними: {sources}", + "identifiers": { + "none": "Немає ISBN", + "one": "1 ІСБН", + "confirmed": "ISBN підтверджено", + "count": "{count} ISBNs", + "sourcesTitle": "Джерела метаданих", + "provider": "Постачальник", + "providerTitle": "Назва постачальника", + "isbn": "ІСБН", + "year": "Рік", + "language": "Мова:", + "notProvided": "Не надано", + "searchScope": "Оберіть один із {count, plural, one {# ISBN} other {# ISBNs!} few {# ISBNs!} many {# ISBNs!}} для пошуку, або пошуку за заголовками і автором.", + "searchScopeLimited": "Виберіть одну ISBN для пошуку.", + "titleAuthorOnly": "ISBN не було надано. Bookbit буде шукати один раз за заголовком і автором.", + "chooseSearch": "Виберіть видання для пошуку", + "searchByEdition": "Знайти реліз для редагування", + "findRelease": "Знайти реліз", + "primaryIsbn": "ISBN {isbn}", + "primaryTitleAuthor": "Заголовок і автор", + "recommended": "Рекомендовані", + "recommendationHelpLabel": "Як Bookbit вибирає рекомендований ISBN", + "recommendationTitle": "Як вибрано рекомендований пошук", + "recommendationLanguage": "Надавати перевагу запитаній мові, потім невідомій мові, перед відомим невідповідністю.", + "recommendationAgreement": "Віддавати перевагу ISBN підтверджено більшими незалежними метаданими провайдери.", + "recommendationProvider": "Використовувати стабільний метаданний пріоритет BookOrbit.", + "recommendationRelevance": "Використовуйте позицію редакції у результатах постачання.", + "recommendationYear": "Цю епоху слід показати якнайближчий до найбільш відомого року для роботи цього року.", + "recommendationStable": "Використовувати сам ISBN як остаточний стабільний розрив.", + "recommendationFallback": "Якщо немає доступних ISBN, пошуки BookOrbit один раз за заголовком і автором. Вибір редакції з меню завжди змінює цю рекомендацію.", + "withoutIsbn": "Пошук за заголовком і автором", + "action": "Дія" + }, + "request": "Замовити", + "download": "Звантажити", + "getAutomatically": "Отримати автоматично", + "chooseRelease": "Виберіть реліз", + "joinRequest": "Додайте мене теж", + "submitted": "Заявка подана", + "joinedExisting": "Додати вас до існуючого запиту", + "submitFailed": "Не вдалося надіслати запит", + "alreadyInLibrary": "Вже є в вашій бібліотеці", + "alreadyRequested": "Є запит від когось іншого", + "alreadyRequestedByYou": "Ви вже подали запит", + "preferredFormatsLabel": "Бажані формати", + "preferredFormatsHint": "Релізи у цих форматах мають рейтинг вищі. Інші формати все ще пропонуються.", + "noteLabel": "Примітка для затверджуючої особи", + "notePlaceholder": "Все, що варто знати про цей запит", + "moreOptions": "Більше опцій", + "fewerOptions": "Менше опцій", + "optionsSummary": "{formats} · Примітка додано", + "formatToggleAria": "Перевага {format}", + "pair": { + "choice": "З обох сторін", + "choiceHint": "Попросіть електронну книжку та аудіокнигу разом", + "ebookLibraryLabel": "Електронна бібліотека", + "audiobookLibraryLabel": "Аудіобдукова бібліотека", + "audiobookFolderLabel": "Папка Audiobook", + "landsTogether": "Обидва формати надходять як одну книгу у {library}.", + "landsSeparately": "{library} зберігає одну книгу на файл, тому кожен формат надходить як окрема книга.", + "landsApart": "Електронна книга та аудіо йдуть до різних бібліотек, тому вони приходять до двох книг.", + "preferredEbookFormats": "Бажані формати електронних книг", + "preferredAudiobookFormats": "Бажаний формат аудіо", + "state": { + "owned": "У вашій бібліотеці", + "following": "Ви подали запит", + "joinable": "Запитано", + "new": "Не запитано" + }, + "requestBoth": "Запитати обидва", + "getBoth": "Отримати обидва", + "chooseReleases": "Виберіть релізи", + "joinBoth": "Додайте мене до обох", + "requestEbook": "Запросити електронну книгу", + "requestAudiobook": "Запит на аудіобдук", + "getEbook": "Отримати електронну книгу", + "getAudiobook": "Залучити аудіокнигу", + "joinEbook": "Додайте мене до електронної книги запит", + "joinAudiobook": "Додайте мене до запиту аудіосучерків", + "haveBoth": "У вашій бібліотеці", + "requestedBoth": "Запитано", + "submitted": "Запитав електронну книгу та аудіокнигу", + "submittedPartlyJoined": "Запит обох. Один вже був на його шляху, тому Вас було додано до цього прохання", + "submittedJoinsBook": "Запитано. Вона буде приєднана до копії вже у вашій бібліотеці" + } + }, + "card": { + "details": "Подробиці", + "mediaKind": "Форматувати", + "library": "Бібліотека", + "requestedBy": "Запрошено користувачем", + "requestedByAt": "{name} на {time}", + "alsoWanted": "Також, бажаєте", + "alsoWantedCount": "{count, plural, one {# інша людина хоче цей} other {# інші цього хоче} few {# інші цього хоче} many {# інші цього хоче}}", + "moreActions": "Додаткові дії для {title}", + "settledIn": "Додано в {library}, {time}", + "settledAt": "Закрито {time}", + "dismissedBadge": "Пропущені" + }, + "detail": { + "unknownAuthor": "Автор невідомий", + "requestedBy": "Запрошено користувачем", + "requestedOn": "Запитано на", + "library": "Бібліотека", + "series": "Серія", + "isbn": "ІСБН", + "decidedBy": "Вирішено", + "requesterNote": "Примітка від ініціатора", + "decisionNote": "Примітка до прийняття рішень", + "statusReason": "Що зупинило", + "alsoWanted": "Також, бажаєте", + "decisionNoteLabel": "Примітка (за бажанням)", + "decisionNotePlaceholder": "Поясніть рішення", + "destinationLibraryLabel": "Цільова бібліотека", + "destinationLibraryPlaceholder": "Виберіть бібліотеку", + "destinationFolderLabel": "Тека призначення", + "languageLabel": "Мова запитана", + "languageAny": "Будь-яка мова", + "destinationRequired": "Затверджуючи файли книги в бібліотеку, тому оберіть одне, перш ніж погодитися.", + "fulfilTitle": "Закрити цей запит", + "fulfilHint": "Наведіть запит на книжку, яку ви додавали, або за файлом Книги Dock чекає, щоб він був поданий.", + "bookIdLabel": "ID книги", + "bookIdPlaceholder": "напр. 128", + "dockFileIdLabel": "Ідентифікатор файлу домашньої панелі", + "dockFileIdPlaceholder": "напр. 42", + "backToList": "Усі запити", + "loading": "Завантажую запит...", + "transfer": "Переказ", + "requestSection": "Замовити", + "decideTitle": "Затвердити або відхилити", + "fulfilSourceLabel": "Що закриває цей запит", + "fulfilFromLibrary": "Книжка у бібліотеці", + "fulfilFromDock": "Книга Dock файлу", + "fulfilSearchLabel": "Пошук файлу, що закриває цей запит", + "fulfilSearchBooks": "Шукати в бібліотеці за заголовком або автором", + "fulfilSearchDock": "Пошук панелі книги по імені файлу", + "fulfilSearching": "Пошук...", + "fulfilNoResults": "Нічого не знайдено. Спробуйте інший запит.", + "errors": { + "notFound": "Цей запит більше не існує.", + "forbidden": "Цей запит належить комусь іншому.", + "loadFailed": "Не вдалося завантажити цей запит" + }, + "entityName": "Замовити", + "pairSwitchLabel": "Формати в цьому запиті", + "joinsBook": "Приєднується до книги, яку є у вас", + "joinsBookHint": "Коли це прибуває, воно додається до книги вже в твоїй бібліотеці" + }, + "actions": { + "approve": "Схвалити", + "approveAndNext": "Затвердити та йти далі", + "reject": "Відхилити", + "cancel": "Скасувати запит", + "cancelDownload": "Скасувати завантаження", + "dismiss": "Відхилити", + "restore": "Відновити", + "delete": "Видалити запит", + "markFulfilled": "Знак виконано", + "grab": "Знайти реліз", + "goToBook": "Перейти до книги", + "retryRelease": "Спробуйте інший реліз", + "leave": "Запит на вихід", + "pair": { + "approveBoth": "Затвердити обидва", + "approveEbook": "Підтвердити електронну книгу", + "approveAudiobook": "Затвердити аудіо", + "rejectBoth": "Відхилити обидва", + "rejectEbook": "Відхилити електронну книгу", + "rejectAudiobook": "Відхилити аудіо", + "cancelBoth": "Скасувати обидва", + "cancelEbook": "Скасувати електронну книгу", + "cancelAudiobook": "Скасувати аудіокнигу", + "dismissBoth": "Відхилити обидва", + "dismissEbook": "Відхилити електронну книгу", + "dismissAudiobook": "Відхилити аудіокнигу", + "restoreBoth": "Відновити обидва", + "restoreEbook": "Відновити електронну книгу", + "restoreAudiobook": "Відновлення звуку", + "grabEbook": "Знайти роздачу електронної книги", + "grabAudiobook": "Знайти реліз на аудіобдук", + "chooseReleases": "Виберіть релізи", + "openEbook": "Відкрити адресу електронної книги", + "openAudiobook": "Відкрити запит аудіосучеру" + } + }, + "filters": { + "status": "Статус", + "anyStatus": "Будь-який статус", + "mediaKind": "Форматувати", + "anyMediaKind": "Будь-який формат", + "requester": "Замовник", + "anyRequester": "Будь-який ініціатор", + "showDismissed": "Показати відхилені", + "fulfilment": "Виконання", + "anyFulfilment": "Будь-яка акція", + "selfServeOnly": "Самообслуговування", + "approvedOnly": "Востаннє схвалено" + }, + "list": { + "loading": "Завантаження запитів...", + "emptyMine": "Ви ще не замовили жодної книги.", + "emptyAll": "Ще немає запитів на книгу.", + "pagination": "Сторінки запиту", + "pageOf": "Сторінка {page} з {total}", + "emptyHint": "Пошук книги, і вона з'явиться тут як тільки ви попросите про неї." + }, + "toasts": { + "approved": "Запит підтверджено", + "rejected": "Запит відхилено", + "cancelled": "Запит скасовано", + "downloadCancelled": "Завантаження скасовано", + "dismissed": "Приховано з вашого списку", + "restored": "Повернутись у списку", + "deleted": "Запит видалено", + "fulfilled": "Запит позначено виконаним", + "grabbed": "Завантаження розпочато", + "downloadRemoved": "Видалено з завантажуваного клієнта", + "bulkApproved": "{count, plural, one {# запит підтверджено} other {# запитів затверджено} few {# запитів затверджено} many {# запитів затверджено}}", + "bulkApprovedPartial": "{done} затверджено, {failed} не вдалося бути", + "bulkDismissed": "{count, plural, one {# запит прихований} other {# запитів приховано} few {# запитів приховано} many {# запитів приховано}}", + "bulkDismissedPartial": "{done} приховано, {failed} не може бути", + "unitChosen": "Імпортування вибраної книги", + "languageChanged": "Запит оновлено", + "left": "Ви залишили цей запит", + "bulkRejected": "{count, plural, one {# запит відхилено} other {# запитів відхилено} few {# запитів відхилено} many {# запитів відхилено}}", + "bulkRejectedPartial": "{done} відхилено, {failed} не може бути", + "importDiscarded": "Імпортований файл було відкинуто", + "pairApproved": "Затверджено обидва", + "pairRejected": "Відхилено обидва" + }, + "errors": { + "loadFailed": "Не вдалося завантажити запити", + "approveFailed": "Не вдалося затвердити цей запит", + "rejectFailed": "Не вдалося відхилити цей запит", + "cancelFailed": "Не вдалося скасувати цей запит", + "cancelDownloadFailed": "Не можна скасувати це завантаження", + "dismissFailed": "Не вдалося приховати цей запит", + "restoreFailed": "Не вдалося повернути цей запит назад", + "deleteFailed": "Не вдалося видалити цей запит", + "fulfilFailed": "Не вдалося закрити цей запит", + "grabFailed": "Не вдалося запустити це завантаження", + "removeDownloadFailed": "Не вдалося видалити торент з завантажуваного клієнта", + "bulkApproveFailed": "Не вдалося затвердити вибрані запити", + "bulkDismissFailed": "Не вдалося приховати вибрані запити", + "selectUnitFailed": "Ця книжка не може бути імпортована.", + "languageChangeFailed": "Не вдалося змінити мову запиту", + "leaveFailed": "Цей запит не вдалося залишити", + "bulkRejectFailed": "Цей розділ не може бути відхилений", + "discardImportFailed": "Такий імпорт не вдалося відхилити", + "approveCompanionFailedEbook": "Затверджено ось це, але не вдалося схвалити електронну книгу", + "approveCompanionFailedAudiobook": "Затверджено цей, але аудіо не вдалося схвалити" + }, + "grab": { + "title": "Надіслати звантаженому клієнту", + "subtitle": "Вставити магнітне посилання або завантажити торент для \"{title}\".", + "singleFileNote": "Реліз може бути однією із кількох форматів, звуковим зв'язком чи архівом, який імпортує як окрему книгу. Реліз, що містить кілька окремих книг, просить вас, які потрібно зберегти.", + "magnet": "Magnet link", + "torrentFile": ".торрент файл", + "client": "Завантажити клієнт", + "submit": "Відправити", + "errors": { + "pickOne": "Надати посилання magnet або .torrent файл, не обидва", + "fileTooLarge": "Цей файл більший за {limit}, тому це не .torrent файл", + "fileUnreadable": "Цей файл не можливо прочитати" + }, + "noClientList": "BookOrbit буде використовувати найпопулярнішого клієнта, який має найвищий пріоритет." + }, + "attempts": { + "title": "Раніше спроби", + "loading": "Завантаження попередніх спроб...", + "loadFailed": "Не вдалося завантажити попередні спроби", + "refused": "Відмушено, нічого не завантажено", + "handPicked": "Надіслано рукою" + }, + "download": { + "source": { + "automatic": "Схопив автоматично", + "manual": "Пік затверджуючим", + "pasted": "Вставлений рукою" + }, + "transferred": "{done} {total}", + "transferredUnknown": "{done} завантажено", + "progressLabel": "Завантажити прогрес для {title}", + "status": { + "queued": "У черзі на завантаження", + "downloading": "Завантажується", + "completed": "Завантаження завершено", + "importing": "Імпортування до бібліотеки", + "needs_review": "Очікується перегляд документації у Доку книги", + "imported": "Додано у вашу бібліотеку", + "failed": "Не вдалося завантажити" + } + }, + "releases": { + "title": "Вибрати реліз", + "retryTitle": "Спробуйте інший реліз", + "pairTitle": "Вибрати релізи", + "pair": { + "tabsLabel": "Формати для вибору релізів", + "releaseCount": "{count, plural, one {# реліз} other {# релізів} few {# релізів} many {# релізів}}", + "searching": "Пошук", + "toChoose": "Вибір", + "sent": "Надіслано", + "finishedTitle": "Нічого не залишилося для вибору", + "finishedHint": "Тепер обидва формати мають свій реліз. Ви можете стежити за кожним із запиту.", + "backToRequest": "Повернутися до запиту", + "done": "Виконано" + }, + "subtitle": "Рейтинговий серед кожного активованого індексатора.", + "summaryCount": "{count, plural, one {# реліз} other {# релізів} few {# релізів} many {# релізів}}", + "allFreeleech": "усі святкові дні", + "allLanguage": "всі {language}", + "allFormat": "всі {format}", + "allIndexer": "все від {name}", + "criteria": { + "label": "Активний пошук", + "searched": "Пошук", + "searchedTitleAuthor": "Пошук по назві і автору", + "nothingFound": "За запитом {key} нічого не знайдено", + "changeSearch": "Змінити пошук", + "closeSearch": "Закрити", + "sources": "Джерела", + "sourceSearchedIsbn": "шукати ISBN", + "sourceSearchedTitleAuthor": "по імені і автору програми", + "sourceNoAdapter": "немає відповідного адаптера", + "sourceReleases": "{count, plural, one {# реліз} other {# релізів} few {# релізів} many {# релізів}}", + "sourceNone": "немає збігів", + "sourceFiltered": "{count} відфільтрованих", + "sourcesSearched": "{count, plural, one {# джерело пошукали} other {# джерел знайдено} few {# джерел знайдено} many {# джерел знайдено}}", + "showEachSource": "Показувати кожен", + "uncovered": "{count, plural, one {# увімкнене джерело не містить} few {# увімкнені джерела не містять} many {# увімкнених джерел не містять} other {# увімкненого джерела не містять}} книг такого типу", + "fixSource": "Виправлення в налаштуваннях", + "searchInstead": "Шукати замість", + "keyTried": "спроспроба, нічого не знайдено", + "keyTriedCount": "спробувати, {count, plural, one {# реліз} other {# релізів} few {# релізів} many {# релізів}}", + "searchWithoutIsbn": "Заголовок і автор", + "customIsbnSource": "Налаштувати ISBN", + "filteredLocally": "Відфільтровано локально:", + "title": "Найменування", + "author": "Автор", + "additionalAuthors": "Додаткові автори", + "isbn10": "ІЗБН-10", + "isbn13": "ІСБН-13", + "isbns": "ISBNs", + "mediaKind": "Медіа", + "language": "Мова:", + "formats": "Бажані формати", + "editFields": "Редагувати поля", + "closeEditor": "Закрити редактор", + "authorsEditor": "Автор, один на рядок", + "authorsPlaceholder": "Один автор на рядок", + "authorsInvalid": "Використовуйте не більше 50 авторів, з 255 символами або меншою кількістю для кожного автора.", + "languagePlaceholder": "Будь-яка мова", + "formatsPlaceholder": "епів, аз-3", + "formatsInvalid": "Використовуйте не більше 20 форматів, з 20 символами або меншою кількістю для формату.", + "isbnSelection": "Метод пошуку", + "isbnSelectionHint": "Виберіть одну ISBN, назву та автор, або додайте власний ISBN.", + "noIsbnSelected": "Заголовок і автор без ISBN", + "customIsbn": "Налаштувати ISBN", + "customIsbnPlaceholder": "ISBN-10 або ISBN-13", + "addIsbn": "Додати ISBN", + "invalidIsbn": "{isbn} не є припустимим ISBN-10 або ISBN-13.", + "titleRequired": "Введіть назву для пошуку.", + "fixedMedia": "Медіа залишається {media} , оскільки вона контролює сумісні джерела та шлях виконання.", + "useRequestFields": "Використовувати поля запиту", + "runSearch": "Пошук за цими полями" + }, + "previousFailure": "Остання спроба не вдалася: {reason}", + "refused": { + "sourceRefused": "Цей код відхилив попередній реліз", + "sourceUnavailable": "Це джерело не відповіло", + "vipRequired": "Потребує VIP облікового запису на цьому джерелі", + "clientRefused": "Ваш клієнт завантажень відхилив попередній реліз", + "clientUnavailable": "Ваш завантажений клієнт не відповів на більш ранній реліз" + }, + "singleFileNote": "Реліз може бути однією із кількох форматів, звуковим зв'язком чи архівом, який імпортує як окрему книгу. Реліз, що містить кілька окремих книг, просить вас, які потрібно зберегти.", + "searching": "Пошук індексів...", + "refresh": "Шукати знову", + "cached": "Відображення останнього пошуку. Ще раз шукайте свіжі результати.", + "sortBy": "Сортувати за", + "sort": { + "score": "Кращий збіг", + "seeders": "Сидів", + "size": "Розмір", + "bitrate": "Бітрейт", + "added": "Дата додавання" + }, + "freeleechOnly": "Лише безкоштовне повідомлення ({count})", + "clearFilters": "Очистити фільтри", + "filteredEmpty": "Жоден реліз не відповідає цим фільтрам.", + "grab": "Завантажити реліз", + "viewFiles": "Перегляд файлів", + "hideFiles": "Приховати файли", + "viewDetails": "Про контент", + "hideDetails": "Приховати подробиці", + "inspectingFiles": "Читання списку файлів релізів...", + "inspectingNzb": "Отримання та перевірка NZB...", + "inspectingShort": "Перевірка файлів...", + "inspectionFailed": "Неможливо прочитати список файлів цього релізу.", + "manifest": { + "ready": "{count, plural, one {Цей реліз містить # файл. Файл підтримуваних книг може бути імпортований.} other {Цей реліз містить # файлів. Файл підтримуваної книги можна імпортувати.} few {Цей реліз містить # файлів. Файл підтримуваної книги можна імпортувати.} many {Цей реліз містить # файлів. Файл підтримуваної книги можна імпортувати.}}", + "noSupported": "Цей реліз не має безпосередньо підтримуваного файлу для книги, тому його не можна надіслати.", + "contentsUnknown": "Цей реліз розпакований як архів (RAR, ZIP або 7z). Книга вилучить його після завантаження, тому його вміст ще не відомі.", + "multipleBooks": "Цей реліз містить окремі книги {count} . Після того, як він буде завантаження, вам буде запропоновано імпортувати, який з них буде імпортовано.", + "multiPartBook": "{count, plural, one {Цей реліз - одна книга з # файлу.} other {Цей реліз складається з # файлів, імпортований разом як одна книга} few {Цей реліз складається з # файлів, імпортований разом як одна книга} many {Цей реліз складається з # файлів, імпортований разом як одна книга}}", + "metadataUnavailable": "Це посилання магнітневого посилання. Список файлів буде недоступний, поки торрент клієнт не отримає метадані з swarm.", + "usenetMetadataUnavailable": "Це реліз Usenet Usenet. Його останній список файлів недоступний до тих пір, поки NZBGet завантаження і пост-процесси.", + "bookFile": "Книга файлу", + "extraFile": "Націнка", + "truncated": "Показані {shown} з {total} файлів.", + "untitledUnit": "Без назви", + "unitFiles": "{count, plural, one {# файл} other {# файлів} few {# файлів} many {# файлів}}", + "unitsTruncated": "Показується {shown} з {total} книг.", + "ignored": "{count, plural, one {Ігнорування # зразок або padding файл.} other {Ігноруйте # зразок і заповніть файли} few {Ігноруйте # зразок і заповніть файли} many {Ігноруйте # зразок і заповніть файли}}", + "mediaKind": { + "ebook": "Електронна книга", + "audiobook": "Аудіобук", + "comic": "Комікс" + } + }, + "manual": "Натомість Вставити посилання", + "manualTorrent": "Використовувати magnet або .torrent замість нього", + "indexer": "Програма індексування", + "size": "Розмір", + "seeders": "Сидів", + "language": "Мова:", + "seederCountPlural": "{count, plural, one {# seeder} other {# seeders} few {# seeders} many {# seeders}}", + "seederCountUnknown": "Сідери невідомі", + "format": "Форматувати", + "files": "Файли", + "fileLayout": { + "single": "Один з перерахованих файлів", + "multi": "Кілька перерахованих файлів" + }, + "fileCount": "{count, plural, one {# файл} other {# файлів} few {# файлів} many {# файлів}}", + "audio": "Аудіо", + "bitrateAtLeast": "{rate}к+", + "channels": { + "mono": "Моно", + "stereo": "Stereo" + }, + "chapterCountPlural": "{count, plural, one {# розділ} few {# розділи} many {# розділів} other {# розділу}}", + "durationHm": "{hours}h {minutes}хв", + "durationM": "{minutes} хв", + "freeleech": "Фрілееш", + "vipOnly": "Тільки VIP", + "hideVipOnly": "Приховати тільки VIP", + "noneMatchedProfile": "Тут жоден реліз не відповідає вашому профілю для цього середовища, тому жоден з них не буде завантажений автоматично. Ви все ще можете надіслати один за одним. Щоб розширити його, додайте рівень з меншою кількістю умов під тими, які у вас є.", + "profileMismatch": { + "summary": "{count, plural, one {Знайдено # реліз, але автоматичне завантаження буде пропущено тому що воно не відповідає жодному профілю {medium}} other {# релізів знайдено, але автоматичне завантаження пропустить їх, оскільки жоден з них не відповідає {medium} профіль.} few {# релізів знайдено, але автоматичне завантаження пропустить їх, оскільки жоден з них не відповідає {medium} профіль.} many {# релізів знайдено, але автоматичне завантаження пропустить їх, оскільки жоден з них не відповідає {medium} профіль.}} Все одно відповідність балів і правил профілю є окремими чеками. Ви все ще можете натиснути кнопку Надіслати.", + "review": "Переглянути профіль {medium}", + "row": "Автоматичне завантаження буде пропущено це. Найближчий час: {tier}. {reasons}", + "failures": { + "formatUnknown": "{source} не становив формат; для цього рівня потрібен {expected}.", + "format": "Формат становить {actual}; для цього рівня потрібен {expected}.", + "fileLayoutUnknown": "{source} не вказував на кількість файлів, для цього рівня потрібно {expected}.", + "fileLayout": "Розкладка файлу {actual}; для цього рівня потрібно {expected}.", + "bitrate": "Бітрейт становить {actual} кбіт/с; цей рівень вимагає щонайменше {expected} кбіт/с.", + "channels": "Аудіо: {actual}; цей рівень вимагає {expected}.", + "languageUnknown": "{source} не наважився на мову; цей рівень потребує {expected}.", + "language": "Мова {actual}; для цього рівня потрібен {expected}.", + "source": "Це джерело не включено до клітки.", + "seeders": "Цей реліз має {actual} роздавачів; цей рівень вимагає щонайменше {expected}.", + "sizeUnknown": "{source} не становив розмір; цей рівень дозволено до {expected}.", + "size": "Розмір {actual}; цей рівень допускається до {expected}.", + "freeleech": "Цей рівень вимагає вільних результатів.", + "vipOnly": "Цей рівень виключає тільки VIP-релізи." + } + }, + "alreadyGrabbed": "Вже схоплено", + "freeleechLabel": "Фрілееш", + "published": "Опубліковано", + "scoreLabel": "Оцінка за відповідність {score} з 100", + "scoreBreakdown": "Як цей випуск зарахований", + "whyThisScore": "Чому цей бал", + "failures": { + "unauthorized": "вхід закінчився", + "throttled": "ставка обмежена", + "timeout": "минув час очікування", + "unreachable": "недоступний", + "unsupportedMedium": "не носить в собі книгу", + "error": "не вдалося виконати пошук" + }, + "reasons": { + "isbnMatch": "Збіги ISBN", + "titleMatch": "Назва містить", + "authorMatch": "Заголовок і автор співпадають", + "preferredFormat": "Переважний формат {detail}", + "knownFormat": "Форматувати {detail}", + "unknownFormat": "Формат не збережений", + "expectedSize": "Вірний розмір", + "suspiciousSize": "Неймовірний розмір {detail}", + "seeders": "{detail} сівалки", + "freeleech": "Фрілееш", + "likelySeveralBooks": "{detail} файлів, можуть бути кількома книгами" + }, + "errors": { + "loadFailed": "Не вдалося знайти у релізах" + }, + "backToRequest": "Повернутися до запиту", + "bestMatch": "Кращий збіг", + "flags": "Прапори", + "score": "Рахунок", + "release": "Звільнити", + "send": "Відправити", + "tableCaption": "Випущені ранги", + "onlyBestMatch": "Це єдиний реліз, який нам підходить.", + "tiedWithBest": "{count, plural, one {# інший реліз забрав той самий} other {# інші релізи в грі забрали те ж саме} few {# інші релізи в грі забрали те ж саме} many {# інші релізи в грі забрали те ж саме}}", + "inspectionFailedHint": "Він не був відправлений на завантажити клієнт. Спробуйте ще раз або використайте \"Вставити посилання\".", + "inspectionFailedHintGeneric": "Він не був відправлений клієнту завантаження. Спробуйте ще раз або виберіть інший реліз.", + "mediumUncovered": "Відсутній вихідний код не містить такого роду книги.", + "mediumUncoveredHint": "Жоден з доступних індексаторів не приховує його. Додайте те, що станеться, або вставте посилання себе.", + "noSourcesConfigured": "Поки що не налаштовано жодного джерела пошуку.", + "noSourcesEnabled": "Всі джерела пошуку вимкнуто.", + "noSourcesConfiguredHint": "Нічого не було шукається. Додайте індексатор або встановіть вихідний плагін, або вставте посилання у реліз самі.", + "noSourcesEnabledHint": "Нічого не шукається. Увімкніть Увімкніть його, або вставте посилання на реліз самі.", + "noSourcesAskAdmin": "Нічого не було шукається. Попросіть адміністратора налаштувати джерело пошуку або вставити посилання на випуск сам.", + "addSource": "Додати джерело", + "reviewSources": "Перегляд джерел", + "protocol": { + "torrent": "Торент", + "usenet": "Usenet", + "direct": "Пряме завантаження", + "directPill": "Прямий" + } + }, + "seed": { + "title": "Завантажити клієнт", + "automated": "BookOrbit вибрано цю випуск автоматично.", + "loading": "Читання клієнта для завантажень...", + "loadFailed": "Немає зв’язку з завантаженим клієнтом для цього запиту.", + "notInClient": "Завантажити клієнт більше не має цього торенту.", + "state": "Статус", + "seeding": "Сідую", + "stopped": "Зупинено", + "client": "Клієнт", + "ratio": "Співвідношення", + "time": "Час роздачі", + "uploaded": "Відвантажено", + "hours": "{value} h", + "ofGoal": "{value} {goal}", + "deleteFiles": "Також видалити завантажені файли", + "remove": "Видалити з клієнта", + "removeHint": "BookOrbit ніколи не зупиняє насіння самостійно. Імпортовані книги зберігаються в вашій бібліотеці в будь-якому разі.", + "confirm": { + "title": "Видалити цей торрент?", + "description": "Торрент зупиняє фразу-пароль (seed). Завантажені файли залишаються на диску.", + "descriptionWithFiles": "Торрент зупиняє розсідання та його завантажені файли видалено. Імпортовані книги зупиняються у вашій бібліотеці." + } + }, + "pipeline": { + "label": "Прогрес", + "steps": { + "asked": "Запитати", + "approved": "Затверджено", + "release": "Виявлено реліз", + "downloading": "Завантажується", + "filed": "Відфільтровано" + }, + "summary": { + "waiting": "Очікування на: {step}", + "progress": "В реалізації на: {step}", + "done": "Відфільтровано у бібліотеці", + "failed": "Зупинено помилкою: {step}", + "stopped": "Зупинено на: {step}" + } + }, + "density": { + "label": "Густина списку", + "comfortable": "Комфортний", + "compact": "Компактний" + }, + "drawer": { + "label": "Деталі запиту", + "description": "Попросити в цьому етапі дійшли та рішення, відкриті на ньому.", + "previous": "Попередній запит", + "next": "Наступний запит", + "position": "{position} {total}", + "shortcuts": "J / K, щоб рухатися, Esc схвалити" + }, + "table": { + "caption": "Запити на бронювання, досягнувши кожного етапу", + "cover": "Обкладинка", + "title": "Найменування", + "mediaKind": "Форматувати", + "requestedBy": "Запрошено користувачем", + "age": "Вік", + "state": "Держава", + "outcome": "Результат", + "actions": "Дії", + "selectAll": "Виберіть кожен запит на очікування підтвердження", + "selectRow": "Вибрати {title}", + "toggleDetail": "Показати, що сталося з {title}", + "release": "Звільнити", + "decidedBy": "Вирішено", + "decisionNote": "Примітка до прийняття рішень", + "requestNote": "Примітка для запиту", + "openDetail": "Відкрити всі подробиці", + "pairMedia": "Електронна книга і аудіобук" + }, + "confirm": { + "cancelDownloadTitle": "Скасувати завантаження?", + "cancelDownloadDescription": "Активний переказ зупиняється, а запит залишається відкритим, щоб вибрати іншу версію. Дані з керованим клієнтом зберігаються; часткова постановка прямих завантажень видаляється.", + "cancelTitle": "Зупинити цей запит?", + "cancelDescription": "Воно рухається до скасування. Ніхто не чекатиме, щоб отримати книгу.", + "cancelDescriptionWithDownload": "Активний переказ завершений. Дані на клієнті завантажень збережені; часткова постановка прямих завантажень видаляється.", + "deleteTitle": "Видалити цей запит?", + "deleteDescription": "Прохання та запис про те, хто просив це, йдуть на добре, для всіх. Будь-який торент ще роздачу видаляється з клієнта завантаження зі своїми файлами. Автоматична обробка прямих завантажень очищається. Вимикайте запит тільки зі свого списку.", + "discardImportTitle": "Скасувати цей імпорт?", + "discardImportDescription": "Завантажені файли видаляються з Книги Dock і запит позначений не вдалося. Торент зберігає насіння, зупиніть його окремо, якщо він відсутній.", + "leaveTitle": "Покинути цей запит?", + "leaveDescription": "Ви припиняєте слідкування і припиняєте отримувати сповіщення про це. Той, хто просить надати йому запит.", + "rejectDescription": "Всі чекають на ці запити, скажуть, що їх не було звантажено. Нічого не завантажено." + }, + "outcome": { + "filedIn": "Додано в {library} {time}", + "filed": "Відфільтровано {time}", + "rejected": "Відхилено {time}", + "cancelled": "Скасовано {time}", + "awaitingApproval": "Очікує на підтвердження", + "awaitingReview": "Очікування перевірки вручну", + "failedUnknown": "Зупинено без причини від індексування", + "atStage": { + "asked": "Просто попросив", + "approved": "Затверджено, ще не знайдено", + "release": "Шукаю випуск", + "downloading": "Завантаження релізу", + "filed": "Відфільтровано в бібліотеці" + } + }, + "handback": { + "AUTOMATION_DISABLED": "Автоматичне захоплення вимкнено, тому потрібно звільнити обраним вручну", + "NO_DESTINATION": "Цей запит не має бібліотеки призначення, тому немає куди подати книгу", + "ATTEMPT_LIMIT": "Автоматичне виконання припиняється після спроб {attempts}", + "SEARCH_FAILED": "Не вдалося знайти реліз: {detail}", + "NO_SOURCES_CONFIGURED": "Не встановлено жодного джерела пошуку, так що нічого не було знайдено в пошуках цього запиту", + "NO_SOURCES_ENABLED": "Кожне джерело пошуку вимкнене, тому нічого не було знайдено по цьому запиту", + "MEDIUM_UNCOVERED": "Немає доступних джерел пошуку містить такий тип книги, тому нічого не було знайдено по цьому запиту", + "PROFILE_EXCLUDED_ALL": "Жоден реліз не відповідає профілю для цього середовища, тому цей потребує реліз обраним рукою", + "ALL_TRIED": "Кожен випуск досить гарний, щоб захопити вже пробу, тому для цього потрібен випуск обраним вручну", + "BELOW_SCORE_FLOOR": "Немає оновлень, назначеного {floor} чи краще, тому для цього потрібно вибрати реліз вручну", + "ALL_BLOCKED": "Кожен випуск досить хороший, щоб захопити був виключений за більш ранньою невдачею, тож це потребує звільнення, зібране вручну", + "ABANDONED": "Жодного релізу не вибрано, тому завантаження не було запущено" + }, + "submitError": { + "SUBMIT_TITLE_REQUIRED": "Вкажіть книгу, перш ніж попросити її", + "SUBMIT_SELF_FULFIL_FORBIDDEN": "У вас немає прав для виконання власних запитів", + "SUBMIT_LIBRARY_FORBIDDEN": "Ви не маєте доступу до цієї бібліотеки", + "SUBMIT_FOLDER_NEEDS_LIBRARY": "Виберіть теку призначення перед вибором", + "SUBMIT_FOLDER_NOT_IN_LIBRARY": "Ця папка не є частиною бібліотеки призначення", + "SUBMIT_DEFAULT_LIBRARY_UNREACHABLE": "Виберіть теку призначення, яку ви можете знайти: типовий цей екземпляр не є вашою", + "SUBMIT_DESTINATION_REQUIRED": "Ваші запити затверджуються, як тільки ви їх зробите, так що виберіть бібліотеку, яку варто приземлитись в", + "SUBMIT_SELF_SERVE_LIMIT": "Спочатку завершіть або скасуйте завантаження ви можете отримати {limit} в польоті одночасно", + "SUBMIT_ON_BEHALF_FORBIDDEN": "Ви не можете замовляти книги для інших людей", + "SUBMIT_ON_BEHALF_UNKNOWN_USER": "Цей користувач не може мати повідомлення про книгу, зроблену для них", + "SUBMIT_TARGET_BOOK_NOT_FOUND": "Ця книга немає в бібліотеці, до якої ви можете звернутися", + "SUBMIT_TARGET_BOOK_HAS_MEDIUM": "У книзі вже є цей формат" + }, + "actionError": { + "BOOK_REQUEST_NOT_PENDING": "Тільки очікуваний запит підтримує цю дію, цей запит наразі {status}", + "BOOK_REQUEST_NOT_CANCELLABLE": "Прохання до анонсу {status} більше не може бути скасовано", + "BOOK_REQUEST_DESTINATION_REQUIRED": "Виберіть цільову бібліотеку, перш ніж підтвердити цей запит", + "BOOK_REQUEST_ACTION_FORBIDDEN": "Ви не можете запитувати {action}", + "BOOK_REQUEST_STALE_TRANSITION": "Цей запит було змінено під час застосування дії. Це тепер {status}." + }, + "bulk": { + "selected": "{count, plural, one {# запит обрано} other {# вибраних запитів} few {# вибраних запитів} many {# вибраних запитів}}", + "approveSelected": "{count, plural, one {Затвердіть # запит} other {Затвердити всі #} few {Затвердити всі #} many {Затвердити всі #}}", + "clear": "Очистити", + "dismissSelected": "{count, plural, one {Приховати # запит} other {Приховати всі #} few {Приховати всі #} many {Приховати всі #}}", + "rejectSelected": "{count, plural, one {Відхилити # запит} other {Відхилити всі #} few {Відхилити всі #} many {Відхилити всі #}}", + "rejectNoteLabel": "Причина (необов'язково)", + "rejectNotePlaceholder": "Чому їх відмовляють", + "rejectTitle": "Відхилити {count, plural, one {# запит} other {# запитів} few {# запитів} many {# запитів}}?", + "rejectConfirm": "Відхилити" + }, + "chooser": { + "title": "Виберіть яку книгу для імпорту", + "hint": "Цей реліз виявився окремим списком {count} . Завантаження завершене; виберіть запитаний, а інші залишені позаду.", + "untitled": "Без назви", + "files": "{count, plural, one {# файл} other {# файлів} few {# файлів} many {# файлів}}", + "import": "Імпортувати цю книгу", + "mediaKind": { + "ebook": "Електронна книга", + "audiobook": "Аудіобук", + "comic": "Комікс" + } + }, + "review": { + "title": "Чому це чекає", + "scoreShort": "Імпортований файл набрав {score} на запит нижче {threshold} , необхідного для автоматичного подачі його.", + "scoreClears": "Імпортований файл зараховано {score}, який очищує {threshold} , необхідний для автоматичного завантаження.", + "verificationOff": "Перевірка імпорту вимкнена, тому цей файл ніколи не був досягнутий за запит.", + "reason": { + "isbn_match": "Його ISBN - це та, що була прохана.", + "above_threshold": "Здається, книжка, яку просили.", + "below_threshold": "Перевірте поля нижче та вирішіть, чи це правильна книга.", + "author_mismatch": "Заголовок близький, але автор - це хтось інший.", + "no_title": "Файл містить не читабельний заголовок, тому не було нічого порівнювати." + }, + "field": { + "title": "Найменування", + "authors": "Автор", + "isbn13": "ІСБН" + }, + "verdict": { + "match": "Матчі", + "mismatch": "Не відповідає", + "unknown": "Порівняння" + }, + "requested": "Запитано", + "imported": "Імпортовано", + "absent": "Ні прохання, ні файл не мають.", + "notSet": "Не задано", + "filesTitle": "Що приземлилося", + "fileCount": "{count, plural, one {# файл} other {# файлів} few {# файлів} many {# файлів}}", + "role": { + "cover": "Обкладинка", + "metadata": "Метадані", + "supplement": "Націнка" + }, + "fileAnyway": "Все одно зберегти файл", + "fileAnywayHint": "Файли це місце призначення і позначити наявний для запиту, точно як результат отримання.", + "noDestination": "Цей запит не має цільової бібліотеки з її папкою, тому немає куди подати книгу.", + "openDock": "Відкрити книжкову панель", + "missingEntry": "Файл, на який було проведено цей запит, більше не знаходиться в розділі Книги Док. Вона була наповнена або відкинута вручну, і тут нічого не лишилося.", + "missingEntryNext": "Якщо книжка вже знаходиться у вашій бібліотеці, закрийте запит проти неї нижче. Якщо це не так, скасуйте запит і шукайте інший реліз.", + "filed": "Зфільмувався в бібліотеку.", + "fileFailed": "Неможливо надіслати файл для імпорту", + "discard": "Скасувати цей імпорт", + "discardHint": "Використовуйте це, коли випуск виявився неправильною книгою. Файли видаляються з Книги Док-панелі і запит позначений не вдалося." + }, + "sources": { + "noneConfigured": "Не налаштувано жодного джерела пошуку.", + "allDisabled": "Всі джерела пошуку вимкнуто.", + "noneConfiguredHint": "Запити можуть бути файловані, але пошукові запити не змінюватимуться, поки ви не додасте індексатор або встановите вихідний плагін.", + "allDisabledHint": "Запити не вписані, але пошукові запити в них не будуть знайдені, доки ви знову не перемкнете їх.", + "askAdmin": "Запити не можуть бути подані, але адміністратор не здійснить наступні запити.", + "addSource": "Додати джерело", + "reviewSources": "Перегляд джерел" + }, + "selfServeBadge": "Самообслуговування", + "selfServeBadgeHint": "Завантажено безпосередньо через запит, без кроку затвердження", + "missingFormat": { + "labelAudiobook": "Аудіокнига", + "labelEbook": "Електронна книга для цієї книги", + "noAudiobook": "Немає аудіокнигу", + "noEbook": "Нема жодної книги", + "requestAudiobook": "Запит на аудіобдук", + "requestEbook": "Запросити електронну книгу", + "requested": "Запитано", + "requestedBySomeone": "Запит дав хтось інший", + "ownedElsewhere": "У вашій бібліотеці як окрема книжка", + "open": "Відкриті", + "viewRequest": "Переглянути запит", + "submittedAudiobook": "Запитано. Аудіобакцію буде приєднуватися до цієї книги, коли вона прибуде", + "submittedEbook": "Запитано. Електронна книга буде приєднуватися до цієї книги, коли вона прибуде" + } + }, "collection": { + "visibleToAll": "Видимі всім користувачам", + "visibleToAllHint": "Кожен користувач може бачити цю колекцію, але тільки ви можете змінити її книги", "dialog": { "name": "Ім'я", "icon": "Іконка", @@ -4429,6 +8876,7 @@ }, "createDialog": { "title": "Нова збірка", + "podcastTitle": "Нова колекція Подкастів", "namePlaceholder": "напр. Вибране" }, "editDialog": { @@ -4480,6 +8928,7 @@ "bookCount": "{count, plural, =0 {жодної книги} one {# книга} few {# книг} many {# книг} other {# книг}}", "fileCount": "{count, plural, =0 {Немає файлів} one {# файл} few {# файл} many {# файл} other {# файл}}", "uploadedToast": "Вивантажено {uploaded}", + "uploadFailedToast": "Помилка вивантаження для {failed}", "uploadPartialToast": "Вивантажено {uploaded}, {failed} не вдалося", "bookDock": "Книга док", "statistics": "Статистика", @@ -4487,6 +8936,10 @@ "annotations": "Анотації", "uploadBooks": "Завантажити книгу", "appearance": "Зовнішній вигляд", + "appearanceDescription": "Виберіть тему, акцент, радіус кута, поверхню та параметри фону.", + "style": "Стиль", + "surfacePalette": "Поверхня", + "topGlow": "Верхнє підсвічування", "theme": "Тема", "accent": "Акцент", "radius": "Radius", @@ -4506,7 +8959,9 @@ "body": "Якщо BookOrbit допомагає у вашій бібліотеці, будь ласка, розгляньте можливість розміщення проекту на GitHub. Це допоможе більшій кількості людей знайти застосунок і підтримує постійний розвиток.", "cta": "Зоряна книгарня на GitHub" }, - "surfaceOpacity": "Непрозорість поверхні" + "surfaceOpacity": "Непрозорість поверхні", + "surfaceOpacityValue": "{value}%", + "surfaceBrightnessValue": "{value}%" }, "sidebar": { "dashboard": "Приладна дошка", @@ -4523,13 +8978,22 @@ "newCollection": "Нова збірка", "noCollections": "Поки що немає колекцій", "newReleaseNotes": "Доступні нові нотатки щодо випуску", + "requestBadge": { + "allActive": "{count, plural, one {# активний запит для всіх користувачів} other {# активних запитів для всіх користувачів} few {# активних запитів для всіх користувачів} many {# активних запитів для всіх користувачів}}", + "mineActive": "{count, plural, one {# активних запитів вашого} other {# активних запитів на вас} few {# активних запитів на вас} many {# активних запитів на вас}}" + }, "support": "Підтримка BookOrbit", "supportAria": "Підтримка BookOrbit на Ko-fi", + "appLinks": { + "ios": "Додаток для iOS", + "android": "Додаток Android незабаром" + }, "sectionHeader": { "add": "Додати", "showAll": "Показати всі", "showCount": "Показати {count}", "rowsShown": "Відображати рядки", + "menuAria": "Параметри розділу для {section}", "reorder": "Змінити порядок", "doneReordering": "Перегрупування закінчено" }, @@ -4551,6 +9015,18 @@ "filterPodcastLibraries": "Filter podcast libraries", "filterPodcastLibrariesPlaceholder": "Filter podcast libraries...", "seeAllPodcastLibraries": "See all podcast libraries ({count})", + "podcastScopes": "Подкастові обсяги", + "newPodcastScope": "Новий розділ Подкастів", + "noPodcastScopes": "Поки що таких областей подкастів немає", + "filterPodcastScopes": "Фільтрувати скопи подкастів", + "filterPodcastScopesPlaceholder": "Фільтр областей подкастів...", + "seeAllPodcastScopes": "Переглянути всі області подкастів ({count})", + "podcastCollections": "Подкастська колекція", + "newPodcastCollection": "Нова колекція Подкастів", + "noPodcastCollections": "Поки що немає колекцій podcast", + "filterPodcastCollections": "Фільтр колекції подкастів", + "filterPodcastCollectionsPlaceholder": "Фільтр колекції подкастів...", + "seeAllPodcastCollections": "Переглянути всі колекції подкастів ({count})", "queue": "Queue", "mode": { "books": "Books", @@ -4558,15 +9034,28 @@ "switcherAria": "Switch between books and podcasts" }, "updateAvailable": "Оновити {version}", + "updateTooltip": "Доступні оновлення {version}", + "openUpdateRelease": "Відкрийте реліз {version} на GitHub", "zones": { - "browse": "Переглянути" + "browse": "Переглянути", + "reading": "Читання" }, "reorder": { "gripAria": "Замовити {name}", + "lifted": "Відомий {name} , позиція {position} з {total}. Використовуйте клавіші зі стрілками, щоб перемістити його.", "moved": "{name}, позиція {position} {total}", + "dropped": "{name} опустився на позицію {position} із {total}", "cancelled": "Замовлення скасовано. {name} повернувся до позиції {position} {total}.", "filteredHint": "Очистити фільтр для зміни порядку" - } + }, + "podcastImportProgress": "{processed} / {total} файли", + "podcastImportCounting": "Підрахунок файлів…", + "playlists": "Розумні плейлісти", + "newPlaylist": "Новий Розумний список відтворення", + "noPlaylists": "Немає розумних списків відтворення", + "filterPlaylists": "Фільтрувати смарт-списки відтворення", + "filterPlaylistsPlaceholder": "Фільтрувати смарт-списки відтворення...", + "seeAllPlaylists": "Переглянути всі розумні плейлісти ({count})" }, "selectionActionBar": { "setReadingStatus": "Встановити статус читання", @@ -4580,6 +9069,8 @@ "moreActions": "Більше дій", "setField": "Встановити поле", "refreshMetadata": "Обновити метадані", + "refreshConfirm": "{count, plural, one {Оновіть метадані для # книги} other {Оновити метадані до # книг?} few {Оновити метадані до # книг?} many {Оновити метадані до # книг?}}", + "refreshConfirmAction": "Оновити", "reExtractCover": "Перевитягти обкладинку", "metadataLock": "Блокування метаданих", "lockAll": "Заблокувати все", @@ -4628,9 +9119,82 @@ "columnsHint": "Використовуйте панель видимості стовпців у заголовку таблиці, щоб показати або приховати стовпці.", "coverShape": "Форма обкладинки", "circle": "Коло", - "square": "Квадрат" + "square": "Квадрат", + "rowDensity": "Висота рядка", + "densityCompact": "Компактний", + "densityComfortable": "Cosy", + "densityRoomy": "Руми", + "coverFallback": "Використовуйте обкладинку для відсутніх портретів" + }, + "viewModes": { + "grid": "У вигляді сітки", + "list": "У вигляді переліку", + "table": "Вигляд таблиці" } }, + "browseHeader": { + "eyebrow": { + "library": "Бібліотека", + "smartScope": "Розумний обсяг", + "collection": "Колекція", + "browse": "Переглянути" + }, + "facts": { + "books": "{count, plural, one {# книга} other {# книг} few {# книг} many {# книг}}", + "booksOf": "{matching} від {total, plural, one {# книга} other {# книг} few {# книг} many {# книг}}", + "authors": "{count, plural, one {# автор} other {# авторів} few {# авторів} many {# авторів}}", + "series": "{count, plural, one {# серія} other {# серія} few {# серія} many {# серія}}", + "scanned": "Відскановано {time}", + "scanningProgress": "Сканування {processed} / {total}", + "syncsToKobo": "Синхронізація з Кобо" + }, + "switcher": { + "open": "Перейти з {name}", + "jumpTo": "Перейти до...", + "libraries": "Бібліотеки", + "smartScopes": "Розумні обсяги", + "collections": "Колекції", + "empty": "Нічого не знайдено" + }, + "search": { + "removeToken": "Видалити фільтр {label}", + "clearAll": "Очистити пошук та фільтри", + "save": "Зберегти", + "summaryToken": "{count, plural, one {# фільтр} other {# фільтри} few {# фільтри} many {# фільтри}}" + }, + "tokens": { + "anyOf": "Будь-яке з {count, plural, one {# правила} few {# правил} many {# правил} other {# правила}}", + "allOf": "Все {count, plural, one {# правило} other {# правил} few {# правил} many {# правил}}" + }, + "sort": { + "sortBy": "Сортувати за {field}", + "ascending": "За спаданням перемкнутися на", + "descending": "За спаданням. Перемкнутись на зростання" + }, + "facets": { + "format": "Форматувати", + "rules": "Правила", + "show": "Показати", + "library": "Бібліотека", + "status": "Статус", + "ruleCount": "{count, plural, one {# правило} other {# правил} few {# правил} many {# правил}}" + }, + "menu": { + "more": "Детальніше для {name}", + "editRules": "Змінити правила", + "deleteSmartScope": "Видалити Розумну область", + "deleteCollection": "Видалити колекцію", + "confirmDelete": "Видалити \"{name}\"? Цю дію неможливо скасувати.", + "upload": "Завантажити книгу" + }, + "scan": { + "scanning": "Сканування", + "started": "Сканування {name}", + "finished": "Сканування {name} завершено" + }, + "viewModes": "Режим перегляду", + "legend": "Кольори гучності" + }, "iconPicker": { "clearSelectionAria": "Очистити вибрану іконку", "searchLucide": "Шукати піктограми...", @@ -4649,28 +9213,52 @@ "description": "Цей {entity} не існує, або був видалений.", "goBack": "Повернутися назад" }, + "media": { + "volume": "Об'єм", + "mute": "Вимкнути звук", + "unmute": "Увімк. звук" + }, "themePicker": { "light": "Світла", "dark": "Темна", "system": "Система" }, + "radiusPicker": { + "sharp": "Гострі кути", + "default": "Кути за замовчуванням", + "rounded": "Закруглені кути", + "pill": "Кути у формі колони" + }, "languagePicker": { + "searchPlaceholder": "Пошук мов", "suggested": "Пропоновані", "all": "Усі мови", - "results": "Результати" + "results": "Результати", + "empty": "Не знайдено мов \"{query}\"" }, "userAvatar": { - "profilePicture": "Зображення профілю" + "profilePicture": "Зображення профілю", + "profilePictureOf": "Профіль {name}" }, "ui": { "sidebar": { "title": "Sidebar", "mobileDescription": "Відображає бічну панель.", - "toggle": "Перемикач бічної панелі" + "toggle": "Перемикач бічної панелі", + "collapse": "Згорнути панель", + "expand": "Expand sidebar", + "open": "Розгорніть бічну панель", + "close": "Закрити бічну панель" }, "chipInput": { "typeAndEnter": "Введіть і натисніть Enter щоб додати", - "pressEnter": "Натисніть Enter, щоб додати" + "pressEnter": "Натисніть Enter, щоб додати", + "remove": "Видалити {value}" + }, + "tokenSelect": { + "remove": "Видалити {value}", + "noMatches": "Збігів немає", + "showOptions": "Показати опції" } }, "entityIndex": { @@ -4688,10 +9276,55 @@ "noMatches": "Збігів немає", "noMatchesHint": "Спробуйте інший пошуковий термін.", "bookCount": "Книги: {count}", + "showCount": "Показати: Z{count}", "librariesEmptyHint": "Створіть бібліотеку, щоб почати додавати книги.", "podcastLibrariesEmptyHint": "Create a podcast library to start following shows.", "smartScopesEmptyHint": "Розумні області зберігають набір фільтрів, які ви часто використовуєте.", "collectionsEmptyHint": "Колекції згрупованих книг, які ви обираєте вручну." + }, + "legalNotices": { + "about": "Про BookOrbit", + "trigger": "Юридична інформація", + "title": "Про BookOrbit", + "description": "Підписка на закладки, ліцензування та вихідний код.", + "poweredBy": "Працює на закладці", + "originalDevelopment": "Ця програма містить матеріал, розроблений як BookOrbit.", + "copyright": "Авторські права (C) 2025-2026 неон.", + "contributors": "Додаткові авторські права проводяться відповідно до розробників BookOrbt.", + "licenseSummary": "Ліцензія розміщена під GNU Affero General Public License, лише з додатковими термінами. Це програмне забезпечення надається без гарантії. Ви можете перепоширювати та змінювати його за цими умовами.", + "sourceCode": "Початковий код", + "license": "Ліцензія AGPLv3", + "additionalTerms": "Додаткові терміни" + }, + "confirmDialog": { + "typeToConfirm": "Введіть “{phrase}\", щоб підтвердити" + }, + "formSheet": { + "discardTitle": "Скасувати зміни?", + "discardDescription": "Ваші незбережені зміни буде втрачено.", + "discardConfirm": "Відкинути" + }, + "backgroundPicker": { + "none": "Без ефекту", + "dots": "Крапки", + "cross": "Кросс", + "millimeter": "Millimeter", + "blueprint": "Креслення", + "brushed": "Заставлено", + "scanlines": "Рядки пікселів", + "vinyl": "Вініл", + "carbon": "Вуглець", + "perforated": "Перфорований", + "aurora": "Aurora", + "horizon": "Горизонт", + "glow": "Світіння", + "mesh": "Сітка", + "elevation": "Висота", + "prism": "Призма", + "spectrum": "Спектр", + "spectrum-x": "Спектр X", + "spectrum-plus": "Спектр Плюс", + "eclipse": "Затемнення" } }, "customIcons": { @@ -4699,6 +9332,7 @@ "dialogDescription": "Перегляньте імена перед додаванням їх до вашої бібліотеки.", "readingFiles": "Зчитування файлів...", "dropPrompt": "Перетягніть файли SVG або натисніть, щоб переглянути", + "fileLimit": "Відповідно до {max} файлів, кожні 128 КБ", "namePlaceholder": "Ім'я", "nameRequired": "Потрібне ім'я", "invalidSvg": "Неприпустимий SVG", @@ -4712,6 +9346,7 @@ "upload": "Вивантажити", "uploadCount": "Вивантажити {count}", "onlySvgSupported": "Підтримуються лише файли SVG", + "maxStaged": "Ви можете виконати не більше за {max} іконок одночасно", "onlyMoreCanStage": "{count, plural, =0 {Більше значків не може бути проіндексовано} one {Ще # значка може бути проіндексовано} few {Решта іконок можуть бути розміщені на сцені} many {Решта іконок можуть бути розміщені на сцені} other {Решта іконок можуть бути розміщені на сцені}}", "readFailed": "Не вдалося прочитати файли SVG", "uploadedCount": "{count, plural, =0 {Немає завантажених значків} one {Завантажено # значок} few {Завантажено # значків} many {Завантажено # значків} other {Завантажено # значків}}", @@ -4728,6 +9363,10 @@ "cover": "Обкладинка", "bookCover": "Книжкова обкладинка" }, + "libraryLoad": { + "errorTitle": "Не вдалося завантажити ваші бібліотеки", + "errorDescription": "BookOrbit не вдалося отримати бібліотеки. Дані вашої бібліотеки не були видалені." + }, "scroller": { "failedToLoad": "Не вдалося завантажити.", "empty": { @@ -4743,6 +9382,7 @@ }, "settings": { "title": "Налаштування панелі", + "preferencesTitle": "Налаштування меню налаштувань", "tabs": { "widgets": "Віджети", "shelves": "Укриття" @@ -4771,6 +9411,32 @@ "random": "Відкрийте щось нове", "smartScope": "Розумна область видимості" }, + "shelfLayout": { + "title": "Макет Шелфа", + "description": "Виберіть розташування полиць на великих екранах.", + "wide": "Широкі рядки", + "wideDescription": "Показувати по одній полиці в рядок.", + "twoColumns": "Дві колонки", + "twoColumnsDescription": "Показувати дві полиці по одному ряду." + }, + "shelfSync": { + "label": "Синхронізувати полиці через сеанси", + "description": "Збережіть замовлення на полиці, видимість, розмір рядків і макет до вашого облікового запису. При вимкненні налаштування залишаться в цьому браузері." + }, + "saveFailed": "Не вдається зберегти налаштування панелі керування. Перевірте підключення та повторіть спробу.", + "libraryScope": { + "title": "Панелі бібліотек", + "description": "Виберіть, які бібліотеки вносять до книг та читають дані на цю панель.", + "allLibraries": "Всі доступні бібліотеки", + "summaryNone": "Бібліотеки не вибрані", + "summaryCount": "{count, plural, one {# бібліотека} other {# бібліотеки} few {# бібліотеки} many {# бібліотеки}}", + "required": "Виберіть принаймні одну бібліотеку." + }, + "shelfRows": { + "label": "Записи книг", + "option": "{count, plural, one {Один рядок книг} other {# рядків книг} few {# рядків книг} many {# рядків книг}}", + "hint": "Яку кількість рядків книжок на полиці показує, які екрани не показують максимум два." + }, "reorderHintWidget": "Перетягніть щоб змінити порядок. Ввімкніть, щоб показати або приховати віджет.", "reorderHintShelf": "Перетягніть щоб змінити порядок. Ввімкніть, щоб показати або приховати полицю.", "smartScope": "Розумна область видимості", @@ -4831,6 +9497,8 @@ "neglectedGems": { "title": "Забуті коштовні камені", "empty": "Всі ваші рейтингові книги були прочитані!", + "rating": "{rating}/5", + "daysWaiting": "{count}д очікування", "queued": "Поставлено в чергу", "addToQueue": "Додати до черги", "shuffle": "Випадковий порядок" @@ -4860,7 +9528,8 @@ "title": "Читання Rhythm", "empty": "Почніть читати, щоб побачити форму ритму", "activeDays": "{count, plural, =0 {немає активних днів} one {# активний день} few {# активних днів} many {# активних днів} other {# активних днів}}", - "consistency": "{activeDays} · {percent}% послідовності" + "consistency": "{activeDays} · {percent}% послідовності", + "avgPerDay": "у середньому {time}/день" }, "readingStreak": { "title": "Читання серії", @@ -4877,7 +9546,8 @@ "trendSteady": "Стійкий темп", "pages": "сторінок", "hours": "годин", - "readCount": "{count} прочитано" + "readCount": "{count} прочитано", + "daysLeft": "Залишилося {count}д" } } }, @@ -4900,6 +9570,7 @@ }, "tabs": { "providers": "Постачальники", + "servers": "Поштові сервери", "recipients": "Одержувачі", "groups": "Групи", "templates": "Шаблони", @@ -4918,6 +9589,7 @@ "username": "Ім'я користувача", "password": "Пароль", "passwordEdit": "Пароль (залиште порожнім, щоб зберігати поточний)", + "fromName": "Ім'я відправника", "fromNamePlaceholder": "Моя бібліотека", "fromAddress": "Домашня адреса", "authentication": "Автентифікація", @@ -4966,6 +9638,7 @@ "useAccountDefault": "Стандартні налаштування", "kindleNote": "Отримувачі Kindle автоматично отримувати електронні листи з темою \"convert\" в режимі перетворення формату.", "empty": "Одержувачів поки немає.", + "prefersFormat": "віддає перевагу {format}", "deleteTitle": "Видалити отримувача?", "nameEmailRequired": "Ім'я та пошта обов'язкові", "created": "Створено одержувачем", @@ -5011,6 +9684,7 @@ "editTemplate": "Редагувати шаблон", "empty": "Ще немає шаблонів.", "notesHeading": "Примітки шаблону", + "notesBody": "Системні шаблони не можна видалити. Адміністратори можуть їх редагувати. Використовуйте такі змінні, як {variable} , в темах і тілах. Вони будуть замінені деталі книги при відправленні.", "deleteTitle": "Видалити шаблон?", "nameSubjectRequired": "Ім'я та тема є обов'язковими", "created": "Шаблон створений", @@ -5065,6 +9739,306 @@ "sending": "Надсилається...", "queued": "{count, plural, =0 {Листи в черзі} one {одну е-пошту поставлено в чергу} few {# листів в черзі} many {# листів в черзі} other {# листів в черзі}}", "failed": "Не вдалося надіслати" + }, + "page": { + "addRecipient": "Додати одержувача", + "recipients": "Одержувачі", + "groups": "Групи", + "newGroup": "Нова група", + "servers": "Поштові сервери", + "addServer": "Додати поштовий сервер", + "templates": "Шаблони", + "newTemplate": "Новий шаблон", + "noServersReadonly": "З Вами поки що немає жодного поштового сервера. Зверніться до адміністратора, щоб додати його.", + "roleShared": "Поділилися з усіма", + "roleSystem": "Скидання пароля", + "cantConnect": "Неможливо підключитися", + "builtIn": "Вбудований", + "recipientsEmptyTitle": "Додати електронного читача або поштову скриньку, до якої ви відправляєте книги", + "recipientsEmptyBody": "Адреса Kindle закінчується на {kindle} і вказана в розділі «Пристрої» вашого облікового запису Amazon. Книга PocketBook закінчується на {pocketbook}. Будь-яка звичайна папка \"Вхідні\" теж працює.", + "kindleNote": "Kindle приймає повідомлення лише від затверджених відправників. Додайте {address} в параметрах персональних документів у вашому обліковому записі Amazon.", + "copyAddress": "Копіювати адресу до буфера обміну", + "addressCopied": "Адреса скопійована", + "editServer": "Редагувати {name}", + "editTemplate": "Редагувати {name}", + "editGroup": "Редагувати {name}", + "groupCount": "{count, plural, one {# recipient} other {# recipients} few {# recipients} many {# recipients}}", + "recipientsHint": "Якщо ви надішлете, зірку вибрано одне з них.", + "groupsHint": "Відправляти одночасно декільком отримувачам.", + "groupsEmpty": "Поки немає жодної групи.", + "serversHint": "Родинна зірка направляє ваші книжки.", + "templatesHint": "Тема та повідомлення, що надсилаються з кожною книжкою.", + "kindleTemplateNote": "Kindle ніколи не показує шаблону: його email завжди виходить з темою {subject}.", + "test": "Тест", + "testServer": "Тест {name}", + "testOk": "{name} підключено", + "testFailed": "{name} не може підключитись", + "defaultRecipient": "Типовий отримувач", + "makeDefaultRecipient": "Зробити {name} основним одержувачем", + "defaultServer": "Сервер за замовчуванням", + "makeDefaultServer": "Зробити {name} сервером за замовчуванням", + "defaultTemplate": "Шаблон за замовчуванням", + "makeDefaultTemplate": "Зробити {name} стандартним шаблоном", + "editRecipient": "Редагувати {name}", + "serversEmptyTitle": "Немає поштових серверів", + "serversEmptyBody": "Книги виходять через обліковий запис SMTP. Gmail, Outlook, iCloud і Fastmail - один клік, а всі інші сервери також працюють.", + "needServerTitle": "Додайте поштовий сервер, перш ніж ви зможете відправити", + "needServerBody": "BookOrbit надсилає книги через ваш SMTP обліковий запис, наприклад, Gmail із паролем застосунків.", + "needServerAsk": "Попросіть адміністратора поділитися з вами поштовим сервером.", + "goToServers": "Перейти до поштових серверів", + "noEncryption": "Не шифрування" + }, + "route": { + "defaultSaved": "Оновлення за замовчуванням" + }, + "attention": { + "title": "Потребує уваги", + "count": "{count, plural, one {# предмет} other {# предметів} few {# предметів} many {# предметів}}", + "hide": "Приховати", + "show": "Показати", + "serverDown": "{name} не може підключитись", + "notDelivered": "{book} не досяг {recipient}", + "maybeDelivered": "{book} можливо, не досягнуто {recipient}", + "testedAgo": "перевірено {time}", + "editServer": "Редагувати сервер", + "editRecipient": "Редагувати одержувача", + "resend": "Повторно надіслати" + }, + "reason": { + "tooLarge": "{size} більше, ніж приймає {server}.", + "tooLargeGmail": "{size} прикріплений ліміт за 25 MB.", + "tooLargeFix": "Відправте меншу редакцію або задайте одержувача лише в текстові EPUB.", + "signIn": "{server} відмовив у вході.", + "signInFix": "Перевірте ім'я користувача та пароль на поштовому сервері.", + "unreachable": "{server} не відповів.", + "unconfirmed": "Після того, як було передано повідомлення, з'єднання, підключення могло бути відсутнім.", + "unconfirmedFix": "Перевірити вхідні повідомлення перед надсиланням або можна отримати двічі.", + "interrupted": "Книга перезапущено під час виходу з цієї електронної пошти.", + "interruptedFix": "Перевірте вхідні повідомлення перед надсиланням.", + "preparation": "Не вдалося підготувати файл для надсилання.", + "other": "Поштовий сервер був відключений.", + "server": "поштовий сервер", + "serverMessage": "Повідомлення сервера", + "retryAt": "Далі спробуйте {time}." + }, + "status": { + "sent": "Надіслано", + "sending": "Надсилання", + "retrying": "Відновлення · Z{attempt} від {total}", + "unconfirmed": "Непідтверджено", + "failed": "Не вдалося" + }, + "recent": { + "moreActions": "Додаткові дії для {title}", + "deletedBook": "Видалена книга", + "openBook": "Відкрити книгу", + "resend": "Повторно надіслати", + "delete": "Видалити запис" + }, + "log": { + "all": "Всі", + "attention": "Потребує уваги", + "active": "Обробка", + "book": "Книжка", + "sentTo": "Відправлено на", + "file": "Файл", + "status": "Статус", + "when": "Коли", + "sentMeans": "Відправлені означає, що ваш поштовий сервер прийняв його", + "emptyFilter": "Тут поки що нічого немає.", + "loadMore": "Завантажити ще", + "showing": "Показані {shown} з {total}", + "emptyTitle": "Поки що нічого не надіслано", + "emptyBody": "Книги з'являються тут з тим, де вони їхали, і чи потребує поштовий сервер." + }, + "card": { + "nothingSent": "Поки що нічого не надіслано", + "failed": "помилка", + "retrying": "переробити", + "unconfirmed": "не підтверджено", + "sending": "відправка", + "narration": "Постановка", + "narrationTitle": "Читання книг утримають свою розповідь" + }, + "device": { + "kindle": "Фіндл", + "kobo": "Kobo", + "other": "Інший електронний читач", + "otherShort": "Електронна книга", + "none": "Персон або вхідні" + }, + "sheet": { + "title": "Відправити по електронній пошті", + "sendTo": "Надіслати до", + "groups": "Групи", + "templateName": "Шаблон {name}", + "eachFormat": "Формат кожного отримувача", + "formatForAll": "{format} для всіх", + "file": "Файл", + "mailServer": "Сервер вхідної пошти", + "template": "Шаблон", + "yourDefault": "за замовчуванням", + "emails": "{count, plural, one {# email} other {# emails} few {# emails} many {# emails}}", + "noOnePicked": "Не вибрано жодного", + "total": "загалом {size}", + "send": "{count, plural, one {Надіслати} few {Надіслати # листи} many {Надіслати # листів} other {Надіслати # листа}}", + "noFormat": "Немає {format}, отримує {got}", + "readAlong": "Файл читання, {size}", + "overKindle": "{size}, більш ніж 50 МБ ліміт на суму", + "overGmail": "{size}, через 25 МБ ліміт Gmail", + "kindleRejects": "Kindle rejects {format}", + "blockedKindle": "{name} не може взяти {format}. Виберіть EPUB або PDF, або зняти його.", + "books": "{count, plural, one {# книга} other {# книг} few {# книг} many {# книг}}", + "notReadyTitle": "Електронна пошта ще не налаштована", + "notReadyBody": "До книги не буде йти куди завгодно, цей обліковий запис потребує поштового сервера та отримувача.", + "addServer": "Додати поштовий сервер", + "addServerHint": "Gmail, Outlook, iCloud, Fastmail або будь-який обліковий запис SMTP.", + "askForServer": "Попросіть адміністратора поділитися поштовим сервером.", + "addRecipient": "Додати одержувача", + "addRecipientHint": "Ваш Kindle, PocketBook або будь-яка вхідна скринька.", + "openSettings": "Відкрити налаштування електронної пошти", + "sendingTitle": "Відправка {title}", + "closeHint": "Ви можете закрити це. Порушення також з'являються у ваших сповіщеннях та в історії вашої історії електронної пошти.", + "openHistory": "Відкрити історію", + "done": "Виконано", + "acceptedBy": "Прийнято {server} {time}", + "handingOver": "Перехід {server}" + }, + "editor": { + "kindleSubject": "конвертувати", + "recipient": { + "newTitle": "Новий одержувач", + "description": "Ім'я одержувача, адреса, адресу та пристрій отримано.", + "sectionRecipient": "Одержувач", + "sectionReceives": "Що він отримує", + "name": "Ім'я", + "email": "Адреса електронної пошти", + "device": "Пристрій", + "deviceHint": "Об’єднання змінює тему на {subject} і обмежує формати нижче.", + "format": "Форматувати", + "formatPrimary": "Основна книга", + "formatHint": "Книга без цього формату отримує основну редакцію.", + "kindleFormatHint": "Amazon перестав приймати email MOBI та AZW3 електронною поштою у 2023 році, тому їх не пропонують у Kindle. Книга без цього формату отримує основну редакцію.", + "kindleLegacyFormat": "Kindle більше не приймає {format} по електронній пошті. Виберіть EPUB або PDF.", + "readAlong": "Читання усіх книг", + "readAlongAutomatic": "Автоматично", + "readAlongAutomaticHint": "Лише в режимі безпечної копії може бути зроблено, інакше оригінал.", + "readAlongTextOnly": "Лише тексти EPUB", + "readAlongTextOnlyHint": "Переналаштування неможливе. Недостатньо місця для електронної пошти.", + "readAlongOriginal": "Оригінал з розповіддю", + "readAlongOriginalHint": "Триває розповідь. Часто десять 100 МБ або більше, над обмеженням більшості поштових серверів.", + "notForKindle": "Не для Kindle", + "template": "Шаблон", + "templateDefault": "Ваша по замовчуванню ({name})", + "templateKindleHint": "Ігнорується для Kindle, який ніколи не показує повідомлення.", + "approveTitle": "Затвердити відправника в Amazon", + "approveBody": "Kindle видаляє електронну пошту з адрес, які йому не відомі, без відмов. У {path} додайте {address}", + "approvePath": "Керуйте вашим контентом і пристроями › Налаштування Особистих Документів", + "approveNoServer": "Для початку додайте поштовий сервер, щоб побачити адресу Kindle повинен затверджувати.", + "lastSent": "Остання книга, відправлена {time}", + "sendTest": "Відіслати тестовий лист", + "testSubject": "Книгарифмічна тестова пошта", + "testBody": "Це тест з BookOrbit. Якщо ви можете його прочитати, книги відправлені на {name} також прибудуть тут.", + "testSent": "Тестовий лист відправлено на {name}", + "testFailed": "Тестовий лист не пройшло: {error}", + "makeDefault": "Зробити швидкого надсилання отримувачів", + "remove": "Видалити отримувача", + "removeConfirm": "Видалити {name}?", + "removeConsequence": "Це зостається історія.", + "removeDefaultConsequence": "Її історія залишилась, а Вас закінчує пошук іншого, поки Ви не обрали іншого отримувача.", + "required": "Ім'я та адреса електронної пошти є обов'язковими.", + "sectionLastSent": "Останнє надсилання" + }, + "server": { + "newTitle": "Новий поштовий сервер", + "description": "SMTP сервер, його вхід та користувач можуть відправляти через нього.", + "sectionProvider": "Постачальник", + "sectionServer": "Сервер", + "sectionSignIn": "Увійти", + "sectionSender": "Відправник", + "sectionWho": "Хто його використовує", + "presetGmail": "Gmail", + "presetOutlook": "Прогноз", + "presetIcloud": "iCloud Mail", + "presetFastmail": "Фаштайл", + "presetOther": "Інший SMTP", + "presetHint": "Загадована заливка в хості, порту та безпеці. Їх все ще можна змінити.", + "name": "Ім'я", + "host": "Хост", + "port": "Порт", + "security": "Безпека", + "securityStarttls": "STARTTLS", + "securitySsl": "SSL/TLS", + "securityNone": "Без ефекту", + "securityHint": "STARTTLS на 587, SSL/TLS 465. Один чи інший - ніколи і те, і інше.", + "needsPassword": "Для цього сервера потрібен пароль", + "username": "Ім'я користувача", + "password": "Пароль", + "appPassword": "Пароль додатку", + "passwordKeep": "Збережено. Введіть текст для заміни", + "appPasswordHint": "Gmail та iCloud потрібен пароль додатку, а не пароль до вашого облікового запису.", + "fromName": "Від імені", + "fromAddress": "Ваша адреса", + "fromAddressHint": "Власники Kindle повинні затвердити цю адресу.", + "share": "Поділитися з усіма", + "shareHint": "Інші люди можуть відправляти книги через цей сервер, не бачачи пароль.", + "system": "Надіслати посилання для скидання пароля і авторизації", + "systemHint": "Один сервер BookOrbit сам по собі використовує. Це може змінити лише суперкористувач.", + "verifyTls": "Перевірка сертифікату сервера", + "verifyTlsHint": "Вимкніть лише для сервера в вашій мережі з самостійно підписаним сертифікатом.", + "test": "Перевірка підключення", + "testDirty": "Спершу зберігати, а потім тест", + "testOk": "Підключено", + "testFailed": "Неможливо підключитися: {error}", + "remove": "Видалити сервер", + "removeConfirm": "Видалити {name}?", + "removeConsequence": "Кожен, хто має сили, зазнає поразки.", + "removeSystemFirst": "Вимкніть скидання пароля на цьому сервері перед видаленням.", + "makeDefault": "Використовувати як мою типову", + "required": "Ім'я та хост є обов'язковими." + }, + "template": { + "newTitle": "Новий шаблон", + "description": "Тема та повідомлення, що надсилаються з кожною книжкою.", + "sectionTemplate": "Шаблон", + "sectionInsert": "Insert", + "sectionPreview": "Прев'ю", + "name": "Ім'я", + "subject": "Тема", + "message": "Повідомлення", + "groupBook": "Книжка", + "groupFile": "Файл", + "groupOther": "Інше", + "insertHint": "Йде до курсора, в темі або повідомленні. Порожні значення не друкують.", + "insertVariable": "Insert {variable}", + "previewWith": "Попередній перегляд з", + "previewEmpty": "Надішліть один раз книгу для попереднього перегляду шаблону.", + "previewFailed": "Не вдалося відобразити попередній перегляд.", + "previewTo": "На", + "builtInReadonly": "Вбудований. Тільки суперкористувач може його змінити.", + "kindleNote": "Kindle ніколи не показує шаблон: він завжди отримує тему {subject}.", + "makeDefault": "Зробити моїм типовим", + "remove": "Видалити шаблон", + "removeConfirm": "Видалити {name}?", + "removeConsequence": "Отримувачі, які використовують його, повертаються до шаблону за замовчуванням.", + "required": "Необхідно вказати ім'я та тему.", + "attachment": "Прикріплено: {name}" + }, + "group": { + "newTitle": "Нова група", + "description": "Набір одержувачів для негайного відправлення однієї книги.", + "sectionGroup": "Група", + "sectionMembers": "Члени", + "name": "Ім'я", + "memberCount": "{count} {total}", + "noRecipientsTitle": "Немає одержувачів для вибору", + "noRecipientsBody": "Група є набором одержувачів. Додайте отримувача.", + "remove": "Видалити групу", + "removeConfirm": "Видалити {name}?", + "removeConsequence": "Її одержувачі залишаються.", + "required": "Група потребує ім'я.", + "updated": "Групу оновлено" + } } }, "errors": { @@ -5151,6 +10125,7 @@ "eligible": "правомірні книги" }, "checkingPending": "Перевірка очікуваних елементів...", + "pendingOf": "{pending} очікує на розгляд з {total} книг.", "noBooksInScope": "Немає книг для синхронізації.", "allSynced": "Всі книги вже синхронізовані.", "lastSyncedLabel": "Остання синхронізація", @@ -5168,6 +10143,7 @@ }, "lastSynced": { "justNow": "Щойно", + "minutesAgo": "{count} хв тому", "hoursAgo": "{count, plural, =0 {# годину тому} one {# годину тому} few {# годин тому} many {# годин тому} other {# годин тому}}", "daysAgo": "{count, plural, =0 {# день тому} one {# день тому} few {# днів тому} many {# днів тому} other {# днів тому}}" } @@ -5207,6 +10183,7 @@ }, "review": { "title": "Перегляд імпорту апаратних ковлин", + "subtitle": "{total} книг у твердій палітурці, {matched} знайдено.", "closeAriaLabel": "Закрити відгук про імпорт", "searchPlaceholder": "Пошук заголовку або автора", "importProgress": "Прогрес імпорту", @@ -5259,9 +10236,41 @@ } }, "linkedBooks": { + "title": "Зв'язані книги", + "description": "Показує книги, які ви зараз читаєте. Як тільки книга підійде до Хардскеро, виберіть інше видання (фізичне, ебук) тут, щоб змінити ваш прогрес читання при читанні.", + "loading": "Завантаження книг...", + "loadError": "Не вдалося завантажити книги.", "retry": "Повторити", + "empty": "На даний момент немає книг, які зараз читають.", "untitled": "Без назви", - "unknownAuthor": "Невідомий автор" + "unknownAuthor": "Невідомий автор", + "matchMethod": { + "isbn": "ІСБН", + "title": "Найменування", + "cached": "Кешовані", + "manual": "Вручну", + "metadata_id": "Метадані збігаються" + }, + "status": { + "error": "Помилка: {error}", + "linked": "З’єднані", + "linkedWithMethod": "Пов'язані ({method})", + "notLinked": "Ще не пов'язано" + }, + "unmatchedHint": "Ця книга ще не підійшла до майстерні. Вона автоматично буде синхронізована.", + "editionsLoadError": "Не вдалося завантажити видання.", + "viewEditions": "Переглянути редакції", + "noEditionsFound": "Немає редагувань.", + "booksTruncated": "Показані перші {count} книг, які ви читаєте.", + "editionsTruncated": "Показано перші видання {count}.", + "pages": "{count, plural, one {# сторінка} other {# сторінок} few {# сторінок} many {# сторінок}}", + "isbn": "ISBN {isbn}", + "current": "Поточна версія", + "useThis": "Використати це", + "toast": { + "switched": "Перемкнуто на {format}", + "switchFailed": "Не вдалося змінити редагування" + } } }, "library": { @@ -5298,12 +10307,40 @@ "title": "Стиль обкладинки", "portrait": "Вертикальна орієнтація", "square": "Квадрат", - "hint": "Портрет для електронних книг чи змішаних бібліотек. Квадрат для бібліотек, лише аудіокнижки." + "hint": "Портрет для електронних книг чи змішаних бібліотек. Квадрат для бібліотек, лише аудіокнижки.", + "hintSlots": "Портрет для електронних книг чи змішаних бібліотек, квадрат, для бібліотек, доступних аудіопошуків. Книга з кимось і з аудіозаймом показує свою книжкову обкладинку в портретній бібліотеці, і її аудіообкладинка у площі один." }, "icon": { "label": "Іконка", "placeholder": "Виберіть значок...", - "selected": "Вибрано" + "selected": "Вибрано", + "more": "Більше іконок" + }, + "identity": "Тотожність", + "podcastName": "Назва бібліотеки Podcast", + "podcastPlaceholder": "Мої підкасти", + "podcastDefaultName": "Підкасти", + "type": { + "title": "Тип бібліотеки", + "books": "Книжки", + "booksHint": "Книги, комікси та аудіокниги", + "podcasts": "Підкасти", + "podcastsHint": "RSS стрічки і кероване зберігання епізодів" + }, + "cover": { + "portraitTitle": "Портрет 2:3", + "portraitHint": "Книги і змішані бібліотеки", + "squareTitle": "Квадрат 1:1", + "squareHint": "Бібліотеки Audiobook-only", + "slotsHint": "Книжка, книга як книга, так і аудіо показує обкладинку, який відповідає цій формі." + }, + "gridShape": { + "title": "Форма сітки", + "tallTitle": "Шкіряні клітини", + "tallHint": "Найкраще для електронних книг чи змішаних бібліотек", + "squareTitle": "Квадратні клітини", + "squareHint": "Найкраще для бібліотек аудіосупроводу", + "hint": "Кожна книга показує обкладинку свого основного формату, квадрату для аудіокниги. Прикриття, яке не збігається з плитками, слідує за параметрами відображення обкладинки." } }, "folders": { @@ -5329,7 +10366,42 @@ "noneAdded": "Немає папок ще не додано", "runPrescanHint": "Запустити прес-сервер для перевірки шляхів перед збереженням.", "scanning": "Сканування…", - "prescan": "Прескан" + "prescan": "Прескан", + "local": { + "title": "Існуючі теки подкастів", + "optional": "За бажанням", + "description": "Ці теки ви вже зберігаєте подкасти. Книга читає їх, де вони є, і ніколи не перейменовує, переміщується і видаляє будь-що всередині.", + "addTitle": "Додати існуючу папку подкастів", + "addDescription": "Кожна папка безпосередньо всередині стає шоу.", + "add": "Додати іншу теку", + "remove": "Видалити {folder}" + }, + "listTitle": "Папки", + "storageTitle": "Тека зберігання", + "matchingFiles": "{count, plural, one {# відповідні файли} other {# відповідні файли} few {# відповідні файли} many {# відповідні файли}}", + "bookCount": "{count, plural, one {# книга} other {# книг} few {# книг} many {# книг}}", + "checkAll": "Перевірити папки знову", + "checkAgain": "Перевірити {folder} знову", + "checkHint": "Кожна папка буде перевірена, як тільки ви її додасте. Папка з іншою бібліотекою вже є помічена тому що обидві бібліотеки імпортуватимуть однакові файли.", + "emptyHint": "Вставте шлях до сервера нижче або перегляньте його.", + "emptyPodcastHint": "Виберіть, де будуть зберігатися завантажені епізоди подкасту.", + "pastePlaceholder": "Вставити шлях сервера, наприклад /books/Scifi", + "pastePodcastPlaceholder": "Вставити шлях сервера, напр. /podcasts", + "browse": "Огляд...", + "status": { + "checking": "Перевірка", + "failed": "Помилка перевірки", + "notAccessible": "Недоступний", + "overlap": "Також через {library}", + "overlapTitle": "Бібліотека \"{library}\" вже читає цю папку.", + "files": "{count, plural, one {# файл} other {# файлів} few {# файлів} many {# файлів}}" + }, + "errors": { + "empty": "Введіть шлях до папки сервера.", + "notAbsolute": "Введіть абсолютний шлях сервера, починаючи з /.", + "duplicate": "Ця папка вже додана.", + "covered": "Ця папка вже покрита {path}." + } }, "scanner": { "scanMode": { @@ -5346,6 +10418,49 @@ "hint": "Вважати кожен файл індивідуальною книгою. Найкраще підходить для бібліотек з одним форматом на заголовок. Уникайте, якщо ваші аудіокупи мають багато файлів." } }, + "addedAt": { + "title": "Дата додавання", + "hint": "Виберіть, з чого відображує \"дата додавання\". Це стосується книг, імпортованих тепер.", + "options": { + "imported": { + "title": "При імпорті", + "hint": "Дата, коли BookOrbit вперше імпортував книгу. Це значення за замовчуванням." + }, + "file_modified": { + "title": "Час зміни", + "hint": "Останній час зміни файлу (mtime) часто зберігається, коли файли копіюються." + }, + "file_created": { + "title": "Час створення файлу", + "hint": "Коли файл вперше приземлився на диску (час народження). Відновлюється відповідно до зміни часу на файлових системах, які не записують часу створення." + } + }, + "recompute": "Відновити зараз", + "recomputing": "Повторне створення...", + "recomputeHint": "Оновити дату додання для існуючих книг, використовуючи це налаштування.", + "recomputeSaveFirst": "Збережіть зміни спочатку, потім переобчислюйте існуючі книги.", + "backgroundConfirm": "Записувати дати в існуючих книгах? Це працює у фоні, і закрити цей редактор. Книги з нечитабельними файлами зберігаються в поточній даті.", + "progressSummary": "Оброблено {processed} з {total}: {updated} оновлено, {unchanged} , не змінено, {skipped} пропущено, {failed} не вдалося.", + "failedBooksHint": "Книги завершились з помилками. Перевірте доступ до файлів, потім повторіть обчислення, щоб повторити спробу.", + "jobStatus": { + "running": "Записування дат у фоновому режимі.", + "completed": "Дата переобчислення.", + "failed": "Recompute зупинено до завершення роботи. Завершені зміни було збережено; можна безпечно запустити його знову." + }, + "errors": { + "sourceImported": "Зберегти початкову позначку часу до переобчислення дат.", + "alreadyRunning": "Переобчислення вже запущено для цієї бібліотеки.", + "busy": "Інші перерахунки виконуються. Скоро спробуйте ще раз.", + "requestFailed": "Не вдалося підключитися до служби переобчислення. Закрийте і знову відкрийте цей редактор, щоб перевірити його статус.", + "interrupted": "Статус завдання більше не доступний. Можливо, його перервано через перезавантаження сервера. Повторіть спробу перед безпечним запуском." + }, + "failureSample": "Забронювати {bookId}: {reason}", + "failureReasons": { + "file_unavailable": "Не вдалося прочитати файл вмісту.", + "unsafe_path": "Файл вмісту знаходиться поза її папкою дозволена бібліотека.", + "database_error": "Не вдалося оновити базу даних." + } + }, "allowedFormats": { "title": "Дозволені формати", "allowAll": "Дозволити все", @@ -5359,6 +10474,36 @@ "hintAfter": ").", "add": "Додати", "empty": "Немає доданих шаблонів." + }, + "mode": { + "title": "Приклад того, як файли стають книгами", + "locked": "Встановити під час створення", + "cannotChange": "Це один параметр, ви не зможете змінити пізніше.", + "folderHint": "Кожна папка є однією книгою. Найголовніше, коли заголовок зберігає декілька форматів разом, або аудіозапис зберігається у багатьох файлах.", + "fileHint": "Кожен файл є його власною книгою. Найкраще для пласких папок з одним форматом за заголовок.", + "folderResult": "Одна книга з двома форматами", + "fileResult": "Три книги, один за файл" + }, + "import": { + "title": "Імпорт", + "all": "Всі формати", + "some": "Тільки ці", + "groups": { + "ebook": "Електронні листи", + "kindle": "Фіндл", + "document": "Документи", + "comic": "Комікси", + "audio": "Аудіо" + } + }, + "skip": { + "title": "Пропустити завантаження до файлів", + "count": "{count, plural, one {# шаблон} other {# шаблон} few {# шаблон} many {# шаблон}}", + "hint": "Шаблони Glob, що відповідають шляхам всередині бібліотеки бібліотек.", + "inputLabel": "Шаблон для пропуску", + "placeholder": "Введіть шаблон на зразок **/samples/** і натисніть Enter", + "placeholderMore": "Додати інший шаблон", + "remove": "Видалити шаблон {pattern}" } }, "metadata": { @@ -5369,6 +10514,91 @@ "formatPriority": { "title": "Пріоритет формату", "hint": "Коли в книги є кілька форматів, формат з найвищим рівнем у списку є кращим." + }, + "moveUp": "Перемістити {item} вгору", + "moveDown": "Перемістити {item} вниз", + "primary": { + "title": "Основний файл", + "hint": "Коли в книзі міститься кілька файлів, перший формат у цьому порядку стає його основним файлом: той, що відкриває першим і постачає книжкові деталі. Перетягни ряд або використайте стрілки.", + "reset": "Скинути порядок", + "first": "Перший вибір", + "notImported": "Не імпортовано", + "notHeld": "{count, plural, one {# формат цієї бібліотеки не тримає місце за промовчанням.} other {# форматів ця бібліотека не підтримує типовий порядок виконання} few {# форматів ця бібліотека не підтримує типовий порядок виконання} many {# форматів ця бібліотека не підтримує типовий порядок виконання}}", + "moreBelow": "{count, plural, one {Ще # формат випливає з цього замовлення} other {# форматів слідують за цим замовленням.} few {# форматів слідують за цим замовленням.} many {# форматів слідують за цим замовленням.}}", + "showingAll": "Відображення кожного формату.", + "showAll": "Показати всі {count}", + "showFewer": "Показати менше" + }, + "source": { + "title": "Дані про бронювання надходять із", + "embeddedTitle": "Теги у файлі книги", + "embeddedHint": "Читати з основного файлу", + "opfTitle": "метадані файлу a.opf", + "opfHint": "Збережено біля книги Calibre", + "swap": "Змінити порядок", + "hint": "BookOrbit використовує першу книгу, яку має і ігнорує іншій. Calibre бібліотеки зазвичай, хочуть метадана.opf спочатку." + }, + "regex": { + "title": "Налаштування regex метаданих", + "sourceTitle": "Регулярний вираз", + "description": "Витягнути метадані з шляху до основного файлу відносно теки бібліотеки. Розширення файлу вилучено перед відповідністю до відповідності. Перше правило з доступними для використання полями.", + "enable": "Увімкнути regex метаданих", + "primaryFileHint": "Для книги, зробленої з декількох файлів, таких як звукозаписучі треки, правила читають шлях основного файлу.", + "groups": "Іменовані групи:", + "valuesHint": "Використовувати автор для одного автора або автора, розділених крапками з комою. Дати використовують YYYY-MM-DD. Прапори: я ігнорую випадку, u дозволяє Unicode.", + "rules": "Упорядковані правила видобування", + "rule": "Правило {number}", + "moveUp": "Рухатися вгору", + "moveDown": "Рухатися вниз", + "remove": "Видалити правило", + "basePath": "Папка бібліотеки", + "extensionHint": "Розширення файлу автоматично ігнорується. Кінець прив’язки збігається з назвою файлу без його розширення.", + "flags": "Прапори", + "add": "Додати правило", + "examplePath": "Приклад відносного шляху до файлу з розширенням", + "examplePlaceholder": "Author/Series/08 - My.Book.epub", + "exampleTitle": "Приклад з зворотним посиланням автора", + "exampleTestPath": "Тестовий шлях (включаючи розширення)", + "validating": "Перевірка правил…", + "validationSuccess": "Синтаксис правил і групи правильні. Використовуйте для перевірки збігів для шляху файлу.", + "validationError": "Не вдалося перевірити правила. Спробуйте ще раз, перш ніж застосовувати їх.", + "validationRetry": "Перевірити знову", + "validationRuleCount": "Додати між правилами {min} та {max}.", + "preview": "Прев'ю", + "previewing": "Правила тестування…", + "previewError": "Не вдалося переглянути правила. Перевірте відносний шлях і налаштування, а потім повторіть спробу.", + "actualInput": "Шлях перевірено:", + "matched": "Відповідне правило {number}", + "noMatch": "Не буде використано файли метаданих.", + "scanHint": "Зміни застосовуються до майбутнього видобутку метаданих для нових або змінених файлів. Збереження не запускає сканування або оновлення незміненої книги.", + "apply": "Застосувати до бібліотеки", + "configure": "Настроїти", + "enabledHint": "Видобування полів із відносних шляхів без розширень файлу.", + "disabledHint": "Вимкнено. Налаштуйте правила для увімкнення.", + "moveSourceUp": "Перемістити {source} вгору", + "moveSourceDown": "Перемістити {source} вниз", + "diagnostics": { + "pattern_required": "Введіть регулярний вираз.", + "pattern_too_long": "Вираз не повинен перевищувати {count} символів.", + "invalid_flags": "Тільки я і u дозволені, кожен одночасно.", + "invalid_pattern": "Недійсний регулярний вираз.", + "missing_group": "Включіть принаймні одну підтримувану групу.", + "conflicting_authors": "Використовувати автора або автора, а не обидва.", + "invalid_value": "Неприпустиме значення поля було пропущено.", + "timeout": "Вираз потрібен занадто довгий. Спростити шаблон.", + "busy": "Всі робітники попереднього перегляду зайняті. Спробуйте ще раз.", + "worker_failed": "Не вдалося обчислити вираз. Спробуйте знову." + }, + "precedenceHint": "Перші доступні у файлах матеріали призначені. Regex поля виконуються по цьому порядку, а відсутні значення заповнені з іншого джерела.", + "summary": "{format} , спочатку regex метадані бажано", + "fields": { + "title": "Найменування", + "authors": "Автори", + "series": "Серія", + "seriesIndex": "Номер серії", + "publishedYear": "Рік публікації", + "publishedDate": "Дата публікації" + } } }, "fileWrite": { @@ -5384,13 +10614,23 @@ }, "cover": { "title": "Додати зображення обкладинки", - "hint": "Запис обкладинки назад у підтримувані формати файлів, що зберігаються." + "hint": "Запис обкладинки назад у підтримувані формати файлів, що зберігаються.", + "mediumHint": "Також записує збережену обкладинку у файл. Файли електронних книг містять обкладинку книг та аудіофайлів отримають обкладинку Audiobook - файл, в якому не вистачає обкладинки." + }, + "allFiles": { + "title": "Пишіть у кожен файл книги", + "hint": "Також записується до книг інші файли книг, такі як звук, що зберігається поруч з її електронних книг або PDF та в тій же папці. Кожен формат книги є написаним, так що дайте супутній файл, як книгу своєї папки, щоб не розголошувати її. Формат перемикачів та обмеження розміру нижченаведені на тарифний план. Увімкнення цього вимкнення зупиняє майбутні записи; це не відміняє вже записані файли." }, "epub": { "title": "ЕПУБ", "hint": "Записує метадані у файл OPF всередині архіву EPUB.", "toggleAria": "Записати метадані EPUB" }, + "readAlong": { + "title": "Читання вздовж EPUB", + "hint": "EPUB з синхронізованою розповіддю, такою як читання історій. Вони носять свій аудіо, великі і потребують більше пам'яті для перезапису.", + "toggleAria": "Запис читання разом з EPUB метаданими" + }, "fb2": { "title": "Книга виквітів (FB2)", "hint": "Записує блок опису всередині файлів FB2, залишивши текст книги недоторканим.", @@ -5414,8 +10654,20 @@ "audio": { "title": "Аудіо", "hint": "Вбудовує збережену обкладинку в M4B, M4A, MP3 і FLAC файли.", - "toggleAria": "Записувати аудіо обкладинки" - } + "toggleAria": "Записувати аудіо обкладинки", + "tagsHint": "Пише теги, такі як заголовок, автори, оповідачі та серії в M4B, M4A, MP3 та FLAC файли.", + "tagsToggleAria": "Запис аудіо метаданих" + }, + "coverAudioHint": "Записує збережену обкладинку у файл теж. Аудіо файли можуть приймати лише обкладинку.", + "audioNeedsCover": "Потрібне \"Включити зображення для обкладинки\".", + "table": { + "format": "Форматувати", + "inLibrary": "Тут", + "sizeLimit": "Обмеження розміру" + }, + "sizeLimitAria": "Обмеження розміру {format} в МБ", + "mb": "МБ", + "summary": "{count, plural, =0 {Типи файлів не записані.} one {# вид файлу записано. Файли в подальшому обмеження розміру пропущені.} other {Записано # типів файлів. Пропускаються файли в більше ліміту їх розмірів.} few {Записано # типів файлів. Пропускаються файли в більше ліміту їх розмірів.} many {Записано # типів файлів. Пропускаються файли в більше ліміту їх розмірів.}}" }, "reading": { "readingStart": { @@ -5424,12 +10676,23 @@ }, "markAsFinished": { "title": "Позначити як завершене", - "hint": "Книга автоматично позначена як \"прочитане\", коли досягнуто цього відсотка." - } + "hint": "Книга автоматично позначена як \"прочитане\", коли досягнуто цього відсотка.", + "invalidThreshold": "Завершений прогрес повинен бути між 90% та 100%." + }, + "statusTitle": "Стан читання", + "zones": { + "notStarted": "Не розпочато", + "reading": "Читання", + "read": "Прочитано" + }, + "range": "Між {min} та {max}.", + "startSlider": "Перетягніть для встановлення, коли книга вважається запущеною", + "finishSlider": "Перетягніть для встановлення, коли книга буде відображатись як завершена" }, "schedule": { "fileWatching": "Перегляд файлу", "autoScanSchedule": "Розклад автосканування", + "timezoneHint": "Розклад роботи на часовому поясі сервера.", "cronExpression": "Команда планувальника завдань", "cronInvalid": "Недопустимий вираз cron.", "cronFormat": "Формат: хвилинний день місяця тижня", @@ -5448,6 +10711,7 @@ }, "human": { "disabled": "Автосканування вимкнуто", + "invalid": "Введіть дійсний розклад для перегляду попереднього перегляду", "hourly": "Кожну годину", "every6Hours": "Кожні 6 годин", "every12Hours": "Кожні 12 годин", @@ -5478,9 +10742,104 @@ "errors": { "grant": "Не вдалося надати доступ", "updateLevel": "Не вдалося оновити рівень доступу", - "revoke": "Не вдалося відкликати доступ" + "revoke": "Не вдалося відкликати доступ", + "load": "Не вдалося завантажити параметри доступу до бібліотеки." + }, + "peopleTitle": "Люди з доступом", + "peopleCount": "{count, plural, one {# особа} other {# людей} few {# людей} many {# людей}}", + "add": "Додати", + "emptyCreate": "Поки що ніхто не додає. Додавайте сюди доступ, як тільки бібліотека вже існує.", + "superusers": "Суперкористувачі завжди мають повний доступ.", + "levelsHint": "Переглядачі можуть переглядати і читати. Редактори та власники можуть також редагувати метадані, якщо їх обліковий запис має дозвіл на редагування метаданих.", + "levelFor": "Доступ до рівня {name}", + "revokeFor": "Прибрати доступ для {name}", + "revokeQuestion": "Видалити доступ?", + "revoke": "Видалити", + "keep": "Донжон", + "failed": { + "title": "{count, plural, one {# людей не вдалося додати} other {# людей не можливо додати} few {# людей не можливо додати} many {# людей не можливо додати}}", + "body": "Бібліотека була створена. Спробуйте додати {names} ще раз, або додати їх пізніше в цьому розділі." } - } + }, + "optional": "За бажанням", + "nav": { + "details": "Бібліотека", + "folders": "Папки", + "scanner": "Сканування", + "metadata": "Метадані", + "reading": "Читання", + "schedule": "Автоматизація", + "fileWrite": "Оновлення файлів", + "access": "Доступ", + "descriptions": { + "details": "Як виглядає її обкладинка.", + "folders": "Сервер теки з цієї бібліотеки читає.", + "scanner": "Як файли згруповані в книги, і які файли пропущені.", + "metadata": "Який файл призводить до того, що з цього лежить серйозна книга, і звідки беруться її деталі.", + "reading": "Коли книга рухається від непрочитаних до прочитання.", + "schedule": "Тримати поточну бібліотеку без натискання кнопки Чудова.", + "fileWrite": "Необов'язкові зміни BookOrbit можуть робити до файлів на диску.", + "access": "Хто ще може бачити і працювати у цій бібліотеці." + } + }, + "sheet": { + "createTitle": "Нова бібліотека", + "createHint": "Назвіть його і вказуйте у папку. Все інше починається з розумного значення за замовчуванням.", + "editFallbackTitle": "Налаштування бібліотеки", + "editSubtitle": "{books, plural, one {# книга} other {# книг} few {# книг} many {# книг}} · {folders, plural, one {# папка} other {# папки} few {# папки} many {# папки}} · {mode}", + "editSubtitleNoBooks": "{folders, plural, one {# папка} few {# папки} many {# папок} other {# папки}} · {mode}", + "readyHint": "Готовий до створення. Решта може почекати.", + "needsHint": "Потрібна назва, іконка і папка.", + "discardQuestion": "Відхилити незбережені зміни?", + "discard": "Відкинути", + "keepEditing": "Продовжити редагування", + "done": "Виконано", + "loading": "Параметри завантаження...", + "staleWarning": "Не вдалося завантажити останні налаштування бібліотеки. Ви можете змінити кешовані налаштування, що показані тут.", + "scanNow": "Сканувати" + }, + "summary": { + "needsName": "Потрібне ім'я", + "needsIcon": "Потрібен значок", + "needsFolder": "Потрібна папка", + "detailsPortrait": "{name} · Портретна обкладинка", + "detailsSquare": "{name} · Квадратні покриви", + "folders": "{folders, plural, one {# папка} other {# папки} few {# папки} many {# папки}}", + "foldersFiles": "{folders, plural, one {# папка} other {# папки} few {# папки} many {# папки}} · {files, plural, one {# файл} other {# файлів} few {# файлів} many {# файлів}}", + "foldersBooks": "{folders, plural, one {# папка} other {# папки} few {# папки} many {# папки}} · {books, plural, one {# книга} other {# книг} few {# книг} many {# книг}}", + "scannerAll": "{mode} · Всі формати", + "scannerSome": "{mode} · {count, plural, one {# формат} few {# формати} many {# форматів} other {# формату}}", + "metadataFile": "{format} веде · Спершу файл книги", + "metadataOpf": "{format} веде · метадата.Спершу", + "reading": "Почато Z{start} · Завершено {finish}", + "watching": "Перегляд папок", + "notWatching": "Не переглядається", + "watchingScheduled": "Спостереження · {schedule}", + "watchingOnly": "Перегляд · Без розкладу", + "scheduledOnly": "Не дивиться · {schedule}", + "manualOnly": "Лише сканування вручну", + "customSchedule": "Графік користувача", + "writesAndRenames": "{count, plural, =0 {Не записує нічого} one {Пише # роду} other {Записує # Заборони} few {Записує # Заборони} many {Записує # Заборони}} · Перейменування", + "writes": "{count, plural, =0 {Не записує нічого} one {Пише # файл} other {Пише # типи файлу} few {Пише # типи файлу} many {Пише # типи файлу}}", + "renames": "Перейменування файлів", + "untouched": "Файли залишились без змін", + "onlySuperusers": "Тільки суперкористувачі", + "accessQueued": "{count, plural, one {# людини, щоб додати} other {# людей, щоб додати} few {# людей, щоб додати} many {# людей, щоб додати}}", + "accessPeople": "{count, plural, =0 {Лише суперкористувачі} one {# особа} other {# людей} few {# людей} many {# людей}}" + }, + "errors": { + "nameRequired": "Введіть ім'я бібліотеки.", + "iconRequired": "Оберіть іконку.", + "folderRequired": "Додай принаймні одну теку.", + "podcastStorageFolder": "Виберіть лише одну теку сховища для подкастів.", + "podcastFolderOverlap": "Існуючі теки подкастів повинні сидіти за межами папки сховища.", + "cronInvalid": "Введіть припустимий 5-польовий вираз cron.", + "readingStartRange": "Старт читання повинен бути між 0.05% та 5%.", + "fileSizeRange": "Обмеження розміру файлу повинні бути цілими числами від 1 до 10 000 МБ.", + "saveFailed": "Не вдалося зберегти бібліотеку.", + "connection": "Не вдалося підключитися до сервера. Перевірте підключення та повторіть спробу." + }, + "copyName": "Копія {name}" }, "folderPicker": { "title": "Огляд тек з серверу", @@ -5490,6 +10849,7 @@ "parentFolder": "Перейти до батьківської папки", "newFolder": "Нова папка", "goUp": "Догори", + "filterPlaceholder": "Фільтрувати папки…", "clearFilterAria": "Очистити фільтр тек", "newFolderNamePlaceholder": "Назва нової папки", "create": "Створити", @@ -5510,6 +10870,13 @@ "createFolder": "Не вдається створити теку" } }, + "destination": { + "loadFailed": "Не вдалося завантажити бібліотеки призначення. Закрийте і знову відкрити, щоб спробувати знову.", + "noLibraries": "Немає доступних бібліотек книг. Створіть бібліотеку або зверніться до адміністратора.", + "noFolders": "Ця бібліотека не має папок призначення. Додайте папку в налаштуваннях бібліотеки.", + "unavailable": "Вибрана бібліотека більше не доступна.", + "selectFolder": "Виберіть теку..." + }, "upload": { "library": "Бібліотека", "selectLibrary": "Виберіть бібліотеку...", @@ -5537,6 +10904,85 @@ } } }, + "metadataReminders": { + "title": "Нагадування в полі пропущене", + "navDescription": "Оберіть поля метаданих, які ви хочете бачити", + "personal": "Ваші налаштування", + "description": "Виберіть, які відсутні поля, з'являються у нагадуваннях книги. Ці налаштування застосовуються по всій бібліотеці, а не змінюють показники метаданих.", + "sheetDescription": "Виберіть поля небайдужі, не залишаючи цієї книги.", + "fieldsHeading": "Поля для перевірки", + "autoSave": "Зміни автоматично зберігаються до вашого облікового запису.", + "saving": "Збереження налаштувань...", + "saved": "Налаштування збережено.", + "reset": "Скинути до типових", + "disabled": "Не виділені поля. Нагадування приховано.", + "saveFailed": "Не вдалося зберегти ваші налаштування. Ваші попередні налаштування були відновлені.", + "customize": "Налаштування нагадувань...", + "missingHeading": "Відсутні метадані", + "missingDescription": "Відсутні поля, які ви вибрали для відстеження.", + "missingCount": "{count, plural, one {# відсутнє поле} other {# відсутнє поле} few {# відсутнє поле} many {# відсутнє поле}}", + "missingFields": "{count, plural, one {відсутнє поле} other {Відсутні поля} few {Відсутні поля} many {Відсутні поля}}", + "fields": { + "publisher": { + "label": "Автор", + "hint": "Видавець заповнений." + }, + "language": { + "label": "Мова:", + "hint": "Мова переповнена." + }, + "publication": { + "label": "Рік публікації", + "hint": "Дата і рік публікації." + }, + "pageCount": { + "label": "Кількість сторінок", + "hint": "Кількість сторінок заповнено. Пропущено тільки книги від Аудіо." + }, + "isbn": { + "label": "ІСБН", + "hint": "Або ISBN-10, або ISBN-13 достатньо." + }, + "genres": { + "label": "Genres", + "hint": "Принаймні один жанр заповнено." + }, + "tags": { + "label": "Мітки", + "hint": "Принаймні один тег заповнено." + }, + "description": { + "label": "Опис", + "hint": "Опис заповнений." + } + } + }, + "metadataCache": { + "badge": { + "cached": "Кешовані", + "stale": "Застарівший", + "cachedHint": "Збережено результат з {when}", + "cachedHintUndated": "Збережені результати", + "staleHint": "Провайдер був недоступний, тому був використаний збережений результат від {when}", + "staleHintUndated": "Провайдер був недоступний, тому був використаний збережений результат" + }, + "notice": { + "someCached": "Деякі результати пошуку були отримані від збережених (найстаріших: {when}).", + "someCachedUndated": "Деякі результати з збережених пошукових запитів.", + "someStale": "Деякі постачальники недоступні, тому збережені результати було показано (давні: {when}).", + "someStaleUndated": "Деякі постачальники не доступні, тож збережені результати було показано.", + "searchFresh": "Пошук свіжий", + "searchFreshHint": "Запитувати кожного провайдера знову замість використання збережених відповідей" + }, + "fallback": { + "usedSaved": "{count, plural, one {{providers} Було недоступно, тому були збережені результати.} other {{providers} були недоступні, тому були збережені результати.} few {{providers} були недоступні, тому були збережені результати.} many {{providers} були недоступні, тому були збережені результати.}}" + }, + "ignoreCache": { + "label": "Ігнорувати кешовані результати", + "hint": "Запитувати кожного провайдера знову замість повторного використання збережених відповідей. Повільніше, і використовувати більше дозволів кожного запиту.", + "runHint": "Застосовується до запуску, який ви починаєте. Кожному провайдеру знову запитують замість повторного використання збережених відповідей, що повільніше." + } + }, "metadataScore": { "missingFields": "{count, plural, =0 {відсутні поля - відредагуйте метаданих} one {# поле відсутнє - редагування метаданих} few {# полів відсутні - редагувати метадані} many {# полів відсутні - редагувати метадані} other {# полів відсутні - редагувати метадані}}" }, @@ -5558,7 +11004,8 @@ "source": { "short": "Вихідне з'єднання", "title": "Вихідне з'єднання", - "subtitle": "Налаштуйте зв'язок з базою даних з вашим вихідним сайтом." + "subtitle": "Налаштуйте зв'язок з базою даних з вашим вихідним сайтом.", + "genericSubtitle": "Налаштуйте з'єднання з програмою-джерельною бібліотекою." }, "mappings": { "short": "зіставлення користувача та шляху", @@ -5600,18 +11047,61 @@ "testConnection": "Перевірка підключення", "saveAndValidate": "Зберегти та підтвердити", "validatedWithWarnings": "Джерело перевірене з попередженнями", + "types": { + "booklore": "Буклор", + "grimmory": "Grimmory", + "audiobookshelf": "Аудіобуклейка", + "calibreWebAutomated": "Calibre-Web автоматизовано" + }, "fields": { "type": "Тип джерела", "name": "Ім'я джерела", + "namePlaceholder": "Імпорт бібліотеки", "host": "Хост", "port": "Порт", "user": "Користувач", "password": "Пароль", "passwordSaved": "Збережені - залиште без змін", "passwordNotSet": "Пароль не налаштовано", + "showSecret": "Показати таємний код", + "hideSecret": "Приховати секрет", "database": "База даних", "mediaRootPath": "Шлях до медіафайлів", - "ssl": "Використовувати TLS/SSL" + "ssl": "Використовувати TLS/SSL", + "connectionMode": "Режим підключення", + "apiMode": "Live API", + "backupMode": "Файл резервної копії", + "baseUrl": "URL-адреса Audiobookshelf", + "apiToken": "API token", + "apiTokenPlaceholder": "Введіть API токен адміністратора", + "secretSaved": "Збережені - залиште без змін", + "allowPrivateNetwork": "Дозволити доступ до приватної мережі", + "allowPrivateNetworkHint": "Увімкніть це тільки тоді, коли Audiobookshelf розміщується в довіреній локальній або приватній мережі.", + "backupPath": "Шлях до резервних копій", + "backupPathHint": "Введіть абсолютний шлях сервера всередині налаштованої папки імпорту міграції.", + "cwaAppDatabasePath": "Calibre-Web Автоматизований app.db snapshot", + "cwaAppDatabasePathPlaceholder": "/imports/calibre-web-automated/app.db", + "cwaMetadataDatabasePath": "Калібр метадата.db знімок", + "cwaMetadataDatabasePathPlaceholder": "/imports/calibre-web-automated/metadata.db" + }, + "validation": { + "nameRequired": "Потрібна назва джерела", + "databaseFieldsRequired": "Потрібно вказати ім'я хоста, ім'я бази даних, бази даних і початкового тексту", + "apiFieldsRequired": "URL-адреса Audiobookshelf, API маркер і ім'я джерела є обов'язковими", + "baseUrlInvalid": "Audiobookshelf URL повинен бути чистим HTTP, або HTTPS джерелом без шляху", + "backupPathRequired": "Шлях до файлу резервної копії і ім'я джерела необхідно", + "backupPathAbsolute": "Шлях до файлу резервної копії повинен бути абсолютним шляхом", + "cwaAppDatabasePathRequired": "Необхідний каталог знімків Calibre-Web app.db", + "cwaAppDatabasePathAbsolute": "Модуль Calibre-Web Automated app.db повинен бути абсолютним", + "cwaMetadataDatabasePathRequired": "Необхідний шлях для Calibre metadata.db snapshot", + "cwaMetadataDatabasePathAbsolute": "Метод Calibre metadata.db snapshot повинен бути абсолютним" + }, + "cwa": { + "snapshotTitle": "Режим знімку зупинено", + "stoppedWarning": "Зупинити калібро-Web перед копіюванням обох баз даних. Закладка не може перевірити, що два знімки були скопійовані в той самий момент.", + "importRootGuidance": "Обидва файли знімків повинні бути читабельними шляхами сервера нижче налаштованого каталогу MIGRATION_IMPORT_ROOT.", + "logicalRootGuidance": "Відображення логічних коренів в базі даних - це не кореневий каталог, збережений в app.db, не папка хост, що містить ці знімки бази даних.", + "compatibilityNote": "Поведінка схеми перевірена проти Calibre-Web Automated v4.0.6. Її бази даних не розкривають надійну версію додатка." }, "mediaPath": { "hintRequired": "Необхідно для обкладинки мігрувати книги.", @@ -5628,6 +11118,7 @@ }, "snapshot": { "title": "Остання перевірка, знімок", + "sourceVersion": "Версія джерела: Z{version}", "unknown": "Не вказано", "missingTables": "Відсутні необхідні таблиці: {tables}" } @@ -5637,6 +11128,7 @@ "refresh": "Оновити", "sourceUser": "Початковий користувач", "targetUser": "Цільовий користувач", + "doNotImport": "Не імпортувати цього користувача", "noSourceUsersLoaded": "Ще не завантажено жодного вихідного користувача.", "noActiveTargetUsers": "Не знайдено активних користувачів поблизу. Створіть або повторно увімкніть користувача BookOrbit перед зіставленням.", "pathPrefixMappings": "Відповідність префіксів шляху", @@ -5672,6 +11164,7 @@ "sourceRecordId": "ID вихідного запису #{id}", "byAuthor": "від {author} (ID: {id})", "byFilePath": "{filePath} (ID: {id})", + "bookloreSourceId": "Ідентифікатор джерела Booklore: {id}", "libraryBookId": "Бібліотечна книга #{id}" }, "preflight": { @@ -5704,6 +11197,7 @@ "refreshStatus": "Оновити статус", "pollingStopped": "Опитування стану зупинено через помилку.", "retry": "Повторити спробу", + "stage": "Стадія: Z{stage}", "initializing": "ініціалізація", "ended": "Завершено {time}" }, @@ -5744,6 +11238,7 @@ "unresolvedBooksExplanation": "Ці книги є у джерелі, але не можуть бути розміщені в будь-якій книзі у вашій бібліотеці.", "mappedUsers": "Згорнуті користувачі ({count})", "mappedUsersExplanation": "Сукупності користувачів беруться з багатоосновного попереднього перегляду сушного схованки з планом міграції.", + "coverFailures": "Імпорт обкладинок {count} не вдався. Докладні рядки несправностей не зберігаються.", "userPreviewCounts": "{statuses} статуси, пункти поступу {progress} - {sessions} сесій, {bookmarks} закладки, {annotations} анотації, {collections} запис в колекції" }, "unresolvedReason": { @@ -5751,8 +11246,10 @@ "noFilePathMatch": "Шлях до файлу не відповідає жодній книзі у цій бібліотеці", "noFileHashMatch": "Хеш файлу не відповідає жодній книзі в цій бібліотеці", "noIsbnMatch": "ISBN не відповідає жодній книзі у цій бібліотеці", + "noAsinMatch": "ASIN не відповідає жодній книзі у цій бібліотеці", "insufficientSourceData": "Недостатньо метаданих для спроби збігатися", "ambiguousIsbnMatch": "Кілька книг відповідають одному ISBN", + "ambiguousAsinMatch": "Кілька книг співпадають з тим самим ASIN", "ambiguousFileHashMatch": "Кілька книг відповідають одному хешу файлів", "ambiguousFilePathMatch": "Кілька книг відповідають одному шляху до файлу", "ambiguousTitleAuthorMatch": "Кілька книг співпадають з тим же заголовком і автором", @@ -5760,6 +11257,7 @@ }, "matchStrategy": { "isbn": "За даними ISBN", + "asin": "За участі ASIN", "fileHash": "відповідно до хешу файлу", "pathMapping": "За шляхом зіставленого файлу", "titleAuthor": "Відповів заголовку і автору програми", @@ -5786,6 +11284,7 @@ "loadSuggestionsFailed": "Не вдалося завантажити пропозиції зіставлень користувачів", "sourceFieldsRequired": "Потрібно вказати ім'я хоста, ім'я бази даних, бази даних і початкового тексту", "connectionPassedWithWarnings": "Тестування підключення пройшло з попередженнями", + "connectionPassedWithWarningCount": "Тест підключення пройдено з попередженнями {count} . Перший: {warning}", "connectionPassed": "Тестування з'єднання пройдено", "connectionMissingTables": "Підключення до ok, але {count} обов'язкова таблиця (ів) відсутня", "cannotTestMediaWhileRunning": "Неможливо перевірити шлях до медіа, коли запускається", @@ -5796,6 +11295,7 @@ "mediaPathValidationFailed": "Помилка перевірки шляху медіа.", "connectionFailedBeforeMedia": "Помилка під час перевірки підключення до медіа-шляху.", "cannotModifySourceWhileRunning": "Не вдалося змінити джерело, поки запускається", + "sourceSavedWithWarnings": "Вихідне значення збережено та перевірено через попередження {count}", "sourceSaved": "Джерело збережено та перевірене", "saveSourceFailed": "Не вдалося зберегти або перевірити джерело", "cannotSaveMappingsWhileRunning": "Не вдалося зберегти зіставлення, коли запускається", @@ -5830,10 +11330,14 @@ }, "notifications": { "title": "Сповіщення", + "description": "Переглядайте та керуйте вашими сповіщеннями.", "markAllRead": "Позначити всі як прочитані", "clear": "Очистити", "empty": "Поки немає сповіщень", "loadMore": "Завантажити більше сповіщень", + "dismiss": "Відхилити сповіщення", + "occurrences": "Щасливого результату {count}", + "occurrencesShort": "х{count}", "preferences": { "title": "Сповіщення", "subtitle": "Виберіть категорії сповіщень, які ви хочете отримати.", @@ -5852,6 +11356,20 @@ "app": "Оновлення програми" }, "enabledCount": "{enabled} з {total} увімкнено", + "levels": { + "off": { + "short": "Вимкнено", + "description": "Ніколи не сповіщати мене про це." + }, + "problems": { + "short": "Проблеми", + "description": "Повідомляти мене, коли щось не вдається або потребують уваги." + }, + "all": { + "short": "Всі", + "description": "Сповіщати мене кожного разу, включаючи успіхи." + } + }, "categories": { "scanning": { "label": "Сканування бібліотеки", @@ -5896,19 +11414,103 @@ "achievements": { "label": "Досягнення", "description": "При відкритті нового досягнення для читання." + }, + "bookRequests": { + "label": "Запити на бронювання", + "description": "Коли запит на книгу відправлено, вирішено або книга стає доступною." } } } }, "reader": { + "pageImages": { + "loadFailed": "Не вдалося відкрити цей вузол. Перевірте ваш доступ або спробуйте ще раз.", + "pageFailed": "Неможливо завантажити цю сторінку. Спробуйте ще раз коли сервер стане доступним.", + "pageAlt": "Сторінка {page}", + "previousPage": "Попередня сторінка", + "nextPage": "Наступна сторінка", + "goToPage": "Перейти на сторінку", + "pin": "Закріпити меню читача", + "unpin": "Відкріпити меню читача" + }, + "djvu": { + "pageText": "Вбудований текст сторінки", + "textDescription": "Текст, збережений у документі DjVu, OCR може містити помилки.", + "noText": "Ця сторінка не має вбудованого тексту.", + "textFailed": "Не вдалося завантажити вбудований текст цієї сторінки." + }, "retry": "Повторити спробу", "pdf": { "openError": "Не вдалося відкрити цей PDF", "preparing": "Підготовка читання PDF", - "opening": "Відкриття PDF" + "opening": "Відкриття PDF", + "loading": "Завантаження PDF", + "loadFallback": "Не вдалося завантажити документ.", + "requestFailed": "Не вдалося виконати запит PDF з статусом {status}.", + "emptyDocument": "Запит PDF повернув порожній документ.", + "managerError": "Не вдалося ініціалізувати менеджер документів PDF.", + "engineNoPages": "PDF-двигун відкрив цей документ без будь-яких сторінок.", + "engineOpenError": "PDF не може бути відкритий двигуном документа.", + "noPages": "Цей PDF відкритий без жодної сторінки", + "noPagesHint": "Перезавантажте документ для відновлення після незавершеної відповіді PDF-двигуна.", + "externalLinkTitle": "Відкрити зовнішнє посилання?", + "externalLinkDescription": "Цей PDF хоче відкрити {host} у новій вкладці.", + "openLink": "Відкрити посилання", + "annotationsLoadError": "Не вдалося завантажити підсвічування для цього PDF.", + "loadingAnnotations": "Завантаження відмітки PDF", + "loadMoreAnnotations": "Завантажити більше підсвічування", + "loadingMoreAnnotations": "Завантаження інших підсвічень…", + "sidebar": { + "pages": "Сторінки", + "contents": "Вміст", + "search": "Пошук", + "tabsLabel": "PDF navigation", + "closeNavigation": "Закрити навігацію", + "goToPage": "Перейти на сторінку {page}", + "noOutline": "Цей PDF не має контексту документів.", + "searchPlaceholder": "Шукати цей PDF", + "clearSearch": "Очистити пошук", + "matchCase": "З урахуванням регістру", + "wholeWord": "Ціле слово", + "resultPosition": "{current} {total}", + "previousResult": "Попередній результат", + "nextResult": "Наступний результат", + "searchingPage": "Пошук сторінки {page} з {total}", + "searchPrompt": "Введіть термін для пошуку цього PDF.", + "searchTooShort": "Введіть принаймні {min} для пошуку цього PDF.", + "noSearchResults": "Немає доступних текстів, які відповідають вашому запиту.", + "page": "Сторінка {page}", + "filterOutline": "Фільтрувати контури", + "noOutlineMatch": "Ні обриси не відповідають вашому фільтру.", + "loadingOutline": "Завантаження контуру", + "expandSection": "Розгорнути {title}", + "collapseSection": "Згорнути {title}", + "jumpToPage": "Перейти до сторінки", + "resizePanel": "Змінити розмір панелі навігації" + }, + "toolbar": { + "navigation": "Навігація документів", + "previousPage": "Попередня сторінка", + "currentPage": "Поточна сторінка", + "nextPage": "Наступна сторінка", + "zoomOut": "Зменшити масштаб", + "zoomIn": "Збільшити масштаб", + "panTool": "Інструмент панорамування", + "pan": "Навігація", + "selectTool": "Виберіть текстовий інструмент", + "selectText": "Виділити текст", + "pinHeader": "Закріпити шапку читача", + "unpinHeader": "Відкріпити заголовок читача", + "pinHeaderShort": "Закріпити заголовок", + "unpinHeaderShort": "Відкріпити заголовок", + "moreTools": "Більше PDF-інструментів", + "settings": "Налаштування PDF" + } }, "loadingBook": "Завантаження книги…", "failedToLoadBook": "Не вдалося завантажити книгу", + "bookLoadTimeout": "Книга займає забагато часу для відкриття. Спробуйте оновити сторінку.", + "chapterNumber": "Глава {number}", "peek": { "badge": "Пікінг", "startReading": "Почни читати" @@ -5925,6 +11527,12 @@ "keyboardShortcutsHint": "Гарячі клавіші (?)", "enterFullscreen": "Повноекранний режим", "exitFullscreen": "Вийти з повноекранного режиму", + "narrationPlaying": "Апаратна гра", + "ttsPlaying": "Відтворення тексту", + "listenWithNarrationShort": "Слухайте (розповідь)", + "listen": "Слухати", + "listenWithNarration": "Слухати розповідь", + "listenWithTts": "Слухати на TTS", "footerMode": { "pageProgress": "Інформація в підсумку: сторінка + прогрес", "sessionTimeLeft": "Інформація про футер: читання сесії + час залишок", @@ -5943,6 +11551,8 @@ "title": "Налаштування", "ariaLabel": "Параметри читання", "close": "Закрити налаштування", + "reset": "Скинути до типових", + "modeLabel": "Колірний режим", "mode": { "light": "Світла", "dark": "Темна" @@ -5950,12 +11560,25 @@ "textSize": "Розмір тексту", "textSizeSmaller": "Менший текст", "textSizeLarger": "Більший текст", + "pixels": "{value} px", + "percent": "{value}%", + "pageColor": "Колір сторінки", "font": "Шрифт", "fontBuiltIn": "Вбудована тема", "fontServer": "Шрифти сервера", "fontYours": "Ваші шрифти", "fontStyle": "Стиль", + "fontStyleItalicOf": "{style} Italic", "lineSpacing": "Міжрядковий інтервал", + "paragraphSpacing": "Абзац", + "paragraphSpacingDefault": "Типово", + "paragraphSpacingValue": "{value} em", + "letterSpacing": "Відстань між літерами", + "wordSpacing": "Відстань між словами", + "textIndent": "Відступ першої лінії", + "bookDefault": "Книжка", + "custom": "Користувацька", + "emValue": "{value} em", "pageWidth": "Ширина сторінки", "pageWidthNarrow": "Вузька", "pageWidthMedium": "Середня", @@ -5972,6 +11595,7 @@ "bookDefault": "Книга за замовчуванням", "singlePage": "Одна сторінка" }, + "advanced": "Розширена розкладка", "columns": "Колонки", "columnsFewer": "Менше колонок", "columnsMore": "Більше колонок", @@ -5981,12 +11605,29 @@ "themes": { "default": "За замовчуванням", "gray": "Сіра", - "sepia": "Сепія" + "sepia": "Сепія", + "crimson": "Малиновий", + "meadow": "Медоу", + "rosewood": "Rosewood", + "azure": "Azure", + "dawnlight": "Світане", + "ember": "Ember", + "aurora": "Aurora", + "ocean": "Океан", + "mist": "Туман", + "amoled": "AMOLED" + }, + "fonts": { + "bookDefault": "Книга за замовчуванням", + "serif": "З зарубками", + "sansSerif": "Без зарубок", + "monospace": "Моноширинний шрифт" } }, "search": { "placeholder": "Пошук у книзі (min {min} символів)...", "searching": "Пошук…", + "tooShort": "Введіть принаймні {min} символи", "noResults": "Нічого не знайдено", "prompt": "Введіть для пошуку", "resultCount": "{count, plural, =0 {немає результатів} one {# результат} few {# результат} many {# результат} other {# результат}}" @@ -6033,10 +11674,19 @@ "translate": "Переклад", "define": "Визначити", "deleteAnnotation": "Видалити анотацію", - "apply": "Прийняти" + "apply": "Прийняти", + "color": "Підсвітковий колір: {color}", + "style": "Highlight style: {style}", + "styles": { + "highlight": "Виділення", + "underline": "Підкреслений", + "strikethrough": "Закреслений", + "squiggly": "Підкреслені" + } }, "note": { - "title": "Додати примітку" + "title": "Додати примітку", + "placeholder": "Напишіть свою замітку…" }, "dictionary": { "noDefinition": "Не знайдено визначення", @@ -6074,7 +11724,13 @@ "scrollMode": "Режим прокрутки", "scrollModeHint": "Використовуйте \"Немає прогалин для вебтонів та вертикальних смуг.", "readingDirection": "Напрямок читання", + "autoAdvance": "Автоматичне розширення", + "autoAdvanceHint": "Останнім часом остання сторінка відкриває наступну книгу з серії.", + "autoAdvancePagedOnly": "Застосовується автоматичне просування лише в зазначеному режимі.", "pageView": "Перегляд сторінки", + "twoPagePagedOnly": "Дві сторінки відображається лише в розширеному режимі.", + "spreadSection": "Двосторінковий розкид", + "spreadFallbackHint": "Цей екран занадто малий для двох сторінок, тому окремі сторінки показані.", "spreadAlignmentLabel": "Поширення вирівнювання", "spreadGap": "Поширити розрив", "spreadGapValue": "{value}px", @@ -6082,6 +11738,9 @@ "widePages": "Широкі сторінки", "firstPage": "Перша сторінка", "lastPage": "Остання сторінка", + "zoomControls": "Кнопки масштабу", + "zoomOut": "Зменшити масштаб", + "zoomIn": "Збільшити масштаб", "fit": { "page": "Вмістити", "width": "Ширина сторінки", @@ -6113,6 +11772,14 @@ "black": "Чорний колір", "gray": "Сірий", "white": "Білі" + }, + "nextIssue": { + "eyebrow": "Далі в серії", + "action": "Читати далі", + "open": "Далі прочитання: {title}", + "numbered": "#{index} {title}", + "untitled": "Без назви", + "autoAdvanceHint": "Щоб продовжити, поверніть сторінку ще раз" } }, "audiobook": { @@ -6132,6 +11799,7 @@ "endOfChapter": "Кінець розділу", "noChaptersAvailable": "Розділи відсутні", "extend15": "+ 15 хвилин", + "timeLeft": "({time} ліворуч)", "playbackSpeed": "Швидкість відтворення", "noChapters": "Розділи відсутні.", "noBookmarks": "Ще немає закладок.", @@ -6139,6 +11807,23 @@ "playerSettings": "Налаштування плеєра", "skipBack": "Назад", "skipForward": "Перемотати вперед" + }, + "sheet": { + "expand": "Розгорнути панель", + "collapse": "Згорнути панель" + }, + "narration": { + "fallbackTitle": "Постановка", + "meta": "Аудіоградація - {speed}x", + "openControls": "Відкрити керування розповіддю", + "previousSentence": "Попереднє речення", + "nextSentence": "Наступне речення", + "play": "Відтворити оповідання", + "pause": "Призупинити оповідання", + "showControls": "Показати елементи керування", + "hideControls": "Приховати елементи управління", + "stop": "Зупинити оповідання", + "error": "Помилка відтворення номером" } }, "scanner": { @@ -6149,8 +11834,15 @@ "completion": { "readOfTotal": "{read} від {total} прочитано ({percentage}%)" }, + "ownership": { + "label": "У бібліотеці", + "ownedOfExpected": "{owned} з {expected} в бібліотеці" + }, "gaps": { - "label": "Можливі прогалини:" + "label": "Можливі прогалини:", + "missingCount": "{count, plural, one {# відсутнє} other {# відсутнє} few {# відсутнє} many {# відсутнє}}", + "missingList": "Відсутній {list}", + "previewMore": "{shown} +{count}" }, "filters": { "title": "Фільтри серії", @@ -6180,7 +11872,10 @@ "bookCount": "Кількість книг", "recentAdditions": "Останні доповнення", "readingProgress": "Хід читання" - } + }, + "clearSearch": "Очистити пошук", + "noMatchHint": "Спробуйте іншу бібліотеку або переконайтеся, що встановлено.", + "emptyHint": "Серія з'являється як тільки ваші книги переносять метадані серії." }, "detail": { "pageTitle": "Серія", @@ -6221,6 +11916,66 @@ "ascending": "За зростанням", "descending": "За спаданням" } + }, + "authorsPlus": "{authors} +{count}", + "track": { + "readCount": "{count, plural, one {# читати} other {# читати} few {# читати} many {# читати}}", + "readingCount": "{count, plural, one {# в прогресі!} other {# в процесі} few {# в процесі} many {# в процесі}}", + "unreadCount": "{count, plural, one {# непрочитаних} other {# непрочитаних} few {# непрочитаних} many {# непрочитаних}}", + "missingCount": "{count, plural, one {# відсутнє} other {# відсутнє} few {# відсутнє} many {# відсутнє}}", + "slotMissing": "{number} не в бібліотеці", + "untitled": "Без назви" + }, + "legend": { + "read": "Прочитано", + "reading": "Читання", + "unread": "У бібліотеці", + "missing": "Зниклі" + }, + "status": { + "label": "Фільтрувати серії за статусом читання", + "all": "Всі", + "reading": "Читання", + "unread": "Непрочитані", + "complete": "Complete", + "gaps": "Щілина", + "read": "Прочитано", + "inProgress": "Обробка", + "hasGaps": "Має прогалини", + "notStarted": "Не розпочато" + }, + "index": { + "columnSeries": "Серія", + "columnVolumes": "Томи", + "columnRead": "Прочитано", + "columnNext": "До наступного", + "columnAdded": "Додано", + "percent": "{value}%", + "captionReading": "{base} · {count, plural, one {# в процесі} other {# в прогресі} few {# в прогресі} many {# в прогресі}}", + "finished": "Читати кінець до кінця", + "reading": "Читання", + "next": "Уперед", + "start": "Старт" + }, + "grouping": { + "label": "Групувати за", + "none": "Без групування", + "letter": "За літерою", + "library": "По бібліотеці", + "status": "За статусом" + }, + "libraries": { + "more": "+{count}" + }, + "card": { + "oneVolume": "Один звук", + "oneVolumeShort": "1 вол", + "volumeCount": "{count, plural, one {# об'єм} other {# об'ємів} few {# об'ємів} many {# об'ємів}}", + "readSummary": "{base} · {read} прочитано", + "publishedOf": "Опубліковано {owned} з {total}", + "complete": "Complete", + "moreVolumes": "{count, plural, one {Ще більше об'єму} other {Ще # об'ємів} few {Ще # об'ємів} many {Ще # об'ємів}}", + "label": "{name}, {read} томів {total} прочитаних" } }, "smartScope": { @@ -6241,6 +11996,7 @@ }, "createDialog": { "title": "Нова розумна область дії", + "podcastTitle": "Новий Розумний список відтворення", "createFailed": "Не вдалося створити Розумний простір" }, "saveAsDialog": { @@ -6268,6 +12024,14 @@ "noGenres": "Немає жанрів", "epubOnly": "Лише EPUB" } + }, + "errors": { + "load": "Не вдалося завантажити інтелектуальні обсяги", + "loadEpisodes": "Не вдалося завантажити епізоди для цього смарт-плейлісту", + "save": "Не вдалося зберегти смарт-область", + "delete": "Не вдалося видалити смарт-діапазон", + "reorder": "Не вдалося змінити порядок локальних даних", + "koboSync": "Не вдалося оновити синхронізацію Kobo для цього розумного обсягу" } }, "statistics": { @@ -6376,27 +12140,34 @@ "title": "Топ 50 Серії" }, "booksCompleted": { - "title": "Книги завершені" + "title": "Книги завершені", + "notEnoughData": "Потрібно принаймні {count} закінчили книги для цього графіку." }, "completionLatency": { - "title": "Затримка завершення" + "title": "Затримка завершення", + "notEnoughData": "Потрібно принаймні {count} закінчили книги для цього графіку." }, "completionTimeline": { - "title": "Історія завершень" + "title": "Історія завершень", + "notEnoughData": "Потрібно принаймні {count} закінчили книги для цього графіку." }, "favoriteReadingDays": { - "title": "Улюблені Дні Читання" + "title": "Улюблені Дні Читання", + "notEnoughData": "Потрібно не менше {count} для цього графіку." }, "genreReadingTime": { - "title": "Час читання жанрів" + "title": "Час читання жанрів", + "notEnoughData": "Потрібні принаймні гени {count} з часом читання для цього графіку." }, "goalTrajectory": { "title": "Темп проти мети", "noCompletedTitle": "Ще немає завершених книг", - "noCompletedDescription": "Завершіть книгу за цей період, щоб порівняти темпи роботи з вашою річною метою." + "noCompletedDescription": "Завершіть книгу за цей період, щоб порівняти темпи роботи з вашою річною метою.", + "notEnoughData": "Потрібно принаймні {count} закінчили книги для цього графіку." }, "peakReadingHours": { - "title": "Години піку для читання" + "title": "Години піку для читання", + "notEnoughData": "Потрібно не менше {count} для цього графіку." }, "progressFunnel": { "title": "Прогрес вонель", @@ -6404,17 +12175,21 @@ "modeCounts": "Лічильники", "modeDropoff": "Виключення", "started": "Запущено {count}", + "notEnoughData": "Потрібно принаймні {count} щоб отримати цю діаграму.", "noDropOffTitle": "Жодних випадаючих списків", "noDropOffDescription": "Кожна початкова книга переросла через всі воронки в цей період." }, "readingClock": { - "title": "Читання годинника" + "title": "Читання годинника", + "notEnoughData": "Потрібно принаймні {count} сесій читання для цього графіку." }, "readingHeatmap": { - "title": "Читання карти" + "title": "Читання карти", + "notEnoughData": "Потрібна активність тільки для {count} днів для цього графіку." }, "readingPace": { - "title": "Читаюча фігура" + "title": "Читаюча фігура", + "notEnoughData": "Потрібно принаймні {count} сесій з прогресивними даними для цього графіку." }, "readingSessionTimeline": { "title": "Читання часової шкали сесії", @@ -6422,6 +12197,7 @@ "dragOff": "Дракон: Вимкнено", "prev": "Попередня", "next": "Уперед", + "week": "Тиждень {week}", "dragHint": "Перетягніть смужки для переміщення сесій. Тривалість заблокована і проєднуються сесії відхилено.", "noSessionsTitle": "Цього тижня немає сеансів", "noSessionsDescription": "Використовуйте попередній / Наступний або тижневий селектор для перегляду іншого тижня.", @@ -6434,7 +12210,9 @@ "sourceDistribution": { "title": "Де ви читали", "emptyTitle": "Поки що читання активності немає", - "emptyDescription": "Читайте в Інтернеті, KOReader, або Кобо, щоб побачити свій вихідний розділ." + "emptyDescription": "Читайте в Інтернеті, KOReader, або Кобо, щоб побачити свій вихідний розділ.", + "emptyDescriptionWithAppleClients": "Читайте в Інтернеті, в iOS app, Apple Watch, KOReader, або Кобо, щоб побачити свій вихідний розділ.", + "emptyDescriptionWithNativeClients": "Читайте в Інтернеті, iOS app, Android app, Apple Watch, KOReader або Кобо, щоб побачити свій вихідний розділ." } } }, @@ -6442,7 +12220,8 @@ "header": { "entityManager": "Менеджер сутностей", "bulkRename": "Групова перейменування", - "duplicateBooks": "Дублікати книг" + "duplicateBooks": "Дублікати книг", + "missingResources": "Відсутні ресурси" }, "entityTypes": { "authors": "Автори", @@ -6461,8 +12240,19 @@ "previewFailed": "Не вдалося завантажити попередній перегляд", "executionFailed": "Не вдалося перейменувати основну назву", "openBookDetails": "Відкрити відомості про книгу", + "openBook": "Відкрити книгу", + "toRenameCount": "{count, plural, =0 {нічого не перейменувати} one {# перейменувати} other {# перейменувати} few {# перейменувати} many {# перейменувати}}", + "applyCount": "{count, plural, one {Застосуйте # перейменувати} other {Застосуйте # перейменовани} few {Застосуйте # перейменовани} many {Застосуйте # перейменовани}}", + "search": { + "placeholder": "Знайти книгу або шлях", + "label": "Знайти книжку", + "clear": "Очистити пошук" + }, "filter": { - "all": "Всі" + "all": "Всі", + "changes": "Зміни", + "conflicts": "Конфлікти", + "unchanged": "Без змін" }, "status": { "willRename": "Перейменуватиме", @@ -6471,14 +12261,106 @@ "noPattern": "Шаблон відсутній", "error": "Помилка" }, + "group": { + "collision": "Конфлікт призначення", + "unchanged": "Уже правильний", + "noPattern": "Немає намірів", + "error": "Ерроред", + "includeAll": "Включити кожну перейменування {kind}", + "expand": "Розгорнути {kind}", + "collapse": "Згорнути {kind}", + "heldBack": "Їх не можна перейменувати" + }, + "changeKind": { + "ungroup": "Групування серій вилучено", + "flatten": "Видалено дублікат рівня теки", + "yearRemoved": "Рік публікації видалено", + "yearAdded": "Рік публікації додано", + "yearCorrected": "Рік публікації коригується", + "authorSpelling": "Перевірка імені автора", + "capitalisation": "Капіталізація і інтервал", + "unsafeCharacters": "Небезпечні символи замінено", + "filenameRebuilt": "Ім'я файлу перебудовано з метаданих", + "folderRenamed": "Папку перейменовано", + "rebuilt": "Теку та ім'я файлу перебудовано", + "restructured": "Зміна шляху", + "multiple": "Кілька змін" + }, + "select": { + "ofSelected": "вибрано {total}", + "toggleAll": "Виберіть чи очистіть кожну перейменування", + "toggleGroup": "Виберіть або очистіть усі перейменування {kind}", + "toggleBook": "Перейменувати {title}" + }, + "review": { + "loadMore": "Завантажити ще", + "queue": "Очікування перейменування", + "position": "{index} {total}", + "previous": "Попередня книга", + "next": "Наступна книга", + "keyboardHint": "переміщення", + "keyboardSkip": "пропустити", + "skip": "Пропустити", + "include": "Включити", + "excluded": "Виключені", + "back": "Назад до списку" + }, + "detail": { + "whatChanges": "Що змінює", + "foldedFolders": "{count, plural, one {# незмінена папка} other {# незмінені теки} few {# незмінені теки} many {# незмінені теки}}", + "onDisk": "На диску", + "today": "Сьогодні", + "afterRename": "Після перейменування", + "showLibraryFolders": "Показати папки в бібліотеці", + "hideLibraryFolders": "Сховати папки з бібліотекою", + "currentPath": "Поточний шлях", + "whyItMoves": "Чому воно рухається", + "levelTop": "Топ папка", + "levelFolder": "Тека {depth}", + "levelFilename": "Ім'я файлу", + "levelRemoved": "Видалено", + "tokenCount": "{count, plural, one {# маркер} other {# токени} few {# токени} many {# токени}}", + "optionalLevel": "Необов'язковий рівень папки, що створюється групою в шаблоні.", + "removedExplainer": "Шаблон іменування не має папки на цьому рівні, тому {folder} скидається і вміст переміщений вгору.", + "conflictTitle": "Інший файл вже вимагає цього місця призначення.", + "conflictBody": "Перейменування перезапише це, тож ця книга зберігається до тих пір, поки не буде вирішений конфлікт.", + "siblings": "{count, plural, one {Ще # з тією ж зміною} other {Ще # із тією ж зміною} few {Ще # із тією ж зміною} many {Ще # із тією ж зміною}}", + "siblingsMore": "+{count} більше" + }, "empty": { "title": "Виберіть бібліотеку, щоб почати", "description": "Виберіть наведену вище бібліотеку для попереднього перегляду змін, фільтр за статусом і перейменування масових змін.", - "chooseLibrary": "Вибрати бібліотеку" + "chooseLibrary": "Вибрати бібліотеку", + "noneTitle": "Нічого переглядати", + "noneDescription": "Жодна книга не відповідає поточному фільтру. Очистити пошук або перемкнутись на Все.", + "noMatch": "Пошук не дав жодної книги." }, "confirmDialog": { "title": "{count, plural, few {Перейменувати # файли на диску?} many {Перейменувати # файлів на диску?} one {Перейменувати # файл на диску?} other {Перейменувати # файли на диску?}}", - "body": "Ця дія переміщує реальні файли всередині {library}. BookOrbit записує кожне переміщення, але скасування означає повернення назв." + "body": "Ця дія переміщує реальні файли всередині {library}. BookOrbit записує кожне переміщення, але скасування означає повернення назв.", + "willRename": "Буде перейменовано", + "skippedByYou": "Пропущені вами", + "heldBack": "Підтримується як конфлікти", + "untouched": "Зліва без змін", + "confirm": "{count, plural, one {Перейменувати # файл} other {Перейменувати # файл} few {Перейменувати # файл} many {Перейменувати # файл}}", + "cannotRename": "Не можна перейменувати" + }, + "run": { + "preparing": "Підготовка…", + "preparingHint": "Перевірка кожного файлу на відповідність шаблону іменування перед всіма переміщеннями.", + "title": "Перейменування {done} в {total}", + "runningHint": "Файли змінюються. Ви можете зупинитися після того, як поточний файл закінчиться.", + "stop": "Зупинити після цього файлу", + "resultTitle": "{done, plural, one {Перейменовано # з {total} файлів} few {Перейменовано # з {total} файлів} many {Перейменовано # з {total} файлів} other {Перейменовано # з {total} файла}}", + "resultFailed": "{count, plural, one {# не вдало} other {# невдача} few {# невдача} many {# невдача}}", + "resultSkipped": "{count, plural, one {# пропущено} other {# пропущено} few {# пропущено} many {# пропущено}}", + "dismiss": "Відхилити" + }, + "executionError": { + "http": "Сервер відхилив запит (HTTP {status}).", + "noBody": "Сервер не пересилає тіло відповіді.", + "incomplete": "З’єднання завершено до перейменування. Деякі файли не можуть бути перейменовані.", + "unknown": "Перейменування не може бути завершено." } }, "bookDuplicates": { @@ -6514,7 +12396,16 @@ "isbn": "ІСБН", "formats": "Формати", "collections": "Колекції", - "added": "Додано" + "added": "Додано", + "size": "Розмір", + "metadata": "Метадані", + "reading": "Читання", + "folder": "Тека", + "noIsbn": "Не задано", + "notStarted": "Не розпочато", + "outOfHundred": "/100", + "percentRead": "{percent} прочитано", + "fileCount": "{count, plural, one {# файл} other {# файлів} few {# файлів} many {# файлів}}" }, "initial": { "title": "Знайти повторювані книги", @@ -6534,16 +12425,107 @@ "status": "Не вдалося завантажити хід сканування.", "scan": "Не вдалося виконати сканування дублікатів. Спробуйте запустити його знову.", "results": "Не вдалося завантажити повторювані групи.", - "delete": "Не вдалося видалити виділені дублікати." + "delete": "Не вдалося видалити виділені дублікати.", + "dismiss": "Не можна відхилити цю групу.", + "restore": "Не можна відновити цю пару." }, "pagination": { "label": "Дублювати сторінки груп", "page": "Сторінка {page} з {total}" + }, + "similarityOption": "{percent} і вище", + "scannedBooks": "{count} книг · Перевірено {when}", + "scanProgress": "{processed} з книг {total}", + "recommended": "Рекомендовані", + "keeping": "Кіпінг", + "willDelete": "Видалити", + "keepCopy": "Зберегти {name}", + "selectGroup": "Вибрати {title}", + "selectAll": "Виберіть кожну групу на цій сторінці", + "compareCopies": "Порівняйте копії {title}", + "compareCaption": "Поле з порівнянням полів при копіях {count}", + "fieldColumn": "Поле", + "filesEach": "{count, plural, one {# файлів кожен} other {# файлів кожен} few {# файлів кожен} many {# файлів кожен}}", + "moreFilesCount": "{count, plural, one {і ще # файл} other {і ще # файлів} few {і ще # файлів} many {і ще # файлів}}", + "identicalAcross": "{count, plural, one {Ідентичні в обох копіях:} other {Ідентичні в усіх # копіях:} few {Ідентичні в усіх # копіях:} many {Ідентичні в усіх # копіях:}}", + "deleteGroup": "{count, plural, one {Видаліть # копію, безкоштовно {size}} other {Видалити # копій, безкоштовно {size}} few {Видалити # копій, безкоштовно {size}} many {Видалити # копій, безкоштовно {size}}}", + "confidence": { + "file_hash": "Ідентичні", + "isbn": "Такий самий ISBN", + "exact_metadata": "Точна відповідність", + "fuzzy_metadata": "Схожі", + "withSimilarity": "{label} {percent}" + }, + "summary": { + "groups": "{count, plural, one {група} other {групи} few {групи} many {групи}}", + "extraCopies": "{count, plural, one {Додаткова копія} other {Додаткові копії} few {Додаткові копії} many {Додаткові копії}}", + "reclaimable": "зворотний" + }, + "columns": { + "match": "Матч", + "book": "Книжка", + "copies": "Копії", + "libraries": "Бібліотеки", + "frees": "Фрейс", + "keeping": "Кіпінг" + }, + "keepRule": { + "label": "Донжон", + "metadata": "Найкращі метадані", + "size": "Найбільші файли", + "formats": "Більшість форматів", + "oldest": "Найстаріша копія", + "newest": "Нова копія", + "hint": "Пікає утримувача в кожній групі. Ви можете перевизначити будь-який рядок." + }, + "sort": { + "label": "Упорядкувати", + "reclaimable": "Найбільше вільне місце", + "copies": "Більшість копій", + "confidence": "Найсильніший матч", + "title": "Назва A до Я" + }, + "keeper": { + "yourChoice": "Ваш вибір", + "reading": "ви через нього {percent}", + "collection": "це є в {name}", + "metadata": "метадані {score}", + "largest": "Найбільший в {size}", + "formats": "Формат {count}", + "isbn": "має ISBN", + "added": "додано {date}", + "riskReading": "видаляє резервну копію, що ви {percent} через", + "riskCollection": "видаляє копію в {name}" + }, + "selection": { + "summary": "{groups} груп вибрано, {copies} копій для видалення, звільняє {size}", + "clear": "Очистити", + "review": "{count, plural, one {Перевірте # копію} other {Перегляньте # копії} few {Перегляньте # копії} many {Перегляньте # копії}}", + "hint": "Відзначте ті групи, яким ви довіряєте, або відкрийте одну з них, щоб порівняти її копії." + }, + "keys": { + "move": "переміщення", + "expand": "розгорнути", + "keep": "залишити", + "select": "вибрати" + }, + "review": { + "title": "{count, plural, one {Видалити # копію} other {Видалити # копії} few {Видалити # копії} many {Видалити # копії}}", + "description": "По групах {groups} звільняються від {size}. Нічого не буде видалено до підтвердження.", + "riskWarning": "{count, plural, one {# група видаляє всі дані читання.} other {# групи видаляють копію, несучи ваші дані про читання} few {# групи видаляють копію, несучи ваші дані про читання} many {# групи видаляють копію, несучи ваші дані про читання}}", + "footer": "Вільно {size}" + }, + "dismissed": { + "show": "{count, plural, one {Показати # відхилену пару} other {Виводити # відхилених пар} few {Виводити # відхилених пар} many {Виводити # відхилених пар}}", + "hide": "Сховати відхилені пари", + "restore": "Відновити цю пару", + "restored": "Парування відновлено. Воно може знову підійти до наступного сканування." } }, "entityManager": { "unknown": "Не вказано", "bookCount": "{count, plural, =0 {жодної книги} one {# книга} few {# книг} many {# книг} other {# книг}}", + "sortPrefix": "· Сортувати: {sortName}", "selectTargetToKeep": "Виберіть ціль для утримання", "writeToFiles": "Запис до файлів", "writeChangesToFiles": "Записати зміни до файлів", @@ -6554,7 +12536,8 @@ }, "actions": { "rename": "Перейменувати", - "split": "Спліт" + "split": "Спліт", + "merge": "Об'єднати" }, "duplicates": { "similarity": "Подібність:", @@ -6574,7 +12557,20 @@ "percentSimilar": "{percent}% аналогічно", "pairDetails": "Деталі пари", "dismissEntityTitle": "Закрити всі пари для цього об'єкта", - "dismissPairTitle": "Відхилити цю пару" + "dismissPairTitle": "Відхилити цю пару", + "groupsLabel": "Можливі дубльовані групи", + "keepThisOne": "Залишити це", + "mergeAway": "Об'єднати", + "notAMatch": "Не збіг", + "notAMatchTitle": "Відхилити кожну пару в цій групі", + "selectPromptTitle": "Виберіть групу для перегляду", + "selectPromptDescription": "Виберіть групу зі списку, щоб порівняти її сторону з боку об'єктів.", + "backToList": "Назад до груп", + "noBookTitles": "Немає книг, пов'язаних з цим записом", + "thresholdLabel": "Мінімальна подібність", + "thresholdValue": "{percent}%+", + "willBeMerged": "{count, plural, one {# сутність буде об’єднана та видалена} other {# сутностей будуть об'єднані та вилучені} few {# сутностей будуть об'єднані та вилучені} many {# сутностей будуть об'єднані та вилучені}}", + "chooseTargetHint": "Оберіть об'єкт для збереження. Все інше у групі поєднує його." }, "dismissed": { "loading": "Завантаження пропущених пар...", @@ -6591,12 +12587,51 @@ "noEntities": "Сутності не знайдено", "mergeCount": "Об'єднати ({count})", "deleteCount": "Видалити ({count})", + "totalCount": "Усього {count}", + "sortLabel": "сортувати: {sortName}", "sort": { "nameAsc": "Ім'я А-Я", "nameDesc": "Назва Z-A", "fewestBooks": "Найменше книг", "mostBooks": "Більшість книжок" - } + }, + "sortByLabel": "Сортувати за", + "entityTypeLabel": "Тип сутності", + "resultCount": "{count, plural, =0 {Жодна сутність} one {# сутність} other {# сутності} few {# сутності} many {# сутності}}", + "selectedCount": "{count, plural, one {# вибрано} other {# вибрано} few {# вибрано} many {# вибрано}}", + "columns": { + "name": "Ім'я", + "sortName": "Сортувати за назвою", + "books": "Книжки", + "status": "Статус", + "actions": "Дії" + }, + "selectAllOnPage": "Вибрати всі об'єкти на цій сторінці", + "selectEntity": "Вибрати {name}", + "actionsFor": "Дії для {name}", + "status": { + "noBooks": "Немає жодної книги" + }, + "filters": { + "all": "Всі", + "noBooks": "Немає жодної книги" + }, + "density": { + "label": "Висота рядка", + "comfortable": "Комфортний", + "compact": "Компактний" + }, + "rowsPerPage": "Рядків на сторінку", + "range": "Показані {from}-{to} {total}", + "pagination": "Розбивка на сторінки", + "previousPage": "Попередня сторінка", + "nextPage": "Наступна сторінка", + "goToPage": "Перейти на сторінку {page}", + "morePages": "Більше сторінок", + "noEntitiesDescription": "Поки що нічого не було додано до цього типу об'єкту.", + "noMatchesTitle": "Збігів немає", + "noMatchesDescription": "Жодна сутність не відповідає поточному пошуку та фільтрів.", + "clearFilters": "Очистити фільтри" }, "deleteMode": { "label": "Видалити режим", @@ -6632,6 +12667,88 @@ "title": "Об'єднати сутності", "description": "Оберіть, який об'єкт для збереження. Інші будуть об'єднані та видалені." } + }, + "missingResources": { + "title": "Відсутні ресурси", + "accessDenied": "У вас немає дозволу на очищення відсутніх ресурсів.", + "categoriesLabel": "Категорія очищення", + "untitled": "Без назви", + "clearSelection": "Очистити вибране", + "cleanSelected": "Очистити {count} вибрано", + "selectAllMatching": "Обрати усі {count} записи", + "allSelected": "Вибрано всі записи підписок {count}.", + "sweep": { + "title": "Перевірка обкладинки", + "description": "Перевіряє кожну книгу, яка заявляє про прикриття проти файлів на диску, і шукає папки, що залишилися від видалених книг. Під час перевірки нічого не видаляється.", + "run": "Запустити перевірку", + "running": "Перевірка", + "progress": "Перевірено {processed} книг від {total}", + "lastRun": "Остання перевірена {at}", + "truncated": "Очистіть лише перші результати. Видаліть їх, а потім запустіть чек, щоб побачити решту." + }, + "categories": { + "missing_books": "Відсутні книги", + "broken_covers": "Порушені обкладинки", + "orphaned_cover_dirs": "Теки обкладинок впорядкованих книг" + }, + "found": { + "missing_books": "{count, plural, =0 {Жодних книг, відсутні файли} one {Одна книга зі відсутніми файлами} other {# книг із відсутніми файлами} few {# книг із відсутніми файлами} many {# книг із відсутніми файлами}}", + "broken_covers": "{count, plural, =0 {Немає пошкоджених обкладинок посилання} one {Один відгук на обкладинку} other {# зламаний обкладинку} few {# зламаний обкладинку} many {# зламаний обкладинку}}", + "orphaned_cover_dirs": "{count, plural, =0 {Немає сирот покрити папки} one {Одна сирота папка} other {# папки заповнені} few {# папки заповнені} many {# папки заповнені}}" + }, + "empty": { + "missing_books": "Немає відсутніх книг", + "broken_covers": "Немає пошкоджених обкладинок", + "orphaned_cover_dirs": "Немає дитячих обкладинок", + "description": "Все в цій категорії зареєстровано." + }, + "needsSweep": { + "title": "Запустити перевірку на обкладинку", + "description": "Результати обкладинки походять з перевірки диску. Виконайте її, щоб побачити пошкоджені посилання і покладені папки." + }, + "coverSource": { + "extracted": "Розпаковано", + "custom": "Користувацька" + }, + "brokenSlot": { + "ebookExtracted": "Обкладинка, видобута", + "ebookCustom": "Обкладинка книги, користувацька", + "audioExtracted": "Аудіокнига обкладинка, видобута", + "audioCustom": "Обкладинка аудіокнига, користувацька" + }, + "table": { + "selectPage": "Вибрати все на цій сторінці", + "coverFolder": "Тека для бронювання #{bookId}", + "fileCount": "{count, plural, one {# файл} other {# файлів} few {# файлів} many {# файлів}}", + "orphanMedia": { + "ebook": "Книжкова обкладинка", + "audio": "Аудіокнига", + "both": "Обкладинка книги та аудіо" + } + }, + "confirm": { + "title": "Очистити відсутні ресурси?", + "action": "Очистити", + "missing_books": "{count, plural, one {Видаляє запис бази даних для однієї книги, файли якої зникли. Книгу, її метадані, прогрес читання та обкладинку буде видалено. Це неможливо скасувати.} few {Видаляє записи бази даних для # книг, файли яких зникли. Книги, їхні метадані, прогрес читання та обкладинки буде видалено. Це неможливо скасувати.} many {Видаляє записи бази даних для # книг, файли яких зникли. Книги, їхні метадані, прогрес читання та обкладинки буде видалено. Це неможливо скасувати.} other {Видаляє записи бази даних для # книги, файли яких зникли. Книги, їхні метадані, прогрес читання та обкладинки буде видалено. Це неможливо скасувати.}}", + "broken_covers": "{count, plural, one {Очищує посилання на обкладинку з однієї книги, так що вона показує, що без обкладинки. Метадані не змінюються.} other {Очищує головні посилання до # книг, так що вони показують, що немає обкладинки. Метадані не змінюються в іншому випадку.} few {Очищує головні посилання до # книг, так що вони показують, що немає обкладинки. Метадані не змінюються в іншому випадку.} many {Очищує головні посилання до # книг, так що вони показують, що немає обкладинки. Метадані не змінюються в іншому випадку.}}", + "orphaned_cover_dirs": "{count, plural, one {Видаляє одну папку з диску. Його книга більше не знаходиться в базі даних. Цю дію неможливо скасувати.} other {Видаляє # покривати теки з диску. Їхні книги більше не в базі даних. Цю дію неможливо скасувати} few {Видаляє # покривати теки з диску. Їхні книги більше не в базі даних. Цю дію неможливо скасувати} many {Видаляє # покривати теки з диску. Їхні книги більше не в базі даних. Цю дію неможливо скасувати}}" + }, + "cleaned": { + "missing_books": "{count, plural, =0 {Нічого очистити} one {Видалено одну відсутню книгу} other {Видалено # відсутніх книг} few {Видалено # відсутніх книг} many {Видалено # відсутніх книг}}", + "broken_covers": "{count, plural, =0 {Нічого очистити} one {Видалено один зламаний посилання на обкладинки} other {Очищено # пошкоджених обкладинок} few {Очищено # пошкоджених обкладинок} many {Очищено # пошкоджених обкладинок}}", + "orphaned_cover_dirs": "{count, plural, =0 {Нічого очистити} one {Видалено одну папку сиріт приховану в покриття} other {Видалено # сирот папки в покриття} few {Видалено # сирот папки в покриття} many {Видалено # сирот папки в покриття}}" + }, + "pagination": { + "label": "Відсутні сторінки ресурсів", + "page": "Сторінка {page} з {total}" + }, + "errors": { + "summary": "Не вдалося завантажити відсутній резюме про ресурс.", + "sweepStart": "Не вдалося запустити перевірку обкладинки.", + "sweep": "Помилка перевірки обкладинки.", + "list": "Не вдалося завантажити ці записи.", + "clean": "Не вдалося очистити." + } } }, "views": { @@ -6648,11 +12765,15 @@ "sort": "Упорядкувати", "sortOn": "Увімк", "resetSort": "Скинути налаштування", + "shuffle": "Випадковий порядок", + "shuffleAria": "Перемішати замовлення", + "shuffleHint": "Малювати новий випадковий порядок", "filters": "Фільтри", "clear": "Очистити", "clearAllFilters": "Очистити всі фільтри", "expandSeries": "Розгорнути серію", "collapseSeries": "Згорнути серію", + "collapseLockedWhileSelecting": "Серія залишається розширеною під час вибору", "expanded": "Розгорнутий", "exportMetadata": "Експорт метаданих", "showControlsAria": "Показати керування бібліотекою", @@ -6684,7 +12805,8 @@ "editMetadata": "Редагувати метадані · {base}", "edit": "Редагувати · {base}", "files": "Файли · {base}", - "readingLog": "Журнал читання · {base}" + "readingLog": "Журнал читання · {base}", + "highlights": "Яскравість · {base}" } }, "bookDock": { @@ -6696,6 +12818,7 @@ "dropFiles": "Перетягніть файли до панелі книг", "supportedFormats": "Підтримка: {formats}", "empty": { + "noSearchMatch": "Немає файлів, які відповідають \"{query}\"", "noStatusFiles": "Немає файлів {status}", "uploadPrompt": "Завантажити файли або кинути їх у папку Доку Книги" }, @@ -6707,6 +12830,7 @@ "applied": "{count, plural, =0 {Застосовується до без файлів} one {Застосовується до одного файлу} few {Застосовується до # файлів} many {Застосовується до # файлів} other {Застосовується до # файлів}}", "skippedEdited": "{count, plural, =0 {Пропущено один файл, тому що вони мають ручні редагування} one {пропускається один файл, тому що він має ручні редагування} few {Пропущено # файли, тому що вони мають ручні редагування} many {Пропущено # файли, тому що вони мають ручні редагування} other {Пропущено # файли, тому що вони мають ручні редагування}}", "skippedNoMetadata": "{count, plural, =0 {Пропущено один файл, тому що вони не мають отриманих метаданих} one {пропускається один файл, тому що він не має метаданих} few {Пропущено # файлів, тому що вони не мають вивантажених метаданих} many {Пропущено # файлів, тому що вони не мають вивантажених метаданих} other {Пропущено # файлів, тому що вони не мають вивантажених метаданих}}", + "noneApplied": "Файлів не застосовано; {reasons}", "noneSelected": "Не вибрано жодного файлу" } }, @@ -6776,7 +12900,8 @@ "deleted": "\"{name}\" видалено", "deleteFailed": "Не вдалося вилучити \"{name}\"", "koboSyncEnabled": "\"{name}\" тепер синхронізується з вашим Кобо", - "koboSyncDisabled": "\"{name}\" більше не синхронізується з вашим Кобо" + "koboSyncDisabled": "\"{name}\" більше не синхронізується з вашим Кобо", + "koboSyncFailed": "Не вдалося оновити синхронізацію Kobo для \"{name}\"" }, "empty": { "noRules": "Немає налаштованих правил", @@ -6786,6 +12911,35 @@ "noMatchHint": "Спробуйте налаштувати правила фільтрів.", "edit": "Редагувати SmartScope" } + }, + "podcastScope": { + "title": "Розумний список відтворення", + "entity": "розумний список відтворення", + "loadFailed": "Не вдалося завантажити серії для цього списку відтворення.", + "loadMoreFailed": "Не вдалося завантажити більше серій.", + "retry": "Повторити спробу", + "editRules": "Змінити правила", + "saveFailed": "Не вдалося зберегти правила списку відтворення.", + "deleteFailed": "Не вдалося видалити цей список відтворення.", + "empty": { + "title": "Немає відповідних серій", + "hint": "Відрегулюйте правила, щоб відповідати більше епізодів." + } + }, + "podcastCollection": { + "title": "Подкастська колекція", + "entity": "колекція подкастів", + "loadFailed": "Не вдалося завантажити серіали в цій колекції.", + "remove": "Видалити", + "removeAria": "Видалити {name} з цієї колекції", + "removed": "Видалено {name}", + "removeFailed": "Не вдалося видалити це шоу.", + "empty": { + "title": "Поки що серіали відсутні", + "hint": "Додати серіали до цієї колекції з бібліотеки подкастів." + }, + "loadMoreFailed": "Не вдалося завантажити більше шоу.", + "retry": "Повторити спробу" } }, "whatsNew": { @@ -6801,6 +12955,7 @@ "versions": "Версії", "currentVersion": "Поточна версія", "youreHere": "Ви знаходитесь тут", + "searchPlaceholder": "Пошук випусків…", "noReleasesFound": "Не знайдено жодного релізу.", "noHighlights": "Немає відміток для цього релізу.", "showChangelog": "Показати весь журнал змін", @@ -6817,10 +12972,825 @@ "previousImage": "Попереднє зображення", "nextImage": "Наступне зображення" }, + "podcast": { + "actions": { + "add": "Додати", + "cancel": "Скасувати", + "save": "Зберегти", + "play": "Відтворити", + "pause": "Пауза", + "playEpisode": "Відтворити серію", + "listen": "Слухати", + "remove": "Видалити", + "episodeActions": "Дії епізод", + "removeFromQueue": "Видалити з черги", + "addToQueue": "Додати до черги", + "playNext": "Відтворити наступною", + "retryDownload": "Повторити завантаження", + "download": "Звантажити", + "removeDownload": "Видалити завантажене", + "markUnplayed": "Позначити не відтворене", + "markPlayed": "Позначити зігране", + "follow": "Слідкувати", + "unfollow": "Не стежити", + "followPodcast": "Слідувати за подкастом", + "unfollowPodcast": "Не слідкувати за подкастом", + "resume": "Поновити", + "playLatest": "Відтворювати останні", + "moveToTop": "Посунути догори", + "playFromHere": "Відтворити звідси", + "moveDown": "Посунути вниз", + "clearQueue": "Очистити чергу", + "clearAll": "Очистити все", + "search": "Пошук", + "clearPlayed": "Очистити зіграні", + "downloadSelected": "Завантажити обране", + "removeSelectedDownloads": "Видалити вибрані завантаження", + "markSelectedPlayed": "Позначити вибране зігране", + "removeSelectedFromQueue": "Видалити вибране з черги", + "selectEpisode": "Вибрати {title}", + "playNamedEpisode": "Грати {title}", + "listenToEpisode": "Слухати {title}", + "resumeEpisode": "Відновити {title}", + "playLatestEpisode": "Відтворити останню серію {title}", + "episodeDetails": "Деталі епізоду", + "episodeDetailsNamed": "Деталі епізоду для {title}", + "editEpisodeMetadata": "Редагувати метадані", + "openFullPlayer": "Відкривати повний плеєр", + "reorderEpisode": "Замовити {title}", + "playAll": "Відтворити усі", + "resumeNamed": "Відновити {title}", + "queueAll": "Черга всіх", + "markAllPlayed": "Позначити всі зіграні", + "latestCount": "Останній {count}", + "downloadLatest": "Завантажити останню версію", + "removeAllDownloads": "Видалити всі завантаження", + "pin": "Закріплення повідомлень", + "unpin": "Unpin", + "pinEpisode": "Закріпити епізод", + "unpinEpisode": "Відкріпити епізод" + }, + "status": { + "nowPlaying": "Відтворюється зараз", + "paused": "Призупинено", + "downloaded": "Завантажено", + "downloadQueued": "Завантаження в черзі", + "downloading": "Завантажується", + "downloadFailed": "Не вдалося завантажити", + "unavailable": "Unavailable", + "played": "Зіграно", + "following": "Слідкую", + "playbackProgress": "Прогрес відтворення", + "downloadProgress": "Прогрес завантаження", + "removedFromFeed": "Більше не в стрічці", + "inQueue": "У черзі", + "feedFailing": "Помилка зв'язку новин", + "archived": "Архівовано", + "localShow": "Місцевий", + "localShowDescription": "На цьому шоу немає каналів. Його епізоди є файли в його папці.", + "missing": "Зниклі", + "missingDescription": "Папка цього шоу більше не на диску. Вона зберігається тут, якщо папка повертається; видаліть шоу, щоб видалити її назавжди." + }, + "selection": { + "select": "Вибрати", + "selectAll": "Виділити все", + "count": "Вибрано {count}", + "toggleShow": "Вибрати {title}" + }, + "bulkDelete": { + "title": "Видалити вибрані серіали", + "action": "Видалити", + "confirmPhrase": "ВИДАЛИТИ", + "description": "Цей назавжди видаляє {count} серіали, і все, що знає Закладка, включаючи історію прослуховування. Цю дію неможливо скасувати.", + "descriptionWithFiles": "Цей остаточно видаляє серіали {count} , все, що знає Книга про них, та {size} з завантажених файлів. Ваші папки ніколи не торкнуті. Це неможливо скасувати.", + "queued": "Видалення серіалів {count}", + "queuedWithFailures": "Видалення {count} серіалів, {failed} не вдалося почати", + "errors": { + "prepare": "Не вдалося сформулювати, що видалення цих серіалів буде видалено", + "delete": "Не вдалося видалити виділені серіали" + } + }, + "views": { + "queue": "Черга" + }, + "labels": { + "episodeCount": "{count} епізодів", + "unknownPublisher": "Невідомий сервер публікації", + "durationHoursMinutes": "{hours}h {minutes}хв", + "durationMinutes": "{minutes} хв", + "durationSeconds": "{seconds}сек", + "durationUnavailable": "Тривалість недоступна", + "unknownDate": "Невідома дата", + "seasonEpisode": "С{season} Е{episode}", + "season": "S{season}", + "episode": "Е{episode}", + "episodeTypeTrailer": "Трейлер", + "episodeTypeBonus": "Бонус", + "pinnedHint": "Закріплені епізоди захищені від видалення зберігання.", + "explicit": "Явний", + "lastListened": "Прослухали {time}", + "timeLeft": "Залишилося {time}", + "remainingClock": "-{time}", + "pinnedEpisode": "Закріплена серія", + "newEpisodeCount": "{count} нових", + "unplayedShort": "Немає гри {count}" + }, + "acquisition": { + "title": "Автоматичні завантаження", + "never": "Ніколи", + "newEpisodes": "Нові серії", + "recentEpisodes": "Останні серії", + "maximumNewest": "Максимум нових серій", + "publishedWithinDays": "Опубліковано протягом останніх (днів)", + "remoteDescription": "За замовчуванням серія серій. Ви можете завантажити окремі епізоди для офлайн слухання.", + "newestDescription": "Автоматично завантажити вибрану кількість нових епізодів, які не були збережені або в черзі. Збереження цього правила також перевіряє вже в стрічці.", + "windowDescription": "Завантажити існуючі та нещодавно відкриті епізоди, опубліковані в цей період. Зміни без дати публікації скасовуються. Зміна цього правила не видаляє старі завантаження, але збереження може видаляти незакріплені завантаження, коли потрібно пробіл." + }, + "cleanup": { + "title": "Видалити після прослуховування", + "keep": "Зберігати завантаження", + "afterFinished": "Видалення після закінчення", + "delayHours": "Видалити це багато годин після закінчення останнього слухача", + "keepDescription": "Завантажені епізоди залишаться на диску до необхідності збереження місця.", + "afterFinishedDescription": "Видалити завантажену серію один раз кожен слухач, який запустив її, і затримка пройшла. Позначаючи його без ігор, закріплюючи його, або повернувши його в чергу під час цього вікна скасовує видалення." + }, + "player": { + "miniPlayer": "Подкастський міні-плеєр", + "openFullPlayer": "Відкривати повний плеєр", + "expandMiniPlayer": "Розгорнути міні-плеєр", + "collapseMiniPlayer": "Згорнути для компактного гравця", + "stopAndClose": "Зупинити та закрити гравця", + "sleepActive": "Таймер сну активовано: {value}", + "previousEpisode": "Попередня серія", + "nextEpisode": "Наступна серія", + "backSeconds": "Назад {count} секунд", + "forwardSeconds": "Переслати {count} секунди", + "episodePosition": "Епізод", + "toggleTimeDisplay": "Показати/приховати все, що залишилось і загальний час", + "positionValue": "{elapsed} здійснив облік {duration}", + "playingAnnouncement": "Грає в {title} з {podcast}", + "pausedAnnouncement": "Призупинено {title} з {podcast}", + "volume": "Об'єм", + "positionValueWithChapter": "{elapsed} минула дужка {duration}, розділ {chapter}" + }, + "bookmarks": { + "title": "Закладки", + "empty": "Немає закладок", + "closeForm": "Закрити форму закладки", + "saveAt": "Зберегти в {time}", + "titlePlaceholder": "Заголовок закладки", + "notePlaceholder": "Необов’язкова нотатка", + "save": "Зберегти закладку", + "edit": "Редагувати закладку", + "delete": "Видалити закладку", + "titleLabel": "Заголовок закладки", + "noteLabel": "Закладка", + "editTitleLabel": "Редагувати заголовок закладки", + "editNoteLabel": "Змінити закладку", + "defaultTitle": "Закладка на {time}" + }, + "library": { + "episodes": "Епізоди", + "shows": "Серіали", + "latest": "Недавні", + "inProgress": "Обробка", + "unplayed": "Не зіграно", + "finished": "Завершено", + "health": "Здоров'я", + "search": "Пошук podcasts", + "clearSearch": "Очистити пошук подкастів", + "import": "Імпорт", + "importOpml": "Імпорт OPML", + "importDescription": "Імпортувати список підписки OPML", + "addFeed": "Додати стрічку", + "settings": "Налаштування Подкастів", + "views": "Подкастування переглядів", + "loading": "Завантаження подкастів...", + "noMatchingShows": "Жодного серіалу не знайдено", + "ready": "Твоя бібліотека подкастів готова", + "tryDifferentSearch": "Спробуйте іншу назву або видавцю.", + "readyDescription": "Додати RSS стрічку або імпортувати OPML-файл, щоб почати створення вашої бібліотеки, що прослуховується.", + "loadMoreShows": "Завантажити більше серіалів", + "upNext": "До наступного", + "emptyQueue": "Ваша черга пуста", + "emptyQueueDescription": "Додайте епізод з серіали, щоб тримати ваше наступне прослуховування під легким доступом.", + "loadMore": "Завантажити ще", + "lastSuccess": "Останній успіх", + "failureCount": "{count} збоїв: {error}", + "unknownError": "Невідома помилка", + "healthy": "Здоровий", + "noFeeds": "Немає стрічок для моніторингу", + "noFeedsDescription": "Додайте стрічку подкастів, щоб побачити її статус оновлення.", + "noMatchingEpisodes": "Немає відповідних серій", + "noEpisodesLatest": "Ще немає серій", + "noEpisodesDownloaded": "Немає завантажених серій", + "noEpisodesInProgress": "Немає епізодів", + "noEpisodesUnplayed": "Немає невідтворюваних серій", + "noEpisodesFinished": "Немає завершених серій", + "noEpisodesPinned": "Немає закріплених серій", + "pinned": "Закріплено", + "continueListening": "Продовжити прослуховування", + "viewAllContinue": "Переглянути все", + "noEpisodesDescription": "Тут з’являться нові серії з ваших серіалів.", + "loadMoreEpisodes": "Завантажити більше серій", + "addPodcastFeed": "Додати стрічку подкастів", + "rssUrl": "URL RSS стрічки", + "preview": "Прев'ю", + "addPodcast": "Додати подкаст", + "storage": "Подкастове сховище", + "currentlyUsing": "Зараз використовує {size}", + "libraryQuotaGb": "Квота в бібліотеці (GB)", + "freeSpaceReserveGb": "Резерв в вільного простору (GB)", + "defaultRefreshMinutes": "Оновлення за промовчанням (хвилини)", + "finishRemainingSeconds": "Завершення з секундами, що залишилися", + "exportOpml": "Експорт OPML", + "exportDescription": "Експортувати цю бібліотеку як список підписки OPML", + "importOpmlDescription": "Виберіть OPML файл і політику завантаження для кожної стрічки.", + "opmlFile": "OPML файл", + "chooseOpmlFile": "Виберіть файл", + "noOpmlFileChosen": "Файл не вибрано", + "importPolicyHint": "Це відноситься до кожної імпортованої стрічки. Ви можете змінити її після показу.", + "searchShows": "Пошук серіалів", + "searchEpisodes": "Пошук серій", + "searchHealth": "Пошук стану подачі", + "manageFeeds": "Керування каналами", + "feedHealth": "Час здоров'я", + "feedsNeedAttention": "Новинам потрібна увага", + "episodeFilters": "Фільтри епізод", + "previewing": "Попередній перегляд...", + "addingPodcast": "Додаємо...", + "openShow": "Відкрити {title}", + "retryFeed": "Оновити {title}", + "reparseFeed": "Повторно розібрати збережену стрічку для {title}", + "confirmClearQueue": "Видалити кожну з черг епізоду?", + "importProgress": "Прогрес імпорту", + "jobsQueued": "{count} в черзі", + "jobsProcessing": "Обробка {count}", + "jobsFailed": "{count} не вдалося", + "retryUnhealthy": "Повторювати нездорові стрічки", + "followedOnly": "Тільки підписані", + "queueDuration": "{duration} всього", + "confirmClearPlayed": "Видалити кожну відтворену серію з черги?", + "searchQueue": "Пошук у черзі", + "noMatchingQueueEpisodes": "Немає відповідних серій в черзі", + "showAllEpisodes": "Показати всі серії", + "browseShows": "Перегляд серіалів", + "browseEpisodes": "Перегляд серій", + "allLoaded": "Все {total} завантажено", + "addFeedDescription": "Знайдіть каталог podcast або вставте URL-адресу RSS-стрічки, переглянути шоу, а потім виберіть, як його епізоди використовуються.", + "searchDirectory": "Пошук в теці podcast", + "searchDirectoryPlaceholder": "Показати або ім'я видавця", + "searchDirectoryEmpty": "Немає шоу в каталозі за цим запитом.", + "searchDirectoryHint": "Оберіть результат для попереднього перегляду або вставте URL-адресу стрічки нижче.", + "inLibrary": "У бібліотеці", + "openExistingShow": "Відкрити {title}, вже у вашій бібліотеці", + "pasteFeedUrl": "Або вставте URL каналу", + "selectAllLoaded": "Виберіть кожну завантажену серію", + "reorderLoadedHint": "Перевпорядкування застосовується до епізодів, завантажених досі.", + "retryUnhealthyLoaded": "Повторити спробу завантаження каналів", + "manageFeedsUnhealthy": "Керування стрічками: невдачі канали потрібна увага", + "localImportTitle": "Імпорт подкастів з ваших папок", + "localImportDoneTitle": "Імпортування завершено", + "localImportCounting": "Переглядаючи ваші папки…", + "localImportProgress": "{processed} з {total} файлів", + "localImportDone": "Файли {processed} імпортовано", + "importingTitle": "Імпорт ваших подкастів", + "importingHint": "Показує тут коли їхні файли прочитані." + }, + "import": { + "title": "Імпортувати локальні файли", + "description": "Пошук аудіо в папці цієї бібліотеки до епізодів з стрічок, які ви слідкуєте.", + "placementHint": "Покладіть файли в теку цієї бібліотеки спочатку. BookOrbit розміщує їх там, де вони є: немає копій, перейменованих або переміщених.", + "scan": "Сканувати файли", + "running": "Сканування...", + "progress": "{current} з {total} файлів скановано", + "apply": "Імпорт відповідних файлів", + "applyWithChoices": "Імпорт відповідає файлам і вашим вибором", + "applied": "Адаптовано файли {count}.", + "quota": "{adopt} прийняти, {headroom} квоти ще вільно", + "truncated": "Деякі списки скорочено. Кількість припинених задач.", + "chooseEpisode": "Виберіть серію", + "leaveUnresolved": "Залишити для подальшого", + "noDate": "Без дати", + "fileCount": "Файли {count}", + "subscribe": "Підписатися", + "subscribed": "Підписані", + "suggestedFeedsHint": "Ці папки назвали стрічку новин, за якою ви ще не підписалися. Підписавшись, потім скануйте знову, щоб відповідати їх файлам.", + "rescanHint": "Сканувати ще раз, щоб відповідати файлам у теці, на які ви тільки що підписалися.", + "duplicateDiffers": "Інший файл вже прикріплено до цього епізоду", + "duplicateSame": "Ця серія вже має цей файл", + "unreadableFolders": "Папки {count} не вдалося прочитати.", + "groups": { + "matched": "Збіг", + "ambiguous": "Потребує рішення", + "unmatched": "Немає збігів", + "duplicates": "Вже прикріплено", + "skipped": "Пропущені", + "suggestedFeeds": "Посди підписатися на", + "unclaimedFolders": "Папки без стрічки" + }, + "signals": { + "episode_guid": "ID епізоду в тегах файлу", + "episode_id_suffix": "ID закладки в імені файлу", + "enclosure_file_name": "Ім'я файлу відповідає стрічці", + "title_and_date": "Заголовок і дата", + "title_and_duration": "Довжина заголовка", + "manual": "Ваш вибір" + }, + "scopes": { + "request": "Показати вибране", + "folder_suffix": "Показати ім'я папки", + "feed_url_tag": "Адреса стрічки у тегах файлу", + "feed_sidecar": "Зберегти стрічку в папці", + "title_similarity": "Назва серіалу", + "library": "Не ідентифікувати серіал" + }, + "reasons": { + "show_unresolved": "Жоден серіал не може бути визначений у цьому файлі", + "no_episode_candidate": "Шоу збіг, але жоден епізод не зробив", + "single_fuzzy_signal": "Тільки один сигнал вказаний на епізод", + "multiple_candidates": "Кілька епізодів так само добре підходить", + "empty_file": "Файл порожній", + "unsupported_format": "Аудіофайл не підтримується", + "symlink": "Символічні посилання не імпортуються", + "unreadable": "Не вдалося прочитати файл", + "outside_library_root": "Файл вирішує за межами папки бібліотеки", + "attach_conflict": "Епізод отримав файл, коли сканування було запущено", + "quota_exceeded": "Імпорт цих файлів буде перевищувати квоту зберігання в цій бібліотеці. Збільшіть квоту або імпортуйте менше файлів." + }, + "sources": { + "feed_sidecar": "Збережений файл стрічки", + "metadata_json": "метадата.json", + "feed_url_tag": "Теги файлів" + }, + "errors": { + "status": "Не вдалося прочитати стан імпорту", + "start": "Не вдалося запустити імпорт", + "subscribe": "Не вдалося підписатися на цю стрічку новин", + "createLocalShow": "Не вдалося створити локальний шоу з цієї папки" + }, + "messages": { + "subscribed": "Подкаст доданий. Скануйте ще раз, щоб відповідати його файлам.", + "localShowCreated": "Локальна серія. Її епізоди імпортуються.", + "localShowUpdated": "Імпортування нових файлів до цієї теки." + }, + "createLocalShow": "Створити локальне шоу", + "addLocalEpisodes": "Додати нові серії", + "localShowCreated": "Створений", + "unclaimedFoldersHint": "Ці теки не мають назви. Увімкніть його у локальному шоу, і кожен аудіофайл в ньому стає епізодом.", + "localRescanHint": "Перевірте ще раз, щоб підібрати будь-що, що змінилося у теках, які ви щойно імпортували." + }, + "messages": { + "podcastAdded": "Подкаст додано", + "feedsQueued": "Черги подкастів {count}", + "settingsSaved": "Налаштування Podcast збережено", + "downloadQueued": "Епізод завантаження в чергу", + "downloadRemoved": "Завантаження епізоду видалено", + "refreshQueued": "Подкаст оновлення в черзі", + "reparseQueued": "Подкаст репроаналізована в черзі", + "mergeQueued": "Подкастинове злиття в черзі", + "showDeleted": "Видалено {title}", + "queueCleared": "Чергу Подкаст очищено", + "playerClosed": "Гравець закритий", + "feedsRefreshQueued": "В черзі оновлення для каналу {count}", + "finishedQueueCleared": "Відтворені епізодів видалено з черги", + "bulkQueueActionCompleted": "Оновлено {count} вибраних епізодів", + "bulkQueueActionFailed": "Оновлено епізоди {completed} , {failed} не вдалося", + "bulkQueued": "У черзі до {completed} епізоді; {skipped} вже поставлено в чергу або перевищило ліміт черги", + "bulkMarkedPlayed": "Позначені серії {count} зіграно", + "bulkDownloadsQueued": "У черзі завантаження {count}", + "bulkDownloadsRemoved": "Видалено епізод завантаження {count}", + "bulkDownloadsRemovedWithFailures": "Видалено завантаження {completed} ; {failed} не вдалося", + "queueRestored": "Відновлено серії {count} до черги", + "playlistSaved": "Список відтворення збережено", + "playlistDeleted": "Список відтворення видалено", + "playlistQueued": "У черзі {completed} епізодів пропущено {skipped}", + "playlistQueueEmpty": "Немає епізодів, які відповідають цьому плейлісту", + "detailsSaved": "Показати подробиці збережені", + "episodeDetailsSaved": "Деталі епізоду збережено", + "artworkUpdated": "Ілюстрація оновлена", + "artworkRemoved": "Користувацькі файли успішно видалено", + "localFileDeleted": "Епізод файл видалено", + "opmlOmittedLocalShows": "Ліве {count} локальне шоу поза експортом: OPML може описати лише стрічки." + }, + "fullPlayer": { + "queueNowPlaying": "Тепер грає #{position} · {count} залишилось", + "queuedCount": "{count} в черзі", + "mediaUnavailable": "Медіа-недоступний", + "streaming": "Трансляція", + "backToPodcast": "Повернутися до подкастів", + "loading": "Завантаження серії...", + "tryAgain": "Спробуйте ще раз", + "nowListening": "А тепер прослуховування", + "retry": "Повторити спробу", + "restart": "Перезапустити", + "durationUnavailable": "Тривалість недоступна", + "previousQueued": "Попередня черга серії", + "nextQueued": "Наступна серія", + "startingPlayback": "Починається відтворення", + "speed": "Швидкість", + "playbackSpeed": "Швидкість відтворення", + "sleep": "Сон", + "off": "Вимкнено", + "endOfChapter": "Кінець розділу", + "endOfEpisode": "Кінець серії", + "minutesLeft": "Залишилося {count} хв", + "aboutEpisode": "Про цю серію", + "showLess": "Показати менше", + "showMore": "Показати більше", + "chapters": "Глави", + "previousChapter": "Попередній розділ", + "nextChapter": "Наступний розділ", + "removeNamedFromQueue": "Видалити {title} з черги", + "queueClear": "Ваша черга вільна.", + "transcripts": "Описи", + "transcript": "Розшифровка", + "sleepMinutes": "{count} хв", + "speedValue": "{rate}x", + "cyclePlaybackSpeed": "Змінювати швидкість відтворення", + "choosePlaybackSpeed": "Виберіть швидкість відтворення", + "moreSpeeds": "Більше", + "showSpeedOverride": "Ця швидкість запам'ятована для цього шоу.", + "clearSpeedOverride": "Використовувати стандартну швидкість для цього шоу", + "extendSleepLabel": "Додайте більше хвилин {count} до таймера сну", + "sleepTimer": "Таймер сну", + "sleepRemaining": "{count} м", + "fineTuneSpeed": "Точне коректування", + "decreaseSpeed": "Зменшити швидкість відтворення", + "increaseSpeed": "Збільшити швидкість відтворення", + "extendSleep": "Додати нуль Z{count}", + "bookmarkTooltip": "Закладка: {title}", + "openQueue": "Відкрити чергу", + "openChapterLink": "Відкрити посилання на главу для {title}" + }, + "show": { + "loading": "Завантажується подкаст...", + "noAlerts": "Немає сповіщень", + "immediate": "Негайно", + "dailyDigest": "Щоденний дайджест", + "weeklyDigest": "Щотижневий дайджест", + "refreshFeed": "Оновити стрічку", + "refreshInterval": "Інтервал оновлення у хвилинах", + "restore": "Відновити", + "archive": "Архів", + "deletePermanently": "Видалити назавжди", + "mergeSource": "Об'єднати інший подкаст у цьому шоу", + "queueMerge": "Об’єднання черг", + "confirmMerge": "Об'єднати подкаст {id} у цьому подкасті? Вихідний подкаст буде остаточно видалено.", + "confirmDelete": "Остаточно видалити {title}, його {episodes} епізодів і всю слухаючу область? Це не можна скасувати.", + "confirmDeleteWithDownloads": "Остаточно видалити {title}, його {episodes} епізодів, {files} завантажені файли ({size}і весь прослуховуваний стан? Це не можна скасувати.", + "back": "Відмінити", + "notificationMode": "Частота сповіщень", + "readMore": "Читати далі", + "searchEpisodes": "Пошук серій шоу", + "clearEpisodeSearch": "Очистити епізод пошуку", + "episodeFilter": "Епізод фільтр", + "episodeSort": "Порядок сортування за Серії", + "newestFirst": "Спочатку нові", + "oldestFirst": "Спочатку старіші", + "noEpisodes": "Немає відповідних серій", + "noEpisodesDescription": "Спробуйте інший пошук, фільтр або порядок сортування.", + "dangerZone": "Небезпечна зона", + "dangerZoneActions": "Архівувати, видалити або об'єднати цей канал. Видалення не може бути скасовано.", + "mergeTitle": "Merge duplicate show", + "mergeDescription": "Знайдіть вихідний код для злиття у цьому файлі. Джерело буде остаточно видалено.", + "searchMergeSource": "Пошук шоу з дублікатами", + "mergeSelected": "Об'єднати »{title}з цього шоу", + "fromDate": "Від", + "toDate": "На", + "feedFailingTitle": "Погодження потребує уваги", + "feedFailingDetail": "{count} послідовних помилок оновлення. Останнє успішне оновлення: {lastSuccess}", + "archivedTitle": "Це шоу архівовано", + "archivedDescription": "Архівовані шоу зупинити оновлення і не завантажити нові епізоди.", + "downloadLatestCount": "Кількість останніх серій для завантаження", + "confirmRemoveAllDownloads": "Видалити кожен завантажений епізод для цього шоу? Потокові епізоди та прогрес прослуховування зберігаються.", + "refreshCompleted": "Оновлено, {count} new episodes", + "refreshFailed": "Помилка оновлення: {error}", + "manageTitle": "Керувати серіалом", + "manageActionsDescription": "Архівування, видалення та злиття обробляються окремо, тому рутинні налаштування залишаться в безпеці для змін.", + "openManageActions": "Архівувати, видалити або об'єднати", + "archiveOrDelete": "Архівування є незворотним і тримає кожен епізод. Видалення шоу, його епізодів, і всі завантажені файли назавжди.", + "deleteRequiresOwner": "Архівування приховує це шоу і зупиняє його оновлення. Тільки власник бібліотеки з дозволом на видалення подкастів може видалити його назавжди.", + "settingsDescription": "Виберіть розташування епізодів і як часто перевіряється канал.", + "updatedAgo": "Оновлено {time}", + "checksEvery": "Перевіряє кожні {time}", + "visitWebsite": "Відвідати веб-сайт", + "backToLibrary": "Повернутися до {library}", + "categoryOverflow": "+{count}", + "moreCategories": "Показати {count} більше категорій", + "allCategories": "Всі категорії", + "serial": "Серійний номер", + "daysShort": "{count} d", + "hoursShort": "{count} год", + "minutesShort": "{count} хв", + "moreActions": "Більше показів дій", + "dates": "Дати", + "anyDate": "Будь-яке", + "dateRange": "{from} - {to}", + "dateFilter": "Дата публікації епізоду", + "clearDates": "Очистити дати", + "seasonHeader": "Сезон {season}", + "localSettingsHint": "Це шоу не має каналів, тому воно не має налаштувань оновлення, або завантаження." + }, + "edit": { + "title": "Редагувати деталі", + "description": "Все, що ви тут змінили, є заблокованим, тому оновлення наступної стрічки не може перезаписати її.", + "titleLabel": "Показувати заголовок", + "authorLabel": "Автор", + "authorPlaceholder": "Хто публікує це шоу", + "descriptionLabel": "Опис", + "descriptionPlaceholder": "Про що це шоу", + "descriptionHint": "Форматування з стрічки замінюється на простий текст, який ви ведете тут.", + "siteUrlLabel": "Вебсайт", + "siteUrlPlaceholder": "https://example.com/показати", + "languageLabel": "Мова:", + "languagePlaceholder": "відображено", + "categoriesLabel": "Категорії", + "categoriesPlaceholder": "Додайте категорію та натисніть Enter", + "removeCategory": "Видалити категорію {category}", + "categoryLimit": "Ви можете продовжувати до категорії {count}.", + "explicitLabel": "Явний", + "explicitHint": "Позначити, що містить явний контент.", + "artworkTitle": "Іллюстраційний матеріал", + "artworkHint": "PNG, JPEG, WebP, GIF, або AVIF до 10 МБ. Кастомна робота замінює зображення стрічки новин всюди.", + "artworkUrlLabel": "Адреса зображення", + "artworkUrlPlaceholder": "https://example.com/artwork.png", + "chooseImage": "Вибрати зображення", + "useImage": "Використовувати це зображення", + "removeCustomArtwork": "Видалити користувацьку роботу", + "lockField": "Заблокувати {field} після оновлення каналу", + "unlockField": "Розблокувати {field} , щоб канал зміг оновити його", + "willLockField": "{field} буде заблокований під час збереження", + "willLockHint": "Це поле буде заблоковано, коли ви збережете.", + "localDescription": "Цей шоу не має каналів, тому ваші зміни є постійними і нічого не може їх перезаписати." + }, + "episodeEdit": { + "title": "Редагувати епізод", + "description": "Все, що ви тут змінили, є заблокованим, тому оновлення наступної стрічки не може перезаписати її.", + "lockHint": "Редаговані поля захищені від оновлень подач.", + "titleLabel": "Назва епізоду", + "subtitleLabel": "Субтитри", + "subtitlePlaceholder": "Короткий рядок під назвою", + "descriptionLabel": "Опис", + "descriptionPlaceholder": "Який цей епізод закриває", + "descriptionHint": "Форматування з стрічки замінюється на простий текст, який ви ведете тут.", + "publishedAtLabel": "Опубліковано", + "seasonLabel": "Сезон", + "seasonPlaceholder": "2", + "episodeLabel": "Серія за номером", + "episodePlaceholder": "14", + "episodeTypeLabel": "Тип епізоду", + "episodeTypeNone": "Не задано", + "episodeTypeFull": "Повна серія", + "episodeTypeTrailer": "Трейлер", + "episodeTypeBonus": "Бонус", + "episodeTypeFromFeed": "{value} (з каналу)", + "durationLabel": "Тривалість", + "durationPlaceholder": "Хвилин", + "durationHint": "За лічені хвилини. Залиште порожнім, щоб видалити тривалість.", + "durationInvalid": "Введіть тривалість у хвилинах, що більше нуля.", + "explicitLabel": "Явний", + "explicitHint": "Позначає цей епізод як містить явний контент.", + "localHint": "Цей епізод походить з файлу, а не з стрічки, тому ваші зміни є постійними і ніщо не може перезаписати їх." + }, + "errors": { + "createBookmark": "Не вдалося створити закладку", + "updateBookmark": "Не вдалося оновити закладку", + "deleteBookmark": "Не вдалося вилучити закладку", + "feedPreview": "Не вдалося виконати попередній перегляд стрічки", + "directorySearch": "Пошук каталогів недоступний зараз. Вставте URL-адресу каналу.", + "invalidEpisodeLimit": "Введіть припустиму максимальну кількість серій", + "invalidEpisodeWindow": "Введіть припустиме нещодавнє вікно епізоду", + "invalidCleanupDelay": "Затримка очищення повинна бути від 0 до 8,760 годин", + "addPodcast": "Не вдалося додати подкаст", + "opmlTooLarge": "OPML файли не можуть перевищувати 5 МБ", + "opmlImport": "Помилка імпорту OPML", + "opmlExport": "Помилка експорту OPML", + "loadSettings": "Не вдалося завантажити настройки подкастів", + "invalidStorage": "Значення сховища мають бути невід'ємні числа", + "invalidRefresh": "Оновлення за замовчуванням повинно бути від 5 до 10,080 хвилин", + "invalidCompletion": "Поріг завершення має бути від 0 до 3600 секунд", + "saveSettings": "Не вдалося зберегти настройки подкастів", + "markPlayed": "Не вдалося відзначити відтворювану серію", + "restartEpisode": "Не вдалося перезапустити серію", + "queueDownload": "Не вдалося завантажити епізод з черги", + "removeDownload": "Не вдалося видалити завантаження епізоду", + "addToQueue": "Не вдалося додати епізод до черги", + "removeFromQueue": "Не вдалося видалити епізод з черги", + "loadPodcast": "Не вдалося завантажити подкаст", + "loadEpisodes": "Не вдалося завантажити серії podcast", + "queueNext": "Не вдалося виконати серію з черги наступного", + "follow": "Не вдалося слідкувати за подкастом", + "unfollow": "Не вдалося відписатися від подкасту", + "updateEpisode": "Не вдалося оновити епізод", + "refresh": "Не вдалося оновити подкасти черги", + "reparse": "Помилка повторного аналізу подкастів черги", + "reparseNoSnapshot": "BookOrbit не має збереженої копії цієї стрічки. Спочатку оновіть її.", + "updatePodcast": "Не вдалося оновити podcast", + "archive": "Не вдалося архівувати подкаст", + "prepareDelete": "Не вдалося підготувати видалення серіалу", + "deleteShow": "Не вдалося вилучити шоу", + "restore": "Не вдалося відновити подкаст", + "merge": "Не вдалося виконати злиття подкастів з черги", + "libraryAccess": "Не вдалося завантажити доступ до бібліотеки", + "reorderQueue": "Помилка повторного замовлення черги подкастів", + "clearQueue": "Не вдалося очистити чергу подкастів", + "podcastNotFound": "Подкаст не знайдено", + "loadPodcasts": "Не вдалося завантажити подкасти", + "loadQueue": "Не вдалося завантажити чергу подкастів", + "loadHealth": "Не вдалося завантажити стан стрічки", + "loadPlaybackSettings": "Не вдалося завантажити параметри відтворення podcast", + "invalidPlaybackRate": "Швидкість відтворення повинна бути від 0.5 до 3", + "invalidSkipBackward": "Назад повинен бути від 5 до 120 секунд", + "invalidSkipForward": "Перемотування вперед має бути від 5 до 120 секунд", + "invalidDateRange": "Початкова дата повинна бути до кінцевої дати", + "episodeNotFound": "Подкастський епізод не знайдено", + "loadEpisode": "Не вдалося завантажити подкаст епізоду", + "refreshPlaybackContext": "Не вдалося оновити контекст відтворення", + "streamUnavailable": "Не вдалося завантажити цей подкаст епізоду", + "bulkAction": "Не вдалося оновити епізоди podcast", + "invalidVolume": "Розмір повинен бути від 0 до 100 відсотків", + "restoreQueue": "Не вдалося відновити чергу podcast", + "loadPlaylists": "Не вдалося завантажити списки відтворення", + "savePlaylist": "Не вдалося зберегти список відтворення", + "deletePlaylist": "Не вдалося вилучити плейліст", + "queuePlaylist": "Помилка при черзі списку відтворення", + "playlistNameRequired": "Назвіть список відтворення перед збереженням", + "playlistLimitReached": "Досягнуто ліміт збереженого плейлиста", + "playlistDurationRange": "Найкоротший термін повинен бути нижче найдовшого", + "updatePinned": "Не вдалося оновити закріплений стан", + "titleRequired": "Показати заголовок не може бути порожнім", + "episodeTitleRequired": "Назва епізоду не може бути порожньою", + "updateArtwork": "Не вдалося оновити файли", + "removeArtwork": "Не вдалося видалити користувацькі файли" + }, + "settingsPage": { + "title": "Налаштування Подкастів", + "subtitle": "Керування відтворенням за замовчуванням і поведінкою сховища для кожної бібліотеки подкадів.", + "loading": "Завантаження налаштувань подкаста...", + "saving": "Збереження...", + "playbackTitle": "Типові значення для відтворення", + "playbackDescription": "Ці налаштування слідують вашому акаунті з усіх пристроїв. Підтримуються швидкості, записані для окремих шоу, збережені.", + "defaultPlaybackRate": "Типова швидкість відтворення", + "skipBackwardSeconds": "Пропустити назад (секунди)", + "skipForwardSeconds": "Пропустити вперед (секунди)", + "playbackSaved": "Налаштування Подкастингу відтворення збережено", + "playbackSaveFailed": "Не вдалося зберегти параметри подкасту", + "libraryTitle": "Типові для бібліотеки та сховища", + "libraryDescription": "Виберіть бібліотеку podcast для перегляду обмежень сховища і оновлення типової поведінки.", + "library": "Подкастська бібліотека", + "noLibraries": "У вас поки немає доступу до бібліотеки подкастів.", + "loadingLibrary": "Завантаження налаштувань бібліотеки...", + "readOnlyLibrary": "Змінити ці налаштування можуть лише власники бібліотек з дозволом на утримання подкастів.", + "showSettingsHint": "Автоматичні правила завантаження та оновлення заміщення залишаються в налаштуваннях кожного шоу.", + "defaultVolume": "Гучність за замовчуванням", + "gigabytesUnit": "ГБ" + }, + "queueReorder": { + "lifted": "{title} зняв у позиції {position} {total}", + "moved": "{title} перемістив на позицію {position} {total}", + "dropped": "{title} опустився на позицію {position} із {total}", + "cancelled": "Зміна замовлення {title} скасована" + }, + "sort": { + "label": "Упорядкувати", + "showLabel": "Сортувати серіали за", + "episodeLabel": "Сортування серій", + "showTitle": "Назва A до Я", + "showRecent": "Нещодавно оновлені", + "showUnplayed": "Найбільш невідтворювані", + "shortest": "Спершу короткі", + "longest": "Спершу довгі", + "recentlyListened": "Нещодавно прослухані" + }, + "announce": { + "queued": "Додано {title} до черги", + "queuedNext": "{title} буде грати наступного", + "unqueued": "{title} видалено з черги", + "downloadReady": "{title} завантажено", + "downloadFailed": "Не вдалося завантажити {title}", + "evictedSpace": "Завантаження {title} видалено до безкоштовного сховища", + "evictedPlayed": "Завантаження {title} видалено після прослуховування", + "sleepExpired": "Таймер сну завершено, відтворення призупинено", + "sleepExtended": "Таймер сну розширено {count} хвилин", + "sleepChapterUnavailable": "Таймер сну скасовано, цей епізод не має розділів" + }, + "shortcuts": { + "title": "Подкасти комбінації клавіш", + "description": "Ці роботи, поки епізод завантажено. Простір та клавіші зі стрілками діють на сторінці програвача або міні-програвача, а закладки можна додавати лише на сторінці плеєра.", + "open": "Гарячі клавіші", + "togglePlayback": "Грати або пауза", + "skipBackward": "Назад", + "skipForward": "Перемотати вперед", + "next": "Наступна серія", + "previous": "Попередня серія", + "speedDown": "Зменшити швидкість відтворення", + "speedUp": "Збільшити швидкість відтворення", + "mute": "Вимкнути або увімкнути звук", + "volumeUp": "Збільшити гучність", + "volumeDown": "Зменшення гучності", + "bookmark": "Додати до закладок", + "help": "Показати цей список", + "spaceKey": "З відступом", + "groups": { + "playback": "Відтворення", + "navigation": "Navigation", + "tools": "Інструменти" + } + }, + "playlists": { + "title": "Плейлісти", + "builtInLabel": "Вбудований", + "savedLabel": "Збережено", + "choose": "Виберіть плейліст", + "search": "Пошук серій зі плейлістом", + "summary": "{count} епізодів, {duration}", + "summaryShortest": "Найкоротший", + "summaryLongest": "Найдовший", + "summaryPublishedWithin": "Опубліковано всередині", + "create": "Новий список відтворення", + "createTitle": "Новий розумний список відтворення", + "editTitle": "Редагувати розумний список відтворення", + "editorDescription": "Виберіть, які серії збирають смарт-плейлісти. правила виконуються кожен раз, коли ви його відкриєте, тому нові епізоди з'являються автоматично.", + "edit": "Змінити правила", + "adjustRules": "Змінити правила", + "saveAs": "Зберегти як список відтворення", + "save": "Зберегти список відтворення", + "delete": "Видалити список відтворення", + "deleteConfirmTitle": "Видалити цей список відтворення?", + "deleteConfirmDescription": "\"{name}\" і його правила будуть видалені. епізоди, на які він збирає, не впливають.", + "nameLabel": "Назва списку відтворення", + "namePlaceholder": "Ранковий режим", + "filterLabel": "Епізоди", + "sortLabel": "Ордер", + "minDuration": "Найкоротші (хвилини)", + "maxDuration": "Найдовші (хвилини)", + "publishedWithin": "Опубліковано протягом (днів)", + "showsLabel": "Серіали", + "showsDescription": "Залиште пустим, щоб включити усі шоу в бібліотеку.", + "searchShows": "Пошук серіалів для додавання", + "removeShow": "Видалити {title}", + "showLimit": "Список відтворення може націлюватись до серіалів {count}ZZZ.", + "copyOf": "Копія {name}", + "empty": "Поки що нічого не відповідає цьому списку відтворення", + "emptyDescription": "Регулювання правил або повернутися як тільки з'являться нові епізоди.", + "builtIn": { + "quick": "Швидкий перегляд", + "continue": "Продовжити прослуховування", + "downloaded": "Завантажено", + "fresh": "Свіжі цього тижня" + }, + "nameRequired": "Назвіть список відтворення перед збереженням" + }, + "downloadWidget": { + "title": "Завантажень", + "progress": "{completed} з {total} завантажено", + "progressWithFailures": "{completed} із {total} завантажено; {failed} не вдалося", + "progressWithCancelled": "{completed} із {total} завантажено; {cancelled} скасовано", + "complete": "Завантаження завершено: {count}", + "expand": "Розгорнути прогрес завантаження", + "collapse": "Згорнути завантаження", + "overallProgress": "Загальний прогрес завантаження", + "unknownPodcast": "Подкаст", + "unknownEpisode": "Епізод", + "batchProgress": "{completed} з {total} завершено", + "dismiss": "Відхилити хід завантаження", + "bytes": "{received} {total}", + "episodeProgress": "Завантажити прогрес для {title}", + "status": { + "queued": "Поставлено в чергу", + "downloading": "Завантажується", + "completed": "Завантажено", + "failed": "Не вдалося", + "cancelled": "Скасовано" + } + }, + "collections": { + "addAction": "Додати в колекцію", + "addTitle": "Додати в колекцію", + "addDescription": "Оберіть колекцію подкастів для {title}.", + "added": "Додано до Z{name}", + "addFailed": "Не вдалося додати шоу до цієї колекції.", + "createFailed": "Не вдалося створити колекцію.", + "alreadyIn": "Вже є в цій колекції", + "none": "Поки що немає колекцій подкастів. Створіть ще один.", + "newPlaceholder": "Подкасти Scifi", + "newLabel": "Нова назва колекції", + "create": "Створити", + "newCollection": "Нова збірка", + "existing": "Колекції", + "inCollection": "У цій колекції", + "showCount": "{count} серіалів", + "removed": "Видалено з {name}", + "removeFailed": "Не вдалося видалити шоу з цієї колекції." + } + }, "titles": { "dashboard": "Приладна дошка", "libraries": "Бібліотеки", "podcastLibraries": "Podcast Libraries", + "podcastScope": "Розумний список відтворення", + "podcastCollection": "Подкастська колекція", "opds": "OPDS", "koboSync": "Kobo Sync", "koreaderSync": "Синхронізація KOReader", @@ -6837,6 +13807,7 @@ "notFound": "Не знайдено", "signIn": "Увійти", "initialSetup": "Первинне налаштування", + "register": "Створити обл. запис", "forgotPassword": "Забули пароль", "resetPassword": "Скидання пароля", "completingSignIn": "Завершення входу", @@ -6848,13 +13819,17 @@ "collection": "Колекція", "author": "Автор", "book": "Книжка", + "podcasts": "Підкасти", + "podcast": "Подкаст", + "podcastEpisode": "Епізод", "seriesItem": "Серія", "appearance": { "theme": "Відображати", "book-covers": "Обкладинки книг", "icons": "Іконки", "layout": "Відображення макета", - "behavior": "Поведінка бібліотеки" + "behavior": "Поведінка бібліотеки", + "language": "Мова:" }, "reader": { "general": "Параметри читання", @@ -6866,6 +13841,7 @@ }, "email": { "providers": "Постачальники", + "servers": "Поштові сервери", "recipients": "Одержувачі", "groups": "Групи", "templates": "Шаблони", @@ -6879,17 +13855,21 @@ "genre-blocklist": "Genre Blocklist", "score": "Оцінка довіри", "auto-fetch": "Автозавантаження книги", - "authors": "Автозавантаження автора" + "authors": "Автозавантаження автора", + "search-cache": "Пошук кешу" }, "admin": { "users": "Спільноти", "account-activity": "Активність облікового запису", "magic-links": "Магічні посилання", - "oidc": "OIDC / SSO" + "oidc": "OIDC / SSO", + "server-fonts": "Шрифти сервера", + "tts": "Text-to-Speech" }, "system": { "file-naming": "Назва файлу", "book-dock": "Книга док", + "requests": "Запити", "maintenance": "Ремонт", "audit-log": "Журнал аудиту" }, @@ -6900,6 +13880,179 @@ "restrictions": "Обмеження вмісту" }, "smartScopes": "Розумні область", - "collections": "Колекції" + "collections": "Колекції", + "missingResources": "Відсутні ресурси", + "bookRequests": "Запити", + "bookRequestDetail": "Замовити", + "bookRequestReleases": "Вибрати реліз", + "tts": "Text-to-Speech" + }, + "tts": { + "readerControls": { + "listen": "Слухати", + "playing": "Відтворюється" + }, + "player": { + "fallbackTitle": "TTS відтворення", + "play": "Грати Озвучування", + "pause": "Призупинити TTS", + "openMiniPlayer": "Відкрити міні-програвач", + "shrinkPlayer": "Стиснути гравця", + "expandPlayer": "Розгорнути плеєр", + "collapsePlayer": "Згорнути гравця", + "openDetails": "Відкрити деталі гравця", + "previousSentence": "Попереднє речення", + "nextSentence": "Наступне речення", + "meta": "Ch {chapter} - Sent {sentence} - {voice} - {speed}x", + "metaWithoutVoice": "Ch {chapter} - Надіслано {sentence} - {speed}x", + "position": "Розділ {chapter} - Речення {sentence}", + "playbackError": "Помилка відтворення - натисніть Грати, щоб повторити спробу", + "voice": "Голос", + "sleep": "Сон", + "sleepRemaining": "{count} м", + "currentVoice": "Поточний голос", + "chooseVoice": "Вибір голосу", + "saveForBook": "Зберегти в цій книзі", + "setAsDefault": "Встановити як глобальну за замовчуванням", + "bookVoiceSaved": "Голос збережено для цієї книги", + "bookVoiceSaveFailed": "Не вдалося зберегти голосову книгу", + "defaultVoiceSaved": "Голос TTS оновлений за замовчуванням", + "defaultVoiceSaveFailed": "Не вдалося оновити звук за замовчуванням", + "stop": "Зупинити" + }, + "speed": { + "label": "Швидкість відтворення", + "value": "{speed}×" + }, + "sleepTimer": { + "title": "Таймер сну", + "preset": "{count} м", + "presetLabel": "Зупинити відтворення після {count} хвилин", + "cancel": "Скасувати", + "cancelLabel": "Скасувати таймер сну", + "remaining": "Зупинки в {minutes}m {seconds}s" + }, + "resume": { + "title": "Продовжити TTS?", + "description": "У вас є збережена позиція TTS", + "descriptionWithChapter": "У вас є збережена позиція TTS (глава {chapter})", + "resume": "Поновити", + "startHere": "Почати цю сторінку", + "dismiss": "Відхилити", + "clearing": "Очищення...", + "confirmClear": "Підтвердити очищення", + "clearSavedPosition": "Очистити збережену позицію" + }, + "voicePicker": { + "search": "Пошук голосу...", + "allProviders": "Всі", + "allLanguages": "Усі мови", + "allCountries": "Всі країни", + "filterByLanguage": "Фільтрувати за мовою", + "filterByCountry": "Фільтрувати за країною", + "empty": "Голосів не знайдено", + "select": "Вибрати {name}", + "preview": "Попередній перегляд {name}", + "voiceWithLocale": "{voice} - {locale}" + }, + "settings": { + "description": "Налаштування параметрів голосового відтворення та відтворення за умовчанням.", + "defaultVoice": "Голос за замовчуванням", + "selectVoice": "Виберіть голос...", + "change": "Змінити", + "defaultSpeed": "Швидкість за замовчуванням", + "saved": "Налаштування TTS збережено", + "saveFailed": "Не вдалося зберегти параметри TTS" + }, + "errors": { + "generic": "Помилка TTS" + } + }, + "delivery": { + "readAloud": { + "label": "Суперечна доставка EPUB", + "automatic": "Автоматично: виключно з тексту віддано тільки текст, що дозволяє оригінальний запас.", + "textOnly": "Лише тексти EPUB", + "original": "Оригінальний EPUB з розповіддю", + "hint": "Застосовується до майбутніх результатів. Оригінали зберігають існуючу розповідь і можуть бути набагато більшими. Підготовка виключно виключно в текстурі провалилася, якщо безпечної копії не може бути зроблена.", + "koboHint": "Оригінальна версія EPUBs обходить KEPUB. Вбудована прошивка Native Kobo не може грати розповідь, а точна позиція і висока синхронізація недоступні для цієї копії.", + "profileHint": "Використайте окремі OPDS профілі для читачів, яким потрібні різні варіанти EPUB.", + "replacementTitle": "Замінити копію Кобо", + "bookId": "ID книги", + "device": "Пристрій", + "prepare": "Підготувати замінник", + "offer": "Я видалив лише поліцейську копію, пропонуємо замінник", + "confirm": "Я встановив повернення", + "cancel": "Скасувати заміну", + "replacementHint": "Спершу підготуйте й перегляд. Видалення копії пристрою не видаляє бібліотечну книгу. Замість цього зберігайте локальні нотатки на пристрої. BookOrbit зберігає канонічний прогрес і анотації серверу. Відкладені події можуть обмежувати точну синхронізацію.", + "prepared": "Варіант заміни: {format}, {size}. Видаліть цю книгу лише з вибраного пристрою, а потім запропонуйте підготовлену заміну і синхронізацію.", + "offered": "Пропоноване заміну. Синхронізація та завантаження на пристрої, потім підтвердження установки. Закінчена HTTP передача не підтверджує встановлення.", + "cancelled": "Заміна скасоване. Скасування не відновлює видалення або частково замінене пристрою. Виберіть ту саму книгу, щоб підготувати завантаження відновлення.", + "alreadyOnDevice": "Пристрій вже має таку точну копію, тому немає чого замінити.", + "failed": "Не вдалося підготувати або оновити цю заміну.", + "searchBook": "Шукати книгу", + "chooseBook": "Оберіть книгу", + "moreResults": "Показати більше книг", + "noResults": "Відповідних книг не знайдено.", + "refresh": "Оновити статус доставки", + "confirmed": "Ви підтвердили встановлення. Це підтвердження даних, а не підтвердження пристрою.", + "transferred": "Переказ виконано. Відкрити заміну на пристрої перед підтвердженням встановлення.", + "koreaderDefaultTitle": "Доставка KOReader EPUB", + "koreaderDefaultHint": "За замовчуванням застосовується до майбутніх завантажень на пристроях, використовуючи ці облікові дані. Параметри пристрою можуть перевизначати його. Існуючі копії і перервані завантаження не змінюються. Автоматично зберігає існуючий вибір пристрою.", + "koreaderUseDefault": "Використовувати облікові дані за умовчанням", + "koreaderSaveFailed": "Не вдалося зберегти налаштування доставки KOReader EPUB. Спробуйте ще раз.", + "koreaderSaved": "Налаштування доставки KOReader EPUB збережено." + } + }, + "commandPalette": { + "title": "Пошук", + "description": "Пошук книг, авторів, серії і налаштування, переходу до місця або розпочати дію.", + "placeholder": "Шукайте книги, авторів, серії або перейдіть до…", + "close": "Закрити пошук", + "clear": "Очистити пошук", + "tabs": { + "all": "Всі", + "books": "Книжки", + "authors": "Автори", + "series": "Серія", + "settings": "Налаштування" + }, + "sections": { + "continueReading": "Читати далі", + "goTo": "Перейти до", + "actions": "Дії", + "books": "Книжки", + "authors": "Автори", + "series": "Серія", + "settings": "Налаштування" + }, + "kinds": { + "author": "Автор", + "series": "Серія", + "library": "Бібліотека", + "smartScope": "Розумний обсяг", + "collection": "Колекція", + "page": "Сторінка", + "setting": "Налаштування" + }, + "showAllBooks": "{count, plural, one {Показати # книга} other {Показати всі # книг} few {Показати всі # книг} many {Показати всі # книг}}", + "showAllAuthors": "{count, plural, one {Показати # автор} other {Показати всіх # авторів} few {Показати всіх # авторів} many {Показати всіх # авторів}}", + "showAllSeries": "{count, plural, one {Показати # серія} other {Показати всі # серії} few {Показати всі # серії} many {Показати всі # серії}}", + "showAllSettings": "{count, plural, one {Показати # налаштування} few {Показати всі # налаштування} many {Показати всі # налаштувань} other {Показати всі # налаштування}}", + "actions": { + "lightTheme": "Застосувати світлу тему", + "darkTheme": "Застосувати темну тему" + }, + "hints": { + "navigate": "Navigate", + "open": "Відкриті", + "filter": "Фільтр", + "close": "Закрити" + }, + "keys": { + "escape": "еск", + "tab": "tab" + }, + "resultCount": "{count, plural, =0 {Немає результатів} one {# результат} few {# результати} many {# результатів} other {# результату}}" } } diff --git a/client/src/locales/zh.json b/client/src/locales/zh.json index dc43b2f04..ca2258545 100644 --- a/client/src/locales/zh.json +++ b/client/src/locales/zh.json @@ -109,14 +109,50 @@ "title": "主题", "style": { "label": "主题风格", + "hint": "应用程序的总体外观。模式、音调、角和背景保持其设置。", "bookorbit": { - "label": "BookOrbit" + "label": "BookOrbit", + "description": "薄膜表面、玻璃板和系列标题。" + }, + "nostalgia": { + "label": "Nostalgia", + "description": "中立场地、系统类型、平坦面板和顶部闪光。" } }, "colorScheme": { "label": "配色方案", "hint": "浅色或深色界面" }, + "surfacePalette": { + "label": "表面", + "hint": "板块和卡片背后的中立立场。", + "palettes": { + "onyx": "Onyx", + "carbon": "碳类", + "neutral": "中性的", + "zinc": "锌色", + "iron": "铁色", + "steel": "钢石", + "ash": "阿什文", + "smoke": "烟雾", + "charcoal": "木炭类", + "slate": "拉特尔", + "midnight-blue": "午夜蓝色", + "ocean": "1. Ocean", + "pine": "豆类", + "olive": "橄榄色", + "stone": "石头", + "sepia": "Sepia", + "crimson": "克里米森文", + "plum": "Plum" + } + }, + "topGlow": { + "label": "顶部发光", + "hint": "重音到达页面的距离。向左滑动以关闭它。", + "value": "{value}%", + "off": "关闭" + }, "accents": { "grey": "灰", "scarlet": "猩红", @@ -191,7 +227,10 @@ "label": "圆角半径", "hint": "卡片和界面元素的圆角程度", "options": { - "default": "默认" + "sharp": "锋利的", + "default": "默认", + "rounded": "圆角", + "pill": "Pill" } }, "surfaceBrightness": { @@ -211,7 +250,8 @@ "structural": "结构", "ambient": "氛围", "refractive": "折射" - } + }, + "syncSaveFailed": "保存主题首选项失败" }, "storage": { "title": "外观首选项的保存位置", @@ -243,6 +283,21 @@ "loadError": "加载默认封面搜索源失败", "saveError": "保存默认封面搜索源失败" }, + "placeholderStyle": { + "title": "占位符样式", + "hint": "这种样式绘制了没有封面艺术的书籍。", + "options": { + "bauhaus": "Bauhaus", + "constructivist": "建筑设计师", + "memphis": "Memphis", + "clothbound": "衣服", + "poster": "海报", + "aurora": "Aurora", + "vista": "维斯塔", + "marbled": "已标记", + "paperback": "回纸" + } + }, "displayMode": { "title": "封面显示模式", "hint": "控制宽高比不一致时真实封面在书槽内的显示方式", @@ -1225,6 +1280,11 @@ "portrait": "2:3 竖屏模式", "square": "1:1 正方形" }, + "gridShape": "网格形状", + "gridShapeValue": { + "tall": "高亮单元格", + "square": "平方单元格" + }, "none": "无", "allSupported": "所有支持的格式", "patternCount": "{count, plural, other {# 个模式}}", @@ -1527,7 +1587,132 @@ "subtitle": "上传字体后,所有用户均可在电子书阅读器内选用,无需自行上传字体。", "listLabel": "服务端字体", "noFontsYet": "暂无服务端字体", - "noFontsHint": "在此处添加的字体将对全部用户的阅读器生效。" + "noFontsHint": "在此处添加的字体将对全部用户的阅读器生效。", + "addFonts": "添加字体", + "filterLabel": "筛选品类", + "filterPlaceholder": "筛选品类", + "filterClear": "清除过滤器", + "noMatches": "没有匹配的家庭“{query}”", + "previewLabel": "预览文本", + "previewPlaceholder": "在每个家庭中键入预览它", + "previewSize": "预览大小", + "previewSizeOption": "{size} px", + "familiesUnit": "{count, plural, one {家庭} other {家庭}}", + "filesOfMax": "{count} 共 {max} 文件", + "onDisk": "{size} 在磁盘上", + "columns": { + "family": "家庭", + "specimen": "旁观", + "styles": "Styles", + "readers": "阅读器" + }, + "fileSummary": "{count,plural,one{# 文件} other{# 文件}} · {size}", + "newBadge": "新的", + "styles": { + "single": "{style} 仅限", + "many": "{count} styles", + "manyNoItalics": "{count} styles, no italics" + }, + "facts": { + "books": "{count, plural, one {在# 书上} other {在# 书上}}", + "booksDetail": "{books, plural, one {在# 本书上设置} other {在# 本书上设置}} 由 {readers, plural, one {# 读者} other {# 读者}}", + "defaults": "{count, plural, one {# 阅读器默认} other {# 阅读器默认}}", + "hidden": "{count, plural, one {被# 读者隐藏} other {被# 读者隐藏}}" + }, + "moreActions": "更多 {name}", + "menu": { + "rename": "重命名品类", + "addFiles": "添加文件", + "remove": "删除品类…" + }, + "footerHint": "每个读者在读者的字体列表中看到这些内容,并且可以在阅读器的 释义词下隐藏其中任何内容。", + "empty": { + "dropHint": "或丢弃此页面上任何地方的文件", + "tip": "一个家庭读起来最好为四个文件:定期文件,意大利文文件,粗体和粗体斜体。一个变量文件每个重量都可以站在一起。" + }, + "drop": { + "title": "{count, plural, one {放下来为每个阅读者添加 # 文件} other {放下来为每个阅读者添加# 文件}}" + }, + "upload": { + "ariaLabel": "上传进度", + "title": "{count, plural, one {添加# 文件} other {添加# 文件}}", + "progress": "{done} 共 {total} 完成", + "addedCount": "{count} 已添加", + "duplicateCount": "{count} 已经在这里", + "refusedCount": "{count} 未添加", + "dismiss": "关闭", + "newFamily": "新品类", + "states": { + "queued": "等待中", + "uploading": "上传中", + "added": "已添加", + "duplicate": "已经在服务器上", + "refused": "未添加", + "failed": "失败" + }, + "reasons": { + "tooLarge": "大于 {maxMb} MB.", + "unsupportedType": "不是字体文件。使用TTF、OTF、WOFF 或 WOFF2。", + "invalidFile": "文件已损坏或不是字体。", + "faceTaken": "{familyName} 已经有此重量和样式的文件。", + "limitReached": "服务器已经挂载 {limit} 字体文件。", + "failed": "上传失败。请重试。" + } + }, + "sheet": { + "description": "预览、重命名和管理 {name}", + "variable": "变量", + "preview": "预览", + "pageColour": "页面颜色", + "papers": { + "app": "应用表面", + "white": "白页", + "sepia": "Sepia page", + "night": "夜间页面" + }, + "previewHeading": "实时花园。", + "previewParagraph1": "Alice对她感到惊奇。“为什么我相信我们整整都在这棵树下!一切都是好!”", + "previewParagraph2": "“现在,在这里,你们看到你们能够做的一切都在同一个地方。 如果你想要到其他地方去,你的运行速度必须至少比这快两倍!”", + "styles": "Styles", + "stylesHint": "读者样式行提供什么", + "singleStyleNote": "一个样式,所以读者没有样式行。书籍中的粗体和斜体文本被浏览器伪装。 {style}.", + "inReader": "在阅读器", + "inReaderHint": "每个阅读器在阅读器的 \"rader \"设置 \"字体\" 列表, 和 {name} 已选择。", + "pickerLabel": "预览读者字体列表", + "files": "文件", + "filesUsed": "{count} 共 {max} 用于此服务器", + "fileDetail": "{summary} 已添加 {date}", + "upright": "极限", + "italic": "Italic", + "fileActions": "更多 {name}", + "changeStyle": "更改重量和样式", + "removeFile": "删除文件", + "removeFileQuestion": "要删除此文件给每个读者吗?", + "weight": "权重", + "style": "样式", + "name": "姓氏:", + "nameHint": "读者用这个名称挑选字体。", + "nameHiddenWarning": "{count, plural, one {# 读者隐藏 {name}} other {# 读者隐藏 {name}}}一个新名称再次显示给他们。", + "nameBooksWarning": "一个新名称发送 {count, plural, one {使用它的# 书} other {使用它的# 书}} 返回该书自己的字体。", + "readers": "阅读器", + "stats": { + "books": "{count, plural, one {书籍使用它} other {书籍使用它}}", + "defaults": "{count, plural, one {读者默认值} other {读者默认值}}", + "hidden": "{count, plural, one {读者隐藏它} other {读者隐藏它}}" + }, + "readersPrivacy": "只计数。哪一本书和哪个读者都是私下的。", + "removeLabel": "移除家庭", + "removeQuestion": "删除 {name} 每个读者?", + "removeConsequenceBooks": "{books,plural,one{设置为 # 书} other{设置为 # 书籍:}} 由 {readers,plural,one{# 阅读器} other{# 阅读器}};这些书籍回到书本身的字体。", + "removeConsequenceFiles": "{count,plural,one{其文件已从服务器上删除。} other{所有的 # 文件已从服务器上删除。}}", + "loadFailedNote": "此浏览器无法加载字体文件,所以预览显示后退面。 读者浏览器很可能也会拒绝;请尝试不同的字体。" + }, + "toasts": { + "removed": "{name} 已删除", + "removePartial": "{failed,plural,one{# 文件} other{# 文件}} 共 {name} 无法删除", + "renameTaken": "{name} 已经有一个重量和样式相同的文件" + }, + "loadFailed": "此浏览器无法加载它" } }, "common": { @@ -1681,6 +1866,92 @@ "inheritFromGlobal": "从全局继承的", "usingGlobalDefaults": "使用全局默认值。", "saveOverride": "保存覆盖" + }, + "scope": { + "ownSettings": "{count, plural, one {# 自己的设置} other {# 自己的设置}}", + "globalIntro": "除非有自己的图书馆,否则每个图书馆都遵循这一规则。", + "globalCoverage": "{libraryCount,plural,one{应用到 # 媒体库} other{应用到 # 库}}, {bookCount,plural,one{# 书} other{# 书籍:}}.", + "ownLibraries": "{names} {count,plural,one{它有自己的规则。} other{有自己的规则。}}", + "libraryFollows": "{library} 遵循全球规则。在这里更改任何东西以使它能够自立。", + "libraryOwn": "{library} 有自己的规则 {count,plural,one{# 设置} other{# 设置}}。其他一切都遵循全球规则。", + "lastRun": "上次运行 {when}, 队列中 {count,plural,one{# 书} other{# 书籍:}}.", + "neverRun": "尚未运行。", + "useGlobalRule": "使用全局规则", + "loadFailed": "无法加载自动获取设置。重新加载页面以重试。", + "saved": "已保存 {scope}", + "saveFailed": "无法保存 {scope}。再试一次。" + }, + "run": { + "all": "为每个库运行", + "library": "运行 {library}", + "saveFirst": "运行使用保存的规则。请先保存。", + "failed": "无法开始运行,请重试。" + }, + "onImport": { + "label": "获取新书的元数据", + "hint": "立即扫描和上传匹配书的队列。导入时只能填充空字段,锁定字段永远不会改变。", + "follow": "关注全局的", + "on": "开启", + "off": "关闭" + }, + "columns": { + "books": "{count, plural, one {book} other {books}}", + "ofTotal": "共 {total}", + "off": "关闭", + "own": "自己的", + "global": "全局范围", + "useGlobal": "全局使用", + "globalValue": "全局规则: {value}", + "on": "开启", + "scoreBelowValue": "下方得分 {threshold}", + "neverFetchedSplit": "{count, plural, one {# 从未获取} other {# 从未获取}}", + "fetchedBeforeSplit": "{count,plural,one{# 获取之前:} other{# 获取之前:}}", + "lowScoreLabel": "置信分低", + "lowScoreHint": "获取信任分低于该线的书籍。", + "outOf": "/ 100", + "lowerThreshold": "降低阈值", + "raiseThreshold": "提高阈值", + "missingHint": "获取任何选定字段为空。每个字段显示有多少书缺少它。", + "audioGroup": "带音频的书", + "audioHint": "{count, plural, =0 {这里没有音频。} one {只有带音频的# 书才会缺少音频。} other {只有带音频的# 才能缺少音频。}}", + "fieldCount": "{field}: {count,plural,one{# 书缺少它} other{# 书缺少它}}" + }, + "histogram": { + "label": "置信分阈值", + "valueText": "下方得分 {threshold}" + }, + "preview": { + "title": "运行会获取什么", + "matching": "{matching, plural, one {# {total} 书籍匹配} other {# {total} 书籍匹配}}", + "showing": "{count, plural, one {显示最不完整的} other {显示最不完整的}}", + "empty": "没有符合此规则的书籍,所以运行将不会排队任何东西。", + "unknownAuthor": "未知作者", + "score": "得分 {score}", + "more": "+{count}", + "missing": { + "title": "无标题", + "subtitle": "没有字幕", + "description": "无描述", + "cover": "无封面", + "audioCover": "没有音频簿封面", + "authors": "没有作者", + "publisher": "没有发布者", + "isbn": "没有 ISBN", + "publishedYear": "没有发布年份", + "language": "没有语言", + "pageCount": "没有页面计数", + "communityRating": "没有社区评分", + "seriesName": "没有系列名称", + "seriesIndex": "无序列索引", + "genres": "无流体", + "narrators": "无记名符", + "duration": "无持续时间", + "abridged": "桥接未设置" + } + }, + "queue": { + "progress": "{done} 共 {total}", + "failed": "{count, plural, one {# 书无法获取} other {# 书无法获取}}" } }, "providers": { @@ -1776,7 +2047,8 @@ "overwriteTerm": "覆盖:", "overwriteBody": "每当提供商有数据时替换。" }, - "summary": "将按自上而下的顺序对各提供商依次尝试,直至确认第一个返回值的提供商停止并将其采纳。合并策略决定该值是否可以替换书籍已有的值;分类还可以追加新的唯一值。在此处设置默认值,然后针对每个书库覆盖单个字段。" + "summary": "将按自上而下的顺序对各提供商依次尝试,直至确认第一个返回值的提供商停止并将其采纳。合并策略决定该值是否可以替换书籍已有的值;分类还可以追加新的唯一值。在此处设置默认值,然后针对每个书库覆盖单个字段。", + "summaryByMedium": "提供者从上到下尝试,第一个获得价值的提供者则从上到下;合并模式中的流派和社区评级将每个提供者结合起来。 合并策略决定是否可以替换该书已经存在的内容。AudNexus和Libro。 m 只对音频和读取EPUBs的书籍作出答复,因此将它们置于首选音频簿元数据而不触碰只限于电子书的书籍。 形状错误的封面艺术只有在没有其他东西的情况下才能填充插槽。库覆盖该字段的整个规则。" }, "libraryOverrides": { "title": "媒体库覆盖", @@ -1845,6 +2117,7 @@ }, "field": { "noProviders": "启用但没有提供商", + "noUsableProvider": "启用,但这里没有提供者可以填充它", "empty": "空的", "config": "配置", "custom": "自定义", @@ -1903,7 +2176,11 @@ "disabled": "已禁用", "notConfigured": "未配置", "disabledDetail": "{provider} 已被禁用,因此它会保留在顺序中,但会被跳过。", - "notConfiguredDetail": "{provider} 尚无凭据,因此它会保留在顺序中,但会被跳过。" + "notConfiguredDetail": "{provider} 尚无凭据,因此它会保留在顺序中,但会被跳过。", + "neverSupplies": "永远不要供应这个", + "neverSuppliesDetail": "{provider} 永远不会提供这个字段,所以它在这里被跳过。", + "otherShape": "其他封面形状", + "otherShapeDetail": "{provider} 仅有另一个形状的封面,所以它只能在没有其他东西可以的情况下填充这个栏位。" }, "detail": { "priority": "提供商优先级", @@ -1958,7 +2235,121 @@ "removeLabel": "移除 {genre}" }, "searchCache": { - "retry": "重试" + "loadFailed": "无法加载搜索缓存设置。", + "retry": "重试", + "saved": "搜索缓存设置", + "saveFailed": "保存搜索缓存设置失败", + "units": { + "hours": "小时数", + "days": "天" + }, + "general": { + "title": "已保存答案", + "enabled": "保存提供者答案", + "enabledHint": "搜索、批量刷新和背景获取重用已保存的答案,而不是再次询问每个提供者。", + "resultsTtl": "保留结果为", + "resultsTtlHint": "在再次询问提供者之前,重用多长时间的答案和结果。", + "resultsTtlUnit": "结果时间单位", + "emptyTtl": "留空答案", + "emptyTtlHint": "想起一个提供商没有找到任何东西的时间。仅适用于标为缓存空答案的提供商。0永远不留空答案。", + "emptyTtlUnit": "空回答时间单位", + "staleGrace": "使用过期的答案", + "staleGraceHint": "当一个提供者失败时,使用的是其过期时间长的答案。0 永远不会退回。", + "staleGraceUnit": "过期回答时间单位", + "storage": "存储预算", + "storageHint": "最老的答案一旦保存过这个大小就会被删除。在磁盘上,该表可以大约比预算多1.5至2倍。", + "storageUnit": "MB" + }, + "providers": { + "title": "每个提供者设置", + "hint": "将框留空以使用上面的值。关闭一个提供商以便随时询问它。", + "books": "书籍:", + "authors": "作者", + "none": "没有可用的供应商。", + "globalOff": "保存答案已关闭,所以这些设置将在关闭后应用。", + "on": "开启", + "off": "关闭", + "enabledLabel": "保存答案 {provider}", + "resultsTtl": "保留结果为", + "resultsTtlLabel": "保留 {provider} 结果为", + "resultsTtlUnitLabel": "时间单位 {provider} 结果", + "emptyTtl": "留空答案", + "emptyTtlLabel": "留空 {provider} 答案", + "emptyTtlUnitLabel": "空时间单位 {provider} 答案", + "noEmptyCaching": "从此提供商的空答案永远不会保存。", + "notCacheable": "此提供商的答案永远不会保存。", + "reset": "Reset {provider} 默认值" + }, + "validation": { + "required": "输入一个值。", + "wholeNumber": "输入一个整数。", + "range": "输入一个值来自 {min} 到 {max}.", + "tooManyOverrides": "太多的提供者有自己的设置。重置其中一些以便保存。" + }, + "save": { + "unsaved": "未保存的更改", + "invalid": "修复高亮字段以保存", + "upToDate": "所有更改已保存", + "discard": "放弃...", + "action": "保存" + }, + "stats": { + "group": "用法", + "title": "已保存答案", + "refresh": "刷新", + "loadFailed": "无法加载缓存用法。", + "storage": "存储已使用", + "storageUsed": "{used} 共 {budget}", + "storageHint": "已保存答案本身的大小。磁盘上的表更大。", + "entries": "已保存答案", + "emptyEntries": "空答案", + "diskSize": "磁盘上的表大小", + "hitRate": "点击率", + "requestsAvoided": "避开的请求", + "fallbacks": "备注", + "skippedWrites": "已跳过的写入", + "oldest": "最早的答案", + "none": "尚无", + "countersHint": "自服务器上次启动以来,点击率、请求避免、回退和跳过写入计数。", + "perProvider": "按提供商保存答案", + "provider": "提供商", + "kind": "类型", + "size": "大小", + "empty": "尚未保存任何内容。" + }, + "clear": { + "group": "维护费", + "title": "清除已保存的答案", + "regionHint": "提供商可以通过位置不同的回答。在将服务器移动到另一个区域或 VPN后清除缓存。", + "action": "清空", + "failed": "清除保存的答案失败", + "done": "{count, plural, one {移除# 保存的答案} other {移除# 保存的答案}}", + "donePending": "{count, plural, one {移除# 保存的答案。其余正在后台移除。} other {删除了# 保存的答案。其余的答案正在后台移除。}}", + "empty": { + "label": "仅清除空答案", + "hint": "忘记供应商没有发现任何东西,所以那些搜索再次询问。", + "confirmTitle": "清除空答案吗?", + "confirmDescription": "保存的答案,当一个提供商没有发现任何东西被删除时。答案和结果将被保留。" + }, + "book": { + "label": "清除书籍答案", + "hint": "移除簿提供者保存的所有内容。", + "confirmTitle": "清除书解答?", + "confirmDescription": "每个已保存的书籍提供者的答案都被删除。下一次搜索再次询问那些提供者。" + }, + "author": { + "label": "清除作者答案", + "hint": "删除作者保存的所有内容。", + "confirmTitle": "清除作者答案?", + "confirmDescription": "从作者提供者保存的每个答案都被删除。下一次搜索再次询问那些提供者。" + }, + "all": { + "label": "清除所有已保存的答案", + "hint": "清空缓存。下次搜索时再次询问每个提供者。", + "confirmTitle": "清除所有已保存的答案?", + "confirmDescription": "整个缓存已清空。 搜索将会更慢,直到它再次填充,任何东西都不会在一个提供商下台时掉落。" + } + } }, "customFields": { "label": "标签", @@ -2008,7 +2399,145 @@ "selectAll": "选择所有", "clear": "清空", "noLibraries": "还没有可用的库。", - "allLibraries": "所有库" + "allLibraries": "所有库", + "pageFacts": "{fields, plural, one {# 字段} other {# 字段}} * {values, plural, one {# 值存储} other {# 值存储}}", + "newFieldAction": "新建字段", + "views": { + "label": "显示活动或存档字段", + "active": "已启用", + "archived": "已存档" + }, + "columns": { + "order": "订单", + "field": "字段", + "type": "类型", + "libraries": "库", + "filled": "填充的", + "valuesKept": "保留值", + "archived": "已存档", + "actions": "行动" + }, + "orderHint": "拖动以设置订单字段出现在编辑元数据、表格列和导出中。", + "archivedHint": "存档字段从书籍、过滤器和导出中隐藏。其值一直保存到字段被删除。", + "coverage": "{filled} 共 {total}", + "coverageAria": "{filled} 共 {total} 书有一个值", + "onNoLibrary": "没有库", + "onNoLibraryHint": "没有库,所以这个字段没有任何位置", + "moreLibraries": "+{count}", + "noValues": "无", + "rowActions": { + "edit": "编辑", + "editField": "编辑字段", + "moveUp": "上移", + "moveDown": "向下移动", + "archive": "存档", + "restore": "恢复", + "deletePermanently": "永久删除…", + "more": "更多操作 {label}" + }, + "toasts": { + "loadFailed": "无法加载自定义字段", + "created": "{label} 已创建", + "createFailed": "无法创建 {label}", + "saved": "{label} 已保存", + "saveFailed": "无法保存 {label}", + "archived": "{label} 已存档", + "archiveFailed": "无法存档 {label}", + "restored": "{label} 已恢复", + "restoreFailed": "无法恢复 {label}", + "deleted": "{label} 已删除", + "deleteFailed": "无法删除 {label}", + "reorderFailed": "无法保存新订单" + }, + "empty": { + "body": "跟踪什么没有字段的 BookOrbit ,比如某一书在您的书架上的位置或者谁借了它。 字段出现在编辑元数据、表格列和过滤器中。", + "examples": "从示例开始", + "shelfNumber": "书架号", + "acquiredOn": "获得于", + "signedCopy": "签名副本", + "loanedTo": "贷款给" + }, + "types": { + "text": { + "label": "文本", + "hint": "任意单词", + "example": "首次打印,签名书" + }, + "url": { + "label": "链接", + "hint": "在新标签中打开", + "example": "https://example.com/book" + }, + "number": { + "label": "号码", + "hint": "按值排序", + "example": "42" + }, + "date": { + "label": "日期", + "hint": "日历日", + "example": "2024-03-09" + }, + "boolean": { + "label": "是 / 否", + "hint": "复选框", + "example": "否" + } + }, + "sheet": { + "newTitle": "新建字段", + "editDescription": "编辑自定义字段的标签和库,并查看它出现在哪里。", + "newDescription": "命名一个新的自定义字段,选择其类型并选择其库。", + "archivedDescription": "存档的自定义字段。恢复或删除其值。", + "statusFilled": "{filled} 共 {total,plural,one{# 书} other{# 书籍:}} 已填充", + "statusNone": "不在任何库", + "statusHidden": "{count} hidden", + "statusCreated": "已创建 {date}", + "labelHint": "显示在编辑元数据,显示在表列和过滤器中。", + "renameHint": "重命名每个存储的值和文件密钥 {key}.", + "keyHint": "已保存到文件并导出为 {key},重命名字段时保持不变。", + "typeLocked": "创建时设置", + "typeLockedHint": "此类型不能稍后更改,所以存储的值总是匹配的。", + "libraries": "库", + "books": "{count, plural, one {# 书} other {# 书}}", + "filledOfBooks": "{filled} 共 {total,plural,one{# 书} other{# 书籍:}}", + "hiddenCount": "{count} hidden", + "leavingNote": "{count,plural,one{# 值在 {libraries} 保持存储但在字段关闭时隐藏。} other{# 值在 {libraries} 保持存储,但当字段关闭时隐藏。}} 让它重新回来使他们回来。", + "noLibraryWarning": "没有库,这个字段似乎没有什么地方:不在编辑元数据、过滤器或导出中。", + "appears": { + "title": "出现在何处", + "editMetadata": "编辑元数据", + "details": "Details tab", + "filters": "筛选器", + "table": "表格和排序", + "tableBody": "可用作为表列和排序选项", + "files": "文件", + "filesWritten": "写入 EPUB 和 FB2 文件于 {libraries}, 在文件中写入元数据.", + "filesNotWritten": "未写入文件: 这些库都没有 EPUB 或 FB2 文件写入元数据。", + "exports": "出口" + }, + "archiveAction": "归档字段", + "archiveConfirm": "存档 {label}?", + "archiveConsequence": "{count,plural,one{它留下编辑元数据、过滤器和导出。 # 保存到字段删除之前的值。} other{它留下编辑元数据、过滤器和导出。 # 值保持存储直到删除字段。} =0{它留下编辑元数据、过滤器和导出。随时从存档中恢复它。}}", + "create": "创建字段", + "onLibraries": "开启 {count} 共 {total} 库", + "onAllLibraries": "在全部 {total} 库", + "archivedBadge": "已存档", + "archivedTitle": "已存档 {when}.", + "archivedBody": "{count,plural,one{此字段隐藏在书籍、过滤器和导出中。 # 存储的值被保存并恢复到还原状态。} other{此字段隐藏在书籍、过滤器和导出中。 # 存储的值被保存并恢复到还原状态。} =0{此字段隐藏在书籍、过滤器和导出中。它没有任何值。}}", + "facts": { + "type": "类型", + "libraries": "库", + "valuesKept": "保留值", + "fileKey": "文件密钥", + "created": "已创建", + "archived": "已存档" + }, + "deleteQuestion": "删除 {label} 为好吗?", + "deleteConsequence": "{count, plural, =0 {它没有值。这不能撤消。} one {其存储的值已从每本书中删除。文件已经写好了他们的副本。 此操作无法撤消。} other {其存储值已从每本书中删除。 文件已经写好副本。此操作无法撤消。}}", + "deleteConfirmLabel": "输入字段名称以确认", + "deleteConfirmPlaceholder": "类型 {label} 确认" + } }, "tabs": { "providers": "提供商", @@ -2017,7 +2546,8 @@ "genre-blocklist": "体裁屏蔽列表", "score": "置信评分", "auto-fetch": "书籍", - "authors": "作者" + "authors": "作者", + "search-cache": "搜索缓存" }, "tabTitles": { "providers": "提供商", @@ -2026,7 +2556,8 @@ "genre-blocklist": "体裁屏蔽列表", "score": "自信得分", "auto-fetch": "书籍自动获取", - "authors": "作者自动获取" + "authors": "作者自动获取", + "search-cache": "搜索缓存" }, "tabSubtitles": { "providers": "启用外部元数据源并配置他们的凭据。", @@ -2035,7 +2566,8 @@ "genre-blocklist": "防止不想要的提供商流派值被写入书中。", "score": "各元数据字段对每本书所显示完整度评分的贡献方式。", "auto-fetch": "当新书被添加到您的书库时,自动获取封面、描述和其他详细信息。", - "authors": "当新作者出现在您的库中时,自动获取个人简历和个人资料照片。" + "authors": "当新作者出现在您的库中时,自动获取个人简历和个人资料照片。", + "search-cache": "重新使用提供者答案,这样重复搜索很快,当提供者关闭时仍然有效。" }, "preferences": { "toast": { @@ -2251,7 +2783,25 @@ "serverFontsHint": "这些字体由服务器管理员提供;可关闭对应字体,使其不在阅读器内展示。", "serverFontsShown": "当前展示 {count} 项,共 {total} 项", "serverFontsAllHidden": "所有服务端字体已隐藏,阅读器仅提供内置字体与您自行上传的字体。", - "serverFontVisibilityFailed": "服务端字体显示状态更新失败" + "serverFontVisibilityFailed": "服务端字体显示状态更新失败", + "library": { + "columns": { + "use": "正在使用" + }, + "yourDefault": "您的默认", + "hiddenBadge": "Hidden", + "emptyHint": "在上面添加字体,或在此页面上的任意位置拖放文件。", + "dropTitle": "{count, plural, one {拖放以将 # 文件添加到您的字体} other {拖放以将# 文件添加到您的字体}}", + "limitReached": "您已经有 {limit} 字体文件。", + "filesUsed": "{count} 你的 {max} 已使用", + "nameHint": "这是您读者字体列表中的名称。", + "inReaderHint": "您在读取器中的字体列表 {name} 已选择。", + "showInReader": "在我的阅读器中显示", + "showFamily": "显示 {name} 在我的阅读器", + "removeConsequenceBooks": "{count,plural,one{设置为 # 这本书回到自己的字体。} other{设置为 # 他们回到自己的字体。}}", + "removeConsequenceDefault": "这是您的默认字体;没有自己设置的书本回到书默认值。", + "removeQuestion": "删除 {name} 来自您的字体吗?" + } }, "bookDock": { "title": "书仓", @@ -2581,6 +3131,8 @@ "syncHighlightsHint": "将在 BookOrbit 或 KOReader 中制作的划线发送到您的 Kobo。即使此功能关闭,Kobo 划线也会导入 BookOrbit。已关联的批注会双向同步编辑和删除。需要 KEPUB 交付;Kobo 上的书必须是从 BookOrbit 下载的 KEPUB。", "storeSync": "包含 Kobo Store标题", "storeSyncHint": "此功能还会将您 Kobo 账户中的书籍(包括 Kobo Plus 订阅和已购书籍)与您的 BookOrbit 书库一并投送到设备上。若未启用此功能,则只有 BookOrbit 的书籍会同步到设备。商店中的书籍直接从 Kobo 下载,不会添加到您的 BookOrbit 书库中。", + "fullSizeCovers": "全尺寸盖子", + "fullSizeCoversHint": "在您的 Kobo 屏幕分辨率上发送每张封面,所以睡眠屏幕和全屏幕封面保持锐化。 关闭此功能以便更快地发送较小的封面。只有当书封面变化时,Kobo上的封面才会改变。", "convertKepub": "转换为 KEPUB", "convertKepubHint": "以 KEPUB 发送合格的 EPUB。当进度同步或 BookOrbit到 Kobo 划线启用时,此操作将保持不变。 在下一个 Kobo 同步时,受影响的书籍将再次以 KEPUB 下载的形式提供;如果Kobo 继续打开,则删除任何旧的 EPUB 副本。", "forceHyphenation": "强制连线", @@ -3616,6 +4168,7 @@ "nav": { "title": "设置", "ariaLabel": "设置部分", + "breadcrumbLabel": "面包屑导航", "searchPlaceholder": "搜索设置", "clearSearch": "清空搜索内容", "noResults": "没有与 {query} 匹配的设置。", @@ -3662,9 +4215,58 @@ "serverFonts": "在此服务器上为每个读者安装字体。", "bookDock": "在书页上显示快速操作。", "auditLog": "谁改变了什么,什么时候改变。", - "requests": "来源、下载客户端,以及书籍下载完成后的处理方式。" + "requests": "来源、下载客户端,以及书籍下载完成后的处理方式。", + "readerTts": "朗读语音、速度和语音默认。", + "adminTts": "此服务器上每个读者都可使用文字转语音引擎。" }, - "backToApp": "返回图书馆" + "backToApp": "返回图书馆", + "pageDescriptions": { + "profile": "您的名字、照片、时区和成就跟踪,加上您的密码和与此帐户链接的登录提供商。", + "appearance-theme": "选择保存外观设置的位置,然后设置样式、颜色方案、重音、角、表面亮度和库背后的模式。", + "appearance-book-covers": "如何显示应用的外观:没有应用的占位符艺术。 封面如何适合他们的插槽、脊柱和玻璃效果以及书页上的封面素材。", + "appearance-icons": "上传您自己的图标,与内置库、智能范围和收藏集一起使用。", + "appearance-layout": "图书馆网格的封面大小和间距,折叠系列的封面,以及作者网格是如何布置的。", + "appearance-behavior": "从网格或列表中打开一本书是什么,不管是系列还是一张卡片,书卷请求是否出现在这个帐户中。", + "appearance-language": "语言书轨迹用于菜单、标签和消息,以及日期和数字的区域格式。", + "reader-ebook": "预设电子书阅读器:新书是否以您的设置、页面流量和列、主题以及字体大小和间距为起始。", + "reader-pdf": "PDF如何打开:页面或连续滚动,页面开始双页扩展,默认缩放适合。", + "reader-comics": "漫画如何读取:阅读模式和方向、单页或两页的光线、适合、宽页的处理,并接着进入系列中的下一本书。", + "reader-audio": "新音频书籍的起始速度和音量,以及跳过和跳过按钮跳过的距离。", + "reader-fonts": "为读者上传您自己的字体,并选择你的服务器管理员共享的字体。", + "reader-general": "保存您的阅读器首选项的地方,和每个阅读模式共享的默认值。", + "tts": "BookOrbit已读书时您的默认语音和速度。", + "notifications": "选择通知您的事件,从完成的扫描和元数据获取到文件重命名、导入和预览结果。", + "privacy": "决定您的阅读活动管理员能看到多少信息,预览您的共享个人资料,并检查谁查看过它。", + "restrictions": "对此帐户设置的内容限制,例如年龄评级和隐藏内容,以及它们在您的库之外保留的内容。", + "libraries": "每个知识库在一个视图上:它的文件夹、它持有的东西、它是如何扫描的以及它上次排名时。在这里添加、编辑或重新扫描图书馆。", + "metadata-providers": "打开或关闭元数据源,添加 API 密钥或源需要它们的cookie,并测试实时服务的凭据。", + "metadata-field-rules": "选择哪个提供商填写每个元数据字段和按什么样的顺序、如何合并值以及如何收集流派和提供者ID。", + "metadata-custom-fields": "创建您自己的元数据字段,选择它们的类型和使用它们的库,并重新排序或归档它们。", + "metadata-score": "决定每个元数据字段在每一本书显示的完整性分数中的数值。", + "metadata-auto-fetch": "当书籍被导入或缺少详细信息时,自动获取书籍元数据,并覆盖每个库。", + "metadata-authors": "自动获取作者个人简历和照片,选择订单源并决定哪些作者符合资格。", + "metadata-search-cache": "让提供者的回答如此频繁地搜索很快,当一个提供者下台时仍然可以工作,并控制保留多长时间和多少时间。", + "metadata-genre-blocklist": "这里列出的流派值在元数据写入之前会从提供商结果中删除,因此像音频簿这样的标签会停留在您的书中。", + "metadata-reminders": "选择缺少的字段显示在账面提醒中。这只是更改提醒,而不是元数据分数。", + "file-naming": "书签重命名磁盘上的书时使用的文件夹和文件名模式 预览结果以及缺少值时会发生什么情况。", + "maintenance": "服务器内部维护:上传大小限制,过去导入,重建建议,支持成就和检查更新。", + "kobo": "连接 Kobo 电子阅读器,选择书籍、书架和读取进度同步方式,并跟随每个设备最近的同步活动。", + "koreader": "与 KOReader 同步进度,阅读活动和高亮,获取同步 URL 和插件,并管理连接的设备。", + "opds": "打开OPDS目录并创建帐户,以便第三方阅读应用能够浏览和下载您的书籍。", + "email": "管理地址簿发送到Kindle收件箱、默认收件人以及一次发送到几个小组收件人。", + "hardcover": "连接您的硬封面帐户并选择何时阅读状态、进度和评级同步,以及同步书是如何出现在那里的。", + "readwise": "连接您的Readwise 帐户以自动将您的高亮发送到那里。", + "storygraph": "使用您的浏览器会话 cookie 连接您的 StoryGraph帐户以同步阅读进度和状态。", + "users": "创建和管理帐户,他们的角色、权限和库访问权限,查看哪些帐户需要注意。", + "account-activity": "查看每个帐户是最后活跃的,以及它是如何在每个用户的阅读和会话中显示的。", + "magic-links": "创建可以共享的链接,请在没有密码的情况下登录别人,并在不再需要密码时撤销它们。", + "oidc": "连接单个登录提供商,如Keycloak,映射其索赔,并决定如何创建新帐户。", + "requests": "当书轨迹搜索请求的书籍,下载客户端获取它们,以及下载完成后会发生什么情况。", + "admin-tts": "文字转语音引擎读取器可以用于读取,每个引擎提供的声音以及它们出现的顺序。", + "book-dock": "Book Dock 拖放文件夹,自动获取新文件的元数据,以及单独完成文件的得分。", + "server-fonts": "上传此服务器上每个阅读器的字体一次。每个阅读器仍然可以隐藏其中任何字体。", + "audit-log": "可检索的记录,按事件、人、影响物品和日期列出谁改变了什么以及何时进行过滤。" + } }, "field": { "required": "(必填)" @@ -3699,6 +4301,201 @@ "earned": "已获取({count} 项)", "inProgress": "进行中({count} 项)", "locked": "未解锁({count} 项)" + }, + "tiersEarnedFact": "{earned} 共 {total} 关卡", + "loading": "正在加载成就", + "filters": { + "label": "过滤成就", + "all": "所有的", + "earned": "赚取的", + "inProgress": "进行中", + "locked": "已锁定" + }, + "showcase": { + "label": "高光", + "latest": "最新解锁", + "newToday": "{count, plural, one {# 今天新增} other {# 今天新增}}", + "secretRevealed": "泄露的秘密信息", + "categoryAndDate": "{category} · {date}", + "alsoNew": "也是新的", + "openMedal": "打开 {name}", + "emptyTitle": "您的第一枚奖牌正在等待", + "emptyBody": "完成一本书,评价一本书或高亮一条通道,它在这里降落。", + "collection": "收藏", + "shareOfTiers": "{percent} 每个级别的", + "tiersEarned": "{earned} 共 {total} 已赚取等级", + "closest": "最接近解锁的", + "allInProgress": "所有的 {count}", + "tierOfSet": "层 {tier} 共 {set}", + "nothingCounting": "还没有任何正在给奖牌打算。" + }, + "shelf": { + "tiers": "{earned} / {total}", + "progressLabel": "{category} 已赚取等级" + }, + "medal": { + "label": "{name}, {rarity}, {status}", + "tier": "层 {tier}", + "allTiers": "{count, plural, one {唯一级别} other {所有等级}}", + "keepReading": "继续阅读", + "notStarted": "未启动" + }, + "progress": { + "generic": "{current} / {threshold}", + "toGo": "{count, plural, one {# 去} other {# 去}}" + }, + "hints": { + "howToGetIt": "如何获取它", + "readingPace": "{count,plural,one{您已读 # 最近一小时 {days} 天数。} other{您已读 # 最近几个小时 {days} 天数。}}", + "etaDays": "{count,plural,one{关于 # 这个节奏的日子。} other{关于 # 按这个速度天数。}}", + "etaWeeks": "{count,plural,one{关于 # 每周以这个速度.} other{关于 # 每周以这个速度.}}", + "etaMonths": "{count,plural,one{关于 # 这个月的速度。} other{关于 # 月份以此速度飞行。}}", + "decadeUnread": "{count,plural,one{# 书签来自 {decade}s 正在等候您的货架。} other{# 书目 {decade}s 正在你的架子上等待.}}", + "centuryUnread": "{count,plural,one{# 书签来自 {century}s 正在等候您的货架。} other{# 书目 {century}s 正在你的架子上等待.}}", + "stalled": "{title} 是 {percent} 读取并启动于 {date}.", + "stalledNoProgress": "{title} 启动于 {date}.", + "untitledBook": "一本正在进行中的书", + "nearlyFinished": "{count,plural,one{# 进行中的书是过去的 {percent}.} other{# 正在进行中的书籍是过去的 {percent}.}}", + "unratedFinished": "{count,plural,one{# 您完成的书还没有评分。} other{# 您完成的书籍还没有评分。}}", + "shortBooks": "{count,plural,one{# 书签下 {pages} 页面正在等待您的架子。} other{# 书籍正在使用 {pages} 页面正在等待您的架子。}}", + "alreadyStarted": "{count,plural,one{# 正在进行中。} other{# 正在进行中。}}", + "longBooks": "{count, plural, one {# 书 {pages} 页面或更多页面正在等待您的架子。} other {# 书籍 {pages} 页面或更多页面正在您的架子上等待。}}", + "oldBooks": "{count,plural,one{# 书已发布于 {year} 正在等待您的货架。} other{# 此前出版的书 {year} 正在等待你的货架。}}", + "authorUnread": "{author}: {finished,plural,one{# 完成} other{# 完成}}, {count,plural,one{# 更多在你的书架上} other{# 更多在你的书架上}}.", + "languageUnread": "{count, plural, one {#book in {language} 正在等候您的架子上。} other {# 书在 {language} 正在等待您的架子上。}}", + "monthsRead": "{count,plural,one{您已读 # 月 {year} 迄今。} other{您已读 # 月 {year} 迄今。}}", + "monthsLeft": "{count,plural,one{{months} 左侧。} other{{months} 左侧。}}", + "noLongBook": "您的架子上没有任何书 {pages} 页面或更多。", + "nothingBeforeYear": "你的书架上没有发布过任何内容 {year}.", + "tooFewDecades": "{count,plural,one{仅您的架子间隔 # 这种做法迄今已经十年了。} other{仅您的架子间隔 # 几十年至今。}}", + "tooFewCenturies": "{count, plural, one {你的架子到目前为止只长达#个世纪。} other {你的架子到目前为止只长达#个世纪。}}", + "missedMonth": "您没有读取于 {month}, so {year} 这是无法实现的。这个数字在1月份再次开始。", + "continueReading": "继续阅读", + "rateFinished": "评价一本完成的书", + "viewAuthor": "查看作者", + "openBook": "打开 {title}", + "openUntitledBook": "打开书" + }, + "sets": { + "booksFinished": "书籍已完成", + "pagesRead": "读取页面", + "hoursRead": "读取时间", + "longestBook": "最长的书已完成", + "librarySize": "库大小", + "annotations": "说明", + "booksRated": "图书评分", + "genresFinished": "流派完成", + "languagesFinished": "语言完成", + "readingStreak": "正在读取串口" + }, + "units": { + "books": { + "progress": "{current} / {threshold} 书籍:", + "toGo": "{count, plural, one {# 要去的书} other {# 要去的书}}" + }, + "pages": { + "progress": "{current} / {threshold} 页面", + "toGo": "{count, plural, one {# 页面要去} other {# 页面要去}}" + }, + "hours": { + "progress": "{current} / {threshold} 小时", + "toGo": "{count, plural, one {# 小时要去} other {# 小时要去}}" + }, + "annotations": { + "progress": "{current} / {threshold} 说明", + "toGo": "{count,plural,one{# 注解} other{# 转到批注}}" + }, + "ratings": { + "progress": "{current} / {threshold} 评分", + "toGo": "{count, plural, one {# 评级} other {# 评级应该加入}}" + }, + "genres": { + "progress": "{current} / {threshold} genres", + "toGo": "{count, plural, one {# 流派} other {# 流派}}" + }, + "languages": { + "progress": "{current} / {threshold} 语言", + "toGo": "{count, plural, one {# 语言可以使用} other {# 语言可以使用}}" + }, + "days": { + "progress": "{current} / {threshold} 天", + "toGo": "{count, plural, one {# 天去} other {# 天去}}" + } + }, + "moments": { + "nthBook": "书 {number} 是 {title}", + "pagesAtUnlock": "{count, plural, one {# 页面} other {# 页面}} 解锁时", + "hoursAtUnlock": "{count, plural, one {# 小时} other {# 小时}} 解锁时", + "titleWithPages": "{title}, {count,plural,one{# 页面} other{# 页面}}", + "booksAtUnlock": "{count, plural, one {# 书} other {# 书}} 解锁时在你的书库中", + "annotationsAtUnlock": "{count, plural, one {# 批注} other {# 批注}} 解锁时", + "ratingsAtUnlock": "{count, plural, one {# 评分} other {# 评分}} 解锁时", + "genresAtUnlock": "{count, plural, one {# 流派} other {# 流派}} 解锁时", + "languagesAtUnlock": "{count, plural, one {# 语言} other {# 语言}} 解锁时", + "streakAtUnlock": "{count, plural, one {#day} other {#days}}", + "longSession": "正在运行一个会话 {duration}", + "durationHours": "{hours} 小时 {minutes} 分钟", + "durationMinutes": "{minutes} 分钟", + "sessionStartedAt": "会话开始于 {time}", + "oneDayBook": "{title}, 开始在一天内完成", + "booksInWeek": "{count, plural, one {# 书} other {# 书}} 一周内完成", + "booksInMonth": "{count,plural,one{# 书} other{# 书籍:}} 完成于 {month}", + "booksInYear": "{count,plural,one{# 书} other{# 书籍:}} 完成于 {year}", + "wholeBookOneSession": "一本片片段中的完整书", + "pagesInSession": "{count, plural, one {# 页面} other {# 页面}}", + "pagesInDay": "{count, plural, one {# 页面} other {# 页面}} 一天内", + "slowBurn": "{title}, 完成于 {count,plural,one{# 天} other{# 天}}", + "formatsOwned": "{count, plural, one {# 格式} other {# 格式}}", + "annotationsWithNote": "{count, plural, one {# 批注} other {# 批注}}", + "annotationsInDay": "{count, plural, one {# 批注} other {# 批注}}", + "everyStar": "从一星到五星的每个评分", + "everyColour": "使用的每个高亮颜色", + "titlePublished": "{title},发布 {year}", + "booksInGenre": "{count, plural, one {# 书} other {# 书}}", + "firstInSeries": "{title},来自 {series} 系列", + "centuries": "来自 {count, plural, one {# 世纪} other {# 百年}}", + "booksBySameAuthor": "{count, plural, one {# 书} other {# 书}} 由一位作者", + "decades": "书籍来自 {count,plural,one{# 十年} other{# 几十年内}}", + "shortBooks": "{count, plural, one {# 短书} other {# 短书}}", + "allSeasons": "四个季数 {year}", + "consistentDays": "{count, plural, one {# 天} other {# 天}} 30分钟或更多", + "weekendsInRow": "{count, plural, one {# 周末} other {# 周末}}", + "weekendHours": "{count,plural,one{# 小时} other{# 小时}} 周末: {date}", + "categoriesCovered": "{count, plural, one {# 类别} other {# 类别}} 带有一项成就", + "readingSources": "{count, plural, one {# 读取源} other {# 读取源}}", + "oneBookSources": "一本书从 {count, plural, one {# 源} other {# 源}}" + }, + "records": { + "title": "录制书", + "subtitle": "您的勋章背后的数字,当每个勋章解锁时", + "value": "{value}", + "oneSession": "一个阅读会话", + "pagesInSession": "一个会话中的页面", + "pagesInDay": "一天内的页面", + "booksInWeek": "一周内的书", + "booksInMonth": "书籍于 {month}", + "booksInYear": "书完成于 {year}", + "annotations": "说明", + "genresFinished": "流派完成", + "daysInRow": "连续天数", + "booksInLibrary": "您的书库中的书" + }, + "detail": { + "categoryTierSet": "{category} · 层级设置", + "secretHint": "继续阅读以显示此内容。", + "tierOf": "层 {earned} 共 {total}", + "current": "当前的", + "noneYet": "尚无", + "progress": "进展情况", + "allTiersEarned": "每个级别都赚取了", + "tiers": "层级", + "earned": "赚取的", + "status": "状态", + "hidden": "Hidden", + "rarity": "稀有度", + "category": "类别", + "theSet": "集合中", + "theMoment": "时间" } }, "adminFeature": { @@ -4430,7 +5227,13 @@ "user": "用户", "action": "行 动", "description": "描述", - "ip": "IP" + "ip": "IP", + "time": "时间", + "person": "人员", + "source": "来源", + "open": "打开", + "network": "网络", + "activity": "活动" }, "categories": { "authentication": "认证", @@ -4440,7 +5243,10 @@ "collections": "收藏夹", "integrations": "集成", "settings": "设置", - "other": "其他" + "other": "其他", + "access": "登录和访问", + "requests": "请求", + "devices": "设备和电子邮件" }, "resourceLabels": { "User": "用户", @@ -4604,10 +5410,178 @@ "MaintenanceMissingBooksClean": "清理缺失书籍", "MaintenanceBrokenCoversClean": "清理损坏封面", "MaintenanceOrphanedCoversClean": "清理孤立封面文件夹" - } + }, + "views": { + "label": "显示", + "changes": "更改", + "signins": "登录", + "security": "安全", + "all": "所有的" + }, + "search": { + "label": "搜索事件", + "placeholder": "搜索人员、目标或IP地址", + "placeholderShort": "搜索事件" + }, + "range": { + "label": "Date range: {range}", + "today": "今日:", + "7d": "过去 7 天", + "30d": "过去 30 天", + "all": "所有内容都保留", + "custom": "自定义范围", + "from": "来自", + "to": "收件人", + "between": "{from} 到 {to}", + "since": "自 {date}", + "until": "直到: {date}", + "sinceOldest": "自 {date}" + }, + "filterMenu": { + "button": "筛选器", + "category": "类别", + "person": "人员", + "findPerson": "查找人", + "noPeople": "没有匹配的人", + "clear": "清空", + "done": "完成" + }, + "activeFilters": { + "target": "{type}: {name}", + "clearAll": "全部清除" + }, + "securityGroups": { + "label": "安全事件类型", + "all": "全部内容", + "failed": "失败的登录", + "accounts": "账户", + "passwords": "密码", + "permissions": "权限", + "access": "书库访问", + "links": "登录链接" + }, + "day": { + "today": "今日:", + "yesterday": "昨日", + "changes": "{count, plural, one {# 更改} other {# 更改}}", + "events": "{count, plural, one {# 事件} other {# 事件}}" + }, + "person": { + "system": "系统", + "deleted": "已删除帐户", + "automation": "自动化" + }, + "source": { + "server": "此服务器", + "local": "本地网络", + "internet": "B. Internet", + "job": "背景作业", + "unknown": "未记录" + }, + "target": { + "none": "No target", + "more": "+{count}", + "sinceDeleted": "已删除", + "withId": "{type} #{id}" + }, + "openEvent": "打开详细信息: {event}", + "signIns": { + "signIns": "{count, plural, one {# 登录} other {# 登录}}", + "signOuts": "{count, plural, one {# 签出} other {# 签出}}", + "failed": "{count, plural, one {# 尝试失败} other {# 尝试失败}}", + "failedAs": "{count,plural,one{# 失败为 {names}} other{# 失败为 {names}}}", + "range": "{from} – {to}", + "footer": "{count, plural, one {{events} 登录活动,按个人、日和网络折叠到#} other {{events} 登录事件, 按个人、日和网络折叠到 # 行}}" + }, + "pager": { + "label": "页 次", + "previous": "上一页", + "next": "下一页", + "page": "页 {page}", + "changes": "{from}–{to} 共 {count,plural,one{# 更改} other{# 更改}}", + "events": "{from}–{to} 共 {count,plural,one{# 事件} other{# 事件}}" + }, + "drawer": { + "description": "一个审计活动的详细信息", + "close": "关闭", + "subtitle": "{category} · {day}, {time}", + "when": "时间", + "person": "人员", + "source": "来源", + "target": "Target", + "usernameTried": "已尝试用户名", + "deletedHere": "{type} · 被此事件删除", + "deletedSince": "{type} • 已删除", + "inThisRow": "{count, plural, one {# 此行中的事件} other {# 此行中的事件}}", + "around": "围绕这个事件", + "aroundHint": "{name},40分钟两边的", + "aroundEmpty": "没有其它内容 {name} 在 40 分钟内。", + "history": "历史记录", + "historyCount": "{count, plural, one {# 事件} other {# 事件}}", + "historyMeta": "{name} · {date}, {time}", + "thisEvent": "此事件", + "raw": "原始事件", + "rawEventId": "事件 ID", + "rawAction": "行 动", + "rawTarget": "Target type", + "rawNote": "服务器笔记", + "only": "仅限 {name}" + }, + "facts": { + "format": "格式", + "size": "大小", + "download": "下载", + "dockFile": "Book Dock 文件", + "rejected": "已拒绝", + "failed": "失败", + "cleaned": "已清理", + "skipped": "跳过", + "remaining": "剩余时间", + "sharingLevel": "共享级别", + "sharing": { + "private": "未共享", + "summary": "Summary", + "detailed": "详细信息" + } + }, + "retention": { + "button": "{count, plural, one {点击#天} other {点击#天}}", + "title": "保持事件", + "days": "{count, plural, one {# 天} other {# 天}}", + "hint": "早期事件每晚午夜都会被删除。", + "hintWithOldest": "早期事件每天午夜被删除。最古老的事件是 {date}.", + "readOnly": "只有可以更改应用设置的人才能更改此设置。", + "saved": "{count,plural,one{审计活动现在保持为 # 天} other{审计活动现在保持为 # 天数。}}", + "saveFailed": "无法更改事件保留多长时间。" + }, + "export": { + "button": "导出", + "title": "导出显示内容", + "hint": "使用当前视图,过滤器和日期范围。", + "csv": "CSV", + "json": "JSON", + "failed": "无法导出审核日志。" + }, + "emptyFiltered": "没有匹配这些筛选器的事件。" }, "auth": { "backToSignIn": "返回登录", + "plate": { + "exLibris": "Ex Libris" + }, + "endpaper": { + "change": "更改尾纸", + "options": { + "seigaiha": "波形", + "shippo": "链接的圈子", + "asanoha": "山叶叶子", + "quatrefoil": "Quatrefoil", + "ogee": "Ogee", + "harlequin": "Harlequin", + "greekKey": "希腊密钥", + "plain": "纯色" + } + }, "themePicker": { "switchToLight": "切换为指示灯", "switchToDark": "切换到黑色", @@ -4625,7 +5599,10 @@ "confirmPassword": "确认密码", "confirmNewPassword": "确认新密码", "currentPassword": "当前密码", - "passwordHint": "小于8个字符,带有大写、小写和数字" + "passwordHint": "小于8个字符,带有大写、小写和数字", + "showPassword": "显示密码", + "hidePassword": "隐藏密码", + "capsLockOn": "大写锁定已开启" }, "errors": { "generic": "出错了。请重试。", @@ -4637,9 +5614,11 @@ "signingIn": "登录中……", "orDivider": "或", "forgotPassword": "忘记密码?", + "resetPasswordAction": "重置密码", "noAccount": "还没有账户?", "signUp": "注册", "registeredNotice": "帐户已创建,登录以继续。需要管理员授予您权限后才能访问库。", + "resetNotice": "密码已更新。请使用新密码登录。", "errors": { "invalidCredentials": "无效的用户名或密码", "tooManyAttempts": "登录尝试次数太多。请等待一分钟后重试。", @@ -4811,6 +5790,8 @@ "selectVisible": "选择可见", "refreshMetadata": "刷新元数据", "refreshingMetadata": "刷新元数据中……", + "confirmRefreshCount": "{count, plural, one {刷新# 作者的元数据?} other {刷新# 作者的元数据?}}", + "refreshAction": "刷新", "deleteSelected": "删除选中的", "deleting": "删除中……", "exitSelection": "退出选择", @@ -4914,6 +5895,19 @@ }, "book": { "untitled": "无标题", + "placeholder": { + "volume": "Vol. {number}", + "genre": { + "horror": "恐怖的", + "romance": "罗曼文", + "fantasy": "Fantasy", + "scifi": "科学-fi", + "mystery": "神秘的", + "classic": "经典", + "nonfiction": "非虚拟的", + "young": "年轻的阅读者" + } + }, "unknownFormat": "未知", "collapsedSeries": { "label": "系列", @@ -4928,6 +5922,7 @@ "audiobook": "音频簿" }, "formats": { + "djvu": "DjVu 文档", "epub": "EPUB 电子书", "kepub": "KEPUB 电子书", "pdf": "PDF 文档", @@ -4970,6 +5965,10 @@ "openAs": "以 {format} 格式打开", "openReadAlong": "打开跟读 EPUB" }, + "refreshMetadata": { + "success": "元数据已刷新", + "failed": "元数据刷新失败" + }, "coverRegeneration": { "failed": "无法重新生成封面", "bulkInProgress": "正在重新提取封面", @@ -4999,7 +5998,11 @@ "exportFailed": "导出失败", "audiolessEpub": "KOReader EPUB", "audiolessEpubHint": "下载移除音频文件的 KOReader EPUB", - "noAudio": "无音频" + "noAudio": "无音频", + "textOnlyEpub": "纯文本 EPUB", + "textOnlyEpubHint": "在保留阅读锚的同时下载无麻醉的 EPUB", + "originalNarrated": "原始EPUB 带有语句", + "originalNarratedEpub": "原始EPUB 带有语句" }, "sort": { "moveUp": "上移", @@ -5295,7 +6298,8 @@ }, "header": { "previousBook": "上一书", - "nextBook": "下一本书" + "nextBook": "下一本书", + "backToLibrary": "返回到 {library}" }, "tabs": { "details": "详细信息", @@ -6875,6 +7879,22 @@ "nFailed": "{count} 项上传失败", "nTotal": "共计 {count} 项" }, + "uploadFailures": { + "heading": "{count, plural, one {无法上传# 文件} other {无法上传# 文件}}", + "dismissAll": "关闭所有", + "retry": "重试上传 {name}", + "dismiss": "关闭 {name}", + "reason": { + "unsupported": "不支持的文件类型:{extension}", + "noExtension": "该文件没有扩展名,因此其格式未知", + "tooLarge": "大于最大值 {limit} 上传限制", + "tooLargeServer": "大于服务器上传限制", + "tooLargeProxy": "在到达BookOrbit之前被拒绝,可能被反向代理", + "storageFull": "服务器存储空间不足", + "network": "无法连接到服务器", + "status": "上传失败 (HTTP {status})" + } + }, "fileList": { "emptyTitle": "Book Dock 中没有文件", "emptyMessageDefault": "上传文件或将其拖放到书签文件夹", @@ -7134,7 +8154,40 @@ "moreOptions": "更多选项", "fewerOptions": "收起选项", "optionsSummary": "{formats} · 已添加备注", - "formatToggleAria": "优先 {format}" + "formatToggleAria": "优先 {format}", + "pair": { + "choice": "两者都是", + "choiceHint": "同时询问电子书和音频簿", + "ebookLibraryLabel": "电子书库", + "audiobookLibraryLabel": "音频书库", + "audiobookFolderLabel": "音频簿文件夹", + "landsTogether": "这两种格式都是一本书在 {library}.", + "landsSeparately": "{library} 每个文件都有一本书,因此每个格式都会作为自己的一本书送达。", + "landsApart": "电子书和音频书送往不同的图书馆,作为两本书抵达。", + "preferredEbookFormats": "首选电子书格式", + "preferredAudiobookFormats": "首选音频簿格式", + "state": { + "owned": "在您的故事书库", + "following": "您已请求这个", + "joinable": "已请求", + "new": "未请求" + }, + "requestBoth": "同时请求", + "getBoth": "同时获取", + "chooseReleases": "选择版本", + "joinBoth": "将我添加到两个中", + "requestEbook": "请求e-book", + "requestAudiobook": "请求语音书", + "getEbook": "获取电子书", + "getAudiobook": "获取音频簿", + "joinEbook": "将我添加到电子书请求", + "joinAudiobook": "将我添加到音频簿请求", + "haveBoth": "在您的故事书库", + "requestedBoth": "已请求", + "submitted": "请求电子书和音频簿", + "submittedPartlyJoined": "两个请求。一个已经在进行中,所以你已被添加到该请求中", + "submittedJoinsBook": "已请求。它将加入已经在您的库中的副本" + } }, "card": { "details": "详情", @@ -7193,7 +8246,10 @@ "forbidden": "那条请求属于其他人。", "loadFailed": "无法加载那条请求" }, - "entityName": "请求" + "entityName": "请求", + "pairSwitchLabel": "此请求中的格式", + "joinsBook": "加入一本你拥有的书", + "joinsBookHint": "到达时它将被添加到已经在您的书库中的书" }, "actions": { "approve": "批准", @@ -7208,7 +8264,29 @@ "grab": "查找发布", "goToBook": "前往书籍", "retryRelease": "换一个发布重试", - "leave": "退出请求" + "leave": "退出请求", + "pair": { + "approveBoth": "同时批准", + "approveEbook": "审批电子书", + "approveAudiobook": "批准音频簿", + "rejectBoth": "同时拒绝", + "rejectEbook": "拒绝e-book", + "rejectAudiobook": "拒绝音频簿", + "cancelBoth": "同时取消", + "cancelEbook": "取消 e-book", + "cancelAudiobook": "取消音频簿", + "dismissBoth": "两者都不存在", + "dismissEbook": "关闭电子书", + "dismissAudiobook": "忽略音频簿", + "restoreBoth": "同时恢复", + "restoreEbook": "还原电子书", + "restoreAudiobook": "还原音频簿", + "grabEbook": "查找电子书发布", + "grabAudiobook": "查找音频簿发布", + "chooseReleases": "选择版本", + "openEbook": "打开 e-book 请求", + "openAudiobook": "打开音频簿请求" + } }, "filters": { "status": "状态", @@ -7251,7 +8329,9 @@ "left": "你已退出这条请求", "bulkRejected": "{count, plural, other {已拒绝 # 条请求}}", "bulkRejectedPartial": "已拒绝 {done} 条,{failed} 条未能拒绝", - "importDiscarded": "导入的文件已丢弃" + "importDiscarded": "导入的文件已丢弃", + "pairApproved": "两者均已批准", + "pairRejected": "两者都被拒绝" }, "errors": { "loadFailed": "无法加载请求", @@ -7271,7 +8351,9 @@ "languageChangeFailed": "无法更改请求语言", "leaveFailed": "无法退出那条请求", "bulkRejectFailed": "无法拒绝该组请求", - "discardImportFailed": "无法丢弃那次导入" + "discardImportFailed": "无法丢弃那次导入", + "approveCompanionFailedEbook": "已批准此书,但无法批准", + "approveCompanionFailedAudiobook": "批准了这个内容,但音频簿不能被批准" }, "grab": { "title": "发送到下载客户端", @@ -7317,6 +8399,18 @@ "releases": { "title": "选择一个发布", "retryTitle": "换一个发布重试", + "pairTitle": "选择发布", + "pair": { + "tabsLabel": "选择发布的格式", + "releaseCount": "{count, plural, one {# 释放} other {# 释放}}", + "searching": "搜索中", + "toChoose": "选择", + "sent": "已发送", + "finishedTitle": "没有可以选择的内容", + "finishedHint": "这两种格式现在都有版本。您可以从请求中每一种格式跟进。", + "backToRequest": "返回请求", + "done": "完成" + }, "subtitle": "在所有已启用的索引器中排名。", "summaryCount": "{count, plural, other {# 个发布}}", "allFreeleech": "全部为 Freeleech", @@ -7606,7 +8700,8 @@ "decidedBy": "决定人", "decisionNote": "决定备注", "requestNote": "请求备注", - "openDetail": "打开完整详情" + "openDetail": "打开完整详情", + "pairMedia": "电子书和音频书" }, "confirm": { "cancelDownloadTitle": "取消这次下载?", @@ -7662,7 +8757,9 @@ "SUBMIT_DESTINATION_REQUIRED": "你的请求会在提交时立即批准,因此请选择这本书应归入的库", "SUBMIT_SELF_SERVE_LIMIT": "请先完成或取消一些下载:同时进行的下载最多 {limit} 个", "SUBMIT_ON_BEHALF_FORBIDDEN": "你不被允许替其他人发起书籍请求", - "SUBMIT_ON_BEHALF_UNKNOWN_USER": "无法为该用户发起书籍请求" + "SUBMIT_ON_BEHALF_UNKNOWN_USER": "无法为该用户发起书籍请求", + "SUBMIT_TARGET_BOOK_NOT_FOUND": "该书不在您可以访问的书库", + "SUBMIT_TARGET_BOOK_HAS_MEDIUM": "该书已经有此格式" }, "actionError": { "BOOK_REQUEST_NOT_PENDING": "只有待处理的请求支持此操作;该请求当前为{status}", @@ -7748,7 +8845,22 @@ "reviewSources": "检查来源设置" }, "selfServeBadge": "自助获取", - "selfServeBadgeHint": "由请求人直接下载,无需批准环节" + "selfServeBadgeHint": "由请求人直接下载,无需批准环节", + "missingFormat": { + "labelAudiobook": "这本书的音频簿", + "labelEbook": "这本书的电子书", + "noAudiobook": "尚无音频簿", + "noEbook": "尚无电子书", + "requestAudiobook": "请求语音书", + "requestEbook": "请求e-book", + "requested": "已请求", + "requestedBySomeone": "他人请求", + "ownedElsewhere": "作为单独的书在您的书库中", + "open": "打开", + "viewRequest": "查看请求", + "submittedAudiobook": "请求。音频簿将在到达时加入此书", + "submittedEbook": "已请求。电子书将在到达时加入此书" + } }, "collection": { "visibleToAll": "对所有用户可见", @@ -7825,6 +8937,9 @@ "uploadBooks": "上传书", "appearance": "外观", "appearanceDescription": "选择主题、强调色、圆角、表面和背景选项。", + "style": "样式", + "surfacePalette": "表面", + "topGlow": "顶部发光", "theme": "主题", "accent": "强调色", "radius": "圆角", @@ -7922,7 +9037,8 @@ "updateTooltip": "{version} 版本更新可用", "openUpdateRelease": "在 GitHub 上打开 {version} 版本发布页", "zones": { - "browse": "浏览" + "browse": "浏览", + "reading": "正在阅读" }, "reorder": { "gripAria": "调整 \"{name}\" 排序", @@ -7953,6 +9069,8 @@ "moreActions": "更多操作", "setField": "设置字段", "refreshMetadata": "刷新元数据", + "refreshConfirm": "{count, plural, one {刷新# 簿的元数据?} other {刷新# 簿的元数据?}}", + "refreshConfirmAction": "刷新", "reExtractCover": "重新解压", "metadataLock": "元数据锁", "lockAll": "锁定所有", @@ -8014,6 +9132,69 @@ "table": "表格视图" } }, + "browseHeader": { + "eyebrow": { + "library": "书库", + "smartScope": "智能范围", + "collection": "收藏", + "browse": "浏览" + }, + "facts": { + "books": "{count, plural, one {# 书} other {# 书}}", + "booksOf": "{matching} 共 {total,plural,one{# 书} other{# 书籍:}}", + "authors": "{count, plural, one {# 作者} other {# 作者}}", + "series": "{count, plural, one {# 系列} other {# 系列}}", + "scanned": "已扫描 {time}", + "scanningProgress": "正在扫描 {processed} / {total}", + "syncsToKobo": "同步到 Kobo" + }, + "switcher": { + "open": "切换自 {name}", + "jumpTo": "跳转到...", + "libraries": "库", + "smartScopes": "智能范围", + "collections": "A. 收款情况", + "empty": "没有匹配" + }, + "search": { + "removeToken": "删除过滤器 {label}", + "clearAll": "清除搜索和过滤器", + "save": "保存", + "summaryToken": "{count, plural, one {# 过滤器} other {# 过滤器}}" + }, + "tokens": { + "anyOf": "任何 {count, plural, one {# 规则} other {# 规则}}", + "allOf": "所有 {count, plural, one {# 规则} other {# 规则}}" + }, + "sort": { + "sortBy": "排序方式 {field}", + "ascending": "转发。切换到降序排列", + "descending": "降序。切换到升序排列" + }, + "facets": { + "format": "格式", + "rules": "规则", + "show": "显示", + "library": "书库", + "status": "状态", + "ruleCount": "{count, plural, one {# 规则} other {# 规则}}" + }, + "menu": { + "more": "更多 {name}", + "editRules": "编辑规则", + "deleteSmartScope": "删除智能瞄准镜", + "deleteCollection": "删除收藏", + "confirmDelete": "删除\"{name}\"?这不能撤消。", + "upload": "上传书" + }, + "scan": { + "scanning": "正在扫描", + "started": "正在扫描 {name}", + "finished": "扫描 {name} 完成" + }, + "viewModes": "查看模式", + "legend": "音量颜色" + }, "iconPicker": { "clearSelectionAria": "清除选中的图标", "searchLucide": "搜索 Lucide 图标……", @@ -8122,6 +9303,28 @@ "discardTitle": "放弃更改?", "discardDescription": "未保存的更改将会丢失。", "discardConfirm": "放弃" + }, + "backgroundPicker": { + "none": "无", + "dots": "点数", + "cross": "十字线", + "millimeter": "Millimeter", + "blueprint": "蓝图", + "brushed": "笔刷的", + "scanlines": "扫描线", + "vinyl": "维尼尔", + "carbon": "碳类", + "perforated": "Perfortified", + "aurora": "Aurora", + "horizon": "地平线", + "glow": "发光", + "mesh": "网格:", + "elevation": "海拔高度", + "prism": "棱镜", + "spectrum": "谱图", + "spectrum-x": "谱图 X", + "spectrum-plus": "谱图", + "eclipse": "黄色" } }, "customIcons": { @@ -8367,6 +9570,7 @@ }, "tabs": { "providers": "提供商", + "servers": "邮件服务器", "recipients": "收件人", "groups": "群組", "templates": "模板", @@ -8536,9 +9740,304 @@ "queued": "{count, plural, =0 {没有邮件队列} other {# 电子邮件队列}}", "failed": "发送失败" }, + "page": { + "addRecipient": "添加收件人", + "recipients": "收件人", + "groups": "群組", + "newGroup": "新建组", + "servers": "邮件服务器", + "addServer": "添加邮件服务器", + "templates": "模板", + "newTemplate": "新模板", + "noServersReadonly": "尚未与您共享邮件服务器。请管理员添加一个。", + "roleShared": "与所有人共享", + "roleSystem": "密码重置", + "cantConnect": "无法连接", + "builtIn": "内置于", + "recipientsEmptyTitle": "添加您发送的电子阅读器或收件箱", + "recipientsEmptyBody": "Kindle的地址结束 {kindle} 并且列在您的亚马逊帐户中的设备下。PocketBook的结尾是在 {pocketbook}。任何普通收件箱也能起作用。", + "kindleNote": "Kindle 只从核准的发件人收取邮件。添加 {address} 在您的亚马逊账户中的个人文档设置之下。", + "copyAddress": "复制地址", + "addressCopied": "地址已复制", + "editServer": "编辑 {name}", + "editTemplate": "编辑 {name}", + "editGroup": "编辑 {name}", + "groupCount": "{count, plural, one {# recipient} other {# recipients}}", + "recipientsHint": "当您发送时选中了星标。", + "groupsHint": "一次发送给多个收件人。", + "groupsEmpty": "尚无群组。", + "serversHint": "有星标的的人发送您的书籍。", + "templatesHint": "每本书一并发送的主题和消息。", + "kindleTemplateNote": "Kindle永远不会显示模板:它的电子邮件总是与主题一起发送 {subject}.", + "test": "测试", + "testServer": "测试 {name}", + "testOk": "{name} 已连接", + "testFailed": "{name} 无法连接", + "defaultRecipient": "默认收件人", + "makeDefaultRecipient": "创建 {name} 默认收件人", + "defaultServer": "默认服务器", + "makeDefaultServer": "创建 {name} 默认服务器", + "defaultTemplate": "默认模板", + "makeDefaultTemplate": "创建 {name} 默认模板", + "editRecipient": "编辑 {name}", + "serversEmptyTitle": "尚无邮件服务器", + "serversEmptyBody": "书目通过SMTP帐户。Gmail、Outlook、iCloud和Fastmail是一个点击;任何其他服务器也可以工作。", + "needServerTitle": "在您可以发送之前添加邮件服务器", + "needServerBody": "BookOrbit通过您拥有的 SMTP 帐户发送账簿,例如带有应用程序密码的 Gmail 。", + "needServerAsk": "请管理员与您分享邮件服务器。", + "goToServers": "转到邮件服务器", + "noEncryption": "无加密" + }, + "route": { + "defaultSaved": "默认更新" + }, + "attention": { + "title": "需要关注", + "count": "{count, plural, one {# 项目} other {# 项目}}", + "hide": "隐藏", + "show": "显示", + "serverDown": "{name} 无法连接", + "notDelivered": "{book} 未连接 {recipient}", + "maybeDelivered": "{book} 可能还没有达到。 {recipient}", + "testedAgo": "已测试 {time}", + "editServer": "编辑服务器", + "editRecipient": "编辑收件人", + "resend": "重新发送" + }, + "reason": { + "tooLarge": "{size} 大于 {server} 接受。", + "tooLargeGmail": "{size} 超过 Gmail 的 25 MB 附件限制。", + "tooLargeFix": "发送一个较小的版本,或将收件人设置为仅文本的 EPUB。", + "signIn": "{server} 拒绝登录。", + "signInFix": "检查邮件服务器上的用户名和密码。", + "unreachable": "{server} 没有答复。", + "unconfirmed": "连接在消息传递后就停止了,所以可能已经到达。", + "unconfirmedFix": "复活前勾选收件箱,或两次。", + "interrupted": "BookOrbit在这个电子邮件正在退出时重新启动。", + "interruptedFix": "重新发送前选取收件箱。", + "preparation": "无法准备发送文件。", + "other": "邮件服务器将其关闭。", + "server": "邮件服务器", + "serverMessage": "服务器消息", + "retryAt": "下次尝试 {time}." + }, + "status": { + "sent": "已发送", + "sending": "正在发送", + "retrying": "重试 · {attempt} 共 {total}", + "unconfirmed": "未确认", + "failed": "失败" + }, + "recent": { + "moreActions": "更多操作 {title}", + "deletedBook": "已删除的书", + "openBook": "打开书", + "resend": "重新发送", + "delete": "删除条目" + }, + "log": { + "all": "所有的", + "attention": "需要关注", + "active": "进行中", + "book": "书", + "sentTo": "发送至", + "file": "文件", + "status": "状态", + "when": "时间", + "sentMeans": "发送意味着您的邮件服务器已接受", + "emptyFilter": "现在这里没有任何内容。", + "loadMore": "加载更多", + "showing": "显示 {shown} 共 {total}", + "emptyTitle": "尚未发送任何消息", + "emptyBody": "您的电子邮件在这里显示它们的去向以及邮件服务器是否拿到它们。" + }, + "card": { + "nothingSent": "尚未发送任何消息", + "failed": "失败", + "retrying": "重试", + "unconfirmed": "未确认", + "sending": "正在发送", + "narration": "说明", + "narrationTitle": "读书中保留了他们的写作内容" + }, + "device": { + "kindle": "Kindle", + "kobo": "Kobo", + "other": "其他电子阅读器", + "otherShort": "电子阅读器", + "none": "人员或收件箱" + }, + "sheet": { + "title": "通过电子邮件发送", + "sendTo": "发送至", + "groups": "群組", + "templateName": "{name} 模版", + "eachFormat": "每个收件人的格式", + "formatForAll": "{format} 适合所有人", + "file": "文件", + "mailServer": "邮件服务器", + "template": "模板", + "yourDefault": "您的默认", + "emails": "{count, plural, one {# email} other {# emails}}", + "noOnePicked": "没有人选择", + "total": "{size} 总计", + "send": "{count, plural, one {发送} other {发送 # 电子邮件}}", + "noFormat": "否 {format},获取 {got}", + "readAlong": "已读, {size}", + "overKindle": "{size}, 超过 50 MB 限制", + "overGmail": "{size}, 超过 Gmail的 25 MB 限制", + "kindleRejects": "Kindle 拒绝 {format}", + "blockedKindle": "{name} 无法使用 {format}。选择 EPUB 或 PDF ,或取消勾选。", + "books": "{count, plural, one {# 书} other {# 书}}", + "notReadyTitle": "电子邮件尚未设置", + "notReadyBody": "一本书能够去任何地方之前,该帐户需要邮件服务器和收件人。", + "addServer": "添加邮件服务器", + "addServerHint": "Gmail、Outlook、iCloud、Fastmail或任意SMTP账户。", + "askForServer": "请管理员共享邮件服务器。", + "addRecipient": "添加收件人", + "addRecipientHint": "您的金伯利、 PocketBook 或任何收件箱。", + "openSettings": "打开电子邮件设置", + "sendingTitle": "正在发送 {title}", + "closeHint": "您可以关闭这个。失败也会出现在您的通知和电子邮件历史记录中。", + "openHistory": "打开历史记录", + "done": "完成", + "acceptedBy": "接受者 {server} {time}", + "handingOver": "正在移交到 {server}" + }, "editor": { + "kindleSubject": "转换", + "recipient": { + "newTitle": "新收件人", + "description": "收件人的姓名、地址、设备和收到的信息。", + "sectionRecipient": "收款人", + "sectionReceives": "收到的内容", + "name": "名称", + "email": "电子邮件地址", + "device": "设备", + "deviceHint": "请更改主题 {subject} 并限制以下格式。", + "format": "格式", + "formatPrimary": "书主", + "formatHint": "一本没有这种格式的书获得其主要版本。", + "kindleFormatHint": "Amazon 2023年停止通过电子邮件接受MOBI和AZW3,所以他们不会被提供给金伯利。 一本没有这种格式的书获得其主要版本。", + "kindleLegacyFormat": "Kindle 不再接受 {format} 通过电子邮件。选择 EPUB 或 PDF", + "readAlong": "阅读书", + "readAlongAutomatic": "自动的", + "readAlongAutomaticHint": "只有文本可以复制,否则原文照发。", + "readAlongTextOnly": "纯文本 EPUB", + "readAlongTextOnlyHint": "缩写被剥离。小到足以发送电子邮件。", + "readAlongOriginal": "原文是叙述项", + "readAlongOriginalHint": "保持语音。通常超过 100 MB 的大多数邮件服务器限制。", + "notForKindle": "不是为了Kindle", + "template": "模板", + "templateDefault": "您的默认 ({name})", + "templateKindleHint": "Kindle被忽略,它从未显示消息。", + "approveTitle": "批准亚马逊发送者", + "approveBody": "Kindle 将电子邮件从它不知道的地址丢弃,没有退款。 {path},添加 {address}", + "approvePath": "管理您的内容和设备 释义的 释义的个人文档设置", + "approveNoServer": "首先添加邮件服务器以查看地址Kindle必须批准。", + "lastSent": "最后发送的书 {time}", + "sendTest": "发送测试电子邮件", + "testSubject": "书签测试邮件", + "testBody": "这是一个来自BookOrbit的测试。如果你可以阅读它,书籍发送至 {name} 也将来到这里。", + "testSent": "测试邮件发送至 {name}", + "testFailed": "测试邮件没有退出: {error}", + "makeDefault": "快速发送收件人", + "remove": "删除收件人", + "removeConfirm": "删除 {name}?", + "removeConsequence": "它的发送历史保持不变。", + "removeDefaultConsequence": "它的发送历史保持不变,然后快速发送停止,直到你为另一个收件人标记。", + "required": "姓名和电子邮件地址是必需的。", + "sectionLastSent": "上次发送" + }, "server": { - "test": "测试连通性" + "newTitle": "新邮件服务器", + "description": "SMTP服务器,它的登录和可以通过它发送。", + "sectionProvider": "提供商", + "sectionServer": "服务器", + "sectionSignIn": "登录", + "sectionSender": "发件人", + "sectionWho": "谁使用", + "presetGmail": "Gmail", + "presetOutlook": "展望", + "presetIcloud": "iCloud Mail", + "presetFastmail": "快速邮件", + "presetOther": "其他SMTP", + "presetHint": "预设在主机、 端口和安全性中。您仍然可以更改它们。", + "name": "名称", + "host": "主机", + "port": "端口", + "security": "安全", + "securityStarttls": "STARTTLS", + "securitySsl": "SSL/TLS", + "securityNone": "无", + "securityHint": "STARTTLS on 587, SSL/TLS on 465. One or othe, 绝非两者兼而有之。", + "needsPassword": "此服务器需要密码", + "username": "用户名", + "password": "密码", + "appPassword": "应用密码", + "passwordKeep": "保存。键入替换它", + "appPasswordHint": "Gmail 和 iCloud 需要应用程序密码,而不是您的帐户密码。", + "fromName": "发件人姓名", + "fromAddress": "来自地址", + "fromAddressHint": "Kindle 所有者必须批准此地址。", + "share": "与所有人分享", + "shareHint": "其他人可以通过此服务器发送账簿,无需看到密码。", + "system": "发送密码重置和登录链接", + "systemHint": "一个服务器 BookOrbit 本身使用。只有超级用户可以更改这个。", + "verifyTls": "验证服务器证书", + "verifyTlsHint": "仅为您自己的网络上拥有自签名证书的服务器关闭。", + "test": "测试连通性", + "testDirty": "先保存,然后测试", + "testOk": "已连接", + "testFailed": "无法连接: {error}", + "remove": "删除服务器", + "removeConfirm": "删除 {name}?", + "removeConsequence": "每个人都会失去它。", + "removeSystemFirst": "删除前关闭服务器上的密码重置。", + "makeDefault": "用作我的默认值", + "required": "名称和主机是必需的。" + }, + "template": { + "newTitle": "新模板", + "description": "每本书一并发送的主题和消息。", + "sectionTemplate": "模板", + "sectionInsert": "Insert", + "sectionPreview": "预览", + "name": "名称", + "subject": "议 题", + "message": "留言", + "groupBook": "书", + "groupFile": "文件", + "groupOther": "其他", + "insertHint": "进入曲线、主题或消息。空值不打印任何东西。", + "insertVariable": "Insert {variable}", + "previewWith": "预览", + "previewEmpty": "发送一本书来预览一个模板。", + "previewFailed": "无法渲染预览。", + "previewTo": "收件人", + "builtInReadonly": "内置。只有超级用户可以更改它。", + "kindleNote": "Kindle 永远不会显示模板:它总是得到主题 {subject}.", + "makeDefault": "设为默认值", + "remove": "删除模板", + "removeConfirm": "删除 {name}?", + "removeConsequence": "使用它的收件人返回到您的默认模板。", + "required": "名称和主题是必需的。", + "attachment": "附件: {name}" + }, + "group": { + "newTitle": "新建组", + "description": "一组收款人一次发送一本书。", + "sectionGroup": "组别", + "sectionMembers": "成员", + "name": "名称", + "memberCount": "{count} 共 {total}", + "noRecipientsTitle": "没有要从中挑选的收件人", + "noRecipientsBody": "群组是一组收件人,请先添加收件人。", + "remove": "删除组", + "removeConfirm": "删除 {name}?", + "removeConsequence": "其接受者留在那里。", + "required": "组需要名称。", + "updated": "群组已更新" } } }, @@ -8834,6 +10333,14 @@ "squareTitle": "方形 1:1", "squareHint": "纯有声书书库", "slotsHint": "同时有电子书和有声书的书籍会显示适配此形状的封面。" + }, + "gridShape": { + "title": "网格形状", + "tallTitle": "高亮单元格", + "tallHint": "最适合电子书库或混合库", + "squareTitle": "平方单元格", + "squareHint": "最好的音频书库", + "hint": "每一本书都显示其主格式的封面,一个音频簿的正方形。一个封面与您的封面显示设置不匹配。" } }, "folders": { @@ -9030,6 +10537,68 @@ "opfHint": "由 Calibre 保存到书籍旁边", "swap": "调换顺序", "hint": "BookOrbit 使用书籍拥有的第一种来源,忽略另一种。Calibre 书库通常应将 metadata.opf 放在首位。" + }, + "regex": { + "title": "配置正则表达式元数据", + "sourceTitle": "正则表达式", + "description": "从相对于其库文件夹的主文件路径中提取元数据。 匹配前删除文件扩展名。第一条规则与可用字段获胜。", + "enable": "启用正则表达式元数据", + "primaryFileHint": "将由多个文件制作的书,如音频记录片,规则读取主文件的路径。", + "groups": "命名群组:", + "valuesHint": "用作作者或作者用分号分隔。日期使用 YYYY-MM-DD 旗帜:i ignores case, u enablish Unicode。", + "rules": "有序提取规则", + "rule": "规 则 {number}", + "moveUp": "上移规则", + "moveDown": "向下移动规则", + "remove": "删除规则", + "basePath": "库文件夹", + "extensionHint": "文件扩展名自动被忽略。结束锚点与文件名匹配,而无扩展名。", + "flags": "标记", + "add": "添加规则", + "examplePath": "示例相对文件路径,包括扩展", + "examplePlaceholder": "作者 /Series/08 - My.Book.epub", + "exampleTitle": "作者背参照示例", + "exampleTestPath": "测试路径(包括扩展)", + "validating": "检查规则…", + "validationSuccess": "规则语法和组是有效的。使用预览检查文件路径匹配。", + "validationError": "无法验证规则。请稍后再试。", + "validationRetry": "再次检查", + "validationRuleCount": "添加到 {min} 和 {max} 规则。", + "preview": "预览", + "previewing": "测试规则…", + "previewError": "无法预览规则。请检查相对路径和配置,然后重试。", + "actualInput": "路径测试:", + "matched": "匹配的规则 {number}", + "noMatch": "没有可用匹配。文件元数据将被使用。", + "scanHint": "更改应用于新文件或更改文件的未来元数据提取。保存不会开始扫描或更新未改变的书籍。", + "apply": "应用于库表单", + "configure": "配置", + "enabledHint": "从无文件扩展名的相对路径中提取字段。", + "disabledHint": "禁用。配置要启用的规则。", + "moveSourceUp": "移动 {source} 上", + "moveSourceDown": "移动 {source} 向下", + "diagnostics": { + "pattern_required": "输入正则表达式。", + "pattern_too_long": "表达式不能超过 {count} 字符。", + "invalid_flags": "只允许i 和u ,最多只允许一次。", + "invalid_pattern": "无效的正则表达式。", + "missing_group": "包含至少一个支持的命名组。", + "conflicting_authors": "使用作者或作者,而不是两者兼用。", + "invalid_value": "一个无效的字段值被跳过。", + "timeout": "表达式过长。简化模式。", + "busy": "所有预览员工都忙。请稍后再试。", + "worker_failed": "无法评估表达式。请重试。" + }, + "precedenceHint": "第一个可用的文件源提供元数据。正则表达式字段遵循此顺序,缺少的值则从另一个来源填写。", + "summary": "{format} 首先,正则表达式元数据首选项", + "fields": { + "title": "标题", + "authors": "作者", + "series": "系列", + "seriesIndex": "系列数", + "publishedYear": "发布年份", + "publishedDate": "发布日期" + } } }, "fileWrite": { @@ -9181,6 +10750,7 @@ "add": "添加", "emptyCreate": "还没有其他人。在此添加的人员会在书库创建后立即获得访问权限。", "superusers": "超级用户始终拥有完整访问权限。", + "levelsHint": "查看器可以浏览和阅读。编辑器和所有者也可以在他们的账户拥有编辑元数据权限时编辑元数据。", "levelFor": "{name} 的访问级别", "revokeFor": "移除 {name} 的访问权限", "revokeQuestion": "移除访问权限?", @@ -9387,6 +10957,32 @@ } } }, + "metadataCache": { + "badge": { + "cached": "缓存的", + "stale": "过期的", + "cachedHint": "结果已保存 {when}", + "cachedHintUndated": "保存的结果", + "staleHint": "提供商不可用,所以保存的结果是 {when} 已使用", + "staleHintUndated": "提供商不可用,所以使用了已保存的结果" + }, + "notice": { + "someCached": "有些结果来自保存的搜索(旧搜索: {when}).", + "someCachedUndated": "一些结果来自保存的搜索。", + "someStale": "有些提供者无法获得,因此显示了已保存的结果(最旧的: {when}).", + "someStaleUndated": "有些供应商没有供应,因此显示了已节省的结果。", + "searchFresh": "搜索新的", + "searchFreshHint": "再次询问每个提供商,而不是使用已保存的答案" + }, + "fallback": { + "usedSaved": "{count,plural,one{{providers} 因此使用了节省下来的结果。} other{{providers} 因此使用了节省下来的结果。}}" + }, + "ignoreCache": { + "label": "忽略缓存结果", + "hint": "再次询问每个提供者而不是重新使用已保存的答案。放慢并使用更多的每个提供者的请求津贴。", + "runHint": "应用于您从这里开始的运行。每个提供者都被再次询问,而不是重新使用已保存的答案,这样做比较慢。" + } + }, "metadataScore": { "missingFields": "{count, plural, =0 {没有字段丢失 - 编辑元数据} other {# 字段丢失 - 编辑元数据}}" }, @@ -9827,6 +11423,22 @@ } }, "reader": { + "pageImages": { + "loadFailed": "无法打开此文档。请检查您的访问权限或再试一次。", + "pageFailed": "无法加载此页面。请在服务器可用时重试。", + "pageAlt": "页 {page}", + "previousPage": "上一页", + "nextPage": "下一页", + "goToPage": "转到页面", + "pin": "固定阅读器菜单", + "unpin": "取消置顶阅读器菜单" + }, + "djvu": { + "pageText": "嵌入式页面文本", + "textDescription": "存储在 DjVu 文档中的文本。OCR 可能包含错误。", + "noText": "此页面没有嵌入文本。", + "textFailed": "无法加载此页面的嵌入文本。" + }, "retry": "重试", "pdf": { "openError": "无法打开此 PDF", @@ -9897,6 +11509,7 @@ }, "loadingBook": "正在加载书…", "failedToLoadBook": "加载书失败", + "bookLoadTimeout": "该书过长才能打开。请尝试刷新页面。", "chapterNumber": "第 {number} 章", "peek": { "badge": "正在潮流", @@ -12228,6 +13841,7 @@ }, "email": { "providers": "提供商", + "servers": "邮件服务器", "recipients": "收件人", "groups": "群組", "templates": "模板", @@ -12241,7 +13855,8 @@ "genre-blocklist": "体裁屏蔽列表", "score": "自信得分", "auto-fetch": "书籍自动获取", - "authors": "作者自动获取" + "authors": "作者自动获取", + "search-cache": "搜索缓存" }, "admin": { "users": "用户", @@ -12352,5 +13967,92 @@ "errors": { "generic": "TTS 错误" } + }, + "delivery": { + "readAloud": { + "label": "已读的 EPUB 交付", + "automatic": "自动:偏好文本,允许原始回归。", + "textOnly": "纯文本 EPUB", + "original": "原始EPUB 带有语句", + "hint": "适用于未来的交货。原始材料保留现有的叙述,可能更大。如果无法提供安全副本,只有文本准备失败。", + "koboHint": "原始的 EPUBs 跳过 KEPUB 转换。原始的 Kobo 固件可能无法播放写字,且此副本的准确位置和高亮同步不可用。", + "profileHint": "为需要不同的 EPUB 变量的读者使用单独的 OPDS 配置文件。", + "replacementTitle": "替换 Kobo 副本", + "bookId": "书号", + "device": "设备", + "prepare": "准备替换", + "offer": "我只删除了设备副本;提供替换", + "confirm": "我安装了替换", + "cancel": "取消替换", + "replacementHint": "首先准备和审查。删除设备副本不会删除库簿。请自行备份设备本地笔记。 BookOrbit 保存规范进度和服务器注释。延迟事件可能会限制精确同步.", + "prepared": "已准备好替换: {format}, {size}。只从选定的设备中删除这本书,然后提供准备好的替换和同步。", + "offered": "替换提供。在设备上同步并下载,然后确认安装。一个已完成的 HTTP 传输不会被证明是安装。", + "cancelled": "替换已取消。取消不会还原已删除或部分替换的设备副本。选择同一本书来准备恢复下载。", + "alreadyOnDevice": "设备已经有这个准确的副本,所以没有什么可以替换的。", + "failed": "无法准备或更新此替换。", + "searchBook": "搜索一本书", + "chooseBook": "选择一本书", + "moreResults": "显示更多书", + "noResults": "没有找到匹配的书籍。", + "refresh": "刷新送货状态", + "confirmed": "您已确认安装。这将记录您的确认,而不是设备验证。", + "transferred": "传输已完成。在确认安装前打开设备上的替换。", + "koreaderDefaultTitle": "KOReader EPUB 交付", + "koreaderDefaultHint": "默认应用于使用这些凭据的设备上的未来下载。设备设置可以覆盖它。 现有副本和中断的下载保持不变。自动保存现有设备选择。", + "koreaderUseDefault": "使用凭证默认", + "koreaderSaveFailed": "无法保存 KOReader EPUB 送货设置。请重试。", + "koreaderSaved": "已保存 KOReader EPUB 送货设置。" + } + }, + "commandPalette": { + "title": "搜索", + "description": "搜索书籍、作者、系列和设置,跳转到某个地方或执行操作。", + "placeholder": "搜索书籍、作者、系列片,或去…", + "close": "关闭搜索", + "clear": "清除搜索", + "tabs": { + "all": "所有的", + "books": "书籍:", + "authors": "作者", + "series": "系列", + "settings": "设置" + }, + "sections": { + "continueReading": "继续阅读", + "goTo": "转至", + "actions": "行动", + "books": "书籍:", + "authors": "作者", + "series": "系列", + "settings": "设置" + }, + "kinds": { + "author": "作者", + "series": "系列", + "library": "书库", + "smartScope": "智能范围", + "collection": "收藏", + "page": "页", + "setting": "设置" + }, + "showAllBooks": "{count, plural, one {显示# 书} other {显示所有# 书}}", + "showAllAuthors": "{count, plural, one {显示 # 作者} other {显示所有 # 作者}}", + "showAllSeries": "{count, plural, one {显示#系列} other {显示所有#系列}}", + "showAllSettings": "{count, plural, one {显示 # 设置} other {显示所有# 设置}}", + "actions": { + "lightTheme": "切换到亮色主题", + "darkTheme": "切换到暗色主题" + }, + "hints": { + "navigate": "Navigate", + "open": "打开", + "filter": "筛选器", + "close": "关闭" + }, + "keys": { + "escape": "xc", + "tab": "tab" + }, + "resultCount": "{count, plural, =0 {没有结果} one {# 结果} other {# 结果}}" } }