fix: add missing sync and form locale keys across all languages

Added blogroll.sync.* keys (success, error, already_running, cleared_success)
and sources.form.* keys (microsubChannel, categoryPrefix with hints) that were
referenced in controllers/templates but missing from locale files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Ricardo
2026-02-17 10:19:15 +01:00
parent e99adbc1fa
commit 239059deb7
16 changed files with 181 additions and 16 deletions

View File

@@ -26,6 +26,13 @@
"clearConfirm": "Dadurch werden alle zwischengespeicherten Einträge gelöscht und alles neu abgerufen. Fortfahren?"
},
"sync": {
"success": "Synced %{blogs} blogs, added %{items} items.",
"error": "Sync failed: %{error}",
"already_running": "A sync is already in progress.",
"cleared_success": "Cleared and re-synced %{blogs} blogs, added %{items} items."
},
"errors": {
"title": "Blogs mit Fehlern",
"seeAll": "Alle %{count} Blogs mit Fehlern anzeigen"
@@ -59,7 +66,11 @@
"opmlContent": "OPML-Inhalt",
"opmlContentHint": "Fügen Sie hier den vollständigen OPML-XML-Inhalt ein",
"syncInterval": "Synchronisationsintervall",
"enabled": "Automatische Synchronisation aktivieren"
"enabled": "Automatische Synchronisation aktivieren",
"microsubChannel": "Microsub Channel",
"microsubChannelHint": "Sync feeds from a specific channel, or all channels",
"categoryPrefix": "Category Prefix",
"categoryPrefixHint": "Optional prefix for blog categories (e.g., 'Following: ')"
}
},

View File

@@ -26,6 +26,13 @@
"clearConfirm": "This will delete all cached items and re-fetch everything. Continue?"
},
"sync": {
"success": "Synced %{blogs} blogs, added %{items} items.",
"error": "Sync failed: %{error}",
"already_running": "A sync is already in progress.",
"cleared_success": "Cleared and re-synced %{blogs} blogs, added %{items} items."
},
"errors": {
"title": "Blogs with Errors",
"seeAll": "See all %{count} blogs with errors"
@@ -59,7 +66,11 @@
"opmlContent": "OPML Content",
"opmlContentHint": "Paste the full OPML XML content here",
"syncInterval": "Sync Interval",
"enabled": "Enable automatic syncing"
"enabled": "Enable automatic syncing",
"microsubChannel": "Microsub Channel",
"microsubChannelHint": "Sync feeds from a specific channel, or all channels",
"categoryPrefix": "Category Prefix",
"categoryPrefixHint": "Optional prefix for blog categories (e.g., 'Following: ')"
}
},

View File

@@ -26,6 +26,13 @@
"clearConfirm": "Esto eliminará todas las entradas almacenadas en caché y volverá a descargar todo. ¿Continuar?"
},
"sync": {
"success": "Synced %{blogs} blogs, added %{items} items.",
"error": "Sync failed: %{error}",
"already_running": "A sync is already in progress.",
"cleared_success": "Cleared and re-synced %{blogs} blogs, added %{items} items."
},
"errors": {
"title": "Blogs con errores",
"seeAll": "Ver los %{count} blogs con errores"
@@ -59,7 +66,11 @@
"opmlContent": "Contenido OPML",
"opmlContentHint": "Pega aquí el contenido XML OPML completo",
"syncInterval": "Intervalo de sincronización",
"enabled": "Habilitar sincronización automática"
"enabled": "Habilitar sincronización automática",
"microsubChannel": "Microsub Channel",
"microsubChannelHint": "Sync feeds from a specific channel, or all channels",
"categoryPrefix": "Category Prefix",
"categoryPrefixHint": "Optional prefix for blog categories (e.g., 'Following: ')"
}
},

View File

@@ -26,6 +26,13 @@
"clearConfirm": "Esto eliminará todas las entradas almacenadas en caché y volverá a obtenerlo todo. ¿Continuar?"
},
"sync": {
"success": "Synced %{blogs} blogs, added %{items} items.",
"error": "Sync failed: %{error}",
"already_running": "A sync is already in progress.",
"cleared_success": "Cleared and re-synced %{blogs} blogs, added %{items} items."
},
"errors": {
"title": "Blogs con errores",
"seeAll": "Ver todos los %{count} blogs con errores"
@@ -59,7 +66,11 @@
"opmlContent": "Contenido OPML",
"opmlContentHint": "Pega aquí el contenido XML OPML completo",
"syncInterval": "Intervalo de sincronización",
"enabled": "Activar sincronización automática"
"enabled": "Activar sincronización automática",
"microsubChannel": "Microsub Channel",
"microsubChannelHint": "Sync feeds from a specific channel, or all channels",
"categoryPrefix": "Category Prefix",
"categoryPrefixHint": "Optional prefix for blog categories (e.g., 'Following: ')"
}
},

View File

@@ -26,6 +26,13 @@
"clearConfirm": "Cela supprimera toutes les entrées mises en cache et récupérera tout à nouveau. Continuer ?"
},
"sync": {
"success": "Synced %{blogs} blogs, added %{items} items.",
"error": "Sync failed: %{error}",
"already_running": "A sync is already in progress.",
"cleared_success": "Cleared and re-synced %{blogs} blogs, added %{items} items."
},
"errors": {
"title": "Blogs avec des erreurs",
"seeAll": "Voir les %{count} blogs avec des erreurs"
@@ -59,7 +66,11 @@
"opmlContent": "Contenu OPML",
"opmlContentHint": "Collez le contenu XML OPML complet ici",
"syncInterval": "Intervalle de synchronisation",
"enabled": "Activer la synchronisation automatique"
"enabled": "Activer la synchronisation automatique",
"microsubChannel": "Microsub Channel",
"microsubChannelHint": "Sync feeds from a specific channel, or all channels",
"categoryPrefix": "Category Prefix",
"categoryPrefixHint": "Optional prefix for blog categories (e.g., 'Following: ')"
}
},

View File

@@ -26,6 +26,13 @@
"clearConfirm": "इससे सभी कैश किए गए आइटम हटा दिए जाएंगे और सब कुछ फिर से प्राप्त किया जाएगा। जारी रखें?"
},
"sync": {
"success": "Synced %{blogs} blogs, added %{items} items.",
"error": "Sync failed: %{error}",
"already_running": "A sync is already in progress.",
"cleared_success": "Cleared and re-synced %{blogs} blogs, added %{items} items."
},
"errors": {
"title": "त्रुटियों वाले ब्लॉग",
"seeAll": "त्रुटियों वाले सभी %{count} ब्लॉग देखें"
@@ -59,7 +66,11 @@
"opmlContent": "OPML सामग्री",
"opmlContentHint": "यहाँ पूर्ण OPML XML सामग्री पेस्ट करें",
"syncInterval": "सिंक अंतराल",
"enabled": "स्वचालित सिंकिंग सक्षम करें"
"enabled": "स्वचालित सिंकिंग सक्षम करें",
"microsubChannel": "Microsub Channel",
"microsubChannelHint": "Sync feeds from a specific channel, or all channels",
"categoryPrefix": "Category Prefix",
"categoryPrefixHint": "Optional prefix for blog categories (e.g., 'Following: ')"
}
},

View File

@@ -26,6 +26,13 @@
"clearConfirm": "Ini akan menghapus semua item yang di-cache dan mengambil semuanya lagi. Lanjutkan?"
},
"sync": {
"success": "Synced %{blogs} blogs, added %{items} items.",
"error": "Sync failed: %{error}",
"already_running": "A sync is already in progress.",
"cleared_success": "Cleared and re-synced %{blogs} blogs, added %{items} items."
},
"errors": {
"title": "Blog dengan Kesalahan",
"seeAll": "Lihat semua %{count} blog dengan kesalahan"
@@ -59,7 +66,11 @@
"opmlContent": "Konten OPML",
"opmlContentHint": "Tempel konten XML OPML lengkap di sini",
"syncInterval": "Interval Sinkronisasi",
"enabled": "Aktifkan sinkronisasi otomatis"
"enabled": "Aktifkan sinkronisasi otomatis",
"microsubChannel": "Microsub Channel",
"microsubChannelHint": "Sync feeds from a specific channel, or all channels",
"categoryPrefix": "Category Prefix",
"categoryPrefixHint": "Optional prefix for blog categories (e.g., 'Following: ')"
}
},

View File

@@ -26,6 +26,13 @@
"clearConfirm": "Questo cancellerà tutti gli elementi memorizzati e recupererà tutto nuovamente. Continuare?"
},
"sync": {
"success": "Synced %{blogs} blogs, added %{items} items.",
"error": "Sync failed: %{error}",
"already_running": "A sync is already in progress.",
"cleared_success": "Cleared and re-synced %{blogs} blogs, added %{items} items."
},
"errors": {
"title": "Blog con errori",
"seeAll": "Vedi tutti i %{count} blog con errori"
@@ -59,7 +66,11 @@
"opmlContent": "Contenuto OPML",
"opmlContentHint": "Incolla qui il contenuto XML OPML completo",
"syncInterval": "Intervallo di sincronizzazione",
"enabled": "Abilita sincronizzazione automatica"
"enabled": "Abilita sincronizzazione automatica",
"microsubChannel": "Microsub Channel",
"microsubChannelHint": "Sync feeds from a specific channel, or all channels",
"categoryPrefix": "Category Prefix",
"categoryPrefixHint": "Optional prefix for blog categories (e.g., 'Following: ')"
}
},

View File

@@ -26,6 +26,13 @@
"clearConfirm": "Dit verwijdert alle gecachte items en haalt alles opnieuw op. Doorgaan?"
},
"sync": {
"success": "Synced %{blogs} blogs, added %{items} items.",
"error": "Sync failed: %{error}",
"already_running": "A sync is already in progress.",
"cleared_success": "Cleared and re-synced %{blogs} blogs, added %{items} items."
},
"errors": {
"title": "Blogs met fouten",
"seeAll": "Bekijk alle %{count} blogs met fouten"
@@ -59,7 +66,11 @@
"opmlContent": "OPML-inhoud",
"opmlContentHint": "Plak hier de volledige OPML XML-inhoud",
"syncInterval": "Synchronisatie-interval",
"enabled": "Automatische synchronisatie inschakelen"
"enabled": "Automatische synchronisatie inschakelen",
"microsubChannel": "Microsub Channel",
"microsubChannelHint": "Sync feeds from a specific channel, or all channels",
"categoryPrefix": "Category Prefix",
"categoryPrefixHint": "Optional prefix for blog categories (e.g., 'Following: ')"
}
},

View File

@@ -26,6 +26,13 @@
"clearConfirm": "Spowoduje to usunięcie wszystkich elementów w pamięci podręcznej i ponowne pobranie wszystkiego. Kontynuować?"
},
"sync": {
"success": "Synced %{blogs} blogs, added %{items} items.",
"error": "Sync failed: %{error}",
"already_running": "A sync is already in progress.",
"cleared_success": "Cleared and re-synced %{blogs} blogs, added %{items} items."
},
"errors": {
"title": "Blogi z błędami",
"seeAll": "Zobacz wszystkie %{count} blogi z błędami"
@@ -59,7 +66,11 @@
"opmlContent": "Zawartość OPML",
"opmlContentHint": "Wklej tutaj pełną zawartość XML OPML",
"syncInterval": "Interwał synchronizacji",
"enabled": "Włącz automatyczną synchronizację"
"enabled": "Włącz automatyczną synchronizację",
"microsubChannel": "Microsub Channel",
"microsubChannelHint": "Sync feeds from a specific channel, or all channels",
"categoryPrefix": "Category Prefix",
"categoryPrefixHint": "Optional prefix for blog categories (e.g., 'Following: ')"
}
},

View File

@@ -26,6 +26,13 @@
"clearConfirm": "Isso excluirá todos os itens em cache e buscará tudo novamente. Continuar?"
},
"sync": {
"success": "Synced %{blogs} blogs, added %{items} items.",
"error": "Sync failed: %{error}",
"already_running": "A sync is already in progress.",
"cleared_success": "Cleared and re-synced %{blogs} blogs, added %{items} items."
},
"errors": {
"title": "Blogs com erros",
"seeAll": "Ver todos os %{count} blogs com erros"
@@ -59,7 +66,11 @@
"opmlContent": "Conteúdo OPML",
"opmlContentHint": "Cole aqui o conteúdo XML OPML completo",
"syncInterval": "Intervalo de sincronização",
"enabled": "Ativar sincronização automática"
"enabled": "Ativar sincronização automática",
"microsubChannel": "Microsub Channel",
"microsubChannelHint": "Sync feeds from a specific channel, or all channels",
"categoryPrefix": "Category Prefix",
"categoryPrefixHint": "Optional prefix for blog categories (e.g., 'Following: ')"
}
},

View File

@@ -26,6 +26,13 @@
"clearConfirm": "Isto eliminará todos os itens em cache e voltará a obter tudo. Continuar?"
},
"sync": {
"success": "Synced %{blogs} blogs, added %{items} items.",
"error": "Sync failed: %{error}",
"already_running": "A sync is already in progress.",
"cleared_success": "Cleared and re-synced %{blogs} blogs, added %{items} items."
},
"errors": {
"title": "Blogues com erros",
"seeAll": "Ver todos os %{count} blogues com erros"
@@ -59,7 +66,11 @@
"opmlContent": "Conteúdo OPML",
"opmlContentHint": "Cole aqui o conteúdo XML OPML completo",
"syncInterval": "Intervalo de sincronização",
"enabled": "Ativar sincronização automática"
"enabled": "Ativar sincronização automática",
"microsubChannel": "Microsub Channel",
"microsubChannelHint": "Sync feeds from a specific channel, or all channels",
"categoryPrefix": "Category Prefix",
"categoryPrefixHint": "Optional prefix for blog categories (e.g., 'Following: ')"
}
},

View File

@@ -26,6 +26,13 @@
"clearConfirm": "Ово ће обрисати све кеширане ставке и поново преузети све. Наставити?"
},
"sync": {
"success": "Synced %{blogs} blogs, added %{items} items.",
"error": "Sync failed: %{error}",
"already_running": "A sync is already in progress.",
"cleared_success": "Cleared and re-synced %{blogs} blogs, added %{items} items."
},
"errors": {
"title": "Блогови са грешкама",
"seeAll": "Погледај свих %{count} блогова са грешкама"
@@ -59,7 +66,11 @@
"opmlContent": "OPML садржај",
"opmlContentHint": "Налепите овде потпун OPML XML садржај",
"syncInterval": "Интервал синхронизације",
"enabled": "Омогући аутоматску синхронизацију"
"enabled": "Омогући аутоматску синхронизацију",
"microsubChannel": "Microsub Channel",
"microsubChannelHint": "Sync feeds from a specific channel, or all channels",
"categoryPrefix": "Category Prefix",
"categoryPrefixHint": "Optional prefix for blog categories (e.g., 'Following: ')"
}
},

View File

@@ -26,6 +26,13 @@
"clearConfirm": "Detta kommer att ta bort alla cachade poster och hämta allt igen. Fortsätta?"
},
"sync": {
"success": "Synced %{blogs} blogs, added %{items} items.",
"error": "Sync failed: %{error}",
"already_running": "A sync is already in progress.",
"cleared_success": "Cleared and re-synced %{blogs} blogs, added %{items} items."
},
"errors": {
"title": "Bloggar med fel",
"seeAll": "Se alla %{count} bloggar med fel"
@@ -59,7 +66,11 @@
"opmlContent": "OPML-innehåll",
"opmlContentHint": "Klistra in det fullständiga OPML XML-innehållet här",
"syncInterval": "Synkroniseringsintervall",
"enabled": "Aktivera automatisk synkronisering"
"enabled": "Aktivera automatisk synkronisering",
"microsubChannel": "Microsub Channel",
"microsubChannelHint": "Sync feeds from a specific channel, or all channels",
"categoryPrefix": "Category Prefix",
"categoryPrefixHint": "Optional prefix for blog categories (e.g., 'Following: ')"
}
},

View File

@@ -26,6 +26,13 @@
"clearConfirm": "这将删除所有缓存的条目并重新获取所有内容。继续吗?"
},
"sync": {
"success": "Synced %{blogs} blogs, added %{items} items.",
"error": "Sync failed: %{error}",
"already_running": "A sync is already in progress.",
"cleared_success": "Cleared and re-synced %{blogs} blogs, added %{items} items."
},
"errors": {
"title": "有错误的博客",
"seeAll": "查看所有 %{count} 个有错误的博客"
@@ -59,7 +66,11 @@
"opmlContent": "OPML 内容",
"opmlContentHint": "在此粘贴完整的 OPML XML 内容",
"syncInterval": "同步间隔",
"enabled": "启用自动同步"
"enabled": "启用自动同步",
"microsubChannel": "Microsub Channel",
"microsubChannelHint": "Sync feeds from a specific channel, or all channels",
"categoryPrefix": "Category Prefix",
"categoryPrefixHint": "Optional prefix for blog categories (e.g., 'Following: ')"
}
},

View File

@@ -1,6 +1,6 @@
{
"name": "@rmdes/indiekit-endpoint-blogroll",
"version": "1.0.18",
"version": "1.0.19",
"description": "Blogroll endpoint for Indiekit. Aggregates blog feeds from OPML, JSON feeds, or manual entry.",
"keywords": [
"indiekit",