diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index 0424873..83ebe5f 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -1,52 +1,28 @@ { "welcomeWispar": "Willkommen bei Wispar!", - "@welcomeWispar": {}, "setupInstitutionalAccess": "Einrichtung des institutionellen Zugangs", - "@setupInstitutionalAccess": {}, "setupInstitutionalAccessLong": "Wählen Sie den EZproxy Ihrer Einrichtung aus, um Zugriff auf deren Zeitschriftenabonnements zu erhalten. Dadurch ist kein VPN oder lokaler Zugriff mehr erforderlich.", - "@setupInstitutionalAccessLong": {}, "setupSelectInstitution": "Meine Einrichtung auswählen", - "@setupSelectInstitution": {}, "setupSelectedInstitution": "Sie haben ausgewählt:", - "@setupSelectedInstitution": {}, "setupLinkZotero": "Link Zotero", - "@setupLinkZotero": {}, "setupZoteroLong": "Senden Sie Publikationen direkt an Ihre Zotero-Bibliothek. Sie werden einer speziellen Wispar-Sammlung hinzugefügt.", - "@setupZoteroLong": {}, "setupLinkMyZotero": "Mein Zotero-Konto verknüpfen", - "@setupLinkMyZotero": {}, "setupOtherSettings": "Weitere Einstellungen", - "@setupOtherSettings": {}, "setupOtherSettingsLong": "Weitere Einstellungen sind im Einstellungsmenü der App verfügbar. Rufen Sie es über den Startbildschirm auf, indem Sie auf das Menü mit den drei Punkten in der oberen rechten Ecke tippen.", - "@setupOtherSettingsLong": {}, "setupAlmostSet": "Alles bereit! … Fast!", - "@setupAlmostSet": {}, "setupAlmostSetLong": "Als Nächstes gelangen Sie zum Suchbildschirm, wo Sie Ihre Lieblingszeitschriften verfolgen können. Vergessen Sie nicht, das Kategorie-Menü von 'Artikel' auf 'Zeitschriften' umzustellen.", - "@setupAlmostSetLong": {}, "skip": "Überspringen", - "@skip": {}, "getStarted": "Loslegen", - "@getStarted": {}, "notifications": "Benachrichtigungen", - "@notifications": {}, "notifPermsGranted": "Genehmigung erteilt", - "@notifPermsGranted": {}, "notifPermsNotGranted": "Genehmigung nicht erteilt", - "@notifPermsNotGranted": {}, "openAppSettings": "Einstellungen öffnen", - "@openAppSettings": {}, "notificationSettingsMessage": "Benachrichtigungen sind dauerhaft deaktiviert. Um sie zu aktivieren, gehen Sie zu den Benachrichtigungseinstellungen der App.", - "@notificationSettingsMessage": {}, "notificationContent": "Neue Artikel sind verfügbar!", - "@notificationContent": {}, "notificationTitleJournal": "Zeitschriften wurden aktualisiert", - "@notificationTitleJournal": {}, "notificationTitleQuery": "Abfragen wurden aktualisiert", - "@notificationTitleQuery": {}, "fgNotificationContent": "Wispar läuft im Hintergrund, um Ihre Journale zu aktualisieren", - "@fgNotificationContent": {}, "fgNotificationTitle": "Hintergrund-Aktualisierungsdienst", - "@fgNotificationTitle": {}, "home": "Startseite", "@home": { "description": "The home menu button and the app bar title when in the home screen." @@ -60,17 +36,13 @@ "description": "The verb to download, without the 'to'." }, "delete": "Löschen", - "@delete": {}, "downloads": "Heruntergeladene Dateien", "@downloads": { "description": "The downloads menu button and the app bar title when in the downloads screen." }, "downloadSuccessful": "Der Artikel wurde erfolgreich heruntergeladen!", - "@downloadSuccessful": {}, "downloadDeleted": "Der Artikel wurde gelöscht!", - "@downloadDeleted": {}, "noDownloads": "Sie haben keine Dateien heruntergeladen.", - "@noDownloads": {}, "settings": "Einstellungen", "@settings": { "description": "The settings option menu button and the app bar title when in the settings screen." @@ -108,119 +80,64 @@ "description": "Place holder text in the search input widget." }, "filter": "Veröffentlichungskarten filtern", - "@filter": {}, "filterFavorites": "Filter Favoriten", - "@filterFavorites": {}, "filterResultsEmpty": "Es gibt keine Veröffentlichung, die Ihrem Filter entspricht", - "@filterResultsEmpty": {}, "filterDownloads": "Herunterladungen filtern", - "@filterDownloads": {}, "emptyDOIError": "Bitte geben Sie eine DOI ein", - "@emptyDOIError": {}, "appDescription": "Ihre Open-Source-App, um über wissenschaftliche Literatur auf dem Laufenden zu bleiben. Lassen Sie uns schnell loslegen!", - "@appDescription": {}, "horizontal": "Horizontal", - "@horizontal": {}, "institutionalAccess": "Institutioneller Zugang", - "@institutionalAccess": {}, "selectFeed": "Wähle einen Feed", - "@selectFeed": {}, "createCustomFeed": "Erstelle einen eigenen Feed", - "@createCustomFeed": {}, "done": "Fertig", - "@done": {}, "edit": "Bearbeiten", - "@edit": {}, "clearAll": "Alles löschen", - "@clearAll": {}, "selectAll": "Alles auswählen", - "@selectAll": {}, "customizeFeed": "Feed anpassen", - "@customizeFeed": {}, "feedName": "Feed Name", - "@feedName": {}, "followedJournals": "Verfolgte Zeitschriften", - "@followedJournals": {}, "moreJournals": "Weitere Zeitschriften", - "@moreJournals": {}, "includeKeywords": "Schlüsselwörter miteinbeziehen", - "@includeKeywords": {}, "excludeKeywords": "Schlüsselwörter ausschließen", - "@excludeKeywords": {}, "typePressSpace": "Schreibe und drücke die Leertaste…", - "@typePressSpace": {}, "errorFeedNameEmpty": "Bitte gebe einen Namen für den Feed ein", - "@errorFeedNameEmpty": {}, "errorFeedNameAlreadyExists": "Ein Feed mit diesem Namen existiert bereits", - "@errorFeedNameAlreadyExists": {}, "errorSelectOneJournal": "Wähle mindestens eine Zeitschrift aus", - "@errorSelectOneJournal": {}, "searchByQuery": "Suche nach Suchbegriff", - "@searchByQuery": {}, "searchOpenAlex": "OpenAlex (empfohlen)", - "@searchOpenAlex": {}, "source": "Quelle: {search_provider}", - "@source": {}, "everything": "Alles", - "@everything": {}, "titleAndAbstract": "Titel und Zusammenfassung", - "@titleAndAbstract": {}, "title": "Titel", - "@title": {}, "searchIn": "Suche in", - "@searchIn": {}, "addKeyword": "Schlüsselwort hinzufügen", - "@addKeyword": {}, "enterKeyword": "Schlüsselwort eingeben", - "@enterKeyword": {}, "displayName": "Anzeigename", - "@displayName": {}, "citedByCount": "Anzahl der Zitate", - "@citedByCount": {}, "worksCount": "Zahle der Werke", - "@worksCount": {}, "publicationDate": "Veröffentlichungsdatum", - "@publicationDate": {}, "queryPreview": "Abfragevorschau:", - "@queryPreview": {}, "searchByDOI": "Suche nach DOI", - "@searchByDOI": {}, "searchByTitle": "Suche nach Titel", - "@searchByTitle": {}, "searchByISSN": "Suche nach ISSN", - "@searchByISSN": {}, "queryHasNoNameError": "Du musst einen Namen für die Abfrage eingeben, um sie zu speichern.", - "@queryHasNoNameError": {}, "emptySearchQuery": "Bitte gebe eine Suchanfrage ein", - "@emptySearchQuery": {}, "journalSearchError": "Beim Versuch, nach Zeitschriften zu suchen, ist ein Fehler aufgetreten.", - "@journalSearchError": {}, "moreOptions": "Weitere Optionen", - "@moreOptions": {}, "saveQuery": "Diese Abfrage speichern", - "@saveQuery": {}, "queryName": "Abfragename", - "@queryName": {}, "includeInFeed": "Im Feed anzeigen", - "@includeInFeed": {}, "dateSaved": "Speicherdatum", - "@dateSaved": {}, "articles": "Artikel", "@articles": { "description": "As in scientific articles." }, "category": "Kategorie", - "@category": {}, "publisher": "Veröffentlicher", - "@publisher": {}, "publishedin": "Veröffentlicht in", - "@publishedin": {}, "subjects": "Themen", - "@subjects": {}, "latestpublications": "Neueste Veröffentlichungen", - "@latestpublications": {}, "authors": "Autoren", - "@authors": {}, "publishedon": "Veröffentlicht am {date}", "@publishedon": { "placeholders": { @@ -231,41 +148,25 @@ } }, "abstract": "Zusammenfassung", - "@abstract": {}, "copy": "Kopieren", - "@copy": {}, "copydoi": "DOI kopieren", - "@copydoi": {}, "copyAbstract": "Zusammenfassung kopieren", - "@copyAbstract": {}, "copyTitle": "Titel kopieren", - "@copyTitle": {}, "copyUrl": "URL kopieren", - "@copyUrl": {}, "copiedToClipboard": "In die Zwischenablage kopiert!", - "@copiedToClipboard": {}, "doicopied": "DOI in die Zwischenablage kopiert", "@doicopied": { "description": "Snackbar shown when the Copy DOI button is pressed." }, "issnCopied": "ISSN in die Zwischenablage kopiert", - "@issnCopied": {}, "apiQueryCopied": "API Anfrage in die Zwischenablage kopiert", - "@apiQueryCopied": {}, "viewarticle": "Artikel anzeigen", - "@viewarticle": {}, "articleViewer": "Artikelbetrachter", - "@articleViewer": {}, "openExternalBrowser": "In externen Browser öffnen", - "@openExternalBrowser": {}, "errorOpenExternalBrowser": "Der Link kann nicht in einem anderen Browser geöffnet werden", - "@errorOpenExternalBrowser": {}, "openExternalPdfApp": "Im externen PDF Betrachter öffnen", - "@openExternalPdfApp": {}, "errorOpenExternalPdfApp": "Die PDF-Datei kann nicht in einer anderen App geöffnet werden", - "@errorOpenExternalPdfApp": {}, "favorite": "Favorit", - "@favorite": {}, "favoriteadded": "zu Favoriten hinzugefügt", "@favoriteadded": { "description": "Snackbar shown when an article is added to the user's favorites." @@ -279,45 +180,27 @@ "description": "Text shown in the place of the abstract when it is unavailable." }, "searchresults": "Suchergebnisse", - "@searchresults": {}, "noresultsfound": "Keine Ergebnisse gefunden.", - "@noresultsfound": {}, "noSavedQueries": "Keine gespeicherten Abfragen.", - "@noSavedQueries": {}, "noFavorites": "Du hast keine Artikel in deinen Favoriten. Klicke auf das Herz-Symbol auf den Publikationskarten, die dir gefallen, um sie zu deinen Favoriten hinzuzufügen!", "@noFavorites": { "description": "The message shown when the user has no articles in their favorites." }, "display": "Anzeigen", - "@display": {}, "displaySettings": "Anzeigeeinstellungen", - "@displaySettings": {}, "appearance": "Aussehen", - "@appearance": {}, "theme": "Thema", - "@theme": {}, "light": "Hell", - "@light": {}, "dark": "Dunkel", - "@dark": {}, "systemtheme": "System Thema", - "@systemtheme": {}, "system": "System", - "@system": {}, "pdfTheme": "PDF-Viewer-Design", - "@pdfTheme": {}, "pdfReadingOrientation": "Ausrichtung beim Lesen von PDF-Dateien", - "@pdfReadingOrientation": {}, "vertical": "Vertikal", - "@vertical": {}, "publicationCard": "Veröffentlichungskarte", - "@publicationCard": {}, "showAllAbstracts": "Alle Zusammenfassungen anzeigen", - "@showAllAbstracts": {}, "hideMissingAbstracts": "Fehlende Zusammenfassungen verstecken", - "@hideMissingAbstracts": {}, "hideAllAbstracts": "Alle Zusammenfassungen verstecken", - "@hideAllAbstracts": {}, "unpaywallarticle": "Der Artikel wurde über Unpaywall bereitgestellt", "@unpaywallarticle": { "description": "Snackbar shown when an article was fetched from Unpaywall." @@ -327,31 +210,18 @@ "description": "Snackbar shown when a request is intercepted and sent through the user's institution EZproxy." }, "proxySuccess": "Die Proxy-Verbindung ist erfolgreich.", - "@proxySuccess": {}, "proxyFailure": "Die Proxy-Verbindung ist nicht erfolgreich", - "@proxyFailure": {}, "proxyLogin": "Das ist eine Anmeldeseite", - "@proxyLogin": {}, "editKnownUrl": "Bekannte URL bearbeiten", - "@editKnownUrl": {}, "addKnownUrl": "Bekannte URL hinzufügen", - "@addKnownUrl": {}, "redirectsSuccessfully": "Weiterleitungen erfolgreich", - "@redirectsSuccessfully": {}, "failsToRedirect": "Umleitung schlägt fehl", - "@failsToRedirect": {}, "loginPage": "Anmeldeseite", - "@loginPage": {}, "manageUrlsAndRedirect": "URLs und Weiterleitungsstatus verwalten", - "@manageUrlsAndRedirect": {}, "selectinstitution": "Deine Institution auswählen", - "@selectinstitution": {}, "sort": "Sortieren", - "@sort": {}, "sortby": "Sortieren nach", - "@sortby": {}, "sortorder": "Sortierreihenfolge", - "@sortorder": {}, "followingsince": "Folgend seit {date}", "@followingsince": { "placeholders": { @@ -386,23 +256,14 @@ } }, "pendingUpdate": "Aktualisierung steht noch aus", - "@pendingUpdate": {}, "journaltitle": "Zeitschriftentitel", - "@journaltitle": {}, "followingdate": "Folgedatum", - "@followingdate": {}, "ascending": "Aufsteigend", - "@ascending": {}, "descending": "Absteigend", - "@descending": {}, "articletitle": "Titel des Artikels", - "@articletitle": {}, "firstauthfamname": "Nachname des Erstautors", - "@firstauthfamname": {}, "datepublished": "Veröffentlichungsdatum", - "@datepublished": {}, "dateaddedtofavorites": "Datum als zu den Favoriten hinzugefügt", - "@dateaddedtofavorites": {}, "addedtoyourfav": "Zu Ihren Favoriten hinzugefügt am {date}", "@addedtoyourfav": { "placeholders": { @@ -413,15 +274,10 @@ } }, "noinstitution": "keine institution", - "@noinstitution": {}, "buildingfeed": "Dien Feed wird erstellt. Bitte warten…", - "@buildingfeed": {}, "fetchingArticleFromJournal": "Artikel abrufen von {journalName}.", - "@fetchingArticleFromJournal": {}, "noPublicationFound": "Keine Veröffentlichungen gefunden.", - "@noPublicationFound": {}, "failLoadMorePublication": "Es konnten keine weiteren Veröffentlichungen geladen werden.", - "@failLoadMorePublication": {}, "homeFeedEmpty": "Keine Veröffentlichungen verfügbar. Veröffentlichungskarten werden hinzugefügt, sobald du mindestens einer Zeitschrift folgst.", "@homeFeedEmpty": { "description": "The message shown when the feed in the home screen is empty." @@ -431,29 +287,17 @@ "description": "Default sharing text." }, "shareArticle": "Artikel teilen", - "@shareArticle": {}, "hiddenArticles": "Ausgeblendete Veröffentlichungen", - "@hiddenArticles": {}, "noHiddenArticles": "Keine ausgeblendete Veröffentlichungen", - "@noHiddenArticles": {}, "hideArticle": "Diese Veröffentlichung ausblenden", - "@hideArticle": {}, "viewHiddenArticles": "Ausgeblendete Veröffentlichungen anzeigen", - "@viewHiddenArticles": {}, "unhideArticle": "Diese Veröffentlichung einblenden", - "@unhideArticle": {}, "sendToZotero": "An Zotero senden", - "@sendToZotero": {}, "zoteroSettings": "Zotero Einstellungen", - "@zoteroSettings": {}, "zoteroPermissions1": "Wispar benötigt sowohl Lese- als auch Schreibzugriff auf dein Zotero-Konto, um die Integration nutzen zu können.", - "@zoteroPermissions1": {}, "zoteroPermissions2": "Wenn du einen neuen Zotero-API-Schlüssel erstellst, musst ud sowohl „Bibliothekszugriff zulassen“ als auch „Schreibzugriff zulassen“ auswählen.", - "@zoteroPermissions2": {}, "zoteroPermissions3": "Sobald der API-Schlüssel erstellt wurde, kopiere den Wert und füge ihn in das untenstehende Textfeld ein.", - "@zoteroPermissions3": {}, "zoteroCreateKey": "Einen neuen API-Schlüssel erstellen", - "@zoteroCreateKey": {}, "zoteroEnterKey": "Einen API-Schlüssel eingeben", "@zoteroEnterKey": { "description": "Hint text shown in the text field where users can enter their Zotero API key." @@ -467,11 +311,8 @@ "description": "Snackbar shown when an attempt to save an invalid Zotero API key is made." }, "zoteroApiKeyEmpty": "Der Zotero-API-Schlüssel wurde noch nicht festgelegt. Bitte konfiguriere den API-Schlüssel in den App-Einstellungen.", - "@zoteroApiKeyEmpty": {}, "zoteroArticleSent": "Der Artikel wurde an Zotero gesendet.", - "@zoteroArticleSent": {}, "save": "Speichern", - "@save": {}, "savedOn": "Gespeichert am {date}", "@savedOn": { "placeholders": { @@ -482,167 +323,88 @@ } }, "sourceCode": "Quellcode", - "@sourceCode": {}, "reportIssue": "Ein Problem melden", - "@reportIssue": {}, "enabled": "Aktiviert", - "@enabled": {}, "disabled": "Deaktiviert", - "@disabled": {}, "database": "Datenbank", - "@database": {}, "databaseSettings": "Datenbankeinstellungen", - "@databaseSettings": {}, "concurrentFetches": "Gleichzeitige API-Anfragen: {number}", - "@concurrentFetches": {}, "scrapeAbstracts": "Fehlende Zusammenfassungen ergänzen", - "@scrapeAbstracts": {}, "cleanupInterval": "Reinigungsintervall (Tage)", - "@cleanupInterval": {}, "cleanupIntervalHint": "Anzahl der Tage eingeben (1 bis 365)", - "@cleanupIntervalHint": {}, "apiFetchInterval": "API-Abrufintervall", - "@apiFetchInterval": {}, "apiFetchIntervalHint": "Wähle aus, wie oft Artikel abgerufen werden sollen", - "@apiFetchIntervalHint": {}, "cleanupIntervalInvalidNumber": "Bitte gebe eine gültige Anzahl von Tagen ein.", - "@cleanupIntervalInvalidNumber": {}, "cleanupIntervalNumberNotBetween": "Bitte gebe einen Wert zwischen 1 und 365 ein.", - "@cleanupIntervalNumberNotBetween": {}, "databaseNotFound": "Die Datenbankdatei wurde nicht gefunden.", - "@databaseNotFound": {}, "storagePermissionDenied": "Zugriff verweigert.", - "@storagePermissionDenied": {}, "databaseExported": "Datenbank erfolgreich exportiert!", - "@databaseExported": {}, "databaseExportFailed": "Der Export der Datenbank ist fehlgeschlagen.", - "@databaseExportFailed": {}, "selectDBExportLocation": "Wähle einen Speicherort für den Export der Datenbank aus.", - "@selectDBExportLocation": {}, "exportDatabase": "Datenbank exportieren", - "@exportDatabase": {}, "exportingDatabase": "Die Datenbank wird exportiert, bitte warten.", - "@exportingDatabase": {}, "importDatabase": "Datenbank importieren", - "@importDatabase": {}, "importingDatabase": "Die Datenbank wird importiert, bitte warten.", - "@importingDatabase": {}, "databaseImportFailed": "Der Import der Datenbank ist fehlgeschlagen.", - "@databaseImportFailed": {}, "databaseImported": "Datenbank erfolgreich importiert!", - "@databaseImported": {}, "overrideUserAgent": "Benutzeragenten überschreiben", - "@overrideUserAgent": {}, "customUserAgent": "Benutzerdefinierter User-Agent", - "@customUserAgent": {}, "language": "Sprache", - "@language": {}, "saveSettings": "Einstellungen speichern", - "@saveSettings": {}, "settingsSaved": "Einstellungen erfolgreich gespeichert!", - "@settingsSaved": {}, "privacyPolicy": "Datenschutzerklärung", - "@privacyPolicy": {}, "about": "Über", - "@about": {}, "madeBy": "Entwickelt von {app_author}", - "@madeBy": {}, "donate": "Spenden", - "@donate": {}, "donateMessage": "Unterstütze die Entwicklung von Wispar", "@donateMessage": { "description": "Text shown in the subtitle of the Donate button in the settings." }, "otherLicense": "Andere Lizenz", - "@otherLicense": {}, "unknownLicense": "Unbekannte Lizenz", - "@unknownLicense": {}, "hours": "stunden", - "@hours": {}, "failedLoadMoreResults": "Es konnten keine weiteren Ergebnisse geladen werden. Bitte überprüfe die Protokolle und melde das Problem gegebenenfalls auf GitHub.", - "@failedLoadMoreResults": {}, "errorOccured": "Ein Fehler ist aufgetreten. Bitte überprüfe die Protokolle und melde das Problem gegebenenfalls auf GitHub.", - "@errorOccured": {}, "logs": "Protokolle", - "@logs": {}, "viewLogs": "Protokolle anzeigen", - "@viewLogs": {}, "deleteLogs": "Protokolle löschen", - "@deleteLogs": {}, "logsDeleted": "Protokolle gelöscht!", - "@logsDeleted": {}, "logsUnavailable": "Keine Protokolle verfügbar.", - "@logsUnavailable": {}, "logCopied": "Protokolle in die Zwischenablage kopiert!", - "@logCopied": {}, "saveLogs": "Protokolle speichern", - "@saveLogs": {}, "selectLogsLocation": "Wähle einen Speicherort für die Protokolle aus.", - "@selectLogsLocation": {}, "logsExportedSuccessfully": "Die Protokolle wurden erfolgreich gespeichert!", - "@logsExportedSuccessfully": {}, "logsExportedError": "Die Protokolle können nicht gespeichert werden.", - "@logsExportedError": {}, "shareLogs": "Protokolle teilen", - "@shareLogs": {}, "translate": "Übersetzen", - "@translate": {}, "noAiApiKeySetError": "Es wurde kein KI-API-Schlüssel festgelegt. Bitte gehe in die Einstellungen, um einen zu konfigurieren.", - "@noAiApiKeySetError": {}, "translationFailed": "Übersetzung fehlgeschlagen", - "@translationFailed": {}, "showTranslation": "Übersetzung anzeigen", - "@showTranslation": {}, "showOriginal": "Original anzeigen", - "@showOriginal": {}, "swapLanguages": "Sprachen tauschen", - "@swapLanguages": {}, "cancel": "Abbrechen", - "@cancel": {}, "aiSettings": "AI Einstellungen", - "@aiSettings": {}, "hideAiFeatures": "Alle AI Funktionen ausblenden", - "@hideAiFeatures": {}, "aiProvider": "AI Anbieter", - "@aiProvider": {}, "pleaseSelectProvider": "Bitte einen Anbieter auswählen", - "@pleaseSelectProvider": {}, "apiKeyLabel": "{providerName} API-Schlüssel", - "@apiKeyLabel": {}, "pleaseEnterAiAPIKey": "Bitte gebe einen API-Schlüssel für {providerName} ein", - "@pleaseEnterAiAPIKey": {}, "overrideBaseUrl": "Basis-URL überschreiben", - "@overrideBaseUrl": {}, "customBaseUrl": "Benutzerdefinierte Basis-URL", - "@customBaseUrl": {}, "pleaseEnterBaseUrl": "Bitte gebe eine Basis-URL ein", - "@pleaseEnterBaseUrl": {}, "invalidUrl": "ungültige URL", - "@invalidUrl": {}, "modelNameLabel": "Gebe den Modellnamen von {provider} ein", - "@modelNameLabel": {}, "pleaseEnterModelName": "Bitte gebe den {provider} Modell Namen ein.", - "@pleaseEnterModelName": {}, "aiTemperature": "Temperatur", - "@aiTemperature": {}, "aiCustomPrompts": "Benutzerdefinierte Übersetzungsaufforderungen", - "@aiCustomPrompts": {}, "aiCustomPromptsDescription": "Verwende $src und $dst für die Ausgangs- und Zielsprache und $text für den zu übersetzenden Text. Beispiel: Übersetze den folgenden Text von $src nach $dst: $text", - "@aiCustomPromptsDescription": {}, "prompt": "Aufforderung", - "@prompt": {}, "missingPlaceholders": "Fehlende Platzhalter: {placeholders}", - "@missingPlaceholders": {}, "pdfNotReadyForChat": "PDF nicht bereit für Chat. Bitte warte oder versuche es erneut.", - "@pdfNotReadyForChat": {}, "chatWithPdf": "Chat mit PDF", - "@chatWithPdf": {}, "typeYourMessage": "Gebe deine Nachricht ein...", - "@typeYourMessage": {}, "askAboutPdf": "Hallo! Ich bin bereit, über diese PDF-Datei zu chatten. Was möchtest du wissen oder zusammenfassen? Denk daran, dass das Chatten mit einer PDF-Datei viele Token verbraucht!", - "@askAboutPdf": {}, "pdfNotFound": "Die PDF-Datei konnte nicht gefunden werden.", - "@pdfNotFound": {}, "apiTokenMissing": "Der API-Schlüssel für {aiModel} fehlt in den Einstellungen. Bitte konfiguriere ihn.", "@apiTokenMissing": { "placeholders": { @@ -652,7 +414,6 @@ } }, "noResponseFromAI": "Keine Antwort von der KI erhalten.", - "@noResponseFromAI": {}, "errorConnectingToAI": "Fehler beim Herstellen der Verbindung zur KI ({statusCode}). Bitte überprüfe deine Internet- oder API-Einstellungen.", "@errorConnectingToAI": { "placeholders": { @@ -662,53 +423,29 @@ } }, "networkError": "Netzwerkfehler oder Problem bei der Kommunikation mit dem KI-Dienst.", - "@networkError": {}, "pdfDownloadOptionsTitle": "PDF-Download-Optionen", - "@pdfDownloadOptionsTitle": {}, "openInExternalPdfViewer": "In externem PDF-Viewer öffnen", - "@openInExternalPdfViewer": {}, "openInExternalPdfViewerSubtitle": "Öffne die PDF-Datei im Standardbrowser oder in der PDF-App deines Geräts.", - "@openInExternalPdfViewerSubtitle": {}, "downloadingFile": "Datei herunterladen…", - "@downloadingFile": {}, "downloadFailedInAppViewer": "Öffnen in der App fehlgeschlagen. Externer Viewer wird versucht.", - "@downloadFailedInAppViewer": {}, "errorOpeningFile": "Datei konnte nicht geöffnet werden.", - "@errorOpeningFile": {}, "downloadStarting": "Download startet.", - "@downloadStarting": {}, "downloadFoundPdf": "Gefundenes PDF herunterladen", - "@downloadFoundPdf": {}, "downloadToApp": "Download in der App", - "@downloadToApp": {}, "downloadToAppSubtitle": "Versuche, die PDF-Datei direkt in Wispar herunterzuladen und anzuzeigen, um eine bessere Integration zu erzielen.", - "@downloadToAppSubtitle": {}, "showPublicationCount": "Anzahl der Veröffentlichungen anzeigen", - "@showPublicationCount": {}, "graphicalAbstract": "Grafische Zusammenfassung", - "@graphicalAbstract": {}, "openExternalApp": "In externer App öffnen", - "@openExternalApp": {}, "customDatabaseLocation": "Benutzerdefinierter Speicherort der Datenbank", - "@customDatabaseLocation": {}, "selectCustomDBLocation": "Wähle einen Standort, an dem", - "@selectCustomDBLocation": {}, "currentDBLocation": "Aktueller Speicherort: {path}", - "@currentDBLocation": {}, "movingDatabase": "Verschieben der Datenbankdateien. Bitte warten.", - "@movingDatabase": {}, "databaseMoved": "Die Datenbankdateien wurden erfolgreich verschoben!", - "@databaseMoved": {}, "databaseMoveFailed": "Die Datenbankdateien können nicht verschoben werden: {error}", - "@databaseMoveFailed": {}, "databaseConflictTitle": "Vorhandene Wispar-Daten gefunden.", - "@databaseConflictTitle": {}, "databaseConflictMessage": "Wispar-Daten wurden im ausgewählten Ordner gefunden. Möchten Sie die vorhandenen Dateien verwenden oder sie mit der aktuellen Datenbank überschreiben?", - "@databaseConflictMessage": {}, "useExistingFiles": "Vorhandene Dateien verwenden", - "@useExistingFiles": {}, "overwriteFiles": "Mit aktueller Datenbank überschreiben", - "@overwriteFiles": {}, "numberPublications": "{count, plural, =0{Keine Veröffentlichungen} =1{1 Veröffentlichung} other{{count} Veröffentlichungen}}", "@numberPublications": { "placeholders": { diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 1df0693..7cb3eda 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -1,762 +1,477 @@ { - "welcomeWispar": "Welcome to Wispar!", - "@welcomeWispar": {}, - "appDescription": "Your open-source app to stay up-to-date with scientific literature. Let's get you set up quickly!", - "@appDescription": {}, - "institutionalAccess": "Institutional access", - "@institutionalAccess":{}, - "setupInstitutionalAccess": "Setup Institutional Access", - "@setupInstitutionalAccess": {}, - "setupInstitutionalAccessLong": "Select your institution's EZproxy to gain access to their journal subscriptions. This will eliminate the need for a VPN or on-premises access.", - "@setupInstitutionalAccessLong": {}, - "setupSelectInstitution": "Select my institution", - "@setupSelectInstitution": {}, - "setupSelectedInstitution": "You have selected:", - "@setupSelectedInstitution": {}, - "setupLinkZotero": "Link Zotero", - "@setupLinkZotero": {}, - "setupZoteroLong": "Send publications directly to your Zotero library. They will be added to a special Wispar collection.", - "@setupZoteroLong": {}, - "setupLinkMyZotero": "Link my Zotero account", - "@setupLinkMyZotero": {}, - "setupOtherSettings": "Other Settings", - "@setupOtherSettings": {}, - "setupOtherSettingsLong": "Additional settings are available in the app's settings menu. Access it from the Home screen by tapping the ellipsis menu at the top right corner.", - "@setupOtherSettingsLong": {}, - "setupAlmostSet": "You're All Set!… Almost!", - "@setupAlmostSet": {}, - "setupAlmostSetLong": "Next, we'll take you to the search screen, where you can follow your favorite journals. Don't forget to switch the category menu from 'Articles' to 'Journals'.", - "@setupAlmostSetLong": {}, - "skip": "Skip", - "@skip": {}, - "getStarted": "Get Started", - "@getStarted": {}, - "notifications": "Notifications", - "@notifications": {}, - "notifPermsGranted": "Permission granted", - "@notifPermsGranted": {}, - "notifPermsNotGranted": "Permission not granted", - "@notifPermsNotGranted": {}, - "openAppSettings": "Open settings", - "@openAppSettings": {}, - "notificationSettingsMessage": "Notifications are permanently disabled. To enable them, go to the app's notification settings.", - "@notificationSettingsMessage": {}, - "notificationContent": "New articles are available!", - "@notificationContent": {}, - "notificationTitleJournal": "Journals were updated", - "@notificationTitleJournal": {}, - "notificationTitleQuery": "Queries were updated", - "@notificationTitleQuery": {}, - "numberPublications": "{count, plural, =0{No publications} =1{1 publication} other{{count} publications}}", - "@numberPublications": { - "placeholders": { - "count": {} - } - }, - "showPublicationCount": "Show publication count", - "@showPublicationCount":{}, - "selectFeed": "Select a feed", - "@selectFeed": {}, - "createCustomFeed": "Create a custom feed", - "@createCustomFeed": {}, - "done": "Done", - "@done": {}, - "edit": "Edit", - "@edit": {}, - "clearAll": "Clear all", - "@clearAll": {}, - "selectAll": "Select all", - "@selectAll": {}, - "select": "Select", - "@select":{}, - "customizeFeed": "Customize feed", - "@customizeFeed": {}, - "feedName": "Feed name", - "@feedName": {}, - "followedJournals": "Followed journals", - "@followedJournals": {}, - "moreJournals": "More journals", - "@moreJournals": {}, - "includeKeywords": "Include keywords", - "@includeKeywords": {}, - "excludeKeywords": "Exclude keywords", - "@excludeKeywords": {}, - "typePressSpace": "Type and press space…", - "@typePressSpace": {}, - "errorFeedNameEmpty": "Please enter a name for the feed", - "@errorFeedNameEmpty": {}, - "errorFeedNameAlreadyExists": "A feed with this name already exists", - "@errorFeedNameAlreadyExists": {}, - "errorSelectOneJournal": "Select at least one journal", - "@errorSelectOneJournal": {}, - "home": "Home", - "@home": { - "description": "The home menu button and the app bar title when in the home screen." - }, - "favorites": "Favorites", - "@favorites": { - "description": "The favorites menu button and the app bar title when in the favorites screen." - }, - "download": "Download", - "@download": { - "description": "The verb to download, without the 'to'." - }, - "delete": "Delete", - "@delete": {}, - "downloads": "Downloads", - "@downloads": { - "description": "The downloads menu button and the app bar title when in the downloads screen." - }, - "downloadSuccessful": "The article was downloaded sucessfully!", - "@downloadSuccessful": {}, - "downloadDeleted": "The article was deleted!", - "@downloadDeleted": {}, - "noDownloads": "You do not have any downloads.", - "@noDownloads": {}, - "settings": "Settings", - "@settings": { - "description": "The settings option menu button and the app bar title when in the settings screen." - }, - "journalLibraryEmpty": "You are not following any journals. Use the search menu to find and follow journals.", - "@journalLibraryEmpty": { - "description": "Message shown when the user is not following any journals." - }, - "follow": "Follow", - "@follow": { - "description": "The button text shown on journal cards when it is not followed." - }, - "unfollow": "Unfollow", - "@unfollow": { - "description": "The button text shown on journal cards when it is followed." - }, - "library": "Library", - "@library": { - "description": "The library menu button and the app bar title when in the library screen." - }, - "journals": "Journals", - "@journals": { - "description": "The journals menu button and the app bar title when in the journals screen." - }, - "queries": "Queries", - "@queries": { - "description": "Title of the saved search queries tab." - }, - "search": "Search", - "@search": { - "description": "Text shown inside the search screen app bar and for the seach button." - }, - "searchPlaceholder": "Search…", - "@searchPlaceholder": { - "description": "Place holder text in the search input widget." - }, - "filter": "Filter publication cards", - "@filter": {}, - "filterResultsEmpty": "No publication matches your filter", - "@filterResultsEmpty": {}, - "filterDownloads": "Filter downloads", - "@filterDownloads": {}, - "filterFavorites": "Filter favorites", - "@filterFavorites": {}, - "emptyDOIError": "Please enter a DOI", - "@emptyDOIError": {}, - "searchByQuery": "Search by query", - "@searchByQuery": {}, - "searchOpenAlex": "OpenAlex (recommended)", - "@searchOpenAlex": {}, - "source": "Source: {search_provider}", - "@source": {}, - "everything": "Everything", - "@everything": {}, - "titleAndAbstract": "Title and abstract", - "@titleAndAbstract": {}, - "title": "Title", - "@title": {}, - "searchIn": "Search in", - "@searchIn": {}, - "addKeyword": "Add keyword", - "@addKeyword": {}, - "enterKeyword": "Enter a keyword", - "@enterKeyword": {}, - "displayName": "Display name", - "@displayName": {}, - "citedByCount": "Cited by count", - "@citedByCount": {}, - "worksCount": "Works count", - "@worksCount": {}, - "publicationDate": "Publication date", - "@publicationDate": {}, - "queryPreview": "Query preview:", - "@queryPreview": {}, - "searchByDOI": "Search by DOI", - "@searchByDOI": {}, - "searchByTitle": "Search by title", - "@searchByTitle": {}, - "searchByISSN": "Search by ISSN", - "@searchByISSN": {}, - "queryHasNoNameError": "You must enter a query name in order to save it.", - "@queryHasNoNameError": {}, - "emptySearchQuery": "Please enter a search query", - "@emptySearchQuery": {}, - "journalSearchError": "An error occured while trying to search for journals.", - "@journalSearchError": {}, - "moreOptions": "More options", - "@moreOptions": {}, - "saveQuery": "Save this query", - "@saveQuery": {}, - "queryName": "Query name", - "@queryName": {}, - "includeInFeed": "Include in feed", - "@includeInFeed": {}, - "dateSaved": "Date saved", - "@dateSaved": {}, - "articles": "Articles", - "@articles": { - "description": "As in scientific articles." - }, - "category": "Category", - "@category": {}, - "publisher": "Publisher", - "@publisher": {}, - "publishedin": "Published in", - "@publishedin": {}, - "subjects": "Subjects", - "@subjects": {}, - "latestpublications": "Latest publications", - "@latestpublications": {}, - "authors": "Authors", - "@authors": {}, - "publishedon": "Published on {date}", - "@publishedon": { - "placeholders": { - "date": { - "type": "DateTime", - "format": "yMMMMd" - } - } - }, - "abstract": "Abstract", - "@abstract": {}, - "graphicalAbstract": "Graphical abstract", - "@graphicalAbstract":{}, - "copy": "Copy", - "@copy": {}, - "copydoi": "Copy DOI", - "@copydoi": {}, - "copyAbstract": "Copy abstract", - "@copyAbstract": {}, - "copyTitle": "Copy title", - "@copyTitle": {}, - "copyUrl": "Copy URL", - "@copyUrl": {}, - "copiedToClipboard": "Copied to clipboard!", - "@copiedToClipboard": {}, - "doicopied": "DOI copied to clipboard", - "@doicopied": { - "description": "Snackbar shown when the Copy DOI button is pressed." - }, - "issnCopied": "ISSN copied to clipboard", - "@issnCopied": {}, - "apiQueryCopied": "API request copied to clipboard", - "@apiQueryCopied": {}, - "viewarticle": "View article", - "@viewarticle": {}, - "articleViewer": "Article viewer", - "@articleViewer": {}, - "openExternalBrowser": "Open in external browser", - "@openExternalBrowser": {}, - "errorOpenExternalBrowser": "Unable to open the link in a different browser", - "@errorOpenExternalBrowser": {}, - "openExternalApp": "Open in external app", - "@openExternalApp": {}, - "errorOpenExternalPdfApp": "Unable to open the PDF file in a different app", - "@errorOpenExternalPdfApp": {}, - "favorite": "Favorite", - "@favorite": {}, - "favoriteadded": "added to favorites", - "@favoriteadded": { - "description": "Snackbar shown when an article is added to the user's favorites." - }, - "favoriteremoved": "removed from favorites", - "@favoriteremoved": { - "description": "Snackbar shown when an article is removed from the user's favorites." - }, - "abstractunavailable": "Abstract unavailable. The publisher does not provide abstracts to Crossref. The full text should still be available.", - "@abstractunavailable": { - "description": "Text shown in the place of the abstract when it is unavailable." - }, - "searchresults": "Search results", - "@searchresults": {}, - "noresultsfound": "No results found.", - "@noresultsfound": {}, - "noSavedQueries": "No saved queries.", - "@noSavedQueries": {}, - "noFavorites": "You have no articles in your favorites. Use the heart icon on publication cards you like to add them to your favorites!", - "@noFavorites": { - "description": "The message shown when the user has no articles in their favorites." - }, - "display": "Display", - "@display": {}, - "displaySettings": "Display settings", - "@displaySettings": {}, - "appearance": "Appearance", - "@appearance": {}, - "theme": "Theme", - "@theme": {}, - "light": "Light", - "@light": {}, - "dark": "Dark", - "@dark": {}, - "systemtheme": "System theme", - "@systemtheme": {}, - "system": "System", - "@system": {}, - "pdfTheme": "PDF viewer theme", - "@pdfTheme":{}, - "pdfReadingOrientation": "PDF reading orientation", - "@pdfReadingOrientation":{}, - "vertical": "Vertical", - "@vertical":{}, - "horizontal": "Horizontal", - "@horizontal":{}, - "publicationCard": "Publication card", - "@publicationCard": {}, - "publicationCardSettings": "Publication card settings", - "@publicationCardSettings":{}, - "gestures": "Gestures", - "@gestures":{}, - "infoDisplayOnCards":"Information shown on publication cards", - "@infoDisplayOnCards":{}, - "none":"None", - "@none":{}, - "addToFavorites": "Add to favorites", - "@addToFavorites":{}, - "hidePublication":"Hide publication", - "@hidePublication":{}, - "swipeLeftAction": "Left swipe action", - "@swipeLeftAction":{}, - "swipeRightAction": "Right swipe action", - "@swipeRightAction":{}, - "showAllAbstracts": "Show all abstracts", - "@showAllAbstracts": {}, - "hideMissingAbstracts": "Hide missing abstracts", - "@hideMissingAbstracts": {}, - "hideAllAbstracts": "Hide all abstracts", - "@hideAllAbstracts": {}, - "licenseInfo":"License information", - "@licenseInfo":{}, - "optionsMenu": "Options menu", - "@optionsMenu":{}, - "favoriteButton":"Favorite button", - "@favoriteButton":{}, - "unpaywallarticle": "The article was provided through Unpaywall", - "@unpaywallarticle": { - "description": "Snackbar shown when an article was fetched from Unpaywall." - }, - "unpaywallArticleAvailable": "Article available via Unpaywall", - "@unpaywallArticleAvailable":{}, - "unpaywallChoicePrompt":"This article is available via Unpaywall. How would you like to proceed?", - "@unpaywallChoicePrompt":{}, - "useUnpaywall": "Open via Unpaywall", - "@useUnpaywall":{}, - "goToWebsite": "Go to website", - "@goToWebsite":{}, - "forwardedproxy": "Forwarded through your institution proxy", - "@forwardedproxy": { - "description": "Snackbar shown when a request is intercepted and sent through the user's institution EZproxy." - }, - "proxySuccess": "The proxy is successful", - "@proxySuccess":{}, - "proxyFailure": "The proxy is not successful", - "@proxyFailure":{}, - "proxyLogin": "This is a login page", - "@proxyLogin":{}, - "editKnownUrl":"Edit known URL", - "@editKnownUrl":{}, - "addKnownUrl": "Add known URL", - "@addKnownUrl":{}, - "redirectsSuccessfully":"Redirects successfully", - "@redirectsSuccessfully":{}, - "failsToRedirect":"Fails to redirect", - "@failsToRedirect":{}, - "loginPage":"Login page", - "@loginPage":{}, - "manageUrlsAndRedirect": "Manage URLs and redirection status", - "@manageUrlsAndRedirect":{}, - "selectinstitution": "Select your institution", - "@selectinstitution": {}, - "sort": "Sort", - "@sort": {}, - "sortby": "Sort by", - "@sortby": {}, - "sortorder": "Sort order", - "@sortorder": {}, - "followingsince": "Following since {date}", - "@followingsince": { - "placeholders": { - "date": { - "type": "DateTime", - "format": "yMMMMd" - } - } - }, - "lastUpdatedMinutes": "{minutes, plural, one{Last updated 1 minute ago} other{Last updated {minutes} minutes ago}}", - "@lastUpdatedMinutes": { - "placeholders": { - "minutes": { - "type": "int" - } - } - }, - "lastUpdatedHours": "{hours, plural, one{Last updated 1 hour ago} other{Last updated {hours} hours ago}}", - "@lastUpdatedHours": { - "placeholders": { - "hours": { - "type": "int" - } - } - }, - "lastUpdatedDays": "{days, plural, one{Last updated 1 day ago} other{Last updated {days} days ago}}", - "@lastUpdatedDays": { - "placeholders": { - "days": { - "type": "int" - } - } - }, - "pendingUpdate": "Pending update", - "@pendingUpdate": {}, - "journaltitle": "Journal title", - "@journaltitle": {}, - "followingdate": "Following date", - "@followingdate": {}, - "ascending": "Ascending", - "@ascending": {}, - "descending": "Descending", - "@descending": {}, - "articletitle": "Article title", - "@articletitle": {}, - "firstauthfamname": "First author family name", - "@firstauthfamname": {}, - "datepublished": "Date published", - "@datepublished": {}, - "dateaddedtofavorites": "Date added to favorites", - "@dateaddedtofavorites": {}, - "addedtoyourfav": "Added to your favorites on {date}", - "@addedtoyourfav": { - "placeholders": { - "date": { - "type": "DateTime", - "format": "yMMMMd" - } - } - }, - "noinstitution": "No institution", - "@noinstitution": {}, - "buildingfeed": "Building your feed. Please wait…", - "@buildingfeed": {}, - "fetchingArticleFromJournal": "Fetching articles from {journalName}.", - "@fetchingArticleFromJournal": {}, - "noPublicationFound": "No publications found.", - "@noPublicationFound": {}, - "failLoadMorePublication": "Failed to load more publications.", - "@failLoadMorePublication": {}, - "homeFeedEmpty": "No publications available. Publication cards will be added once you are following at least one journal.", - "@homeFeedEmpty": { - "description": "The message shown when the feed in the home screen is empty." - }, - "sharedMessage": "Shared via the Wispar app", - "@sharedMessage": { - "description": "Default sharing text." - }, - "shareArticle": "Share article", - "@shareArticle": {}, - "hiddenArticles": "Hidden publications", - "@hiddenArticles": {}, - "noHiddenArticles": "No hidden publications", - "@noHiddenArticles": {}, - "hideArticle": "Hide this publication", - "@hideArticle": {}, - "viewHiddenArticles": "View hidden publications", - "@viewHiddenArticles": {}, - "unhideArticle": "Unhide this publication", - "@unhideArticle": {}, - "sendToZotero": "Send to Zotero", - "@sendToZotero": {}, - "zoteroSettings": "Zotero settings", - "@zoteroSettings": {}, - "zoteroPermissions1": "Wispar needs both read and write access to your Zotero account to enjoy its integration.", - "@zoteroPermissions1": {}, - "zoteroPermissions2": "When creating a new Zotero API key, you must select both \"Allow library access\" and \"Allow write access\".", - "@zoteroPermissions2": {}, - "zoteroPermissions3": "Once the API key is created, copy the value and paste it inside the text field below.", - "@zoteroPermissions3": {}, - "zoteroCreateKey": "Create a new API key", - "@zoteroCreateKey": {}, - "zoteroEnterKey": "Enter an API key", - "@zoteroEnterKey": { - "description": "Hint text shown in the text field where users can enter their Zotero API key." - }, - "zoteroValidKey": "API key saved!", - "@zoteroValidKey": { - "description": "Snackbar shown when a valid Zotero API key has been saved." - }, - "zoteroInvalidKey": "The API key is invalid!", - "@zoteroInvalidKey": { - "description": "Snackbar shown when an attempt to save an invalid Zotero API key is made." - }, - "zoteroApiKeyEmpty": "The Zotero API key has not been set yet. Please configure the API key in the app settings.", - "@zoteroApiKeyEmpty": {}, - "zoteroArticleSent": "The article was sent to Zotero.", - "@zoteroArticleSent": {}, - "zoteroSpecificCollection": "Always send to a specific collection", - "@zoteroSpecificCollection":{}, - "zoteroSelectCollection": "Select a collection", - "@zoteroSelectCollection":{}, - "noZoteroCollectionSelected": "No collection selected", - "@noZoteroCollectionSelected":{}, - "zoteroSpecificCollection2": "Always send to this collection", - "@zoteroSpecificCollection2":{}, - "zoteroNewCollection":"New collection", - "@zoteroNewCollection":{}, - "zoteroCollectionName":"Collection name", - "@zoteroCollectionName":{}, - "create":"Create", - "@create":{}, - "send": "Send", - "@send":{}, - "save": "Save", - "@save": {}, - "savedOn": "Saved on {date}", - "@savedOn": { - "placeholders": { - "date": { - "type": "DateTime", - "format": "yMMMMd" - } - } - }, - "sourceCode": "Source code", - "@sourceCode": {}, - "reportIssue": "Report an issue", - "@reportIssue": {}, - "enabled": "Enabled", - "@enabled": {}, - "disabled": "Disabled", - "@disabled": {}, - "database": "Database", - "@database": {}, - "databaseSettings": "Database settings", - "@databaseSettings": {}, - "concurrentFetches": "Concurrent API requests: {number}", - "@concurrentFetches": {}, - "scrapeAbstracts": "Scrape missing abstracts", - "@scrapeAbstracts": {}, - "cachedArticleRetentionDays": "Cached articles retention (days)", - "@cachedArticleRetentionDays": {}, - "cachedArticleRetentionDaysDesc": "Set how many days to keep cached articles. Older articles will be removed from the database along with their PDFs and graphical abstracts. Favorites, downloaded PDFs, and hidden articles will not be deleted. A value of 0 disables the cleanup function, but orphaned files will still be deleted.", - "@cachedArticleRetentionDaysDesc":{}, - "cleanupIntervalHint": "Enter number of days (1 to 365)", - "@cleanupIntervalHint": {}, - "apiFetchInterval": "API fetch interval", - "@apiFetchInterval": {}, - "apiFetchIntervalHint": "Select how often to fetch articles", - "@apiFetchIntervalHint": {}, - "cleanupIntervalInvalidNumber": "Please enter a valid number of days.", - "@cleanupIntervalInvalidNumber": {}, - "cleanupIntervalNumberNotBetween": "Please enter a value between 1 and 365.", - "@cleanupIntervalNumberNotBetween": {}, - "databaseNotFound": "The database file was not found.", - "@databaseNotFound": {}, - "storagePermissionDenied": "Permission denied.", - "@storagePermissionDenied": {}, - "databaseExported": "Database exported successfully!", - "@databaseExported": {}, - "databaseExportFailed": "Failed to export database.", - "@databaseExportFailed": {}, - "selectDBExportLocation": "Select a location where to export the database.", - "@selectDBExportLocation": {}, - "exportDatabase": "Export database", - "@exportDatabase": {}, - "exportingDatabase": "Exporting the database, please wait.", - "@exportingDatabase":{}, - "importDatabase": "Import database", - "@importDatabase": {}, - "importingDatabase": "Importing the database, please wait.", - "@importingDatabase":{}, - "databaseImportFailed": "Failed to import database.", - "@databaseImportFailed": {}, - "databaseImported": "Database imported successfully!", - "customDatabaseLocation": "Custom database location", - "@customDatabaseLocation":{}, - "selectCustomDBLocation": "Select a location where to store the database files", - "@selectCustomDBLocation":{}, - "currentDBLocation": "Current location: {path}", - "@currentDBLocation":{}, - "movingDatabase": "Moving the database files. Please wait.", - "@movingDatabase":{}, - "databaseMoved": "The database files were moved successfully!", - "@databaseMoved":{}, - "databaseMoveFailed": "Unable to move the database files: {error}", - "@databaseMoveFailed":{}, - "databaseConflictTitle": "Existing Wispar data found.", - "@databaseConflictTitle":{}, - "databaseConflictMessage": "Wispar data was found in the selected folder. Do you want to use the existing files or overwrite them with the current database?", - "@databaseConflictMessage":{}, - "useExistingFiles": "Use existing files", - "@useExistingFiles":{}, - "overwriteFiles": "Overwrite with current database", - "@overwriteFiles":{}, - "overrideUserAgent": "Override user agent", - "@overrideUserAgent":{}, - "customUserAgent": "Custom user agent", - "@customUserAgent":{}, - "@databaseImported": {}, - "language": "Language", - "@language": {}, - "saveSettings": "Save settings", - "@saveSettings": {}, - "settingsSaved": "Settings saved successfully!", - "@settingsSaved": {}, - "privacyPolicy": "Privacy policy", - "@privacyPolicy": {}, - "about": "About", - "@about": {}, - "madeBy": "Made by {app_author}", - "@madeBy": {}, - "donate": "Donate", - "@donate": {}, - "donateMessage": "Help support development of Wispar", - "@donateMessage": { - "description": "Text shown in the subtitle of the Donate button in the settings." - }, - "otherLicense": "Other license", - "@otherLicense": {}, - "unknownLicense": "Unkown license", - "@unknownLicense": {}, - "hours": "hours", - "@hours": {}, - "failedLoadMoreResults": "Failed to load more results. Please check the logs and consider reporting the issue on GitHub.", - "@failedLoadMoreResults": {}, - "errorOccured": "An error occured. Please check the logs and consider reporting the issue on GitHub.", - "@errorOccured": {}, - "logs": "Logs", - "@logs": {}, - "viewLogs": "View logs", - "@viewLogs": {}, - "deleteLogs": "Delete logs", - "@deleteLogs": {}, - "logsDeleted": "Logs deleted!", - "@logsDeleted": {}, - "logsUnavailable": "No logs available.", - "@logsUnavailable": {}, - "logCopied": "Log copied to clipboard!", - "@logCopied": {}, - "saveLogs": "Save logs", - "@saveLogs": {}, - "selectLogsLocation": "Select a location where to save the logs.", - "@selectLogsLocation": {}, - "logsExportedSuccessfully": "Successfully saved the logs!", - "@logsExportedSuccessfully": {}, - "logsExportedError": "Unable to save the logs.", - "@logsExportedError": {}, - "shareLogs": "Share logs", - "@shareLogs": {}, - "translate": "Translate", - "@translate":{}, - "noAiApiKeySetError": "No AI API key set. Please go to settings to configure one.", - "@noAiApiKeySetError":{}, - "translationFailed": "Translation failed", - "@translationFailed":{}, - "showTranslation": "Show translation", - "@showTranslation":{}, - "showOriginal": "Show original", - "@showOriginal":{}, - "swapLanguages": "Swap languages", - "@swapLanguages":{}, - "cancel":"Cancel", - "@cancel":{}, - "aiSettings": "AI settings", - "@aiSettings":{}, - "hideAiFeatures": "Hide all AI features", - "@hideAiFeatures":{}, - "aiProvider": "AI provider", - "@aiProvider":{}, - "pleaseSelectProvider": "Please select a provider", - "@pleaseSelectProvider":{}, - "apiKeyLabel": "{providerName} API Key", - "@apiKeyLabel": {}, - "pleaseEnterAiAPIKey": "Please enter an API key for {providerName}", - "@pleaseEnterAiAPIKey":{}, - "overrideBaseUrl": "Override base URL", - "@overrideBaseUrl":{}, - "customBaseUrl": "Custom base URL", - "@customBaseUrl":{}, - "pleaseEnterBaseUrl": "Please enter a base URL", - "@pleaseEnterBaseUrl":{}, - "invalidUrl": "Invalid URL", - "@invalidUrl":{}, - "modelNameLabel": "Enter {provider} model name", - "@modelNameLabel":{}, + "welcomeWispar": "Welcome to Wispar!", + "appDescription": "Your open-source app to stay up-to-date with scientific literature. Let's get you set up quickly!", + "institutionalAccess": "Institutional access", + "setupInstitutionalAccess": "Setup Institutional Access", + "setupInstitutionalAccessLong": "Select your institution's EZproxy to gain access to their journal subscriptions. This will eliminate the need for a VPN or on-premises access.", + "setupSelectInstitution": "Select my institution", + "setupSelectedInstitution": "You have selected:", + "setupLinkZotero": "Link Zotero", + "setupZoteroLong": "Send publications directly to your Zotero library. They will be added to a special Wispar collection.", + "setupLinkMyZotero": "Link my Zotero account", + "setupOtherSettings": "Other Settings", + "setupOtherSettingsLong": "Additional settings are available in the app's settings menu. Access it from the Home screen by tapping the ellipsis menu at the top right corner.", + "setupAlmostSet": "You're All Set!… Almost!", + "setupAlmostSetLong": "Next, we'll take you to the search screen, where you can follow your favorite journals. Don't forget to switch the category menu from 'Articles' to 'Journals'.", + "skip": "Skip", + "getStarted": "Get Started", + "notifications": "Notifications", + "notifPermsGranted": "Permission granted", + "notifPermsNotGranted": "Permission not granted", + "openAppSettings": "Open settings", + "notificationSettingsMessage": "Notifications are permanently disabled. To enable them, go to the app's notification settings.", + "notificationContent": "New articles are available!", + "notificationTitleJournal": "Journals were updated", + "notificationTitleQuery": "Queries were updated", + "numberPublications": "{count, plural, =0{No publications} =1{1 publication} other{{count} publications}}", + "@numberPublications": { + "placeholders": { + "count": {} + } + }, + "showPublicationCount": "Show publication count", + "selectFeed": "Select a feed", + "createCustomFeed": "Create a custom feed", + "done": "Done", + "edit": "Edit", + "clearAll": "Clear all", + "selectAll": "Select all", + "select": "Select", + "customizeFeed": "Customize feed", + "feedName": "Feed name", + "followedJournals": "Followed journals", + "moreJournals": "More journals", + "includeKeywords": "Include keywords", + "excludeKeywords": "Exclude keywords", + "typePressSpace": "Type and press space…", + "errorFeedNameEmpty": "Please enter a name for the feed", + "errorFeedNameAlreadyExists": "A feed with this name already exists", + "errorSelectOneJournal": "Select at least one journal", + "home": "Home", + "@home": { + "description": "The home menu button and the app bar title when in the home screen." + }, + "favorites": "Favorites", + "@favorites": { + "description": "The favorites menu button and the app bar title when in the favorites screen." + }, + "download": "Download", + "@download": { + "description": "The verb to download, without the 'to'." + }, + "delete": "Delete", + "downloads": "Downloads", + "@downloads": { + "description": "The downloads menu button and the app bar title when in the downloads screen." + }, + "downloadSuccessful": "The article was downloaded sucessfully!", + "downloadDeleted": "The article was deleted!", + "noDownloads": "You do not have any downloads.", + "settings": "Settings", + "@settings": { + "description": "The settings option menu button and the app bar title when in the settings screen." + }, + "journalLibraryEmpty": "You are not following any journals. Use the search menu to find and follow journals.", + "@journalLibraryEmpty": { + "description": "Message shown when the user is not following any journals." + }, + "follow": "Follow", + "@follow": { + "description": "The button text shown on journal cards when it is not followed." + }, + "unfollow": "Unfollow", + "@unfollow": { + "description": "The button text shown on journal cards when it is followed." + }, + "library": "Library", + "@library": { + "description": "The library menu button and the app bar title when in the library screen." + }, + "journals": "Journals", + "@journals": { + "description": "The journals menu button and the app bar title when in the journals screen." + }, + "queries": "Queries", + "@queries": { + "description": "Title of the saved search queries tab." + }, + "search": "Search", + "@search": { + "description": "Text shown inside the search screen app bar and for the seach button." + }, + "searchPlaceholder": "Search…", + "@searchPlaceholder": { + "description": "Place holder text in the search input widget." + }, + "filter": "Filter publication cards", + "filterResultsEmpty": "No publication matches your filter", + "filterDownloads": "Filter downloads", + "filterFavorites": "Filter favorites", + "emptyDOIError": "Please enter a DOI", + "searchByQuery": "Search by query", + "searchOpenAlex": "OpenAlex (recommended)", + "source": "Source: {search_provider}", + "everything": "Everything", + "titleAndAbstract": "Title and abstract", + "title": "Title", + "searchIn": "Search in", + "addKeyword": "Add keyword", + "enterKeyword": "Enter a keyword", + "displayName": "Display name", + "citedByCount": "Cited by count", + "worksCount": "Works count", + "publicationDate": "Publication date", + "queryPreview": "Query preview:", + "searchByDOI": "Search by DOI", + "searchByTitle": "Search by title", + "searchByISSN": "Search by ISSN", + "queryHasNoNameError": "You must enter a query name in order to save it.", + "emptySearchQuery": "Please enter a search query", + "journalSearchError": "An error occured while trying to search for journals.", + "moreOptions": "More options", + "saveQuery": "Save this query", + "queryName": "Query name", + "includeInFeed": "Include in feed", + "dateSaved": "Date saved", + "articles": "Articles", + "@articles": { + "description": "As in scientific articles." + }, + "category": "Category", + "publisher": "Publisher", + "publishedin": "Published in", + "subjects": "Subjects", + "latestpublications": "Latest publications", + "authors": "Authors", + "publishedon": "Published on {date}", + "@publishedon": { + "placeholders": { + "date": { + "type": "DateTime", + "format": "yMMMMd" + } + } + }, + "abstract": "Abstract", + "graphicalAbstract": "Graphical abstract", + "copy": "Copy", + "copydoi": "Copy DOI", + "copyAbstract": "Copy abstract", + "copyTitle": "Copy title", + "copyUrl": "Copy URL", + "copiedToClipboard": "Copied to clipboard!", + "doicopied": "DOI copied to clipboard", + "@doicopied": { + "description": "Snackbar shown when the Copy DOI button is pressed." + }, + "issnCopied": "ISSN copied to clipboard", + "apiQueryCopied": "API request copied to clipboard", + "viewarticle": "View article", + "articleViewer": "Article viewer", + "openExternalBrowser": "Open in external browser", + "errorOpenExternalBrowser": "Unable to open the link in a different browser", + "openExternalApp": "Open in external app", + "errorOpenExternalPdfApp": "Unable to open the PDF file in a different app", + "favorite": "Favorite", + "favoriteadded": "added to favorites", + "@favoriteadded": { + "description": "Snackbar shown when an article is added to the user's favorites." + }, + "favoriteremoved": "removed from favorites", + "@favoriteremoved": { + "description": "Snackbar shown when an article is removed from the user's favorites." + }, + "abstractunavailable": "Abstract unavailable. The publisher does not provide abstracts to Crossref. The full text should still be available.", + "@abstractunavailable": { + "description": "Text shown in the place of the abstract when it is unavailable." + }, + "searchresults": "Search results", + "noresultsfound": "No results found.", + "noSavedQueries": "No saved queries.", + "noFavorites": "You have no articles in your favorites. Use the heart icon on publication cards you like to add them to your favorites!", + "@noFavorites": { + "description": "The message shown when the user has no articles in their favorites." + }, + "display": "Display", + "displaySettings": "Display settings", + "appearance": "Appearance", + "theme": "Theme", + "light": "Light", + "dark": "Dark", + "systemtheme": "System theme", + "system": "System", + "pdfTheme": "PDF viewer theme", + "pdfReadingOrientation": "PDF reading orientation", + "vertical": "Vertical", + "horizontal": "Horizontal", + "publicationCard": "Publication card", + "publicationCardSettings": "Publication card settings", + "gestures": "Gestures", + "infoDisplayOnCards": "Information shown on publication cards", + "none": "None", + "addToFavorites": "Add to favorites", + "hidePublication": "Hide publication", + "swipeLeftAction": "Left swipe action", + "swipeRightAction": "Right swipe action", + "showAllAbstracts": "Show all abstracts", + "hideMissingAbstracts": "Hide missing abstracts", + "hideAllAbstracts": "Hide all abstracts", + "licenseInfo": "License information", + "optionsMenu": "Options menu", + "favoriteButton": "Favorite button", + "unpaywallarticle": "The article was provided through Unpaywall", + "@unpaywallarticle": { + "description": "Snackbar shown when an article was fetched from Unpaywall." + }, + "unpaywallArticleAvailable": "Article available via Unpaywall", + "unpaywallChoicePrompt": "This article is available via Unpaywall. How would you like to proceed?", + "useUnpaywall": "Open via Unpaywall", + "goToWebsite": "Go to website", + "forwardedproxy": "Forwarded through your institution proxy", + "@forwardedproxy": { + "description": "Snackbar shown when a request is intercepted and sent through the user's institution EZproxy." + }, + "proxySuccess": "The proxy is successful", + "proxyFailure": "The proxy is not successful", + "proxyLogin": "This is a login page", + "editKnownUrl": "Edit known URL", + "addKnownUrl": "Add known URL", + "redirectsSuccessfully": "Redirects successfully", + "failsToRedirect": "Fails to redirect", + "loginPage": "Login page", + "manageUrlsAndRedirect": "Manage URLs and redirection status", + "selectinstitution": "Select your institution", + "sort": "Sort", + "sortby": "Sort by", + "sortorder": "Sort order", + "followingsince": "Following since {date}", + "@followingsince": { + "placeholders": { + "date": { + "type": "DateTime", + "format": "yMMMMd" + } + } + }, + "lastUpdatedMinutes": "{minutes, plural, one{Last updated 1 minute ago} other{Last updated {minutes} minutes ago}}", + "@lastUpdatedMinutes": { + "placeholders": { + "minutes": { + "type": "int" + } + } + }, + "lastUpdatedHours": "{hours, plural, one{Last updated 1 hour ago} other{Last updated {hours} hours ago}}", + "@lastUpdatedHours": { + "placeholders": { + "hours": { + "type": "int" + } + } + }, + "lastUpdatedDays": "{days, plural, one{Last updated 1 day ago} other{Last updated {days} days ago}}", + "@lastUpdatedDays": { + "placeholders": { + "days": { + "type": "int" + } + } + }, + "pendingUpdate": "Pending update", + "journaltitle": "Journal title", + "followingdate": "Following date", + "ascending": "Ascending", + "descending": "Descending", + "articletitle": "Article title", + "firstauthfamname": "First author family name", + "datepublished": "Date published", + "dateaddedtofavorites": "Date added to favorites", + "addedtoyourfav": "Added to your favorites on {date}", + "@addedtoyourfav": { + "placeholders": { + "date": { + "type": "DateTime", + "format": "yMMMMd" + } + } + }, + "noinstitution": "No institution", + "buildingfeed": "Building your feed. Please wait…", + "fetchingArticleFromJournal": "Fetching articles from {journalName}.", + "noPublicationFound": "No publications found.", + "failLoadMorePublication": "Failed to load more publications.", + "homeFeedEmpty": "No publications available. Publication cards will be added once you are following at least one journal.", + "@homeFeedEmpty": { + "description": "The message shown when the feed in the home screen is empty." + }, + "sharedMessage": "Shared via the Wispar app", + "@sharedMessage": { + "description": "Default sharing text." + }, + "shareArticle": "Share article", + "hiddenArticles": "Hidden publications", + "noHiddenArticles": "No hidden publications", + "hideArticle": "Hide this publication", + "viewHiddenArticles": "View hidden publications", + "unhideArticle": "Unhide this publication", + "sendToZotero": "Send to Zotero", + "zoteroSettings": "Zotero settings", + "zoteroPermissions1": "Wispar needs both read and write access to your Zotero account to enjoy its integration.", + "zoteroPermissions2": "When creating a new Zotero API key, you must select both \"Allow library access\" and \"Allow write access\".", + "zoteroPermissions3": "Once the API key is created, copy the value and paste it inside the text field below.", + "zoteroCreateKey": "Create a new API key", + "zoteroEnterKey": "Enter an API key", + "@zoteroEnterKey": { + "description": "Hint text shown in the text field where users can enter their Zotero API key." + }, + "zoteroValidKey": "API key saved!", + "@zoteroValidKey": { + "description": "Snackbar shown when a valid Zotero API key has been saved." + }, + "zoteroInvalidKey": "The API key is invalid!", + "@zoteroInvalidKey": { + "description": "Snackbar shown when an attempt to save an invalid Zotero API key is made." + }, + "zoteroApiKeyEmpty": "The Zotero API key has not been set yet. Please configure the API key in the app settings.", + "zoteroArticleSent": "The article was sent to Zotero.", + "zoteroSpecificCollection": "Always send to a specific collection", + "zoteroSelectCollection": "Select a collection", + "noZoteroCollectionSelected": "No collection selected", + "zoteroSpecificCollection2": "Always send to this collection", + "zoteroNewCollection": "New collection", + "zoteroCollectionName": "Collection name", + "create": "Create", + "send": "Send", + "save": "Save", + "savedOn": "Saved on {date}", + "@savedOn": { + "placeholders": { + "date": { + "type": "DateTime", + "format": "yMMMMd" + } + } + }, + "sourceCode": "Source code", + "reportIssue": "Report an issue", + "enabled": "Enabled", + "disabled": "Disabled", + "database": "Database", + "databaseSettings": "Database settings", + "concurrentFetches": "Concurrent API requests: {number}", + "scrapeAbstracts": "Scrape missing abstracts", + "cachedArticleRetentionDays": "Cached articles retention (days)", + "cachedArticleRetentionDaysDesc": "Set how many days to keep cached articles. Older articles will be removed from the database along with their PDFs and graphical abstracts. Favorites, downloaded PDFs, and hidden articles will not be deleted. A value of 0 disables the cleanup function, but orphaned files will still be deleted.", + "cleanupIntervalHint": "Enter number of days (1 to 365)", + "apiFetchInterval": "API fetch interval", + "apiFetchIntervalHint": "Select how often to fetch articles", + "cleanupIntervalInvalidNumber": "Please enter a valid number of days.", + "cleanupIntervalNumberNotBetween": "Please enter a value between 1 and 365.", + "databaseNotFound": "The database file was not found.", + "storagePermissionDenied": "Permission denied.", + "databaseExported": "Database exported successfully!", + "databaseExportFailed": "Failed to export database.", + "selectDBExportLocation": "Select a location where to export the database.", + "exportDatabase": "Export database", + "exportingDatabase": "Exporting the database, please wait.", + "importDatabase": "Import database", + "importingDatabase": "Importing the database, please wait.", + "databaseImportFailed": "Failed to import database.", + "databaseImported": "Database imported successfully!", + "customDatabaseLocation": "Custom database location", + "selectCustomDBLocation": "Select a location where to store the database files", + "currentDBLocation": "Current location: {path}", + "movingDatabase": "Moving the database files. Please wait.", + "databaseMoved": "The database files were moved successfully!", + "databaseMoveFailed": "Unable to move the database files: {error}", + "databaseConflictTitle": "Existing Wispar data found.", + "databaseConflictMessage": "Wispar data was found in the selected folder. Do you want to use the existing files or overwrite them with the current database?", + "useExistingFiles": "Use existing files", + "overwriteFiles": "Overwrite with current database", + "overrideUserAgent": "Override user agent", + "customUserAgent": "Custom user agent", + "language": "Language", + "saveSettings": "Save settings", + "settingsSaved": "Settings saved successfully!", + "privacyPolicy": "Privacy policy", + "about": "About", + "madeBy": "Made by {app_author}", + "donate": "Donate", + "donateMessage": "Help support development of Wispar", + "@donateMessage": { + "description": "Text shown in the subtitle of the Donate button in the settings." + }, + "otherLicense": "Other license", + "unknownLicense": "Unkown license", + "hours": "hours", + "failedLoadMoreResults": "Failed to load more results. Please check the logs and consider reporting the issue on GitHub.", + "errorOccured": "An error occured. Please check the logs and consider reporting the issue on GitHub.", + "logs": "Logs", + "viewLogs": "View logs", + "deleteLogs": "Delete logs", + "logsDeleted": "Logs deleted!", + "logsUnavailable": "No logs available.", + "logCopied": "Log copied to clipboard!", + "saveLogs": "Save logs", + "selectLogsLocation": "Select a location where to save the logs.", + "logsExportedSuccessfully": "Successfully saved the logs!", + "logsExportedError": "Unable to save the logs.", + "shareLogs": "Share logs", + "translate": "Translate", + "noAiApiKeySetError": "No AI API key set. Please go to settings to configure one.", + "translationFailed": "Translation failed", + "showTranslation": "Show translation", + "showOriginal": "Show original", + "swapLanguages": "Swap languages", + "cancel": "Cancel", + "aiSettings": "AI settings", + "hideAiFeatures": "Hide all AI features", + "aiProvider": "AI provider", + "pleaseSelectProvider": "Please select a provider", + "apiKeyLabel": "{providerName} API Key", + "pleaseEnterAiAPIKey": "Please enter an API key for {providerName}", + "overrideBaseUrl": "Override base URL", + "customBaseUrl": "Custom base URL", + "pleaseEnterBaseUrl": "Please enter a base URL", + "invalidUrl": "Invalid URL", + "modelNameLabel": "Enter {provider} model name", "pleaseEnterModelName": "Please enter the {provider} model name.", - "@pleaseEnterModelName": {}, - "aiTemperature": "Temperature", - "@aiTemperature":{}, - "aiCustomPrompts": "Custom translation prompts", - "@aiCustomPrompts":{}, - "aiCustomPromptsDescription": "Use $src and $dst for the source and target languages and $text for the text to translate. For example: Translate the following text from $src to $dst: $text", - "@aiCustomPromptsDescription":{}, - "prompt":"Prompt", - "@prompt":{}, - "missingPlaceholders": "Missing placeholder(s): {placeholders}", - "@missingPlaceholders": {}, - "pdfNotReadyForChat": "PDF not ready for chat. Please wait or try again.", - "@pdfNotReadyForChat":{}, - "chatWithPdf": "Chat with PDF", - "@chatWithPdf":{}, - "typeYourMessage": "Type your message...", - "@typeYourMessage":{}, - "askAboutPdf": "Hello! I'm ready to chat about this PDF. What would you like to know or summarize? Keep in mind that chatting with a PDF consumes a lot of tokens!", - "@askAboutPdf":{}, - "pdfNotFound": "PDF file could not be found.", - "@pdfNotFound":{}, - "apiTokenMissing": "API key for {aiModel} is missing in settings. Please configure it.", - "@apiTokenMissing": { - "placeholders": { - "aiModel": { - "type": "String" - } - } - }, - "noResponseFromAI": "No response received from AI.", - "@noResponseFromAI":{}, - "errorConnectingToAI": "Error connecting to AI ({statusCode}). Please check your internet or API settings.", - "@errorConnectingToAI": { - "placeholders": { - "statusCode": { - "type": "int" - } - } - }, - "networkError": "Network error or problem communicating with AI service.", - "@networkError":{}, - "pdfDownloadOptionsTitle": "PDF download options", - "@pdfDownloadOptionsTitle": {}, - "openInExternalPdfViewer": "Open in external PDF viewer", - "@openInExternalPdfViewer": {}, - "openInExternalPdfViewerSubtitle": "Open the PDF in your device's default browser or PDF app.", - "@openInExternalPdfViewerSubtitle": {}, - "downloadingFile": "Downloading file…", - "@downloadingFile": {}, - "downloadFailedInAppViewer": "Failed to open in-app. You may try the website's PDF download button or choose the external PDF viewer option.", - "@downloadFailedInAppViewer": {}, - "errorOpeningFile": "Could not open file.", - "@errorOpeningFile": {}, - "downloadStarting": "Download starting.", - "@downloadStarting": {}, - "downloadFoundPdf": "Download found pdf", - "@downloadFoundPdf": {}, - "downloadToApp": "Download in app", - "@downloadToApp": {}, - "downloadToAppSubtitle": "Attempt to download and view PDF directly in Wispar for better integration.", - "@downloadToAppSubtitle": {} + "aiTemperature": "Temperature", + "aiCustomPrompts": "Custom translation prompts", + "aiCustomPromptsDescription": "Use $src and $dst for the source and target languages and $text for the text to translate. For example: Translate the following text from $src to $dst: $text", + "prompt": "Prompt", + "missingPlaceholders": "Missing placeholder(s): {placeholders}", + "pdfNotReadyForChat": "PDF not ready for chat. Please wait or try again.", + "chatWithPdf": "Chat with PDF", + "typeYourMessage": "Type your message…", + "askAboutPdf": "Hello! I'm ready to chat about this PDF. What would you like to know or summarize? Keep in mind that chatting with a PDF consumes a lot of tokens!", + "pdfNotFound": "PDF file could not be found.", + "apiTokenMissing": "API key for {aiModel} is missing in settings. Please configure it.", + "@apiTokenMissing": { + "placeholders": { + "aiModel": { + "type": "String" + } + } + }, + "noResponseFromAI": "No response received from AI.", + "errorConnectingToAI": "Error connecting to AI ({statusCode}). Please check your internet or API settings.", + "@errorConnectingToAI": { + "placeholders": { + "statusCode": { + "type": "int" + } + } + }, + "networkError": "Network error or problem communicating with AI service.", + "pdfDownloadOptionsTitle": "PDF download options", + "openInExternalPdfViewer": "Open in external PDF viewer", + "openInExternalPdfViewerSubtitle": "Open the PDF in your device's default browser or PDF app.", + "downloadingFile": "Downloading file…", + "downloadFailedInAppViewer": "Failed to open in-app. You may try the website's PDF download button or choose the external PDF viewer option.", + "errorOpeningFile": "Could not open file.", + "downloadStarting": "Download starting.", + "downloadFoundPdf": "Download found PDF", + "downloadToApp": "Download in app", + "downloadToAppSubtitle": "Attempt to download and view PDF directly in Wispar for better integration." } diff --git a/lib/l10n/app_es.arb b/lib/l10n/app_es.arb index 431442d..eb1149e 100644 --- a/lib/l10n/app_es.arb +++ b/lib/l10n/app_es.arb @@ -64,13 +64,9 @@ "description": "Default sharing text." }, "shareArticle": "Compartir artículo", - "@shareArticle": {}, "sendToZotero": "Enviar a Zotero", - "@sendToZotero": {}, "zoteroPermissions2": "Al crear una clave de API de Zotero, debe seleccionar tanto «Permitir acceso a la biblioteca» como «Permitir acceso de escritura».", - "@zoteroPermissions2": {}, "zoteroCreateKey": "Crear una nueva clave API", - "@zoteroCreateKey": {}, "zoteroValidKey": "¡Clave API guardada!", "@zoteroValidKey": { "description": "Snackbar shown when a valid Zotero API key has been saved." @@ -80,19 +76,12 @@ "description": "Snackbar shown when an attempt to save an invalid Zotero API key is made." }, "save": "Guardar", - "@save": {}, "sourceCode": "Código fuente", - "@sourceCode": {}, "enabled": "Activado", - "@enabled": {}, "disabled": "Desactivado", - "@disabled": {}, "database": "Base de datos", - "@database": {}, "privacyPolicy": "Normativa de privacidad", - "@privacyPolicy": {}, "donate": "Donar", - "@donate": {}, "donateMessage": "Ayude a desarrollar Wispar", "@donateMessage": { "description": "Text shown in the subtitle of the Donate button in the settings." @@ -110,179 +99,110 @@ "description": "The downloads menu button and the app bar title when in the downloads screen." }, "publisher": "Editorial", - "@publisher": {}, "publishedin": "Publicado en", - "@publishedin": {}, "subjects": "Temas", - "@subjects": {}, "latestpublications": "Publicaciones más recientes", - "@latestpublications": {}, "authors": "Autores", - "@authors": {}, "publishedon": "Publicado el {date}", - "@publishedon": {}, "abstract": "Resumen", - "@abstract": {}, "copydoi": "Copiar DOI", - "@copydoi": {}, "doicopied": "DOI copiado en el portapapeles", "@doicopied": { "description": "Snackbar shown when the Copy DOI button is pressed." }, "viewarticle": "Ver artículo", - "@viewarticle": {}, "favorite": "Favorito", - "@favorite": {}, "searchresults": "Resultados de la búsqueda", - "@searchresults": {}, "appearance": "Aspecto", - "@appearance": {}, "light": "Claro", - "@light": {}, "dark": "Oscuro", - "@dark": {}, "systemtheme": "Tema del sistema", - "@systemtheme": {}, "selectinstitution": "Elija su institución", - "@selectinstitution": {}, "sortby": "Ordenar por", - "@sortby": {}, "sortorder": "Criterio de orden", - "@sortorder": {}, "followingsince": "Siguiendo desde {date}", - "@followingsince": {}, "journaltitle": "Título de la revista", - "@journaltitle": {}, "followingdate": "Fecha siguiente", - "@followingdate": {}, "ascending": "Ascendente", - "@ascending": {}, "descending": "Descendente", - "@descending": {}, "articletitle": "Título del artículo", - "@articletitle": {}, "firstauthfamname": "Apellido del primer autor", - "@firstauthfamname": {}, "datepublished": "Fecha de publicación", - "@datepublished": {}, "dateaddedtofavorites": "Fecha añadida a favoritos", - "@dateaddedtofavorites": {}, "addedtoyourfav": "Añadido a sus favoritos el {date}", - "@addedtoyourfav": {}, "buildingfeed": "Construyendo su suministro. Espere…", - "@buildingfeed": {}, "otherLicense": "Otra licencia", - "@otherLicense": {}, "unknownLicense": "Licencia desconocida", - "@unknownLicense": {}, "abstractunavailable": "Resumen no disponible. El editor no proporciona resúmenes a Crossref. El texto completo debería estar disponible.", "@abstractunavailable": { "description": "Text shown in the place of the abstract when it is unavailable." }, "noinstitution": "Ninguna institución", - "@noinstitution": {}, "nopublication3": "icono para buscar revistas.", "@nopublication3": { "description": "The message shown when the feed in the home screen is empty. The text had to be split since it contains icons. The full text is: No publications available. Make sure you are following journals by going in the menu and use the icon to find journals." }, "zoteroSettings": "Configuración de Zotero", - "@zoteroSettings": {}, "zoteroPermissions1": "Wispar necesita accesos de lectura y escritura a su cuenta de Zotero para aprovechar su integración.", - "@zoteroPermissions1": {}, "zoteroPermissions3": "Una vez creada la clave API, copie el valor y péguelo en el campo de texto de abajo.", - "@zoteroPermissions3": {}, "zoteroEnterKey": "Introduzca una clave API", "@zoteroEnterKey": { "description": "Hint text shown in the text field where users can enter their Zotero API key." }, "reportIssue": "Notificar un problema", - "@reportIssue": {}, "about": "Acerca de", - "@about": {}, "download": "Descargar", "@download": { "description": "The verb to download, without the 'to'." }, "delete": "Eliminar", - "@delete": {}, "setupInstitutionalAccess": "Configure el acceso institucional", - "@setupInstitutionalAccess": {}, "setupSelectInstitution": "Seleccione su institución", - "@setupSelectInstitution": {}, "setupSelectedInstitution": "Ha seleccionado:", - "@setupSelectedInstitution": {}, "setupLinkZotero": "Vincule su cuenta de Zotero", - "@setupLinkZotero": {}, "setupZoteroLong": "Envíe publicaciones directamente a su biblioteca de Zotero. Se añadirán a una colección especial de Wispar.", - "@setupZoteroLong": {}, "setupLinkMyZotero": "Vincular mi cuenta de Zotero", - "@setupLinkMyZotero": {}, "setupOtherSettings": "Otras opciones", - "@setupOtherSettings": {}, "setupOtherSettingsLong": "Puede encontrar ajustes adicionales en el menú de configuración de la aplicación. Acceda desde la pantalla de Inicio, pulsando los tres puntos en la esquina superior derecha.", - "@setupOtherSettingsLong": {}, "skip": "Omitir", - "@skip": {}, "downloadDeleted": "¡El artículo ha sido eliminado!", - "@downloadDeleted": {}, "downloadSuccessful": "¡El artículo fue descargado exitosamente!", - "@downloadSuccessful": {}, "emptyDOIError": "Escriba un DOI", - "@emptyDOIError": {}, "articles": "Artículos", "@articles": { "description": "As in scientific articles." }, "journalSearchError": "Se ha producido un error al intentar buscar revistas.", - "@journalSearchError": {}, "category": "Categoría", - "@category": {}, "moreOptions": "Más opciones", - "@moreOptions": {}, "saveQuery": "Guardar esta consulta", - "@saveQuery": {}, "noresultsfound": "No se encontraron resultados.", - "@noresultsfound": {}, "theme": "Tema", - "@theme": {}, "library": "Biblioteca", "@library": { "description": "The library menu button and the app bar title when in the library screen." }, "filterResultsEmpty": "Ninguna publicación coincide con el filtro aplicado", - "@filterResultsEmpty": {}, "filterDownloads": "Filtrar descargas", - "@filterDownloads": {}, "filterFavorites": "Filtrar favoritos", - "@filterFavorites": {}, "openExternalPdfApp": "Abrir en un lector de PDF externo", - "@openExternalPdfApp": {}, "errorOpenExternalPdfApp": "No se pudo abrir el archivo en otra aplicación", - "@errorOpenExternalPdfApp": {}, "searchPlaceholder": "Buscar…", "@searchPlaceholder": { "description": "Place holder text in the search input widget." }, "appDescription": "Tu aplicación de código abierto para mantenerte al día sobre literatura científica. ¡Preparemos todo!", - "@appDescription": {}, "welcomeWispar": "¡Bienvenido/a a Wispar!", - "@welcomeWispar": {}, "queries": "Búsquedas", "@queries": { "description": "Title of the saved search queries tab." }, "searchByTitle": "Buscar por título", - "@searchByTitle": {}, "searchByISSN": "Buscar por ISSN", - "@searchByISSN": {}, "issnCopied": "ISSN copiado en el portapapeles", - "@issnCopied": {}, "apiQueryCopied": "Solicitud de API copiada en el portapapeles", - "@apiQueryCopied": {}, "openExternalBrowser": "Abrir en navegador externo", - "@openExternalBrowser": {}, "noDownloads": "No hay descargas.", - "@noDownloads": {}, "savedOn": "Guardado el {date}", "@savedOn": { "placeholders": { @@ -293,39 +213,22 @@ } }, "hideMissingAbstracts": "Ocultar resúmenes faltantes", - "@hideMissingAbstracts": {}, "hideAllAbstracts": "Ocultar todos los resúmenes", - "@hideAllAbstracts": {}, "noPublicationFound": "No se encontró ninguna publicación.", - "@noPublicationFound": {}, "databaseSettings": "Configuración de base de datos", - "@databaseSettings": {}, "hours": "horas", - "@hours": {}, "cleanupIntervalNumberNotBetween": "Introduzca un valor entre 1 y 365.", - "@cleanupIntervalNumberNotBetween": {}, "notifications": "Notificaciones", - "@notifications": {}, "notifPermsGranted": "Se concedió el permiso", - "@notifPermsGranted": {}, "notifPermsNotGranted": "No se concedió el permiso", - "@notifPermsNotGranted": {}, "openAppSettings": "Abrir configuración", - "@openAppSettings": {}, "notificationSettingsMessage": "Las notificaciones se desactivaron permanentemente. Para activarlas, vaya a la configuración de notificaciones de la aplicación.", - "@notificationSettingsMessage": {}, "language": "Idioma", - "@language": {}, "hideArticle": "Ocultar esta publicación", - "@hideArticle": {}, "hiddenArticles": "Publicaciones ocultas", - "@hiddenArticles": {}, "noHiddenArticles": "Ninguna publicación oculta", - "@noHiddenArticles": {}, "viewHiddenArticles": "Ver publicaciones ocultas", - "@viewHiddenArticles": {}, "concurrentFetches": "Solicitudes simultáneas a la API: {number}", - "@concurrentFetches": {}, "lastUpdatedDays": "{days, plural, one{Se actualizó por última vez ayer} other{Se actualizó por última vez hace {days} días}}", "@lastUpdatedDays": { "placeholders": { @@ -335,77 +238,45 @@ } }, "fgNotificationTitle": "Servicio de actualizaciones en segundo plano", - "@fgNotificationTitle": {}, "notificationContent": "¡Hay artículos nuevos disponibles!", - "@notificationContent": {}, "title": "Título", - "@title": {}, "searchIn": "Buscar en", - "@searchIn": {}, "addKeyword": "Añadir palabra clave", - "@addKeyword": {}, "source": "Fuente: {search_provider}", - "@source": {}, "everything": "Todo", - "@everything": {}, "titleAndAbstract": "Título y resumen", - "@titleAndAbstract": {}, "enterKeyword": "Introduzca una palabra clave", - "@enterKeyword": {}, "showAllAbstracts": "Mostrar todos los resúmenes", - "@showAllAbstracts": {}, "databaseNotFound": "No se encontró el archivo de base de datos.", - "@databaseNotFound": {}, "cleanupIntervalInvalidNumber": "Introduzca un número válido de días.", - "@cleanupIntervalInvalidNumber": {}, "scrapeAbstracts": "Extraer resúmenes faltantes", - "@scrapeAbstracts": {}, "getStarted": "Primeros pasos", - "@getStarted": {}, "databaseExportFailed": "No se pudo exportar la base de datos.", - "@databaseExportFailed": {}, "selectDBExportLocation": "Seleccione una ubicación en la que exportar la base de datos.", - "@selectDBExportLocation": {}, "journalLibraryEmpty": "No sigue a ninguna revista. Use el menú de búsqueda para encontrar revistas y seguirlas.", "@journalLibraryEmpty": { "description": "Message shown when the user is not following any journals." }, "queryName": "Nombre de la consulta", - "@queryName": {}, "dateSaved": "Fecha de guardado", - "@dateSaved": {}, "failLoadMorePublication": "No se pudieron cargar más publicaciones.", - "@failLoadMorePublication": {}, "noSavedQueries": "No se guardó ninguna consulta.", - "@noSavedQueries": {}, "notificationTitleJournal": "Se actualizaron las revistas", - "@notificationTitleJournal": {}, "fgNotificationContent": "Wispar funciona en segundo plano para actualizar sus revistas", - "@fgNotificationContent": {}, "publicationCard": "Tarjeta de publicación", - "@publicationCard": {}, "homeFeedEmpty": "No hay publicaciones disponibles. Se añadirán tarjetas de publicación cuando siga al menos una revista.", "@homeFeedEmpty": { "description": "The message shown when the feed in the home screen is empty." }, "cleanupIntervalHint": "Introduzca un número de días (entre 1 y 365)", - "@cleanupIntervalHint": {}, "apiFetchIntervalHint": "Seleccione cuán seguido deben recuperarse los artículos", - "@apiFetchIntervalHint": {}, "saveSettings": "Guardar configuración", - "@saveSettings": {}, "settingsSaved": "¡La configuración se guardó correctamente!", - "@settingsSaved": {}, "filter": "Filtrar tarjetas de publicación", - "@filter": {}, "notificationTitleQuery": "Se actualizaron las consultas", - "@notificationTitleQuery": {}, "articleViewer": "Visor de artículos", - "@articleViewer": {}, "system": "Del sistema", - "@system": {}, "pendingUpdate": "Pendiente de actualizarse", - "@pendingUpdate": {}, "lastUpdatedMinutes": "{minutes, plural, one{Se actualizó por última vez hace 1 minuto} other{Se actualizó por última vez hace {minutes} minutos}}", "@lastUpdatedMinutes": { "placeholders": { @@ -423,243 +294,126 @@ } }, "searchOpenAlex": "OpenAlex (recomendado)", - "@searchOpenAlex": {}, "publicationDate": "Fecha de publicación", - "@publicationDate": {}, "queryPreview": "Previsualización de la consulta:", - "@queryPreview": {}, "citedByCount": "Recuento de citaciones", - "@citedByCount": {}, "worksCount": "Recuento de obras", - "@worksCount": {}, "includeInFeed": "Incluir en el suministro", - "@includeInFeed": {}, "fetchingArticleFromJournal": "Recuperando artículos de {journalName}.", - "@fetchingArticleFromJournal": {}, "storagePermissionDenied": "Se denegó el permiso.", - "@storagePermissionDenied": {}, "databaseExported": "¡La base de datos se exportó correctamente!", - "@databaseExported": {}, "exportDatabase": "Exportar base de datos", - "@exportDatabase": {}, "importDatabase": "Importar base de datos", - "@importDatabase": {}, "databaseImportFailed": "No se pudo importar la base de datos.", - "@databaseImportFailed": {}, "databaseImported": "¡La base de datos se importó correctamente!", - "@databaseImported": {}, "madeBy": "Hecho por {app_author}", - "@madeBy": {}, "searchByDOI": "Buscar por DOI", - "@searchByDOI": {}, "searchByQuery": "Búsqueda por consulta", - "@searchByQuery": {}, "queryHasNoNameError": "Debe introducir un nombre de consulta para guardarla.", - "@queryHasNoNameError": {}, "emptySearchQuery": "Introduzca una consulta de búsqueda", - "@emptySearchQuery": {}, "errorOpenExternalBrowser": "No se pudo abrir el enlace en un navegador diferente", - "@errorOpenExternalBrowser": {}, "institutionalAccess": "Acceso institucional", - "@institutionalAccess": {}, "setupInstitutionalAccessLong": "Seleccione el EZproxy de su institución para obtener acceso a sus suscripciones a revistas. Esto elimina la necesidad de una VPN o de acceso local.", - "@setupInstitutionalAccessLong": {}, "setupAlmostSet": "¡Ya está todo listo!… ¡O casi!", - "@setupAlmostSet": {}, "setupAlmostSetLong": "A continuación, le llevaremos a la pantalla de búsqueda, donde podrá seguir sus revistas favoritas. No olvide cambiar el menú de categorías de «Artículos» a «Revistas».", - "@setupAlmostSetLong": {}, "edit": "Editar", - "@edit": {}, "clearAll": "Borrar todo", - "@clearAll": {}, "selectAll": "Seleccionar todo", - "@selectAll": {}, "customizeFeed": "Personalizar contenido del feed", - "@customizeFeed": {}, "feedName": "Nombre del feed", - "@feedName": {}, "followedJournals": "Revistas académicas seguidas", - "@followedJournals": {}, "moreJournals": "Más revistas académicas", - "@moreJournals": {}, "includeKeywords": "Añadir palabras claves", - "@includeKeywords": {}, "excludeKeywords": "Omitir palabras clave", - "@excludeKeywords": {}, "typePressSpace": "Escribe y presiona la tecla espacio…", - "@typePressSpace": {}, "errorFeedNameEmpty": "Por favor, ingresa un nombre para el feed", - "@errorFeedNameEmpty": {}, "errorFeedNameAlreadyExists": "Un feed con este nombre ya existe", - "@errorFeedNameAlreadyExists": {}, "errorSelectOneJournal": "Selecciona al menos una revista académica", - "@errorSelectOneJournal": {}, "errorOccured": "Ha ocurrido un error. Revisa los registros y, si persiste, repórtalo en GitHub.", - "@errorOccured": {}, "logs": "Registros", - "@logs": {}, "viewLogs": "Ver registros", - "@viewLogs": {}, "deleteLogs": "Eliminar registros", - "@deleteLogs": {}, "logsDeleted": "¡Registros eliminados!", - "@logsDeleted": {}, "logsUnavailable": "No hay registros disponibles.", - "@logsUnavailable": {}, "logCopied": "¡Registro copiado al portapapeles!", - "@logCopied": {}, "saveLogs": "Guardar registros", - "@saveLogs": {}, "selectLogsLocation": "Selecciona una ubicación donde guardar los registros.", - "@selectLogsLocation": {}, "logsExportedSuccessfully": "¡Registros guardados exitosamente!", - "@logsExportedSuccessfully": {}, "logsExportedError": "No es posible guardar los registros.", - "@logsExportedError": {}, "shareLogs": "Compartir registros", - "@shareLogs": {}, "translate": "Traducir", - "@translate": {}, "noAiApiKeySetError": "No se ha configurado ninguna clave de API de IA. Por favor, ve a la configuración para establecerla.", - "@noAiApiKeySetError": {}, "translationFailed": "No fue posible realizar la traducción", - "@translationFailed": {}, "showTranslation": "Mostrar traducción", - "@showTranslation": {}, "showOriginal": "Mostrar original", - "@showOriginal": {}, "swapLanguages": "Intercambiar idiomas", - "@swapLanguages": {}, "cancel": "Cancelar", - "@cancel": {}, "aiSettings": "Configuración de IA", - "@aiSettings": {}, "hideAiFeatures": "Ocultar todas las características", - "@hideAiFeatures": {}, "aiProvider": "Proveedor de IA", - "@aiProvider": {}, "pleaseSelectProvider": "Por favor, selecciona un proveedor", - "@pleaseSelectProvider": {}, "apiKeyLabel": "{providerName} llave de API", - "@apiKeyLabel": {}, "pleaseEnterAiAPIKey": "Por favor, ingresa una llave de API para {providerName}", - "@pleaseEnterAiAPIKey": {}, "overrideBaseUrl": "Reemplazar la URL base", - "@overrideBaseUrl": {}, "customBaseUrl": "URL base perdonalizada", - "@customBaseUrl": {}, "pleaseEnterBaseUrl": "Por favor, ingresa la URL base", - "@pleaseEnterBaseUrl": {}, "invalidUrl": "URL inválida", - "@invalidUrl": {}, "modelNameLabel": "Ingresar el nombre del modelo de {provider}", - "@modelNameLabel": {}, "openInExternalPdfViewer": "Abrir en un visor PDF externo", - "@openInExternalPdfViewer": {}, "openInExternalPdfViewerSubtitle": "Abrir el PDF en el navegador o aplicación PDF por defecto de tu dispositivo.", - "@openInExternalPdfViewerSubtitle": {}, "downloadingFile": "Descargando archivo…", - "@downloadingFile": {}, "display": "Mostrar", - "@display": {}, "displayName": "Mostrar nombre", - "@displayName": {}, "askAboutPdf": "¡Hola! Estoy listo para conversar sobre este PDF. ¿Qué te gustaría saber o que resuma? ¡Ten en cuenta que conversar con un PDF consume muchos tokens!", - "@askAboutPdf": {}, "pdfNotFound": "El archivo PDF no pudo ser encontrado.", - "@pdfNotFound": {}, "chatWithPdf": "Chatear con el archivo PDF", - "@chatWithPdf": {}, "typeYourMessage": "Escribe tu mensaje…", - "@typeYourMessage": {}, "noResponseFromAI": "No se recibió una respuesta desde la IA.", - "@noResponseFromAI": {}, "networkError": "Error de conexión o problema de comunicación con el servicio de IA.", - "@networkError": {}, "pdfDownloadOptionsTitle": "Opciones de descarga del PDF", - "@pdfDownloadOptionsTitle": {}, "downloadFailedInAppViewer": "No pudo abrir en la app. Intenta con un visor externo.", - "@downloadFailedInAppViewer": {}, "errorOpeningFile": "No se pudo abrir el archivo.", - "@errorOpeningFile": {}, "selectFeed": "Selecciona un feed", - "@selectFeed": {}, "createCustomFeed": "Crea un feed personalizado", - "@createCustomFeed": {}, "done": "Hecho", - "@done": {}, "copy": "Copiar", - "@copy": {}, "copyAbstract": "Copiar abstract", - "@copyAbstract": {}, "copyTitle": "Copiar título", - "@copyTitle": {}, "copyUrl": "Copiar URL", - "@copyUrl": {}, "copiedToClipboard": "¡Copiado al portapapeles!", - "@copiedToClipboard": {}, "noFavorites": "No tienes artículos en tus favoritos ¡Utiliza el icono del corazón en las publicaciones que te gusten para añadirlas a tus favoritos!", "@noFavorites": { "description": "The message shown when the user has no articles in their favorites." }, "displaySettings": "Mostrar configuración", - "@displaySettings": {}, "pdfTheme": "Tema del visor de PDF", - "@pdfTheme": {}, "pdfReadingOrientation": "Orientación del lector de PDF", - "@pdfReadingOrientation": {}, "vertical": "Vertical", - "@vertical": {}, "horizontal": "Horizontal", - "@horizontal": {}, "proxySuccess": "El proxy se conectó exitosamente", - "@proxySuccess": {}, "proxyFailure": "El proxy no pudo conectarse", - "@proxyFailure": {}, "proxyLogin": "Esta es una página de inicio", - "@proxyLogin": {}, "editKnownUrl": "Editar la URL conocida", - "@editKnownUrl": {}, "addKnownUrl": "Añadir una URL conocida", - "@addKnownUrl": {}, "redirectsSuccessfully": "Redireccionamiento exitoso", - "@redirectsSuccessfully": {}, "failsToRedirect": "Fallo en redireccionar", - "@failsToRedirect": {}, "loginPage": "Página de inicio de sesión", - "@loginPage": {}, "manageUrlsAndRedirect": "Administrar URLs y estado de redirección", - "@manageUrlsAndRedirect": {}, "sort": "Ordenar", - "@sort": {}, "unhideArticle": "Volver a mostrar esta publicación", - "@unhideArticle": {}, "zoteroApiKeyEmpty": "La clave de API de Zotero aún no se ha configurado. Por favor, configura la clave de API en los ajustes de la aplicación.", - "@zoteroApiKeyEmpty": {}, "zoteroArticleSent": "El artículo fue enviado a Zotero.", - "@zoteroArticleSent": {}, "cleanupInterval": "Intervalo de limpieza (días)", - "@cleanupInterval": {}, "failedLoadMoreResults": "No se pudieron cargar más resultados. Por favor, revisa los registros y considera informar del problema en GitHub.", - "@failedLoadMoreResults": {}, "downloadStarting": "Comenzando descarga.", - "@downloadStarting": {}, "downloadFoundPdf": "Descargando PDF encontrado", - "@downloadFoundPdf": {}, "downloadToApp": "Descargar en la app", - "@downloadToApp": {}, "aiTemperature": "Temperatura", - "@aiTemperature": {}, "aiCustomPrompts": "Indicaciones de traducción personalizadas", - "@aiCustomPrompts": {}, "aiCustomPromptsDescription": "Usa $src y $dst para los idiomas de origen y destino, y $text para el texto a traducir. Por ejemplo: Traduce el siguiente texto de $src a $dst: $text", - "@aiCustomPromptsDescription": {}, "prompt": "Indicaciones", - "@prompt": {}, "missingPlaceholders": "Faltan marcador(es) de posición: {placeholders}", - "@missingPlaceholders": {}, "pdfNotReadyForChat": "El PDF no está listo para el chat. Por favor, espera o intenta nuevamente.", - "@pdfNotReadyForChat": {}, "apiTokenMissing": "Falta la clave de API para {aiModel} en la configuración. Por favor, configúrala.", "@apiTokenMissing": { "placeholders": { @@ -677,17 +431,10 @@ } }, "exportingDatabase": "Exportando la base de datos, por favor espera.", - "@exportingDatabase": {}, "importingDatabase": "Importando la base de datos, por favor espera.", - "@importingDatabase": {}, "apiFetchInterval": "Intervalo de actualización de la API", - "@apiFetchInterval": {}, "overrideUserAgent": "Reemplazar el agente de usuario", - "@overrideUserAgent": {}, "customUserAgent": "Personalizar agente de usuario", - "@customUserAgent": {}, "pleaseEnterModelName": "Por favor, introduce el nombre del modelo de {provider}.", - "@pleaseEnterModelName": {}, - "downloadToAppSubtitle": "Intenta descargar y visualizar el PDF directamente en Wispar para una mejor integración.", - "@downloadToAppSubtitle": {} + "downloadToAppSubtitle": "Intenta descargar y visualizar el PDF directamente en Wispar para una mejor integración." } diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index 6885b73..6ee072d 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -1,100 +1,54 @@ { "home": "Accueil", - "@home": {}, "favorites": "Favoris", - "@favorites": {}, "downloads": "Téléchargements", - "@downloads": {}, "settings": "Paramètres", - "@settings": {}, "journalnotfollowing1": "Vous ne suivez aucune revue. Utilisez l'icône", - "@journalnotfollowing1": {}, "journalnotfollowing2": "pour trouver et suivre des revues.", - "@journalnotfollowing2": {}, "follow": "S'abonner", - "@follow": {}, "unfollow": "Se désabonner", - "@unfollow": {}, "journals": "Revues", - "@journals": {}, "search": "Recherche", - "@search": {}, "publisher": "Éditeur", - "@publisher": {}, "publishedin": "Publié dans", - "@publishedin": {}, "subjects": "Sujets", - "@subjects": {}, "latestpublications": "Dernières publications", - "@latestpublications": {}, "authors": "Auteurs", - "@authors": {}, "publishedon": "Publié le {date}", - "@publishedon": {}, "abstract": "Résumé", - "@abstract": {}, "copydoi": "Copier le DOI", - "@copydoi": {}, "doicopied": "DOI copié dans le presse-papiers", - "@doicopied": {}, "viewarticle": "Voir l'article", - "@viewarticle": {}, "favorite": "Favoris", - "@favorite": {}, "favoriteadded": "ajouté aux favoris", - "@favoriteadded": {}, "favoriteremoved": "retiré des favoris", - "@favoriteremoved": {}, "abstractunavailable": "Résumé indisponible. L'éditeur ne fournis pas de résumés à Crossref. L'article devrait tout de même être accessible.", - "@abstractunavailable": {}, "searchresults": "Résultats de recherche", - "@searchresults": {}, "nofavorites1": "Vous n'avez aucun article dans vos favoris. Utilisez l'icône ", - "@nofavorites1": {}, "nofavorites2": " pour ajouter un article dans vos favoris!", - "@nofavorites2": {}, "appearance": "Apparence", - "@appearance": {}, "light": "Clair", - "@light": {}, "dark": "Sombre", - "@dark": {}, "systemtheme": "Thème du système", - "@systemtheme": {}, "unpaywallarticle": "L'article a été fourni via Unpaywall", - "@unpaywallarticle": {}, "forwardedproxy": "Transmis par le biais du proxy de votre institution", - "@forwardedproxy": {}, "selectinstitution": "Selectionner votre institution", - "@selectinstitution": {}, "sortby": "Trier par", - "@sortby": {}, "journaltitle": "Titre de la revue", - "@journaltitle": {}, "followingdate": "Date de suivi", - "@followingdate": {}, "articletitle": "Titre d'article", - "@articletitle": {}, "firstauthfamname": "Nom de famille du premier auteur", - "@firstauthfamname": {}, "dateaddedtofavorites": "Date d'ajout aux favoris", - "@dateaddedtofavorites": {}, "addedtoyourfav": "Ajouté à vos favoris le {date}", - "@addedtoyourfav": {}, "noinstitution": "Aucune institution", - "@noinstitution": {}, "sharedMessage": "Partagé via l'appli Wispar", "@sharedMessage": { "description": "Default sharing text." }, "shareArticle": "Partager l'article", - "@shareArticle": {}, "sendToZotero": "Envoyer vers Zotero", - "@sendToZotero": {}, "zoteroSettings": "Paramètres de Zotero", - "@zoteroSettings": {}, "zoteroCreateKey": "Créer une clé API", - "@zoteroCreateKey": {}, "zoteroEnterKey": "Entrer une clé API", "@zoteroEnterKey": { "description": "Hint text shown in the text field where users can enter their Zotero API key." @@ -104,43 +58,28 @@ "description": "Snackbar shown when a valid Zotero API key has been saved." }, "save": "Enregistrer", - "@save": {}, "sourceCode": "Code source", - "@sourceCode": {}, "reportIssue": "Signaler un problème", - "@reportIssue": {}, "disabled": "Désactivé", - "@disabled": {}, "database": "Base de données", - "@database": {}, "privacyPolicy": "Politique de confidentialité", - "@privacyPolicy": {}, "donate": "Faire un don", - "@donate": {}, "donateMessage": "Aider à soutenir le développement de Wispar", "@donateMessage": { "description": "Text shown in the subtitle of the Donate button in the settings." }, "sortorder": "Ordre de tri", - "@sortorder": {}, "followingsince": "Suivis depuis le {date}", - "@followingsince": {}, "ascending": "Ascendant", - "@ascending": {}, "descending": "Descendant", - "@descending": {}, "datepublished": "Date publié", - "@datepublished": {}, "zoteroPermissions3": "Une fois la clé API créée, copiez la valeur et collez la dans le champ de texte ci-dessous.", - "@zoteroPermissions3": {}, "zoteroInvalidKey": "La clé API est invalide !", "@zoteroInvalidKey": { "description": "Snackbar shown when an attempt to save an invalid Zotero API key is made." }, "enabled": "Activé", - "@enabled": {}, "buildingfeed": "Création de votre flux. Veuillez patienter…", - "@buildingfeed": {}, "noFavorites": "Vous n'avez aucun article dans vos favoris. Utilisez l'icone en forme de coeur sur les cartes de publications pour les ajouter à vos favoris !", "@noFavorites": { "description": "The message shown when the user has no articles in their favorites." @@ -150,117 +89,67 @@ "description": "The verb to download, without the 'to'." }, "unknownLicense": "Licence inconnue", - "@unknownLicense": {}, "failLoadMorePublication": "Échec du chargement de publications supplémentaires.", - "@failLoadMorePublication": {}, "delete": "Supprimer", - "@delete": {}, "emptyDOIError": "Veuillez entrer un DOI", - "@emptyDOIError": {}, "searchByTitle": "Recherche par titre", - "@searchByTitle": {}, "moreOptions": "Plus d'options", - "@moreOptions": {}, "dateSaved": "Date enregistrée", - "@dateSaved": {}, "articles": "Articles", "@articles": { "description": "As in scientific articles." }, "source": "Source : {search_provider}", - "@source": {}, "everything": "Tout", - "@everything": {}, "titleAndAbstract": "Titre et résumé", - "@titleAndAbstract": {}, "title": "Titre", - "@title": {}, "searchIn": "Chercher dans", - "@searchIn": {}, "addKeyword": "Ajouter un mot-clé", - "@addKeyword": {}, "enterKeyword": "Entrer un mot-clé", - "@enterKeyword": {}, "displayName": "Nom d'affichage", - "@displayName": {}, "citedByCount": "Nombre de citations", - "@citedByCount": {}, "worksCount": "Nombre de publications", - "@worksCount": {}, "publicationDate": "Date de publication", - "@publicationDate": {}, "queryPreview": "Prévisualisation de la requête :", - "@queryPreview": {}, "category": "Catégorie", - "@category": {}, "issnCopied": "ISSN copié dans le presse-papiers", - "@issnCopied": {}, "apiQueryCopied": "Requête d'API copiée dans le presse-papiers", - "@apiQueryCopied": {}, "articleViewer": "Visionneuse d'article", - "@articleViewer": {}, "noPublicationFound": "Aucune publications trouvées.", - "@noPublicationFound": {}, "savedOn": "Enregistrée le {date}", - "@savedOn": {}, "databaseSettings": "Paramètres de la base de données", - "@databaseSettings": {}, "cleanupInterval": "Intervalle de nettoyage (jours)", - "@cleanupInterval": {}, "cleanupIntervalHint": "Entrer le nombre de jours (1 à 365)", - "@cleanupIntervalHint": {}, "apiFetchInterval": "Intervalle de récupération de l'API", - "@apiFetchInterval": {}, "cleanupIntervalInvalidNumber": "Veuillez entrer un nombre de jours valide.", - "@cleanupIntervalInvalidNumber": {}, "cleanupIntervalNumberNotBetween": "Veuillez entrer une valeur entre 1 et 365.", - "@cleanupIntervalNumberNotBetween": {}, "saveSettings": "Enregistrer les paramètres", - "@saveSettings": {}, "about": "À propos", - "@about": {}, "otherLicense": "Autre licence", - "@otherLicense": {}, "downloadDeleted": "L'article a été supprimé !", - "@downloadDeleted": {}, "noDownloads": "Vous n'avez aucun téléchargements.", - "@noDownloads": {}, "queries": "Requêtes", "@queries": { "description": "Title of the saved search queries tab." }, "saveQuery": "Enregistrer cette requête", - "@saveQuery": {}, "searchByQuery": "Recherche par requête", - "@searchByQuery": {}, "journalSearchError": "Une erreur est survenue lors de la recherche de revues.", - "@journalSearchError": {}, "searchByDOI": "Recherche par DOI", - "@searchByDOI": {}, "searchByISSN": "Recherche par ISSN", - "@searchByISSN": {}, "emptySearchQuery": "Veuillez entrer une requête de recherche", - "@emptySearchQuery": {}, "queryName": "Nom de la requête", - "@queryName": {}, "homeFeedEmpty": "Aucune publications disponibles. Des cartes de publications seront ajoutées lorsque vous suivrez au moins une revue.", "@homeFeedEmpty": { "description": "The message shown when the feed in the home screen is empty." }, "apiFetchIntervalHint": "Sélectionner la fréquence de récupération d'articles", - "@apiFetchIntervalHint": {}, "hours": "heures", - "@hours": {}, "settingsSaved": "Les paramètres ont été enregistrés avec succès !", - "@settingsSaved": {}, "zoteroPermissions2": "Lors de la création d'une nouvelle clé API Zotero, vous devez sélectionner à la fois \"Autoriser l'accès à la bibliothèque\" et \"Autoriser l'accès en écriture\".", - "@zoteroPermissions2": {}, "zoteroPermissions1": "Wispar requiert un accès en lecture et en écriture à votre compte Zotero pour profiter de son intégration.", - "@zoteroPermissions1": {}, "noSavedQueries": "Aucune requête sauvegardée.", - "@noSavedQueries": {}, "downloadSuccessful": "L'article a été téléchargé avec succès !", - "@downloadSuccessful": {}, "library": "Bibliothèque", "@library": { "description": "The library menu button and the app bar title when in the library screen." @@ -274,135 +163,70 @@ "description": "Place holder text in the search input widget." }, "queryHasNoNameError": "Vous devez entrer un nom de requête afin de l'enregistrer.", - "@queryHasNoNameError": {}, "noresultsfound": "Aucun résultat trouvé.", - "@noresultsfound": {}, "errorOpenExternalBrowser": "Impossible d'ouvrir le lien dans un autre navigateur", - "@errorOpenExternalBrowser": {}, "openExternalBrowser": "Ouvrir dans un navigateur externe", - "@openExternalBrowser": {}, "welcomeWispar": "Bienvenue dans Wispar !", - "@welcomeWispar": {}, "setupInstitutionalAccess": "Configuration de l'accès institutionnel", - "@setupInstitutionalAccess": {}, "setupSelectInstitution": "Sélectionner mon institution", - "@setupSelectInstitution": {}, "setupSelectedInstitution": "Vous avez sélectionné :", - "@setupSelectedInstitution": {}, "setupLinkMyZotero": "Connecter mon compte Zotero", - "@setupLinkMyZotero": {}, "setupOtherSettings": "Autres paramètres", - "@setupOtherSettings": {}, "setupAlmostSet": "Vous êtes prêt(e) !… Ou presque !", - "@setupAlmostSet": {}, "setupAlmostSetLong": "Ensuite, nous vous emmènerons à l'écran de recherche, où vous pourrez suivre vos revues préférées. N'oubliez pas de changer le menu des catégories de 'Articles' à 'Revues'.", - "@setupAlmostSetLong": {}, "skip": "Passer", - "@skip": {}, "getStarted": "Commencer", - "@getStarted": {}, "display": "Affichage", - "@display": {}, "theme": "Thème", - "@theme": {}, "setupLinkZotero": "Connexion à Zotero", - "@setupLinkZotero": {}, "setupInstitutionalAccessLong": "Sélectionnez l'EZproxy de votre institution pour accéder à ses abonnements aux revues. Cela éliminera le besoin d'utiliser un VPN ou un accès sur site.", - "@setupInstitutionalAccessLong": {}, "appDescription": "Votre application open-source pour rester à jour avec la littérature scientifique. Commençons rapidement !", - "@appDescription": {}, "setupZoteroLong": "Envoyez des publications directement vers votre bibliothèque Zotero. Elles seront ajoutées à une collection spéciale Wispar.", - "@setupZoteroLong": {}, "publicationCard": "Carte de publication", - "@publicationCard": {}, "hideMissingAbstracts": "Cacher les résumés manquants", - "@hideMissingAbstracts": {}, "setupOtherSettingsLong": "Des paramètres supplémentaires sont disponibles dans le menu des paramètres de l'application. Accédez-y depuis l'écran d'accueil en appuyant sur le menu à trois points dans le coin supérieur droit.", - "@setupOtherSettingsLong": {}, "showAllAbstracts": "Afficher tous les résumés", - "@showAllAbstracts": {}, "hideAllAbstracts": "Cacher tous les résumés", - "@hideAllAbstracts": {}, "displaySettings": "Paramètres d'affichage", - "@displaySettings": {}, "fetchingArticleFromJournal": "Récupération des articles de {journalName}.", - "@fetchingArticleFromJournal": {}, "madeBy": "Fait par {app_author}", - "@madeBy": {}, "filterFavorites": "Filtrer les favoris", - "@filterFavorites": {}, "filter": "Filtrer les cartes de publications", - "@filter": {}, "filterResultsEmpty": "Aucune publication ne correspond à votre filtre", - "@filterResultsEmpty": {}, "filterDownloads": "Filtrer les téléchargements", - "@filterDownloads": {}, "errorOpenExternalPdfApp": "Impossible d'ouvrir le fichier dans une autre appli", - "@errorOpenExternalPdfApp": {}, "openExternalPdfApp": "Ouvrir dans un lecteur PDF externe", - "@openExternalPdfApp": {}, "includeInFeed": "Inclure dans le flux", - "@includeInFeed": {}, "databaseImported": "La base de données a été importée avec succès !", - "@databaseImported": {}, "databaseExportFailed": "Échec d'exportation de la base de données.", - "@databaseExportFailed": {}, "selectDBExportLocation": "Sélectionner un emplacement où exporter la base de données.", - "@selectDBExportLocation": {}, "databaseNotFound": "Le fichier de la base de données est introuvable.", - "@databaseNotFound": {}, "storagePermissionDenied": "Autorisation refusée.", - "@storagePermissionDenied": {}, "databaseExported": "La base de données a été exportée avec succès !", - "@databaseExported": {}, "exportDatabase": "Exporter la base de données", - "@exportDatabase": {}, "importDatabase": "Importer la base de données", - "@importDatabase": {}, "databaseImportFailed": "Échec de l'importation de la base de données.", - "@databaseImportFailed": {}, "scrapeAbstracts": "Extraction des résumés manquants", - "@scrapeAbstracts": {}, "searchOpenAlex": "OpenAlex (recommendé)", - "@searchOpenAlex": {}, "concurrentFetches": "Requêtes API simultanées : {number}", - "@concurrentFetches": {}, "system": "Système", - "@system": {}, "language": "Langue", - "@language": {}, "notifPermsNotGranted": "permission refusée", - "@notifPermsNotGranted": {}, "openAppSettings": "Ouvrir les réglages", - "@openAppSettings": {}, "notificationContent": "De nouveaux articles sont disponibles !", - "@notificationContent": {}, "notificationTitleJournal": "Les revues ont été mises à jour", - "@notificationTitleJournal": {}, "notificationTitleQuery": "Les requêtes ont été mises à jour", - "@notificationTitleQuery": {}, "fgNotificationContent": "Wispar fonctionne en arrière-plan pour mettre à jour vos revues", - "@fgNotificationContent": {}, "fgNotificationTitle": "Service de mises à jour en arrière-plan", - "@fgNotificationTitle": {}, "notifPermsGranted": "Permission autorisée", - "@notifPermsGranted": {}, "notificationSettingsMessage": "Les notifications sont désactivées de façon permanente. Pour les activer, allez dans les réglages de notifications de l'appli.", - "@notificationSettingsMessage": {}, "notifications": "Notifications", - "@notifications": {}, "hiddenArticles": "Publications cachées", - "@hiddenArticles": {}, "noHiddenArticles": "Aucune publication cachée", - "@noHiddenArticles": {}, "hideArticle": "Cacher cette publication", - "@hideArticle": {}, "viewHiddenArticles": "Voir les publications cachées", - "@viewHiddenArticles": {}, "unhideArticle": "Rendre cette publication visible", - "@unhideArticle": {}, "pendingUpdate": "Mise à jour en attente", - "@pendingUpdate": {}, "lastUpdatedHours": "{hours, plural, one{Mis à jour il y a 1 heure} other{Mis à jour il y a {hours} heures}}", "@lastUpdatedHours": { "placeholders": { @@ -428,193 +252,99 @@ } }, "viewLogs": "Voir les journaux", - "@viewLogs": {}, "failedLoadMoreResults": "Échec du chargement de résultats supplémentaires. Veuillez consulter les journaux d'erreurs de l'application et envisager de signaler le problème sur GitHub.", - "@failedLoadMoreResults": {}, "errorOccured": "Un problème est survenu. Veuillez consulter les journaux d'erreurs de l'application et envisager de signaler le problème sur GitHub.", - "@errorOccured": {}, "logCopied": "Entrée du journal copiée dans le presse-papier !", - "@logCopied": {}, "zoteroApiKeyEmpty": "La clé API de Zotero n'a pas encore été configurée. Veuillez configurer la clé API dans les paramètres de l'appli.", - "@zoteroApiKeyEmpty": {}, "deleteLogs": "Supprimer les journaux", - "@deleteLogs": {}, "logsUnavailable": "Aucun journal disponible.", - "@logsUnavailable": {}, "zoteroArticleSent": "L'article a été envoyé vers Zotero.", - "@zoteroArticleSent": {}, "logs": "Journaux", - "@logs": {}, "logsDeleted": "Journaux supprimés !", - "@logsDeleted": {}, "saveLogs": "Enregistrer les journaux", - "@saveLogs": {}, "selectLogsLocation": "Sélectionner un emplacement où enregistrer les journaux.", - "@selectLogsLocation": {}, "logsExportedSuccessfully": "Les journaux ont été enregistrés avec succès !", - "@logsExportedSuccessfully": {}, "shareLogs": "Partager les journaux", - "@shareLogs": {}, "logsExportedError": "Impossible d’enregistrer les journaux.", - "@logsExportedError": {}, "selectFeed": "Sélectionner un flux", - "@selectFeed": {}, "createCustomFeed": "Créer un flux personnalisé", - "@createCustomFeed": {}, "done": "Terminer", - "@done": {}, "edit": "Éditer", - "@edit": {}, "clearAll": "Déselectionner tout", - "@clearAll": {}, "selectAll": "Sélectionner tout", - "@selectAll": {}, "customizeFeed": "Personnaliser le flux", - "@customizeFeed": {}, "feedName": "Nom du flux", - "@feedName": {}, "followedJournals": "Revues suivies", - "@followedJournals": {}, "moreJournals": "Plus de revues", - "@moreJournals": {}, "includeKeywords": "Mots-clés à inclure", - "@includeKeywords": {}, "excludeKeywords": "Mots-clés à exclure", - "@excludeKeywords": {}, "typePressSpace": "Taper et appuyer sur espace…", - "@typePressSpace": {}, "errorFeedNameEmpty": "Veuillez entrer un nom pour le flux", - "@errorFeedNameEmpty": {}, "errorFeedNameAlreadyExists": "Un flux portant ce nom existe déjà", - "@errorFeedNameAlreadyExists": {}, "errorSelectOneJournal": "Sélectionnez au moins une revue", - "@errorSelectOneJournal": {}, "sort": "Trier", - "@sort": {}, "copy": "Copier", - "@copy": {}, "copyAbstract": "Copier le résumé", - "@copyAbstract": {}, "copyTitle": "Copier le titre", - "@copyTitle": {}, "copyUrl": "Copier l'URL", - "@copyUrl": {}, "copiedToClipboard": "Copié dans le presse-papier !", - "@copiedToClipboard": {}, "translate": "Traduire", - "@translate": {}, "swapLanguages": "Interchanger les langues", - "@swapLanguages": {}, "cancel": "Annuler", - "@cancel": {}, "pdfDownloadOptionsTitle": "Options de téléchargement du PDF", - "@pdfDownloadOptionsTitle": {}, "openInExternalPdfViewerSubtitle": "Ouvrir le PDF dans le navigateur web ou l'application PDF par défaut de votre appareil.", - "@openInExternalPdfViewerSubtitle": {}, "downloadingFile": "Téléchargement du fichier…", - "@downloadingFile": {}, "downloadFailedInAppViewer": "Échec de l’ouverture dans l’application. Vous pouvez essayer le bouton de téléchargement PDF sur le site web ou choisir l’option de visionneuse PDF externe.", - "@downloadFailedInAppViewer": {}, "errorOpeningFile": "Impossible d’ouvrir le fichier.", - "@errorOpeningFile": {}, "downloadStarting": "Démarrage du téléchargement.", - "@downloadStarting": {}, "downloadFoundPdf": "Télécharger le PDF trouvé", - "@downloadFoundPdf": {}, "downloadToApp": "Télécharger dans l'application", - "@downloadToApp": {}, "downloadToAppSubtitle": "Essaie de télécharger et de visualiser le PDF directement dans Wispar pour une meilleure intégration.", - "@downloadToAppSubtitle": {}, "openInExternalPdfViewer": "Ouvrir dans un visualiseur PDF externe", - "@openInExternalPdfViewer": {}, "translationFailed": "La traduction a échoué", - "@translationFailed": {}, "showTranslation": "Voir la traduction", - "@showTranslation": {}, "showOriginal": "Voir le texte original", - "@showOriginal": {}, "aiSettings": "Paramètres d'IA", - "@aiSettings": {}, "aiProvider": "Fournisseur d'IA", - "@aiProvider": {}, "pleaseSelectProvider": "Veuillez sélectionner un fournisseur", - "@pleaseSelectProvider": {}, "apiKeyLabel": "Clé d'API de {providerName}", - "@apiKeyLabel": {}, "pleaseEnterAiAPIKey": "Veuillez entrer une clé API pour {providerName}", - "@pleaseEnterAiAPIKey": {}, "overrideBaseUrl": "Remplacer l'URL de base", - "@overrideBaseUrl": {}, "customBaseUrl": "URL de base personnalisée", - "@customBaseUrl": {}, "pleaseEnterBaseUrl": "Veuillez entrer une URL de base", - "@pleaseEnterBaseUrl": {}, "invalidUrl": "URL invalide", - "@invalidUrl": {}, "modelNameLabel": "Entrer un nom de modèle {provider}", - "@modelNameLabel": {}, "pleaseEnterModelName": "Veuillez entrer un nom de modèle {provider}.", - "@pleaseEnterModelName": {}, "noAiApiKeySetError": "Aucune clé API d’IA définie. Veuillez aller dans les paramètres pour en configurer une.", - "@noAiApiKeySetError": {}, "institutionalAccess": "Accès institutionnel", - "@institutionalAccess": {}, "pdfTheme": "Thème du lecteur PDF", - "@pdfTheme": {}, "pdfReadingOrientation": "Orientation de lecture de PDF", - "@pdfReadingOrientation": {}, "vertical": "Verticale", - "@vertical": {}, "horizontal": "Horizontale", - "@horizontal": {}, "proxySuccess": "Le proxy fonctionne", - "@proxySuccess": {}, "proxyFailure": "Le proxy ne fonctionne pas", - "@proxyFailure": {}, "proxyLogin": "C'est une page de connexion", - "@proxyLogin": {}, "editKnownUrl": "Éditer l'URL connu", - "@editKnownUrl": {}, "addKnownUrl": "Ajouter un URL connu", - "@addKnownUrl": {}, "redirectsSuccessfully": "Redirige correctement", - "@redirectsSuccessfully": {}, "failsToRedirect": "Ne redirige pas correctement", - "@failsToRedirect": {}, "loginPage": "Page de connexion", - "@loginPage": {}, "manageUrlsAndRedirect": "Gérer les URLs et les statuts de redirections", - "@manageUrlsAndRedirect": {}, "exportingDatabase": "Exportation de la base de données, veuillez patienter.", - "@exportingDatabase": {}, "importingDatabase": "Importation de la base de données, veuillez patienter.", - "@importingDatabase": {}, "overrideUserAgent": "Remplacer l’agent utilisateur", - "@overrideUserAgent": {}, "customUserAgent": "Agent utilisateur personnalisé", - "@customUserAgent": {}, "hideAiFeatures": "Cacher toutes les fonctionnalités d'IA", - "@hideAiFeatures": {}, "aiTemperature": "Température", - "@aiTemperature": {}, "aiCustomPrompts": "Instructions de traduction personnalisées", - "@aiCustomPrompts": {}, "aiCustomPromptsDescription": "Utilisez $src et $dst pour les langues source et cible, et $text pour le texte à traduire. Par exemple : Traduis le texte suivant de $src vers $dst : $text", - "@aiCustomPromptsDescription": {}, "prompt": "Instruction", - "@prompt": {}, "missingPlaceholders": "Élément(s) de substitution manquant(s) : {placeholders}", - "@missingPlaceholders": {}, "pdfNotReadyForChat": "Le PDF n'est pas prêt pour le clavardage. Veuillez patienter ou réessayer.", - "@pdfNotReadyForChat": {}, "chatWithPdf": "Clavarder avec le PDF", - "@chatWithPdf": {}, "typeYourMessage": "Taper votre message…", - "@typeYourMessage": {}, "askAboutPdf": "Bonjour ! Je suis prêt à discuter de ce PDF. Que souhaitez-vous savoir ou résumer ? N’oubliez pas que discuter avec un PDF consomme beaucoup de tokens !", - "@askAboutPdf": {}, "pdfNotFound": "Le fichier PDF est introuvable.", - "@pdfNotFound": {}, "apiTokenMissing": "La clé API pour {aiModel} est manquante dans les paramètres. Veuillez la configurer.", "@apiTokenMissing": { "placeholders": { @@ -624,7 +354,6 @@ } }, "noResponseFromAI": "Aucune réponse reçue de la part de l'IA.", - "@noResponseFromAI": {}, "errorConnectingToAI": "Erreur lors de la connexion à l'IA ({statusCode}). Veuillez vérifier votre connexion internet ou les paramètres de l'API.", "@errorConnectingToAI": { "placeholders": { @@ -634,7 +363,6 @@ } }, "networkError": "Erreur de réseau ou problème de communication avec le service d'IA.", - "@networkError": {}, "numberPublications": "{count, plural, =0{Aucune publication} =1{1 publication} other{{count} publications}}", "@numberPublications": { "placeholders": { @@ -642,63 +370,42 @@ } }, "showPublicationCount": "Afficher le nombre de publications", - "@showPublicationCount": {}, "graphicalAbstract": "Résumé graphique", - "@graphicalAbstract": {}, "openExternalApp": "Ouvrir dans une appli externe", - "@openExternalApp": {}, "publicationCardSettings": "Paramètres des cartes de publications", - "@publicationCardSettings": {}, "gestures": "Gestes", - "@gestures": {}, "infoDisplayOnCards": "Informations à afficher sur les cartes de publications", - "@infoDisplayOnCards": {}, "none": "Aucun", - "@none": {}, "addToFavorites": "Ajouter aux favoris", - "@addToFavorites": {}, "hidePublication": "Cacher la publication", - "@hidePublication": {}, "swipeLeftAction": "Action du glissage (swipe) vers la gauche", - "@swipeLeftAction": {}, "swipeRightAction": "Action du glissage (swipe) vers la droite", - "@swipeRightAction": {}, "licenseInfo": "Information de la licence", - "@licenseInfo": {}, "optionsMenu": "Menu d'options", - "@optionsMenu": {}, "favoriteButton": "Bouton favoris", - "@favoriteButton": {}, "unpaywallArticleAvailable": "Article disponible via Unpaywall", - "@unpaywallArticleAvailable": {}, "unpaywallChoicePrompt": "Cet article est disponible via Unpaywall. Comment voulez-vous procéder ?", - "@unpaywallChoicePrompt": {}, "useUnpaywall": "Ouvrir via Unpaywall", - "@useUnpaywall": {}, "goToWebsite": "Aller au site web", - "@goToWebsite": {}, "customDatabaseLocation": "Emplacement de la base de données personnalisé", - "@customDatabaseLocation": {}, "currentDBLocation": "Emplacement actuel : {path}", - "@currentDBLocation": {}, "movingDatabase": "Déplacement des fichiers de la base de données. Veuillez patienter.", - "@movingDatabase": {}, "databaseMoved": "Les fichiers de la base de données ont été déplacés avec succès !", - "@databaseMoved": {}, "databaseMoveFailed": "Impossible de déplacer les fichiers de la base de données : {error}", - "@databaseMoveFailed": {}, "databaseConflictTitle": "Des données Wispar existantes ont été trouvées.", - "@databaseConflictTitle": {}, "databaseConflictMessage": "Des données Wispar ont été trouvées dans le dossier sélectionné. Voulez‑vous utiliser les fichiers existants ou les remplacer par la base de données actuelle ?", - "@databaseConflictMessage": {}, "useExistingFiles": "Utiliser les données existantes", - "@useExistingFiles": {}, "overwriteFiles": "Remplacer par la base de données actuelle", - "@overwriteFiles": {}, "selectCustomDBLocation": "Sélectionnez un emplacement où stocker les fichiers de la base de données", - "@selectCustomDBLocation": {}, "cachedArticleRetentionDays": "Rétention des articles mis en cache (jours)", - "@cachedArticleRetentionDays": {}, "cachedArticleRetentionDaysDesc": "Définissez le nombre de jours pendant lesquels conserver les articles mis en cache. Les articles plus anciens seront supprimés de la base de données ainsi que leurs fichiers PDF et résumés graphiques. Les favoris, les PDF téléchargés et les articles cachés ne seront pas supprimés. Une valeur de 0 désactive la fonction de nettoyage, mais les fichiers orphelins seront tout de même supprimés.", - "@cachedArticleRetentionDaysDesc": {} + "select": "Sélectionner", + "zoteroSpecificCollection": "Toujours envoyer vers une collection spécifique", + "zoteroSelectCollection": "Sélectionner une collection", + "noZoteroCollectionSelected": "Aucune collection sélectionnée", + "zoteroSpecificCollection2": "Toujours envoyer vers cette collection", + "zoteroNewCollection": "Nouvelle collection", + "zoteroCollectionName": "Nom de la collection", + "create": "Créer", + "send": "Envoyer" } diff --git a/lib/l10n/app_id.arb b/lib/l10n/app_id.arb index ac61d17..907705e 100644 --- a/lib/l10n/app_id.arb +++ b/lib/l10n/app_id.arb @@ -4,23 +4,14 @@ "description": "The downloads menu button and the app bar title when in the downloads screen." }, "searchByQuery": "Cari berdasarkan query", - "@searchByQuery": {}, "downloadDeleted": "Artikel telah dihapus!", - "@downloadDeleted": {}, "setupInstitutionalAccess": "Atur Akses Institusional", - "@setupInstitutionalAccess": {}, "setupSelectInstitution": "Pilih institusi saya", - "@setupSelectInstitution": {}, "setupSelectedInstitution": "Anda telah memilih:", - "@setupSelectedInstitution": {}, "setupLinkZotero": "Hubungkan Zotero", - "@setupLinkZotero": {}, "setupOtherSettings": "Pengaturan Lainnya", - "@setupOtherSettings": {}, "skip": "Lewati", - "@skip": {}, "getStarted": "Mulai", - "@getStarted": {}, "home": "Beranda", "@home": { "description": "The home menu button and the app bar title when in the home screen." @@ -34,9 +25,7 @@ "description": "The verb to download, without the 'to'." }, "delete": "Hapus", - "@delete": {}, "noDownloads": "Anda belum memiliki unduhan.", - "@noDownloads": {}, "settings": "Pengaturan", "@settings": { "description": "The settings option menu button and the app bar title when in the settings screen." @@ -66,73 +55,43 @@ "description": "Place holder text in the search input widget." }, "filterDownloads": "Filter unduhan", - "@filterDownloads": {}, "filterFavorites": "Filter favorit", - "@filterFavorites": {}, "emptyDOIError": "Silakan masukkan DOI", - "@emptyDOIError": {}, "welcomeWispar": "Selamat datang di Wispar!", - "@welcomeWispar": {}, "setupLinkMyZotero": "Hubungkan akun Zotero saya", - "@setupLinkMyZotero": {}, "downloadSuccessful": "Artikel berhasil diunduh!", - "@downloadSuccessful": {}, "authors": "Penulis", - "@authors": {}, "searchOpenAlex": "OpenAlex (direkomendasikan)", - "@searchOpenAlex": {}, "source": "Sumber:{search_provider}", - "@source": {}, "everything": "Semua", - "@everything": {}, "titleAndAbstract": "Judul dan abstrak", - "@titleAndAbstract": {}, "title": "Judul", - "@title": {}, "searchIn": "Cari dalam", - "@searchIn": {}, "addKeyword": "Tambah kata kunci", - "@addKeyword": {}, "enterKeyword": "Masukkan kata kunci", - "@enterKeyword": {}, "publicationDate": "Tanggal publikasi", - "@publicationDate": {}, "searchByDOI": "Cari berdasarkan DOI", - "@searchByDOI": {}, "searchByTitle": "Cari berdasarkan judul", - "@searchByTitle": {}, "searchByISSN": "Cari berdasarkan ISSN", - "@searchByISSN": {}, "moreOptions": "Opsi lainnya", - "@moreOptions": {}, "articles": "Artikel", "@articles": { "description": "As in scientific articles." }, "category": "Kategori", - "@category": {}, "publisher": "Penerbit", - "@publisher": {}, "latestpublications": "Publikasi terakhir", - "@latestpublications": {}, "abstract": "Abstrak", - "@abstract": {}, "copydoi": "Salin DOI", - "@copydoi": {}, "doicopied": "DOI tera", "@doicopied": { "description": "Snackbar shown when the Copy DOI button is pressed." }, "issnCopied": "DOI tersalin ke papan baki", - "@issnCopied": {}, "viewarticle": "Lihat artikel", - "@viewarticle": {}, "openExternalBrowser": "Buka di peramban eksternal", - "@openExternalBrowser": {}, "openExternalPdfApp": "Buka di pembaca PDF eksternal", - "@openExternalPdfApp": {}, "favorite": "Favorit", - "@favorite": {}, "publishedon": "Terbit pada {date}", "@publishedon": { "placeholders": { @@ -143,11 +102,8 @@ } }, "zoteroCreateKey": "Buat kunci API baru", - "@zoteroCreateKey": {}, "showAllAbstracts": "Tampilkan semua abstrak", - "@showAllAbstracts": {}, "shareArticle": "Bagikan artikel", - "@shareArticle": {}, "favoriteadded": "ditambahkan ke favorit", "@favoriteadded": { "description": "Snackbar shown when an article is added to the user's favorites." @@ -157,81 +113,47 @@ "description": "Snackbar shown when an article is removed from the user's favorites." }, "searchresults": "Hasil pencarian", - "@searchresults": {}, "noresultsfound": "Tidak ada hasil pencarian.", - "@noresultsfound": {}, "theme": "Tema", - "@theme": {}, "light": "Terang", - "@light": {}, "dark": "Gelap", - "@dark": {}, "systemtheme": "Tema sistem", - "@systemtheme": {}, "hideAllAbstracts": "Sembunyikan semua abstrak", - "@hideAllAbstracts": {}, "selectinstitution": "Pilih institusi anda", - "@selectinstitution": {}, "sortby": "Urutkan berdasarkan", - "@sortby": {}, "journaltitle": "Judul jurnal", - "@journaltitle": {}, "articletitle": "Judul artikel", - "@articletitle": {}, "datepublished": "Tanggal publikasi", - "@datepublished": {}, "noPublicationFound": "Publikasi tidak ditemukan.", - "@noPublicationFound": {}, "sharedMessage": "Bagikan melalui aplikasi Wispar", "@sharedMessage": { "description": "Default sharing text." }, "reportIssue": "Laporkan masalah", - "@reportIssue": {}, "database": "Basisdata", - "@database": {}, "databaseSettings": "Pengaturan basisdata", - "@databaseSettings": {}, "cleanupIntervalHint": "Masukkan jumlah hari (1 sampai 365)", - "@cleanupIntervalHint": {}, "databaseNotFound": "Berkas basisdata tidak ditemukan.", - "@databaseNotFound": {}, "databaseExported": "Basisdata berhasil diekspor!", - "@databaseExported": {}, "databaseExportFailed": "Gagal mengekspor basisdata.", - "@databaseExportFailed": {}, "selectDBExportLocation": "Pilih lokasi hasil ekspor basisdata.", - "@selectDBExportLocation": {}, "exportDatabase": "Ekspor basisdata", - "@exportDatabase": {}, "importDatabase": "Impor basisdata", - "@importDatabase": {}, "databaseImportFailed": "Gagal mengimpor basisdata.", - "@databaseImportFailed": {}, "databaseImported": "Basisdata berhasil diimpor!", - "@databaseImported": {}, "saveSettings": "Simpan pengaturan", - "@saveSettings": {}, "settingsSaved": "Pengaturan berhasil disimpan!", - "@settingsSaved": {}, "privacyPolicy": "Kebijakan privasi", - "@privacyPolicy": {}, "about": "Tentang", - "@about": {}, "madeBy": "Dibuat oleh {app_author}", - "@madeBy": {}, "donate": "Donasi", - "@donate": {}, "donateMessage": "Bantu pengembangan Wispar", "@donateMessage": { "description": "Text shown in the subtitle of the Donate button in the settings." }, "otherLicense": "Lisensi lainnya", - "@otherLicense": {}, "unknownLicense": "Lisensi tidak diketahui", - "@unknownLicense": {}, "hours": "jam", - "@hours": {}, "zoteroValidKey": "Kunci API disimpan!", "@zoteroValidKey": { "description": "Snackbar shown when a valid Zotero API key has been saved." @@ -246,55 +168,34 @@ } }, "noinstitution": "Tidak ada institusi", - "@noinstitution": {}, "failLoadMorePublication": "Gagal memuat publikasi lainnya.", - "@failLoadMorePublication": {}, "save": "Simpan", - "@save": {}, "sourceCode": "Kode sumber", - "@sourceCode": {}, "zoteroInvalidKey": "Kunci API tidak valid!", "@zoteroInvalidKey": { "description": "Snackbar shown when an attempt to save an invalid Zotero API key is made." }, "sendToZotero": "Kirim ke Zotero", - "@sendToZotero": {}, "zoteroSettings": "Pengaturan Zotero", - "@zoteroSettings": {}, "zoteroEnterKey": "Masukkan kunci API", "@zoteroEnterKey": { "description": "Hint text shown in the text field where users can enter their Zotero API key." }, "appDescription": "Aplikasi sumber terbuka Anda untuk tetap terupdate dengan literatur ilmiah. Mari kita bantu Anda untuk segera mulai!", - "@appDescription": {}, "institutionalAccess": "Akses institusional", - "@institutionalAccess": {}, "setupInstitutionalAccessLong": "Pilih EZproxy institusi Anda untuk mengakses langganan jurnal mereka. Hal ini akan menghilangkan kebutuhan akan VPN atau akses di lokasi.", - "@setupInstitutionalAccessLong": {}, "setupZoteroLong": "Kirim publikasi langsung ke perpustakaan Zotero Anda. Publikasi tersebut akan ditambahkan ke koleksi khusus Wispar.", - "@setupZoteroLong": {}, "setupOtherSettingsLong": "Pengaturan tambahan tersedia di menu pengaturan aplikasi. Akses menu tersebut dari layar beranda dengan mengetuk menu titik tiga di pojok kanan atas.", - "@setupOtherSettingsLong": {}, "setupAlmostSet": "Sudah siap!… Hampir!", - "@setupAlmostSet": {}, "setupAlmostSetLong": "Selanjutnya, kami akan membawa Anda ke layar pencarian, di mana Anda dapat mengikuti jurnal favorit Anda. Jangan lupa untuk mengganti menu kategori dari ‘Artikel’ menjadi ‘Jurnal’.", - "@setupAlmostSetLong": {}, "notifications": "Pemberitahuan", - "@notifications": {}, "notifPermsGranted": "Izin diberikan", - "@notifPermsGranted": {}, "notifPermsNotGranted": "Izin tidak diberikan", - "@notifPermsNotGranted": {}, "openAppSettings": "Buka pengaturan", - "@openAppSettings": {}, "notificationSettingsMessage": "Pemberitahuan telah dinonaktifkan secara permanen. Untuk mengaktifkannya kembali, buka pengaturan pemberitahuan aplikasi.", - "@notificationSettingsMessage": {}, "notificationContent": "Artikel baru sudah tersedia!", - "@notificationContent": {}, "notificationTitleJournal": "Jurnal telah diperbarui", - "@notificationTitleJournal": {}, "notificationTitleQuery": "Pertanyaan telah diperbarui", - "@notificationTitleQuery": {}, "numberPublications": "{count, plural, =0{Tidak ada publikasi} =1{1 publikasi} other{{count} publikasi}}", "@numberPublications": { "placeholders": { @@ -302,39 +203,22 @@ } }, "showPublicationCount": "Tampilkan jumlah publikasi", - "@showPublicationCount": {}, "selectFeed": "Pilih saluran", - "@selectFeed": {}, "createCustomFeed": "Buat umpan kustom", - "@createCustomFeed": {}, "done": "Selesai", - "@done": {}, "edit": "Edit", - "@edit": {}, "clearAll": "Hapus semua", - "@clearAll": {}, "selectAll": "Pilih semua", - "@selectAll": {}, "customizeFeed": "Sesuaikan umpan", - "@customizeFeed": {}, "feedName": "Nama pakan", - "@feedName": {}, "followedJournals": "Jurnal yang diikuti", - "@followedJournals": {}, "moreJournals": "Lebih banyak jurnal", - "@moreJournals": {}, "includeKeywords": "Sertakan kata kunci", - "@includeKeywords": {}, "excludeKeywords": "Kecualikan kata kunci", - "@excludeKeywords": {}, "typePressSpace": "Ketik dan tekan spasi…", - "@typePressSpace": {}, "errorFeedNameEmpty": "Silakan masukkan nama untuk feed", - "@errorFeedNameEmpty": {}, "errorFeedNameAlreadyExists": "Feed dengan nama ini sudah ada", - "@errorFeedNameAlreadyExists": {}, "errorSelectOneJournal": "Pilih setidaknya satu jurnal", - "@errorSelectOneJournal": {}, "journalLibraryEmpty": "Anda tidak mengikuti jurnal apa pun. Gunakan menu pencarian untuk menemukan dan mengikuti jurnal.", "@journalLibraryEmpty": { "description": "Message shown when the user is not following any journals." @@ -344,147 +228,84 @@ "description": "Title of the saved search queries tab." }, "filter": "Filter kartu publikasi", - "@filter": {}, "filterResultsEmpty": "Tidak ada publikasi yang sesuai dengan filter Anda", - "@filterResultsEmpty": {}, "displayName": "Nama tampilan", - "@displayName": {}, "citedByCount": "Dikutip berdasarkan jumlah", - "@citedByCount": {}, "worksCount": "Jumlah pekerjaan", - "@worksCount": {}, "queryPreview": "Pratinjau kueri:", - "@queryPreview": {}, "queryHasNoNameError": "Anda harus memasukkan nama kueri untuk menyimpannya.", - "@queryHasNoNameError": {}, "emptySearchQuery": "Silakan masukkan kata kunci pencarian", - "@emptySearchQuery": {}, "journalSearchError": "Terjadi kesalahan saat mencoba mencari jurnal.", - "@journalSearchError": {}, "saveQuery": "Simpan kueri ini", - "@saveQuery": {}, "queryName": "Nama kueri", - "@queryName": {}, "includeInFeed": "Sertakan dalam umpan", - "@includeInFeed": {}, "dateSaved": "Tanggal disimpan", - "@dateSaved": {}, "publishedin": "Diterbitkan di", - "@publishedin": {}, "subjects": "Mata pelajaran", - "@subjects": {}, "graphicalAbstract": "Ringkasan grafis", - "@graphicalAbstract": {}, "copy": "Salin", - "@copy": {}, "copyAbstract": "Salin abstrak", - "@copyAbstract": {}, "copyTitle": "Salin judul", - "@copyTitle": {}, "copyUrl": "Salin URL", - "@copyUrl": {}, "copiedToClipboard": "Telah disalin ke clipboard!", - "@copiedToClipboard": {}, "apiQueryCopied": "Permintaan API telah disalin ke clipboard", - "@apiQueryCopied": {}, "articleViewer": "Penerjemah artikel", - "@articleViewer": {}, "errorOpenExternalBrowser": "Tidak dapat membuka tautan di browser lain", - "@errorOpenExternalBrowser": {}, "openExternalApp": "Buka di aplikasi eksternal", - "@openExternalApp": {}, "errorOpenExternalPdfApp": "Tidak dapat membuka berkas PDF di aplikasi lain", - "@errorOpenExternalPdfApp": {}, "abstractunavailable": "Abstrak tidak tersedia. Penerbit tidak menyediakan abstrak ke Crossref. Teks lengkap seharusnya masih tersedia.", "@abstractunavailable": { "description": "Text shown in the place of the abstract when it is unavailable." }, "noSavedQueries": "Tidak ada kueri yang disimpan.", - "@noSavedQueries": {}, "noFavorites": "Anda tidak memiliki artikel di favorit Anda. Gunakan ikon hati pada kartu publikasi yang Anda sukai untuk menambahkannya ke favorit Anda!", "@noFavorites": { "description": "The message shown when the user has no articles in their favorites." }, "display": "Tampilkan", - "@display": {}, "displaySettings": "Pengaturan tampilan", - "@displaySettings": {}, "appearance": "Penampilan", - "@appearance": {}, "system": "Sistem", - "@system": {}, "pdfTheme": "Tema pemutar PDF", - "@pdfTheme": {}, "pdfReadingOrientation": "Orientasi pembacaan PDF", - "@pdfReadingOrientation": {}, "vertical": "Vertikal", - "@vertical": {}, "horizontal": "Horizontal", - "@horizontal": {}, "publicationCard": "Kartu publikasi", - "@publicationCard": {}, "publicationCardSettings": "Pengaturan kartu publikasi", - "@publicationCardSettings": {}, "gestures": "Gerakan", - "@gestures": {}, "infoDisplayOnCards": "Informasi yang ditampilkan pada kartu publikasi", - "@infoDisplayOnCards": {}, "none": "Tidak ada", - "@none": {}, "addToFavorites": "Tambahkan ke favorit", - "@addToFavorites": {}, "hidePublication": "Sembunyikan publikasi", - "@hidePublication": {}, "swipeLeftAction": "Gerakan geser ke kiri", - "@swipeLeftAction": {}, "swipeRightAction": "Gerakan geser ke kanan", - "@swipeRightAction": {}, "hideMissingAbstracts": "Sembunyikan abstrak yang hilang", - "@hideMissingAbstracts": {}, "licenseInfo": "Informasi lisensi", - "@licenseInfo": {}, "optionsMenu": "Menu Opsi", - "@optionsMenu": {}, "favoriteButton": "Tombol Favorit", - "@favoriteButton": {}, "unpaywallarticle": "Artikel ini disediakan melalui Unpaywall", "@unpaywallarticle": { "description": "Snackbar shown when an article was fetched from Unpaywall." }, "unpaywallArticleAvailable": "Artikel tersedia melalui Unpaywall", - "@unpaywallArticleAvailable": {}, "unpaywallChoicePrompt": "Artikel ini tersedia melalui Unpaywall. Bagaimana Anda ingin melanjutkan?", - "@unpaywallChoicePrompt": {}, "useUnpaywall": "Buka melalui Unpaywall", - "@useUnpaywall": {}, "goToWebsite": "Kunjungi situs web", - "@goToWebsite": {}, "forwardedproxy": "Diteruskan melalui proxy institusi Anda", "@forwardedproxy": { "description": "Snackbar shown when a request is intercepted and sent through the user's institution EZproxy." }, "proxySuccess": "Proxy berhasil", - "@proxySuccess": {}, "proxyFailure": "Proxy tidak berhasil", - "@proxyFailure": {}, "proxyLogin": "Ini adalah halaman login", - "@proxyLogin": {}, "editKnownUrl": "Edit URL yang sudah diketahui", - "@editKnownUrl": {}, "addKnownUrl": "Tambahkan URL yang sudah diketahui", - "@addKnownUrl": {}, "redirectsSuccessfully": "Pengalihan berhasil", - "@redirectsSuccessfully": {}, "failsToRedirect": "Gagal melakukan pengalihan", - "@failsToRedirect": {}, "loginPage": "Halaman login", - "@loginPage": {}, "manageUrlsAndRedirect": "Kelola URL dan status pengalihan", - "@manageUrlsAndRedirect": {}, "sort": "Sortir", - "@sort": {}, "sortorder": "Urutan penyortiran", - "@sortorder": {}, "followingsince": "Mengikuti sejak {date}", "@followingsince": { "placeholders": { @@ -519,17 +340,11 @@ } }, "pendingUpdate": "Pembaruan tertunda", - "@pendingUpdate": {}, "followingdate": "Tanggal berikutnya", - "@followingdate": {}, "ascending": "Naik", - "@ascending": {}, "descending": "Menurun", - "@descending": {}, "firstauthfamname": "Nama keluarga penulis pertama", - "@firstauthfamname": {}, "dateaddedtofavorites": "Tanggal ditambahkan ke favorit", - "@dateaddedtofavorites": {}, "addedtoyourfav": "Ditambahkan ke favorit Anda pada {date}", "@addedtoyourfav": { "placeholders": { @@ -540,169 +355,89 @@ } }, "buildingfeed": "Membangun umpan Anda. Mohon tunggu…", - "@buildingfeed": {}, "fetchingArticleFromJournal": "Mengambil artikel dari {journalName}.", - "@fetchingArticleFromJournal": {}, "homeFeedEmpty": "Tidak ada publikasi yang tersedia. Kartu publikasi akan ditambahkan setelah Anda mengikuti setidaknya satu jurnal.", "@homeFeedEmpty": { "description": "The message shown when the feed in the home screen is empty." }, "hiddenArticles": "Publikasi tersembunyi", - "@hiddenArticles": {}, "noHiddenArticles": "Tidak ada publikasi tersembunyi", - "@noHiddenArticles": {}, "hideArticle": "Sembunyikan publikasi ini", - "@hideArticle": {}, "viewHiddenArticles": "Lihat publikasi yang tersembunyi", - "@viewHiddenArticles": {}, "unhideArticle": "Tampilkan publikasi ini", - "@unhideArticle": {}, "zoteroPermissions1": "Wispar memerlukan akses baca dan tulis ke akun Zotero Anda untuk dapat memanfaatkan integrasinya.", - "@zoteroPermissions1": {}, "zoteroPermissions2": "Saat membuat kunci API Zotero baru, Anda harus memilih kedua opsi “Izinkan akses perpustakaan” dan “Izinkan akses tulis”.", - "@zoteroPermissions2": {}, "zoteroPermissions3": "Setelah kunci API dibuat, salin nilainya dan tempelkan di dalam bidang teks di bawah ini.", - "@zoteroPermissions3": {}, "zoteroApiKeyEmpty": "Kunci API Zotero belum diatur. Silakan konfigurasikan kunci API di pengaturan aplikasi.", - "@zoteroApiKeyEmpty": {}, "zoteroArticleSent": "Artikel tersebut telah dikirim ke Zotero.", - "@zoteroArticleSent": {}, "enabled": "Diaktifkan", - "@enabled": {}, "disabled": "Cacat", - "@disabled": {}, "concurrentFetches": "Permintaan API bersamaan: {number}", - "@concurrentFetches": {}, "scrapeAbstracts": "Menghapus abstrak yang hilang", - "@scrapeAbstracts": {}, "cachedArticleRetentionDays": "Retensi artikel yang disimpan (hari)", - "@cachedArticleRetentionDays": {}, "cachedArticleRetentionDaysDesc": "Tentukan berapa hari artikel yang disimpan dalam cache akan dipertahankan. Artikel yang lebih lama akan dihapus dari database bersama dengan file PDF dan abstrak grafisnya. Artikel favorit, file PDF yang diunduh, dan artikel yang disembunyikan tidak akan dihapus. Nilai 0 akan menonaktifkan fungsi pembersihan, tetapi file yang terputus akan tetap dihapus.", - "@cachedArticleRetentionDaysDesc": {}, "apiFetchInterval": "Interval pengambilan API", - "@apiFetchInterval": {}, "apiFetchIntervalHint": "Pilih seberapa sering ingin mengambil artikel", - "@apiFetchIntervalHint": {}, "cleanupIntervalInvalidNumber": "Silakan masukkan jumlah hari yang valid.", - "@cleanupIntervalInvalidNumber": {}, "cleanupIntervalNumberNotBetween": "Silakan masukkan nilai antara 1 dan 365.", - "@cleanupIntervalNumberNotBetween": {}, "storagePermissionDenied": "Akses ditolak.", - "@storagePermissionDenied": {}, "exportingDatabase": "Mengekspor basis data, harap tunggu.", - "@exportingDatabase": {}, "importingDatabase": "Mengimpor database, mohon tunggu.", - "@importingDatabase": {}, "customDatabaseLocation": "Lokasi basis data kustom", - "@customDatabaseLocation": {}, "selectCustomDBLocation": "Pilih lokasi untuk menyimpan berkas-berkas basis data", - "@selectCustomDBLocation": {}, "currentDBLocation": "Lokasi saat ini: {path}", - "@currentDBLocation": {}, "movingDatabase": "Memindahkan berkas basis data. Mohon tunggu.", - "@movingDatabase": {}, "databaseMoved": "Berkas basis data telah dipindahkan dengan sukses!", - "@databaseMoved": {}, "databaseMoveFailed": "Tidak dapat memindahkan berkas basis data: {error}", - "@databaseMoveFailed": {}, "databaseConflictTitle": "Data Wispar yang ada telah ditemukan.", - "@databaseConflictTitle": {}, "databaseConflictMessage": "Data Wispar ditemukan di folder yang dipilih. Apakah Anda ingin menggunakan file yang sudah ada atau menggantinya dengan basis data saat ini?", - "@databaseConflictMessage": {}, "useExistingFiles": "Gunakan file yang sudah ada", - "@useExistingFiles": {}, "overwriteFiles": "Ganti dengan database saat ini", - "@overwriteFiles": {}, "overrideUserAgent": "Mengganti agen pengguna", - "@overrideUserAgent": {}, "customUserAgent": "Agen pengguna kustom", - "@customUserAgent": {}, "language": "Bahasa", - "@language": {}, "failedLoadMoreResults": "Gagal memuat hasil tambahan. Silakan periksa log dan pertimbangkan untuk melaporkan masalah ini di GitHub.", - "@failedLoadMoreResults": {}, "errorOccured": "Terjadi kesalahan. Silakan periksa log dan pertimbangkan untuk melaporkan masalah ini di GitHub.", - "@errorOccured": {}, "logs": "Catatan", - "@logs": {}, "viewLogs": "Lihat log", - "@viewLogs": {}, "deleteLogs": "Hapus log", - "@deleteLogs": {}, "logsDeleted": "Catatan telah dihapus!", - "@logsDeleted": {}, "logsUnavailable": "Tidak ada log yang tersedia.", - "@logsUnavailable": {}, "logCopied": "Log telah disalin ke clipboard!", - "@logCopied": {}, "saveLogs": "Simpan log", - "@saveLogs": {}, "selectLogsLocation": "Pilih lokasi tempat menyimpan log.", - "@selectLogsLocation": {}, "logsExportedSuccessfully": "Log telah berhasil disimpan!", - "@logsExportedSuccessfully": {}, "logsExportedError": "Tidak dapat menyimpan log.", - "@logsExportedError": {}, "shareLogs": "Bagikan log", - "@shareLogs": {}, "translate": "Terjemahkan", - "@translate": {}, "noAiApiKeySetError": "Tidak ada kunci API AI yang ditetapkan. Silakan pergi ke pengaturan untuk mengonfigurasinya.", - "@noAiApiKeySetError": {}, "translationFailed": "Terjemahan gagal", - "@translationFailed": {}, "showTranslation": "Tampilkan terjemahan", - "@showTranslation": {}, "showOriginal": "Tampilkan asli", - "@showOriginal": {}, "swapLanguages": "Ganti bahasa", - "@swapLanguages": {}, "cancel": "Batalkan", - "@cancel": {}, "aiSettings": "Pengaturan AI", - "@aiSettings": {}, "hideAiFeatures": "Sembunyikan semua fitur AI", - "@hideAiFeatures": {}, "aiProvider": "Penyedia kecerdasan buatan", - "@aiProvider": {}, "pleaseSelectProvider": "Silakan pilih penyedia layanan", - "@pleaseSelectProvider": {}, "apiKeyLabel": "Kunci API {providerName}", - "@apiKeyLabel": {}, "pleaseEnterAiAPIKey": "Silakan masukkan kunci API untuk {providerName}", - "@pleaseEnterAiAPIKey": {}, "overrideBaseUrl": "Mengganti URL dasar", - "@overrideBaseUrl": {}, "customBaseUrl": "URL dasar kustom", - "@customBaseUrl": {}, "pleaseEnterBaseUrl": "Silakan masukkan URL dasar", - "@pleaseEnterBaseUrl": {}, "invalidUrl": "URL tidak valid", - "@invalidUrl": {}, "modelNameLabel": "Masukkan nama model {provider}", - "@modelNameLabel": {}, "pleaseEnterModelName": "Silakan masukkan nama model {provider}.", - "@pleaseEnterModelName": {}, "aiTemperature": "Suhu", - "@aiTemperature": {}, "aiCustomPrompts": "Prompt terjemahan khusus", - "@aiCustomPrompts": {}, "aiCustomPromptsDescription": "Gunakan $src dan $dst untuk bahasa sumber dan bahasa target, serta $text untuk teks yang akan diterjemahkan. Contoh: Terjemahkan teks berikut dari $src ke $dst: $text", - "@aiCustomPromptsDescription": {}, "prompt": "Perintah", - "@prompt": {}, "missingPlaceholders": "Tempat penanda yang hilang: {placeholders}", - "@missingPlaceholders": {}, "pdfNotReadyForChat": "PDF belum siap untuk obrolan. Silakan tunggu atau coba lagi.", - "@pdfNotReadyForChat": {}, "chatWithPdf": "Obrolan dengan PDF", - "@chatWithPdf": {}, "typeYourMessage": "Tulis pesan Anda...", - "@typeYourMessage": {}, "askAboutPdf": "Halo! Saya siap untuk membahas PDF ini. Apa yang ingin Anda ketahui atau ringkaskan? Perlu diingat bahwa berdiskusi dengan PDF menghabiskan banyak token!", - "@askAboutPdf": {}, "pdfNotFound": "Berkas PDF tidak dapat ditemukan.", - "@pdfNotFound": {}, "apiTokenMissing": "Kunci API untuk {aiModel} tidak ditemukan di pengaturan. Silakan konfigurasikan kunci API tersebut.", "@apiTokenMissing": { "placeholders": { @@ -712,7 +447,6 @@ } }, "noResponseFromAI": "Tidak ada tanggapan yang diterima dari AI.", - "@noResponseFromAI": {}, "errorConnectingToAI": "Kesalahan saat terhubung ke AI ({statusCode}). Silakan periksa koneksi internet atau pengaturan API Anda.", "@errorConnectingToAI": { "placeholders": { @@ -722,25 +456,14 @@ } }, "networkError": "Kesalahan jaringan atau masalah dalam berkomunikasi dengan layanan AI.", - "@networkError": {}, "pdfDownloadOptionsTitle": "Opsi unduh PDF", - "@pdfDownloadOptionsTitle": {}, "openInExternalPdfViewer": "Buka di pembaca PDF eksternal", - "@openInExternalPdfViewer": {}, "openInExternalPdfViewerSubtitle": "Buka file PDF menggunakan browser default perangkat Anda atau aplikasi PDF.", - "@openInExternalPdfViewerSubtitle": {}, "downloadingFile": "Mengunduh file…", - "@downloadingFile": {}, "downloadFailedInAppViewer": "Gagal membuka dalam aplikasi. Anda dapat mencoba tombol unduh PDF di situs web atau memilih opsi pemutar PDF eksternal.", - "@downloadFailedInAppViewer": {}, "errorOpeningFile": "Tidak dapat membuka file.", - "@errorOpeningFile": {}, "downloadStarting": "Unduhan sedang dimulai.", - "@downloadStarting": {}, "downloadFoundPdf": "Unduh PDF yang ditemukan", - "@downloadFoundPdf": {}, "downloadToApp": "Unduh di dalam aplikasi", - "@downloadToApp": {}, - "downloadToAppSubtitle": "Coba unduh dan lihat PDF langsung di Wispar untuk integrasi yang lebih baik.", - "@downloadToAppSubtitle": {} + "downloadToAppSubtitle": "Coba unduh dan lihat PDF langsung di Wispar untuk integrasi yang lebih baik." } diff --git a/lib/l10n/app_ja.arb b/lib/l10n/app_ja.arb index c915f0c..0716831 100644 --- a/lib/l10n/app_ja.arb +++ b/lib/l10n/app_ja.arb @@ -1,18 +1,13 @@ { "save": "保存", - "@save": {}, "home": "ホーム", "@home": { "description": "The home menu button and the app bar title when in the home screen." }, "getStarted": "始める", - "@getStarted": {}, "light": "明るい", - "@light": {}, "setupOtherSettings": "その他の設定", - "@setupOtherSettings": {}, "setupLinkZotero": "Zoteroをリンクする", - "@setupLinkZotero": {}, "favorites": "お気に入り", "@favorites": { "description": "The favorites menu button and the app bar title when in the favorites screen." @@ -22,7 +17,6 @@ "description": "The downloads menu button and the app bar title when in the downloads screen." }, "downloadSuccessful": "論文がダウンロードされました!", - "@downloadSuccessful": {}, "library": "ライブラリ", "@library": { "description": "The library menu button and the app bar title when in the library screen." @@ -32,19 +26,12 @@ "description": "The settings option menu button and the app bar title when in the settings screen." }, "noDownloads": "ダウンロードがありません。", - "@noDownloads": {}, "skip": "スキップ", - "@skip": {}, "delete": "削除", - "@delete": {}, "everything": "すべて", - "@everything": {}, "viewarticle": "論文を読む", - "@viewarticle": {}, "dark": "暗い", - "@dark": {}, "zoteroSettings": "Zoteroの設定", - "@zoteroSettings": {}, "savedOn": "{date}に保存済み", "@savedOn": { "placeholders": { @@ -55,29 +42,21 @@ } }, "hours": "時間", - "@hours": {}, "saveSettings": "設定を保存", - "@saveSettings": {}, "settingsSaved": "設定を保存しました!", - "@settingsSaved": {}, "download": "ダウンロードする", "@download": { "description": "The verb to download, without the 'to'." }, "welcomeWispar": "Wisparにようこそ!", - "@welcomeWispar": {}, "articles": "論文", "@articles": { "description": "As in scientific articles." }, "sendToZotero": "Zoteroに送る", - "@sendToZotero": {}, "setupLinkMyZotero": "私のZoteroアカウントをリンクする", - "@setupLinkMyZotero": {}, "abstract": "抄録", - "@abstract": {}, "language": "言語", - "@language": {}, "search": "検索", "@search": { "description": "Text shown inside the search screen app bar and for the seach button." @@ -87,27 +66,18 @@ "description": "Place holder text in the search input widget." }, "theme": "テーマ", - "@theme": {}, "systemtheme": "システムのテーマ", - "@systemtheme": {}, "database": "データベース", - "@database": {}, "sourceCode": "ソースコード", - "@sourceCode": {}, "databaseSettings": "データベースの設定", - "@databaseSettings": {}, "system": "システム", - "@system": {}, "queries": "クエリ", "@queries": { "description": "Title of the saved search queries tab." }, "saveQuery": "クエリを保存", - "@saveQuery": {}, "queryName": "クエリの名前", - "@queryName": {}, "noSavedQueries": "保存されたクエリがありません。", - "@noSavedQueries": {}, "zoteroValidKey": "APIキーが保存された!", "@zoteroValidKey": { "description": "Snackbar shown when a valid Zotero API key has been saved." @@ -125,45 +95,27 @@ "description": "The button text shown on journal cards when it is followed." }, "titleAndAbstract": "論文名と抄録", - "@titleAndAbstract": {}, "title": "論文名", - "@title": {}, "journaltitle": "学術誌名", - "@journaltitle": {}, "articletitle": "論文名", - "@articletitle": {}, "notificationContent": "新しい論文があります!", - "@notificationContent": {}, "notifications": "通知", - "@notifications": {}, "done": "完了", - "@done": {}, "edit": "編集", - "@edit": {}, "feedName": "フィード名", - "@feedName": {}, "errorFeedNameEmpty": "フィード名を入力してください", - "@errorFeedNameEmpty": {}, "emptyDOIError": "DOIを入力してください", - "@emptyDOIError": {}, "copy": "コピー", - "@copy": {}, "copydoi": "DOIをコピー", - "@copydoi": {}, "copyAbstract": "抄録をコピー", - "@copyAbstract": {}, "copyUrl": "URLをコピー", - "@copyUrl": {}, "copyTitle": "論文名をコピー", - "@copyTitle": {}, "downloadToApp": "アプリ内でダウンロードする", - "@downloadToApp": {}, - "downloadStarting": "", - "@downloadStarting": {}, + "downloadStarting": "ダウンロード開始。", "errorOpeningFile": "", - "@errorOpeningFile": {}, "aiSettings": "AIの設定", - "@aiSettings": {}, "graphicalAbstract": "グラフィカルアブストラクト", - "@graphicalAbstract": {} + "translate": "訳して", + "downloadingFile": "ファイルをダウンロード中…", + "downloadFoundPdf": "見つけたPDFをダウンロードする" } diff --git a/lib/l10n/app_pt.arb b/lib/l10n/app_pt.arb index 5ca3652..8ab742e 100644 --- a/lib/l10n/app_pt.arb +++ b/lib/l10n/app_pt.arb @@ -1,26 +1,17 @@ { "setupZoteroLong": "Enviar publicações diretamente para sua biblioteca Zotero. Elas serão adicionadas à uma coleção especial no Wispar.", - "@setupZoteroLong": {}, "articles": "Artigos", "@articles": { "description": "As in scientific articles." }, "appDescription": "O seu app de código aberto para se manter atualizado com a literatura científica. Vamos configurar o App rapidamente!", - "@appDescription": {}, "welcomeWispar": "Bem vindo ao Wispar!", - "@welcomeWispar": {}, "setupInstitutionalAccess": "Configurar Acesso Institucional", - "@setupInstitutionalAccess": {}, "setupSelectInstitution": "Selecionar minha instituição", - "@setupSelectInstitution": {}, "setupSelectedInstitution": "Você selecionou:", - "@setupSelectedInstitution": {}, "setupLinkZotero": "Link do Zotero", - "@setupLinkZotero": {}, "setupLinkMyZotero": "Link para minha conta Zotero", - "@setupLinkMyZotero": {}, "setupOtherSettings": "Outras configurações", - "@setupOtherSettings": {}, "home": "Início", "@home": { "description": "The home menu button and the app bar title when in the home screen." @@ -38,9 +29,7 @@ "description": "The downloads menu button and the app bar title when in the downloads screen." }, "downloadSuccessful": "O artigo foi baixado com sucesso!", - "@downloadSuccessful": {}, "downloadDeleted": "O artigo foi deletado!", - "@downloadDeleted": {}, "settings": "Configurações", "@settings": { "description": "The settings option menu button and the app bar title when in the settings screen." @@ -62,55 +51,30 @@ "description": "Place holder text in the search input widget." }, "filter": "Filtrar artigos publicados", - "@filter": {}, "filterDownloads": "Filtras baixados", - "@filterDownloads": {}, "filterFavorites": "Filtrar favoritos", - "@filterFavorites": {}, "emptyDOIError": "Por favor entre uma DOI", - "@emptyDOIError": {}, "source": "Fonte: {search_provider}", - "@source": {}, "everything": "Tudo", - "@everything": {}, "title": "Título", - "@title": {}, "searchIn": "Buscar em", - "@searchIn": {}, "addKeyword": "Adicionar palavra-chave", - "@addKeyword": {}, "enterKeyword": "Insira uma palavra-chave", - "@enterKeyword": {}, "displayName": "Nome de exibição", - "@displayName": {}, "queryPreview": "pré-visualização da consulta:", - "@queryPreview": {}, "searchByDOI": "Procurar por DOI", - "@searchByDOI": {}, "searchByTitle": "Procurar por título", - "@searchByTitle": {}, "searchByISSN": "Procurar por ISSN", - "@searchByISSN": {}, "journalSearchError": "Um erro ocorreu ao tentar buscar por revistas.", - "@journalSearchError": {}, "saveQuery": "Salvar essa consulta", - "@saveQuery": {}, "queryName": "Nome da consulta", - "@queryName": {}, "includeInFeed": "Adicionar ao feed", - "@includeInFeed": {}, "dateSaved": "Data salva", - "@dateSaved": {}, "category": "Categoria", - "@category": {}, "publisher": "Editora", - "@publisher": {}, "publishedin": "Publicado em", - "@publishedin": {}, "subjects": "Temas", - "@subjects": {}, "authors": "Autores", - "@authors": {}, "publishedon": "Publicado em {date}", "@publishedon": { "placeholders": { @@ -121,59 +85,34 @@ } }, "abstract": "Resumo", - "@abstract": {}, "copydoi": "Copiar DOI", - "@copydoi": {}, "issnCopied": "ISSN copiado para a área de transferência", - "@issnCopied": {}, "apiQueryCopied": "Requisição da API copiada para a área de transferência", - "@apiQueryCopied": {}, "viewarticle": "Ver artigo", - "@viewarticle": {}, "articleViewer": "Visualizador de artigo", - "@articleViewer": {}, "openExternalBrowser": "Abrir em um navegador externo", - "@openExternalBrowser": {}, "errorOpenExternalBrowser": "Impossibilitado de abrir o link em um navegador diferente", - "@errorOpenExternalBrowser": {}, "openExternalPdfApp": "Abrir em um leitor de PDF externo", - "@openExternalPdfApp": {}, "errorOpenExternalPdfApp": "Impossibilitado de abrir o arquivo PDF em um aplicativo diferente", - "@errorOpenExternalPdfApp": {}, "favorite": "Favorito", - "@favorite": {}, "favoriteadded": "Adicionado aos favoritos", "@favoriteadded": { "description": "Snackbar shown when an article is added to the user's favorites." }, "searchresults": "Resultados da busca", - "@searchresults": {}, "noresultsfound": "Nenhum resultado encontrado.", - "@noresultsfound": {}, "noSavedQueries": "Nenhuma busca salva.", - "@noSavedQueries": {}, "displaySettings": "Configurações de exibição", - "@displaySettings": {}, "display": "Exibição", - "@display": {}, "theme": "Tema", - "@theme": {}, "appearance": "Aparência", - "@appearance": {}, "light": "Branco", - "@light": {}, "systemtheme": "Padrão do sistema", - "@systemtheme": {}, "publicationCard": "Cartão de publicação", - "@publicationCard": {}, "showAllAbstracts": "Mostrar todos os resumos", - "@showAllAbstracts": {}, "hideMissingAbstracts": "Ocultar resumos Inexistentes", - "@hideMissingAbstracts": {}, "hideAllAbstracts": "Ocultar todos os resumos", - "@hideAllAbstracts": {}, "selectinstitution": "Selecione sua instituição", - "@selectinstitution": {}, "followingsince": "Seguindo desde: {date}", "@followingsince": { "placeholders": { @@ -184,15 +123,10 @@ } }, "followingdate": "Começou a seguir em", - "@followingdate": {}, "ascending": "Ascendente", - "@ascending": {}, "descending": "Descendente", - "@descending": {}, "firstauthfamname": "Sobrenome do primeiro autor", - "@firstauthfamname": {}, "datepublished": "Data de publicação", - "@datepublished": {}, "addedtoyourfav": "Adicionado aos favoritos em {date}", "@addedtoyourfav": { "placeholders": { @@ -203,33 +137,23 @@ } }, "noinstitution": "Sem instituição", - "@noinstitution": {}, "buildingfeed": "Construindo seu feed. Por favor aguarde…", - "@buildingfeed": {}, "noPublicationFound": "Nenhuma publicação encontrado.", - "@noPublicationFound": {}, "sharedMessage": "Compartilhado pelo app Wispar", "@sharedMessage": { "description": "Default sharing text." }, "shareArticle": "Compartilhar artigo", - "@shareArticle": {}, "sendToZotero": "Enviar para Zotero", - "@sendToZotero": {}, "zoteroSettings": "Configurações do Zotero", - "@zoteroSettings": {}, "zoteroPermissions1": "Wispar precisa de acesso a leitura e escrita da sua conta Zotero para fazer a integração.", - "@zoteroPermissions1": {}, "zoteroPermissions3": "Uma vez que a chave de API é criada, copie o valor e cole-o no campo de texto abaixo.", - "@zoteroPermissions3": {}, "zoteroCreateKey": "Criar uma nova chave de API", - "@zoteroCreateKey": {}, "zoteroValidKey": "Chave de API salva!", "@zoteroValidKey": { "description": "Snackbar shown when a valid Zotero API key has been saved." }, "save": "Salvar", - "@save": {}, "savedOn": "Salvo em {date}", "@savedOn": { "placeholders": { @@ -240,93 +164,57 @@ } }, "sourceCode": "Código fonte", - "@sourceCode": {}, "reportIssue": "Reportar um problema", - "@reportIssue": {}, "enabled": "Habilitado", - "@enabled": {}, "disabled": "Desabilitado", - "@disabled": {}, "database": "Banco de dados", - "@database": {}, "concurrentFetches": "Atual número de requisições de API: {number}", - "@concurrentFetches": {}, "scrapeAbstracts": "Extrair resumos faltantes", - "@scrapeAbstracts": {}, "cleanupInterval": "Intervalo de limpeza (dias)", - "@cleanupInterval": {}, "apiFetchInterval": "Intervalo de busca da API", - "@apiFetchInterval": {}, "apiFetchIntervalHint": "Selecione com que frequência buscar artigos", - "@apiFetchIntervalHint": {}, "cleanupIntervalInvalidNumber": "Por favor entre um número válido de dias.", - "@cleanupIntervalInvalidNumber": {}, "storagePermissionDenied": "Permissão negada.", - "@storagePermissionDenied": {}, "databaseExportFailed": "Erro ao exportar banco de dados.", - "@databaseExportFailed": {}, "selectDBExportLocation": "Selecione uma localização para exportar o banco de dados.", - "@selectDBExportLocation": {}, "exportDatabase": "Exportar banco de dados", - "@exportDatabase": {}, "databaseImported": "Banco de dados importado com sucesso!", - "@databaseImported": {}, "language": "Idioma", - "@language": {}, "saveSettings": "Salvar configurações", - "@saveSettings": {}, "privacyPolicy": "Política de privacidade", - "@privacyPolicy": {}, "madeBy": "criado por {app_author}", - "@madeBy": {}, "donateMessage": "Ajude no desenvolvimento do Wispar", "@donateMessage": { "description": "Text shown in the subtitle of the Donate button in the settings." }, "otherLicense": "Outras licenças", - "@otherLicense": {}, "unknownLicense": "Licença desconhecida", - "@unknownLicense": {}, "hours": "Horas", - "@hours": {}, "searchOpenAlex": "OpenAlex (Recomendado)", - "@searchOpenAlex": {}, "journaltitle": "Título da revista", - "@journaltitle": {}, "setupInstitutionalAccessLong": "Selecione sua instituição EZproxy para ter acesso as assinaturas das revistas. Isso vai eliminar a necessidade de uma VPN ou de acesso local.", - "@setupInstitutionalAccessLong": {}, "setupOtherSettingsLong": "Configurações adicionais estão disponíveis nas configurações do aplicativo. Acesse pela tela inicial apertando nos três pontos no canto superior direito.", - "@setupOtherSettingsLong": {}, "setupAlmostSet": "Tudo pronto... Quase!", - "@setupAlmostSet": {}, "setupAlmostSetLong": "Agora, nos vamos te levar para a tela de busca, onde você pode seguir suas revistas favoritas. Não esqueça de trocar a categoria no menu de 'Artigos' para 'revistas'.", - "@setupAlmostSetLong": {}, "skip": "Pular", - "@skip": {}, "search": "Busca", "@search": { "description": "Text shown inside the search screen app bar and for the seach button." }, "getStarted": "Começar", - "@getStarted": {}, "delete": "Deletar", - "@delete": {}, "noDownloads": "Você não tem nada salvo.", - "@noDownloads": {}, "journalLibraryEmpty": "Você não esta seguindo nenhuma revista. Use o menu de busca para achar e seguir revistas.", "@journalLibraryEmpty": { "description": "Message shown when the user is not following any journals." }, "citedByCount": "Número de citações", - "@citedByCount": {}, "queryHasNoNameError": "Você precisa inserir um nome de consulta para salva-la.", - "@queryHasNoNameError": {}, "follow": "Seguir", "@follow": { "description": "The button text shown on journal cards when it is not followed." }, "dateaddedtofavorites": "Data adicionada aos favoritos", - "@dateaddedtofavorites": {}, "journals": "Revistas", "@journals": { "description": "The journals menu button and the app bar title when in the journals screen." @@ -336,33 +224,23 @@ "description": "Text shown in the place of the abstract when it is unavailable." }, "filterResultsEmpty": "Nenhuma publicação corresponde ao seu filtro", - "@filterResultsEmpty": {}, "searchByQuery": "Buscar por consulta", - "@searchByQuery": {}, "titleAndAbstract": "Título e resumo", - "@titleAndAbstract": {}, "worksCount": "Número de trabalhos", - "@worksCount": {}, "emptySearchQuery": "Por favor insira os parâmetros de busca", - "@emptySearchQuery": {}, "moreOptions": "Mais opções", - "@moreOptions": {}, "unpaywallarticle": "O artigo foi disponibilizado pelo Unpaywall", "@unpaywallarticle": { "description": "Snackbar shown when an article was fetched from Unpaywall." }, "latestpublications": "Últimas publicações", - "@latestpublications": {}, "doicopied": "DOI copiado para a área de transferência", "@doicopied": { "description": "Snackbar shown when the Copy DOI button is pressed." }, "failLoadMorePublication": "Erro ao carregar mais publicações.", - "@failLoadMorePublication": {}, "cleanupIntervalNumberNotBetween": "Por favor entre um número entre 1 e 365.", - "@cleanupIntervalNumberNotBetween": {}, "databaseExported": "Banco de dados exportado com sucesso!", - "@databaseExported": {}, "homeFeedEmpty": "Nenhuma publicação disponível. cartões de publicação serão adicionados quando você estiver seguindo pelo menos uma revista.", "@homeFeedEmpty": { "description": "The message shown when the feed in the home screen is empty." @@ -372,25 +250,19 @@ "description": "Snackbar shown when an article is removed from the user's favorites." }, "system": "Sistema", - "@system": {}, "sortby": "Ordenar por", - "@sortby": {}, "about": "Sobre", - "@about": {}, "noFavorites": "Você não tem nenhum artigo em seus favoritos. Use o ícone de coração no cartão da publicação para adiciona-los aos favoritos!", "@noFavorites": { "description": "The message shown when the user has no articles in their favorites." }, "dark": "Escuro", - "@dark": {}, "forwardedproxy": "Encaminhado pelo proxy da sua instituição", "@forwardedproxy": { "description": "Snackbar shown when a request is intercepted and sent through the user's institution EZproxy." }, "sortorder": "Ordem de classificação", - "@sortorder": {}, "zoteroPermissions2": "Quando criar uma nova chave de API do Zotero, você deve selecionar tanto 'Permitir acesso à biblioteca' quanto 'Permitir acesso de escrita'.", - "@zoteroPermissions2": {}, "zoteroEnterKey": "Insira uma chave de API", "@zoteroEnterKey": { "description": "Hint text shown in the text field where users can enter their Zotero API key." @@ -400,51 +272,28 @@ "description": "Snackbar shown when an attempt to save an invalid Zotero API key is made." }, "databaseSettings": "Configurações do banco de dados", - "@databaseSettings": {}, "articletitle": "Título do artigo", - "@articletitle": {}, "importDatabase": "Importar banco de dados", - "@importDatabase": {}, "databaseNotFound": "O arquivo de banco de dados não foi encontrado.", - "@databaseNotFound": {}, "databaseImportFailed": "Erro ao importar banco de dados.", - "@databaseImportFailed": {}, "donate": "Doar", - "@donate": {}, "settingsSaved": "Configurações salvas com sucesso!", - "@settingsSaved": {}, "fetchingArticleFromJournal": "Buscando artigos de {journalName}.", - "@fetchingArticleFromJournal": {}, "cleanupIntervalHint": "Insira um número de dias (1 a 365)", - "@cleanupIntervalHint": {}, "publicationDate": "Data da publicação", - "@publicationDate": {}, "notifications": "Notificações", - "@notifications": {}, "notifPermsGranted": "Permissão concedida", - "@notifPermsGranted": {}, "notifPermsNotGranted": "Permissão não concedida", - "@notifPermsNotGranted": {}, "notificationContent": "Novos artigos disponíveis!", - "@notificationContent": {}, "notificationTitleJournal": "As revistas foram atualizadas", - "@notificationTitleJournal": {}, "notificationTitleQuery": "As consultas foram atualizadas", - "@notificationTitleQuery": {}, "fgNotificationTitle": "Serviço de atualização em segundo plano", - "@fgNotificationTitle": {}, "pendingUpdate": "Atualização pendente", - "@pendingUpdate": {}, "hiddenArticles": "Publicações ocultas", - "@hiddenArticles": {}, "noHiddenArticles": "Nenhuma publicação oculta", - "@noHiddenArticles": {}, "hideArticle": "Ocultar esta publicação", - "@hideArticle": {}, "viewHiddenArticles": "Ver publicações ocultas", - "@viewHiddenArticles": {}, "unhideArticle": "Revelar esta publicação", - "@unhideArticle": {}, "lastUpdatedDays": "{days, plural, one{Última atualização há 1 dia} other{Última atualização há {days} dias atrás}}", "@lastUpdatedDays": { "placeholders": { @@ -462,7 +311,6 @@ } }, "openAppSettings": "Abrir configurações", - "@openAppSettings": {}, "lastUpdatedHours": "{hours, plural, one{Última atualização há 1 hora} other{Última atualização há {hours} horas atrás}}", "@lastUpdatedHours": { "placeholders": { @@ -472,121 +320,63 @@ } }, "notificationSettingsMessage": "As notificações estão permanentemente desativadas. Para habilitar, vá para as configurações de notificação do APP.", - "@notificationSettingsMessage": {}, "fgNotificationContent": "Wispar está rodando em segundo plano para atualizar as suas revistas", - "@fgNotificationContent": {}, "sort": "Ordenar", - "@sort": {}, "zoteroApiKeyEmpty": "A chave da API do zotero ainda não foi configurada. Por favor, configure nas configurações do aplicativo.", - "@zoteroApiKeyEmpty": {}, "zoteroArticleSent": "O artigo foi enviado para o Zotero.", - "@zoteroArticleSent": {}, "failedLoadMoreResults": "Erro ao carregar mais resultados. Por favor, confira os registros e considere reportar o erro no GitHub.", - "@failedLoadMoreResults": {}, "errorOccured": "Um erro ocorreu. Por favor, confira os registros e considere reportar o erro no GitHub.", - "@errorOccured": {}, "logs": "Registros", - "@logs": {}, "viewLogs": "Ver registros", - "@viewLogs": {}, "deleteLogs": "Deletar registros", - "@deleteLogs": {}, "logsDeleted": "Registros deletados!", - "@logsDeleted": {}, "logsUnavailable": "Nenhum registro disponível.", - "@logsUnavailable": {}, "logCopied": "Registro copiado para a área de transferência!", - "@logCopied": {}, "saveLogs": "Salvar registros", - "@saveLogs": {}, "selectLogsLocation": "Selecione uma localização para salvar os registros.", - "@selectLogsLocation": {}, "logsExportedSuccessfully": "Registros salvos com sucesso!", - "@logsExportedSuccessfully": {}, "logsExportedError": "Não foi possível salvar os registros.", - "@logsExportedError": {}, "shareLogs": "Compartilhar registros", - "@shareLogs": {}, "institutionalAccess": "Acesso institucional", - "@institutionalAccess": {}, "selectFeed": "Selecione um feed", - "@selectFeed": {}, "createCustomFeed": "Criar um feed customizado", - "@createCustomFeed": {}, "done": "Feito", - "@done": {}, "edit": "Editar", - "@edit": {}, "clearAll": "Limpar tudo", - "@clearAll": {}, "selectAll": "Selecional tudo", - "@selectAll": {}, "customizeFeed": "Customizar feed", - "@customizeFeed": {}, "feedName": "Nome do feed", - "@feedName": {}, "followedJournals": "Revistas seguidas", - "@followedJournals": {}, "moreJournals": "Mais revistas", - "@moreJournals": {}, "includeKeywords": "Incluir palavras-chave", - "@includeKeywords": {}, "excludeKeywords": "Excluir palavras-chave", - "@excludeKeywords": {}, "typePressSpace": "Digite e pressione espaço…", - "@typePressSpace": {}, "errorFeedNameEmpty": "Por favor, insira o nome do feed", - "@errorFeedNameEmpty": {}, "errorFeedNameAlreadyExists": "Um feed com esse nome já existe", - "@errorFeedNameAlreadyExists": {}, "errorSelectOneJournal": "Selecione ao menos uma revista", - "@errorSelectOneJournal": {}, "copy": "Copiar", - "@copy": {}, "copyAbstract": "Copiar resumo", - "@copyAbstract": {}, "copyTitle": "Copiar título", - "@copyTitle": {}, "copyUrl": "Copiar link URL", - "@copyUrl": {}, "copiedToClipboard": "Copiado para a área de transferência!", - "@copiedToClipboard": {}, "pdfTheme": "Tema do visualizador de PDF", - "@pdfTheme": {}, "pdfReadingOrientation": "Orientação da leitura do PDF", - "@pdfReadingOrientation": {}, "vertical": "Vertical", - "@vertical": {}, "horizontal": "Horizontal", - "@horizontal": {}, "pleaseEnterBaseUrl": "Por favor, insira uma URL base", - "@pleaseEnterBaseUrl": {}, "invalidUrl": "URL inválida", - "@invalidUrl": {}, "modelNameLabel": "Insira o modelo de nome de {provider}", - "@modelNameLabel": {}, "pleaseEnterModelName": "Por favor, insira o nome modelo do {provider}.", - "@pleaseEnterModelName": {}, "aiTemperature": "Temperatura", - "@aiTemperature": {}, "aiCustomPrompts": "Prompt personalizado de tradução", - "@aiCustomPrompts": {}, "aiCustomPromptsDescription": "Use $src e $dst para fonte e idioma desejado e %text para a tradução do texto. Por exemplo: Traduza o seguinte texto de $src para $dst: $text", - "@aiCustomPromptsDescription": {}, "prompt": "Prompt", - "@prompt": {}, "missingPlaceholders": "Espaço(s) reservado faltando: {placeholders}", - "@missingPlaceholders": {}, "pdfNotReadyForChat": "PDF não está para conversa. Por favor, tente novamente mais tarde.", - "@pdfNotReadyForChat": {}, "chatWithPdf": "Conversar com PDF", - "@chatWithPdf": {}, "typeYourMessage": "Digite sua menssage...", - "@typeYourMessage": {}, "askAboutPdf": "Olá! Estou pronto para conversar com você sobre esse PDF. O que você gostaria de saber ou resumir? Tenha em mente que conversar com um PDF consome muitos tokens!", - "@askAboutPdf": {}, "pdfNotFound": "O arquivo PDF não pode ser encontrado.", - "@pdfNotFound": {}, "apiTokenMissing": "A chave API para o modelo {aiModel} está faltando nas configurações. Por favor, configure-o.", "@apiTokenMissing": { "placeholders": { @@ -596,7 +386,6 @@ } }, "noResponseFromAI": "Nenhuma resposta obtida pela IA.", - "@noResponseFromAI": {}, "errorConnectingToAI": "Erro ao conectar com a IA {statusCode}. Por favor, cheque a sua conexão com a internet ou as configurações da API.", "@errorConnectingToAI": { "placeholders": { @@ -606,89 +395,47 @@ } }, "networkError": "Erro de internet ou problema em comunicação com o serviço de IA.", - "@networkError": {}, "pdfDownloadOptionsTitle": "Opções de download de PDF", - "@pdfDownloadOptionsTitle": {}, "openInExternalPdfViewer": "Abrir em leitor de PDF", - "@openInExternalPdfViewer": {}, "openInExternalPdfViewerSubtitle": "Abrir o PDF em seu navegador padrão ou aplicativo de PDF.", - "@openInExternalPdfViewerSubtitle": {}, "downloadingFile": "Baixando o arquivo…", - "@downloadingFile": {}, "downloadFailedInAppViewer": "Erro ao abrir no aplicativo. Tentando abrir em leitor externo.", - "@downloadFailedInAppViewer": {}, "errorOpeningFile": "Não foi possível abrir o arquivo.", - "@errorOpeningFile": {}, "downloadStarting": "Download iniciado.", - "@downloadStarting": {}, "downloadFoundPdf": "Baixar PDF encontrado", - "@downloadFoundPdf": {}, "downloadToApp": "Baixar no aplicativo", - "@downloadToApp": {}, "downloadToAppSubtitle": "Tentar baixar e visualizar o PDF diretamente no Wispar para melhor integração.", - "@downloadToAppSubtitle": {}, "proxyFailure": "O proxy não foi bem-sucedido", - "@proxyFailure": {}, "proxyLogin": "Esta é uma página de login", - "@proxyLogin": {}, "editKnownUrl": "Editar URL conhecida", - "@editKnownUrl": {}, "addKnownUrl": "Adicionar URL conhecida", - "@addKnownUrl": {}, "redirectsSuccessfully": "Redirecionamento bem-sucedido", - "@redirectsSuccessfully": {}, "failsToRedirect": "Falha ao redirecionar", - "@failsToRedirect": {}, "loginPage": "Página de login", - "@loginPage": {}, "manageUrlsAndRedirect": "Gerenciar URLs de status de redirecionamento", - "@manageUrlsAndRedirect": {}, "exportingDatabase": "Exportando banco de dados, por favor aguarde.", - "@exportingDatabase": {}, "importingDatabase": "Importando banco de dados, por favor aguarde.", - "@importingDatabase": {}, "overrideUserAgent": "Substituir agente do usuário", - "@overrideUserAgent": {}, "customUserAgent": "Agente do usuário customizado", - "@customUserAgent": {}, "translate": "Traduzir", - "@translate": {}, "noAiApiKeySetError": "Nenhuma chave de API IA configurada. Por favor, vá às configurações e configure uma.", - "@noAiApiKeySetError": {}, "translationFailed": "Falha na tradução", - "@translationFailed": {}, "showTranslation": "Mostrar tradução", - "@showTranslation": {}, "showOriginal": "Mostrar original", - "@showOriginal": {}, "swapLanguages": "Inverter idiomas", - "@swapLanguages": {}, "cancel": "Cancelar", - "@cancel": {}, "aiSettings": "Configurações de IA", - "@aiSettings": {}, "hideAiFeatures": "Ocultar todas as funções de IA", - "@hideAiFeatures": {}, "aiProvider": "Provedor de IA", - "@aiProvider": {}, "pleaseSelectProvider": "Por favor, selecione um provedor", - "@pleaseSelectProvider": {}, "apiKeyLabel": "Chave API do provedor {providerName}", - "@apiKeyLabel": {}, "pleaseEnterAiAPIKey": "Por favor, insira uma chave de API para o provedor {providerName}", - "@pleaseEnterAiAPIKey": {}, "overrideBaseUrl": "Substituir URL base", - "@overrideBaseUrl": {}, "customBaseUrl": "URL base customizada", - "@customBaseUrl": {}, "proxySuccess": "O proxy foi bem-sucedido", - "@proxySuccess": {}, "showPublicationCount": "Mostrar contado de publicações", - "@showPublicationCount": {}, "graphicalAbstract": "Abstração gráfica", - "@graphicalAbstract": {}, "openExternalApp": "Abrir em aplicativo externo", - "@openExternalApp": {}, "numberPublications": "{count, plural, =0{Nenhuma publicação} =1{1 Publicação} other{{count} Publicações}}", "@numberPublications": { "placeholders": { diff --git a/lib/l10n/app_zh_Hans.arb b/lib/l10n/app_zh_Hans.arb index f7146bd..2ecc9b3 100644 --- a/lib/l10n/app_zh_Hans.arb +++ b/lib/l10n/app_zh_Hans.arb @@ -368,7 +368,7 @@ "downloadFailedInAppViewer": "应用内打开失败,可以试试网站的 PDF 下载按钮或选择外部 PDF 查看器选项。", "errorOpeningFile": "无法打开文件。", "downloadStarting": "开始下载。", - "downloadFoundPdf": "下载发现的 pdf", + "downloadFoundPdf": "下载找到的 PDF", "downloadToApp": "在应用内下载", "downloadToAppSubtitle": "尝试直接在 Wispar 应用中下载并查看 PDF 以获得更好的集成体验。", "noAiApiKeySetError": "未设置 AI API 密钥。请前往设置进行配置。", @@ -412,7 +412,7 @@ "missingPlaceholders": "缺少占位符:{placeholders}", "pdfNotReadyForChat": "PDF 尚未准备好聊天。请稍等或重试。", "chatWithPdf": "与 PDF 对话", - "typeYourMessage": "输入您的消息...", + "typeYourMessage": "输入你的消息…", "askAboutPdf": "您好!我已准备好与您讨论这个 PDF。您想了解或总结什么内容?请注意,与 PDF 对话会消耗大量 token!", "pdfNotFound": "找不到 PDF 文件。", "apiTokenMissing": "设置中缺少 {aiModel} 的 API 密钥。请进行配置。", @@ -468,5 +468,14 @@ "databaseMoveFailed": "无法移动数据库文件:{error}", "databaseConflictTitle": "找到了现有的 Wispar 数据。", "useExistingFiles": "使用现有文件", - "overwriteFiles": "用现有数据库覆盖" + "overwriteFiles": "用现有数据库覆盖", + "select": "选择", + "zoteroSpecificCollection": "始终发送到特定的集合", + "zoteroSelectCollection": "选择集合", + "noZoteroCollectionSelected": "未选中集合", + "zoteroSpecificCollection2": "始终发送到这个集合", + "zoteroNewCollection": "新建集合", + "zoteroCollectionName": "集合名", + "create": "创建", + "send": "发送" }