feat: add i18n support for 14 languages

Add translations for de, es, es-419, fr, hi, id, it, nl, pl, pt, pt-BR, sr, sv, zh-Hans-CN
to match upstream Indiekit's supported locales. Also add missing localesDirectory getter.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Ricardo
2026-02-13 22:33:25 +01:00
parent e5ffc5b8a1
commit 9bcfac5d8a
16 changed files with 1466 additions and 1 deletions

View File

@@ -1,4 +1,5 @@
import path from "node:path";
import { fileURLToPath } from "node:url";
import express from "express";
@@ -29,6 +30,14 @@ export default class MicrosubEndpoint {
this.mountPath = this.options.mountPath;
}
/**
* Locales directory path
* @returns {string} Path to locales directory
*/
get localesDirectory() {
return path.join(path.dirname(fileURLToPath(import.meta.url)), "locales");
}
/**
* Navigation items for Indiekit admin
* @returns {object} Navigation item configuration

104
locales/de.json Normal file
View File

@@ -0,0 +1,104 @@
{
"microsub": {
"reader": {
"title": "Leser",
"empty": "Keine Elemente zum Anzeigen",
"markAllRead": "Alle als gelesen markieren",
"showRead": "Gelesene anzeigen ({{count}})",
"hideRead": "Gelesene Elemente ausblenden",
"allRead": "Alles aufgeholt!",
"newer": "Neuer",
"older": "Älter"
},
"channels": {
"title": "Kanäle",
"name": "Kanalname",
"new": "Neuer Kanal",
"create": "Kanal erstellen",
"delete": "Kanal löschen",
"settings": "Kanaleinstellungen",
"empty": "Noch keine Kanäle. Erstellen Sie einen, um zu beginnen.",
"notifications": "Benachrichtigungen"
},
"timeline": {
"title": "Zeitleiste",
"empty": "Keine Elemente in diesem Kanal",
"markRead": "Als gelesen markieren",
"markUnread": "Als ungelesen markieren",
"remove": "Entfernen"
},
"feeds": {
"title": "Feeds",
"follow": "Folgen",
"subscribe": "Einen Feed abonnieren",
"unfollow": "Entfolgen",
"empty": "Keine Feeds in diesem Kanal abonniert",
"url": "Feed-URL",
"urlPlaceholder": "https://beispiel.de/feed.xml",
"edit": "Feed bearbeiten",
"rediscover": "Feed neu entdecken",
"refresh": "Jetzt aktualisieren",
"status": {
"active": "Aktiv",
"error": "Fehler",
"stale": "Veraltet"
}
},
"item": {
"reply": "Antworten",
"like": "Gefällt mir",
"repost": "Teilen",
"bookmark": "Lesezeichen",
"viewOriginal": "Original anzeigen"
},
"compose": {
"title": "Verfassen",
"content": "Was beschäftigt Sie?",
"comment": "Kommentar hinzufügen (optional)",
"commentHint": "Ihr Kommentar wird bei der Syndizierung mit einbezogen",
"syndicateTo": "Syndizieren an",
"syndicateHint": "Wählen Sie aus, wo dies quergepostet werden soll",
"submit": "Veröffentlichen",
"cancel": "Abbrechen",
"replyTo": "Antworten an",
"likeOf": "Gefällt mir",
"repostOf": "Teilen",
"bookmarkOf": "Lesezeichen setzen"
},
"settings": {
"title": "{{channel}}-Einstellungen",
"excludeTypes": "Interaktionstypen ausschließen",
"excludeTypesHelp": "Wählen Sie Beitragstypen aus, die in diesem Kanal ausgeblendet werden sollen",
"excludeRegex": "Ausschlussmuster",
"excludeRegexHelp": "Regulärer Ausdruck zum Herausfiltern übereinstimmender Inhalte",
"save": "Einstellungen speichern",
"dangerZone": "Gefahrenzone",
"deleteWarning": "Das Löschen dieses Kanals entfernt dauerhaft alle Feeds und Elemente. Diese Aktion kann nicht rückgängig gemacht werden.",
"deleteConfirm": "Sind Sie sicher, dass Sie diesen Kanal und alle seine Inhalte löschen möchten?",
"delete": "Kanal löschen",
"types": {
"like": "Gefällt mir",
"repost": "Geteilte Beiträge",
"bookmark": "Lesezeichen",
"reply": "Antworten",
"checkin": "Check-ins"
}
},
"search": {
"title": "Suchen",
"placeholder": "URL oder Suchbegriff eingeben",
"submit": "Suchen",
"noResults": "Keine Ergebnisse gefunden"
},
"preview": {
"title": "Vorschau",
"subscribe": "Diesen Feed abonnieren"
},
"error": {
"channelNotFound": "Kanal nicht gefunden",
"feedNotFound": "Feed nicht gefunden",
"invalidUrl": "Ungültige URL",
"invalidAction": "Ungültige Aktion"
}
}
}

104
locales/es-419.json Normal file
View File

@@ -0,0 +1,104 @@
{
"microsub": {
"reader": {
"title": "Lector",
"empty": "No hay elementos para mostrar",
"markAllRead": "Marcar todo como leído",
"showRead": "Mostrar leídos ({{count}})",
"hideRead": "Ocultar elementos leídos",
"allRead": "¡Todo al día!",
"newer": "Más reciente",
"older": "Más antiguo"
},
"channels": {
"title": "Canales",
"name": "Nombre del canal",
"new": "Nuevo canal",
"create": "Crear canal",
"delete": "Eliminar canal",
"settings": "Configuración del canal",
"empty": "Todavía no hay canales. Creá uno para empezar.",
"notifications": "Notificaciones"
},
"timeline": {
"title": "Línea de tiempo",
"empty": "No hay elementos en este canal",
"markRead": "Marcar como leído",
"markUnread": "Marcar como no leído",
"remove": "Eliminar"
},
"feeds": {
"title": "Feeds",
"follow": "Seguir",
"subscribe": "Suscribirse a un feed",
"unfollow": "Dejar de seguir",
"empty": "No se sigue ningún feed en este canal",
"url": "URL del feed",
"urlPlaceholder": "https://ejemplo.com/feed.xml",
"edit": "Editar feed",
"rediscover": "Redescubrir feed",
"refresh": "Actualizar ahora",
"status": {
"active": "Activo",
"error": "Error",
"stale": "Obsoleto"
}
},
"item": {
"reply": "Responder",
"like": "Me gusta",
"repost": "Repostear",
"bookmark": "Marcador",
"viewOriginal": "Ver original"
},
"compose": {
"title": "Redactar",
"content": "¿Qué estás pensando?",
"comment": "Agregar un comentario (opcional)",
"commentHint": "Tu comentario se incluirá cuando esto se sindique",
"syndicateTo": "Sindicar a",
"syndicateHint": "Seleccioná dónde publicar esto",
"submit": "Publicar",
"cancel": "Cancelar",
"replyTo": "Respondiendo a",
"likeOf": "Me gusta",
"repostOf": "Reposteando",
"bookmarkOf": "Marcando"
},
"settings": {
"title": "Configuración de {{channel}}",
"excludeTypes": "Excluir tipos de interacción",
"excludeTypesHelp": "Seleccioná los tipos de publicaciones que querés ocultar de este canal",
"excludeRegex": "Patrón de exclusión",
"excludeRegexHelp": "Expresión regular para filtrar contenido coincidente",
"save": "Guardar configuración",
"dangerZone": "Zona de peligro",
"deleteWarning": "Eliminar este canal eliminará permanentemente todos los feeds y elementos. Esta acción no se puede deshacer.",
"deleteConfirm": "¿Estás seguro de que querés eliminar este canal y todo su contenido?",
"delete": "Eliminar canal",
"types": {
"like": "Me gusta",
"repost": "Reposteos",
"bookmark": "Marcadores",
"reply": "Respuestas",
"checkin": "Registros"
}
},
"search": {
"title": "Buscar",
"placeholder": "Ingresá URL o término de búsqueda",
"submit": "Buscar",
"noResults": "No se encontraron resultados"
},
"preview": {
"title": "Vista previa",
"subscribe": "Suscribirse a este feed"
},
"error": {
"channelNotFound": "Canal no encontrado",
"feedNotFound": "Feed no encontrado",
"invalidUrl": "URL no válida",
"invalidAction": "Acción no válida"
}
}
}

104
locales/es.json Normal file
View File

@@ -0,0 +1,104 @@
{
"microsub": {
"reader": {
"title": "Lector",
"empty": "No hay elementos para mostrar",
"markAllRead": "Marcar todo como leído",
"showRead": "Mostrar leídos ({{count}})",
"hideRead": "Ocultar elementos leídos",
"allRead": "¡Todo al día!",
"newer": "Más reciente",
"older": "Más antiguo"
},
"channels": {
"title": "Canales",
"name": "Nombre del canal",
"new": "Nuevo canal",
"create": "Crear canal",
"delete": "Eliminar canal",
"settings": "Configuración del canal",
"empty": "Aún no hay canales. Crea uno para empezar.",
"notifications": "Notificaciones"
},
"timeline": {
"title": "Cronología",
"empty": "No hay elementos en este canal",
"markRead": "Marcar como leído",
"markUnread": "Marcar como no leído",
"remove": "Eliminar"
},
"feeds": {
"title": "Fuentes",
"follow": "Seguir",
"subscribe": "Suscribirse a una fuente",
"unfollow": "Dejar de seguir",
"empty": "No se sigue ninguna fuente en este canal",
"url": "URL de la fuente",
"urlPlaceholder": "https://ejemplo.com/feed.xml",
"edit": "Editar fuente",
"rediscover": "Redescubrir fuente",
"refresh": "Actualizar ahora",
"status": {
"active": "Activa",
"error": "Error",
"stale": "Obsoleta"
}
},
"item": {
"reply": "Responder",
"like": "Me gusta",
"repost": "Republicar",
"bookmark": "Marcador",
"viewOriginal": "Ver original"
},
"compose": {
"title": "Redactar",
"content": "¿Qué estás pensando?",
"comment": "Añadir un comentario (opcional)",
"commentHint": "Tu comentario se incluirá cuando esto se sindique",
"syndicateTo": "Sindicar a",
"syndicateHint": "Selecciona dónde publicar esto",
"submit": "Publicar",
"cancel": "Cancelar",
"replyTo": "Respondiendo a",
"likeOf": "Me gusta",
"repostOf": "Republicando",
"bookmarkOf": "Marcando"
},
"settings": {
"title": "Configuración de {{channel}}",
"excludeTypes": "Excluir tipos de interacción",
"excludeTypesHelp": "Selecciona los tipos de publicaciones que deseas ocultar de este canal",
"excludeRegex": "Patrón de exclusión",
"excludeRegexHelp": "Expresión regular para filtrar contenido coincidente",
"save": "Guardar configuración",
"dangerZone": "Zona de peligro",
"deleteWarning": "Eliminar este canal eliminará permanentemente todas las fuentes y elementos. Esta acción no se puede deshacer.",
"deleteConfirm": "¿Estás seguro de que deseas eliminar este canal y todo su contenido?",
"delete": "Eliminar canal",
"types": {
"like": "Me gusta",
"repost": "Republicaciones",
"bookmark": "Marcadores",
"reply": "Respuestas",
"checkin": "Registros"
}
},
"search": {
"title": "Buscar",
"placeholder": "Introduce URL o término de búsqueda",
"submit": "Buscar",
"noResults": "No se encontraron resultados"
},
"preview": {
"title": "Vista previa",
"subscribe": "Suscribirse a esta fuente"
},
"error": {
"channelNotFound": "Canal no encontrado",
"feedNotFound": "Fuente no encontrada",
"invalidUrl": "URL no válida",
"invalidAction": "Acción no válida"
}
}
}

104
locales/fr.json Normal file
View File

@@ -0,0 +1,104 @@
{
"microsub": {
"reader": {
"title": "Lecteur",
"empty": "Aucun élément à afficher",
"markAllRead": "Tout marquer comme lu",
"showRead": "Afficher les lus ({{count}})",
"hideRead": "Masquer les éléments lus",
"allRead": "Tout est à jour !",
"newer": "Plus récent",
"older": "Plus ancien"
},
"channels": {
"title": "Chaînes",
"name": "Nom de la chaîne",
"new": "Nouvelle chaîne",
"create": "Créer une chaîne",
"delete": "Supprimer la chaîne",
"settings": "Paramètres de la chaîne",
"empty": "Aucune chaîne pour le moment. Créez-en une pour commencer.",
"notifications": "Notifications"
},
"timeline": {
"title": "Fil d'actualité",
"empty": "Aucun élément dans cette chaîne",
"markRead": "Marquer comme lu",
"markUnread": "Marquer comme non lu",
"remove": "Retirer"
},
"feeds": {
"title": "Flux",
"follow": "Suivre",
"subscribe": "S'abonner à un flux",
"unfollow": "Ne plus suivre",
"empty": "Aucun flux suivi dans cette chaîne",
"url": "URL du flux",
"urlPlaceholder": "https://exemple.com/feed.xml",
"edit": "Modifier le flux",
"rediscover": "Redécouvrir le flux",
"refresh": "Actualiser maintenant",
"status": {
"active": "Actif",
"error": "Erreur",
"stale": "Périmé"
}
},
"item": {
"reply": "Répondre",
"like": "J'aime",
"repost": "Repartager",
"bookmark": "Marque-page",
"viewOriginal": "Voir l'original"
},
"compose": {
"title": "Composer",
"content": "Qu'avez-vous en tête ?",
"comment": "Ajouter un commentaire (facultatif)",
"commentHint": "Votre commentaire sera inclus lors de la syndication",
"syndicateTo": "Syndiquer vers",
"syndicateHint": "Sélectionnez où publier ceci",
"submit": "Publier",
"cancel": "Annuler",
"replyTo": "En réponse à",
"likeOf": "J'aime",
"repostOf": "Repartage",
"bookmarkOf": "Mise en marque-page"
},
"settings": {
"title": "Paramètres de {{channel}}",
"excludeTypes": "Exclure les types d'interaction",
"excludeTypesHelp": "Sélectionnez les types de publications à masquer de cette chaîne",
"excludeRegex": "Modèle d'exclusion",
"excludeRegexHelp": "Expression régulière pour filtrer le contenu correspondant",
"save": "Enregistrer les paramètres",
"dangerZone": "Zone dangereuse",
"deleteWarning": "La suppression de cette chaîne supprimera définitivement tous les flux et éléments. Cette action ne peut pas être annulée.",
"deleteConfirm": "Êtes-vous sûr de vouloir supprimer cette chaîne et tout son contenu ?",
"delete": "Supprimer la chaîne",
"types": {
"like": "J'aime",
"repost": "Repartages",
"bookmark": "Marque-pages",
"reply": "Réponses",
"checkin": "Enregistrements"
}
},
"search": {
"title": "Rechercher",
"placeholder": "Entrez une URL ou un terme de recherche",
"submit": "Rechercher",
"noResults": "Aucun résultat trouvé"
},
"preview": {
"title": "Aperçu",
"subscribe": "S'abonner à ce flux"
},
"error": {
"channelNotFound": "Chaîne introuvable",
"feedNotFound": "Flux introuvable",
"invalidUrl": "URL invalide",
"invalidAction": "Action invalide"
}
}
}

104
locales/hi.json Normal file
View File

@@ -0,0 +1,104 @@
{
"microsub": {
"reader": {
"title": "रीडर",
"empty": "प्रदर्शित करने के लिए कोई आइटम नहीं",
"markAllRead": "सभी को पढ़ा हुआ चिह्नित करें",
"showRead": "पढ़े हुए दिखाएं ({{count}})",
"hideRead": "पढ़े हुए आइटम छिपाएं",
"allRead": "सब पकड़ लिया!",
"newer": "नया",
"older": "पुराना"
},
"channels": {
"title": "चैनल",
"name": "चैनल का नाम",
"new": "नया चैनल",
"create": "चैनल बनाएं",
"delete": "चैनल हटाएं",
"settings": "चैनल सेटिंग्स",
"empty": "अभी तक कोई चैनल नहीं। शुरू करने के लिए एक बनाएं।",
"notifications": "सूचनाएं"
},
"timeline": {
"title": "टाइमलाइन",
"empty": "इस चैनल में कोई आइटम नहीं",
"markRead": "पढ़ा हुआ चिह्नित करें",
"markUnread": "अपठित चिह्नित करें",
"remove": "हटाएं"
},
"feeds": {
"title": "फीड",
"follow": "फॉलो करें",
"subscribe": "फीड की सदस्यता लें",
"unfollow": "अनफॉलो करें",
"empty": "इस चैनल में कोई फीड फॉलो नहीं किया गया",
"url": "फीड URL",
"urlPlaceholder": "https://example.com/feed.xml",
"edit": "फीड संपादित करें",
"rediscover": "फीड को फिर से खोजें",
"refresh": "अभी रिफ्रेश करें",
"status": {
"active": "सक्रिय",
"error": "त्रुटि",
"stale": "पुराना"
}
},
"item": {
"reply": "जवाब दें",
"like": "पसंद करें",
"repost": "रीपोस्ट",
"bookmark": "बुकमार्क",
"viewOriginal": "मूल देखें"
},
"compose": {
"title": "लिखें",
"content": "आपके मन में क्या है?",
"comment": "एक टिप्पणी जोड़ें (वैकल्पिक)",
"commentHint": "जब यह सिंडिकेट किया जाएगा तो आपकी टिप्पणी शामिल की जाएगी",
"syndicateTo": "इसमें सिंडिकेट करें",
"syndicateHint": "चुनें कि इसे कहां क्रॉस-पोस्ट करना है",
"submit": "पोस्ट करें",
"cancel": "रद्द करें",
"replyTo": "इसका जवाब दे रहे हैं",
"likeOf": "पसंद कर रहे हैं",
"repostOf": "रीपोस्ट कर रहे हैं",
"bookmarkOf": "बुकमार्क कर रहे हैं"
},
"settings": {
"title": "{{channel}} सेटिंग्स",
"excludeTypes": "इंटरैक्शन प्रकार बाहर करें",
"excludeTypesHelp": "इस चैनल से छिपाने के लिए पोस्ट के प्रकार चुनें",
"excludeRegex": "बहिष्करण पैटर्न",
"excludeRegexHelp": "मिलान सामग्री को फ़िल्टर करने के लिए रेगुलर एक्सप्रेशन",
"save": "सेटिंग्स सहेजें",
"dangerZone": "खतरनाक क्षेत्र",
"deleteWarning": "इस चैनल को हटाने से सभी फीड और आइटम स्थायी रूप से हटा दिए जाएंगे। इस क्रिया को पूर्ववत नहीं किया जा सकता।",
"deleteConfirm": "क्या आप वाकई इस चैनल और इसकी सभी सामग्री को हटाना चाहते हैं?",
"delete": "चैनल हटाएं",
"types": {
"like": "पसंद",
"repost": "रीपोस्ट",
"bookmark": "बुकमार्क",
"reply": "जवाब",
"checkin": "चेक-इन"
}
},
"search": {
"title": "खोजें",
"placeholder": "URL या खोज शब्द दर्ज करें",
"submit": "खोजें",
"noResults": "कोई परिणाम नहीं मिला"
},
"preview": {
"title": "पूर्वावलोकन",
"subscribe": "इस फीड की सदस्यता लें"
},
"error": {
"channelNotFound": "चैनल नहीं मिला",
"feedNotFound": "फीड नहीं मिला",
"invalidUrl": "अमान्य URL",
"invalidAction": "अमान्य क्रिया"
}
}
}

104
locales/id.json Normal file
View File

@@ -0,0 +1,104 @@
{
"microsub": {
"reader": {
"title": "Pembaca",
"empty": "Tidak ada item untuk ditampilkan",
"markAllRead": "Tandai semua sudah dibaca",
"showRead": "Tampilkan yang sudah dibaca ({{count}})",
"hideRead": "Sembunyikan item yang sudah dibaca",
"allRead": "Semua sudah terbaca!",
"newer": "Lebih baru",
"older": "Lebih lama"
},
"channels": {
"title": "Kanal",
"name": "Nama kanal",
"new": "Kanal baru",
"create": "Buat kanal",
"delete": "Hapus kanal",
"settings": "Pengaturan kanal",
"empty": "Belum ada kanal. Buat satu untuk memulai.",
"notifications": "Notifikasi"
},
"timeline": {
"title": "Lini masa",
"empty": "Tidak ada item di kanal ini",
"markRead": "Tandai sudah dibaca",
"markUnread": "Tandai belum dibaca",
"remove": "Hapus"
},
"feeds": {
"title": "Umpan",
"follow": "Ikuti",
"subscribe": "Berlangganan umpan",
"unfollow": "Berhenti mengikuti",
"empty": "Tidak ada umpan yang diikuti di kanal ini",
"url": "URL umpan",
"urlPlaceholder": "https://contoh.com/feed.xml",
"edit": "Edit umpan",
"rediscover": "Temukan ulang umpan",
"refresh": "Segarkan sekarang",
"status": {
"active": "Aktif",
"error": "Kesalahan",
"stale": "Basi"
}
},
"item": {
"reply": "Balas",
"like": "Suka",
"repost": "Pos ulang",
"bookmark": "Tandai halaman",
"viewOriginal": "Lihat asli"
},
"compose": {
"title": "Tulis",
"content": "Apa yang Anda pikirkan?",
"comment": "Tambahkan komentar (opsional)",
"commentHint": "Komentar Anda akan disertakan saat ini disindikasikan",
"syndicateTo": "Sindikasikan ke",
"syndicateHint": "Pilih di mana akan memposting silang ini",
"submit": "Kirim",
"cancel": "Batal",
"replyTo": "Membalas ke",
"likeOf": "Menyukai",
"repostOf": "Memposting ulang",
"bookmarkOf": "Menandai halaman"
},
"settings": {
"title": "Pengaturan {{channel}}",
"excludeTypes": "Kecualikan jenis interaksi",
"excludeTypesHelp": "Pilih jenis kiriman untuk disembunyikan dari kanal ini",
"excludeRegex": "Pola pengecualian",
"excludeRegexHelp": "Ekspresi reguler untuk menyaring konten yang cocok",
"save": "Simpan pengaturan",
"dangerZone": "Zona bahaya",
"deleteWarning": "Menghapus kanal ini akan menghapus semua umpan dan item secara permanen. Tindakan ini tidak dapat dibatalkan.",
"deleteConfirm": "Apakah Anda yakin ingin menghapus kanal ini dan semua kontennya?",
"delete": "Hapus kanal",
"types": {
"like": "Suka",
"repost": "Pos ulang",
"bookmark": "Tandai halaman",
"reply": "Balasan",
"checkin": "Check-in"
}
},
"search": {
"title": "Cari",
"placeholder": "Masukkan URL atau istilah pencarian",
"submit": "Cari",
"noResults": "Tidak ada hasil yang ditemukan"
},
"preview": {
"title": "Pratinjau",
"subscribe": "Berlangganan umpan ini"
},
"error": {
"channelNotFound": "Kanal tidak ditemukan",
"feedNotFound": "Umpan tidak ditemukan",
"invalidUrl": "URL tidak valid",
"invalidAction": "Tindakan tidak valid"
}
}
}

104
locales/it.json Normal file
View File

@@ -0,0 +1,104 @@
{
"microsub": {
"reader": {
"title": "Lettore",
"empty": "Nessun elemento da visualizzare",
"markAllRead": "Segna tutto come letto",
"showRead": "Mostra letti ({{count}})",
"hideRead": "Nascondi elementi letti",
"allRead": "Tutto aggiornato!",
"newer": "Più recente",
"older": "Più vecchio"
},
"channels": {
"title": "Canali",
"name": "Nome del canale",
"new": "Nuovo canale",
"create": "Crea canale",
"delete": "Elimina canale",
"settings": "Impostazioni del canale",
"empty": "Nessun canale ancora. Creane uno per iniziare.",
"notifications": "Notifiche"
},
"timeline": {
"title": "Timeline",
"empty": "Nessun elemento in questo canale",
"markRead": "Segna come letto",
"markUnread": "Segna come non letto",
"remove": "Rimuovi"
},
"feeds": {
"title": "Feed",
"follow": "Segui",
"subscribe": "Iscriviti a un feed",
"unfollow": "Smetti di seguire",
"empty": "Nessun feed seguito in questo canale",
"url": "URL del feed",
"urlPlaceholder": "https://esempio.com/feed.xml",
"edit": "Modifica feed",
"rediscover": "Riscopri feed",
"refresh": "Aggiorna ora",
"status": {
"active": "Attivo",
"error": "Errore",
"stale": "Obsoleto"
}
},
"item": {
"reply": "Rispondi",
"like": "Mi piace",
"repost": "Ricondividi",
"bookmark": "Segnalibro",
"viewOriginal": "Visualizza originale"
},
"compose": {
"title": "Scrivi",
"content": "A cosa stai pensando?",
"comment": "Aggiungi un commento (facoltativo)",
"commentHint": "Il tuo commento sarà incluso quando questo viene sindacato",
"syndicateTo": "Sindaca a",
"syndicateHint": "Seleziona dove pubblicare questo",
"submit": "Pubblica",
"cancel": "Annulla",
"replyTo": "In risposta a",
"likeOf": "Mi piace",
"repostOf": "Ricondivisione",
"bookmarkOf": "Segnalibro"
},
"settings": {
"title": "Impostazioni di {{channel}}",
"excludeTypes": "Escludi tipi di interazione",
"excludeTypesHelp": "Seleziona i tipi di post da nascondere da questo canale",
"excludeRegex": "Pattern di esclusione",
"excludeRegexHelp": "Espressione regolare per filtrare i contenuti corrispondenti",
"save": "Salva impostazioni",
"dangerZone": "Zona pericolosa",
"deleteWarning": "L'eliminazione di questo canale rimuoverà permanentemente tutti i feed e gli elementi. Questa azione non può essere annullata.",
"deleteConfirm": "Sei sicuro di voler eliminare questo canale e tutti i suoi contenuti?",
"delete": "Elimina canale",
"types": {
"like": "Mi piace",
"repost": "Ricondivisioni",
"bookmark": "Segnalibri",
"reply": "Risposte",
"checkin": "Check-in"
}
},
"search": {
"title": "Cerca",
"placeholder": "Inserisci URL o termine di ricerca",
"submit": "Cerca",
"noResults": "Nessun risultato trovato"
},
"preview": {
"title": "Anteprima",
"subscribe": "Iscriviti a questo feed"
},
"error": {
"channelNotFound": "Canale non trovato",
"feedNotFound": "Feed non trovato",
"invalidUrl": "URL non valido",
"invalidAction": "Azione non valida"
}
}
}

104
locales/nl.json Normal file
View File

@@ -0,0 +1,104 @@
{
"microsub": {
"reader": {
"title": "Lezer",
"empty": "Geen items om weer te geven",
"markAllRead": "Alles als gelezen markeren",
"showRead": "Toon gelezen ({{count}})",
"hideRead": "Verberg gelezen items",
"allRead": "Alles bijgewerkt!",
"newer": "Nieuwer",
"older": "Ouder"
},
"channels": {
"title": "Kanalen",
"name": "Kanaalnaam",
"new": "Nieuw kanaal",
"create": "Kanaal aanmaken",
"delete": "Kanaal verwijderen",
"settings": "Kanaalinstellingen",
"empty": "Nog geen kanalen. Maak er een om te beginnen.",
"notifications": "Meldingen"
},
"timeline": {
"title": "Tijdlijn",
"empty": "Geen items in dit kanaal",
"markRead": "Als gelezen markeren",
"markUnread": "Als ongelezen markeren",
"remove": "Verwijderen"
},
"feeds": {
"title": "Feeds",
"follow": "Volgen",
"subscribe": "Abonneren op een feed",
"unfollow": "Ontvolgen",
"empty": "Geen feeds gevolgd in dit kanaal",
"url": "Feed-URL",
"urlPlaceholder": "https://voorbeeld.nl/feed.xml",
"edit": "Feed bewerken",
"rediscover": "Feed opnieuw ontdekken",
"refresh": "Nu vernieuwen",
"status": {
"active": "Actief",
"error": "Fout",
"stale": "Verouderd"
}
},
"item": {
"reply": "Reageren",
"like": "Vind ik leuk",
"repost": "Opnieuw plaatsen",
"bookmark": "Bladwijzer",
"viewOriginal": "Origineel bekijken"
},
"compose": {
"title": "Opstellen",
"content": "Wat houdt je bezig?",
"comment": "Voeg een opmerking toe (optioneel)",
"commentHint": "Je opmerking wordt meegenomen wanneer dit wordt gesyndikeerd",
"syndicateTo": "Syndiceren naar",
"syndicateHint": "Selecteer waar dit moet worden geplaatst",
"submit": "Plaatsen",
"cancel": "Annuleren",
"replyTo": "Reageren op",
"likeOf": "Vind ik leuk",
"repostOf": "Opnieuw plaatsen",
"bookmarkOf": "Bladwijzer maken"
},
"settings": {
"title": "{{channel}}-instellingen",
"excludeTypes": "Interactietypes uitsluiten",
"excludeTypesHelp": "Selecteer berichttypen om te verbergen uit dit kanaal",
"excludeRegex": "Uitsluitingspatroon",
"excludeRegexHelp": "Reguliere expressie om overeenkomende inhoud te filteren",
"save": "Instellingen opslaan",
"dangerZone": "Gevarenzone",
"deleteWarning": "Het verwijderen van dit kanaal verwijdert permanent alle feeds en items. Deze actie kan niet ongedaan worden gemaakt.",
"deleteConfirm": "Weet je zeker dat je dit kanaal en al zijn inhoud wilt verwijderen?",
"delete": "Kanaal verwijderen",
"types": {
"like": "Vind ik leuks",
"repost": "Opnieuw geplaatste berichten",
"bookmark": "Bladwijzers",
"reply": "Reacties",
"checkin": "Check-ins"
}
},
"search": {
"title": "Zoeken",
"placeholder": "Voer URL of zoekterm in",
"submit": "Zoeken",
"noResults": "Geen resultaten gevonden"
},
"preview": {
"title": "Voorbeeld",
"subscribe": "Abonneren op deze feed"
},
"error": {
"channelNotFound": "Kanaal niet gevonden",
"feedNotFound": "Feed niet gevonden",
"invalidUrl": "Ongeldige URL",
"invalidAction": "Ongeldige actie"
}
}
}

104
locales/pl.json Normal file
View File

@@ -0,0 +1,104 @@
{
"microsub": {
"reader": {
"title": "Czytnik",
"empty": "Brak elementów do wyświetlenia",
"markAllRead": "Oznacz wszystkie jako przeczytane",
"showRead": "Pokaż przeczytane ({{count}})",
"hideRead": "Ukryj przeczytane elementy",
"allRead": "Wszystko przeczytane!",
"newer": "Nowsze",
"older": "Starsze"
},
"channels": {
"title": "Kanały",
"name": "Nazwa kanału",
"new": "Nowy kanał",
"create": "Utwórz kanał",
"delete": "Usuń kanał",
"settings": "Ustawienia kanału",
"empty": "Nie ma jeszcze kanałów. Utwórz jeden, aby rozpocząć.",
"notifications": "Powiadomienia"
},
"timeline": {
"title": "Oś czasu",
"empty": "Brak elementów w tym kanale",
"markRead": "Oznacz jako przeczytane",
"markUnread": "Oznacz jako nieprzeczytane",
"remove": "Usuń"
},
"feeds": {
"title": "Kanały RSS",
"follow": "Obserwuj",
"subscribe": "Subskrybuj kanał",
"unfollow": "Przestań obserwować",
"empty": "Brak obserwowanych kanałów w tym kanale",
"url": "URL kanału",
"urlPlaceholder": "https://przyklad.pl/feed.xml",
"edit": "Edytuj kanał",
"rediscover": "Odkryj kanał ponownie",
"refresh": "Odśwież teraz",
"status": {
"active": "Aktywny",
"error": "Błąd",
"stale": "Nieaktualny"
}
},
"item": {
"reply": "Odpowiedz",
"like": "Polub",
"repost": "Udostępnij",
"bookmark": "Dodaj do zakładek",
"viewOriginal": "Zobacz oryginał"
},
"compose": {
"title": "Napisz",
"content": "Co Cię nurtuje?",
"comment": "Dodaj komentarz (opcjonalnie)",
"commentHint": "Twój komentarz zostanie uwzględniony podczas syndykacji",
"syndicateTo": "Syndykuj do",
"syndicateHint": "Wybierz, gdzie opublikować ten post",
"submit": "Opublikuj",
"cancel": "Anuluj",
"replyTo": "Odpowiadasz na",
"likeOf": "Lubisz",
"repostOf": "Udostępniasz",
"bookmarkOf": "Dodajesz do zakładek"
},
"settings": {
"title": "Ustawienia {{channel}}",
"excludeTypes": "Wyklucz typy interakcji",
"excludeTypesHelp": "Wybierz typy postów do ukrycia w tym kanale",
"excludeRegex": "Wzorzec wykluczania",
"excludeRegexHelp": "Wyrażenie regularne do filtrowania pasującej treści",
"save": "Zapisz ustawienia",
"dangerZone": "Strefa niebezpieczna",
"deleteWarning": "Usunięcie tego kanału trwale usunie wszystkie kanały RSS i elementy. Tej czynności nie można cofnąć.",
"deleteConfirm": "Czy na pewno chcesz usunąć ten kanał i całą jego zawartość?",
"delete": "Usuń kanał",
"types": {
"like": "Polubienia",
"repost": "Udostępnienia",
"bookmark": "Zakładki",
"reply": "Odpowiedzi",
"checkin": "Zameldowania"
}
},
"search": {
"title": "Szukaj",
"placeholder": "Wprowadź URL lub wyszukiwaną frazę",
"submit": "Szukaj",
"noResults": "Nie znaleziono wyników"
},
"preview": {
"title": "Podgląd",
"subscribe": "Subskrybuj ten kanał"
},
"error": {
"channelNotFound": "Nie znaleziono kanału",
"feedNotFound": "Nie znaleziono kanału RSS",
"invalidUrl": "Nieprawidłowy URL",
"invalidAction": "Nieprawidłowa akcja"
}
}
}

104
locales/pt-BR.json Normal file
View File

@@ -0,0 +1,104 @@
{
"microsub": {
"reader": {
"title": "Leitor",
"empty": "Nenhum item para exibir",
"markAllRead": "Marcar tudo como lido",
"showRead": "Mostrar lidos ({{count}})",
"hideRead": "Ocultar itens lidos",
"allRead": "Tudo em dia!",
"newer": "Mais recente",
"older": "Mais antigo"
},
"channels": {
"title": "Canais",
"name": "Nome do canal",
"new": "Novo canal",
"create": "Criar canal",
"delete": "Excluir canal",
"settings": "Configurações do canal",
"empty": "Ainda não há canais. Crie um para começar.",
"notifications": "Notificações"
},
"timeline": {
"title": "Linha do tempo",
"empty": "Nenhum item neste canal",
"markRead": "Marcar como lido",
"markUnread": "Marcar como não lido",
"remove": "Remover"
},
"feeds": {
"title": "Feeds",
"follow": "Seguir",
"subscribe": "Assinar um feed",
"unfollow": "Deixar de seguir",
"empty": "Nenhum feed seguido neste canal",
"url": "URL do feed",
"urlPlaceholder": "https://exemplo.com/feed.xml",
"edit": "Editar feed",
"rediscover": "Redescobrir feed",
"refresh": "Atualizar agora",
"status": {
"active": "Ativo",
"error": "Erro",
"stale": "Desatualizado"
}
},
"item": {
"reply": "Responder",
"like": "Curtir",
"repost": "Compartilhar novamente",
"bookmark": "Favoritar",
"viewOriginal": "Ver original"
},
"compose": {
"title": "Escrever",
"content": "O que você está pensando?",
"comment": "Adicionar um comentário (opcional)",
"commentHint": "Seu comentário será incluído quando isto for sindicado",
"syndicateTo": "Sindicar para",
"syndicateHint": "Selecione onde publicar isto",
"submit": "Publicar",
"cancel": "Cancelar",
"replyTo": "Respondendo a",
"likeOf": "Curtindo",
"repostOf": "Compartilhando novamente",
"bookmarkOf": "Favoritando"
},
"settings": {
"title": "Configurações de {{channel}}",
"excludeTypes": "Excluir tipos de interação",
"excludeTypesHelp": "Selecione os tipos de posts a ocultar deste canal",
"excludeRegex": "Padrão de exclusão",
"excludeRegexHelp": "Expressão regular para filtrar conteúdo correspondente",
"save": "Salvar configurações",
"dangerZone": "Zona de perigo",
"deleteWarning": "Excluir este canal removerá permanentemente todos os feeds e itens. Esta ação não pode ser desfeita.",
"deleteConfirm": "Você tem certeza de que deseja excluir este canal e todo o seu conteúdo?",
"delete": "Excluir canal",
"types": {
"like": "Curtidas",
"repost": "Compartilhamentos",
"bookmark": "Favoritos",
"reply": "Respostas",
"checkin": "Check-ins"
}
},
"search": {
"title": "Pesquisar",
"placeholder": "Digite URL ou termo de pesquisa",
"submit": "Pesquisar",
"noResults": "Nenhum resultado encontrado"
},
"preview": {
"title": "Visualização",
"subscribe": "Assinar este feed"
},
"error": {
"channelNotFound": "Canal não encontrado",
"feedNotFound": "Feed não encontrado",
"invalidUrl": "URL inválida",
"invalidAction": "Ação inválida"
}
}
}

104
locales/pt.json Normal file
View File

@@ -0,0 +1,104 @@
{
"microsub": {
"reader": {
"title": "Leitor",
"empty": "Nenhum item para exibir",
"markAllRead": "Marcar tudo como lido",
"showRead": "Mostrar lidos ({{count}})",
"hideRead": "Ocultar itens lidos",
"allRead": "Tudo em dia!",
"newer": "Mais recente",
"older": "Mais antigo"
},
"channels": {
"title": "Canais",
"name": "Nome do canal",
"new": "Novo canal",
"create": "Criar canal",
"delete": "Eliminar canal",
"settings": "Definições do canal",
"empty": "Ainda não há canais. Crie um para começar.",
"notifications": "Notificações"
},
"timeline": {
"title": "Cronologia",
"empty": "Nenhum item neste canal",
"markRead": "Marcar como lido",
"markUnread": "Marcar como não lido",
"remove": "Remover"
},
"feeds": {
"title": "Feeds",
"follow": "Seguir",
"subscribe": "Subscrever um feed",
"unfollow": "Deixar de seguir",
"empty": "Nenhum feed seguido neste canal",
"url": "URL do feed",
"urlPlaceholder": "https://exemplo.com/feed.xml",
"edit": "Editar feed",
"rediscover": "Redescobrir feed",
"refresh": "Actualizar agora",
"status": {
"active": "Activo",
"error": "Erro",
"stale": "Desactualizado"
}
},
"item": {
"reply": "Responder",
"like": "Gosto",
"repost": "Partilhar novamente",
"bookmark": "Marcador",
"viewOriginal": "Ver original"
},
"compose": {
"title": "Escrever",
"content": "O que está a pensar?",
"comment": "Adicionar um comentário (opcional)",
"commentHint": "O seu comentário será incluído quando isto for sindicado",
"syndicateTo": "Sindicar para",
"syndicateHint": "Seleccione onde publicar isto",
"submit": "Publicar",
"cancel": "Cancelar",
"replyTo": "A responder a",
"likeOf": "A gostar",
"repostOf": "A partilhar novamente",
"bookmarkOf": "A adicionar marcador"
},
"settings": {
"title": "Definições de {{channel}}",
"excludeTypes": "Excluir tipos de interacção",
"excludeTypesHelp": "Seleccione os tipos de publicações a ocultar deste canal",
"excludeRegex": "Padrão de exclusão",
"excludeRegexHelp": "Expressão regular para filtrar conteúdo correspondente",
"save": "Guardar definições",
"dangerZone": "Zona de perigo",
"deleteWarning": "Eliminar este canal removerá permanentemente todos os feeds e itens. Esta acção não pode ser desfeita.",
"deleteConfirm": "Tem a certeza de que deseja eliminar este canal e todo o seu conteúdo?",
"delete": "Eliminar canal",
"types": {
"like": "Gostos",
"repost": "Partilhas",
"bookmark": "Marcadores",
"reply": "Respostas",
"checkin": "Check-ins"
}
},
"search": {
"title": "Pesquisar",
"placeholder": "Introduza URL ou termo de pesquisa",
"submit": "Pesquisar",
"noResults": "Nenhum resultado encontrado"
},
"preview": {
"title": "Pré-visualização",
"subscribe": "Subscrever este feed"
},
"error": {
"channelNotFound": "Canal não encontrado",
"feedNotFound": "Feed não encontrado",
"invalidUrl": "URL inválido",
"invalidAction": "Acção inválida"
}
}
}

104
locales/sr.json Normal file
View File

@@ -0,0 +1,104 @@
{
"microsub": {
"reader": {
"title": "Читач",
"empty": "Нема ставки за приказ",
"markAllRead": "Означи све као прочитано",
"showRead": "Прикажи прочитано ({{count}})",
"hideRead": "Сакриј прочитане ставке",
"allRead": "Све ажурирано!",
"newer": "Новије",
"older": "Старије"
},
"channels": {
"title": "Канали",
"name": "Назив канала",
"new": "Нови канал",
"create": "Направи канал",
"delete": "Обриши канал",
"settings": "Подешавања канала",
"empty": "Још нема канала. Направите један да започнете.",
"notifications": "Обавештења"
},
"timeline": {
"title": "Временска линија",
"empty": "Нема ставки у овом каналу",
"markRead": "Означи као прочитано",
"markUnread": "Означи као непрочитано",
"remove": "Уклони"
},
"feeds": {
"title": "Довози",
"follow": "Прати",
"subscribe": "Претплати се на довод",
"unfollow": "Престани да пратиш",
"empty": "Нема праћених довода у овом каналу",
"url": "URL довода",
"urlPlaceholder": "https://primer.rs/feed.xml",
"edit": "Уреди довод",
"rediscover": "Поново открij довод",
"refresh": "Освежи сада",
"status": {
"active": "Активан",
"error": "Грешка",
"stale": "Застарео"
}
},
"item": {
"reply": "Одговори",
"like": "Свиђа ми се",
"repost": "Подели поново",
"bookmark": "Обележивач",
"viewOriginal": "Прикажи оригинал"
},
"compose": {
"title": "Напиши",
"content": "Шта вам је на уму?",
"comment": "Додај коментар (опционо)",
"commentHint": "Ваш коментар ће бити укључен када се ово синдицира",
"syndicateTo": "Синдицирај на",
"syndicateHint": "Изаберите где објавити ово",
"submit": "Објави",
"cancel": "Откажи",
"replyTo": "Одговарате на",
"likeOf": "Свиђа вам се",
"repostOf": "Делите поново",
"bookmarkOf": "Обележавате"
},
"settings": {
"title": "Подешавања {{channel}}",
"excludeTypes": "Искључи типове интеракција",
"excludeTypesHelp": "Изаберите типове објава за сакривање из овог канала",
"excludeRegex": "Образац искључивања",
"excludeRegexHelp": "Регуларни израз за филтрирање одговарајућег садржаја",
"save": "Сачувај подешавања",
"dangerZone": "Опасна зона",
"deleteWarning": "Брисање овог канала ће трајно уклонити све доводе и ставке. Ова радња се не може опозвати.",
"deleteConfirm": "Да ли сте сигурни да желите да обришете овај канал и сав његов садржај?",
"delete": "Обриши канал",
"types": {
"like": "Свиђања",
"repost": "Поновна дељења",
"bookmark": "Обележивачи",
"reply": "Одговори",
"checkin": "Пријаве"
}
},
"search": {
"title": "Претрага",
"placeholder": "Унесите URL или појам за претрагу",
"submit": "Претражи",
"noResults": "Нема пронађених резултата"
},
"preview": {
"title": "Преглед",
"subscribe": "Претплати се на овај довод"
},
"error": {
"channelNotFound": "Канал није пронађен",
"feedNotFound": "Довод није пронађен",
"invalidUrl": "Неважећи URL",
"invalidAction": "Неважећа радња"
}
}
}

104
locales/sv.json Normal file
View File

@@ -0,0 +1,104 @@
{
"microsub": {
"reader": {
"title": "Läsare",
"empty": "Inga objekt att visa",
"markAllRead": "Markera allt som läst",
"showRead": "Visa lästa ({{count}})",
"hideRead": "Dölj lästa objekt",
"allRead": "Allt är uppdaterat!",
"newer": "Nyare",
"older": "Äldre"
},
"channels": {
"title": "Kanaler",
"name": "Kanalnamn",
"new": "Ny kanal",
"create": "Skapa kanal",
"delete": "Ta bort kanal",
"settings": "Kanalinställningar",
"empty": "Inga kanaler än. Skapa en för att komma igång.",
"notifications": "Notifieringar"
},
"timeline": {
"title": "Tidslinje",
"empty": "Inga objekt i denna kanal",
"markRead": "Markera som läst",
"markUnread": "Markera som oläst",
"remove": "Ta bort"
},
"feeds": {
"title": "Flöden",
"follow": "Följ",
"subscribe": "Prenumerera på ett flöde",
"unfollow": "Sluta följa",
"empty": "Inga flöden följda i denna kanal",
"url": "Flödes-URL",
"urlPlaceholder": "https://exempel.se/feed.xml",
"edit": "Redigera flöde",
"rediscover": "Återupptäck flöde",
"refresh": "Uppdatera nu",
"status": {
"active": "Aktiv",
"error": "Fel",
"stale": "Föråldrad"
}
},
"item": {
"reply": "Svara",
"like": "Gilla",
"repost": "Dela om",
"bookmark": "Bokmärke",
"viewOriginal": "Visa original"
},
"compose": {
"title": "Skriv",
"content": "Vad tänker du på?",
"comment": "Lägg till en kommentar (valfritt)",
"commentHint": "Din kommentar kommer att inkluderas när detta syndikeras",
"syndicateTo": "Syndikera till",
"syndicateHint": "Välj var detta ska korspostas",
"submit": "Publicera",
"cancel": "Avbryt",
"replyTo": "Svarar på",
"likeOf": "Gillar",
"repostOf": "Delar om",
"bookmarkOf": "Bokmärker"
},
"settings": {
"title": "{{channel}}-inställningar",
"excludeTypes": "Uteslut interaktionstyper",
"excludeTypesHelp": "Välj typer av inlägg att dölja från denna kanal",
"excludeRegex": "Uteslutningsmönster",
"excludeRegexHelp": "Reguljärt uttryck för att filtrera matchande innehåll",
"save": "Spara inställningar",
"dangerZone": "Farozonen",
"deleteWarning": "Att ta bort denna kanal kommer permanent ta bort alla flöden och objekt. Denna åtgärd kan inte ångras.",
"deleteConfirm": "Är du säker på att du vill ta bort denna kanal och allt dess innehåll?",
"delete": "Ta bort kanal",
"types": {
"like": "Gillningar",
"repost": "Omdelningar",
"bookmark": "Bokmärken",
"reply": "Svar",
"checkin": "Incheckningar"
}
},
"search": {
"title": "Sök",
"placeholder": "Ange URL eller sökterm",
"submit": "Sök",
"noResults": "Inga resultat hittades"
},
"preview": {
"title": "Förhandsvisning",
"subscribe": "Prenumerera på detta flöde"
},
"error": {
"channelNotFound": "Kanal hittades inte",
"feedNotFound": "Flöde hittades inte",
"invalidUrl": "Ogiltig URL",
"invalidAction": "Ogiltig åtgärd"
}
}
}

104
locales/zh-Hans-CN.json Normal file
View File

@@ -0,0 +1,104 @@
{
"microsub": {
"reader": {
"title": "阅读器",
"empty": "没有可显示的项目",
"markAllRead": "全部标记为已读",
"showRead": "显示已读 ({{count}})",
"hideRead": "隐藏已读项目",
"allRead": "全部已读!",
"newer": "较新",
"older": "较旧"
},
"channels": {
"title": "频道",
"name": "频道名称",
"new": "新频道",
"create": "创建频道",
"delete": "删除频道",
"settings": "频道设置",
"empty": "还没有频道。创建一个开始吧。",
"notifications": "通知"
},
"timeline": {
"title": "时间线",
"empty": "此频道中没有项目",
"markRead": "标记为已读",
"markUnread": "标记为未读",
"remove": "删除"
},
"feeds": {
"title": "订阅源",
"follow": "关注",
"subscribe": "订阅订阅源",
"unfollow": "取消关注",
"empty": "此频道中没有关注的订阅源",
"url": "订阅源 URL",
"urlPlaceholder": "https://example.com/feed.xml",
"edit": "编辑订阅源",
"rediscover": "重新发现订阅源",
"refresh": "立即刷新",
"status": {
"active": "活跃",
"error": "错误",
"stale": "过期"
}
},
"item": {
"reply": "回复",
"like": "点赞",
"repost": "转发",
"bookmark": "书签",
"viewOriginal": "查看原文"
},
"compose": {
"title": "撰写",
"content": "在想什么?",
"comment": "添加评论(可选)",
"commentHint": "当此内容被聚合时,您的评论将被包含在内",
"syndicateTo": "聚合到",
"syndicateHint": "选择要交叉发布到哪里",
"submit": "发布",
"cancel": "取消",
"replyTo": "回复",
"likeOf": "点赞",
"repostOf": "转发",
"bookmarkOf": "添加书签"
},
"settings": {
"title": "{{channel}} 设置",
"excludeTypes": "排除互动类型",
"excludeTypesHelp": "选择要从此频道隐藏的帖子类型",
"excludeRegex": "排除模式",
"excludeRegexHelp": "用于过滤匹配内容的正则表达式",
"save": "保存设置",
"dangerZone": "危险区域",
"deleteWarning": "删除此频道将永久删除所有订阅源和项目。此操作无法撤销。",
"deleteConfirm": "您确定要删除此频道及其所有内容吗?",
"delete": "删除频道",
"types": {
"like": "点赞",
"repost": "转发",
"bookmark": "书签",
"reply": "回复",
"checkin": "签到"
}
},
"search": {
"title": "搜索",
"placeholder": "输入 URL 或搜索词",
"submit": "搜索",
"noResults": "未找到结果"
},
"preview": {
"title": "预览",
"subscribe": "订阅此订阅源"
},
"error": {
"channelNotFound": "未找到频道",
"feedNotFound": "未找到订阅源",
"invalidUrl": "无效的 URL",
"invalidAction": "无效的操作"
}
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@rmdes/indiekit-endpoint-microsub",
"version": "1.0.28",
"version": "1.0.29",
"description": "Microsub endpoint for Indiekit. Enables subscribing to feeds and reading content using the Microsub protocol.",
"keywords": [
"indiekit",