mirror of
https://github.com/svemagie/indiekit-endpoint-blogroll.git
synced 2026-04-02 15:34:59 +02:00
Adds FeedLand (feedland.com or self-hosted) as a new source type alongside OPML and Microsub. Syncs subscriptions via FeedLand's public OPML endpoint with optional category filtering and AJAX category discovery in the admin UI.
154 lines
5.9 KiB
JSON
154 lines
5.9 KiB
JSON
{
|
|
"blogroll": {
|
|
"title": "Blogroll",
|
|
"description": "Manage your blogroll sources and blogs",
|
|
"enabled": "Enabled",
|
|
"disabled": "Disabled",
|
|
"edit": "Edit",
|
|
"sync": "Sync",
|
|
"refresh": "Refresh",
|
|
"cancel": "Cancel",
|
|
"never": "Never",
|
|
|
|
"stats": {
|
|
"title": "Overview",
|
|
"sources": "Sources",
|
|
"blogs": "Blogs",
|
|
"items": "Items",
|
|
"errors": "Errors",
|
|
"lastSync": "Last Sync"
|
|
},
|
|
|
|
"actions": {
|
|
"title": "Actions",
|
|
"syncNow": "Sync All Now",
|
|
"clearResync": "Clear & Re-sync",
|
|
"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"
|
|
},
|
|
|
|
"sources": {
|
|
"title": "OPML Sync",
|
|
"manage": "OPML Sync",
|
|
"add": "Add OPML Source",
|
|
"new": "New OPML Source",
|
|
"edit": "Edit OPML Source",
|
|
"create": "Create",
|
|
"save": "Save",
|
|
"empty": "No OPML sources configured. Use this to bulk-import blogs from FreshRSS or other feed readers.",
|
|
"recent": "OPML Sources",
|
|
"interval": "Every {{minutes}} min",
|
|
"lastSync": "Last synced",
|
|
"deleteConfirm": "Delete this OPML source? Blogs imported from it will remain.",
|
|
"created": "OPML source created successfully.",
|
|
"created_synced": "OPML source created and synced successfully.",
|
|
"created_sync_failed": "OPML source created, but sync failed: {{error}}",
|
|
"updated": "OPML source updated successfully.",
|
|
"deleted": "OPML source deleted successfully.",
|
|
"synced": "Synced successfully. Added: {{added}}, Updated: {{updated}}",
|
|
"form": {
|
|
"name": "Name",
|
|
"type": "Import Type",
|
|
"typeHint": "URL syncs periodically, File is a one-time import",
|
|
"url": "OPML URL",
|
|
"urlHint": "URL to your OPML file (e.g., FreshRSS export URL)",
|
|
"opmlContent": "OPML Content",
|
|
"opmlContentHint": "Paste the full OPML XML content here",
|
|
"syncInterval": "Sync Interval",
|
|
"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: ')",
|
|
"feedlandInstance": "FeedLand Instance URL",
|
|
"feedlandInstanceHint": "FeedLand instance URL (feedland.com or self-hosted)",
|
|
"feedlandUsername": "FeedLand Username",
|
|
"feedlandUsernameHint": "Your FeedLand screen name",
|
|
"feedlandCategory": "FeedLand Category",
|
|
"feedlandCategoryAll": "All subscriptions",
|
|
"feedlandCategoryHint": "Optional: sync only feeds from a specific category",
|
|
"feedlandLoadCategories": "Load",
|
|
"feedlandRequired": "FeedLand instance URL and username are required"
|
|
}
|
|
},
|
|
|
|
"blogs": {
|
|
"title": "Blogs",
|
|
"manage": "Manage Blogs",
|
|
"add": "Add Blog",
|
|
"new": "New Blog",
|
|
"edit": "Edit Blog",
|
|
"create": "Add Blog",
|
|
"save": "Save Blog",
|
|
"empty": "No blogs yet. Add one or import from an OPML source.",
|
|
"recent": "Recent Blogs",
|
|
"pinned": "Pinned",
|
|
"hidden": "Hidden",
|
|
"noItems": "No items fetched yet.",
|
|
"recentItems": "Recent Items",
|
|
"allCategories": "All Categories",
|
|
"allStatuses": "All Statuses",
|
|
"statusActive": "Active",
|
|
"statusError": "Error",
|
|
"statusPending": "Pending",
|
|
"clearFilters": "Clear filters",
|
|
"deleteConfirm": "Delete this blog and all its cached items?",
|
|
"created": "Blog added successfully.",
|
|
"created_synced": "Blog added and synced. Fetched {{items}} items.",
|
|
"created_sync_failed": "Blog added, but initial fetch failed: {{error}}",
|
|
"updated": "Blog updated successfully.",
|
|
"deleted": "Blog deleted successfully.",
|
|
"refreshed": "Blog refreshed. Added {{items}} new items.",
|
|
"form": {
|
|
"discoverUrl": "Website URL",
|
|
"discover": "Discover Feed",
|
|
"discoverHint": "Enter a website URL to auto-discover its RSS/Atom feed",
|
|
"discoverNoUrl": "Please enter a website URL",
|
|
"discovering": "Discovering...",
|
|
"discoveringHint": "Checking for RSS/Atom feeds...",
|
|
"discoverFailed": "Failed to discover feeds",
|
|
"discoverNoFeeds": "No feeds found on this website",
|
|
"discoverFoundOne": "Found feed:",
|
|
"discoverFoundMultiple": "Multiple feeds found. Click one to select:",
|
|
"discoverSelected": "Selected feed:",
|
|
"feedUrl": "Feed URL",
|
|
"feedUrlHint": "RSS, Atom, or JSON Feed URL",
|
|
"title": "Title",
|
|
"titlePlaceholder": "Auto-detected from feed",
|
|
"titleHint": "Leave blank to use the feed title",
|
|
"siteUrl": "Site URL",
|
|
"siteUrlHint": "Link to the blog's homepage (optional)",
|
|
"category": "Category",
|
|
"categoryHint": "Group blogs by category for filtering and OPML export",
|
|
"tags": "Tags",
|
|
"tagsHint": "Comma-separated tags for additional organization",
|
|
"notes": "Notes",
|
|
"notesPlaceholder": "Why you follow this blog...",
|
|
"notesHint": "Personal notes (not shown publicly)",
|
|
"pinned": "Pin this blog (show at top of lists)",
|
|
"hidden": "Hide from public API (visible only to you)"
|
|
}
|
|
},
|
|
|
|
"api": {
|
|
"title": "API Endpoints",
|
|
"blogs": "List all blogs with metadata",
|
|
"items": "List recent items from all blogs",
|
|
"categories": "List all categories",
|
|
"opml": "Export as OPML",
|
|
"status": "Sync status and statistics"
|
|
}
|
|
}
|
|
}
|