@rmdes/indiekit-endpoint-lastfm 1.0.9 → 1.0.11

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.
package/lib/sync.js CHANGED
@@ -177,7 +177,8 @@ export async function syncScrobbles(db, client) {
177
177
 
178
178
  // Get the latest synced scrobble
179
179
  const latest = await collection.findOne({}, { sort: { scrobbledAt: -1 } });
180
- const latestDate = latest?.scrobbledAt || new Date(0);
180
+ // Handle both Date objects (old data) and ISO strings (new data)
181
+ const latestDate = latest?.scrobbledAt ? new Date(latest.scrobbledAt) : new Date(0);
181
182
 
182
183
  console.log(
183
184
  `[Last.fm] Syncing scrobbles since: ${latestDate.toISOString()}`
@@ -236,13 +237,13 @@ export async function syncScrobbles(db, client) {
236
237
  * @returns {object} - Transformed document
237
238
  */
238
239
  function transformScrobble(scrobble) {
239
- const scrobbledAt = parseDate(scrobble.date);
240
+ const scrobbledAtDate = parseDate(scrobble.date);
240
241
  const artistName = getArtistName(scrobble);
241
242
  const albumTitle = getAlbumName(scrobble);
242
243
 
243
244
  return {
244
245
  // Create a unique ID from track info and timestamp
245
- lastfmId: `${artistName}:${scrobble.name}:${scrobbledAt.getTime()}`,
246
+ lastfmId: `${artistName}:${scrobble.name}:${scrobbledAtDate.getTime()}`,
246
247
  trackTitle: scrobble.name,
247
248
  trackUrl: getTrackUrl(scrobble),
248
249
  artistName,
@@ -252,7 +253,7 @@ function transformScrobble(scrobble) {
252
253
  mbid: getMbid(scrobble),
253
254
  coverUrl: getCoverUrl(scrobble),
254
255
  loved: scrobble.loved === "1",
255
- scrobbledAt,
256
- syncedAt: new Date(),
256
+ scrobbledAt: scrobbledAtDate.toISOString(),
257
+ syncedAt: new Date().toISOString(),
257
258
  };
258
259
  }
package/lib/utils.js CHANGED
@@ -239,8 +239,11 @@ export function getPlayingStatus(track) {
239
239
  */
240
240
  export function formatScrobble(scrobble, fromDb = false) {
241
241
  if (fromDb) {
242
- // From MongoDB
243
- const scrobbledAt = scrobble.scrobbledAt;
242
+ // From MongoDB — scrobbledAt may be Date object (old) or ISO string (new)
243
+ const scrobbledAtRaw = scrobble.scrobbledAt;
244
+ const scrobbledAtISO = scrobbledAtRaw instanceof Date
245
+ ? scrobbledAtRaw.toISOString()
246
+ : scrobbledAtRaw;
244
247
  return {
245
248
  id: scrobble.lastfmId || scrobble._id?.toString(),
246
249
  track: scrobble.trackTitle,
@@ -250,9 +253,9 @@ export function formatScrobble(scrobble, fromDb = false) {
250
253
  trackUrl: scrobble.trackUrl,
251
254
  mbid: scrobble.mbid,
252
255
  loved: scrobble.loved || false,
253
- scrobbledAt: scrobbledAt.toISOString(),
254
- relativeTime: formatRelativeTime(scrobbledAt),
255
- status: getPlayingStatus({ date: scrobbledAt }),
256
+ scrobbledAt: scrobbledAtISO,
257
+ relativeTime: formatRelativeTime(scrobbledAtRaw),
258
+ status: getPlayingStatus({ date: scrobbledAtRaw }),
256
259
  };
257
260
  }
258
261
 
@@ -0,0 +1,47 @@
1
+ {
2
+ "lastfm": {
3
+ "title": "Last.fm",
4
+ "scrobbles": "Scrobble-Verlauf",
5
+ "loved": "Geliebte Titel",
6
+ "stats": "Statistiken",
7
+ "nowPlaying": "Aktuell",
8
+ "recentlyPlayed": "Zuletzt gespielt",
9
+ "lastPlayed": "Zuletzt gespielt",
10
+ "allTime": "Alle Zeiten",
11
+ "thisWeek": "Diese Woche",
12
+ "thisMonth": "Dieser Monat",
13
+ "trends": "Trends",
14
+ "scrobbleTrend": "Scrobble-Trend (30 Tage)",
15
+ "topArtists": "Top-Künstler",
16
+ "topAlbums": "Top-Alben",
17
+ "plays": "Wiedergaben",
18
+ "tracks": "Titel",
19
+ "artists": "Künstler",
20
+ "albums": "Alben",
21
+ "scrobbleTime": "Scrobble-Zeit",
22
+ "noRecentPlays": "Keine Musik kürzlich gescrobbelt",
23
+ "noLoved": "Noch keine geliebten Titel",
24
+ "viewAll": "Alle anzeigen",
25
+ "viewStats": "Statistiken anzeigen",
26
+ "sync": "Jetzt synchronisieren",
27
+ "lastSync": "Letzte Synchronisierung",
28
+ "settings": "Einstellungen",
29
+ "settingsHelp": "Konfigurieren Sie Ihre Last.fm-Zugangsdaten. Gespeicherte Einstellungen überschreiben Umgebungsvariablen.",
30
+ "apiKey": "API-Schlüssel",
31
+ "apiKeyHelp": "Ihr Last.fm-API-Schlüssel (erhalten Sie einen unter last.fm/api/account/create)",
32
+ "username": "Benutzername",
33
+ "usernameHelp": "Last.fm-Benutzername, von dem Scrobbles abgerufen werden",
34
+ "saveSettings": "Einstellungen speichern",
35
+ "settingsSaved": "Einstellungen erfolgreich gespeichert",
36
+ "syncSuccess": "%s neue Scrobbles synchronisiert",
37
+ "actions": "Aktionen",
38
+ "error": {
39
+ "connection": "Verbindung zu Last.fm nicht möglich. Überprüfen Sie Ihren API-Schlüssel und Benutzernamen.",
40
+ "noConfig": "Last.fm-API-Schlüssel und Benutzername sind erforderlich. Konfigurieren Sie sie unten."
41
+ },
42
+ "widget": {
43
+ "description": "Kombinierte Höraktivität auf der öffentlichen Seite anzeigen",
44
+ "view": "Hörseite anzeigen"
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "lastfm": {
3
+ "title": "Last.fm",
4
+ "scrobbles": "Historial de Scrobble",
5
+ "loved": "Canciones favoritas",
6
+ "stats": "Estadísticas",
7
+ "nowPlaying": "Reproduciendo ahora",
8
+ "recentlyPlayed": "Reproducido recientemente",
9
+ "lastPlayed": "Última reproducción",
10
+ "allTime": "Desde siempre",
11
+ "thisWeek": "Esta semana",
12
+ "thisMonth": "Este mes",
13
+ "trends": "Tendencias",
14
+ "scrobbleTrend": "Tendencia de Scrobble (30 días)",
15
+ "topArtists": "Artistas principales",
16
+ "topAlbums": "Álbumes principales",
17
+ "plays": "reproducciones",
18
+ "tracks": "canciones",
19
+ "artists": "artistas",
20
+ "albums": "álbumes",
21
+ "scrobbleTime": "Tiempo de Scrobble",
22
+ "noRecentPlays": "No se hizo scrobble de música recientemente",
23
+ "noLoved": "Todavía no hay canciones favoritas",
24
+ "viewAll": "Ver todo",
25
+ "viewStats": "Ver estadísticas",
26
+ "sync": "Sincronizar ahora",
27
+ "lastSync": "Última sincronización",
28
+ "settings": "Configuración",
29
+ "settingsHelp": "Configura tus credenciales de Last.fm. La configuración guardada reemplaza las variables de entorno.",
30
+ "apiKey": "Clave API",
31
+ "apiKeyHelp": "Tu clave API de Last.fm (obtén una en last.fm/api/account/create)",
32
+ "username": "Nombre de usuario",
33
+ "usernameHelp": "Nombre de usuario de Last.fm del que obtener scrobbles",
34
+ "saveSettings": "Guardar configuración",
35
+ "settingsSaved": "Configuración guardada correctamente",
36
+ "syncSuccess": "%s scrobbles nuevos sincronizados",
37
+ "actions": "Acciones",
38
+ "error": {
39
+ "connection": "No se pudo conectar con Last.fm. Verifica tu clave API y nombre de usuario.",
40
+ "noConfig": "Se requieren la clave API y el nombre de usuario de Last.fm. Configúralos a continuación."
41
+ },
42
+ "widget": {
43
+ "description": "Ver la actividad de escucha combinada en la página pública",
44
+ "view": "Ver página de escucha"
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "lastfm": {
3
+ "title": "Last.fm",
4
+ "scrobbles": "Historial de Scrobble",
5
+ "loved": "Pistas favoritas",
6
+ "stats": "Estadísticas",
7
+ "nowPlaying": "Reproduciendo ahora",
8
+ "recentlyPlayed": "Reproducido recientemente",
9
+ "lastPlayed": "Última reproducción",
10
+ "allTime": "Todos los tiempos",
11
+ "thisWeek": "Esta semana",
12
+ "thisMonth": "Este mes",
13
+ "trends": "Tendencias",
14
+ "scrobbleTrend": "Tendencia de Scrobble (30 días)",
15
+ "topArtists": "Artistas principales",
16
+ "topAlbums": "Álbumes principales",
17
+ "plays": "reproducciones",
18
+ "tracks": "pistas",
19
+ "artists": "artistas",
20
+ "albums": "álbumes",
21
+ "scrobbleTime": "Tiempo de Scrobble",
22
+ "noRecentPlays": "No se ha hecho scrobble de música recientemente",
23
+ "noLoved": "Aún no hay pistas favoritas",
24
+ "viewAll": "Ver todo",
25
+ "viewStats": "Ver estadísticas",
26
+ "sync": "Sincronizar ahora",
27
+ "lastSync": "Última sincronización",
28
+ "settings": "Configuración",
29
+ "settingsHelp": "Configure sus credenciales de Last.fm. La configuración guardada anula las variables de entorno.",
30
+ "apiKey": "Clave API",
31
+ "apiKeyHelp": "Tu clave API de Last.fm (obtén una en last.fm/api/account/create)",
32
+ "username": "Nombre de usuario",
33
+ "usernameHelp": "Nombre de usuario de Last.fm del que obtener scrobbles",
34
+ "saveSettings": "Guardar configuración",
35
+ "settingsSaved": "Configuración guardada correctamente",
36
+ "syncSuccess": "%s nuevos scrobbles sincronizados",
37
+ "actions": "Acciones",
38
+ "error": {
39
+ "connection": "No se pudo conectar con Last.fm. Compruebe su clave API y nombre de usuario.",
40
+ "noConfig": "Se requieren la clave API y el nombre de usuario de Last.fm. Configúrelos a continuación."
41
+ },
42
+ "widget": {
43
+ "description": "Ver la actividad de reproducción combinada en la página pública",
44
+ "view": "Ver página de reproducción"
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "lastfm": {
3
+ "title": "Last.fm",
4
+ "scrobbles": "Historique de Scrobble",
5
+ "loved": "Pistes aimées",
6
+ "stats": "Statistiques",
7
+ "nowPlaying": "En cours de lecture",
8
+ "recentlyPlayed": "Récemment écouté",
9
+ "lastPlayed": "Dernière écoute",
10
+ "allTime": "Tous temps",
11
+ "thisWeek": "Cette semaine",
12
+ "thisMonth": "Ce mois-ci",
13
+ "trends": "Tendances",
14
+ "scrobbleTrend": "Tendance de Scrobble (30 jours)",
15
+ "topArtists": "Artistes principaux",
16
+ "topAlbums": "Albums principaux",
17
+ "plays": "lectures",
18
+ "tracks": "pistes",
19
+ "artists": "artistes",
20
+ "albums": "albums",
21
+ "scrobbleTime": "Temps de Scrobble",
22
+ "noRecentPlays": "Aucune musique scrobblée récemment",
23
+ "noLoved": "Pas encore de pistes aimées",
24
+ "viewAll": "Voir tout",
25
+ "viewStats": "Voir les statistiques",
26
+ "sync": "Synchroniser maintenant",
27
+ "lastSync": "Dernière synchronisation",
28
+ "settings": "Paramètres",
29
+ "settingsHelp": "Configurez vos identifiants Last.fm. Les paramètres enregistrés remplacent les variables d'environnement.",
30
+ "apiKey": "Clé API",
31
+ "apiKeyHelp": "Votre clé API Last.fm (obtenez-en une sur last.fm/api/account/create)",
32
+ "username": "Nom d'utilisateur",
33
+ "usernameHelp": "Nom d'utilisateur Last.fm pour récupérer les scrobbles",
34
+ "saveSettings": "Enregistrer les paramètres",
35
+ "settingsSaved": "Paramètres enregistrés avec succès",
36
+ "syncSuccess": "%s nouveaux scrobbles synchronisés",
37
+ "actions": "Actions",
38
+ "error": {
39
+ "connection": "Impossible de se connecter à Last.fm. Vérifiez votre clé API et votre nom d'utilisateur.",
40
+ "noConfig": "La clé API et le nom d'utilisateur Last.fm sont requis. Configurez-les ci-dessous."
41
+ },
42
+ "widget": {
43
+ "description": "Afficher l'activité d'écoute combinée sur la page publique",
44
+ "view": "Afficher la page d'écoute"
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "lastfm": {
3
+ "title": "Last.fm",
4
+ "scrobbles": "Scrobble इतिहास",
5
+ "loved": "पसंदीदा ट्रैक",
6
+ "stats": "आंकड़े",
7
+ "nowPlaying": "अभी चल रहा है",
8
+ "recentlyPlayed": "हाल ही में चलाया गया",
9
+ "lastPlayed": "अंतिम बार चलाया गया",
10
+ "allTime": "सभी समय",
11
+ "thisWeek": "इस सप्ताह",
12
+ "thisMonth": "इस महीने",
13
+ "trends": "रुझान",
14
+ "scrobbleTrend": "Scrobble रुझान (30 दिन)",
15
+ "topArtists": "शीर्ष कलाकार",
16
+ "topAlbums": "शीर्ष एल्बम",
17
+ "plays": "बार चलाया",
18
+ "tracks": "ट्रैक",
19
+ "artists": "कलाकार",
20
+ "albums": "एल्बम",
21
+ "scrobbleTime": "Scrobble समय",
22
+ "noRecentPlays": "हाल ही में कोई संगीत scrobble नहीं किया गया",
23
+ "noLoved": "अभी तक कोई पसंदीदा ट्रैक नहीं",
24
+ "viewAll": "सभी देखें",
25
+ "viewStats": "आंकड़े देखें",
26
+ "sync": "अभी समन्वयित करें",
27
+ "lastSync": "अंतिम समन्वयन",
28
+ "settings": "सेटिंग्स",
29
+ "settingsHelp": "अपने Last.fm क्रेडेंशियल कॉन्फ़िगर करें। सहेजी गई सेटिंग्स पर्यावरण चर को ओवरराइड करती हैं।",
30
+ "apiKey": "API कुंजी",
31
+ "apiKeyHelp": "आपकी Last.fm API कुंजी (last.fm/api/account/create पर एक प्राप्त करें)",
32
+ "username": "उपयोगकर्ता नाम",
33
+ "usernameHelp": "Last.fm उपयोगकर्ता नाम जिससे scrobbles लाना है",
34
+ "saveSettings": "सेटिंग्स सहेजें",
35
+ "settingsSaved": "सेटिंग्स सफलतापूर्वक सहेजी गईं",
36
+ "syncSuccess": "%s नए scrobbles समन्वयित किए गए",
37
+ "actions": "क्रियाएं",
38
+ "error": {
39
+ "connection": "Last.fm से कनेक्ट नहीं हो सका। अपनी API कुंजी और उपयोगकर्ता नाम जांचें।",
40
+ "noConfig": "Last.fm API कुंजी और उपयोगकर्ता नाम आवश्यक हैं। उन्हें नीचे कॉन्फ़िगर करें।"
41
+ },
42
+ "widget": {
43
+ "description": "सार्वजनिक पृष्ठ पर संयुक्त सुनने की गतिविधि देखें",
44
+ "view": "सुनने का पृष्ठ देखें"
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "lastfm": {
3
+ "title": "Last.fm",
4
+ "scrobbles": "Riwayat Scrobble",
5
+ "loved": "Lagu Favorit",
6
+ "stats": "Statistik",
7
+ "nowPlaying": "Sedang Diputar",
8
+ "recentlyPlayed": "Baru Diputar",
9
+ "lastPlayed": "Terakhir Diputar",
10
+ "allTime": "Sepanjang Waktu",
11
+ "thisWeek": "Minggu Ini",
12
+ "thisMonth": "Bulan Ini",
13
+ "trends": "Tren",
14
+ "scrobbleTrend": "Tren Scrobble (30 hari)",
15
+ "topArtists": "Artis Teratas",
16
+ "topAlbums": "Album Teratas",
17
+ "plays": "pemutaran",
18
+ "tracks": "lagu",
19
+ "artists": "artis",
20
+ "albums": "album",
21
+ "scrobbleTime": "Waktu Scrobble",
22
+ "noRecentPlays": "Tidak ada musik yang di-scrobble baru-baru ini",
23
+ "noLoved": "Belum ada lagu favorit",
24
+ "viewAll": "Lihat Semua",
25
+ "viewStats": "Lihat Statistik",
26
+ "sync": "Sinkronkan Sekarang",
27
+ "lastSync": "Sinkronisasi terakhir",
28
+ "settings": "Pengaturan",
29
+ "settingsHelp": "Konfigurasi kredensial Last.fm Anda. Pengaturan yang disimpan menimpa variabel lingkungan.",
30
+ "apiKey": "Kunci API",
31
+ "apiKeyHelp": "Kunci API Last.fm Anda (dapatkan di last.fm/api/account/create)",
32
+ "username": "Nama Pengguna",
33
+ "usernameHelp": "Nama pengguna Last.fm untuk mengambil scrobble",
34
+ "saveSettings": "Simpan Pengaturan",
35
+ "settingsSaved": "Pengaturan berhasil disimpan",
36
+ "syncSuccess": "%s scrobble baru disinkronkan",
37
+ "actions": "Tindakan",
38
+ "error": {
39
+ "connection": "Tidak dapat terhubung ke Last.fm. Periksa kunci API dan nama pengguna Anda.",
40
+ "noConfig": "Kunci API dan nama pengguna Last.fm diperlukan. Konfigurasikan di bawah ini."
41
+ },
42
+ "widget": {
43
+ "description": "Lihat aktivitas mendengarkan gabungan di halaman publik",
44
+ "view": "Lihat Halaman Mendengarkan"
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "lastfm": {
3
+ "title": "Last.fm",
4
+ "scrobbles": "Cronologia Scrobble",
5
+ "loved": "Brani preferiti",
6
+ "stats": "Statistiche",
7
+ "nowPlaying": "In riproduzione",
8
+ "recentlyPlayed": "Riprodotto di recente",
9
+ "lastPlayed": "Ultima riproduzione",
10
+ "allTime": "Tutti i tempi",
11
+ "thisWeek": "Questa settimana",
12
+ "thisMonth": "Questo mese",
13
+ "trends": "Tendenze",
14
+ "scrobbleTrend": "Tendenza Scrobble (30 giorni)",
15
+ "topArtists": "Artisti principali",
16
+ "topAlbums": "Album principali",
17
+ "plays": "riproduzioni",
18
+ "tracks": "brani",
19
+ "artists": "artisti",
20
+ "albums": "album",
21
+ "scrobbleTime": "Tempo di Scrobble",
22
+ "noRecentPlays": "Nessuna musica scrobblata di recente",
23
+ "noLoved": "Nessun brano preferito ancora",
24
+ "viewAll": "Visualizza tutto",
25
+ "viewStats": "Visualizza statistiche",
26
+ "sync": "Sincronizza ora",
27
+ "lastSync": "Ultima sincronizzazione",
28
+ "settings": "Impostazioni",
29
+ "settingsHelp": "Configura le tue credenziali Last.fm. Le impostazioni salvate sovrascrivono le variabili d'ambiente.",
30
+ "apiKey": "Chiave API",
31
+ "apiKeyHelp": "La tua chiave API Last.fm (ottienine una su last.fm/api/account/create)",
32
+ "username": "Nome utente",
33
+ "usernameHelp": "Nome utente Last.fm da cui recuperare gli scrobble",
34
+ "saveSettings": "Salva impostazioni",
35
+ "settingsSaved": "Impostazioni salvate con successo",
36
+ "syncSuccess": "%s nuovi scrobble sincronizzati",
37
+ "actions": "Azioni",
38
+ "error": {
39
+ "connection": "Impossibile connettersi a Last.fm. Controlla la tua chiave API e il nome utente.",
40
+ "noConfig": "Chiave API e nome utente Last.fm sono richiesti. Configurali qui sotto."
41
+ },
42
+ "widget": {
43
+ "description": "Visualizza l'attività di ascolto combinata sulla pagina pubblica",
44
+ "view": "Visualizza pagina di ascolto"
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "lastfm": {
3
+ "title": "Last.fm",
4
+ "scrobbles": "Scrobble-geschiedenis",
5
+ "loved": "Favoriete nummers",
6
+ "stats": "Statistieken",
7
+ "nowPlaying": "Nu aan het spelen",
8
+ "recentlyPlayed": "Recent afgespeeld",
9
+ "lastPlayed": "Laatst afgespeeld",
10
+ "allTime": "Alle tijden",
11
+ "thisWeek": "Deze week",
12
+ "thisMonth": "Deze maand",
13
+ "trends": "Trends",
14
+ "scrobbleTrend": "Scrobble-trend (30 dagen)",
15
+ "topArtists": "Topartiesten",
16
+ "topAlbums": "Topalbums",
17
+ "plays": "afspelingen",
18
+ "tracks": "nummers",
19
+ "artists": "artiesten",
20
+ "albums": "albums",
21
+ "scrobbleTime": "Scrobbletijd",
22
+ "noRecentPlays": "Geen muziek recent gescrobbled",
23
+ "noLoved": "Nog geen favoriete nummers",
24
+ "viewAll": "Alles bekijken",
25
+ "viewStats": "Statistieken bekijken",
26
+ "sync": "Nu synchroniseren",
27
+ "lastSync": "Laatste synchronisatie",
28
+ "settings": "Instellingen",
29
+ "settingsHelp": "Configureer uw Last.fm-inloggegevens. Opgeslagen instellingen overschrijven omgevingsvariabelen.",
30
+ "apiKey": "API-sleutel",
31
+ "apiKeyHelp": "Uw Last.fm API-sleutel (verkrijg er een op last.fm/api/account/create)",
32
+ "username": "Gebruikersnaam",
33
+ "usernameHelp": "Last.fm-gebruikersnaam om scrobbles van op te halen",
34
+ "saveSettings": "Instellingen opslaan",
35
+ "settingsSaved": "Instellingen succesvol opgeslagen",
36
+ "syncSuccess": "%s nieuwe scrobbles gesynchroniseerd",
37
+ "actions": "Acties",
38
+ "error": {
39
+ "connection": "Kon geen verbinding maken met Last.fm. Controleer uw API-sleutel en gebruikersnaam.",
40
+ "noConfig": "Last.fm API-sleutel en gebruikersnaam zijn vereist. Configureer ze hieronder."
41
+ },
42
+ "widget": {
43
+ "description": "Bekijk gecombineerde luisteractiviteit op de openbare pagina",
44
+ "view": "Luisterpagina bekijken"
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "lastfm": {
3
+ "title": "Last.fm",
4
+ "scrobbles": "Historia Scrobble",
5
+ "loved": "Ulubione utwory",
6
+ "stats": "Statystyki",
7
+ "nowPlaying": "Teraz odtwarzane",
8
+ "recentlyPlayed": "Ostatnio odtwarzane",
9
+ "lastPlayed": "Ostatnio odtworzono",
10
+ "allTime": "Cały czas",
11
+ "thisWeek": "W tym tygodniu",
12
+ "thisMonth": "W tym miesiącu",
13
+ "trends": "Trendy",
14
+ "scrobbleTrend": "Trend Scrobble (30 dni)",
15
+ "topArtists": "Najlepsi artyści",
16
+ "topAlbums": "Najlepsze albumy",
17
+ "plays": "odtworzeń",
18
+ "tracks": "utworów",
19
+ "artists": "artystów",
20
+ "albums": "albumów",
21
+ "scrobbleTime": "Czas Scrobble",
22
+ "noRecentPlays": "Nie zescrobblowano ostatnio żadnej muzyki",
23
+ "noLoved": "Brak jeszcze ulubionych utworów",
24
+ "viewAll": "Wyświetl wszystko",
25
+ "viewStats": "Wyświetl statystyki",
26
+ "sync": "Synchronizuj teraz",
27
+ "lastSync": "Ostatnia synchronizacja",
28
+ "settings": "Ustawienia",
29
+ "settingsHelp": "Skonfiguruj swoje dane uwierzytelniające Last.fm. Zapisane ustawienia nadpisują zmienne środowiskowe.",
30
+ "apiKey": "Klucz API",
31
+ "apiKeyHelp": "Twój klucz API Last.fm (uzyskaj go na last.fm/api/account/create)",
32
+ "username": "Nazwa użytkownika",
33
+ "usernameHelp": "Nazwa użytkownika Last.fm, z której pobierać scrobble",
34
+ "saveSettings": "Zapisz ustawienia",
35
+ "settingsSaved": "Ustawienia zapisane pomyślnie",
36
+ "syncSuccess": "Zsynchronizowano %s nowych scrobble",
37
+ "actions": "Działania",
38
+ "error": {
39
+ "connection": "Nie można połączyć się z Last.fm. Sprawdź swój klucz API i nazwę użytkownika.",
40
+ "noConfig": "Wymagany jest klucz API i nazwa użytkownika Last.fm. Skonfiguruj je poniżej."
41
+ },
42
+ "widget": {
43
+ "description": "Zobacz połączoną aktywność odsłuchu na stronie publicznej",
44
+ "view": "Zobacz stronę odsłuchu"
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "lastfm": {
3
+ "title": "Last.fm",
4
+ "scrobbles": "Histórico de Scrobble",
5
+ "loved": "Músicas favoritas",
6
+ "stats": "Estatísticas",
7
+ "nowPlaying": "Tocando agora",
8
+ "recentlyPlayed": "Tocado recentemente",
9
+ "lastPlayed": "Última reprodução",
10
+ "allTime": "Todos os tempos",
11
+ "thisWeek": "Esta semana",
12
+ "thisMonth": "Este mês",
13
+ "trends": "Tendências",
14
+ "scrobbleTrend": "Tendência de Scrobble (30 dias)",
15
+ "topArtists": "Artistas principais",
16
+ "topAlbums": "Álbuns principais",
17
+ "plays": "reproduções",
18
+ "tracks": "músicas",
19
+ "artists": "artistas",
20
+ "albums": "álbuns",
21
+ "scrobbleTime": "Tempo de Scrobble",
22
+ "noRecentPlays": "Nenhuma música scrobbled recentemente",
23
+ "noLoved": "Ainda não há músicas favoritas",
24
+ "viewAll": "Ver tudo",
25
+ "viewStats": "Ver estatísticas",
26
+ "sync": "Sincronizar agora",
27
+ "lastSync": "Última sincronização",
28
+ "settings": "Configurações",
29
+ "settingsHelp": "Configure suas credenciais do Last.fm. As configurações salvas substituem as variáveis de ambiente.",
30
+ "apiKey": "Chave API",
31
+ "apiKeyHelp": "Sua chave API do Last.fm (obtenha uma em last.fm/api/account/create)",
32
+ "username": "Nome de usuário",
33
+ "usernameHelp": "Nome de usuário do Last.fm para buscar scrobbles",
34
+ "saveSettings": "Salvar configurações",
35
+ "settingsSaved": "Configurações salvas com sucesso",
36
+ "syncSuccess": "%s novos scrobbles sincronizados",
37
+ "actions": "Ações",
38
+ "error": {
39
+ "connection": "Não foi possível conectar ao Last.fm. Verifique sua chave API e nome de usuário.",
40
+ "noConfig": "A chave API e o nome de usuário do Last.fm são necessários. Configure-os abaixo."
41
+ },
42
+ "widget": {
43
+ "description": "Ver a atividade de audição combinada na página pública",
44
+ "view": "Ver página de audição"
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "lastfm": {
3
+ "title": "Last.fm",
4
+ "scrobbles": "Histórico de Scrobble",
5
+ "loved": "Faixas adoradas",
6
+ "stats": "Estatísticas",
7
+ "nowPlaying": "A tocar agora",
8
+ "recentlyPlayed": "Tocado recentemente",
9
+ "lastPlayed": "Última reprodução",
10
+ "allTime": "Todos os tempos",
11
+ "thisWeek": "Esta semana",
12
+ "thisMonth": "Este mês",
13
+ "trends": "Tendências",
14
+ "scrobbleTrend": "Tendência de Scrobble (30 dias)",
15
+ "topArtists": "Artistas principais",
16
+ "topAlbums": "Álbuns principais",
17
+ "plays": "reproduções",
18
+ "tracks": "faixas",
19
+ "artists": "artistas",
20
+ "albums": "álbuns",
21
+ "scrobbleTime": "Tempo de Scrobble",
22
+ "noRecentPlays": "Nenhuma música scrobbled recentemente",
23
+ "noLoved": "Ainda não há faixas adoradas",
24
+ "viewAll": "Ver tudo",
25
+ "viewStats": "Ver estatísticas",
26
+ "sync": "Sincronizar agora",
27
+ "lastSync": "Última sincronização",
28
+ "settings": "Definições",
29
+ "settingsHelp": "Configure as suas credenciais Last.fm. As definições guardadas sobrepõem-se às variáveis de ambiente.",
30
+ "apiKey": "Chave API",
31
+ "apiKeyHelp": "A sua chave API Last.fm (obtenha uma em last.fm/api/account/create)",
32
+ "username": "Nome de utilizador",
33
+ "usernameHelp": "Nome de utilizador Last.fm para obter scrobbles",
34
+ "saveSettings": "Guardar definições",
35
+ "settingsSaved": "Definições guardadas com sucesso",
36
+ "syncSuccess": "%s novos scrobbles sincronizados",
37
+ "actions": "Ações",
38
+ "error": {
39
+ "connection": "Não foi possível ligar ao Last.fm. Verifique a sua chave API e nome de utilizador.",
40
+ "noConfig": "A chave API e o nome de utilizador Last.fm são necessários. Configure-os abaixo."
41
+ },
42
+ "widget": {
43
+ "description": "Ver a atividade de audição combinada na página pública",
44
+ "view": "Ver página de audição"
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "lastfm": {
3
+ "title": "Last.fm",
4
+ "scrobbles": "Историја Scrobble",
5
+ "loved": "Омиљене песме",
6
+ "stats": "Статистике",
7
+ "nowPlaying": "Тренутно свира",
8
+ "recentlyPlayed": "Недавно пуштено",
9
+ "lastPlayed": "Последње пуштено",
10
+ "allTime": "Свих времена",
11
+ "thisWeek": "Ове недеље",
12
+ "thisMonth": "Овог месеца",
13
+ "trends": "Трендови",
14
+ "scrobbleTrend": "Тренд Scrobble (30 дана)",
15
+ "topArtists": "Најбољи извођачи",
16
+ "topAlbums": "Најбољи албуми",
17
+ "plays": "репродукција",
18
+ "tracks": "песама",
19
+ "artists": "извођача",
20
+ "albums": "албума",
21
+ "scrobbleTime": "Време Scrobble",
22
+ "noRecentPlays": "Недавно није scrobbled музика",
23
+ "noLoved": "Још нема омиљених песама",
24
+ "viewAll": "Прикажи све",
25
+ "viewStats": "Прикажи статистике",
26
+ "sync": "Синхронизуј сада",
27
+ "lastSync": "Последња синхронизација",
28
+ "settings": "Подешавања",
29
+ "settingsHelp": "Конфигуришите своје Last.fm акредитиве. Сачувана подешавања замењују променљиве окружења.",
30
+ "apiKey": "API кључ",
31
+ "apiKeyHelp": "Ваш Last.fm API кључ (набавите га на last.fm/api/account/create)",
32
+ "username": "Корисничко име",
33
+ "usernameHelp": "Last.fm корисничко име за преузимање scrobble",
34
+ "saveSettings": "Сачувај подешавања",
35
+ "settingsSaved": "Подешавања успешно сачувана",
36
+ "syncSuccess": "%s нових scrobble синхронизовано",
37
+ "actions": "Акције",
38
+ "error": {
39
+ "connection": "Није могуће повезати се са Last.fm. Проверите свој API кључ и корисничко име.",
40
+ "noConfig": "Last.fm API кључ и корисничко име су неопходни. Конфигуришите их испод."
41
+ },
42
+ "widget": {
43
+ "description": "Погледајте комбиновану активност слушања на јавној страници",
44
+ "view": "Погледај страницу слушања"
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "lastfm": {
3
+ "title": "Last.fm",
4
+ "scrobbles": "Scrobble-historik",
5
+ "loved": "Älskade spår",
6
+ "stats": "Statistik",
7
+ "nowPlaying": "Spelar nu",
8
+ "recentlyPlayed": "Nyligen spelad",
9
+ "lastPlayed": "Senast spelad",
10
+ "allTime": "Alla tider",
11
+ "thisWeek": "Denna vecka",
12
+ "thisMonth": "Denna månad",
13
+ "trends": "Trender",
14
+ "scrobbleTrend": "Scrobble-trend (30 dagar)",
15
+ "topArtists": "Toppartister",
16
+ "topAlbums": "Toppalbum",
17
+ "plays": "spelningar",
18
+ "tracks": "spår",
19
+ "artists": "artister",
20
+ "albums": "album",
21
+ "scrobbleTime": "Scrobbletid",
22
+ "noRecentPlays": "Ingen musik scrobblad nyligen",
23
+ "noLoved": "Inga älskade spår ännu",
24
+ "viewAll": "Visa alla",
25
+ "viewStats": "Visa statistik",
26
+ "sync": "Synkronisera nu",
27
+ "lastSync": "Senaste synkronisering",
28
+ "settings": "Inställningar",
29
+ "settingsHelp": "Konfigurera dina Last.fm-uppgifter. Sparade inställningar åsidosätter miljövariabler.",
30
+ "apiKey": "API-nyckel",
31
+ "apiKeyHelp": "Din Last.fm API-nyckel (skaffa en på last.fm/api/account/create)",
32
+ "username": "Användarnamn",
33
+ "usernameHelp": "Last.fm-användarnamn att hämta scrobbles från",
34
+ "saveSettings": "Spara inställningar",
35
+ "settingsSaved": "Inställningar sparade",
36
+ "syncSuccess": "%s nya scrobbles synkroniserade",
37
+ "actions": "Åtgärder",
38
+ "error": {
39
+ "connection": "Kunde inte ansluta till Last.fm. Kontrollera din API-nyckel och användarnamn.",
40
+ "noConfig": "Last.fm API-nyckel och användarnamn krävs. Konfigurera dem nedan."
41
+ },
42
+ "widget": {
43
+ "description": "Visa kombinerad lyssningsaktivitet på den offentliga sidan",
44
+ "view": "Visa lyssningssida"
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "lastfm": {
3
+ "title": "Last.fm",
4
+ "scrobbles": "Scrobble 历史",
5
+ "loved": "喜爱的歌曲",
6
+ "stats": "统计",
7
+ "nowPlaying": "正在播放",
8
+ "recentlyPlayed": "最近播放",
9
+ "lastPlayed": "上次播放",
10
+ "allTime": "全部时间",
11
+ "thisWeek": "本周",
12
+ "thisMonth": "本月",
13
+ "trends": "趋势",
14
+ "scrobbleTrend": "Scrobble 趋势(30天)",
15
+ "topArtists": "热门艺人",
16
+ "topAlbums": "热门专辑",
17
+ "plays": "次播放",
18
+ "tracks": "首歌曲",
19
+ "artists": "位艺人",
20
+ "albums": "张专辑",
21
+ "scrobbleTime": "Scrobble 时间",
22
+ "noRecentPlays": "最近没有 scrobble 音乐",
23
+ "noLoved": "还没有喜爱的歌曲",
24
+ "viewAll": "查看全部",
25
+ "viewStats": "查看统计",
26
+ "sync": "立即同步",
27
+ "lastSync": "上次同步",
28
+ "settings": "设置",
29
+ "settingsHelp": "配置您的 Last.fm 凭据。保存的设置会覆盖环境变量。",
30
+ "apiKey": "API 密钥",
31
+ "apiKeyHelp": "您的 Last.fm API 密钥(在 last.fm/api/account/create 获取)",
32
+ "username": "用户名",
33
+ "usernameHelp": "要获取 scrobbles 的 Last.fm 用户名",
34
+ "saveSettings": "保存设置",
35
+ "settingsSaved": "设置保存成功",
36
+ "syncSuccess": "已同步 %s 个新 scrobbles",
37
+ "actions": "操作",
38
+ "error": {
39
+ "connection": "无法连接到 Last.fm。请检查您的 API 密钥和用户名。",
40
+ "noConfig": "需要 Last.fm API 密钥和用户名。请在下方配置。"
41
+ },
42
+ "widget": {
43
+ "description": "在公开页面查看合并的收听活动",
44
+ "view": "查看收听页面"
45
+ }
46
+ }
47
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rmdes/indiekit-endpoint-lastfm",
3
- "version": "1.0.9",
3
+ "version": "1.0.11",
4
4
  "description": "Last.fm scrobble and listening activity endpoint for Indiekit. Display listening history, loved tracks, and statistics.",
5
5
  "keywords": [
6
6
  "indiekit",