From d4cc727d528481e7294fea5097313bd37243b72c Mon Sep 17 00:00:00 2001 From: sct Date: Sat, 12 Dec 2020 07:13:55 +0000 Subject: [PATCH 01/32] ci: fix typo in github workflow --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d77b13bfc..0ff66667b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,7 +20,7 @@ jobs: run: yarn lint - name: build run: yarn build - semnatic-release: + semantic-release: name: Tag and release latest version needs: test runs-on: ubuntu-latest From b6e60a412b30907aea751a4cf1ce0cc8230f9814 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 12 Dec 2020 05:18:52 +0100 Subject: [PATCH 02/32] feat(lang): translated using Weblate (German) Currently translated at 99.3% (302 of 304 strings) feat(lang): translated using Weblate (German) Currently translated at 99.3% (302 of 304 strings) feat(lang): translated using Weblate (German) Currently translated at 99.3% (302 of 304 strings) feat(lang): translated using Weblate (German) Currently translated at 71.3% (217 of 304 strings) Co-authored-by: Hosted Weblate Co-authored-by: J. Lavoie Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/de/ Translation: Overseerr/Overseerr Frontend --- src/i18n/locale/de.json | 360 ++++++++++++++++++++-------------------- 1 file changed, 180 insertions(+), 180 deletions(-) diff --git a/src/i18n/locale/de.json b/src/i18n/locale/de.json index 7f92bd7e1..a0d7bb16c 100644 --- a/src/i18n/locale/de.json +++ b/src/i18n/locale/de.json @@ -45,14 +45,14 @@ "components.MovieDetails.unavailable": "Nicht verfügbar", "components.MovieDetails.userrating": "Benutzerbewertung", "components.MovieDetails.viewrequest": "Antrag anzeigen", - "components.PersonDetails.appearsin": "", - "components.PersonDetails.ascharacter": "", - "components.PersonDetails.nobiography": "", + "components.PersonDetails.appearsin": "Erscheint in", + "components.PersonDetails.ascharacter": "als {character}", + "components.PersonDetails.nobiography": "Keine Biografie verfügbar.", "components.PlexLoginButton.loading": "Wird geladen …", "components.PlexLoginButton.loggingin": "Wird angemeldet …", "components.PlexLoginButton.loginwithplex": "Anmeldung mit Plex", "components.RequestBlock.seasons": "Staffeln", - "components.RequestCard.all": "", + "components.RequestCard.all": "Alle", "components.RequestCard.requestedby": "Antrag von {username}", "components.RequestCard.seasons": "Staffeln", "components.RequestList.RequestItem.notavailable": "entf.", @@ -62,7 +62,7 @@ "components.RequestList.modifiedBy": "Zuletzt geändert von", "components.RequestList.next": "Nächste", "components.RequestList.previous": "Vorherige", - "components.RequestList.requestedAt": "Antrag erstellt um", + "components.RequestList.requestedAt": "Antrag erstellt am", "components.RequestList.requests": "Anträge", "components.RequestList.showingresults": "Anzeigen von {from} bis {to} von {total} Ergebnissen", "components.RequestList.status": "Status", @@ -88,22 +88,22 @@ "components.RequestModal.status": "Status", "components.Search.searchresults": "Suchergebnisse", "components.Settings.Notifications.agentenabled": "Agent aktiviert", - "components.Settings.Notifications.authPass": "", - "components.Settings.Notifications.authUser": "", + "components.Settings.Notifications.authPass": "Auth Pass", + "components.Settings.Notifications.authUser": "Auth User", "components.Settings.Notifications.emailsender": "E-Mail-Absenderadresse", "components.Settings.Notifications.enableSsl": "SSL aktivieren", - "components.Settings.Notifications.save": "", - "components.Settings.Notifications.saving": "", - "components.Settings.Notifications.smtpHost": "", - "components.Settings.Notifications.smtpPort": "", - "components.Settings.Notifications.validationFromRequired": "", - "components.Settings.Notifications.validationSmtpHostRequired": "", + "components.Settings.Notifications.save": "Änderungen speichern", + "components.Settings.Notifications.saving": "Speichern …", + "components.Settings.Notifications.smtpHost": "SMTP-Host", + "components.Settings.Notifications.smtpPort": "SMTP-Port", + "components.Settings.Notifications.validationFromRequired": "Sie müssen eine E-Mail-Absenderadresse angeben", + "components.Settings.Notifications.validationSmtpHostRequired": "Sie müssen einen SMTP-Host bereitstellen", "components.Settings.Notifications.validationSmtpPortRequired": "Sie müssen einen SMTP-Port bereitstellen", "components.Settings.Notifications.validationWebhookUrlRequired": "Sie müssen eine Webhook-URL angeben", "components.Settings.Notifications.webhookUrl": "Webhook-URL", "components.Settings.Notifications.webhookUrlPlaceholder": "Servereinstellungen -> Integrationen -> Webhooks", - "components.Settings.RadarrModal.add": "", - "components.Settings.RadarrModal.apiKey": "", + "components.Settings.RadarrModal.add": "Server hinzufügen", + "components.Settings.RadarrModal.apiKey": "API-Schlüssel", "components.Settings.RadarrModal.apiKeyPlaceholder": "Ihr Radarr-API-Schlüssel", "components.Settings.RadarrModal.baseUrl": "Basis-URL", "components.Settings.RadarrModal.baseUrlPlaceholder": "Beispiel: /radarr", @@ -138,169 +138,169 @@ "components.Settings.SonarrModal.apiKeyPlaceholder": "Ihr Sonarr-API-Schlüssel", "components.Settings.SonarrModal.baseUrl": "Basis-URL", "components.Settings.SonarrModal.baseUrlPlaceholder": "Beispiel: /sonarr", - "components.Settings.SonarrModal.createsonarr": "", - "components.Settings.SonarrModal.defaultserver": "", - "components.Settings.SonarrModal.editsonarr": "", - "components.Settings.SonarrModal.hostname": "", - "components.Settings.SonarrModal.port": "", - "components.Settings.SonarrModal.qualityprofile": "", - "components.Settings.SonarrModal.rootfolder": "", - "components.Settings.SonarrModal.save": "", - "components.Settings.SonarrModal.saving": "", - "components.Settings.SonarrModal.seasonfolders": "", - "components.Settings.SonarrModal.selectQualityProfile": "", - "components.Settings.SonarrModal.selectRootFolder": "", - "components.Settings.SonarrModal.server4k": "", - "components.Settings.SonarrModal.servername": "", - "components.Settings.SonarrModal.servernamePlaceholder": "", - "components.Settings.SonarrModal.ssl": "", - "components.Settings.SonarrModal.test": "", - "components.Settings.SonarrModal.testing": "", - "components.Settings.SonarrModal.toastRadarrTestFailure": "", - "components.Settings.SonarrModal.toastRadarrTestSuccess": "", - "components.Settings.SonarrModal.validationApiKeyRequired": "", - "components.Settings.SonarrModal.validationHostnameRequired": "", - "components.Settings.SonarrModal.validationPortRequired": "", - "components.Settings.SonarrModal.validationProfileRequired": "", - "components.Settings.SonarrModal.validationRootFolderRequired": "", - "components.Settings.activeProfile": "", - "components.Settings.addradarr": "", - "components.Settings.address": "", - "components.Settings.addsonarr": "", - "components.Settings.apikey": "", - "components.Settings.applicationurl": "", - "components.Settings.cancelscan": "", - "components.Settings.copied": "", - "components.Settings.currentlibrary": "", - "components.Settings.default": "", - "components.Settings.default4k": "", - "components.Settings.delete": "", - "components.Settings.deleteserverconfirm": "", - "components.Settings.edit": "", - "components.Settings.generalsettings": "", - "components.Settings.generalsettingsDescription": "", - "components.Settings.hostname": "", - "components.Settings.jobname": "", - "components.Settings.librariesRemaining": "", - "components.Settings.manualscan": "", - "components.Settings.manualscanDescription": "", - "components.Settings.menuAbout": "", - "components.Settings.menuGeneralSettings": "", - "components.Settings.menuJobs": "", - "components.Settings.menuLogs": "", - "components.Settings.menuNotifications": "", - "components.Settings.menuPlexSettings": "", - "components.Settings.menuServices": "", - "components.Settings.nextexecution": "", - "components.Settings.notificationsettings": "", - "components.Settings.notificationsettingsDescription": "", - "components.Settings.notrunning": "", - "components.Settings.plexlibraries": "", - "components.Settings.plexlibrariesDescription": "", - "components.Settings.plexsettings": "", - "components.Settings.plexsettingsDescription": "", - "components.Settings.port": "", - "components.Settings.radarrSettingsDescription": "", - "components.Settings.radarrsettings": "", - "components.Settings.runnow": "", - "components.Settings.save": "", - "components.Settings.saving": "", - "components.Settings.servername": "", - "components.Settings.servernamePlaceholder": "", - "components.Settings.sonarrSettingsDescription": "", - "components.Settings.sonarrsettings": "", - "components.Settings.ssl": "", - "components.Settings.startscan": "", - "components.Settings.sync": "", - "components.Settings.syncing": "", - "components.Setup.configureplex": "", - "components.Setup.configureservices": "", - "components.Setup.continue": "", - "components.Setup.finish": "", - "components.Setup.finishing": "", - "components.Setup.loginwithplex": "", - "components.Setup.signinMessage": "", - "components.Setup.welcome": "", - "components.Slider.noresults": "", - "components.TitleCard.movie": "", - "components.TitleCard.tvshow": "", - "components.TvDetails.approve": "", - "components.TvDetails.approverequests": "", - "components.TvDetails.available": "", - "components.TvDetails.cancelrequest": "", - "components.TvDetails.cast": "", - "components.TvDetails.decline": "", - "components.TvDetails.declinerequests": "", - "components.TvDetails.manageModalClearMedia": "", - "components.TvDetails.manageModalClearMediaWarning": "", - "components.TvDetails.manageModalNoRequests": "", - "components.TvDetails.manageModalRequests": "", - "components.TvDetails.manageModalTitle": "", - "components.TvDetails.originallanguage": "", - "components.TvDetails.overview": "", - "components.TvDetails.overviewunavailable": "", - "components.TvDetails.pending": "", - "components.TvDetails.recommendations": "", - "components.TvDetails.recommendationssubtext": "", - "components.TvDetails.request": "", - "components.TvDetails.requestmore": "", - "components.TvDetails.similar": "", - "components.TvDetails.similarsubtext": "", - "components.TvDetails.status": "", - "components.TvDetails.unavailable": "", - "components.TvDetails.userrating": "", - "components.UserEdit.admin": "", - "components.UserEdit.adminDescription": "", - "components.UserEdit.autoapprove": "", - "components.UserEdit.autoapproveDescription": "", - "components.UserEdit.avatar": "", - "components.UserEdit.edituser": "", - "components.UserEdit.email": "", - "components.UserEdit.managerequests": "", - "components.UserEdit.managerequestsDescription": "", - "components.UserEdit.permissions": "", - "components.UserEdit.request": "", - "components.UserEdit.requestDescription": "", - "components.UserEdit.save": "", - "components.UserEdit.saving": "", - "components.UserEdit.settings": "", - "components.UserEdit.settingsDescription": "", - "components.UserEdit.userfail": "", - "components.UserEdit.username": "", - "components.UserEdit.users": "", - "components.UserEdit.usersDescription": "", - "components.UserEdit.usersaved": "", - "components.UserEdit.vote": "", - "components.UserEdit.voteDescription": "", - "components.UserList.admin": "", - "components.UserList.created": "", - "components.UserList.delete": "", - "components.UserList.edit": "", - "components.UserList.lastupdated": "", - "components.UserList.plexuser": "", - "components.UserList.role": "", - "components.UserList.totalrequests": "", - "components.UserList.user": "", - "components.UserList.userlist": "", - "components.UserList.username": "", - "components.UserList.usertype": "", - "i18n.approve": "", - "i18n.approved": "", - "i18n.available": "", - "i18n.cancel": "", - "i18n.decline": "", - "i18n.declined": "", - "i18n.delete": "", - "i18n.movies": "", - "i18n.partiallyavailable": "", - "i18n.pending": "", - "i18n.processing": "", - "i18n.tvshows": "", - "i18n.unavailable": "", - "pages.internalServerError": "", - "pages.oops": "", - "pages.pageNotFound": "", - "pages.returnHome": "", - "pages.serviceUnavailable": "", - "pages.somethingWentWrong": "" + "components.Settings.SonarrModal.createsonarr": "Neuen Sonarr-Server erstellen", + "components.Settings.SonarrModal.defaultserver": "Standardserver", + "components.Settings.SonarrModal.editsonarr": "Sonarr-Server bearbeiten", + "components.Settings.SonarrModal.hostname": "Hostname", + "components.Settings.SonarrModal.port": "Port", + "components.Settings.SonarrModal.qualityprofile": "Qualitätsprofil", + "components.Settings.SonarrModal.rootfolder": "Stammordner", + "components.Settings.SonarrModal.save": "Änderungen speichern", + "components.Settings.SonarrModal.saving": "Speichern …", + "components.Settings.SonarrModal.seasonfolders": "Staffelnordner", + "components.Settings.SonarrModal.selectQualityProfile": "Wählen Sie ein Qualitätsprofil", + "components.Settings.SonarrModal.selectRootFolder": "Wählen Sie einen Stammordner", + "components.Settings.SonarrModal.server4k": "4K-Server", + "components.Settings.SonarrModal.servername": "Servername", + "components.Settings.SonarrModal.servernamePlaceholder": "Ein Sonarr-Server", + "components.Settings.SonarrModal.ssl": "SSL", + "components.Settings.SonarrModal.test": "Test", + "components.Settings.SonarrModal.testing": "Testen …", + "components.Settings.SonarrModal.toastRadarrTestFailure": "Es konnte keine Verbindung zu Sonarr-Server hergestellt werden", + "components.Settings.SonarrModal.toastRadarrTestSuccess": "Sonarr-Verbindung hergestellt!", + "components.Settings.SonarrModal.validationApiKeyRequired": "Sie müssen einen API-Schlüssel angeben", + "components.Settings.SonarrModal.validationHostnameRequired": "Sie müssen einen Hostnamen/IP angeben", + "components.Settings.SonarrModal.validationPortRequired": "Sie müssen einen Port angeben", + "components.Settings.SonarrModal.validationProfileRequired": "Sie müssen ein Profil auswählen", + "components.Settings.SonarrModal.validationRootFolderRequired": "Sie müssen einen Stammordner auswählen", + "components.Settings.activeProfile": "Aktives Profil", + "components.Settings.addradarr": "Radarr-Server hinzufügen", + "components.Settings.address": "Adresse", + "components.Settings.addsonarr": "Sonarr-Server hinzufügen", + "components.Settings.apikey": "API-Schlüssel", + "components.Settings.applicationurl": "Anwendungs-URL", + "components.Settings.cancelscan": "Scan abbrechen", + "components.Settings.copied": "Kopierter API-Schlüssel in die Zwischenablage", + "components.Settings.currentlibrary": "Aktuelle Bibliothek: {name}", + "components.Settings.default": "Standardmäßig", + "components.Settings.default4k": "Standard-4K", + "components.Settings.delete": "Löschen", + "components.Settings.deleteserverconfirm": "Sind Sie sicher, dass Sie diesen Server löschen möchten?", + "components.Settings.edit": "Bearbeiten", + "components.Settings.generalsettings": "Allgemeine Einstellungen", + "components.Settings.generalsettingsDescription": "Dies sind Einstellungen, die sich auf die allgemeine Overseerr-Konfiguration beziehen.", + "components.Settings.hostname": "Hostname/IP", + "components.Settings.jobname": "Auftragsname", + "components.Settings.librariesRemaining": "Verbleibende Bibliotheken: {count}", + "components.Settings.manualscan": "Manueller Bibliotheksscan", + "components.Settings.manualscanDescription": "Normalerweise wird dies nur einmal alle 6 Stunden ausgeführt. Overseerr überprüft die kürzlich hinzugefügten Plex-Server aggressiver. Wenn Sie Plex zum ersten Mal konfigurieren, wird ein einmaliger vollständiger manueller Bibliotheksscan empfohlen!", + "components.Settings.menuAbout": "Über", + "components.Settings.menuGeneralSettings": "Allgemeine Einstellungen", + "components.Settings.menuJobs": "Anträge", + "components.Settings.menuLogs": "Protokolle", + "components.Settings.menuNotifications": "Benachrichtigungen", + "components.Settings.menuPlexSettings": "Plex", + "components.Settings.menuServices": "Dienste", + "components.Settings.nextexecution": "Nächste Ausführung", + "components.Settings.notificationsettings": "Benachrichtigungseinstellungen", + "components.Settings.notificationsettingsDescription": "Hier können Sie auswählen, welche Arten von Benachrichtigungen gesendet werden sollen und über welche Arten von Diensten.", + "components.Settings.notrunning": "Nicht aktiv", + "components.Settings.plexlibraries": "Plex-Bibliotheken", + "components.Settings.plexlibrariesDescription": "Die Bibliotheken-Overseerr sucht nach Titeln. Richten Sie Ihre Plex-Verbindungseinstellungen ein und speichern Sie sie, und klicken Sie auf die Schaltfläche unten, wenn keine aufgeführt sind.", + "components.Settings.plexsettings": "Plex-Einstellungen", + "components.Settings.plexsettingsDescription": "Konfigurieren Sie die Einstellungen für Ihren Plex-Server. Overseerr verwendet Ihren Plex-Server, um Ihre Bibliothek in regelmäßigen Abständen zu scannen und festzustellen, welche Inhalte verfügbar sind.", + "components.Settings.port": "Port", + "components.Settings.radarrSettingsDescription": "Richten Sie unten Ihre Radarr-Verbindung ein. Sie können jederzeit mehrere, aber nur zwei standardmäßig aktiv haben (eine für Standard-HD und eine für 4K). Administratoren können überschreiben, welcher Server für neue Anforderungen verwendet wird.", + "components.Settings.radarrsettings": "Radarr-Einstellungen", + "components.Settings.runnow": "Jetzt ausführen", + "components.Settings.save": "Änderungen speichern", + "components.Settings.saving": "Speichern …", + "components.Settings.servername": "Servername (automatisch festgelegt)", + "components.Settings.servernamePlaceholder": "Plex-Servername", + "components.Settings.sonarrSettingsDescription": "Richten Sie unten Ihre Sonarr-Verbindung ein. Sie können jederzeit mehrere, aber nur zwei standardmäßig aktiv haben (eine für Standard-HD und eine für 4K). Administratoren können überschreiben, welcher Server für neue Anforderungen verwendet wird.", + "components.Settings.sonarrsettings": "Sonarr-Einstellungen", + "components.Settings.ssl": "SSL", + "components.Settings.startscan": "Scan starten", + "components.Settings.sync": "Plex-Bibliotheken synchronisieren", + "components.Settings.syncing": "Synchronisierung …", + "components.Setup.configureplex": "Plex konfigurieren", + "components.Setup.configureservices": "Dienste konfigurieren", + "components.Setup.continue": "Fortfahren", + "components.Setup.finish": "Konfiguration beenden", + "components.Setup.finishing": "Fertigstellung …", + "components.Setup.loginwithplex": "Anmeldung mit Plex", + "components.Setup.signinMessage": "Melden Sie sich zunächst mit Ihrem Plex-Konto an", + "components.Setup.welcome": "Willkommen bei Overseerr", + "components.Slider.noresults": "Keine Ergebnisse", + "components.TitleCard.movie": "Film", + "components.TitleCard.tvshow": "Serie", + "components.TvDetails.approve": "Genehmigen", + "components.TvDetails.approverequests": "{requestCount} {requestCount, plural, one {Request} other {Requests}} genehmigen", + "components.TvDetails.available": "Verfügbar", + "components.TvDetails.cancelrequest": "Antrag abbrechen", + "components.TvDetails.cast": "Besetzung", + "components.TvDetails.decline": "Ablehnen", + "components.TvDetails.declinerequests": "{requestCount} {requestCount, plural, one {Request} andere {Requests}} ablehnen", + "components.TvDetails.manageModalClearMedia": "Alle Mediendaten löschen", + "components.TvDetails.manageModalClearMediaWarning": "Dadurch werden alle Mediendaten einschließlich aller Anträge für dieses Element irreversibel entfernt. Wenn dieses Element in Ihrer Plex-Bibliothek vorhanden ist, werden die Medieninformationen bei der nächsten Synchronisierung neu erstellt.", + "components.TvDetails.manageModalNoRequests": "Keine Anträge", + "components.TvDetails.manageModalRequests": "Anträge", + "components.TvDetails.manageModalTitle": "Serien verwalten", + "components.TvDetails.originallanguage": "Originalsprache", + "components.TvDetails.overview": "Übersicht", + "components.TvDetails.overviewunavailable": "Übersicht nicht verfügbar", + "components.TvDetails.pending": "Ausstehend", + "components.TvDetails.recommendations": "Empfehlungen", + "components.TvDetails.recommendationssubtext": "Wenn Ihnen {title} gefallen hat, könnte Ihnen auch gefallen …", + "components.TvDetails.request": "Antrag", + "components.TvDetails.requestmore": "Mehr anfordern", + "components.TvDetails.similar": "Ähnliche Serien", + "components.TvDetails.similarsubtext": "Andere Serien {title} ähnlich", + "components.TvDetails.status": "Status", + "components.TvDetails.unavailable": "Nicht verfügbar", + "components.TvDetails.userrating": "Benutzerbewertung", + "components.UserEdit.admin": "Administrator/in", + "components.UserEdit.adminDescription": "Voller Administratorzugriff. Umgeht alle Berechtigungsprüfungen.", + "components.UserEdit.autoapprove": "Automatische Genehmigung", + "components.UserEdit.autoapproveDescription": "Gewährt die automatische Genehmigung für alle Anträge dieses Benutzers.", + "components.UserEdit.avatar": "Avatar", + "components.UserEdit.edituser": "Benutzer/in bearbeiten", + "components.UserEdit.email": "E-Mail", + "components.UserEdit.managerequests": "Anträge verwalten", + "components.UserEdit.managerequestsDescription": "Erteilt die Berechtigung zum Verwalten von Overseerr-Anträgen. Dies umfasst das Genehmigen und Ablehnen von Anträgen.", + "components.UserEdit.permissions": "Berechtigungen", + "components.UserEdit.request": "Antrag", + "components.UserEdit.requestDescription": "Erteilt die Berechtigung zum Anfordern von Filmen und Serien.", + "components.UserEdit.save": "Speichern", + "components.UserEdit.saving": "Speichern …", + "components.UserEdit.settings": "Einstellungen verwalten", + "components.UserEdit.settingsDescription": "Erteilt die Berechtigung zum Ändern aller Overseerr-Einstellungen. Ein/e Benutzer/in muss über diese Berechtigung verfügen, um sie anderen Personen erteilen zu können.", + "components.UserEdit.userfail": "Beim Speichern des Benutzers ist ein Fehler aufgetreten.", + "components.UserEdit.username": "Benutzername", + "components.UserEdit.users": "Benutzer verwalten", + "components.UserEdit.usersDescription": "Erteilt die Berechtigung zum Verwalten von Overseerr-Benutzern. Benutzer/innen mit dieser Berechtigung können Benutzer/innen mit Administratorrechten nicht ändern oder gewähren.", + "components.UserEdit.usersaved": "Benutzer/in gespeichert", + "components.UserEdit.vote": "Abstimmen", + "components.UserEdit.voteDescription": "Erteilt die Erlaubnis, über Anträge abzustimmen (Abstimmung noch nicht durchgeführt)", + "components.UserList.admin": "Admin", + "components.UserList.created": "Erstellt", + "components.UserList.delete": "Löschen", + "components.UserList.edit": "Bearbeiten", + "components.UserList.lastupdated": "Zuletzt aktualisiert", + "components.UserList.plexuser": "Plex-Benutzer/in", + "components.UserList.role": "Rolle", + "components.UserList.totalrequests": "Anträge insgesamt", + "components.UserList.user": "Benutzer/in", + "components.UserList.userlist": "Benutzer/innen-Liste", + "components.UserList.username": "Benutzername", + "components.UserList.usertype": "Benutzertyp", + "i18n.approve": "Genehmigen", + "i18n.approved": "Genehmigt", + "i18n.available": "Verfügbar", + "i18n.cancel": "Abbrechen", + "i18n.decline": "Ablehnen", + "i18n.declined": "Abgelehnt", + "i18n.delete": "Löschen", + "i18n.movies": "Films", + "i18n.partiallyavailable": "Teilweise verfügbar", + "i18n.pending": "Ausstehend", + "i18n.processing": "Verarbeitung …", + "i18n.tvshows": "Serien", + "i18n.unavailable": "Nicht verfügbar", + "pages.internalServerError": "{statusCode} – Interner Serverfehler", + "pages.oops": "Hoppla", + "pages.pageNotFound": "404 – Seite nicht gefunden", + "pages.returnHome": "Zur Starseite", + "pages.serviceUnavailable": "{statusCode} – Dienst nicht verfügbar", + "pages.somethingWentWrong": "{statusCode} – Es ist ein Fehler aufgetreten" } From 1ab3a4b80a081d7e4a201f1290cd270ed5b38ac7 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 12 Dec 2020 05:18:52 +0100 Subject: [PATCH 03/32] feat(lang): translated using Weblate (Dutch) Currently translated at 18.7% (57 of 304 strings) Co-authored-by: Hosted Weblate Co-authored-by: Jos Vennik Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/nl/ Translation: Overseerr/Overseerr Frontend --- src/i18n/locale/nl.json | 114 ++++++++++++++++++++-------------------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/src/i18n/locale/nl.json b/src/i18n/locale/nl.json index c29cc2e8e..afb0fb4e7 100644 --- a/src/i18n/locale/nl.json +++ b/src/i18n/locale/nl.json @@ -1,61 +1,61 @@ { - "components.Discover.discovermovies": "", - "components.Discover.discovertv": "", - "components.Discover.nopending": "", - "components.Discover.popularmovies": "", - "components.Discover.populartv": "", - "components.Discover.recentlyAdded": "", - "components.Discover.recentrequests": "", - "components.Discover.trending": "", - "components.Discover.upcoming": "", - "components.Discover.upcomingmovies": "", - "components.Layout.LanguagePicker.changelanguage": "", - "components.Layout.SearchInput.searchPlaceholder": "", - "components.Layout.Sidebar.dashboard": "", - "components.Layout.Sidebar.requests": "", - "components.Layout.Sidebar.settings": "", - "components.Layout.Sidebar.users": "", - "components.Layout.UserDropdown.signout": "", - "components.Layout.alphawarning": "", - "components.Login.signinplex": "", - "components.MovieDetails.approve": "", - "components.MovieDetails.available": "", - "components.MovieDetails.budget": "", - "components.MovieDetails.cancelrequest": "", - "components.MovieDetails.cast": "", - "components.MovieDetails.decline": "", - "components.MovieDetails.manageModalClearMedia": "", - "components.MovieDetails.manageModalClearMediaWarning": "", - "components.MovieDetails.manageModalNoRequests": "", - "components.MovieDetails.manageModalRequests": "", - "components.MovieDetails.manageModalTitle": "", - "components.MovieDetails.originallanguage": "", - "components.MovieDetails.overview": "", - "components.MovieDetails.overviewunavailable": "", - "components.MovieDetails.pending": "", - "components.MovieDetails.recommendations": "", - "components.MovieDetails.recommendationssubtext": "", - "components.MovieDetails.releasedate": "", - "components.MovieDetails.request": "", - "components.MovieDetails.revenue": "", - "components.MovieDetails.runtime": "", - "components.MovieDetails.similar": "", - "components.MovieDetails.similarsubtext": "", - "components.MovieDetails.status": "", - "components.MovieDetails.unavailable": "", - "components.MovieDetails.userrating": "", - "components.MovieDetails.viewrequest": "", - "components.PersonDetails.appearsin": "", - "components.PersonDetails.ascharacter": "", - "components.PersonDetails.nobiography": "", - "components.PlexLoginButton.loading": "", - "components.PlexLoginButton.loggingin": "", - "components.PlexLoginButton.loginwithplex": "", - "components.RequestBlock.seasons": "", - "components.RequestCard.all": "", - "components.RequestCard.requestedby": "", - "components.RequestCard.seasons": "", - "components.RequestList.RequestItem.notavailable": "", + "components.Discover.discovermovies": "Populaire Films", + "components.Discover.discovertv": "Populaire Series", + "components.Discover.nopending": "Geen Wachtende Verzoeken", + "components.Discover.popularmovies": "Populaire Films", + "components.Discover.populartv": "Populaire Series", + "components.Discover.recentlyAdded": "RecentelijkToegevoegd", + "components.Discover.recentrequests": "Recente Verzoeken", + "components.Discover.trending": "Trending", + "components.Discover.upcoming": "Verwachte Films", + "components.Discover.upcomingmovies": "Verwachte Films", + "components.Layout.LanguagePicker.changelanguage": "Wijzig Taal", + "components.Layout.SearchInput.searchPlaceholder": "Zoek Films & TV", + "components.Layout.Sidebar.dashboard": "Ontdek", + "components.Layout.Sidebar.requests": "Verzoeken", + "components.Layout.Sidebar.settings": "Instellingen", + "components.Layout.Sidebar.users": "Gebruikers", + "components.Layout.UserDropdown.signout": "Uitloggen", + "components.Layout.alphawarning": "Dit is ALPHA software. Bijna alles is waarschijnlijk kapot of onstabiel. Rapporteer issues bij de Overseerr GitHub!", + "components.Login.signinplex": "Log in om door te gaan", + "components.MovieDetails.approve": "Goedkeuren", + "components.MovieDetails.available": "Beschikbaar", + "components.MovieDetails.budget": "Budget", + "components.MovieDetails.cancelrequest": "Annuleer Verzoek", + "components.MovieDetails.cast": "Acteurs", + "components.MovieDetails.decline": "Weigeren", + "components.MovieDetails.manageModalClearMedia": "Wis Alle Media Data", + "components.MovieDetails.manageModalClearMediaWarning": "Dit wist alle media data inclusief alle verzoeken voor dit item zonder herstelmogelijkheden. Als dit item in je Plex bibliotheek bestaat zal alle media info bij de volgende sync hersteld worden.", + "components.MovieDetails.manageModalNoRequests": "Geen Verzoeken", + "components.MovieDetails.manageModalRequests": "Verzoeken", + "components.MovieDetails.manageModalTitle": "Beheer Film", + "components.MovieDetails.originallanguage": "Originele Taal", + "components.MovieDetails.overview": "Overzicht", + "components.MovieDetails.overviewunavailable": "Overzicht onbeschikbaar", + "components.MovieDetails.pending": "In afwachting", + "components.MovieDetails.recommendations": "Aanbevelingen", + "components.MovieDetails.recommendationssubtext": "Als je {title} leuk vond, vind je dit misschien ook leuk...", + "components.MovieDetails.releasedate": "Release Datum", + "components.MovieDetails.request": "Verzoek", + "components.MovieDetails.revenue": "Omzet", + "components.MovieDetails.runtime": "{minutes} minuten", + "components.MovieDetails.similar": "Vergelijkbare Titels", + "components.MovieDetails.similarsubtext": "Andere films vergelijkbaar met {title}", + "components.MovieDetails.status": "Status", + "components.MovieDetails.unavailable": "Onbeschikbaar", + "components.MovieDetails.userrating": "Gebruikersbeoordeling", + "components.MovieDetails.viewrequest": "Verzoek Bekijken", + "components.PersonDetails.appearsin": "Verschijnt in", + "components.PersonDetails.ascharacter": "als {character}", + "components.PersonDetails.nobiography": "Geen biografie beschikbaar.", + "components.PlexLoginButton.loading": "Bezig met laden...", + "components.PlexLoginButton.loggingin": "Bezig met inloggen...", + "components.PlexLoginButton.loginwithplex": "Login met Plex", + "components.RequestBlock.seasons": "Seizoenen", + "components.RequestCard.all": "Alle", + "components.RequestCard.requestedby": "Verzocht door {username}", + "components.RequestCard.seasons": "Seizoenen", + "components.RequestList.RequestItem.notavailable": "Nvt", "components.RequestList.RequestItem.requestedby": "", "components.RequestList.RequestItem.seasons": "", "components.RequestList.mediaInfo": "", From 0d8e0d0352f72fdb65ee8f054371eae08c39fe33 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 12 Dec 2020 05:18:52 +0100 Subject: [PATCH 04/32] feat(lang): translated using Weblate (Russian) Currently translated at 26.9% (82 of 304 strings) Co-authored-by: Artem Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/ru/ Translation: Overseerr/Overseerr Frontend --- src/i18n/locale/ru.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/locale/ru.json b/src/i18n/locale/ru.json index 3a5506f07..da3115c77 100644 --- a/src/i18n/locale/ru.json +++ b/src/i18n/locale/ru.json @@ -1,7 +1,7 @@ { "components.Discover.discovermovies": "Популярные фильмы", "components.Discover.discovertv": "Популярные серии", - "components.Discover.nopending": "", + "components.Discover.nopending": "Нет отложенных запросов", "components.Discover.popularmovies": "Популярные фильмы", "components.Discover.populartv": "Популярные серии", "components.Discover.recentlyAdded": "Недавно добавленные", From 08e968fd0097ec7b2a65de064ed5b07e7c49ef39 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 12 Dec 2020 05:18:52 +0100 Subject: [PATCH 05/32] feat(lang): translated using Weblate (Japanese) Currently translated at 100.0% (304 of 304 strings) feat(lang): translated using Weblate (Japanese) Currently translated at 99.0% (301 of 304 strings) feat(lang): translated using Weblate (Japanese) Currently translated at 99.0% (301 of 304 strings) feat(lang): translated using Weblate (Japanese) Currently translated at 100.0% (304 of 304 strings) Co-authored-by: Hosted Weblate Co-authored-by: Shingo Takada Co-authored-by: T'ai Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/ja/ Translation: Overseerr/Overseerr Frontend --- src/i18n/locale/ja.json | 62 ++++++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/src/i18n/locale/ja.json b/src/i18n/locale/ja.json index 0a53c4d93..010b0a991 100644 --- a/src/i18n/locale/ja.json +++ b/src/i18n/locale/ja.json @@ -6,7 +6,7 @@ "components.Discover.populartv": "人気のテレビ番組", "components.Discover.recentlyAdded": "最近追加された動画", "components.Discover.recentrequests": "最近のリクエスト", - "components.Discover.trending": "最近のトレンド", + "components.Discover.trending": "トレンド", "components.Discover.upcoming": "今後リリースされる映画", "components.Discover.upcomingmovies": "今後リリースされる映画", "components.Layout.LanguagePicker.changelanguage": "言語", @@ -16,16 +16,16 @@ "components.Layout.Sidebar.settings": "設定", "components.Layout.Sidebar.users": "ユーザー", "components.Layout.UserDropdown.signout": "ログアウト", - "components.Layout.alphawarning": "このソフトはアルファ版です。ほとんどの機能は不安定又は故障している可能性があります。バグ発見したとき、OverseerrのGithubまでご連絡ください!", - "components.Login.signinplex": "続くにはログインしてください", + "components.Layout.alphawarning": "このソフトはアルファ版です。ほとんどの機能は不安定又は故障している可能性があります。バグを発見した場合、OverseerrのGithubまでご連絡ください!", + "components.Login.signinplex": "続けるにはログインしてください", "components.MovieDetails.approve": "承認", "components.MovieDetails.available": "鑑賞可能", "components.MovieDetails.budget": "予算", "components.MovieDetails.cancelrequest": "リクエストを取り消す", "components.MovieDetails.cast": "キャスト", - "components.MovieDetails.decline": "拒否する", - "components.MovieDetails.manageModalClearMedia": "メディアのデータを消去", - "components.MovieDetails.manageModalClearMediaWarning": "リクエストを含め、メーディアのデータをすべて消去されます。この操作は元に戻すことができません。このアイテムが Plex ライブラリに存在する場合、メディア情報は次の同期で再作成されます。", + "components.MovieDetails.decline": "拒否", + "components.MovieDetails.manageModalClearMedia": "メディア情報を消去", + "components.MovieDetails.manageModalClearMediaWarning": "リクエストを含め、すべての詳細情報が消去されます。この操作は元に戻すことができません。この作品が Plex ライブラリに存在する場合、詳細情報は次の同期で再作成されます。", "components.MovieDetails.manageModalNoRequests": "リクエストがありません", "components.MovieDetails.manageModalRequests": "リクエスト", "components.MovieDetails.manageModalTitle": "映画を管理", @@ -36,7 +36,7 @@ "components.MovieDetails.recommendations": "オススメの作品", "components.MovieDetails.recommendationssubtext": "{title}が好きだった人は、こんなのも好きかもしれません...", "components.MovieDetails.releasedate": "公開日", - "components.MovieDetails.request": "リクエストをする", + "components.MovieDetails.request": "リクエストする", "components.MovieDetails.revenue": "収益", "components.MovieDetails.runtime": "{minutes}分", "components.MovieDetails.similar": "関連作品", @@ -45,28 +45,28 @@ "components.MovieDetails.unavailable": "鑑賞不可", "components.MovieDetails.userrating": "ユーザー評価", "components.MovieDetails.viewrequest": "リクエストを閲覧", - "components.PersonDetails.appearsin": "", - "components.PersonDetails.ascharacter": "", - "components.PersonDetails.nobiography": "", + "components.PersonDetails.appearsin": "出演作品", + "components.PersonDetails.ascharacter": "{character}役", + "components.PersonDetails.nobiography": "出演作品の情報はありません。", "components.PlexLoginButton.loading": "ロード中…", "components.PlexLoginButton.loggingin": "ログイン中…", "components.PlexLoginButton.loginwithplex": "Plexでログイン", "components.RequestBlock.seasons": "シーズン", - "components.RequestCard.all": "", + "components.RequestCard.all": "すべて", "components.RequestCard.requestedby": "{username}のリクエスト", "components.RequestCard.seasons": "シーズン", "components.RequestList.RequestItem.notavailable": "N/A", "components.RequestList.RequestItem.requestedby": "{username}のリクエスト", "components.RequestList.RequestItem.seasons": "シーズン", - "components.RequestList.mediaInfo": "メディア情報", + "components.RequestList.mediaInfo": "詳細情報", "components.RequestList.modifiedBy": "最終更新者", "components.RequestList.next": "次", "components.RequestList.previous": "戻る", "components.RequestList.requestedAt": "リクエスト日時", "components.RequestList.requests": "リクエスト", "components.RequestList.showingresults": "{total}{from}{to}件", - "components.RequestList.status": "ステータス", - "components.RequestModal.cancel": "チャンセルリクエスト", + "components.RequestList.status": "状態", + "components.RequestModal.cancel": "キャンセルリクエスト", "components.RequestModal.cancelling": "取り消し中...", "components.RequestModal.cancelrequest": "このリクエストをキャンセルしてよろしいですか?", "components.RequestModal.close": "閉じる", @@ -75,9 +75,9 @@ "components.RequestModal.numberofepisodes": "エピソード数", "components.RequestModal.pendingrequest": "{title}がリクエスト中", "components.RequestModal.request": "リクエストする", - "components.RequestModal.requestCancel": "{title}のリクエストは取り消された", - "components.RequestModal.requestSuccess": "{title}のリクエストは完了した。", - "components.RequestModal.requestadmin": "このリクエストが今すぐ承認します。", + "components.RequestModal.requestCancel": "{title}のリクエストは取り消されました", + "components.RequestModal.requestSuccess": "{title}のリクエストは完了しました。", + "components.RequestModal.requestadmin": "このリクエストは今すぐ承認されます。", "components.RequestModal.requestfrom": "{username}はすでにリクエストを上げています", "components.RequestModal.requesting": "リクエスト中…", "components.RequestModal.requestseasons": "{seasonCount} {seasonCount, plural, one {Season} other {Seasons}}をリクエスト", @@ -128,11 +128,11 @@ "components.Settings.RadarrModal.testing": "テスト中...", "components.Settings.RadarrModal.toastRadarrTestFailure": "Radarrサーバーの接続は失敗しました", "components.Settings.RadarrModal.toastRadarrTestSuccess": "Radarrサーバーの接続は成功しました!", - "components.Settings.RadarrModal.validationApiKeyRequired": "APIキーの入力は必要です", - "components.Settings.RadarrModal.validationHostnameRequired": "ホスト名/IPの入力は必要です", - "components.Settings.RadarrModal.validationPortRequired": "ポートの入力は必要です", - "components.Settings.RadarrModal.validationProfileRequired": "プロファイルの選択は必要です", - "components.Settings.RadarrModal.validationRootFolderRequired": "ルートフォルダーの選択は必要です", + "components.Settings.RadarrModal.validationApiKeyRequired": "APIキーの入力が必要です", + "components.Settings.RadarrModal.validationHostnameRequired": "ホスト名/IPの入力が必要です", + "components.Settings.RadarrModal.validationPortRequired": "ポートの入力が必要です", + "components.Settings.RadarrModal.validationProfileRequired": "プロファイルの選択が必要です", + "components.Settings.RadarrModal.validationRootFolderRequired": "ルートフォルダーの選択が必要です", "components.Settings.SonarrModal.add": "サーバーを追加", "components.Settings.SonarrModal.apiKey": "APIキー", "components.Settings.SonarrModal.apiKeyPlaceholder": "SonarrのAPIキー", @@ -157,12 +157,12 @@ "components.Settings.SonarrModal.test": "テストする", "components.Settings.SonarrModal.testing": "テスト中...", "components.Settings.SonarrModal.toastRadarrTestFailure": "Sonarrサーバーに接続できませんでした", - "components.Settings.SonarrModal.toastRadarrTestSuccess": "Sonarrサーバーの接続は成功しました!", - "components.Settings.SonarrModal.validationApiKeyRequired": "APIキーの入力は必要です", - "components.Settings.SonarrModal.validationHostnameRequired": "ホスト名/IPの入力は必要です", - "components.Settings.SonarrModal.validationPortRequired": "ポートの入力は必要です", - "components.Settings.SonarrModal.validationProfileRequired": "プロファイルの選択は必要です", - "components.Settings.SonarrModal.validationRootFolderRequired": "ルートフォルダーの選択は必要です", + "components.Settings.SonarrModal.toastRadarrTestSuccess": "Sonarrサーバーの接続が成功しました!", + "components.Settings.SonarrModal.validationApiKeyRequired": "APIキーの入力が必要です", + "components.Settings.SonarrModal.validationHostnameRequired": "ホスト名/IPの入力が必要です", + "components.Settings.SonarrModal.validationPortRequired": "ポートの入力が必要です", + "components.Settings.SonarrModal.validationProfileRequired": "プロファイルの選択が必要です", + "components.Settings.SonarrModal.validationRootFolderRequired": "ルートフォルダーの選択が必要です", "components.Settings.activeProfile": "アクティブプロファイル", "components.Settings.addradarr": "Radarrサーバーを追加", "components.Settings.address": "アドレス", @@ -183,7 +183,7 @@ "components.Settings.jobname": "ジョブ名", "components.Settings.librariesRemaining": "残りのライブラリー: {count}", "components.Settings.manualscan": "手動ライブラリースキャン", - "components.Settings.manualscanDescription": "通常は6時間に一度しか実行されません。Overseerr は、Plex サーバーの最近追加されたフォルダをより頻繁にチェックします。初めて Plex を設定する場合は、一度だけ手動でライブラリーをスキャンすることをお勧めします。", + "components.Settings.manualscanDescription": "通常は6時間に一度しか実行されません。Overseerr は、Plex サーバーの最近追加されたフォルダをより頻繁にチェックします。初めて Plex を設定する場合は、一度手動でライブラリーをスキャンすることをお勧めします。", "components.Settings.menuAbout": "Overseerrについて", "components.Settings.menuGeneralSettings": "一般設定", "components.Settings.menuJobs": "ジョブ", @@ -212,7 +212,7 @@ "components.Settings.ssl": "SSL", "components.Settings.startscan": "スキャンを開始", "components.Settings.sync": "Plexライブラリーの同期", - "components.Settings.syncing": "同期中", + "components.Settings.syncing": "同期中…", "components.Setup.configureplex": "Plexの設定", "components.Setup.configureservices": "連携サービスの設定", "components.Setup.continue": "続行", @@ -294,7 +294,7 @@ "i18n.movies": "映画", "i18n.partiallyavailable": "一部鑑賞可能", "i18n.pending": "リクエスト中", - "i18n.processing": "処理中", + "i18n.processing": "処理中…", "i18n.tvshows": "シリーズ", "i18n.unavailable": "鑑賞不可", "pages.internalServerError": "{statusCode} - 内部サーバーエラー", From 83efb0e3d4d96b6a2d2ebdd85d36c9d78c1717b2 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 12 Dec 2020 05:18:52 +0100 Subject: [PATCH 06/32] =?UTF-8?q?feat(lang):=20translated=20using=20Weblat?= =?UTF-8?q?e=20(Norwegian=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 87.1% (265 of 304 strings) Co-authored-by: Allan Nordhøy Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/nb_NO/ Translation: Overseerr/Overseerr Frontend --- src/i18n/locale/nb_NO.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/i18n/locale/nb_NO.json b/src/i18n/locale/nb_NO.json index 5cbcc1d03..bb35284ad 100644 --- a/src/i18n/locale/nb_NO.json +++ b/src/i18n/locale/nb_NO.json @@ -45,14 +45,14 @@ "components.MovieDetails.unavailable": "Utilgjengelig", "components.MovieDetails.userrating": "Brukervurdering", "components.MovieDetails.viewrequest": "Vis forespørsel", - "components.PersonDetails.appearsin": "", - "components.PersonDetails.ascharacter": "", - "components.PersonDetails.nobiography": "", + "components.PersonDetails.appearsin": "Finnes i", + "components.PersonDetails.ascharacter": "som {character}", + "components.PersonDetails.nobiography": "Ingen biografi tilgjengelig.", "components.PlexLoginButton.loading": "Laster inn …", "components.PlexLoginButton.loggingin": "Logger inn …", "components.PlexLoginButton.loginwithplex": "Logg inn med Plex", "components.RequestBlock.seasons": "Sesonger", - "components.RequestCard.all": "", + "components.RequestCard.all": "Alle", "components.RequestCard.requestedby": "Forespurt av {username}", "components.RequestCard.seasons": "Sesonger", "components.RequestList.RequestItem.notavailable": "I/T", From 30d04ce35adc21070cce37ab10384154afda191b Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 12 Dec 2020 05:18:52 +0100 Subject: [PATCH 07/32] feat(lang): translated using Weblate (French) Currently translated at 100.0% (304 of 304 strings) feat(lang): translated using Weblate (French) Currently translated at 100.0% (304 of 304 strings) feat(lang): translated using Weblate (French) Currently translated at 100.0% (304 of 304 strings) feat(lang): translated using Weblate (French) Currently translated at 100.0% (304 of 304 strings) Co-authored-by: Hosted Weblate Co-authored-by: J. Lavoie Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/fr/ Translation: Overseerr/Overseerr Frontend --- src/i18n/locale/fr.json | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/i18n/locale/fr.json b/src/i18n/locale/fr.json index fec0ad33c..66b158cfe 100644 --- a/src/i18n/locale/fr.json +++ b/src/i18n/locale/fr.json @@ -10,7 +10,7 @@ "components.Discover.upcoming": "Prochaines sorties", "components.Discover.upcomingmovies": "Prochaines sorties", "components.Layout.LanguagePicker.changelanguage": "Changer la langue", - "components.Layout.SearchInput.searchPlaceholder": "Rechercher films et TV", + "components.Layout.SearchInput.searchPlaceholder": "Rechercher des films et des séries", "components.Layout.Sidebar.dashboard": "Découverte", "components.Layout.Sidebar.requests": "Demandes d'ajouts", "components.Layout.Sidebar.settings": "Paramètres", @@ -27,7 +27,7 @@ "components.MovieDetails.manageModalClearMedia": "Effacer toutes les données médias", "components.MovieDetails.manageModalClearMediaWarning": "Toutes les donnés de médias vont être éffacées pour cet élément irréversiblement. Si cet élément existe dans votre bibliothèque Plex, les informations du média seront recrées à la prochaine synchronisation.", "components.MovieDetails.manageModalNoRequests": "Aucune demande", - "components.MovieDetails.manageModalRequests": "Demandes d'ajouts", + "components.MovieDetails.manageModalRequests": "Demandes d'ajout", "components.MovieDetails.manageModalTitle": "Gérer les films", "components.MovieDetails.originallanguage": "Langue originale", "components.MovieDetails.overview": "Résumé", @@ -45,14 +45,14 @@ "components.MovieDetails.unavailable": "Indisponible", "components.MovieDetails.userrating": "Note utilisateur", "components.MovieDetails.viewrequest": "Voir la demande", - "components.PersonDetails.appearsin": "", - "components.PersonDetails.ascharacter": "", - "components.PersonDetails.nobiography": "", + "components.PersonDetails.appearsin": "Apparaît dans", + "components.PersonDetails.ascharacter": "comme {character}", + "components.PersonDetails.nobiography": "Aucune biographie disponible.", "components.PlexLoginButton.loading": "Chargement…", "components.PlexLoginButton.loggingin": "Connexion en cours…", "components.PlexLoginButton.loginwithplex": "Se connecter avec Plex", "components.RequestBlock.seasons": "Saisons", - "components.RequestCard.all": "", + "components.RequestCard.all": "Toutes", "components.RequestCard.requestedby": "Demandé par {username}", "components.RequestCard.seasons": "Saisons", "components.RequestList.RequestItem.notavailable": "s.o.", @@ -62,7 +62,7 @@ "components.RequestList.modifiedBy": "Dernière modification par", "components.RequestList.next": "Suivant", "components.RequestList.previous": "Précédent", - "components.RequestList.requestedAt": "Demandé à", + "components.RequestList.requestedAt": "Demandé le", "components.RequestList.requests": "Demandes", "components.RequestList.showingresults": "Affichage de {from} à {to} sur {total résultats", "components.RequestList.status": "Statut", @@ -212,7 +212,7 @@ "components.Settings.ssl": "SSL", "components.Settings.startscan": "Commencer le scan", "components.Settings.sync": "Synchroniser les bibliothèques Plex", - "components.Settings.syncing": "Synchronisation en cours", + "components.Settings.syncing": "Synchronisation…", "components.Setup.configureplex": "Configurer Plex", "components.Setup.configureservices": "Configurer les Services", "components.Setup.continue": "Continuer", @@ -227,8 +227,8 @@ "components.TvDetails.approve": "Valider", "components.TvDetails.approverequests": "Valider {requestCount} {requestCount, plural, one {Request} other {Requests}}", "components.TvDetails.available": "Disponible", - "components.TvDetails.cancelrequest": "Annuler la Demande", - "components.TvDetails.cast": "Casting", + "components.TvDetails.cancelrequest": "Annuler la demande", + "components.TvDetails.cast": "Distribution", "components.TvDetails.decline": "Refuser", "components.TvDetails.declinerequests": "Refuser {requestCount} {requestCount, plural, one {Request} other {Requests}}", "components.TvDetails.manageModalClearMedia": "Effacer toutes les données média", @@ -250,7 +250,7 @@ "components.TvDetails.unavailable": "Indisponible", "components.TvDetails.userrating": "Note utilisateurs", "components.UserEdit.admin": "Administrateur", - "components.UserEdit.adminDescription": "Accès administrateur complet. Contourner toutes les demandes de permissions.", + "components.UserEdit.adminDescription": "Accès administrateur complet. Contourne toutes les demandes de permissions.", "components.UserEdit.autoapprove": "Validation automatique", "components.UserEdit.autoapproveDescription": "Active la validation automatique de toutes les demandes d'ajouts de cet utilisateur.", "components.UserEdit.avatar": "Avatar", @@ -258,9 +258,9 @@ "components.UserEdit.email": "Courriel", "components.UserEdit.managerequests": "Gérer les demandes d'ajouts", "components.UserEdit.managerequestsDescription": "Donne la permission de gérer les demandes d'ajouts sur Overseerr. Ceci inclut la possibilité de valider ou refuser une demande.", - "components.UserEdit.permissions": "Permissions", + "components.UserEdit.permissions": "Autorisations", "components.UserEdit.request": "Demandes d'ajouts", - "components.UserEdit.requestDescription": "Donne la permission de faire des demandes d'ajouts pour les films et séries.", + "components.UserEdit.requestDescription": "Accorde l'autorisation de demander des films et des séries.", "components.UserEdit.save": "Sauvegarder", "components.UserEdit.saving": "Enregistrement en cours…", "components.UserEdit.settings": "Gérer les paramètres", @@ -279,7 +279,7 @@ "components.UserList.lastupdated": "Denière mise à jour", "components.UserList.plexuser": "Utilisateur Plex", "components.UserList.role": "Rôle", - "components.UserList.totalrequests": "Demandes d'ajouts total", + "components.UserList.totalrequests": "Demandes d'ajout totales", "components.UserList.user": "Utilisateur", "components.UserList.userlist": "Liste des utilisateurs", "components.UserList.username": "Nom d'utilisateur", @@ -294,7 +294,7 @@ "i18n.movies": "Films", "i18n.partiallyavailable": "Partiellement disponible", "i18n.pending": "En attente", - "i18n.processing": "En cours", + "i18n.processing": "Traitement en cours…", "i18n.tvshows": "Séries", "i18n.unavailable": "Indisponible", "pages.internalServerError": "{statusCode} – Erreur du serveur interne", From 0949c9b334b3a4b6c342517a157a9e2b7596f2f0 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 12 Dec 2020 05:18:52 +0100 Subject: [PATCH 08/32] feat(lang): translated using Weblate (English) Currently translated at 100.0% (304 of 304 strings) feat(lang): translated using Weblate (English) Currently translated at 100.0% (304 of 304 strings) Co-authored-by: Hosted Weblate Co-authored-by: sct Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/en/ Translation: Overseerr/Overseerr Frontend --- src/i18n/locale/en.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/i18n/locale/en.json b/src/i18n/locale/en.json index 227ab4f74..4e695ded7 100644 --- a/src/i18n/locale/en.json +++ b/src/i18n/locale/en.json @@ -212,7 +212,7 @@ "components.Settings.ssl": "SSL", "components.Settings.startscan": "Start Scan", "components.Settings.sync": "Sync Plex Libraries", - "components.Settings.syncing": "Syncing", + "components.Settings.syncing": "Syncing…", "components.Setup.configureplex": "Configure Plex", "components.Setup.configureservices": "Configure Services", "components.Setup.continue": "Continue", @@ -260,7 +260,7 @@ "components.UserEdit.managerequestsDescription": "Grants permission to manage Overseerr requests. This includes approving and denying requests.", "components.UserEdit.permissions": "Permissions", "components.UserEdit.request": "Request", - "components.UserEdit.requestDescription": "Grants permission to make requests for movies or tv shows.", + "components.UserEdit.requestDescription": "Grants permission to request movies and series.", "components.UserEdit.save": "Save", "components.UserEdit.saving": "Saving...", "components.UserEdit.settings": "Manage Settings", @@ -294,7 +294,7 @@ "i18n.movies": "Movies", "i18n.partiallyavailable": "Partially Available", "i18n.pending": "Pending", - "i18n.processing": "Processing", + "i18n.processing": "Processing…", "i18n.tvshows": "Series", "i18n.unavailable": "Unavailable", "pages.internalServerError": "{statusCode} - Internal Server Error", From 051f1b3e899bf749e632743e5c8d45a02b621998 Mon Sep 17 00:00:00 2001 From: sct Date: Sat, 12 Dec 2020 10:54:53 +0000 Subject: [PATCH 09/32] feat(frontend): add full cast page for movies and series --- package.json | 2 +- src/components/Common/Header/index.tsx | 2 +- .../MovieDetails/MovieCast/index.tsx | 66 +++++++++++++++++++ src/components/PersonDetails/index.tsx | 2 +- src/components/TvDetails/TvCast/index.tsx | 66 +++++++++++++++++++ src/i18n/locale/en.json | 2 + src/pages/movie/[movieId]/cast.tsx | 9 +++ src/pages/tv/[tvId]/cast.tsx | 9 +++ 8 files changed, 155 insertions(+), 3 deletions(-) create mode 100644 src/components/MovieDetails/MovieCast/index.tsx create mode 100644 src/components/TvDetails/TvCast/index.tsx create mode 100644 src/pages/movie/[movieId]/cast.tsx create mode 100644 src/pages/tv/[tvId]/cast.tsx diff --git a/package.json b/package.json index d46a9f364..7c7f50920 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "build": "yarn build:next && yarn build:server", "lint": "eslint \"./server/**/*.{ts,tsx}\" \"./src/**/*.{ts,tsx}\"", "start": "NODE_ENV=production node dist/index.js", - "i18n:extract": "extract-messages -l=en,ja,fr,nb_NO,de,ru,nl -o src/i18n/locale -d en --flat true --overwriteDefault false './src/**/!(*.test).{ts,tsx}'", + "i18n:extract": "extract-messages -l=en -o src/i18n/locale -d en --flat true --overwriteDefault false './src/**/!(*.test).{ts,tsx}'", "migration:generate": "ts-node --project server/tsconfig.json ./node_modules/.bin/typeorm migration:generate", "migration:run": "ts-node --project server/tsconfig.json ./node_modules/.bin/typeorm migration:run", "format": "prettier --write ." diff --git a/src/components/Common/Header/index.tsx b/src/components/Common/Header/index.tsx index 05f63c3b6..3c743a266 100644 --- a/src/components/Common/Header/index.tsx +++ b/src/components/Common/Header/index.tsx @@ -2,7 +2,7 @@ import React from 'react'; interface HeaderProps { extraMargin?: number; - subtext?: string; + subtext?: React.ReactNode; } const Header: React.FC = ({ diff --git a/src/components/MovieDetails/MovieCast/index.tsx b/src/components/MovieDetails/MovieCast/index.tsx new file mode 100644 index 000000000..1adcb3366 --- /dev/null +++ b/src/components/MovieDetails/MovieCast/index.tsx @@ -0,0 +1,66 @@ +import Link from 'next/link'; +import { useRouter } from 'next/router'; +import React, { useContext } from 'react'; +import { defineMessages, useIntl } from 'react-intl'; +import useSWR from 'swr'; +import { MovieDetails } from '../../../../server/models/Movie'; +import { LanguageContext } from '../../../context/LanguageContext'; +import Error from '../../../pages/_error'; +import Header from '../../Common/Header'; +import LoadingSpinner from '../../Common/LoadingSpinner'; +import PersonCard from '../../PersonCard'; + +const messages = defineMessages({ + fullcast: 'Full Cast', +}); + +const MovieCast: React.FC = () => { + const router = useRouter(); + const intl = useIntl(); + const { locale } = useContext(LanguageContext); + const { data, error } = useSWR( + `/api/v1/movie/${router.query.movieId}?language=${locale}` + ); + + if (!data && !error) { + return ; + } + + if (!data) { + return ; + } + + return ( + <> +
+ {data.title} + + } + > + {intl.formatMessage(messages.fullcast)} +
+
    + {data?.credits.cast.map((person) => { + return ( +
  • + +
  • + ); + })} +
+ + ); +}; + +export default MovieCast; diff --git a/src/components/PersonDetails/index.tsx b/src/components/PersonDetails/index.tsx index 9928dda4c..3b7d96ab8 100644 --- a/src/components/PersonDetails/index.tsx +++ b/src/components/PersonDetails/index.tsx @@ -56,7 +56,7 @@ const PersonDetails: React.FC = () => { return ( <> -
+
{data.profilePath && (
{ + const router = useRouter(); + const intl = useIntl(); + const { locale } = useContext(LanguageContext); + const { data, error } = useSWR( + `/api/v1/tv/${router.query.tvId}?language=${locale}` + ); + + if (!data && !error) { + return ; + } + + if (!data) { + return ; + } + + return ( + <> +
+ {data.name} + + } + > + {intl.formatMessage(messages.fullseriescast)} +
+
    + {data?.credits.cast.map((person) => { + return ( +
  • + +
  • + ); + })} +
+ + ); +}; + +export default TvCast; diff --git a/src/i18n/locale/en.json b/src/i18n/locale/en.json index 4e695ded7..88da4d24e 100644 --- a/src/i18n/locale/en.json +++ b/src/i18n/locale/en.json @@ -18,6 +18,7 @@ "components.Layout.UserDropdown.signout": "Sign Out", "components.Layout.alphawarning": "This is ALPHA software. Almost everything is bound to be nearly broken and/or unstable. Please report issues to the Overseerr GitHub!", "components.Login.signinplex": "Sign in to continue", + "components.MovieDetails.MovieCast.fullcast": "Full Cast", "components.MovieDetails.approve": "Approve", "components.MovieDetails.available": "Available", "components.MovieDetails.budget": "Budget", @@ -224,6 +225,7 @@ "components.Slider.noresults": "No Results", "components.TitleCard.movie": "Movie", "components.TitleCard.tvshow": "Series", + "components.TvDetails.TvCast.fullseriescast": "Full Series Cast", "components.TvDetails.approve": "Approve", "components.TvDetails.approverequests": "Approve {requestCount} {requestCount, plural, one {Request} other {Requests}}", "components.TvDetails.available": "Available", diff --git a/src/pages/movie/[movieId]/cast.tsx b/src/pages/movie/[movieId]/cast.tsx new file mode 100644 index 000000000..ea23d0914 --- /dev/null +++ b/src/pages/movie/[movieId]/cast.tsx @@ -0,0 +1,9 @@ +import { NextPage } from 'next'; +import React from 'react'; +import MovieCast from '../../../components/MovieDetails/MovieCast'; + +const MovieCastPage: NextPage = () => { + return ; +}; + +export default MovieCastPage; diff --git a/src/pages/tv/[tvId]/cast.tsx b/src/pages/tv/[tvId]/cast.tsx new file mode 100644 index 000000000..b7cc28b21 --- /dev/null +++ b/src/pages/tv/[tvId]/cast.tsx @@ -0,0 +1,9 @@ +import { NextPage } from 'next'; +import React from 'react'; +import TvCast from '../../../components/TvDetails/TvCast'; + +const TvCastPage: NextPage = () => { + return ; +}; + +export default TvCastPage; From 52e695bd083d862213df7653f8d6d870ccd6eb1d Mon Sep 17 00:00:00 2001 From: sct Date: Sat, 12 Dec 2020 10:59:12 +0000 Subject: [PATCH 10/32] docs: remove contributors image so we can replace it with all-contributors --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index e4c842455..ca172abb7 100644 --- a/README.md +++ b/README.md @@ -85,10 +85,6 @@ Our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_COND ## Contributors - - - - ## Contributing You can help build Overseerr too! Check out our [Contribution Guide](https://github.com/sct/overseerr/blob/develop/CONTRIBUTING.md) to get started. From 4f9514885bfe62ae73ce0bdab2d9b9eaa8c0948f Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sat, 12 Dec 2020 11:19:04 +0000 Subject: [PATCH 11/32] docs: update README.md [skip ci] --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index ca172abb7..05a0cb39d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,7 @@

+ +[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors-) + Overseerr

@@ -86,5 +89,17 @@ Our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_COND ## Contributors ## Contributing + + + + + + + +

sct

💻 🎨 🤔
+ + + + You can help build Overseerr too! Check out our [Contribution Guide](https://github.com/sct/overseerr/blob/develop/CONTRIBUTING.md) to get started. From e6c5d6ff7c429ba4efc57e8f9644ab32df211996 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sat, 12 Dec 2020 11:19:05 +0000 Subject: [PATCH 12/32] docs: create .all-contributorsrc [skip ci] --- .all-contributorsrc | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .all-contributorsrc diff --git a/.all-contributorsrc b/.all-contributorsrc new file mode 100644 index 000000000..b3949b238 --- /dev/null +++ b/.all-contributorsrc @@ -0,0 +1,26 @@ +{ + "files": [ + "README.md" + ], + "imageSize": 100, + "commit": false, + "contributors": [ + { + "login": "sct", + "name": "sct", + "avatar_url": "https://avatars1.githubusercontent.com/u/234213?v=4", + "profile": "https://sct.dev", + "contributions": [ + "code", + "design", + "ideas" + ] + } + ], + "contributorsPerLine": 7, + "projectName": "overseerr", + "projectOwner": "sct", + "repoType": "github", + "repoHost": "https://github.com", + "skipCi": true +} From 42381ed5cbfe52457ee41cf3abf5400f1d3b9760 Mon Sep 17 00:00:00 2001 From: sct Date: Sat, 12 Dec 2020 11:55:47 +0000 Subject: [PATCH 13/32] docs: fix all-contributors template/position --- .all-contributorsrc | 1 + README.md | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index b3949b238..dde3df997 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -17,6 +17,7 @@ ] } ], + "badgeTemplate": "\"All-orange.svg\"/>", "contributorsPerLine": 7, "projectName": "overseerr", "projectOwner": "sct", diff --git a/README.md b/README.md index 05a0cb39d..9f601ce26 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,4 @@

- -[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors-) - Overseerr

@@ -18,6 +15,9 @@ Language grade: JavaScript GitHub + +All Contributors +

**Overseerr** is a libre software tool for managing requests for your media library. It integrates with existing services such as **Sonarr** and **Radarr**! @@ -89,6 +89,7 @@ Our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_COND ## Contributors ## Contributing + @@ -100,6 +101,7 @@ Our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_COND + You can help build Overseerr too! Check out our [Contribution Guide](https://github.com/sct/overseerr/blob/develop/CONTRIBUTING.md) to get started. From 5155a4caf29d40c2cbcc0185cbcdccd7cd205c1d Mon Sep 17 00:00:00 2001 From: sct Date: Sat, 12 Dec 2020 11:57:37 +0000 Subject: [PATCH 14/32] docs: move all-contributors table into the correct section --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9f601ce26..e7ab4b3c4 100644 --- a/README.md +++ b/README.md @@ -88,8 +88,6 @@ Our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_COND ## Contributors -## Contributing - @@ -104,4 +102,6 @@ Our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_COND +## Contributing + You can help build Overseerr too! Check out our [Contribution Guide](https://github.com/sct/overseerr/blob/develop/CONTRIBUTING.md) to get started. From 5fa37b591338ba262b1285f3678dea4f91e11e33 Mon Sep 17 00:00:00 2001 From: sct Date: Sat, 12 Dec 2020 11:59:15 +0000 Subject: [PATCH 15/32] ci: add the ability to skip ci with commit message [skip ci] --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 72c64854c..5629d4533 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,7 +26,7 @@ jobs: build_and_push: name: Build and push Docker image to Docker Hub needs: test - if: github.ref == 'refs/heads/develop' + if: github.ref == 'refs/heads/develop' && !contains(github.event.head_commit.message, 'skip ci') runs-on: ubuntu-latest steps: - name: checkout From d02724770da4c5c19d410cdb124ac1aa6f58fa22 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sat, 12 Dec 2020 21:02:57 +0900 Subject: [PATCH 16/32] docs: add azoitos as a contributor (#230) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index dde3df997..e755c55bc 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -15,6 +15,15 @@ "design", "ideas" ] + }, + { + "login": "azoitos", + "name": "Alex Zoitos", + "avatar_url": "https://avatars2.githubusercontent.com/u/26529049?v=4", + "profile": "https://github.com/azoitos", + "contributions": [ + "code" + ] } ], "badgeTemplate": "\"All-orange.svg\"/>", diff --git a/README.md b/README.md index e7ab4b3c4..e0c8b1349 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Language grade: JavaScript GitHub -All Contributors +All Contributors

@@ -94,12 +94,12 @@ Our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_COND +

sct

💻 🎨 🤔

Alex Zoitos

💻
- ## Contributing From 6d2abfa863360dd80865a4c7e59f61404e0f42d6 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sat, 12 Dec 2020 21:04:00 +0900 Subject: [PATCH 17/32] docs: add OwsleyJr as a contributor (#231) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 10 ++++++++++ README.md | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index e755c55bc..102141fa2 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -24,6 +24,16 @@ "contributions": [ "code" ] + }, + { + "login": "OwsleyJr", + "name": "Brandon Cohen", + "avatar_url": "https://avatars3.githubusercontent.com/u/8635678?v=4", + "profile": "https://github.com/OwsleyJr", + "contributions": [ + "code", + "doc" + ] } ], "badgeTemplate": "\"All-orange.svg\"/>", diff --git a/README.md b/README.md index e0c8b1349..57f9a6c37 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Language grade: JavaScript GitHub -All Contributors +All Contributors

@@ -95,6 +95,7 @@ Our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_COND
sct

💻 🎨 🤔
Alex Zoitos

💻 +
Brandon Cohen

💻 📖 From e32b585e97cb88528a0a01b8fa6ffdd5e3bd9914 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sat, 12 Dec 2020 21:05:29 +0900 Subject: [PATCH 18/32] docs: add comradekingu as a contributor (#232) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 10 ++++++++++ README.md | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 102141fa2..cf966290a 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -34,6 +34,16 @@ "code", "doc" ] + }, + { + "login": "comradekingu", + "name": "Allan Nordhøy", + "avatar_url": "https://avatars1.githubusercontent.com/u/13802408?v=4", + "profile": "http://portfolio.anotheragency.no", + "contributions": [ + "doc", + "translation" + ] } ], "badgeTemplate": "\"All-orange.svg\"/>", diff --git a/README.md b/README.md index 57f9a6c37..e5876ff66 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Language grade: JavaScript GitHub -All Contributors +All Contributors

@@ -96,6 +96,7 @@ Our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_COND
sct

💻 🎨 🤔
Alex Zoitos

💻
Brandon Cohen

💻 📖 +
Allan Nordhøy

📖 🌍 From ce9d9fdf134cba9113e81c74c1c880fc34ff18cc Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sat, 12 Dec 2020 21:06:55 +0900 Subject: [PATCH 19/32] docs: add Ahreluth as a contributor (#233) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index cf966290a..40136d302 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -44,6 +44,15 @@ "doc", "translation" ] + }, + { + "login": "Ahreluth", + "name": "Ahreluth", + "avatar_url": "https://avatars2.githubusercontent.com/u/75682440?v=4", + "profile": "https://github.com/Ahreluth", + "contributions": [ + "translation" + ] } ], "badgeTemplate": "\"All-orange.svg\"/>", diff --git a/README.md b/README.md index e5876ff66..31566bc97 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Language grade: JavaScript GitHub -All Contributors +All Contributors

@@ -97,6 +97,7 @@ Our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_COND
Alex Zoitos

💻
Brandon Cohen

💻 📖
Allan Nordhøy

📖 🌍 +
Ahreluth

🌍 From 61ed508a564b68a4bae347e3b7099ccfa68c6570 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sat, 12 Dec 2020 21:08:21 +0900 Subject: [PATCH 20/32] docs: add KovalevArtem as a contributor (#234) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 40136d302..328ff2fea 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -53,6 +53,15 @@ "contributions": [ "translation" ] + }, + { + "login": "KovalevArtem", + "name": "KovalevArtem", + "avatar_url": "https://avatars0.githubusercontent.com/u/36500228?v=4", + "profile": "https://github.com/KovalevArtem", + "contributions": [ + "translation" + ] } ], "badgeTemplate": "\"All-orange.svg\"/>", diff --git a/README.md b/README.md index 31566bc97..8842f3520 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Language grade: JavaScript GitHub -All Contributors +All Contributors

@@ -98,6 +98,7 @@ Our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_COND
Brandon Cohen

💻 📖
Allan Nordhøy

📖 🌍
Ahreluth

🌍 +
KovalevArtem

🌍 From beca52715a4cb1a9068cc9ccf7f3be916b022a65 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sat, 12 Dec 2020 21:09:03 +0900 Subject: [PATCH 21/32] docs: add GiyomuWeb as a contributor (#235) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 328ff2fea..406e24c1b 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -62,6 +62,15 @@ "contributions": [ "translation" ] + }, + { + "login": "GiyomuWeb", + "name": "GiyomuWeb", + "avatar_url": "https://avatars0.githubusercontent.com/u/62489209?v=4", + "profile": "https://github.com/GiyomuWeb", + "contributions": [ + "translation" + ] } ], "badgeTemplate": "\"All-orange.svg\"/>", diff --git a/README.md b/README.md index 8842f3520..df6246a8f 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Language grade: JavaScript GitHub -All Contributors +All Contributors

@@ -99,6 +99,7 @@ Our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_COND
Allan Nordhøy

📖 🌍
Ahreluth

🌍
KovalevArtem

🌍 +
GiyomuWeb

🌍 From de01e13ddae97c3df63d125270ba5b2c311cedaf Mon Sep 17 00:00:00 2001 From: sct Date: Sat, 12 Dec 2020 12:37:15 +0000 Subject: [PATCH 22/32] docs: update all-contributors list --- .all-contributorsrc | 10 ---------- README.md | 2 +- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 406e24c1b..6c92eff3f 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -35,16 +35,6 @@ "doc" ] }, - { - "login": "comradekingu", - "name": "Allan Nordhøy", - "avatar_url": "https://avatars1.githubusercontent.com/u/13802408?v=4", - "profile": "http://portfolio.anotheragency.no", - "contributions": [ - "doc", - "translation" - ] - }, { "login": "Ahreluth", "name": "Ahreluth", diff --git a/README.md b/README.md index df6246a8f..8b329b05d 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,6 @@ Our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_COND
sct

💻 🎨 🤔
Alex Zoitos

💻
Brandon Cohen

💻 📖 -
Allan Nordhøy

📖 🌍
Ahreluth

🌍
KovalevArtem

🌍
GiyomuWeb

🌍 @@ -105,6 +104,7 @@ Our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_COND + ## Contributing From 7f2be51a7e8b6dca86db41e5b8ddcf16596267b3 Mon Sep 17 00:00:00 2001 From: sct Date: Sat, 12 Dec 2020 12:39:05 +0000 Subject: [PATCH 23/32] refactor(frontend): change person details page to show appears in titles as list view --- src/components/PersonDetails/index.tsx | 29 ++++++++++++++++++-------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/src/components/PersonDetails/index.tsx b/src/components/PersonDetails/index.tsx index 3b7d96ab8..a03affb3e 100644 --- a/src/components/PersonDetails/index.tsx +++ b/src/components/PersonDetails/index.tsx @@ -5,7 +5,6 @@ import type { PersonDetail } from '../../../server/models/Person'; import type { PersonCombinedCreditsResponse } from '../../../server/interfaces/api/personInterfaces'; import Error from '../../pages/_error'; import LoadingSpinner from '../Common/LoadingSpinner'; -import Slider from '../Slider'; import TitleCard from '../TitleCard'; import { defineMessages, useIntl } from 'react-intl'; import { LanguageContext } from '../../context/LanguageContext'; @@ -54,6 +53,8 @@ const PersonDetails: React.FC = () => { return 1; }); + const isLoading = !combinedCredits && !errorCombinedCredits; + return ( <>
@@ -81,13 +82,13 @@ const PersonDetails: React.FC = () => {
- { +
    + {sortedCast?.map((media) => { return ( -
    +
  • { summary={media.overview} mediaType={media.mediaType as 'movie' | 'tv'} status={media.mediaInfo?.status} + canExpand /> {media.character && (
    @@ -109,10 +111,19 @@ const PersonDetails: React.FC = () => { })}
    )} -
  • + ); })} - /> + {isLoading && + [...Array(20)].map((_item, i) => ( +
  • + +
  • + ))} +
); }; From 05a2fddf4a525e726964a6f29cebe5261d32170d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 13 Dec 2020 15:28:43 +0900 Subject: [PATCH 24/32] build(deps): bump ini from 1.3.5 to 1.3.8 (#237) Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8. - [Release notes](https://github.com/isaacs/ini/releases) - [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6881c116d..c41528b7b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7109,9 +7109,9 @@ inherits@2.0.3: integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== init-package-json@^1.10.3: version "1.10.3" From 93983c976b1cdd1d35b8cb82a16384f438ecb9a6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 13 Dec 2020 21:24:25 +0900 Subject: [PATCH 25/32] build(deps): bump yup from 0.32.6 to 0.32.8 (#223) Bumps [yup](https://github.com/jquense/yup) from 0.32.6 to 0.32.8. - [Release notes](https://github.com/jquense/yup/releases) - [Changelog](https://github.com/jquense/yup/blob/master/CHANGELOG.md) - [Commits](https://github.com/jquense/yup/commits) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 24 +++++------------------- 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index 7c7f50920..b053dcefc 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "winston": "^3.3.3", "xml2js": "^0.4.23", "yamljs": "^0.3.0", - "yup": "^0.32.6" + "yup": "^0.32.8" }, "devDependencies": { "@babel/cli": "^7.12.8", diff --git a/yarn.lock b/yarn.lock index c41528b7b..f2fc90782 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1020,27 +1020,13 @@ core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" -"@babel/runtime@7.12.5": +"@babel/runtime@7.12.5", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.11.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": - version "7.11.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736" - integrity sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.10.5": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" - integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/template@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" @@ -14197,10 +14183,10 @@ yn@3.1.1: resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== -yup@^0.32.6: - version "0.32.6" - resolved "https://registry.yarnpkg.com/yup/-/yup-0.32.6.tgz#7fd924536cdf61ec5df7a4bd0576d0a3954b03f6" - integrity sha512-i5poB/ZWU0zGoCwViLw++NQbUFy+X9xfoSSK31JOLh3RoBVUaYrNlYIyxqK8HGrxTHPIl5BBNu/mJYKNeFVvdA== +yup@^0.32.8: + version "0.32.8" + resolved "https://registry.yarnpkg.com/yup/-/yup-0.32.8.tgz#16e4a949a86a69505abf99fd0941305ac9adfc39" + integrity sha512-SZulv5FIZ9d5H99EN5tRCRPXL0eyoYxWIP1AacCrjC9d4DfP13J1dROdKGfpfRHT3eQB6/ikBl5jG21smAfCkA== dependencies: "@babel/runtime" "^7.10.5" "@types/lodash" "^4.14.165" From 7bf9addd13a707aac23b64ef3f1733e491d40a4e Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sun, 13 Dec 2020 16:24:27 +0100 Subject: [PATCH 26/32] feat(lang): translated using Weblate (German) Currently translated at 99.3% (304 of 306 strings) Co-authored-by: Hosted Weblate Co-authored-by: J. Lavoie Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/de/ Translation: Overseerr/Overseerr Frontend --- src/i18n/locale/de.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/i18n/locale/de.json b/src/i18n/locale/de.json index a0d7bb16c..f655fac69 100644 --- a/src/i18n/locale/de.json +++ b/src/i18n/locale/de.json @@ -302,5 +302,7 @@ "pages.pageNotFound": "404 – Seite nicht gefunden", "pages.returnHome": "Zur Starseite", "pages.serviceUnavailable": "{statusCode} – Dienst nicht verfügbar", - "pages.somethingWentWrong": "{statusCode} – Es ist ein Fehler aufgetreten" + "pages.somethingWentWrong": "{statusCode} – Es ist ein Fehler aufgetreten", + "components.TvDetails.TvCast.fullseriescast": "Vollserienbesetzung", + "components.MovieDetails.MovieCast.fullcast": "Vollständige Besetzung" } From f943701e13c7f0de5a711302597858cc898b16e2 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sun, 13 Dec 2020 16:24:27 +0100 Subject: [PATCH 27/32] feat(lang): translated using Weblate (French) Currently translated at 100.0% (306 of 306 strings) feat(lang): translated using Weblate (French) Currently translated at 100.0% (306 of 306 strings) Co-authored-by: Hosted Weblate Co-authored-by: J. Lavoie Co-authored-by: NGVICIOUS Translate-URL: https://hosted.weblate.org/projects/overseerr/overseerr-frontend/fr/ Translation: Overseerr/Overseerr Frontend --- src/i18n/locale/fr.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/i18n/locale/fr.json b/src/i18n/locale/fr.json index 66b158cfe..2fd85979c 100644 --- a/src/i18n/locale/fr.json +++ b/src/i18n/locale/fr.json @@ -22,7 +22,7 @@ "components.MovieDetails.available": "Disponible", "components.MovieDetails.budget": "Budget", "components.MovieDetails.cancelrequest": "Annuler la demande", - "components.MovieDetails.cast": "Distribution", + "components.MovieDetails.cast": "Casting", "components.MovieDetails.decline": "Refuser", "components.MovieDetails.manageModalClearMedia": "Effacer toutes les données médias", "components.MovieDetails.manageModalClearMediaWarning": "Toutes les donnés de médias vont être éffacées pour cet élément irréversiblement. Si cet élément existe dans votre bibliothèque Plex, les informations du média seront recrées à la prochaine synchronisation.", @@ -228,7 +228,7 @@ "components.TvDetails.approverequests": "Valider {requestCount} {requestCount, plural, one {Request} other {Requests}}", "components.TvDetails.available": "Disponible", "components.TvDetails.cancelrequest": "Annuler la demande", - "components.TvDetails.cast": "Distribution", + "components.TvDetails.cast": "Casting", "components.TvDetails.decline": "Refuser", "components.TvDetails.declinerequests": "Refuser {requestCount} {requestCount, plural, one {Request} other {Requests}}", "components.TvDetails.manageModalClearMedia": "Effacer toutes les données média", @@ -302,5 +302,7 @@ "pages.pageNotFound": "404 – Page non trouvée", "pages.returnHome": "Retourner à l'acceuil", "pages.serviceUnavailable": "{statusCode} – Service indisponible", - "pages.somethingWentWrong": "{statusCode} – Il y a eu un problème" + "pages.somethingWentWrong": "{statusCode} – Une erreur est survenue", + "components.TvDetails.TvCast.fullseriescast": "Casting complet de la série", + "components.MovieDetails.MovieCast.fullcast": "Casting complet" } From b3b8e7b0cc4af8c5ecc524fe30ee0ec8e11c02ce Mon Sep 17 00:00:00 2001 From: sct Date: Mon, 14 Dec 2020 01:05:11 +0000 Subject: [PATCH 28/32] docs: update readme [skip ci] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8b329b05d..6388b76b3 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@

-**Overseerr** is a libre software tool for managing requests for your media library. It integrates with existing services such as **Sonarr** and **Radarr**! +**Overseerr** is a free and open source software application for managing requests for your media library. It integrates with your existing services such as **Sonarr**, **Radarr** and **Plex**! ## Current Features From da65988926f3ffed13005c88435a867fb83b5598 Mon Sep 17 00:00:00 2001 From: Angry Cuban Date: Sun, 13 Dec 2020 22:38:47 -0600 Subject: [PATCH 29/32] docs: Update README.md (#241) [skip ci] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6388b76b3..269801b16 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ docker run -d \ -p 5055:3000 \ -v /path/to/appdata/config:/config \ --restart unless-stopped \ - sctx/overseer + sctx/overseerr ``` After running Overseerr for the first time, configure it by visiting the web UI at http://[address]:5055 and completing the setup steps. From 2ce6e0a94a3a04f0ca71694d05857f1da5532ac9 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 14 Dec 2020 13:44:24 +0900 Subject: [PATCH 30/32] docs: add angrycuban13 as a contributor (#242) [skip ci] * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 6c92eff3f..2b6c6f03d 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -61,6 +61,15 @@ "contributions": [ "translation" ] + }, + { + "login": "angrycuban13", + "name": "Angry Cuban", + "avatar_url": "https://avatars3.githubusercontent.com/u/39564898?v=4", + "profile": "https://github.com/angrycuban13", + "contributions": [ + "doc" + ] } ], "badgeTemplate": "\"All-orange.svg\"/>", diff --git a/README.md b/README.md index 269801b16..36078e600 100644 --- a/README.md +++ b/README.md @@ -99,12 +99,12 @@ Our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_COND
Ahreluth

🌍
KovalevArtem

🌍
GiyomuWeb

🌍 +
Angry Cuban

📖 - ## Contributing From 27349ec953ec54feaa8cfe3c2ca7d141fdbf566c Mon Sep 17 00:00:00 2001 From: sct Date: Mon, 14 Dec 2020 04:49:00 +0000 Subject: [PATCH 31/32] docs: update readme.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 36078e600..8dcd68a69 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ docker run -d \ -e LOG_LEVEL=info \ -e TZ=Asia/Tokyo \ -p 5055:3000 \ - -v /path/to/appdata/config:/config \ + -v /path/to/appdata/config:/app/config \ --restart unless-stopped \ sctx/overseerr ``` @@ -105,6 +105,7 @@ Our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_COND + ## Contributing From 5f09e83ed870336638d3e9d94fcf55ead928e737 Mon Sep 17 00:00:00 2001 From: sct Date: Mon, 14 Dec 2020 05:18:22 +0000 Subject: [PATCH 32/32] fix(api): correctly generate clientId on first startup --- server/lib/settings.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/server/lib/settings.ts b/server/lib/settings.ts index 1fcb48bfd..1f33f3bee 100644 --- a/server/lib/settings.ts +++ b/server/lib/settings.ts @@ -100,7 +100,7 @@ class Settings { constructor(initialSettings?: AllSettings) { this.data = { - clientId: '', + clientId: uuidv4(), main: { apiKey: '', applicationUrl: '', @@ -222,10 +222,10 @@ class Settings { * @param overrideSettings If passed in, will override all existing settings with these * values */ - public load(overrideSettings?: AllSettings): AllSettings { + public load(overrideSettings?: AllSettings): Settings { if (overrideSettings) { this.data = overrideSettings; - return this.data; + return this; } if (!fs.existsSync(SETTINGS_PATH)) { @@ -237,7 +237,7 @@ class Settings { this.data = merge(this.data, JSON.parse(data)); this.save(); } - return this.data; + return this; } public save(): void {