@rmdes/indiekit-endpoint-podroll 1.0.8 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -130,7 +130,7 @@ export const dashboardController = {
130
130
  key: "settings",
131
131
  episodesUrl: episodesUrl || "",
132
132
  opmlUrl: opmlUrl || "",
133
- updatedAt: new Date(),
133
+ updatedAt: new Date().toISOString(),
134
134
  },
135
135
  },
136
136
  { upsert: true },
package/lib/sync.js CHANGED
@@ -168,13 +168,13 @@ function transformEpisode(item) {
168
168
  guid: item.guid || item.id,
169
169
  title: item.title || "Untitled Episode",
170
170
  url: url,
171
- published: item.published ? new Date(item.published * 1000) : new Date(),
171
+ published: item.published ? new Date(item.published * 1000).toISOString() : new Date().toISOString(),
172
172
  content: item.content?.content || item.summary?.content || "",
173
173
  author: item.author || "",
174
174
  enclosure: enclosure,
175
175
  origin: origin,
176
176
  categories: item.categories || [],
177
- fetchedAt: new Date(),
177
+ fetchedAt: new Date().toISOString(),
178
178
  };
179
179
  }
180
180
 
@@ -226,7 +226,7 @@ async function syncEpisodes(db, options) {
226
226
  {
227
227
  $set: {
228
228
  key: "lastEpisodesSync",
229
- timestamp: new Date(),
229
+ timestamp: new Date().toISOString(),
230
230
  episodeCount: episodes.length,
231
231
  inserted,
232
232
  updated,
@@ -276,7 +276,7 @@ async function syncSources(db, options) {
276
276
  sources.map((s, index) => ({
277
277
  ...s,
278
278
  order: index,
279
- fetchedAt: new Date(),
279
+ fetchedAt: new Date().toISOString(),
280
280
  }))
281
281
  );
282
282
  }
@@ -287,7 +287,7 @@ async function syncSources(db, options) {
287
287
  {
288
288
  $set: {
289
289
  key: "lastSourcesSync",
290
- timestamp: new Date(),
290
+ timestamp: new Date().toISOString(),
291
291
  sourceCount: sources.length,
292
292
  },
293
293
  },
@@ -321,7 +321,7 @@ export async function runSync(db, options) {
321
321
  return {
322
322
  episodes: episodesResult,
323
323
  sources: sourcesResult,
324
- timestamp: new Date(),
324
+ timestamp: new Date().toISOString(),
325
325
  };
326
326
  }
327
327
 
@@ -0,0 +1,33 @@
1
+ {
2
+ "podroll": {
3
+ "title": "Podroll",
4
+ "description": "Podcast-Abonnements aggregiert von FreshRSS",
5
+ "stats": "Statistiken",
6
+ "episodeCount": "Episoden",
7
+ "sourceCount": "Podcast-Quellen",
8
+ "lastEpisodesSync": "Letzte Episoden-Synchronisierung",
9
+ "lastSourcesSync": "Letzte Quellen-Synchronisierung",
10
+ "never": "Nie",
11
+ "configuration": "Feed-Quellen",
12
+ "configurationHelp": "URLs für die Podcast-Daten, die die /podroll-Seite betreiben. Gespeicherte Einstellungen überschreiben Umgebungsvariablen.",
13
+ "episodesUrl": "Episoden JSON Feed URL",
14
+ "episodesUrlHelp": "FreshRSS greader API URL für Podcast-Episoden",
15
+ "opmlUrl": "Abonnements OPML URL",
16
+ "opmlUrlHelp": "OPML-Export-URL für die Podcast-Abonnements-Seitenleiste",
17
+ "saveSettings": "Einstellungen speichern",
18
+ "settingsSaved": "Einstellungen erfolgreich gespeichert",
19
+ "syncInterval": "Synchronisierungsintervall",
20
+ "minutes": "Minuten",
21
+ "actions": "Aktionen",
22
+ "syncNow": "Jetzt synchronisieren",
23
+ "clearResync": "Löschen & neu synchronisieren",
24
+ "clearConfirm": "Dadurch werden alle zwischengespeicherten Episoden und Quellen gelöscht und dann neu abgerufen. Fortfahren?",
25
+ "syncSuccess": "Synchronisierung erfolgreich abgeschlossen",
26
+ "clearSuccess": "Daten gelöscht und erfolgreich neu synchronisiert",
27
+ "syncError": "Synchronisierung fehlgeschlagen",
28
+ "apiEndpoints": "API-Endpunkte",
29
+ "apiEpisodes": "Podcast-Episoden auflisten (unterstützt limit, offset, source Parameter)",
30
+ "apiSources": "Podcast-Quellen aus OPML auflisten (unterstützt category Parameter)",
31
+ "apiStatus": "Synchronisierungsstatus und Zählungen"
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "podroll": {
3
+ "title": "Podroll",
4
+ "description": "Suscripciones de podcasts agregadas desde FreshRSS",
5
+ "stats": "Estadísticas",
6
+ "episodeCount": "Episodios",
7
+ "sourceCount": "Fuentes de podcasts",
8
+ "lastEpisodesSync": "Última sincronización de episodios",
9
+ "lastSourcesSync": "Última sincronización de fuentes",
10
+ "never": "Nunca",
11
+ "configuration": "Fuentes de feeds",
12
+ "configurationHelp": "URLs para los datos de podcasts que alimentan la página /podroll. La configuración guardada reemplaza las variables de entorno.",
13
+ "episodesUrl": "URL del feed JSON de episodios",
14
+ "episodesUrlHelp": "URL de la API greader de FreshRSS para episodios de podcasts",
15
+ "opmlUrl": "URL OPML de suscripciones",
16
+ "opmlUrlHelp": "URL de exportación OPML para la barra lateral de suscripciones de podcasts",
17
+ "saveSettings": "Guardar configuración",
18
+ "settingsSaved": "Configuración guardada exitosamente",
19
+ "syncInterval": "Intervalo de sincronización",
20
+ "minutes": "minutos",
21
+ "actions": "Acciones",
22
+ "syncNow": "Sincronizar ahora",
23
+ "clearResync": "Limpiar y resincronizar",
24
+ "clearConfirm": "Esto eliminará todos los episodios y fuentes en caché, luego los volverá a obtener. ¿Continuar?",
25
+ "syncSuccess": "Sincronización completada exitosamente",
26
+ "clearSuccess": "Datos limpiados y resincronizados exitosamente",
27
+ "syncError": "Falló la sincronización",
28
+ "apiEndpoints": "Endpoints de API",
29
+ "apiEpisodes": "Listar episodios de podcasts (soporta parámetros limit, offset, source)",
30
+ "apiSources": "Listar fuentes de podcasts desde OPML (soporta parámetro category)",
31
+ "apiStatus": "Estado de sincronización y conteos"
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "podroll": {
3
+ "title": "Podroll",
4
+ "description": "Suscripciones de podcasts agregadas desde FreshRSS",
5
+ "stats": "Estadísticas",
6
+ "episodeCount": "Episodios",
7
+ "sourceCount": "Fuentes de podcasts",
8
+ "lastEpisodesSync": "Última sincronización de episodios",
9
+ "lastSourcesSync": "Última sincronización de fuentes",
10
+ "never": "Nunca",
11
+ "configuration": "Fuentes de feeds",
12
+ "configurationHelp": "URLs para los datos de podcasts que alimentan la página /podroll. La configuración guardada sobrescribe las variables de entorno.",
13
+ "episodesUrl": "URL del feed JSON de episodios",
14
+ "episodesUrlHelp": "URL de la API greader de FreshRSS para episodios de podcasts",
15
+ "opmlUrl": "URL OPML de suscripciones",
16
+ "opmlUrlHelp": "URL de exportación OPML para la barra lateral de suscripciones de podcasts",
17
+ "saveSettings": "Guardar configuración",
18
+ "settingsSaved": "Configuración guardada correctamente",
19
+ "syncInterval": "Intervalo de sincronización",
20
+ "minutes": "minutos",
21
+ "actions": "Acciones",
22
+ "syncNow": "Sincronizar ahora",
23
+ "clearResync": "Borrar y resincronizar",
24
+ "clearConfirm": "Esto eliminará todos los episodios y fuentes en caché, luego los volverá a obtener. ¿Continuar?",
25
+ "syncSuccess": "Sincronización completada correctamente",
26
+ "clearSuccess": "Datos borrados y resincronizados correctamente",
27
+ "syncError": "Error en la sincronización",
28
+ "apiEndpoints": "Endpoints de API",
29
+ "apiEpisodes": "Listar episodios de podcasts (admite parámetros limit, offset, source)",
30
+ "apiSources": "Listar fuentes de podcasts desde OPML (admite parámetro category)",
31
+ "apiStatus": "Estado de sincronización y conteos"
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "podroll": {
3
+ "title": "Podroll",
4
+ "description": "Abonnements de podcasts agrégés depuis FreshRSS",
5
+ "stats": "Statistiques",
6
+ "episodeCount": "Épisodes",
7
+ "sourceCount": "Sources de podcasts",
8
+ "lastEpisodesSync": "Dernière synchronisation des épisodes",
9
+ "lastSourcesSync": "Dernière synchronisation des sources",
10
+ "never": "Jamais",
11
+ "configuration": "Sources de flux",
12
+ "configurationHelp": "URLs pour les données de podcasts qui alimentent la page /podroll. Les paramètres enregistrés remplacent les variables d'environnement.",
13
+ "episodesUrl": "URL du flux JSON des épisodes",
14
+ "episodesUrlHelp": "URL de l'API greader de FreshRSS pour les épisodes de podcasts",
15
+ "opmlUrl": "URL OPML des abonnements",
16
+ "opmlUrlHelp": "URL d'exportation OPML pour la barre latérale des abonnements de podcasts",
17
+ "saveSettings": "Enregistrer les paramètres",
18
+ "settingsSaved": "Paramètres enregistrés avec succès",
19
+ "syncInterval": "Intervalle de synchronisation",
20
+ "minutes": "minutes",
21
+ "actions": "Actions",
22
+ "syncNow": "Synchroniser maintenant",
23
+ "clearResync": "Effacer et resynchroniser",
24
+ "clearConfirm": "Cela supprimera tous les épisodes et sources en cache, puis les récupérera à nouveau. Continuer ?",
25
+ "syncSuccess": "Synchronisation réussie",
26
+ "clearSuccess": "Données effacées et resynchronisées avec succès",
27
+ "syncError": "Échec de la synchronisation",
28
+ "apiEndpoints": "Points de terminaison API",
29
+ "apiEpisodes": "Lister les épisodes de podcasts (prend en charge les paramètres limit, offset, source)",
30
+ "apiSources": "Lister les sources de podcasts depuis OPML (prend en charge le paramètre category)",
31
+ "apiStatus": "État de synchronisation et comptages"
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "podroll": {
3
+ "title": "Podroll",
4
+ "description": "FreshRSS से एकत्रित पॉडकास्ट सदस्यताएं",
5
+ "stats": "सांख्यिकी",
6
+ "episodeCount": "एपिसोड",
7
+ "sourceCount": "पॉडकास्ट स्रोत",
8
+ "lastEpisodesSync": "अंतिम एपिसोड सिंक",
9
+ "lastSourcesSync": "अंतिम स्रोत सिंक",
10
+ "never": "कभी नहीं",
11
+ "configuration": "फ़ीड स्रोत",
12
+ "configurationHelp": "/podroll पृष्ठ को संचालित करने वाले पॉडकास्ट डेटा के लिए URL। सहेजी गई सेटिंग्स पर्यावरण चर को ओवरराइड करती हैं।",
13
+ "episodesUrl": "एपिसोड JSON फ़ीड URL",
14
+ "episodesUrlHelp": "पॉडकास्ट एपिसोड के लिए FreshRSS greader API URL",
15
+ "opmlUrl": "सदस्यता OPML URL",
16
+ "opmlUrlHelp": "पॉडकास्ट सदस्यता साइडबार के लिए OPML निर्यात URL",
17
+ "saveSettings": "सेटिंग्स सहेजें",
18
+ "settingsSaved": "सेटिंग्स सफलतापूर्वक सहेजी गईं",
19
+ "syncInterval": "सिंक अंतराल",
20
+ "minutes": "मिनट",
21
+ "actions": "क्रियाएं",
22
+ "syncNow": "अभी सिंक करें",
23
+ "clearResync": "साफ़ करें और फिर से सिंक करें",
24
+ "clearConfirm": "यह सभी कैश्ड एपिसोड और स्रोतों को हटा देगा, फिर फिर से प्राप्त करेगा। जारी रखें?",
25
+ "syncSuccess": "सिंक सफलतापूर्वक पूर्ण",
26
+ "clearSuccess": "डेटा साफ़ किया गया और सफलतापूर्वक फिर से सिंक किया गया",
27
+ "syncError": "सिंक विफल",
28
+ "apiEndpoints": "API एंडपॉइंट",
29
+ "apiEpisodes": "पॉडकास्ट एपिसोड सूचीबद्ध करें (limit, offset, source पैरामीटर समर्थित)",
30
+ "apiSources": "OPML से पॉडकास्ट स्रोत सूचीबद्ध करें (category पैरामीटर समर्थित)",
31
+ "apiStatus": "सिंक स्थिति और गणना"
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "podroll": {
3
+ "title": "Podroll",
4
+ "description": "Langganan podcast yang dikumpulkan dari FreshRSS",
5
+ "stats": "Statistik",
6
+ "episodeCount": "Episode",
7
+ "sourceCount": "Sumber Podcast",
8
+ "lastEpisodesSync": "Sinkronisasi Episode Terakhir",
9
+ "lastSourcesSync": "Sinkronisasi Sumber Terakhir",
10
+ "never": "Tidak Pernah",
11
+ "configuration": "Sumber Feed",
12
+ "configurationHelp": "URL untuk data podcast yang menggerakkan halaman /podroll. Pengaturan yang disimpan menimpa variabel lingkungan.",
13
+ "episodesUrl": "URL Feed JSON Episode",
14
+ "episodesUrlHelp": "URL API greader FreshRSS untuk episode podcast",
15
+ "opmlUrl": "URL OPML Langganan",
16
+ "opmlUrlHelp": "URL ekspor OPML untuk sidebar langganan podcast",
17
+ "saveSettings": "Simpan Pengaturan",
18
+ "settingsSaved": "Pengaturan berhasil disimpan",
19
+ "syncInterval": "Interval Sinkronisasi",
20
+ "minutes": "menit",
21
+ "actions": "Tindakan",
22
+ "syncNow": "Sinkronkan Sekarang",
23
+ "clearResync": "Hapus & Sinkronkan Ulang",
24
+ "clearConfirm": "Ini akan menghapus semua episode dan sumber yang di-cache, lalu mengambilnya kembali. Lanjutkan?",
25
+ "syncSuccess": "Sinkronisasi selesai dengan sukses",
26
+ "clearSuccess": "Data dihapus dan berhasil disinkronkan ulang",
27
+ "syncError": "Sinkronisasi gagal",
28
+ "apiEndpoints": "Endpoint API",
29
+ "apiEpisodes": "Daftar episode podcast (mendukung parameter limit, offset, source)",
30
+ "apiSources": "Daftar sumber podcast dari OPML (mendukung parameter category)",
31
+ "apiStatus": "Status sinkronisasi dan jumlah"
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "podroll": {
3
+ "title": "Podroll",
4
+ "description": "Abbonamenti podcast aggregati da FreshRSS",
5
+ "stats": "Statistiche",
6
+ "episodeCount": "Episodi",
7
+ "sourceCount": "Fonti Podcast",
8
+ "lastEpisodesSync": "Ultima sincronizzazione episodi",
9
+ "lastSourcesSync": "Ultima sincronizzazione fonti",
10
+ "never": "Mai",
11
+ "configuration": "Fonti Feed",
12
+ "configurationHelp": "URL per i dati podcast che alimentano la pagina /podroll. Le impostazioni salvate sovrascrivono le variabili d'ambiente.",
13
+ "episodesUrl": "URL Feed JSON Episodi",
14
+ "episodesUrlHelp": "URL API greader di FreshRSS per episodi podcast",
15
+ "opmlUrl": "URL OPML Abbonamenti",
16
+ "opmlUrlHelp": "URL di esportazione OPML per la barra laterale degli abbonamenti podcast",
17
+ "saveSettings": "Salva impostazioni",
18
+ "settingsSaved": "Impostazioni salvate con successo",
19
+ "syncInterval": "Intervallo di sincronizzazione",
20
+ "minutes": "minuti",
21
+ "actions": "Azioni",
22
+ "syncNow": "Sincronizza ora",
23
+ "clearResync": "Cancella e risincronizza",
24
+ "clearConfirm": "Questo eliminerà tutti gli episodi e le fonti nella cache, quindi li recupererà nuovamente. Continuare?",
25
+ "syncSuccess": "Sincronizzazione completata con successo",
26
+ "clearSuccess": "Dati cancellati e risincronizzati con successo",
27
+ "syncError": "Sincronizzazione fallita",
28
+ "apiEndpoints": "Endpoint API",
29
+ "apiEpisodes": "Elenca episodi podcast (supporta parametri limit, offset, source)",
30
+ "apiSources": "Elenca fonti podcast da OPML (supporta parametro category)",
31
+ "apiStatus": "Stato sincronizzazione e conteggi"
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "podroll": {
3
+ "title": "Podroll",
4
+ "description": "Podcast-abonnementen geaggregeerd vanuit FreshRSS",
5
+ "stats": "Statistieken",
6
+ "episodeCount": "Afleveringen",
7
+ "sourceCount": "Podcast-bronnen",
8
+ "lastEpisodesSync": "Laatste afleveringensynchronisatie",
9
+ "lastSourcesSync": "Laatste bronnensynchronisatie",
10
+ "never": "Nooit",
11
+ "configuration": "Feed-bronnen",
12
+ "configurationHelp": "URL's voor de podcast-gegevens die de /podroll-pagina aandrijven. Opgeslagen instellingen overschrijven omgevingsvariabelen.",
13
+ "episodesUrl": "Afleveringen JSON Feed URL",
14
+ "episodesUrlHelp": "FreshRSS greader API URL voor podcast-afleveringen",
15
+ "opmlUrl": "Abonnementen OPML URL",
16
+ "opmlUrlHelp": "OPML-export URL voor de zijbalk met podcast-abonnementen",
17
+ "saveSettings": "Instellingen opslaan",
18
+ "settingsSaved": "Instellingen succesvol opgeslagen",
19
+ "syncInterval": "Synchronisatie-interval",
20
+ "minutes": "minuten",
21
+ "actions": "Acties",
22
+ "syncNow": "Nu synchroniseren",
23
+ "clearResync": "Wissen en opnieuw synchroniseren",
24
+ "clearConfirm": "Dit zal alle opgeslagen afleveringen en bronnen verwijderen en vervolgens opnieuw ophalen. Doorgaan?",
25
+ "syncSuccess": "Synchronisatie succesvol voltooid",
26
+ "clearSuccess": "Gegevens gewist en succesvol opnieuw gesynchroniseerd",
27
+ "syncError": "Synchronisatie mislukt",
28
+ "apiEndpoints": "API-eindpunten",
29
+ "apiEpisodes": "Lijst podcast-afleveringen (ondersteunt limit, offset, source parameters)",
30
+ "apiSources": "Lijst podcast-bronnen uit OPML (ondersteunt category parameter)",
31
+ "apiStatus": "Synchronisatiestatus en aantallen"
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "podroll": {
3
+ "title": "Podroll",
4
+ "description": "Subskrypcje podcastów zagregowane z FreshRSS",
5
+ "stats": "Statystyki",
6
+ "episodeCount": "Odcinki",
7
+ "sourceCount": "Źródła podcastów",
8
+ "lastEpisodesSync": "Ostatnia synchronizacja odcinków",
9
+ "lastSourcesSync": "Ostatnia synchronizacja źródeł",
10
+ "never": "Nigdy",
11
+ "configuration": "Źródła kanałów",
12
+ "configurationHelp": "Adresy URL dla danych podcastów zasilających stronę /podroll. Zapisane ustawienia nadpisują zmienne środowiskowe.",
13
+ "episodesUrl": "Adres URL kanału JSON odcinków",
14
+ "episodesUrlHelp": "Adres URL API greader FreshRSS dla odcinków podcastów",
15
+ "opmlUrl": "Adres URL OPML subskrypcji",
16
+ "opmlUrlHelp": "Adres URL eksportu OPML dla paska bocznego subskrypcji podcastów",
17
+ "saveSettings": "Zapisz ustawienia",
18
+ "settingsSaved": "Ustawienia zapisane pomyślnie",
19
+ "syncInterval": "Interwał synchronizacji",
20
+ "minutes": "minuty",
21
+ "actions": "Działania",
22
+ "syncNow": "Synchronizuj teraz",
23
+ "clearResync": "Wyczyść i zsynchronizuj ponownie",
24
+ "clearConfirm": "Spowoduje to usunięcie wszystkich buforowanych odcinków i źródeł, a następnie ponowne ich pobranie. Kontynuować?",
25
+ "syncSuccess": "Synchronizacja zakończona pomyślnie",
26
+ "clearSuccess": "Dane wyczyszczone i pomyślnie zsynchronizowane ponownie",
27
+ "syncError": "Synchronizacja nie powiodła się",
28
+ "apiEndpoints": "Punkty końcowe API",
29
+ "apiEpisodes": "Wyświetl odcinki podcastów (obsługuje parametry limit, offset, source)",
30
+ "apiSources": "Wyświetl źródła podcastów z OPML (obsługuje parametr category)",
31
+ "apiStatus": "Status synchronizacji i liczniki"
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "podroll": {
3
+ "title": "Podroll",
4
+ "description": "Inscrições de podcasts agregadas do FreshRSS",
5
+ "stats": "Estatísticas",
6
+ "episodeCount": "Episódios",
7
+ "sourceCount": "Fontes de Podcasts",
8
+ "lastEpisodesSync": "Última sincronização de episódios",
9
+ "lastSourcesSync": "Última sincronização de fontes",
10
+ "never": "Nunca",
11
+ "configuration": "Fontes de Feeds",
12
+ "configurationHelp": "URLs para os dados de podcasts que alimentam a página /podroll. As configurações salvas substituem as variáveis de ambiente.",
13
+ "episodesUrl": "URL do Feed JSON de Episódios",
14
+ "episodesUrlHelp": "URL da API greader do FreshRSS para episódios de podcasts",
15
+ "opmlUrl": "URL OPML de Inscrições",
16
+ "opmlUrlHelp": "URL de exportação OPML para a barra lateral de inscrições de podcasts",
17
+ "saveSettings": "Salvar configurações",
18
+ "settingsSaved": "Configurações salvas com sucesso",
19
+ "syncInterval": "Intervalo de sincronização",
20
+ "minutes": "minutos",
21
+ "actions": "Ações",
22
+ "syncNow": "Sincronizar agora",
23
+ "clearResync": "Limpar e ressincronizar",
24
+ "clearConfirm": "Isso excluirá todos os episódios e fontes em cache e, em seguida, buscará novamente. Continuar?",
25
+ "syncSuccess": "Sincronização concluída com sucesso",
26
+ "clearSuccess": "Dados limpos e ressincronizados com sucesso",
27
+ "syncError": "Falha na sincronização",
28
+ "apiEndpoints": "Endpoints de API",
29
+ "apiEpisodes": "Listar episódios de podcasts (suporta parâmetros limit, offset, source)",
30
+ "apiSources": "Listar fontes de podcasts do OPML (suporta parâmetro category)",
31
+ "apiStatus": "Status de sincronização e contagens"
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "podroll": {
3
+ "title": "Podroll",
4
+ "description": "Subscrições de podcasts agregadas do FreshRSS",
5
+ "stats": "Estatísticas",
6
+ "episodeCount": "Episódios",
7
+ "sourceCount": "Fontes de Podcasts",
8
+ "lastEpisodesSync": "Última sincronização de episódios",
9
+ "lastSourcesSync": "Última sincronização de fontes",
10
+ "never": "Nunca",
11
+ "configuration": "Fontes de Feeds",
12
+ "configurationHelp": "URLs para os dados de podcasts que alimentam a página /podroll. As definições guardadas substituem as variáveis de ambiente.",
13
+ "episodesUrl": "URL do Feed JSON de Episódios",
14
+ "episodesUrlHelp": "URL da API greader do FreshRSS para episódios de podcasts",
15
+ "opmlUrl": "URL OPML de Subscrições",
16
+ "opmlUrlHelp": "URL de exportação OPML para a barra lateral de subscrições de podcasts",
17
+ "saveSettings": "Guardar definições",
18
+ "settingsSaved": "Definições guardadas com sucesso",
19
+ "syncInterval": "Intervalo de sincronização",
20
+ "minutes": "minutos",
21
+ "actions": "Acções",
22
+ "syncNow": "Sincronizar agora",
23
+ "clearResync": "Limpar e ressincronizar",
24
+ "clearConfirm": "Isto eliminará todos os episódios e fontes em cache e, em seguida, irá obtê-los novamente. Continuar?",
25
+ "syncSuccess": "Sincronização concluída com sucesso",
26
+ "clearSuccess": "Dados limpos e ressincronizados com sucesso",
27
+ "syncError": "Falha na sincronização",
28
+ "apiEndpoints": "Endpoints de API",
29
+ "apiEpisodes": "Listar episódios de podcasts (suporta parâmetros limit, offset, source)",
30
+ "apiSources": "Listar fontes de podcasts do OPML (suporta parâmetro category)",
31
+ "apiStatus": "Estado de sincronização e contagens"
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "podroll": {
3
+ "title": "Podroll",
4
+ "description": "Претплате на подкасте сакупљене из FreshRSS",
5
+ "stats": "Статистика",
6
+ "episodeCount": "Епизоде",
7
+ "sourceCount": "Извори подкаста",
8
+ "lastEpisodesSync": "Последња синхронизација епизода",
9
+ "lastSourcesSync": "Последња синхронизација извора",
10
+ "never": "Никада",
11
+ "configuration": "Извори довода",
12
+ "configurationHelp": "URL адресе за податке о подкастима који покрећу страницу /podroll. Сачуване поставке замењују променљиве окружења.",
13
+ "episodesUrl": "URL JSON довода епизода",
14
+ "episodesUrlHelp": "URL FreshRSS greader API за епизоде подкаста",
15
+ "opmlUrl": "URL OPML претплата",
16
+ "opmlUrlHelp": "URL OPML извоза за бочну траку претплата на подкасте",
17
+ "saveSettings": "Сачувај поставке",
18
+ "settingsSaved": "Поставке успешно сачуване",
19
+ "syncInterval": "Интервал синхронизације",
20
+ "minutes": "минута",
21
+ "actions": "Радње",
22
+ "syncNow": "Синхронизуј сада",
23
+ "clearResync": "Обриши и поново синхронизуј",
24
+ "clearConfirm": "Ово ће обрисати све кеширане епизоде и изворе, затим их поново преузети. Наставити?",
25
+ "syncSuccess": "Синхронизација успешно завршена",
26
+ "clearSuccess": "Подаци обрисани и успешно поново синхронизовани",
27
+ "syncError": "Синхронизација није успела",
28
+ "apiEndpoints": "API крајње тачке",
29
+ "apiEpisodes": "Прикажи епизоде подкаста (подржава параметре limit, offset, source)",
30
+ "apiSources": "Прикажи изворе подкаста из OPML (подржава параметар category)",
31
+ "apiStatus": "Статус синхронизације и бројања"
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "podroll": {
3
+ "title": "Podroll",
4
+ "description": "Poddprenumerationer aggregerade från FreshRSS",
5
+ "stats": "Statistik",
6
+ "episodeCount": "Avsnitt",
7
+ "sourceCount": "Poddkällor",
8
+ "lastEpisodesSync": "Senaste avsnittsynkronisering",
9
+ "lastSourcesSync": "Senaste källsynkronisering",
10
+ "never": "Aldrig",
11
+ "configuration": "Flödeskällor",
12
+ "configurationHelp": "URL:er för podddata som driver /podroll-sidan. Sparade inställningar åsidosätter miljövariabler.",
13
+ "episodesUrl": "Avsnitt JSON-flödes-URL",
14
+ "episodesUrlHelp": "FreshRSS greader API-URL för poddavsnitt",
15
+ "opmlUrl": "Prenumerationer OPML-URL",
16
+ "opmlUrlHelp": "OPML-export-URL för sidofältet med poddprenumerationer",
17
+ "saveSettings": "Spara inställningar",
18
+ "settingsSaved": "Inställningar sparade",
19
+ "syncInterval": "Synkroniseringsintervall",
20
+ "minutes": "minuter",
21
+ "actions": "Åtgärder",
22
+ "syncNow": "Synkronisera nu",
23
+ "clearResync": "Rensa och synkronisera om",
24
+ "clearConfirm": "Detta kommer att radera alla cachade avsnitt och källor och sedan hämta dem igen. Fortsätta?",
25
+ "syncSuccess": "Synkronisering slutförd",
26
+ "clearSuccess": "Data rensad och omsynkroniserad",
27
+ "syncError": "Synkronisering misslyckades",
28
+ "apiEndpoints": "API-ändpunkter",
29
+ "apiEpisodes": "Lista poddavsnitt (stöder parametrarna limit, offset, source)",
30
+ "apiSources": "Lista poddkällor från OPML (stöder parametern category)",
31
+ "apiStatus": "Synkroniseringsstatus och räknare"
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "podroll": {
3
+ "title": "Podroll",
4
+ "description": "从 FreshRSS 聚合的播客订阅",
5
+ "stats": "统计",
6
+ "episodeCount": "剧集",
7
+ "sourceCount": "播客来源",
8
+ "lastEpisodesSync": "上次剧集同步",
9
+ "lastSourcesSync": "上次来源同步",
10
+ "never": "从未",
11
+ "configuration": "订阅源来源",
12
+ "configurationHelp": "为 /podroll 页面提供播客数据的 URL。保存的设置会覆盖环境变量。",
13
+ "episodesUrl": "剧集 JSON 订阅源 URL",
14
+ "episodesUrlHelp": "FreshRSS greader API URL 用于播客剧集",
15
+ "opmlUrl": "订阅 OPML URL",
16
+ "opmlUrlHelp": "播客订阅侧边栏的 OPML 导出 URL",
17
+ "saveSettings": "保存设置",
18
+ "settingsSaved": "设置保存成功",
19
+ "syncInterval": "同步间隔",
20
+ "minutes": "分钟",
21
+ "actions": "操作",
22
+ "syncNow": "立即同步",
23
+ "clearResync": "清除并重新同步",
24
+ "clearConfirm": "这将删除所有缓存的剧集和来源,然后重新获取。继续?",
25
+ "syncSuccess": "同步成功完成",
26
+ "clearSuccess": "数据已清除并成功重新同步",
27
+ "syncError": "同步失败",
28
+ "apiEndpoints": "API 端点",
29
+ "apiEpisodes": "列出播客剧集(支持 limit、offset、source 参数)",
30
+ "apiSources": "列出 OPML 中的播客来源(支持 category 参数)",
31
+ "apiStatus": "同步状态和计数"
32
+ }
33
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rmdes/indiekit-endpoint-podroll",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "description": "Podcast roll endpoint for Indiekit. Aggregates podcast episodes from FreshRSS, displays on frontend with OPML sidebar.",
5
5
  "keywords": [
6
6
  "indiekit",