diff --git a/scripts/sync-i18n-locales.ts b/scripts/sync-i18n-locales.ts index f3c31eb8..4cf5c956 100644 --- a/scripts/sync-i18n-locales.ts +++ b/scripts/sync-i18n-locales.ts @@ -7,21 +7,15 @@ import fs from 'fs' import path from 'path' import { fileURLToPath } from 'url' -import ar from '../src/i18n/locales/ar' +import cs from '../src/i18n/locales/cs' import de from '../src/i18n/locales/de' import en from '../src/i18n/locales/en' import es from '../src/i18n/locales/es' -import fa from '../src/i18n/locales/fa' import fr from '../src/i18n/locales/fr' -import hi from '../src/i18n/locales/hi' -import it from '../src/i18n/locales/it' -import ja from '../src/i18n/locales/ja' -import ko from '../src/i18n/locales/ko' +import nl from '../src/i18n/locales/nl' import pl from '../src/i18n/locales/pl' -import pt_BR from '../src/i18n/locales/pt-BR' -import pt_PT from '../src/i18n/locales/pt-PT' import ru from '../src/i18n/locales/ru' -import th from '../src/i18n/locales/th' +import tr from '../src/i18n/locales/tr' import zh from '../src/i18n/locales/zh' const __dirname = path.dirname(fileURLToPath(import.meta.url)) @@ -41,22 +35,16 @@ function loadOverrides(localeFile: string): Record { } const PACKAGES: { file: string; translation: Record; header?: string }[] = [ - { file: 'ar.ts', translation: ar.translation }, + { file: 'cs.ts', translation: cs.translation, header: '// NOTE: Untranslated strings fall back to English.\n' }, { file: 'de.ts', translation: de.translation, header: '// NOTE: Untranslated strings fall back to English.\n' }, { file: 'en.ts', translation: en.translation }, - { file: 'es.ts', translation: es.translation }, - { file: 'fa.ts', translation: fa.translation }, - { file: 'fr.ts', translation: fr.translation }, - { file: 'hi.ts', translation: hi.translation }, - { file: 'it.ts', translation: it.translation }, - { file: 'ja.ts', translation: ja.translation }, - { file: 'ko.ts', translation: ko.translation }, - { file: 'pl.ts', translation: pl.translation }, - { file: 'pt-BR.ts', translation: pt_BR.translation }, - { file: 'pt-PT.ts', translation: pt_PT.translation }, - { file: 'ru.ts', translation: ru.translation }, - { file: 'th.ts', translation: th.translation }, - { file: 'zh.ts', translation: zh.translation } + { file: 'es.ts', translation: es.translation, header: '// NOTE: Untranslated strings fall back to English.\n' }, + { file: 'fr.ts', translation: fr.translation, header: '// NOTE: Untranslated strings fall back to English.\n' }, + { file: 'nl.ts', translation: nl.translation, header: '// NOTE: Untranslated strings fall back to English.\n' }, + { file: 'pl.ts', translation: pl.translation, header: '// NOTE: Untranslated strings fall back to English.\n' }, + { file: 'ru.ts', translation: ru.translation, header: '// NOTE: Untranslated strings fall back to English.\n' }, + { file: 'tr.ts', translation: tr.translation, header: '// NOTE: Untranslated strings fall back to English.\n' }, + { file: 'zh.ts', translation: zh.translation, header: '// NOTE: Untranslated strings fall back to English.\n' } ] function walk(dir: string, acc: string[] = []): string[] { diff --git a/services/piper-tts-proxy/server.ts b/services/piper-tts-proxy/server.ts index c5bab26c..5944ff2c 100644 --- a/services/piper-tts-proxy/server.ts +++ b/services/piper-tts-proxy/server.ts @@ -1024,7 +1024,7 @@ function detectLanguage(text: string): string { * To see available voices, check the piper-data folder or Wyoming server logs. */ function getVoiceForLanguage(lang: string): string { - // Common voice mappings - adjust based on available voices in your piper-data directory + // Voice map keys / ids: keep in sync with `src/lib/trinity-languages.ts` (`TRINITY_PIPER_VOICE`). const voiceMap: Record = { 'en': 'en_US-lessac-medium', // Default English voice 'de': 'de_DE-thorsten-medium', // German diff --git a/src/components/AdvancedEventLab/AdvancedEventLabDialog.tsx b/src/components/AdvancedEventLab/AdvancedEventLabDialog.tsx index e262cfaa..a15005c2 100644 --- a/src/components/AdvancedEventLab/AdvancedEventLabDialog.tsx +++ b/src/components/AdvancedEventLab/AdvancedEventLabDialog.tsx @@ -17,10 +17,12 @@ import { import logger from '@/lib/logger' import { isLanguageToolConfigured } from '@/lib/languagetool-client' import { languageToolLintExtension, requestAdvancedLabGrammarLint } from '@/lib/languagetool-cm-linter' +import { pickLanguageToolCodeForTranslateTarget } from '@/lib/languagetool-language-order' +import { LanguageSelectOptionLines } from '@/lib/language-select-option-lines' import { - buildLanguageToolPreferenceList, - pickLanguageToolCodeForTranslateTarget -} from '@/lib/languagetool-language-order' + buildLabLanguageToolPreferenceList, + filterTranslateLanguagesWithLanguageToolPairing +} from '@/lib/trinity-languages' import { parseLabSlice, type AdvancedEventLabSlice } from '@/lib/advanced-event-lab-slice' import { translateAdvancedLabMarkup } from '@/lib/advanced-lab-markup-protect' import { @@ -467,22 +469,21 @@ export default function AdvancedEventLabDialog({ } }, [open, initial, pushLabCheckpoint, bumpUndoUi]) + const [translateLangs, setTranslateLangs] = useState([]) const ltList = useMemo( - () => buildLanguageToolPreferenceList(i18nLanguage ?? i18n.language), - [i18nLanguage, i18n.language] + () => buildLabLanguageToolPreferenceList(i18nLanguage ?? i18n.language, translateLangs), + [i18nLanguage, i18n.language, translateLangs] ) const [ltLang, setLtLang] = useState(() => ltList[0] ?? 'en-US') const ltLangRef = useRef(ltLang) ltLangRef.current = ltLang - const [translateLangs, setTranslateLangs] = useState([]) const [translateLoad, setTranslateLoad] = useState<'idle' | 'loading' | 'ready' | 'empty' | 'error'>('idle') const [translateSource, setTranslateSource] = useState('auto') const [translateTarget, setTranslateTarget] = useState('en') useEffect(() => { - if (open) { - setLtLang(ltList[0] ?? 'en-US') - } + if (!open) return + setLtLang((prev) => (ltList.includes(prev) ? prev : ltList[0] ?? 'en-US')) }, [open, ltList]) useEffect(() => { @@ -502,14 +503,15 @@ export default function AdvancedEventLabDialog({ void fetchTranslateLanguages() .then((list) => { if (cancelled) return - if (!list.length) { + const filtered = filterTranslateLanguagesWithLanguageToolPairing(list) + if (!filtered.length) { setTranslateLangs([]) setTranslateLoad('empty') return } - setTranslateLangs(list) + setTranslateLangs(filtered) setTranslateSource('auto') - const codes = list.map((l) => l.code) + const codes = filtered.map((l) => l.code) const tgt = codes.includes('en') ? 'en' : codes[0]! setTranslateTarget(tgt) setTranslateLoad('ready') @@ -790,13 +792,13 @@ export default function AdvancedEventLabDialog({ setLtLang(code) }} > - + - + {ltList.map((code) => ( - {code} + ))} @@ -826,14 +828,14 @@ export default function AdvancedEventLabDialog({ } }} > - + - + {t('Advanced lab translation source auto')} {translateLangs.map((l) => ( - {l.name} ({l.code}) + ))} @@ -854,13 +856,13 @@ export default function AdvancedEventLabDialog({ } }} > - + - + {translateLangs.map((l) => ( - {l.name} ({l.code}) + ))} diff --git a/src/components/NoteOptions/useMenuActions.tsx b/src/components/NoteOptions/useMenuActions.tsx index b52a4182..60715a2c 100644 --- a/src/components/NoteOptions/useMenuActions.tsx +++ b/src/components/NoteOptions/useMenuActions.tsx @@ -62,8 +62,14 @@ import { eventHasTranslatableTextBody, translateNoteForDisplay } from '@/lib/translate-note-for-menu' -import { isTranslateConfigured } from '@/lib/translate-client' -import { LocalizedLanguageNames, SUPPORTED_APP_LANGUAGE_CODES, type TLanguage } from '@/i18n' +import { + fetchTranslateLanguages, + isTranslateConfigured, + type TranslateLanguageOption +} from '@/lib/translate-client' +import { languageSelectSingleLine } from '@/lib/language-display-meta' +import { LanguageSelectOptionLines } from '@/lib/language-select-option-lines' +import { filterTranslateLanguagesWithLanguageToolPairing } from '@/lib/trinity-languages' import { useMemo, useState, useEffect, useRef, useContext, useSyncExternalStore } from 'react' import { useTranslation } from 'react-i18next' import { toast } from 'sonner' @@ -162,6 +168,22 @@ export function useMenuActions({ () => getNoteTranslation(event.id) ) + const [translateMenuOptions, setTranslateMenuOptions] = useState([]) + useEffect(() => { + if (!isTranslateConfigured()) { + setTranslateMenuOptions([]) + return + } + let cancelled = false + void fetchTranslateLanguages().then((list) => { + if (cancelled) return + setTranslateMenuOptions(filterTranslateLanguagesWithLanguageToolPairing(list)) + }) + return () => { + cancelled = true + } + }, []) + // Check if event is pinned const [isPinned, setIsPinned] = useState(false) @@ -831,6 +853,7 @@ export function useMenuActions({ const noteSupportsTranslateMenu = isTranslateConfigured() && + translateMenuOptions.length > 0 && (eventHasTranslatableTextBody(event) || articleHasTranslatableTitle(event)) const translateTargetSubmenu: SubMenuAction[] = noteSupportsTranslateMenu @@ -843,23 +866,26 @@ export function useMenuActions({ toast.success(t('Showing original note text')) } }, - ...SUPPORTED_APP_LANGUAGE_CODES.map( - (code: TLanguage, i): SubMenuAction => ({ - label: LocalizedLanguageNames[code], + ...translateMenuOptions.map( + (opt, i): SubMenuAction => ({ + label: , separator: i === 0, onClick: () => { closeDrawer() void toast.promise( - translateNoteForDisplay(event, code).then((out) => { + translateNoteForDisplay(event, opt.code).then((out) => { setNoteTranslation(event.id, { - lang: code, + lang: opt.code, + langLabel: languageSelectSingleLine(opt.code), content: out.content, title: out.title }) }), { loading: t('Translating note…'), - success: t('Note translated', { language: LocalizedLanguageNames[code] }), + success: t('Note translated', { + language: languageSelectSingleLine(opt.code) + }), error: (err: unknown) => t('Note translation failed', { message: err instanceof Error ? err.message : String(err) @@ -1229,7 +1255,8 @@ export function useMenuActions({ onOpenEditOrClone, canSignEvents, profile, - noteTranslationFromMenu + noteTranslationFromMenu, + translateMenuOptions ]) return menuActions diff --git a/src/i18n/index.ts b/src/i18n/index.ts index d32b5dc0..dfb05835 100644 --- a/src/i18n/index.ts +++ b/src/i18n/index.ts @@ -2,33 +2,18 @@ import dayjs from 'dayjs' import i18n, { Resource } from 'i18next' import LanguageDetector from 'i18next-browser-languagedetector' import { initReactI18next } from 'react-i18next' +import { TRINITY_LANGUAGE_CODES, TRINITY_LANGUAGE_DISPLAY_NAMES } from '@/lib/trinity-languages' import en from './locales/en' -/** Display names only — keeps this module small; locale strings load on demand (except English). */ -const LANGUAGE_META = { - ar: 'العربية', - de: 'Deutsch', - en: 'English', - es: 'Español', - fa: 'فارسی', - fr: 'Français', - hi: 'हिन्दी', - it: 'Italiano', - ja: '日本語', - ko: '한국어', - pl: 'Polski', - 'pt-BR': 'Português (Brasil)', - 'pt-PT': 'Português (Portugal)', - ru: 'Русский', - th: 'ไทย', - zh: '简体中文' -} as const +/** App UI locales with full bundles (see `trinity-languages.ts`); translate menus use Libre+LT from the API. */ +const LANGUAGE_META = TRINITY_LANGUAGE_DISPLAY_NAMES export type TLanguage = keyof typeof LANGUAGE_META export const LocalizedLanguageNames: { [key in TLanguage]: string } = { ...LANGUAGE_META } -const supportedLanguages = Object.keys(LANGUAGE_META) as TLanguage[] +/** Same codes as {@link TRINITY_LANGUAGE_CODES} — stable order for every language dropdown. */ +const supportedLanguages = [...TRINITY_LANGUAGE_CODES] as TLanguage[] /** App UI languages (same set used for “Translate to …” in note menus). */ export const SUPPORTED_APP_LANGUAGE_CODES: readonly TLanguage[] = supportedLanguages @@ -82,25 +67,17 @@ export function initI18n(): Promise { i18n.services.formatter?.add('date', (timestamp, lng) => { switch (lng) { case 'zh': - case 'ja': return dayjs(timestamp).format('YYYY年MM月DD日') case 'pl': case 'de': case 'ru': + case 'cs': return dayjs(timestamp).format('DD.MM.YYYY') - case 'fa': - return dayjs(timestamp).format('YYYY/MM/DD') - case 'it': case 'es': case 'fr': - case 'pt-BR': - case 'pt-PT': - case 'ar': - case 'hi': - case 'th': + case 'nl': + case 'tr': return dayjs(timestamp).format('DD/MM/YYYY') - case 'ko': - return dayjs(timestamp).format('YYYY년 MM월 DD일') default: return dayjs(timestamp).format('MMM D, YYYY') } diff --git a/src/i18n/locales/ar.ts b/src/i18n/locales/ar.ts deleted file mode 100644 index 0bbd1994..00000000 --- a/src/i18n/locales/ar.ts +++ /dev/null @@ -1,1833 +0,0 @@ -export default { - translation: { - 'Welcome! 🥳': 'مرحباً! 🥳', - About: 'حول', - 'New Note': 'ملاحظة جديدة', - Post: 'نشر', - Home: 'الرئيسية', - Feed: 'Feed', - 'Favorite Relays': 'الريلايات المفضلة', - 'Relay pulse': 'Relay pulse', - 'Relay pulse empty': 'Quiet on your relays in the last hour.', - 'Relay pulse follows': 'Following ({{count}})', - 'Relay pulse others': 'Others ({{count}})', - 'Relay pulse updated': 'Updated {{relative}}', - 'Relay pulse active npubs': 'Active npubs', - 'Relay pulse active npubs hint': - 'Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).', - 'Relay pulse drawer following': 'Following', - 'Relay pulse drawer others': 'Others', - 'Relay pulse drawer no profiles': 'No kind 0 profiles loaded for this sample yet.', - 'See the newest notes from your follows': 'See the newest notes from your follows', - 'All favorite relays': 'جميع الريلايات المفضلة', - 'Pinned note': 'Pinned note', - 'Relay settings': 'إعدادات الريلاي', - Settings: 'الإعدادات', - 'Account menu': 'Account menu', - SidebarRelays: 'الريلايات', - Refresh: 'تحديث', - 'refresh.longPressHardReload': 'Long-press: reload app and restore feed cache', - 'link.expandNostrEmbed': 'Show Nostr preview', - Profile: 'الملف الشخصي', - Logout: 'تسجيل الخروج', - Following: 'المتابعون', - followings: 'المتابعين', - boosted: 'قوّى', - 'Boosted by:': 'Boosted by:', - 'just now': 'الآن', - 'n minutes ago': 'منذ {{n}} دقيقة', - 'n m': '{{n}} دقيقة', - 'n hours ago': 'منذ {{n}} ساعة', - 'n h': '{{n}} ساعة', - 'n days ago': 'منذ {{n}} يوم', - 'n d': '{{n}} يوم', - date: '{{timestamp, date}}', - Follow: 'متابعة', - Unfollow: 'إلغاء المتابعة', - 'Follow failed': 'فشل المتابعة', - 'Unfollow failed': 'فشل إلغاء المتابعة', - 'show new notes': 'إظهار الملاحظات الجديدة', - 'loading...': 'جار التحميل...', - 'Loading...': 'جار التحميل...', - 'no more notes': 'لا توجد ملاحظات إضافية', - 'calendar entries': 'calendar entries', - 'Loading calendar events...': 'Loading calendar events...', - 'No calendar events found': 'No calendar events found', - 'Calendar events in the next {{count}} months': 'Calendar events in the next {{count}} months', - 'The nostr.band relay appears to be temporarily out of service. Please try again later.': - 'The nostr.band relay appears to be temporarily out of service. Please try again later.', - 'reply to': 'الرد على', - reply: 'رد', - Reply: 'رد', - 'load more older replies': 'تحميل المزيد من الردود القديمة', - 'Write something...': 'اكتب شيئاً...', - Cancel: 'إلغاء', - Mentions: 'المنشنات', - 'Search for event or address…': 'Search for event or address…', - 'Search notes…': 'Search notes…', - 'No notes found': 'No notes found', - 'Failed to post': 'فشل النشر', - 'Post successful': 'تم النشر بنجاح', - 'Your post has been published': 'تم نشر مشاركتك', - Boost: 'Boost', - 'Boost published': 'نُشر الـ Boost', - Quote: 'اقتباس', - 'Copy event ID': 'نسخ معرف الحدث', - 'Copy user ID': 'نسخ معرف المستخدم', - 'Send public message': 'Send public message', - 'View raw event': 'عرض الحدث الخام', - 'Edit this event': 'Edit this event', - 'Clone or fork this event': 'Clone or fork this event', - 'Event kind': 'Event kind', - 'Note content': 'Note content', - Publish: 'Publish', - 'Post published': 'Post published', - 'Edit content and tags, then publish a new signed event.': - 'Edit content and tags, then publish a new signed event.', - 'Log in to publish': 'Log in to publish', - 'Set when you publish': 'set when you publish', - 'id and sig are assigned when you publish': 'id and sig are assigned when you publish', - 'Published to some relays only': 'Published to some relays only', - 'Add field': 'Add field', - 'View full profile': 'View full profile', - Like: 'أعجبني', - 'switch to light theme': 'التبديل إلى الوضع الفاتح', - 'switch to dark theme': 'التبديل إلى الوضع الداكن', - 'switch to system theme': 'التبديل إلى وضع النظام', - Note: 'ملاحظة', - note: 'ملاحظة', - "username's following": 'متابعي {{username}}', - "username's used relays": 'الريلايات المستخدمة لـ {{username}}', - "username's muted": '{{username}} تم كتمه', - Login: 'تسجيل الدخول', - downloadDesktopApp: 'Download app', - 'Please log in to view notifications.': 'Please log in to view notifications.', - 'Follows you': 'يتابعك', - 'Relay Settings': 'إعدادات الريلاي', - 'Relays and Storage Settings': 'Relays and Storage Settings', - 'Relay set name': 'اسم مجموعة الريلاي', - 'Add a new relay set': 'إضافة مجموعة ريلاي جديدة', - Add: 'إضافة', - 'n relays': '{{n}} ريلايات', - Rename: 'إعادة تسمية', - 'Copy share link': 'Copy share link', - 'Copy address': 'Copy address', - 'Copy payto URI': 'Copy payto URI', - 'Copied payto address': 'Copied payto address', - 'Copied to clipboard': 'Copied to clipboard', - 'Copied {{label}} address': 'Copied {{label}} address', - 'Lightning payment address – copy to pay via your wallet': - 'Lightning payment address – copy to pay via your wallet', - 'Payment address – copy to use in your wallet or app': - 'Payment address – copy to use in your wallet or app', - 'Click to open payment options': 'Click to open payment options', - 'Click to copy address': 'Click to copy address', - 'Open on website': 'Open on website', - 'Raw profile event': 'Raw profile event', - 'Full profile event': 'Full profile event', - 'Event (JSON)': 'Event (JSON)', - 'Save full profile': 'Save full profile', - 'Add tag': 'Add tag', - 'Remove tag': 'Remove tag', - 'Tag name': 'Tag name', - Value: 'Value', - 'Add value to tag': 'Add value to tag', - 'Remove value': 'Remove value', - 'No tags. Click "Add tag" to add one.': 'No tags. Click "Add tag" to add one.', - 'Profile updated': 'Profile updated', - 'Failed to publish profile': 'Failed to publish profile', - 'Invalid profile JSON': 'Invalid profile JSON', - 'Refresh cache': 'Refresh cache', - 'Force-refresh profile and payment info from relays': - 'Force-refresh profile and payment info from relays', - 'Profile and payment cache refreshed': 'Profile and payment cache refreshed', - 'Failed to refresh cache': 'Failed to refresh cache', - 'Raw payment info event': 'Raw payment info event', - 'Payment info': 'Payment info', - 'Edit payment info': 'Edit payment info', - 'Add payment info': 'Add payment info', - 'No payment info event yet. Click "Add payment info" to create one.': - 'No payment info event yet. Click "Add payment info" to create one.', - 'Content (JSON)': 'Content (JSON)', - Tags: 'Tags', - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])': - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])', - 'Payment info updated': 'Payment info updated', - 'Failed to publish payment info': 'Failed to publish payment info', - 'Invalid tags JSON': 'Invalid tags JSON', - 'Payment methods': 'Payment methods', - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).': - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).', - 'Type (e.g. lightning)': 'Type (e.g. lightning)', - 'Authority (e.g. user@domain.com)': 'Authority (e.g. user@domain.com)', - 'Add payment method': 'Add payment method', - Remove: 'Remove', - 'Additional content (JSON)': 'Additional content (JSON)', - 'Show full event JSON': 'Show full event JSON', - 'Tag list': 'Tag list', - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.': - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.', - 'Tag value': 'Tag value', - 'Saving…': 'Saving…', - 'Share with Imwald': 'مشاركة مع Imwald', - 'Share with Alexandria': 'مشاركة مع Alexandria', - 'Start video call': 'Start video call', - 'Copy call invite link': 'Copy call invite link', - 'Start call about this': 'Start call about this', - 'Send call invite': 'Send call invite', - 'Read this note aloud': 'Read this note aloud', - 'Read-aloud is not supported in this browser': 'Read-aloud is not supported in this browser', - 'Nothing to read aloud': 'Nothing to read aloud', - 'Read-aloud failed': 'Read-aloud failed', - 'Read aloud': 'Read aloud', - 'Read-aloud idle': 'Idle', - 'Preparing read-aloud…': 'Preparing read-aloud…', - 'Requesting audio…': 'Requesting audio…', - 'Loading audio…': 'Loading audio…', - Playing: 'Playing', - Paused: 'Paused', - 'Read-aloud finished': 'Finished', - 'Read-aloud error': 'Error', - 'TTS endpoint': 'TTS endpoint', - 'Using browser speech synthesis': 'Using browser speech synthesis', - 'Read-aloud section progress': 'Section {{current}} of {{total}}', - 'Request sent': 'Request sent', - 'Response received': 'Response received', - 'Playback started': 'Playback started', - Characters: 'Characters', - Pause: 'Pause', - Play: 'Play', - Stop: 'Stop', - 'Read-aloud sections': 'Read-aloud sections', - 'Read-aloud overall progress': 'Overall progress', - 'Read-aloud section done': 'Section {{index}}: finished', - 'Read-aloud section pending': 'Section {{index}}: not started yet', - 'Read-aloud section fetching': 'Section {{index}}: requesting audio', - 'Read-aloud section preparing audio': 'Section {{index}}: loading audio', - 'Read-aloud section playing': 'Section {{index}}: playing', - 'Read-aloud section paused': 'Section {{index}}: paused', - 'Read-aloud legend fetching': 'Requesting audio for this section from the server…', - 'Read-aloud legend buffering': 'Decoding audio for this section…', - 'Read-aloud legend playing': 'Playing this section.', - 'Read-aloud legend paused': 'Playback paused.', - 'Read-aloud Piper fallback notice': - 'Server voice (Piper) could not be used. Playing with your browser voice instead.', - 'Read-aloud Piper fallback detail label': 'Piper error', - 'Read-aloud Piper status region': 'Piper text-to-speech status', - 'Read-aloud Piper status heading': 'Piper (server voice)', - 'Read-aloud Piper skipped notice': - 'No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.', - 'Read-aloud Piper attempt started': - 'Piper was started at {{time}} (this read-aloud used the server first).', - 'Read-aloud Piper endpoint tried': 'URL used: {{url}}', - 'Join the video call': 'Join the video call', - 'Schedule video call': 'Schedule video call', - "You're invited to a scheduled video call.": "You're invited to a scheduled video call.", - 'Create a calendar event and send an invite. The recipient will see the event with a join link.': - 'Create a calendar event and send an invite. The recipient will see the event with a join link.', - 'Schedule a video call': 'Schedule a video call', - 'Create a calendar event and send kind 24 invites to each listed invitee.': - 'Create a calendar event and send kind 24 invites to each listed invitee.', - Invitees: 'Invitees', - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)': - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)', - 'Schedule and send invites': 'Schedule and send invites', - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)': - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)', - 'Scheduled call created and {{count}} invite(s) sent': - 'Scheduled call created and {{count}} invite(s) sent', - 'Join video call': 'Join video call', - 'Scheduled video call': 'Scheduled video call', - 'Video call': 'Video call', - 'Schedule and send invite': 'Schedule and send invite', - 'Scheduling…': 'Scheduling…', - 'Please set a start time': 'Please set a start time', - 'End time must be after start time': 'End time must be after start time', - 'Failed to schedule call': 'Failed to schedule call', - 'Scheduled call created and invite sent': 'Scheduled call created and invite sent', - RSVP: 'RSVP', - 'RSVP: {{status}}': 'RSVP: {{status}}', - Accepted: 'Accepted', - Tentative: 'Tentative', - Declined: 'Declined', - 'You need to log in to RSVP': 'You need to log in to RSVP', - 'RSVP updated': 'RSVP updated', - 'Failed to update RSVP': 'Failed to update RSVP', - Organizer: 'Organizer', - Attendees: 'Attendees', - 'No response': 'No response', - 'Calendar Events': 'Calendar Events', - 'Calendar Event': 'Calendar Event', - 'Schedule in-person meeting': 'Schedule in-person meeting', - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.': - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.', - "You're invited to an in-person meeting.": "You're invited to an in-person meeting.", - 'Meeting created and invite sent': 'Meeting created and invite sent', - 'Failed to create meeting': 'Failed to create meeting', - 'Create and send invite': 'Create and send invite', - 'Creating…': 'Creating…', - 'In-person meeting': 'In-person meeting', - Location: 'Location', - 'Address, venue, or place': 'Address, venue, or place', - Description: 'Description', - 'Optional notes': 'Optional notes', - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.': - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.', - 'Meeting created and {{count}} invite(s) sent': 'Meeting created and {{count}} invite(s) sent', - 'Create and send invites': 'Create and send invites', - Title: 'Title', - Start: 'Start', - End: 'End', - Delete: 'حذف', - 'Relay already exists': 'الريلاي موجود بالفعل', - 'invalid relay URL': 'عنوان URL للريلاي غير صالح', - 'Relay URL…': 'wss://… or relay host', - 'Open relay': 'Open relay', - 'Add a new relay': 'إضافة ريلاي جديدة', - back: 'عودة', - 'Lost in the void': 'ضائع في الفراغ', - 'Carry me home': 'أعدني إلى المنزل', - 'no replies': 'لا توجد ردود', - 'Reply to': 'الرد على', - Search: 'بحث', - 'The relays you are connected to do not support search': 'الريلايات المتصلة لا تدعم البحث', - 'Show more...': 'عرض المزيد...', - 'All users': 'جميع المستخدمين', - 'Display replies': 'عرض الردود', - Notes: 'الملاحظات', - Replies: 'الردود', - Gallery: 'معرض', - Notifications: 'الإشعارات', - 'no more notifications': 'لا توجد إشعارات إضافية', - 'Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.': - 'استخدام تسجيل الدخول بالمفتاح الخاص غير آمن. يُوصى باستخدام إضافة متصفح لتسجيل الدخول، مثل alby أو nostr-keyx أو nos2x. إذا كان يجب عليك استخدام مفتاح خاص، يرجى تعيين كلمة مرور للتشفير على الأقل.', - 'Login with Browser Extension': 'تسجيل الدخول باستخدام إضافة المتصفح', - 'Login with Bunker': 'تسجيل الدخول باستخدام Bunker', - 'Login with Private Key': 'تسجيل الدخول باستخدام المفتاح الخاص', - 'Login with npub (read-only)': 'تسجيل الدخول بـ npub (للقراءة فقط)', - 'reload notes': 'إعادة تحميل الملاحظات', - 'Logged in Accounts': 'الحسابات المسجلة', - 'Add an Account': 'إضافة حساب', - 'More options': 'المزيد من الخيارات', - 'Add client tag': 'إضافة وسم العميل', - 'Show others this was sent via Imwald': 'عرض أن هذه الرسالة أُرسلت عبر Imwald', - 'Are you sure you want to logout?': 'هل أنت متأكد أنك تريد تسجيل الخروج؟', - 'relay sets': 'مجموعات الريلاي', - edit: 'تعديل', - Languages: 'اللغات', - Theme: 'المظهر', - System: 'النظام', - Light: 'فاتح', - Dark: 'داكن', - Temporary: 'مؤقت', - 'Choose a relay set': 'اختر مجموعة ريلاي', - 'Switch account': 'تبديل الحساب', - Pictures: 'الصور', - 'Picture note': 'ملاحظة الصورة', - 'A special note for picture-first clients like Olas': - 'ملاحظة خاصة للعملاء المعتمدين على الصور مثل Olas', - 'Picture note requires images': 'ملاحظة الصورة تتطلب صور', - Relays: 'الريلايات', - Image: 'صورة', - 'Upload Image': 'Upload Image', - 'Insert emoji': 'Insert emoji', - 'Insert GIF': 'Insert GIF', - 'Insert meme': 'Insert meme', - 'Search GIFs': 'Search GIFs', - 'Search memes': 'Search memes', - 'Choose a GIF': 'Choose a GIF', - 'Choose a meme': 'Choose a meme', - 'Search GifBuddy for more GIFs': 'Search GifBuddy for more GIFs', - 'Add your own GIFs': 'Add your own GIFs', - 'Add your own meme templates': 'Add your own meme templates', - 'Description (optional, for search)': 'Description (optional, for search)', - 'e.g. happy birthday, thumbs up': 'e.g. happy birthday, thumbs up', - 'e.g. drake, distracted boyfriend': 'e.g. drake, distracted boyfriend', - 'Uploading...': 'Uploading...', - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.': - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.', - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).': - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).', - 'Failed to publish meme template for the picker': - 'Failed to publish meme template for the picker', - '{{name}} is not a GIF file': '{{name}} is not a GIF file', - '{{name}} is not a JPEG, PNG, or WebP file': '{{name}} is not a JPEG, PNG, or WebP file', - 'R & W': 'قراءة وكتابة', - Read: 'قراءة', - Write: 'كتابة', - 'Pull relay sets': 'سحب مجموعات الريلاي', - 'Select the relay sets you want to pull': 'اختر مجموعات الريلاي التي تريد استلامها', - 'No relay sets found': 'لم يتم العثور على مجموعات ريلاي', - 'Pull n relay sets': 'سحب {{n}} مجموعات ريلاي', - Pull: 'سحب', - 'Select all': 'اختر الكل', - 'Relay Sets': 'مجموعات الريلاي', - 'Read & Write Relays': 'ريلايات القراءة والكتابة', - 'read relays description': - 'تُستخدم ريلايات القراءة لاسترجاع الأحداث المتعلقة بك. ينشر المستخدمون الآخرون الأحداث التي ترغب في مشاهدتها إلى هذه الريلايات.', - 'write relays description': - 'تُستخدم ريلايات الكتابة لنشر أحداثك. يسترجع المستخدمون الآخرون أحداثك من هذه الريلايات.', - 'read & write relays notice': 'يُفضل أن يكون عدد خوادم القراءة والكتابة بين 2 و4.', - "Don't have an account yet?": 'لا تملك حساباً بعد؟', - 'or simply generate a private key': 'أو ببساطة أنشئ مفتاحاً خاصاً', - 'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.': - 'هذا مفتاح خاص. لا تشاركه مع أي أحد. احفظه بأمان، فلن تتمكن من استرجاعه إذا فقدته.', - Edit: 'تعديل', - Save: 'حفظ', - 'Display Name': 'اسم العرض', - Bio: 'السيرة الذاتية', - 'Nostr Address (NIP-05)': 'عنوان Nostr (NIP-05)', - 'Invalid NIP-05 address': 'عنوان NIP-05 غير صالح', - 'Copy private key': 'نسخ المفتاح الخاص', - 'Enter the password to decrypt your ncryptsec': 'أدخل كلمة المرور لفك تشفير ncryptsec', - Back: 'رجوع', - 'optional: encrypt nsec': 'اختياري: تشفير nsec', - password: 'كلمة المرور', - 'Sign up': 'تسجيل', - 'Save to': 'حفظ إلى', - 'Enter a name for the new relay set': 'أدخل اسماً لمجموعة ريلاي جديدة', - 'Save to a new relay set': 'حفظ في مجموعة ريلاي جديدة', - Mute: 'كتم', - Muted: 'تم كتمه', - Unmute: 'إلغاء الكتم', - 'Unmute user': 'إلغاء كتم المستخدم', - Block: 'Block', - Unblock: 'Unblock', - blocked: 'blocked', - 'Append n relays': 'إضافة {{n}} ريلايات', - Append: 'إضافة', - 'Select relays to append': 'اختر الريلايات للإضافة', - 'calculating...': 'جار الحساب...', - 'Calculate optimal read relays': 'حساب أفضل ريلايات للقراءة', - 'Login to set': 'تسجيل الدخول للوصول إلى المجموعة', - 'Please login to view following feed': 'يرجى تسجيل الدخول لعرض خلاصات المتابعة', - 'Follow set': 'Follow set', - 'Follow set feed empty': - 'This NIP-51 list is empty, was not found, or relays could not load it yet.', - 'Send only to r': 'إرسال فقط إلى {{r}}', - 'Send only to these relays': 'إرسال فقط إلى هذه الريلايات', - Explore: 'استكشاف', - 'Relay reviews': 'مراجعات الترحيل', - 'Search relays': 'البحث في الريلايات', - relayInfoBadgeAuth: 'مصادقة', - relayInfoBadgeSearch: 'بحث', - relayInfoBadgePayment: 'دفع', - Operator: 'المشغل', - Contact: 'اتصال', - Software: 'البرنامج', - Version: 'الإصدار', - 'Random Relays': 'ريلايات عشوائية', - randomRelaysRefresh: 'تحديث', - 'Explore more': 'استكشاف المزيد', - 'Payment page': 'صفحة الدفع', - 'Supported NIPs': 'NIPs المدعومة', - 'Relay liveliness (NIP-66)': 'Relay liveliness (NIP-66)', - 'Relay monitor (NIP-66)': 'Relay monitor (NIP-66)', - 'Auth required': 'Auth required', - 'Public (no auth)': 'Public (no auth)', - 'Payment required': 'Payment required', - 'No payment': 'No payment', - 'Writes required': 'Writes required', - 'Writes open': 'Writes open', - 'PoW required': 'PoW required', - 'No PoW': 'No PoW', - 'RTT open': 'RTT open', - 'RTT read': 'RTT read', - 'RTT write': 'RTT write', - 'Supported NIPs (from monitor)': 'Supported NIPs (from monitor)', - 'Last reported by monitor': 'Last reported by monitor', - Network: 'Network', - Type: 'Type', - Topics: 'Topics', - 'Open in a': 'فتح في {{a}}', - 'Cannot handle event of kind k': 'لا يمكن معالجة الحدث من النوع {{k}}', - 'Unsupported event preview': - 'There isn’t a dedicated card for this event type yet. Here’s a readable preview.', - 'No text content in event': 'No text in this event.', - 'Technical details': 'Technical details', - 'Event kind and time': 'Kind {{kind}} · {{time}}', - 'Event kind label': 'Kind {{kind}}', - 'Note kind label line': 'KIND: {{kind}} · {{description}}', - 'Unknown note declared kind tag': 'Tagged kind: {{value}}', - 'Unknown note tagged pubkey': 'Tagged pubkey', - 'Unknown note tagged content': 'Content', - 'Unknown note reference tags': 'Reference tags (e, p, q, a)', - 'Starred spells': 'Starred spells', - 'Spell star add title': 'Star spell (adds to your Nostr bookmarks)', - 'Spell star remove title': 'Unstar spell (removes from your Nostr bookmarks)', - 'Copy JSON': 'Copy JSON', - Verse: 'Verse', - 'Notification reaction summary': 'reacted to this note.', - 'Notification discussion upvote summary': 'upvoted in this discussion.', - 'Notification discussion downvote summary': 'downvoted in this discussion.', - 'Notification boost summary': 'Boosted this note', - 'Notification boost detail': 'The preview above is the original post.', - 'Notification poll vote summary': 'Voted on the poll above.', - 'Notification poll vote options count': '{{count}} option(s) selected', - 'Imwald synthetic event': 'Imwald synthetic event', - '+ Add a URL to this list': 'Add a URL to this list', - 'Add a web URL': 'Add a web URL', - 'Add web URL to feed description': - 'Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.', - 'Add to feed': 'Add to feed', - 'Open any https page in the side panel to reply, react, and discuss on Nostr.': - 'Open any https page in the side panel to reply, react, and discuss on Nostr.', - 'Enter a valid http(s) URL': 'Enter a valid http(s) URL', - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.': - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.', - 'Open in browser': 'Open in browser', - 'Web page': 'Web page', - Open: 'Open', - 'Sorry! The note cannot be found 😔': 'عذراً! لا يمكن العثور على الملاحظة 😔', - 'This user has been muted': 'تم كتم هذا المستخدم', - Wallet: 'المحفظة', - Sats: 'Sats', - sats: 'sats', - 'Zap to': 'إرسال Zap إلى', - 'Zap n sats': 'Zap {{n}} sats', - zapComment: 'تعليق', - 'Default zap amount': 'الكمية الافتراضية لـ Zap', - 'Default zap comment': 'التعليق الافتراضي لـ Zap', - 'Lightning Address (or LNURL)': 'عنوان Lightning (أو LNURL)', - 'Quick zap': 'Zap سريع', - 'If enabled, you can zap with a single click. Click and hold for custom amounts': - 'إذا تم تمكينه، يمكنك إرسال Zap بنقرة واحدة. انقر واستمر للحصول على كميات مخصصة', - All: 'الكل', - Reactions: 'التفاعلات', - Zaps: 'Zaps', - Boosts: 'Boosts', - Badges: 'Badges', - Reports: 'Reports', - 'Enjoying Imwald?': 'هل تستمتع بـ Imwald؟', - 'Your donation helps me maintain Imwald and make it better! 😊': - 'تبرعك يساعد في صيانة Imwald وتحسينه! 😊', - 'Earlier notifications': 'الإشعارات السابقة', - 'Temporarily display this note': 'عرض هذه الملاحظة مؤقتاً', - buttonFollowing: 'جارٍ المتابعة', - 'Are you sure you want to unfollow this user?': - 'هل أنت متأكد أنك تريد إلغاء متابعة هذا المستخدم؟', - 'Recent Supporters': 'الداعمين الجدد', - 'Seen on': 'شوهد على', - 'Temporarily display this reply': 'عرض هذا الرد مؤقتاً', - 'Note not found': 'لم يتم العثور على الملاحظة', - 'Invalid embedded note reference': 'Invalid embedded note reference', - embeddedNoteInvalidEmpty: 'This embedded link is empty.', - embeddedNoteInvalidHex: - 'This is not a valid hex event id (expected exactly 64 hexadecimal characters).', - embeddedNoteInvalidBech32: - 'This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.', - embeddedNoteInvalidWrongKind: - 'This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.', - 'The note was not found on your relays or default relays.': - 'The note was not found on your relays or default relays.', - "Try searching author's relays": "Try searching author's relays", - 'Searching external relays...': 'Searching external relays...', - "This will connect to the author's relays and relay hints": - "This will connect to the author's relays and relay hints", - 'Note could not be found anywhere': 'Note could not be found anywhere', - 'Try external relays': 'Try external relays', - 'Searching...': 'Searching...', - 'Show relays': 'Show relays', - 'No external relay hints available': 'No external relay hints available', - 'External relay search is not available for this link type': - 'External relay search is not available for this link type.', - 'Searched external relays not found': - 'Searched {{count}} external relays; the note was still not found.', - 'no more replies': 'لا توجد مزيد من الردود', - 'Relay sets': 'مجموعات الريلاي', - 'Search for Relays': 'Search for Relays', - 'Using app default relays': 'Using app default relays', - "Following's Favorites": 'المفضلات من المتابعين', - 'no more relays': 'لا توجد مزيد من الريلايات', - 'Favorited by': 'المفضلة من قبل', - 'Post settings': 'إعدادات النشر', - 'Publishing feedback': 'Publishing feedback', - 'Publish success toasts': 'Publish success toasts', - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.': - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.', - 'Publish successful': 'Publish successful', - 'Media upload service': 'خدمة تحميل الوسائط', - 'Choose a relay': 'اختر ريلاي', - 'no relays found': 'لم يتم العثور على ريلايات', - video: 'فيديو', - 'Show n new notes': 'عرض {{n}} ملاحظات جديدة', - YouTabName: 'أنت', - Bookmark: 'الإشارة المرجعية', - 'Remove bookmark': 'إزالة الإشارة', - 'no bookmarks found': 'لم يتم العثور على إشارات', - 'no more bookmarks': 'لا مزيد من الإشارات', - Bookmarks: 'الإشارات المرجعية', - 'Follow Packs': 'Follow Packs', - 'Follow Pack': 'Follow Pack', - 'Follow pack by': 'by', - 'In Follow Packs': 'In Follow Packs', - 'Badge details': 'Badge details', - 'Issued by': 'Issued by', - 'Other recipients': 'Other recipients', - 'No other recipients found': 'No other recipients found', - 'Recipients could not be loaded': 'Recipients could not be loaded', - 'View award': 'View award', - 'Awarded on': 'Awarded on', - 'Please log in to follow': 'Please log in to follow', - 'Following All': 'Following All', - 'Followed {{count}} users': 'Followed {{count}} users', - 'All available members are already followed or muted': - 'All available members are already followed or muted', - 'You are already following all members of this pack': - 'You are already following all members of this pack', - 'Failed to follow pack': 'Failed to follow pack', - '{{count}} profiles': '{{count}} profiles', - 'Show more': 'عرض المزيد', - General: 'عام', - Autoplay: 'التشغيل التلقائي', - 'Enable video autoplay on this device': 'تمكين التشغيل التلقائي للفيديو على هذا الجهاز', - 'liveActivities.heading': 'Live now', - 'liveActivities.regionLabel': 'Live spaces and streams', - 'liveActivities.fromFollow': 'From someone you follow', - 'liveActivities.goToSlide': 'Show live item {{n}}', - 'liveActivities.settingsToggle': 'Live activities banner', - 'liveActivities.settingsHint': - 'Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.', - 'Add random relays to every publish': 'Random relays in publish list', - 'Add random relays to every publish description': - 'Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.', - relayType_local: 'Local', - relayType_relay_list: 'Relay list', - relayType_http_relay_list: 'HTTP', - 'HTTP relays': 'HTTP relays', - httpRelaysDescription: - 'HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.', - 'HTTP relays saved': 'HTTP relays saved', - 'Failed to save HTTP relay list': 'Failed to save HTTP relay list', - 'HTTP relays must start with https:// or http://': - 'HTTP relays must start with https:// or http://', - relayType_client_default: 'Client default', - relayType_open_from: 'Current feed', - relayType_favorite: 'Favorite', - relayType_relay_set: 'Relay set', - relayType_contextual: 'Reply/PM', - relayType_randomly_selected: 'Random (optional)', - 'Session relays': 'Session relays', - 'Session relays tab description': - 'Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish).', - 'Session relays preset working': 'Working preset relays', - 'Session relays preset working hint': - 'Preset relays (from app defaults) that have not reached 3 publish failures this session.', - 'Session relays preset striked': 'Striked preset relays', - 'Session relays preset striked hint': - 'Preset relays that have reached 3 publish failures this session and are skipped for the rest of the session.', - 'Session relays scored random': 'Scored random relays', - 'Session relays scored random hint': - 'Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.', - 'Session relays all striked': 'All striked relays (any source)', - 'Session relays clear strike': 'Allow again', - 'Session relays clear strike hint': - 'Remove this relay from the session block list; it will be used again until new connection failures.', - successes: 'successes', - None: 'None', - 'Cache & offline storage': 'Cache & offline storage', - feedStarting: 'Starting feeds and relays… This can take a few seconds after login.', - refreshCacheButtonExplainer: - 'Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.', - 'eventArchive.sectionTitle': 'Notes & feed archive', - 'eventArchive.sectionBlurb': - 'Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.', - 'eventArchive.defaultsMobile': - 'This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).', - 'eventArchive.defaultsElectron': - 'Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.defaultsDesktopWeb': - 'Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.enablePersist': 'Persist feed events to disk', - 'eventArchive.maxMb': 'Max archive size (MB), blank = default for this device', - 'eventArchive.maxEvents': 'Max archived events, blank = default', - 'eventArchive.sessionLru': 'In-memory session cache (event count), blank = default', - 'eventArchive.effectiveSummary': - 'Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.', - 'eventArchive.on': 'on', - 'eventArchive.off': 'off', - 'eventArchive.apply': 'Apply cache settings', - 'eventArchive.appliedToast': 'Cache settings saved. Session memory updated.', - 'Paste or drop media files to upload': 'الصق أو اسحب ملفات الوسائط لتحميلها', - Preview: 'معاينة', - 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'أنت على وشك نشر حدث موقع من قبل [{{eventAuthorName}}]. أنت حالياً مسجل الدخول كـ [{{currentUsername}}]. هل أنت متأكد؟', - 'Platinum Sponsors': 'الرعاة البلاتينيون', - From: 'من', - 'Comment on': 'تعليق على', - 'View on njump.me': 'عرض على njump.me', - 'Hide content from untrusted users': 'إخفاء المحتوى من المستخدمين غير الموثوقين', - 'Only show content from your followed users and the users they follow': - 'فقط عرض المحتوى من المستخدمين الذين تتابعهم والمستخدمين الذين يتابعونهم', - 'Followed by': 'متابع من قبل', - 'Mute user privately': 'كتم المستخدم بشكل خاص', - 'Mute user publicly': 'كتم المستخدم علنياً', - Quotes: 'الاقتباسات', - 'Lightning Invoice': 'فاتورة Lightning', - 'Bookmark failed': 'فشل في الإشارة المرجعية', - 'Remove bookmark failed': 'فشل في إزالة الإشارة المرجعية', - Translation: 'الترجمة', - Balance: 'الرصيد', - characters: 'الحروف', - translateApiKeyDescription: - 'يمكنك استخدام مفتاح API هذا في أي مكان آخر يدعم LibreTranslate. عنوان الخدمة هو {{serviceUrl}}', - 'Top up': 'إعادة شحن', - 'Will receive: {n} characters': 'ستتلقى: {{n}} حروف', - 'Top up {n} sats': 'إعادة شحن {{n}} ساتوشي', - 'Minimum top up is {n} sats': 'الحد الأدنى لإعادة الشحن هو {{n}} ساتوشي', - Service: 'الخدمة', - 'Reset API key': 'إعادة تعيين مفتاح API', - 'Are you sure you want to reset your API key? This action cannot be undone.': - 'هل أنت متأكد أنك تريد إعادة تعيين مفتاح API الخاص بك؟ لا يمكن التراجع عن هذا الإجراء.', - Warning: 'تحذير', - 'Errors & warnings': 'Errors & warnings', - 'Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.': - 'مفتاح API الحالي الخاص بك سيصبح غير صالح على الفور، وأي تطبيقات تستخدمه ستتوقف عن العمل حتى تقوم بتحديثها بالمفتاح الجديد.', - 'Service address': 'عنوان الخدمة', - Pay: 'دفع', - interactions: 'التفاعلات', - notifications: 'الإشعارات', - notificationsViewAsAccount: 'View as', - notificationsViewAsAccountAria: - 'Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.', - notificationsSwitchAccountFailed: - 'Could not switch account. Check your signer, password, or extension and try again.', - 'Show untrusted {type}': 'إظهار {{type}} غير الموثوق', - 'Hide untrusted {type}': 'إخفاء {{type}} غير الموثوق', - 'Currently hiding {type} from untrusted users.': - 'حاليًا إخفاء {{type}} من المستخدمين غير الموثوقين.', - 'Currently showing all {type}.': 'حاليًا عرض جميع {{type}}.', - 'Click continue to show all {type}.': 'انقر على متابعة لعرض جميع {{type}}.', - 'Click continue to hide {type} from untrusted users.': - 'انقر على متابعة لإخفاء {{type}} من المستخدمين غير الموثوقين.', - 'Trusted users include people you follow and people they follow.': - 'المستخدمون الموثوقون هم الأشخاص الذين تتابعهم والأشخاص الذين يتابعونهم.', - Continue: 'متابعة', - 'Successfully updated mute list': 'تم تحديث قائمة الكتم بنجاح', - 'No pubkeys found from {url}': 'لم يتم العثور على مفاتيح عامة من {{url}}', - 'Translating...': 'جارٍ الترجمة...', - Translate: 'ترجمة', - 'Show original': 'عرض الأصل', - Website: 'الموقع الإلكتروني', - 'Hide untrusted notes': 'إخفاء الملاحظات غير الموثوقة', - 'Open in another client': 'فتح في عميل آخر', - Community: 'المجتمع', - Group: 'المجموعة', - 'Live event': 'حدث مباشر', - Article: 'مقالة', - Unfavorite: 'إلغاء المفضلة', - 'Recommended relays': 'الريلايات الموصى بها', - 'Show recommended relays panel': 'Show recommended relays panel', - 'Display the right-side panel with recommended relays on desktop': - 'Display the right-side panel with recommended relays on desktop', - 'Blossom server URLs': 'عناوين خوادم Blossom', - 'You need to add at least one blossom server in order to upload media files.': - 'تحتاج إلى إضافة خادم Blossom واحد على الأقل لتحميل ملفات الوسائط.', - 'Recommended blossom servers': 'خوادم Blossom الموصى بها', - 'Enter Blossom server URL': 'أدخل عنوان خادم Blossom URL', - Preferred: 'المفضل', - 'Multiple choice (select one or more)': 'اختيار متعدد (اختر واحداً أو أكثر)', - Vote: 'صوت', - '{{number}} votes': '{{number}} أصوات', - 'Total votes': 'إجمالي الأصوات', - 'Poll has ended': 'انتهى الاستطلاع', - 'Poll ends at {{time}}': 'ينتهي الاستطلاع في {{time}}', - 'Load results': 'تحميل النتائج', - 'This is a poll note.': 'هذه ملاحظة استطلاع.', - 'Unlike regular notes, polls are not widely supported and may not display on other clients.': - 'على عكس الملاحظات العادية، الاستطلاعات غير مدعومة على نطاق واسع وقد لا تظهر في العملاء الآخرين.', - 'Option {{number}}': 'الخيار {{number}}', - 'Add Option': 'إضافة خيار', - 'Allow multiple choices': 'السماح بخيارات متعددة', - 'End Date (optional)': 'تاريخ الانتهاء (اختياري)', - 'Clear end date': 'مسح تاريخ الانتهاء', - 'Relay URLs (optional, comma-separated)': 'عناوين المرحلات (اختياري، مفصولة بفواصل)', - 'Remove poll': 'إزالة الاستطلاع', - 'Refresh results': 'تحديث النتائج', - '{{votes}} · {{pct}}%': '{{votes}} · {{pct}}%', - 'See results': 'See results', - 'Zap poll (paid votes)': 'Zap poll (paid votes)', - 'Invalid zap poll': 'Invalid zap poll', - 'You voted on this poll (zap receipt)': 'You voted on this poll (zap receipt)', - 'Poll closed {{time}}': 'Poll closed {{time}}', - 'Closes {{time}}': 'Closes {{time}}', - 'Vote size': 'Vote size', - '{{n}} sats (fixed)': '{{n}} sats (fixed)', - '{{min}}–{{max}} sats': '{{min}}–{{max}} sats', - '≥ {{n}} sats': '≥ {{n}} sats', - '≤ {{n}} sats': '≤ {{n}} sats', - 'Loading tally…': 'Loading tally…', - 'Zap poll no votes yet': - 'No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).', - 'Consensus threshold': 'Consensus threshold', - 'Pay to': 'Pay to', - Recipient: 'Recipient', - Option: 'Option', - 'Select option': 'Select option', - 'Select an option': 'Select an option', - 'Vote with zap': 'Vote with zap', - 'Zap sent': 'Zap sent', - 'Zapping…': 'Zapping…', - 'Refresh tally': 'Refresh tally', - '{{n}} zaps': '{{n}} zaps', - Poll: 'استطلاع', - Media: 'الوسائط', - 'Articles and Publications': 'Articles and Publications', - 'Search articles...': 'Search articles...', - 'Refreshing articles...': 'Refreshing articles...', - 'No articles or publications found': 'No articles or publications found', - 'No articles or publications match your search': - 'No articles or publications match your search', - 'articles and publications': 'articles and publications', - Interests: 'Interests', - Calendar: 'Calendar', - 'No subscribed interests yet.': - 'No subscribed interests yet. Add topics in settings to see them here.', - 'No bookmarked notes with id tags yet.': - 'No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.', - 'No follows or relays to load yet.': 'No follows or relays to load yet.', - 'Nothing to load for this feed.': 'Nothing to load for this feed.', - 'No posts loaded for this feed. Try refreshing.': - 'No posts loaded for this feed. Try refreshing.', - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.': - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.', - 'Per-relay timeline results ({{count}} connections)': - 'Per-relay timeline results ({{count}} connections)', - 'Republish to ...': 'إعادة النشر إلى ...', - 'All available relays': 'All available relays', - 'All active relays (monitoring list)': 'All active relays (monitoring list)', - 'Successfully republish to all available relays': - 'Successfully republish to all available relays', - 'Failed to republish to all available relays: {{error}}': - 'Failed to republish to all available relays: {{error}}', - 'Successfully republish to all active relays': 'Successfully republish to all active relays', - 'Failed to republish to all active relays: {{error}}': - 'Failed to republish to all active relays: {{error}}', - 'No active relays in monitoring list': 'No active relays in monitoring list', - 'No relay accepted the event': 'No relay accepted the event', - 'No relays available': 'No relays available', - 'No write relays configured': 'No write relays configured', - 'Relay did not accept the event': 'Relay did not accept the event', - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".': - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".', - 'Successfully republish to your write relays': - 'تم إعادة النشر بنجاح إلى ريلايات الكتابة الخاصة بك', - 'Failed to republish to your write relays: {{error}}': - 'فشل في إعادة النشر إلى ريلايات الكتابة الخاصة بك: {{error}}', - 'Successfully republish to relay set: {{name}}': - 'تم إعادة النشر بنجاح إلى مجموعة الريلاي: {{name}}', - 'Failed to republish to relay set: {{name}}. Error: {{error}}': - 'فشل في إعادة النشر إلى مجموعة الريلاي: {{name}}. خطأ: {{error}}', - 'Successfully republish to relay: {{url}}': 'تم إعادة النشر بنجاح إلى الريلاي: {{url}}', - 'Failed to republish to relay: {{url}}. Error: {{error}}': - 'فشل في إعادة النشر إلى الريلاي: {{url}}. خطأ: {{error}}', - 'Write relays': 'مرحلات الكتابة', - 'No more reactions': 'لا توجد تفاعلات إضافية', - 'No reactions yet': 'لا توجد تفاعلات بعد', - 'No more zaps': 'لا توجد مزيد من الزابس', - 'No zaps yet': 'لا توجد زابس بعد', - 'No more boosts': 'لا مزيد من الـ Boosts', - 'No boosts yet': 'لا توجد Boosts بعد', - 'n more boosts': '{{count}} more boosts', - FollowListNotFoundConfirmation: - 'لم يتم العثور على قائمة المتابعة. هل تريد إنشاء واحدة جديدة؟ إذا كنت قد تابعت مستخدمين من قبل، يرجى عدم التأكيد لأن هذه العملية ستؤدي إلى فقدان قائمة المتابعة السابقة.', - MuteListNotFoundConfirmation: - 'لم يتم العثور على قائمة الكتم. هل تريد إنشاء واحدة جديدة؟ إذا كنت قد كتمت مستخدمين من قبل، يرجى عدم التأكيد لأن هذه العملية ستؤدي إلى فقدان قائمة الكتم السابقة.', - 'Show NSFW content by default': 'إظهار محتوى NSFW افتراضياً', - 'Custom emoji management': 'إدارة الرموز التعبيرية المخصصة', - 'After changing emojis, you may need to refresh the page': - 'بعد تغيير الرموز التعبيرية، قد تحتاج إلى تحديث الصفحة', - 'Too many read relays': 'Too many read relays', - 'Too many write relays': 'Too many write relays', - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.', - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.', - 'Optimize Relay Settings': 'تحسين إعدادات الترحيل', - 'Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.': - 'قد لا تكون تكوينات الترحيل الحالية مثلى. هذا قد يجعل من الصعب على الآخرين العثور على منشوراتك وقد يؤدي إلى إشعارات غير مكتملة.', - 'Optimize Now': 'تحسين الآن', - 'Maybe Later': 'ربما لاحقاً', - "Don't remind me again": 'لا تذكرني مرة أخرى', - Posts: 'المشاركات', - 'Posts (OPs)': 'Posts (OPs)', - 'Kind 1 replies': 'Kind 1 replies', - Comments: 'Comments', - 'Replies & comments': 'Replies & comments', - Articles: 'المقالات', - Highlights: 'التمييز', - 'A note from': 'A note from', - Polls: 'الاستطلاعات', - 'Zap polls': 'Zap polls', - 'Voice Posts': 'المشاركات الصوتية', - 'Photo Posts': 'مشاركات الصور', - 'Video Posts': 'مشاركات الفيديو', - 'Git repositories': 'Git repositories', - 'Git issues': 'Git issues', - 'Git releases': 'Git releases', - 'Git Republic repository': 'Git Republic repository', - 'Git Republic issue': 'Git Republic issue', - 'Git Republic release': 'Git Republic release', - 'Git Republic event': 'Git Republic event', - 'Git Republic': 'Git Republic', - 'Open in Git Republic': 'Open in Git Republic', - 'Pre-release': 'Pre-release', - Draft: 'Draft', - 'Repository release': 'Repository release', - 'New Repository Release': 'New Repository Release', - 'Release notes use the editor below (optional).': - 'Release notes use the editor below (optional).', - 'Repository owner (npub or hex)': 'Repository owner (npub or hex)', - 'Repository id (d-tag)': 'Repository id (d-tag)', - 'Git tag name': 'Git tag name', - 'Tag target (40-char commit hash)': 'Tag target (40-character commit hash)', - '40-character hex SHA-1': '40-character hex SHA-1', - 'Release title': 'Release title', - 'Download URL': 'Download URL', - 'Draft release': 'Draft release', - 'Fill repository release fields': 'Fill in all required repository release fields.', - 'Invalid repository owner pubkey': 'Invalid repository owner (use npub or 64-char hex).', - 'Citations require private relays (NIP-65).': - 'Citations require private outbox relays (NIP-65).', - 'Select All': 'تحديد الكل', - 'Clear All': 'مسح الكل', - 'Set as default filter': 'تعيين كمرشح افتراضي', - 'Use filter': 'Use filter', - 'See all events': 'See all events', - 'See all events hint': - 'Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.', - 'Use filter hint': 'Only the kinds you select below are requested and shown.', - Apply: 'تطبيق', - Reset: 'إعادة تعيين', - 'Share something on this Relay': 'شارك شيئاً على هذا الريلاي', - 'Try deleting this note': 'حاول حذف هذه الملاحظة', - 'Deletion request sent to {{count}} relays': 'تم إرسال طلب الحذف إلى {{count}} ريلايات', - 'Suitable Relays': 'الريلايات المناسبة', - 'People, keywords, or relays': 'أشخاص، كلمات مفتاحية، أو ريلايات', - 'Hide content mentioning muted users': 'إخفاء المحتوى الذي يذكر المستخدمين المكتومين', - 'This note mentions a user you muted': 'هذه الملاحظة تذكر مستخدماً قمت بكتمه', - Filter: 'مرشح', - 'Feed filter': 'Feed filter', - 'Search loaded posts': 'Search loaded posts', - 'Filter loaded posts placeholder': 'Filter by text in content or tags…', - 'Feed filter author': 'Author', - 'Feed filter author everyone': 'From everyone', - 'Feed filter author me': 'Only from me', - 'Feed filter author npub': 'From user (npub or hex)', - 'Feed filter author npub from prefix': 'from:', - 'Feed filter author npub placeholder': 'npub1… or 64-char hex', - 'Feed filter author me needs login': 'Log in to filter by your pubkey', - 'Within the last': 'Within the last', - 'Time unit': 'Time unit', - Minutes: 'Minutes', - Days: 'Days', - Weeks: 'Weeks', - Months: 'Months', - Years: 'Years', - 'Feed filter client-side hint': - 'Filters only apply to posts already loaded; relays are not queried again.', - 'Feed full search': 'Perform full search', - 'Feed full search running': 'Searching…', - 'Feed full search clear': 'Clear', - 'Feed full search active hint': - 'Showing relay search results. Clear to return to the live feed.', - 'Feed full search need constraint': - 'Add search text, an author filter, or a time range before searching relays.', - 'Feed full search invalid feed': 'This feed cannot run a relay search.', - 'Feed full search failed': 'Relay search failed. Try again.', - 'Feed full search empty': 'No matching posts were found on the queried relays.', - 'No loaded posts match your filters.': 'No loaded posts match your filters.', - 'mentioned you in a note': 'ذكرك في ملاحظة', - 'quoted your note': 'اقتبس ملاحظتك', - 'quoted this note': 'Quoted this note', - 'highlighted this note': 'Highlighted this note', - 'cited in article': 'Cited in article', - 'Thread backlinks heading': 'Also quoting this note', - 'Thread backlinks primary section': 'Quotes, highlights & citations', - 'Thread backlinks bookmarks section': 'Bookmarks', - 'Thread backlinks lists section': 'Lists & collections', - 'View full note and thread': 'View full note and thread', - 'labeled this note': 'Labeled this note', - 'reported this note': 'Reported this note', - 'bookmarked this note': 'Bookmarked this note', - 'pinned this note': 'Pinned this note', - 'listed this note': 'Listed this note', - 'bookmark set reference': 'Bookmark set includes this note', - 'curated this note': 'Curated this note', - 'badge award for this note': 'Badge award for this note', - 'referenced this note': 'Referenced this note', - 'Report events heading': 'Moderation reports', - 'voted in your poll': 'صوت في استطلاعك', - 'reacted to your note': 'تفاعل مع ملاحظتك', - 'boosted your note': 'قوّى ملاحظتك', - 'zapped your note': 'زاب ملاحظتك', - 'zapped you': 'زابك', - zapped: 'zapped', - 'Invalid zap receipt': 'Invalid zap receipt', - 'Zapped note': 'Zapped note', - 'Zapped profile': 'Zapped profile', - 'Zap reply threshold': 'Zap reply threshold', - 'Zaps above this amount will appear as replies in threads': - 'Zaps above this amount will appear as replies in threads', - 'Mark as read': 'تعليم كمقروء', - Report: 'تبليغ', - 'Successfully report': 'تم التبليغ بنجاح', - 'Failed to report': 'فشل في التبليغ', - nudity: 'عُري', - malware: 'برامج ضارة', - profanity: 'ألفاظ نابية', - illegal: 'محتوى غير قانوني', - spam: 'رسائل مزعجة', - other: 'أخرى', - 'Notification list style': 'نمط قائمة الإشعارات', - 'See extra info for each notification': 'عرض معلومات إضافية لكل إشعار', - 'See more notifications at a glance': 'رؤية المزيد من الإشعارات بنظرة سريعة', - Detailed: 'تفصيلي', - 'Submit Relay': 'إرسال ريلاي', - Homepage: 'الصفحة الرئيسية', - 'Proof of Work (difficulty {{minPow}})': 'إثبات العمل (الصعوبة {{minPow}})', - 'via {{client}}': 'عبر {{client}}', - 'Auto-load media': 'تحميل الوسائط تلقائياً', - Always: 'دائماً', - 'Wi-Fi only': 'Wi-Fi فقط', - Never: 'أبداً', - 'Click to load image': 'انقر لتحميل الصورة', - 'Click to load media': 'انقر لتحميل الوسائط', - 'Click to load YouTube video': 'انقر لتحميل فيديو YouTube', - '{{count}} reviews': '{{count}} مراجعة', - 'Write a review': 'كتابة مراجعة', - 'No reviews yet. Be the first to write one!': 'لا توجد مراجعات بعد. كن أول من يكتب واحدة!', - 'View more reviews': 'عرض المزيد من المراجعات', - 'Failed to review': 'فشل في المراجعة', - 'Write a review and pick a star rating': 'اكتب مراجعة واختر تقييماً بالنجوم', - Submit: 'إرسال', - 'Reviews for {{relay}}': 'مراجعات لـ {{relay}}', - 'No relays selected': 'لم يتم اختيار أي مرحل', - 'Post to': 'نشر إلى', - 'Write relays and {{count}} other relays': 'مرحلات الكتابة و {{count}} مرحل آخر', - '{{count}} relays': '{{count}} ريلايات', - 'Republishing...': 'جارٍ إعادة النشر...', - 'Trending Notes': 'الملاحظات الرائجة', - 'Trending on Your Favorite Relays': 'Trending on Your Favorite Relays', - 'Trending on the Default Relays': 'Trending on the Default Relays', - 'Latest from your follows': 'Latest from your follows', - 'Latest from our recommended follows': 'Latest from our recommended follows', - 'Follows latest page title': 'Latest from follows', - 'Follows latest page description': - 'Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.', - 'Follows latest nav label': 'Follows latest', - 'Loading follow list…': 'Loading follow list…', - 'Could not load recommended follows': 'Could not load recommended follows', - 'Your follow list is empty': 'Your follow list is empty', - 'Loading recent posts from follows…': 'Loading recent posts from follows…', - 'Loading more…': 'Loading more…', - 'No recent posts from this user in the current fetch': - 'No recent posts from this user in the current fetch', - 'Loading trending notes from your relays...': 'Loading trending notes from your relays...', - Sort: 'Sort', - newest: 'newest', - oldest: 'oldest', - 'most popular': 'most popular', - 'least popular': 'least popular', - 'Connected to': 'متصل بـ', - 'Disconnect Wallet': 'قطع الاتصال بالمحفظة', - 'Are you absolutely sure?': 'هل أنت متأكد تماماً؟', - 'You will not be able to send zaps to others.': 'لن تتمكن من إرسال zaps للآخرين.', - Disconnect: 'قطع الاتصال', - 'Set up your wallet to send and receive sats!': 'قم بإعداد محفظتك لإرسال واستقبال الساتس!', - 'Set up': 'إعداد', - 'nested events': 'nested events', - 'Loading RSS feeds...': 'Loading RSS feeds...', - 'No RSS feed items available': 'No RSS feed items available', - 'Show or hide the RSS page and sidebar entry': 'Show or hide the RSS page and sidebar entry', - 'Refreshing feeds...': 'Refreshing feeds...', - 'All feeds': 'All feeds', - 'All time': 'All time', - 'Last hour': 'Last hour', - 'Last day': 'Last day', - 'Last week': 'Last week', - 'Last month': 'Last month', - 'Last 24 hours': 'Last 24 hours', - 'Last 48 hours': 'Last 48 hours', - 'Time range': 'Time range', - 'Filter by RSS source': 'Filter by RSS source', - 'No items match your filters': 'No items match your filters', - 'Search...': 'Search...', - '{{count}} feeds': '{{count}} feeds', - 'Toggle filters': 'Toggle filters', - 'Showing {{filtered}} of {{total}} items': 'Showing {{filtered}} of {{total}} items', - Full: 'Full', - Compact: 'مضغوط', - Expand: 'Expand', - 'help.title': 'Help', - 'help.tabShortcuts': 'Keyboard shortcuts', - 'help.tabOverview': 'App overview', - 'shortcuts.title': 'Keyboard shortcuts', - 'shortcuts.intro': - 'Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.', - 'shortcuts.sectionApp': 'This app', - 'shortcuts.sectionSearch': 'Search bar', - 'shortcuts.sectionStandard': 'Standard', - 'shortcuts.openHelp': 'Show this help', - 'shortcuts.or': 'or', - 'shortcuts.then': 'then', - 'shortcuts.focusPrimary': - 'Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)', - 'shortcuts.focusSecondary': - 'Focus side panel scroll when it is open (desktop; same keys to scroll)', - 'shortcuts.newNote': 'New note / post (after login if needed)', - 'shortcuts.searchSuggest': 'Move through suggestions', - 'shortcuts.searchDismiss': 'Close search dropdown', - 'shortcuts.tabNavigate': 'Move focus to the next or previous control', - 'shortcuts.activate': 'Activate buttons and many controls', - 'shortcuts.closeOverlays': 'Close dialogs, menus, and the search dropdown', - 'shortcuts.scrollWhenFocused': 'Scroll the focused scrollable area', - 'shortcuts.browserBack': 'Browser back (history)', - 'No spells yet. Create one with the button above.': - 'No spells yet. Create one with the button above.', - 'Loading spells from your relays…': 'Loading spells from your relays…', - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.': - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.', - 'Select a spell…': 'Select a spell…', - 'Spells from follows': 'From people you follow ({{count}})', - 'Other spells': 'Other spells ({{count}})', - 'Select a spell to view its feed.': 'Select a spell to view its feed.', - 'Add another row': 'Add another row', - 'Remove this row': 'Remove this row', - 'One kind number per row (e.g. 1 for notes).': 'One kind number per row (e.g. 1 for notes).', - 'One author per row: $me, $contacts, or hex pubkey / npub.': - 'One author per row: $me, $contacts, or hex pubkey / npub.', - 'One hex event id per row.': 'One hex event id per row.', - 'One wss:// URL per row. Leave empty to use your write relays.': - 'One wss:// URL per row. Leave empty to use your write relays.', - 'One topic per row.': 'One topic per row.', - topic: 'topic', - 'Spell form fields': 'Spell form fields', - 'Counting matching events…': 'Counting matching events…', - 'Edit spell': 'Edit spell', - 'Clone spell': 'Clone spell', - 'Spell cloned': 'Spell cloned', - 'Clone spell intro': - 'This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.', - 'Spell updated': 'Spell updated', - 'Relay URL': 'Relay', - Count: 'Count', - 'Edit spell relays': 'Edit relays', - 'COUNT spell relay errors hint': - 'One or more relays failed or returned an error. You can change the relay list in the spell and save again.', - 'COUNT spell total distinct explanation': - 'Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.', - 'Leave empty to use your write relays.': 'Leave empty to use your write relays.', - 'COUNT spell result explanation': - 'Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.', - 'COUNT spell may be capped by limit': - 'This count may equal your spell limit — there could be more matching events on the network.', - 'Spell count failed. Check relays or try again.': - 'Could not complete the count. Check relays or try again.', - 'REQ returns a feed; COUNT returns a number.': - 'REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.', - listImportManualLabel: 'Pre-fill from event', - listImportFromEventHint: - 'Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.', - listImportManualPlaceholder: '64-char hex, nevent1…, or naddr1…', - listImportLoadManual: 'Apply', - listImportContentSkipped: - 'This event has non-empty content (may include encrypted private items). Only public tags were merged.', - listImportUnsupportedEmoji: - 'This list includes emoji tags (NIP-30); those are not added to the spell filter.', - listImportUnsupportedTag: - 'Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.', - listImportBadATag: 'Could not parse address tag: {{preview}}…', - listImportATagNotFound: 'Could not resolve address tag: {{preview}}…', - listImportATagFailed: 'Failed to resolve address tag: {{preview}}…', - listImportEventNotFound: 'No event found for that reference.', - 'REQ tag filters': 'REQ tag filters', - spellFormTagFiltersLabel: 'Tag filters on matching events', - spellCreateIntro: - 'Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.', - spellFormSectionQueryTitle: 'Spell query', - spellFormSectionQueryHint: - 'This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).', - spellFormSectionMetadataTitle: 'Listing & labels (optional)', - spellFormSectionMetadataBadge: 'Not part of the query', - spellFormSectionMetadataHint: - 'Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.', - spellFormCatalogTopicsLabel: 'Topic labels on this spell (t tags)', - spellTopicsMetadataHint: - 'One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).', - spellTagFiltersHint: - 'Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.', - spellTagFiltersEmpty: 'No tag filters yet. Add rows below or apply an event reference above.', - 'Tag filter letter': 'Tag letter', - 'Filter value': 'Value', - 'Add tag filter': 'Add tag filter', - spellPickerSectionYours: 'Your spells', - 'Failed to remove spell from local storage': 'Failed to remove spell from local storage', - Spells: 'Spells', - 'doublePane.secondaryEmpty': 'Open a note, profile, or settings item to show it here.', - 'doublePane.secondaryEmptyHint': 'Your feed and primary pages stay on the left.', - '(empty)': '(empty)', - '12-hour (AM/PM)': '12-hour (AM/PM)', - '24-hour': '24-hour', - 'A new version is available': 'A new version is available', - 'A short description of the article content': 'A short description of the article content', - AM: 'AM', - 'Access via': 'Access via', - 'Accessed On': 'Accessed On', - 'Accessed on': 'Accessed on', - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.': - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.', - 'Add a relay to block': 'Add a relay to block', - 'Add at least one invitee': 'Add at least one invitee', - 'Add client identifier': 'Add client identifier', - 'Add expiration tags by default': 'Add expiration tags by default', - 'Add quiet tags by default': 'Add quiet tags by default', - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above': - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above', - 'Add the source (where this text is from)': 'Add the source (where this text is from)', - 'Add to favorites': 'Add to favorites', - 'Add {{count}} Selected': 'Add {{count}} Selected', - 'Added at': 'Added at', - 'Added {{count}} relay(s)': 'Added {{count}} relay(s)', - 'Adding...': 'Adding...', - 'Adding…': 'Adding…', - 'Advanced Options': 'Advanced Options', - 'All Topics': 'All Topics', - 'All feeds from OPML file are already added': 'All feeds from OPML file are already added', - 'All items deleted successfully': 'All items deleted successfully', - 'Already blocked': 'Already blocked', - 'Already saved': 'Already saved', - 'Application Recommendations': 'Application Recommendations', - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.': - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.', - 'Are you sure you want to delete all items from this store?': - 'Are you sure you want to delete all items from this store?', - 'Are you sure you want to unmute this user? This will restore the follow button.': - 'Are you sure you want to unmute this user? This will restore the follow button.', - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", - 'Article exported as AsciiDoc': 'Article exported as AsciiDoc', - 'Article exported as Markdown': 'Article exported as Markdown', - 'Article title (optional)': 'Article title (optional)', - articleDTagDefaultHint: - 'Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….', - Audio: 'Audio', - Author: 'Author', - 'Author is required for reading groups': 'Author is required for reading groups', - 'Author name (optional)': 'Author name (optional)', - Authors: 'Authors', - 'Block Relay': 'Block Relay', - 'Blocked Relays': 'Blocked Relays', - 'Blocking...': 'Blocking...', - Blossom: 'Blossom', - Book: 'Book', - 'Brief description of the event': 'Brief description of the event', - 'Brief summary (optional)': 'Brief summary (optional)', - 'Brief summary of the article (optional)': 'Brief summary of the article (optional)', - 'Browse Cache': 'Browse Cache', - 'C-Tag': 'C-Tag', - 'Cache Relays': 'Cache Relays', - 'Cache cleared successfully': 'Cache cleared successfully', - 'Cache refreshed successfully': 'Cache refreshed successfully', - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.': - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.', - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)': - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)', - 'Cache relays saved': 'Cache relays saved', - Cancelled: 'Cancelled', - Chapter: 'Chapter', - 'Chapter Title': 'Chapter Title', - 'Chapter title (optional)': 'Chapter title (optional)', - Citation: 'Citation', - 'Citation title (optional)': 'Citation title (optional)', - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.': - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})', - 'Cleanup Duplicates': 'Cleanup Duplicates', - Clear: 'Clear', - 'Clear Cache': 'Clear Cache', - 'Clear Service Worker': 'Clear Service Worker', - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.': - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.', - 'Click update to get the latest features and improvements': - 'Click update to get the latest features and improvements', - Close: 'Close', - 'Comma or space-separated topics (will be added as t-tags)': - 'Comma or space-separated topics (will be added as t-tags)', - Command: 'Command', - Configure: 'Configure', - 'Connect Wallet': 'Connect Wallet', - 'Console Logs': 'Console Logs', - 'Console logs cleared': 'Console logs cleared', - 'Content is required': 'Content is required', - 'Content must be 5000 characters or less': 'Content must be 5000 characters or less', - Controversial: 'Controversial', - 'Copied!': 'Copied!', - 'Copy to clipboard': 'Copy to clipboard', - 'Create Article': 'Create Article', - 'Create Citation': 'Create Citation', - 'Create Highlight': 'Create Highlight', - 'Create New Thread': 'Create New Thread', - 'Create Poll': 'Create Poll', - 'Create Thread': 'Create Thread', - composeModeKind1: 'Short note (kind 1) — turn off other compose types', - 'Create a Spell': 'Create a Spell', - 'Creating...': 'Creating...', - 'D-Tag': 'D-Tag', - 'D-Tag is required for articles': 'D-Tag is required for articles', - DOI: 'DOI', - 'Date-based (all-day)': 'Date-based (all-day)', - 'Default expiration (months)': 'Default expiration (months)', - 'Default quiet period (days)': 'Default quiet period (days)', - 'Delete All': 'Delete All', - 'Delete item': 'Delete item', - 'Deleted {{count}} event(s)': 'Deleted {{count}} event(s)', - 'Deletion request sent': 'Deletion request sent', - 'Description (content)': 'Description (content)', - 'Digital Object Identifier (optional)': 'Digital Object Identifier (optional)', - 'Disable word wrap': 'Disable word wrap', - 'Discovered Relays': 'Discovered Relays', - 'Discovering relays...': 'Discovering relays...', - Discussion: 'Discussion', - Discussions: 'Discussions', - Downvote: 'Downvote', - 'Edited by': 'Edited by', - Editor: 'Editor', - 'Editor name (optional)': 'Editor name (optional)', - 'Enable word wrap': 'Enable word wrap', - 'End date': 'End date', - 'End date must be after start date': 'End date must be after start date', - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.': - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.', - 'Enter a descriptive title for your thread': 'Enter a descriptive title for your thread', - 'Enter the author name': 'Enter the author name', - 'Enter the book title': 'Enter the book title', - 'Enter the specific text you want to highlight in the main content area above': - 'Enter the specific text you want to highlight in the main content area above', - 'Event IDs (ids)': 'Event IDs (ids)', - 'Event appears to be invalid or corrupted': 'Event appears to be invalid or corrupted', - 'Event has no value data': 'Event has no value data', - 'Event is missing required fields: {{fields}}': 'Event is missing required fields: {{fields}}', - 'Event type': 'Event type', - 'Expiration Tags': 'Expiration Tags', - 'Export OPML': 'Export OPML', - 'Export as AsciiDoc': 'Export as AsciiDoc', - 'Export as Markdown': 'Export as Markdown', - 'External Citation': 'External Citation', - 'External Citation Settings': 'External Citation Settings', - 'Failed to add relay. Please try again.': 'Failed to add relay. Please try again.', - 'Failed to add relays': 'Failed to add relays', - 'Failed to block relay. Please try again.': 'Failed to block relay. Please try again.', - 'Failed to cleanup duplicates': 'Failed to cleanup duplicates', - 'Failed to clear cache': 'Failed to clear cache', - 'Failed to copy': 'Failed to copy', - 'Failed to create relay set. Please try again.': - 'Failed to create relay set. Please try again.', - 'Failed to create thread': 'Failed to create thread', - 'Failed to create thread. Please try a different relay.': - 'Failed to create thread. Please try a different relay.', - 'Failed to delete all items': 'Failed to delete all items', - 'Failed to delete item': 'Failed to delete item', - 'Failed to discover relays': 'Failed to discover relays', - 'Failed to export OPML file': 'Failed to export OPML file', - 'Failed to export article': 'Failed to export article', - 'Failed to import OPML file: {{error}}': 'Failed to import OPML file: {{error}}', - 'Failed to load RSS feeds': 'Failed to load RSS feeds', - 'Failed to load store items': 'Failed to load store items', - 'Failed to mute user privately': 'Failed to mute user privately', - 'Failed to mute user publicly': 'Failed to mute user publicly', - 'Failed to pin note': 'Failed to pin note', - 'Failed to publish post': 'Failed to publish post', - 'Failed to publish reply': 'Failed to publish reply', - 'Failed to publish thread': 'Failed to publish thread', - 'Failed to publish to some relays. Please try again or use different relays.': - 'Failed to publish to some relays. Please try again or use different relays.', - 'Failed to save RSS feeds': 'Failed to save RSS feeds', - 'Failed to save cache relays': 'Failed to save cache relays', - 'Failed to save relay list': 'Failed to save relay list', - 'Failed to unregister service worker: ': 'Failed to unregister service worker: ', - 'Failed to unsubscribe from topic': 'Failed to unsubscribe from topic', - Favorite: 'Favorite', - Fetch: 'Fetch', - 'Fetch once, then stop.': 'Fetch once, then stop.', - 'Filter by': 'Filter by', - 'Flat View': 'Flat View', - 'Font size': 'Font size', - 'Full Quote/Context': 'Full Quote/Context', - 'Full-text search query': 'Full-text search query', - Geohash: 'Geohash', - 'Geohash (optional)': 'Geohash (optional)', - 'Global quiet mode': 'Global quiet mode', - 'Group discussions by topic': 'Group discussions by topic', - 'Grouped View': 'Grouped View', - Groups: 'Groups', - 'Handler {{index}}': 'Handler {{index}}', - 'Hardcopy Citation': 'Hardcopy Citation', - 'Hardcopy Citation Settings': 'Hardcopy Citation Settings', - Hide: 'Hide', - 'Hide interactions on all posts': 'Hide interactions on all posts', - 'Hide interactions on posts with quiet tags': 'Hide interactions on posts with quiet tags', - 'High PoW': 'High PoW', - 'Higher values make your thread harder to mine but more unique.': - 'Higher values make your thread harder to mine but more unique.', - Highlight: 'Highlight', - 'Highlight Settings': 'Highlight Settings', - 'How to Create a Highlight (NIP-84)': 'How to Create a Highlight (NIP-84)', - 'Human-readable spell name': 'Human-readable spell name', - 'Image URL': 'Image URL', - 'Import OPML': 'Import OPML', - 'Imported {{count}} feed(s) from OPML file': 'Imported {{count}} feed(s) from OPML file', - 'In-Browser Cache': 'In-Browser Cache', - Insert: 'Insert', - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).': - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).', - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.': - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.', - 'Insert event or address': 'Insert event or address', - 'Insert mention': 'Insert mention', - 'Internal Citation': 'Internal Citation', - 'Internal Citation Settings': 'Internal Citation Settings', - 'Invalid Event': 'Invalid Event', - 'Invalid Lightning Address': 'Invalid Lightning Address', - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.': - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.', - 'Invalid URL': 'Invalid URL', - 'Invalid content JSON': 'Invalid content JSON', - 'Invalid relay URL': 'Invalid relay URL', - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.': - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.', - 'Item deleted successfully': 'Item deleted successfully', - JSON: 'JSON', - 'Join link': 'Join link', - 'Journal/Publication name (optional)': 'Journal/Publication name (optional)', - Json: 'JSON', - Kinds: 'Kinds', - 'Language Model': 'Language Model', - Large: 'Large', - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link': - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link', - 'Lightning payment failed': 'Lightning payment failed', - Limit: 'Limit', - 'Live feed; keeps updating.': 'Live feed; keeps updating.', - 'Loading more...': 'Loading more...', - 'Loading relays...': 'Loading relays...', - 'Location (optional)': 'Location (optional)', - 'Log in to run this spell (it uses $me or $contacts).': - 'Log in to run this spell (it uses $me or $contacts).', - 'Login failed': 'Login failed', - 'Login to configure RSS feeds': 'Login to configure RSS feeds', - 'Long-form Article': 'Long-form Article', - 'Mailbox relays saved': 'Mailbox relays saved', - 'Mark as NSFW': 'Mark as NSFW', - 'Maximum {{max}} invitees': 'Maximum {{max}} invitees', - 'Maximum {{max}} invitees allowed': 'Maximum {{max}} invitees allowed', - Medium: 'Medium', - Mode: 'Mode', - 'Most Zapped': 'Most Zapped', - 'Move to top': 'Move to top', - 'Multiple choice': 'Multiple choice', - 'Mute failed': 'Mute failed', - NSFW: 'NSFW', - Name: 'Name', - 'Name of the language model used': 'Name of the language model used', - 'New External Citation': 'New External Citation', - 'New Hardcopy Citation': 'New Hardcopy Citation', - 'New Highlight': 'New Highlight', - 'New Internal Citation': 'New Internal Citation', - 'New Long-form Article': 'New Long-form Article', - 'New Poll': 'New Poll', - 'New Discussion': 'New Discussion', - 'New Prompt Citation': 'New Prompt Citation', - 'New Public Message': 'New Public Message', - 'New Wiki Article': 'New Wiki Article', - 'New Wiki Article (Markdown)': 'New Wiki Article (Markdown)', - Newest: 'Newest', - 'No JSON available': 'No JSON available', - 'No RSS feeds found in OPML file': 'No RSS feeds found in OPML file', - 'No cached data found.': 'No cached data found.', - 'No console logs captured yet': 'No console logs captured yet', - 'No events found': 'No events found', - 'No feeds configured. Default feed will be used.': - 'No feeds configured. Default feed will be used.', - 'No feeds to export': 'No feeds to export', - 'No groups available. Join some groups first.': 'No groups available. Join some groups first.', - 'No items in this store.': 'No items in this store.', - 'No items match your search.': 'No items match your search.', - 'No logs match the current filters': 'No logs match the current filters', - 'No posts found': 'No posts found', - 'No posts match your search': 'No posts match your search', - 'No relays available. Please configure relays in settings.': - 'No relays available. Please configure relays in settings.', - 'No service workers or caches found for this app': - 'No service workers or caches found for this app', - 'No users found': 'No users found', - 'No valid RSS feed URLs found in OPML file': 'No valid RSS feed URLs found in OPML file', - 'Note pinned': 'Note pinned', - 'Note unpinned': 'Note unpinned', - Oldest: 'Oldest', - 'Open Timestamp': 'Open Timestamp', - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.': - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.', - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.': - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.', - Optional: 'Optional', - 'Optional image for the event': 'Optional image for the event', - 'Optionally, add the full quote/context to show your highlight within it': - 'Optionally, add the full quote/context to show your highlight within it', - PM: 'PM', - 'Page Range': 'Page Range', - Pages: 'Pages', - 'Paste URL of a GIF': 'Paste URL of a GIF', - 'Paste URL of a meme image': 'Paste URL of a meme image', - 'Paste the entire original passage that contains your highlight': - 'Paste the entire original passage that contains your highlight', - Photo: 'Photo', - 'Picture Note': 'Picture Note', - 'Pin note': 'Pin note', - 'Plain text description of the query': 'Plain text description of the query', - 'Please login to view bookmarks': 'Please login to view bookmarks', - 'Please select a group': 'Please select a group', - 'Please select at least one relay': 'Please select at least one relay', - 'Please set a start date': 'Please set a start date', - 'Poll with no options': 'Poll with no options', - 'Post published to some relays': 'Post published to some relays', - 'Posts will automatically include expiration tags': - 'Posts will automatically include expiration tags', - 'Posts will automatically include quiet tags': 'Posts will automatically include quiet tags', - 'Posts will be quiet for this many days': 'Posts will be quiet for this many days', - 'Posts will expire after this many months': 'Posts will expire after this many months', - 'Processing...': 'Processing...', - 'Profile event not available': 'Profile event not available', - 'Prompt Citation': 'Prompt Citation', - 'Prompt Citation Settings': 'Prompt Citation Settings', - 'Prompt Conversation Script': 'Prompt Conversation Script', - 'Proof of Work': 'Proof of Work', - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post': - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post', - 'Publish to Relays': 'Publish to Relays', - 'Published By': 'Published By', - 'Published In': 'Published In', - 'Published On': 'Published On', - 'Published in': 'Published in', - 'Published on': 'Published on', - 'Publisher name (optional)': 'Publisher name (optional)', - 'Quiet Tags': 'Quiet Tags', - 'RSS Feed': 'RSS Feed', - 'RSS + Web': 'RSS + Web', - 'RSS feed source': 'RSS feed source', - 'All feed sources': 'All feed sources', - 'RSS feed view mode': 'RSS feed view mode', - 'Article URLs': 'Article URLs', - 'Article URLs subtitle': - 'One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.', - 'Article URLs Nostr manual subtitle': - 'Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.', - 'RSS feed column title': 'RSS & linked articles', - 'RSS feed column subtitle': - 'Feed entries and article cards that include at least one item from your subscribed RSS feeds.', - 'RSS timeline': 'RSS timeline', - 'RSS timeline subtitle': - 'Every item from your subscribed feeds, newest first — classic RSS reader.', - URLs: 'URLs', - RSS: 'RSS', - 'No URL-only items yet': 'No URL-only items yet', - 'Respond to this RSS entry': 'Respond to this RSS entry', - 'RSS read-only thread hint': - 'Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.', - 'RSS feed item label': 'RSS', - 'Web URL item label': 'Web URL', - 'URL thread activity': 'URL thread activity', - 'Suppress Clawstr links in RSS previews': 'Hide clawstr.com in RSS and URL feed', - 'Hide local, media & feed URLs from URL cards': - 'Hide local, media, feed, document & XML links from the feed', - 'RSS articles': 'RSS articles', - 'Web comments': 'Web comments', - 'Web highlights': 'Web highlights', - 'In your bookmarks': 'In your bookmarks', - '{{count}} RSS entries for this URL': '{{count}} RSS entries for this URL', - '{{count}} entries for this article URL': '{{count}} entries for this article URL', - 'No comments yet': 'No comments yet', - 'No highlights yet': 'No highlights yet', - 'Showing {{filtered}} of {{total}} entries': 'Showing {{filtered}} of {{total}} entries', - standardRssFeed_spotifeed: 'Spotify playlist (Spotifeed)', - standardRssFeed_youtube: 'YouTube feed', - standardRssFeed_youtubeChannel: 'YouTube channel feed', - standardRssFeed_youtubePlaylist: 'YouTube playlist feed', - standardRssFeed_feedburner: 'FeedBurner', - standardRssFeed_reddit: 'Reddit RSS', - standardRssFeed_substack: 'Substack', - standardRssFeed_medium: 'Medium', - 'RSS Feed Settings': 'RSS Feed Settings', - 'Follow sets': 'Follow sets', - 'Follow sets settings intro': - 'NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.', - 'New follow set': 'New follow set', - 'Edit follow set': 'Edit follow set', - 'No follow sets yet': 'You have not created any follow sets yet.', - 'Follow set saved': 'Follow set saved', - 'Follow set deleted': 'Follow set deleted', - 'Failed to load follow sets': 'Failed to load follow sets', - members: 'members', - 'Optional display title': 'Optional display title', - 'List id (d tag)': 'List id (d tag)', - 'Follow set d tag hint': - 'Stable identifier for this list. It cannot be changed after the first publish.', - 'People in this list': 'People in this list', - 'Delete follow set?': 'Delete this follow set?', - 'Delete follow set confirm': - 'This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.', - 'Remove feed': 'Remove feed', - 'RSS Feeds': 'RSS Feeds', - 'RSS feeds exported to OPML file': 'RSS feeds exported to OPML file', - 'RSS feeds saved': 'RSS feeds saved', - 'Rate limited. Please wait before trying again.': - 'Rate limited. Please wait before trying again.', - 'Reaction published': 'Reaction published', - 'Reaction removed': 'Reaction removed', - 'Read full article': 'Read full article', - 'Reading group entry': 'Reading group entry', - 'Readings Options': 'Readings Options', - Recipients: 'Recipients', - 'Recipients detected from your message:': 'Recipients detected from your message:', - 'Recommended Relays': 'Recommended Relays', - 'Recommended applications for handling events of kind {{kind}}': - 'Recommended applications for handling events of kind {{kind}}', - 'Reference to the cited Nostr event in kind:pubkey:hex format': - 'Reference to the cited Nostr event in kind:pubkey:hex format', - 'Refresh Cache': 'Refresh Cache', - 'Refreshing posts...': 'Refreshing posts...', - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.': - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.', - Relay: 'Relay', - 'Relay Hint': 'Relay Hint', - 'Relay URL (optional)': 'Relay URL (optional)', - 'Relay blocked successfully': 'Relay blocked successfully', - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.': - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.', - 'Relay set options': 'Relay set options', - 'Remove from favorites': 'Remove from favorites', - Rendered: 'Rendered', - 'Reply published': 'Reply published', - 'Reply published to some relays': 'Reply published to some relays', - 'Reply to Public Message': 'Reply to Public Message', - 'Republish to all active relays': 'Republish to all active relays', - 'Republish to all available relays': 'Republish to all available relays', - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.': - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.', - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.': - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.', - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Respect quiet tags': 'Respect quiet tags', - 'Search (NIP-50)': 'Search (NIP-50)', - 'Search by name or npub…': 'Search by name or npub…', - 'Search calendar, publications, wiki…': 'Search calendar, publications, wiki…', - 'Search for user…': 'Search for user…', - 'Search items...': 'Search items...', - 'Search logs...': 'Search logs...', - 'Search notes, threads, long-form…': 'Search notes, threads, long-form…', - 'Search on GifBuddy': 'Search on GifBuddy', - 'Search on Meme Amigo': 'Search on Meme Amigo', - 'Search posts...': 'Search posts...', - 'Search threads by title, content, tags, npub, author...': - 'Search threads by title, content, tags, npub, author...', - 'Searching all available relays...': 'Searching all available relays...', - 'Searching…': 'Searching…', - 'See reference': 'See reference', - 'Select Group': 'Select Group', - 'Select Media Type': 'Select Media Type', - 'Select group...': 'Select group...', - 'Select relays': 'Select relays', - 'Publish relay cap hint': - 'At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Publish relay cap hint with outbox first': - 'At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Select the group where you want to create this discussion.': - 'Select the group where you want to create this discussion.', - 'Select topic...': 'Select topic...', - 'Selected text': 'Selected text', - 'Send Public Message': 'Send Public Message', - 'Send a Lightning payment to this user': 'Send a Lightning payment to this user', - 'Service worker caches cleared. Please reload the page.': - 'Service worker caches cleared. Please reload the page.', - 'Service worker unregistered and caches cleared. Please reload the page.': - 'Service worker unregistered and caches cleared. Please reload the page.', - 'Service worker unregistered. Please reload the page.': - 'Service worker unregistered. Please reload the page.', - 'Share your thoughts, ask questions, or start a discussion...': - 'Share your thoughts, ask questions, or start a discussion...', - 'Short Video Note': 'Short Video Note', - 'Show RSS Feed': 'Show RSS Feed', - 'Show all discussions in a single list': 'Show all discussions in a single list', - 'Show less': 'Show less', - Since: 'Since', - Small: 'Small', - 'Some relays have temporarily disabled writes.': - 'Some relays have temporarily disabled writes.', - Source: 'Source', - 'Spell definition': 'Spell definition', - 'Spell published': 'Spell published', - 'Start date': 'Start date', - 'Start typing to see a preview...': 'Start typing to see a preview...', - 'Subject (Book Title)': 'Subject (Book Title)', - 'Subject (book title) is required for reading groups': - 'Subject (book title) is required for reading groups', - 'Subject / Topics': 'Subject / Topics', - Subscribe: 'Subscribe', - Subscribed: 'Subscribed', - 'Subscribed to topic': 'Subscribed to topic', - 'Subscribed to topic (local)': 'Subscribed to topic (local)', - 'Subscribing...': 'Subscribing...', - Summary: 'Summary', - 'Supported Event Types': 'Supported Event Types', - 'Take a note': 'Take a note', - 'The full prompt conversation (optional)': 'The full prompt conversation (optional)', - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.': - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.', - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.': - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.', - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.': - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.', - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a Nostr event of kind {{kind}}.': - 'This GIF was found in a Nostr event of kind {{kind}}.', - 'This file could be either audio or video. Please select the correct type:': - 'This file could be either audio or video. Please select the correct type:', - 'This store does not contain replaceable events': - 'This store does not contain replaceable events', - 'This will add additional tags for author and subject to help organize reading group discussions.': - 'This will add additional tags for author and subject to help organize reading group discussions.', - 'Thread Content': 'Thread Content', - 'Thread Title': 'Thread Title', - 'Thread creation timed out. Please try again.': 'Thread creation timed out. Please try again.', - 'Thread published': 'Thread published', - 'Threads are organized by topics. Choose a topic that best fits your discussion.': - 'Threads are organized by topics. Choose a topic that best fits your discussion.', - 'Time-based': 'Time-based', - 'Title is required': 'Title is required', - 'Title must be 100 characters or less': 'Title must be 100 characters or less', - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.': - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.', - Top: 'Top', - Topic: 'Topic', - URL: 'URL', - 'URL of the article cover image (optional)': 'URL of the article cover image (optional)', - 'Unique identifier for this article (required)': - 'Unique identifier for this article (required)', - 'Unmute failed': 'Unmute failed', - 'Unpin note': 'Unpin note', - Unsubscribe: 'Unsubscribe', - 'Unsubscribed from topic': 'Unsubscribed from topic', - 'Unsubscribing...': 'Unsubscribing...', - Until: 'Until', - Untitled: 'Untitled', - Update: 'Update', - 'Updating...': 'Updating...', - 'Upload Audio Comment': 'Upload Audio Comment', - 'Upload Audio Message': 'Upload Audio Message', - 'Upload Media': 'Upload Media', - Upvote: 'Upvote', - 'User unmuted': 'User unmuted', - 'Version number (optional)': 'Version number (optional)', - Video: 'Video', - 'Video Note': 'Video Note', - 'Video file': 'Video file', - 'View Console Logs': 'View Console Logs', - 'View JSON': 'View JSON', - 'View cached items in this store.': 'View cached items in this store.', - 'View definition': 'View definition', - 'View details about cached data in IndexedDB stores. Click on a store to view its items.': - 'View details about cached data in IndexedDB stores. Click on a store to view its items.', - 'View on Alexandria': 'View on Alexandria', - 'View on DecentNewsroom': 'View on DecentNewsroom', - 'View on Wikistr': 'View on Wikistr', - 'View recent console logs for debugging': 'View recent console logs for debugging', - 'Voice Comment': 'Voice Comment', - 'Voice Note': 'Voice Note', - 'Voice note or audio file': 'Voice note or audio file', - Volume: 'Volume', - 'Volume number (optional)': 'Volume number (optional)', - 'Vote published': 'Vote published', - 'Vote removed': 'Vote removed', - 'Website where LLM was accessed (optional)': 'Website where LLM was accessed (optional)', - 'Wiki Article (AsciiDoc)': 'Wiki Article (AsciiDoc)', - 'Wiki Article (Markdown)': 'Wiki Article (Markdown)', - 'You can only delete your own notes': 'You can only delete your own notes', - 'You must be logged in to create a thread': 'You must be logged in to create a thread', - 'You need to add at least one media server in order to upload media files.': - 'You need to add at least one media server in order to upload media files.', - 'You need to login first': 'You need to login first', - 'Your account is blocked from posting to this relay.': - 'Your account is blocked from posting to this relay.', - Zap: 'Zap', - 'Zap failed': 'Zap failed', - created_at: 'created_at', - 'e tag of kind 1040 event (optional)': 'e tag of kind 1040 event (optional)', - 'e.g. meetup, conference': 'e.g. meetup, conference', - 'e.g., 123-145 (optional)': 'e.g., 123-145 (optional)', - 'e.g., GPT-4, Claude, etc. (required)': 'e.g., GPT-4, Claude, etc. (required)', - 'e.g., my-article-title': 'e.g., my-article-title', - entries: 'entries', - 'from Bunker': 'from Bunker', - 'from Extension': 'from Extension', - 'from NIP-05': 'from NIP-05', - general: 'general', - 'https://example.com (required)': 'https://example.com (required)', - 'https://example.com/image.jpg': 'https://example.com/image.jpg', - id: 'id', - items: 'items', - kind: 'kind', - 'kind:pubkey:hex format (required)': 'kind:pubkey:hex format (required)', - 'last updated': 'last updated', - matching: 'matching', - naddr: 'naddr', - nevent: 'nevent', - 'nevent1..., naddr1..., note1..., hex ID, or https://...': - 'nevent1..., naddr1..., note1..., hex ID, or https://...', - 'no notes found': 'no notes found', - of: 'of', - 'on note': 'on note', - optional: 'optional', - pubkey: 'pubkey', - 'sent a public message': 'sent a public message', - 'sent you a public message': 'sent you a public message', - 'sent you a public message (along with {{count}} others)': - 'sent you a public message (along with {{count}} others)', - sig: 'sig', - 'started a discussion in {{topic}}': 'started a discussion in {{topic}}', - tags: 'tags', - thread: 'thread', - threads: 'threads', - 'topic1, topic2, topic3': 'topic1, topic2, topic3', - '{{count}} relay(s) selected': '{{count}} relay(s) selected', - '🔞 NSFW 🔞': '🔞 NSFW 🔞', - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).': - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).', - 'Failed to refresh': 'Failed to refresh', - 'Invalid article link.': 'Invalid article link.', - Likes: 'Likes', - 'Loading…': 'Loading…', - 'Missing pubkey': 'Missing pubkey', - 'No RSS feed list found on relays': 'No RSS feed list found on relays', - 'Pinned posts': 'Pinned posts', - 'Publishing...': 'Publishing...', - 'RSS article': 'RSS article', - 'RSS feed list refreshed': 'RSS feed list refreshed', - 'Save or discard your changes before refreshing from relays': - 'Save or discard your changes before refreshing from relays', - 'Suggested topics': 'Suggested topics', - 'Synthetic event (no author)': 'Synthetic event (no author)', - 'Topic is required': 'Topic is required', - 'Type a topic or pick from the list': 'Type a topic or pick from the list', - profileEditorRefreshCacheHint: 'profileEditorRefreshCacheHint', - startupSessionHydrating: 'startupSessionHydrating' - } -} diff --git a/src/i18n/locales/cs.ts b/src/i18n/locales/cs.ts new file mode 100644 index 00000000..01f091b6 --- /dev/null +++ b/src/i18n/locales/cs.ts @@ -0,0 +1,2010 @@ +export default { + translation: { + // NOTE: Untranslated strings fall back to English. + + "Welcome! 🥳": "Welcome! 🥳", + About: "About", + "New Note": "New Note", + Post: "Post", + Home: "Home", + Feed: "Feed", + "Favorite Relays": "Favorite Relays", + "Relay pulse": "Relay pulse", + "Relay pulse empty": "Quiet on your relays in the last hour.", + "Relay pulse follows": "Following ({{count}})", + "Relay pulse others": "Others ({{count}})", + "Relay pulse updated": "Updated {{relative}}", + "Relay pulse active npubs": "Active npubs", + "Relay pulse active npubs hint": "Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).", + "Relay pulse drawer following": "Following", + "Relay pulse drawer others": "Others", + "Relay pulse drawer no profiles": "No kind 0 profiles loaded for this sample yet.", + "See the newest notes from your follows": "See the newest notes from your follows", + "All favorite relays": "All favorite relays", + "Pinned note": "Pinned note", + "Relay settings": "Relays and Storage Settings", + "Relay auth accepted (NIP-42)": "The relay accepted authentication (NIP-42): {{relay}}{{detailSuffix}}", + "Relay auth rejected (NIP-42)": "The relay rejected authentication (NIP-42): {{relay}} — {{message}}", + "Relay auth error unknown": "Unknown error", + Settings: "Settings", + "Account menu": "Account menu", + SidebarRelays: "Relays", + Refresh: "Refresh", + "refresh.longPressHardReload": "Long-press: reload app and restore feed cache", + "link.expandNostrEmbed": "Show Nostr preview", + Profile: "Profile", + Logout: "Logout", + Following: "Following", + followings: "followings", + boosted: "boosted", + "Boosted by:": "Boosted by:", + "just now": "just now", + "n minutes ago": "{{n}} minutes ago", + "n m": "{{n}}m", + "n hours ago": "{{n}} hours ago", + "n h": "{{n}}h", + "n days ago": "{{n}} days ago", + "n d": "{{n}}d", + date: "{{timestamp, date}}", + Follow: "Follow", + Unfollow: "Unfollow", + "Follow failed": "Follow failed", + "Unfollow failed": "Unfollow failed", + "show new notes": "show new notes", + "loading...": "loading...", + "Loading...": "Loading...", + "no more notes": "no more notes", + "calendar entries": "calendar entries", + "Loading calendar events...": "Loading calendar events...", + "No calendar events found": "No calendar events found", + "Calendar events in the next {{count}} months": "Calendar events in the next {{count}} months", + "The nostr.band relay appears to be temporarily out of service. Please try again later.": "The nostr.band relay appears to be temporarily out of service. Please try again later.", + "reply to": "reply to", + reply: "reply", + Reply: "Reply", + "load more older replies": "load more older replies", + "Write something...": "Write something...", + Cancel: "Cancel", + Mentions: "Mentions", + "Search for event or address…": "Search for event or address…", + "Search notes…": "Search notes…", + "No notes found": "No notes found", + "Failed to post": "Failed to post", + "Post successful": "Post successful", + "Your post has been published": "Your post has been published", + Boost: "Boost", + "Boost published": "Boost published", + Quote: "Quote", + "Copy event ID": "Copy event ID", + "Copy user ID": "Copy user ID", + "Send public message": "Send public message", + "View raw event": "View raw event", + "Edit this event": "Edit this event", + "Clone or fork this event": "Clone or fork this event", + "Event kind": "Event kind", + "Note content": "Note content", + Publish: "Publish", + "Post published": "Post published", + "Edit content and tags, then publish a new signed event.": "Edit content and tags, then publish a new signed event.", + "Log in to publish": "Log in to publish", + "Set when you publish": "set when you publish", + "id and sig are assigned when you publish": "id and sig are assigned when you publish", + "Published to some relays only": "Published to some relays only", + "Add field": "Add field", + "View full profile": "View full profile", + Like: "Like", + "switch to light theme": "switch to light theme", + "switch to dark theme": "switch to dark theme", + "switch to system theme": "switch to system theme", + Note: "Note", + note: "note", + "username's following": "{{username}}'s following", + "username's used relays": "{{username}}'s used relays", + "username's muted": "{{username}}'s muted", + Login: "Login", + downloadDesktopApp: "Download app", + "Please log in to view notifications.": "Please log in to view notifications.", + "Follows you": "Follows you", + "Relay Settings": "Relays and Storage Settings", + "Relays and Storage Settings": "Relays and Storage Settings", + "Relay set name": "Relay set name", + "Add a new relay set": "Add a new relay set", + Add: "Add", + "n relays": "{{n}} relays", + Rename: "Rename", + "Copy share link": "Copy share link", + "Copy address": "Copy address", + "Copy payto URI": "Copy payto URI", + "Copied payto address": "Copied payto address", + "Copied to clipboard": "Copied to clipboard", + "Copied {{label}} address": "Copied {{label}} address", + "Lightning payment address – copy to pay via your wallet": "Lightning payment address – copy to pay via your wallet", + "Payment address – copy to use in your wallet or app": "Payment address – copy to use in your wallet or app", + "Click to open payment options": "Click to open payment options", + "Click to copy address": "Click to copy address", + "Open on website": "Open on website", + "Raw profile event": "Raw profile event", + "Full profile event": "Full profile event", + "Event (JSON)": "Event (JSON)", + "Save full profile": "Save full profile", + "Add tag": "Add tag", + "Remove tag": "Remove tag", + "Tag name": "Tag name", + Value: "Value", + "Add value to tag": "Add value to tag", + "Remove value": "Remove value", + "No tags. Click \"Add tag\" to add one.": "No tags. Click \"Add tag\" to add one.", + "Profile updated": "Profile updated", + "Failed to publish profile": "Failed to publish profile", + "Invalid profile JSON": "Invalid profile JSON", + "Refresh cache": "Refresh cache", + "Force-refresh profile and payment info from relays": "Force-refresh profile and payment info from relays", + "Profile and payment cache refreshed": "Profile and payment cache refreshed", + "Failed to refresh cache": "Failed to refresh cache", + "Raw payment info event": "Raw payment info event", + "Payment info": "Payment info", + "Edit payment info": "Edit payment info", + "Add payment info": "Add payment info", + "No payment info event yet. Click \"Add payment info\" to create one.": "No payment info event yet. Click \"Add payment info\" to create one.", + "Content (JSON)": "Content (JSON)", + Tags: "Tags", + "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])": "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])", + "Payment info updated": "Payment info updated", + "Failed to publish payment info": "Failed to publish payment info", + "Invalid tags JSON": "Invalid tags JSON", + "Payment methods": "Payment methods", + "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).": "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).", + "Type (e.g. lightning)": "Type (e.g. lightning)", + "Authority (e.g. user@domain.com)": "Authority (e.g. user@domain.com)", + "Add payment method": "Add payment method", + Remove: "Remove", + "Additional content (JSON)": "Additional content (JSON)", + "Show full event JSON": "Show full event JSON", + "Tag list": "Tag list", + "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.": "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.", + "Tag value": "Tag value", + "Saving…": "Saving…", + "Share with Imwald": "Share with Imwald", + "Share with Alexandria": "Share with Alexandria", + "Start video call": "Start video call", + "Copy call invite link": "Copy call invite link", + "Start call about this": "Start call about this", + "Send call invite": "Send call invite", + "Read this note aloud": "Read this note aloud", + "Read-aloud is not supported in this browser": "Read-aloud is not supported in this browser", + "Nothing to read aloud": "Nothing to read aloud", + "Read-aloud failed": "Read-aloud failed", + "Read aloud": "Read aloud", + "Read-aloud idle": "Idle", + "Preparing read-aloud…": "Preparing read-aloud…", + "Requesting audio…": "Requesting audio…", + "Loading audio…": "Loading audio…", + "Preparing player…": "Preparing player…", + "Starting stream…": "Starting stream…", + "Loading media…": "Loading media…", + "Buffering…": "Buffering…", + Playing: "Playing", + Paused: "Paused", + "Read-aloud finished": "Finished", + "Read-aloud error": "Error", + "TTS endpoint": "TTS endpoint", + "Using browser speech synthesis": "Using browser speech synthesis", + "Read-aloud section progress": "Section {{current}} of {{total}}", + "Request sent": "Request sent", + "Response received": "Response received", + "Playback started": "Playback started", + Characters: "Characters", + Pause: "Pause", + Play: "Play", + Stop: "Stop", + "Read-aloud sections": "Read-aloud sections", + "Read-aloud overall progress": "Overall progress", + "Read-aloud section done": "Section {{index}}: finished", + "Read-aloud section pending": "Section {{index}}: not started yet", + "Read-aloud section fetching": "Section {{index}}: requesting audio", + "Read-aloud section preparing audio": "Section {{index}}: loading audio", + "Read-aloud section playing": "Section {{index}}: playing", + "Read-aloud section paused": "Section {{index}}: paused", + "Read-aloud legend fetching": "Requesting audio for this section from the server…", + "Read-aloud legend buffering": "Decoding audio for this section…", + "Read-aloud legend playing": "Playing this section.", + "Read-aloud legend paused": "Playback paused.", + "Read-aloud Piper fallback notice": "Server voice (Piper) could not be used. Playing with your browser voice instead.", + "Read-aloud Piper fallback detail label": "Piper error", + "Read-aloud Piper status region": "Piper text-to-speech status", + "Read-aloud Piper status heading": "Piper (server voice)", + "Read-aloud Piper skipped notice": "No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.", + "Read-aloud Piper attempt started": "Piper was started at {{time}} (this read-aloud used the server first).", + "Read-aloud Piper endpoint tried": "URL used: {{url}}", + "Join the video call": "Join the video call", + "Schedule video call": "Schedule video call", + "You're invited to a scheduled video call.": "You're invited to a scheduled video call.", + "Create a calendar event and send an invite. The recipient will see the event with a join link.": "Create a calendar event and send an invite. The recipient will see the event with a join link.", + "Schedule a video call": "Schedule a video call", + "Create a calendar event and send kind 24 invites to each listed invitee.": "Create a calendar event and send kind 24 invites to each listed invitee.", + Invitees: "Invitees", + "Paste nostr:npub1... or nostr:nprofile1... (one or more)": "Paste nostr:npub1... or nostr:nprofile1... (one or more)", + "Schedule and send invites": "Schedule and send invites", + "Add at least one invitee (paste nostr:npub or nostr:nprofile links)": "Add at least one invitee (paste nostr:npub or nostr:nprofile links)", + "Scheduled call created and {{count}} invite(s) sent": "Scheduled call created and {{count}} invite(s) sent", + "Join video call": "Join video call", + "Scheduled video call": "Scheduled video call", + "Video call": "Video call", + "Schedule and send invite": "Schedule and send invite", + "Scheduling…": "Scheduling…", + "Please set a start time": "Please set a start time", + "End time must be after start time": "End time must be after start time", + "Failed to schedule call": "Failed to schedule call", + "Scheduled call created and invite sent": "Scheduled call created and invite sent", + RSVP: "RSVP", + "RSVP: {{status}}": "RSVP: {{status}}", + Accepted: "Accepted", + Tentative: "Tentative", + Declined: "Declined", + "You need to log in to RSVP": "You need to log in to RSVP", + "RSVP updated": "RSVP updated", + "Failed to update RSVP": "Failed to update RSVP", + Organizer: "Organizer", + Attendees: "Attendees", + "No response": "No response", + "Calendar Events": "Calendar Events", + "Calendar Event": "Calendar Event", + "Schedule in-person meeting": "Schedule in-person meeting", + "Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.": "Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.", + "You're invited to an in-person meeting.": "You're invited to an in-person meeting.", + "Meeting created and invite sent": "Meeting created and invite sent", + "Failed to create meeting": "Failed to create meeting", + "Create and send invite": "Create and send invite", + "Creating…": "Creating…", + "In-person meeting": "In-person meeting", + Location: "Location", + "Address, venue, or place": "Address, venue, or place", + Description: "Description", + "Optional notes": "Optional notes", + "Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.": "Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.", + "Meeting created and {{count}} invite(s) sent": "Meeting created and {{count}} invite(s) sent", + "Create and send invites": "Create and send invites", + Title: "Title", + Start: "Start", + End: "End", + Delete: "Delete", + "Relay already exists": "Relay already exists", + "invalid relay URL": "invalid relay URL", + "Relay URL…": "wss://… or relay host", + "Open relay": "Open relay", + "Add a new relay": "Add a new relay", + back: "back", + "Lost in the void": "Lost in the void", + "Carry me home": "Carry me home", + "no replies": "no replies", + "Reply to": "Reply to", + Search: "Search", + "The relays you are connected to do not support search": "The relays you are connected to do not support search", + "Show more...": "Show more...", + "All users": "All users", + "Display replies": "Display replies", + Notes: "Notes", + Replies: "Replies", + Gallery: "Gallery", + Notifications: "Notifications", + "no more notifications": "no more notifications", + "Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.": "Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.", + "Login with Browser Extension": "Login with Browser Extension", + "Login with Bunker": "Login with Bunker", + "Login with Private Key": "Login with Private Key", + "Login with npub (read-only)": "Login with npub (read-only)", + readOnlySession: {"label":"Read-only","labelShort":"R/O","hint":"Browsing without a signing key. Sign in with an extension, nsec, or another method to post, react, and edit."}, + "reload notes": "reload notes", + "Logged in Accounts": "Logged in Accounts", + "Add an Account": "Add an Account", + "More options": "More options", + "Add client tag": "Add client tag", + "Show others this was sent via Imwald": "Show others this was sent via Imwald", + "Are you sure you want to logout?": "Are you sure you want to logout?", + "relay sets": "relay sets", + edit: "edit", + Languages: "Languages", + Theme: "Theme", + System: "System", + Light: "Light", + Dark: "Dark", + Temporary: "Temporary", + "Choose a relay set": "Choose a relay set", + "Switch account": "Switch account", + Pictures: "Pictures", + "Picture note": "Picture note", + "A special note for picture-first clients like Olas": "A special note for picture-first clients like Olas", + "Picture note requires images": "Picture note requires images", + Relays: "Relays", + Image: "Image", + "This image could not be loaded.": "This image could not be loaded.", + "Invalid or unsupported image address.": "Invalid or unsupported image address.", + "Open image link": "Open image link", + "Upload Image": "Upload Image", + "Insert emoji": "Insert emoji", + "Insert GIF": "Insert GIF", + "Insert meme": "Insert meme", + "Search GIFs": "Search GIFs", + "Search memes": "Search memes", + "Choose a GIF": "Choose a GIF", + "Choose a meme": "Choose a meme", + "Search GifBuddy for more GIFs": "Search GifBuddy for more GIFs", + "Add your own GIFs": "Add your own GIFs", + "Add your own meme templates": "Add your own meme templates", + "Description (optional, for search)": "Description (optional, for search)", + "e.g. happy birthday, thumbs up": "e.g. happy birthday, thumbs up", + "e.g. drake, distracted boyfriend": "e.g. drake, distracted boyfriend", + "Uploading...": "Uploading...", + "No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.": "No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.", + "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).": "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).", + "Failed to publish meme template for the picker": "Failed to publish meme template for the picker", + "{{name}} is not a GIF file": "{{name}} is not a GIF file", + "{{name}} is not a JPEG, PNG, or WebP file": "{{name}} is not a JPEG, PNG, or WebP file", + "R & W": "R & W", + Read: "Read", + Write: "Write", + "Pull relay sets": "Pull relay sets", + "Select the relay sets you want to pull": "Select the relay sets you want to pull", + "No relay sets found": "No relay sets found", + "Pull n relay sets": "Pull {{n}} relay sets", + Pull: "Pull", + "Select all": "Select all", + "Relay Sets": "Relay Sets", + "Read & Write Relays": "Read & Write Relays", + "read relays description": "Read relays are used to seek events about you. Other users will publish the events they want you to see to your read relays.", + "write relays description": "Write relays are used to publish your events. Other users will seek your events from your write relays.", + "read & write relays notice": "The number of read and write servers should ideally be kept between 2 and 4.", + "Don't have an account yet?": "Don't have an account yet?", + "or simply generate a private key": "or simply generate a private key", + "This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.": "This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.", + Edit: "Edit", + Save: "Save", + "Display Name": "Display Name", + Bio: "Bio", + "Nostr Address (NIP-05)": "Nostr Address (NIP-05)", + "Invalid NIP-05 address": "Invalid NIP-05 address", + "Copy private key": "Copy private key", + "Enter the password to decrypt your ncryptsec": "Enter the password to decrypt your ncryptsec", + Back: "Back", + "optional: encrypt nsec": "optional: encrypt nsec", + password: "password", + "Sign up": "Sign up", + "Save to": "Save to", + "Enter a name for the new relay set": "Enter a name for the new relay set", + "Save to a new relay set": "Save to a new relay set", + Mute: "Mute", + Muted: "Muted", + Unmute: "Unmute", + "Unmute user": "Unmute user", + Block: "Block", + Unblock: "Unblock", + blocked: "blocked", + "Append n relays": "Append {{n}} relays", + Append: "Append", + "Select relays to append": "Select relays to append", + "calculating...": "calculating...", + "Calculate optimal read relays": "Calculate optimal read relays", + "Login to set": "Login to set", + "Please login to view following feed": "Please login to view following feed", + "Follow set": "Follow set", + "Follow set feed empty": "This NIP-51 list is empty, was not found, or relays could not load it yet.", + "Send only to r": "Send only to {{r}}", + "Send only to these relays": "Send only to these relays", + Explore: "Explore", + "Relay reviews": "Relay reviews", + "Search relays": "Search relays", + relayInfoBadgeAuth: "Auth", + relayInfoBadgeSearch: "Search", + relayInfoBadgePayment: "Payment", + Operator: "Operator", + Contact: "Contact", + Software: "Software", + Version: "Version", + "Random Relays": "Random Relays", + randomRelaysRefresh: "Refresh", + "Explore more": "Explore more", + "Payment page": "Payment page", + "Supported NIPs": "Supported NIPs", + "Relay liveliness (NIP-66)": "Relay liveliness (NIP-66)", + "Relay monitor (NIP-66)": "Relay monitor (NIP-66)", + "Auth required": "Auth required", + "Public (no auth)": "Public (no auth)", + "Payment required": "Payment required", + "No payment": "No payment", + "Writes required": "Writes required", + "Writes open": "Writes open", + "PoW required": "PoW required", + "No PoW": "No PoW", + "RTT open": "RTT open", + "RTT read": "RTT read", + "RTT write": "RTT write", + "Supported NIPs (from monitor)": "Supported NIPs (from monitor)", + "Last reported by monitor": "Last reported by monitor", + Network: "Network", + Type: "Type", + Topics: "Topics", + "Open in a": "Open in {{a}}", + "Cannot handle event of kind k": "Cannot handle event of kind {{k}}", + "Unsupported event preview": "There isn’t a dedicated card for this event type yet. Here’s a readable preview.", + "No text content in event": "No text in this event.", + "Technical details": "Technical details", + "Event kind and time": "Kind {{kind}} · {{time}}", + "Event kind label": "Kind {{kind}}", + "Note kind label line": "KIND: {{kind}} · {{description}}", + "Unknown note declared kind tag": "Tagged kind: {{value}}", + "Unknown note tagged pubkey": "Tagged pubkey", + "Unknown note tagged content": "Content", + "Unknown note reference tags": "Reference tags (e, p, q, a)", + "Starred spells": "Starred spells", + "Spell star add title": "Star spell (adds to your Nostr bookmarks)", + "Spell star remove title": "Unstar spell (removes from your Nostr bookmarks)", + "Copy JSON": "Copy JSON", + Verse: "Verse", + "Notification reaction summary": "reacted to this note.", + "Notification discussion upvote summary": "upvoted in this discussion.", + "Notification discussion downvote summary": "downvoted in this discussion.", + "Notification boost summary": "Boosted this note", + "Notification boost detail": "The preview above is the original post.", + "Notification poll vote summary": "Voted on the poll above.", + "Notification poll vote options count": "{{count}} option(s) selected", + "Imwald synthetic event": "Imwald synthetic event", + "+ Add a URL to this list": "Add a URL to this list", + "Add a web URL": "Add a web URL", + "Add web URL to feed description": "Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.", + "Add to feed": "Add to feed", + "Open any https page in the side panel to reply, react, and discuss on Nostr.": "Open any https page in the side panel to reply, react, and discuss on Nostr.", + "Enter a valid http(s) URL": "Enter a valid http(s) URL", + "Opened by URL — not from your RSS list. Nostr thread is still tied to this link.": "Opened by URL — not from your RSS list. Nostr thread is still tied to this link.", + "Open in browser": "Open in browser", + "liveEvent.zapStreamPlayer": "Live stream (zap.stream)", + liveStreamEmbedSuppressed: "Inline live stream is hidden because your kind filter excludes NIP-53 streams. Open via njump or another client below.", + "liveEvent.hlsPlaybackUnavailable": "Inline playback failed (the stream may be offline, ended, or blocked). You can still open the hosted watch page below.", + "liveEvent.hideFromCarousel": "Hide from carousel", + "liveEvent.showInCarousel": "Show in carousel", + "liveEvent.hideFromCarouselTitle": "Hide this stream in the live carousel (saved in this browser on this device). Click again to show it.", + "liveEvent.showInCarouselTitle": "Show this stream in the live carousel again.", + "Web page": "Web page", + Open: "Open", + "Sorry! The note cannot be found 😔": "Sorry! The note cannot be found 😔", + "This user has been muted": "This user has been muted", + Wallet: "Wallet", + Sats: "Sats", + sats: "sats", + "Zap to": "Zap to", + "Zap n sats": "Zap {{n}} sats", + zapComment: "Comment", + "Default zap amount": "Default zap amount", + "Default zap comment": "Default zap comment", + "Lightning Address (or LNURL)": "Lightning Address (or LNURL)", + "Quick zap": "Quick zap", + "If enabled, you can zap with a single click. Click and hold for custom amounts": "If enabled, you can zap with a single click. Click and hold for custom amounts", + All: "All", + Reactions: "Reactions", + Zaps: "Zaps", + Boosts: "Boosts", + Badges: "Badges", + Reports: "Reports", + "Enjoying Imwald?": "Enjoying Imwald?", + "Your donation helps me maintain Imwald and make it better! 😊": "Your donation helps me maintain Imwald and make it better! 😊", + "Earlier notifications": "Earlier notifications", + "Temporarily display this note": "Temporarily display this note", + buttonFollowing: "Following", + "Are you sure you want to unfollow this user?": "Are you sure you want to unfollow this user?", + "Recent Supporters": "Recent Supporters", + "Seen on": "Seen on", + "Active relays": "Active relays", + "Not connected": "Not connected", + "Relay session striked": "Skipped this session (too many connection failures)", + "More relays": "+{{count}} relays", + "Temporarily display this reply": "Temporarily display this reply", + "Note not found": "Note not found", + "Invalid embedded note reference": "Invalid embedded note reference", + embeddedNoteInvalidEmpty: "This embedded link is empty.", + embeddedNoteInvalidHex: "This is not a valid hex event id (expected exactly 64 hexadecimal characters).", + embeddedNoteInvalidBech32: "This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.", + embeddedNoteInvalidWrongKind: "This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.", + "The note was not found on your relays or default relays.": "The note was not found on your relays or default relays.", + "Try searching author's relays": "Try searching author's relays", + "Searching external relays...": "Searching external relays...", + "This will connect to the author's relays and relay hints": "This will connect to the author's relays and relay hints", + "Note could not be found anywhere": "Note could not be found anywhere", + "Try external relays": "Try external relays", + "Searching...": "Searching...", + "Show relays": "Show relays", + "No external relay hints available": "No external relay hints available", + "External relay search is not available for this link type": "External relay search is not available for this link type.", + "Searched external relays not found": "Searched {{count}} external relays; the note was still not found.", + "no more replies": "no more replies", + "Relay sets": "Relay sets", + "Search for Relays": "Search for Relays", + "Using app default relays": "Using app default relays", + "Following's Favorites": "Following's Favorites", + "no more relays": "no more relays", + "Favorited by": "Favorited by", + "Post settings": "Post settings", + "Publishing feedback": "Publishing feedback", + "Publish success toasts": "Publish success toasts", + "Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.": "Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.", + "Publish successful": "Publish successful", + "Media upload service": "Media upload service", + "Choose a relay": "Choose a relay", + "no relays found": "no relays found", + video: "video", + "Show n new notes": "Show {{n}} new notes", + YouTabName: "You", + Bookmark: "Bookmark", + "Remove bookmark": "Remove bookmark", + "no bookmarks found": "no bookmarks found", + "no more bookmarks": "no more bookmarks", + Bookmarks: "Bookmarks", + "Follow Packs": "Follow Packs", + "Follow Pack": "Follow Pack", + "Follow pack by": "by", + "In Follow Packs": "In Follow Packs", + "Badge details": "Badge details", + "Issued by": "Issued by", + "Other recipients": "Other recipients", + "No other recipients found": "No other recipients found", + "Recipients could not be loaded": "Recipients could not be loaded", + "View award": "View award", + "Awarded on": "Awarded on", + "Please log in to follow": "Please log in to follow", + "Following All": "Following All", + "Followed {{count}} users": "Followed {{count}} users", + "All available members are already followed or muted": "All available members are already followed or muted", + "You are already following all members of this pack": "You are already following all members of this pack", + "Failed to follow pack": "Failed to follow pack", + "{{count}} profiles": "{{count}} profiles", + "Show more": "Show more", + General: "General", + Autoplay: "Autoplay", + "Enable video autoplay on this device": "Enable video autoplay on this device", + "liveActivities.heading": "Live now", + "liveActivities.regionLabel": "Live spaces and streams", + "liveActivities.fromFollow": "From someone you follow", + "liveActivities.goToSlide": "Show live item {{n}}", + "liveActivities.swipeToBrowse": "Swipe left or right on the banner to switch between live activities.", + "liveActivities.viewNoteTitle": "Open this live activity as a note (play in app, links below)", + "liveActivities.openJoinPageTitle": "Open the join page in a new tab (e.g. zap.stream or the room site)", + "liveActivities.settingsToggle": "Live activities banner", + "liveActivities.settingsHint": "Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.", + "Add random relays to every publish": "Random relays in publish list", + "Add random relays to every publish description": "Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.", + relayType_local: "Local", + relayType_relay_list: "Relay list", + relayType_http_relay_list: "HTTP", + "HTTP relays": "HTTP relays", + httpRelaysDescription: "HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.", + "HTTP relays saved": "HTTP relays saved", + "Failed to save HTTP relay list": "Failed to save HTTP relay list", + "HTTP relays must start with https:// or http://": "HTTP relays must start with https:// or http://", + relayType_client_default: "Client default", + relayType_open_from: "Current feed", + relayType_favorite: "Favorite", + relayType_relay_set: "Relay set", + relayType_contextual: "Reply/PM", + relayType_randomly_selected: "Random (optional)", + "Session relays": "Session relays", + "Session relays tab description": "Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish). Striked relays are skipped for reads and publishes until reload.", + "Session relays preset working": "Working preset relays", + "Session relays preset working hint": "Preset relays (from app defaults) that have not reached the session failure threshold (2 failures).", + "Session relays preset striked": "Striked preset relays", + "Session relays preset striked hint": "Preset relays that have reached 2 connection or publish failures this session and are skipped for reads and writes until you reload the app.", + "Session relays scored random": "Scored random relays", + "Session relays scored random hint": "Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.", + "Session relays all striked": "All striked relays (any source)", + "Session relays clear strike": "Allow again", + "Session relays clear strike hint": "Remove this relay from the session block list; it will be used again until new connection failures.", + "relaySessionStrikes.bannerWarning": "This relay has {{count}} session strike(s) (limit {{threshold}}) after connection or query failures.", + "relaySessionStrikes.bannerSkipped": "This relay has reached the session failure limit ({{threshold}} strikes) and is skipped for reads and publishes in this tab.", + "relaySessionStrikes.refreshHint": "Use {{refresh}} to clear strikes for this relay and load the feed again.", + successes: "successes", + None: "None", + "Cache & offline storage": "Cache & offline storage", + feedStarting: "Starting feeds and relays… This can take a few seconds after login.", + singleRelayKindFallbackNotice: "This relay returned no events for an open-ended request (no kinds in the filter). The feed below uses your usual kind filter instead.", + refreshCacheButtonExplainer: "Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.", + "eventArchive.sectionTitle": "Notes & feed archive", + "eventArchive.sectionBlurb": "Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.", + "eventArchive.defaultsMobile": "This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).", + "eventArchive.defaultsElectron": "Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.defaultsDesktopWeb": "Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.enablePersist": "Persist feed events to disk", + "eventArchive.maxMb": "Max archive size (MB), blank = default for this device", + "eventArchive.maxEvents": "Max archived events, blank = default", + "eventArchive.sessionLru": "In-memory session cache (event count), blank = default", + "eventArchive.effectiveSummary": "Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.", + "eventArchive.on": "on", + "eventArchive.off": "off", + "eventArchive.apply": "Apply cache settings", + "eventArchive.appliedToast": "Cache settings saved. Session memory updated.", + "Paste or drop media files to upload": "Paste or drop media files to upload", + Preview: "Preview", + "You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?": "You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?", + "Platinum Sponsors": "Platinum Sponsors", + From: "From", + "Comment on": "Comment on", + "View on njump.me": "View on njump.me", + "Hide content from untrusted users": "Hide content from untrusted users", + "Only show content from your followed users and the users they follow": "Only show content from your followed users and the users they follow", + "Followed by": "Followed by", + "Mute user privately": "Mute user privately", + "Mute user publicly": "Mute user publicly", + Quotes: "Quotes", + "Lightning Invoice": "Lightning Invoice", + "Bookmark failed": "Bookmark failed", + "Remove bookmark failed": "Remove bookmark failed", + "Removed from bookmarks": "Removed from bookmarks", + "Bookmark not in list": "This bookmark is not in your list (already removed or out of sync).", + "Pin not in list": "This pin is not in your list (already removed or out of sync).", + "Failed to remove pin": "Failed to remove pin", + Translation: "Translation", + Balance: "Balance", + characters: "characters", + translateApiKeyDescription: "You can use this API key anywhere else that supports LibreTranslate. The service URL is {{serviceUrl}}", + "Top up": "Top up", + "Will receive: {n} characters": "Will receive: {{n}} characters", + "Top up {n} sats": "Top up {{n}} sats", + "Minimum top up is {n} sats": "Minimum top up is {{n}} sats", + Service: "Service", + "Reset API key": "Reset API key", + "Are you sure you want to reset your API key? This action cannot be undone.": "Are you sure you want to reset your API key? This action cannot be undone.", + Warning: "Warning", + "Errors & warnings": "Errors & warnings", + "Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.": "Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.", + "Service address": "Service address", + Pay: "Pay", + interactions: "interactions", + notifications: "notifications", + notificationsViewAsAccount: "View as", + notificationsViewAsAccountAria: "Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.", + notificationsSwitchAccountFailed: "Could not switch account. Check your signer, password, or extension and try again.", + "Show untrusted {type}": "Show untrusted {{type}}", + "Hide untrusted {type}": "Hide untrusted {{type}}", + "Currently hiding {type} from untrusted users.": "Currently hiding {{type}} from untrusted users.", + "Currently showing all {type}.": "Currently showing all {{type}}.", + "Click continue to show all {type}.": "Click continue to show all {{type}}.", + "Click continue to hide {type} from untrusted users.": "Click continue to hide {{type}} from untrusted users.", + "Trusted users include people you follow and people they follow.": "Trusted users include people you follow and people they follow.", + Continue: "Continue", + "Successfully updated mute list": "Successfully updated mute list", + "No pubkeys found from {url}": "No pubkeys found from {{url}}", + "Translating...": "Translating...", + Translate: "Translate", + "Show original": "Show original", + Website: "Website", + "Hide untrusted notes": "Hide untrusted notes", + "Open in another client": "Open in another client", + Community: "Community", + Group: "Group", + "Live event": "Live event", + Article: "Article", + Unfavorite: "Unfavorite", + "Recommended relays": "Recommended relays", + "Show recommended relays panel": "Show recommended relays panel", + "Display the right-side panel with recommended relays on desktop": "Display the right-side panel with recommended relays on desktop", + "Blossom server URLs": "Blossom server URLs", + "You need to add at least one blossom server in order to upload media files.": "You need to add at least one blossom server in order to upload media files.", + "Recommended blossom servers": "Recommended blossom servers", + "Enter Blossom server URL": "Enter Blossom server URL", + Preferred: "Preferred", + "Multiple choice (select one or more)": "Multiple choice (select one or more)", + Vote: "Vote", + "{{number}} votes": "{{number}} votes", + "Total votes": "Total votes", + "Poll has ended": "Poll has ended", + "Poll ends at {{time}}": "Poll ends at {{time}}", + "Load results": "Load results", + "This is a poll note.": "This is a poll note.", + "Unlike regular notes, polls are not widely supported and may not display on other clients.": "Unlike regular notes, polls are not widely supported and may not display on other clients.", + "Option {{number}}": "Option {{number}}", + "Add Option": "Add Option", + "Remove option": "Remove option", + "Close highlight editor": "Close highlight editor", + "Allow multiple choices": "Allow multiple choices", + "End Date (optional)": "End Date (optional)", + "Clear end date": "Clear end date", + "Relay URLs (optional, comma-separated)": "Relay URLs (optional, comma-separated)", + "Remove poll": "Remove poll", + "Refresh results": "Refresh results", + "{{votes}} · {{pct}}%": "{{votes}} · {{pct}}%", + "See results": "See results", + "Zap poll (paid votes)": "Zap poll (paid votes)", + "Invalid zap poll": "Invalid zap poll", + "You voted on this poll (zap receipt)": "You voted on this poll (zap receipt)", + "Poll closed {{time}}": "Poll closed {{time}}", + "Closes {{time}}": "Closes {{time}}", + "Vote size": "Vote size", + "{{n}} sats (fixed)": "{{n}} sats (fixed)", + "{{min}}–{{max}} sats": "{{min}}–{{max}} sats", + "≥ {{n}} sats": "≥ {{n}} sats", + "≤ {{n}} sats": "≤ {{n}} sats", + "Loading tally…": "Loading tally…", + "Zap poll no votes yet": "No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).", + "Consensus threshold": "Consensus threshold", + "Pay to": "Pay to", + Recipient: "Recipient", + Option: "Option", + "Select option": "Select option", + "Select an option": "Select an option", + "Vote with zap": "Vote with zap", + "Zap sent": "Zap sent", + "Zapping…": "Zapping…", + "Refresh tally": "Refresh tally", + "{{n}} zaps": "{{n}} zaps", + Poll: "Poll", + Media: "Media", + "Articles and Publications": "Articles and Publications", + "Search articles...": "Search articles...", + "Refreshing articles...": "Refreshing articles...", + "No articles or publications found": "No articles or publications found", + "No articles or publications match your search": "No articles or publications match your search", + "articles and publications": "articles and publications", + Interests: "Interests", + Favorites: "Favorites", + Calendar: "Calendar", + "No subscribed interests yet.": "No subscribed interests yet. Add topics in settings to see them here.", + "No bookmarked notes with id tags yet.": "No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.", + "No follows or relays to load yet.": "No follows or relays to load yet.", + "No favorites yet.": "No favorites yet. Add follows, follow sets, interests, or bookmarks.", + "Added from interests": "Added from interests", + "Added from bookmarks list": "Added from bookmarks list", + "Added from your web bookmarks": "Added from your web bookmarks", + "Added from follows and contact lists": "Added from follows and contact lists", + "Added from follows web bookmarks": "Added from follows web bookmarks", + "Nothing to load for this feed.": "Nothing to load for this feed.", + "No posts loaded for this feed. Try refreshing.": "No posts loaded for this feed. Try refreshing.", + "Looking for more events…": "Looking for more events…", + "Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.": "Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.", + "Per-relay timeline results ({{count}} connections)": "Per-relay timeline results ({{count}} connections)", + "Republish to ...": "Republish to ...", + "All available relays": "All available relays", + "All active relays (monitoring list)": "All active relays (monitoring list)", + "Successfully republish to all available relays": "Successfully republish to all available relays", + "Failed to republish to all available relays: {{error}}": "Failed to republish to all available relays: {{error}}", + "Successfully republish to all active relays": "Successfully republish to all active relays", + "Failed to republish to all active relays: {{error}}": "Failed to republish to all active relays: {{error}}", + "No active relays in monitoring list": "No active relays in monitoring list", + "No relay accepted the event": "No relay accepted the event", + "No relays available": "No relays available", + "No write relays configured": "No write relays configured", + "Relay did not accept the event": "Relay did not accept the event", + "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".": "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".", + "Successfully republish to your write relays": "Successfully republish to your write relays", + "Failed to republish to your write relays: {{error}}": "Failed to republish to your write relays: {{error}}", + "Successfully republish to relay set: {{name}}": "Successfully republish to relay set: {{name}}", + "Failed to republish to relay set: {{name}}. Error: {{error}}": "Failed to republish to relay set: {{name}}. Error: {{error}}", + "Successfully republish to relay: {{url}}": "Successfully republish to relay: {{url}}", + "Failed to republish to relay: {{url}}. Error: {{error}}": "Failed to republish to relay: {{url}}. Error: {{error}}", + "Write relays": "Write relays", + "No more reactions": "No more reactions", + "No reactions yet": "No reactions yet", + "No more zaps": "No more zaps", + "No zaps yet": "No zaps yet", + "No more boosts": "No more boosts", + "No boosts yet": "No boosts yet", + "n more boosts": "{{count}} more boosts", + FollowListNotFoundConfirmation: "Follow list not found. Do you want to create a new one? If you have followed users before, please DO NOT confirm as this operation will cause you to lose your previous follow list.", + MuteListNotFoundConfirmation: "Mute list not found. Do you want to create a new one? If you have muted users before, please DO NOT confirm as this operation will cause you to lose your previous mute list.", + "Show NSFW content by default": "Show NSFW content by default", + "Custom emoji management": "Custom emoji management", + "After changing emojis, you may need to refresh the page": "After changing emojis, you may need to refresh the page", + "Too many read relays": "Too many read relays", + "Too many write relays": "Too many write relays", + "You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.": "You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.", + "You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.": "You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.", + "Optimize Relay Settings": "Optimize Relay Settings", + "Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.": "Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.", + "Optimize Now": "Optimize Now", + "Maybe Later": "Maybe Later", + "Don't remind me again": "Don't remind me again", + Posts: "Posts", + "Posts (OPs)": "Posts (OPs)", + "Kind 1 replies": "Kind 1 replies", + Comments: "Comments", + "Replies & comments": "Replies & comments", + Articles: "Articles", + Highlights: "Highlights", + "A note from": "A note from", + Polls: "Polls", + "Zap polls": "Zap polls", + "Voice Posts": "Voice Posts", + "Photo Posts": "Photo Posts", + "Video Posts": "Video Posts", + "Git repositories": "Git repositories", + "Git issues": "Git issues", + "Git releases": "Git releases", + "Git Republic repository": "Git Republic repository", + "Git Republic issue": "Git Republic issue", + "Git Republic release": "Git Republic release", + "Git Republic event": "Git Republic event", + "Git Republic": "Git Republic", + "Open in Git Republic": "Open in Git Republic", + "Pre-release": "Pre-release", + Draft: "Draft", + "Repository release": "Repository release", + "New Repository Release": "New Repository Release", + "Release notes use the editor below (optional).": "Release notes use the editor below (optional).", + "Repository owner (npub or hex)": "Repository owner (npub or hex)", + "Repository id (d-tag)": "Repository id (d-tag)", + "Git tag name": "Git tag name", + "Tag target (40-char commit hash)": "Tag target (40-character commit hash)", + "40-character hex SHA-1": "40-character hex SHA-1", + "Release title": "Release title", + "Download URL": "Download URL", + "Draft release": "Draft release", + "Fill repository release fields": "Fill in all required repository release fields.", + "Invalid repository owner pubkey": "Invalid repository owner (use npub or 64-char hex).", + "Citations require private relays (NIP-65).": "Citations require private outbox relays (NIP-65).", + "Select All": "Select All", + "Clear All": "Clear All", + "Set as default filter": "Set as default filter", + "Use filter": "Use filter", + "See all events": "See all events", + "See all events hint": "Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.", + "Use filter hint": "Only the kinds you select below are requested and shown.", + "Advanced event lab": "Advanced editor", + "Advanced lab applyError": "Editor is not ready. Try again.", + "Advanced lab cancel undo": "Cancel and Undo Changes", + "Advanced lab undo checkpoint": "Restore checkpoint", + "Advanced lab undo checkpoint hint": "About every 30 seconds this tab saves the editor (kind, body, tags) in session storage, up to 10 versions. Use this after a translation or bulk edit you want to roll back.", + "Advanced lab undo checkpoint none": "No older checkpoint to restore.", + "Advanced lab undo checkpoint restored": "Editor restored to a saved checkpoint.", + "Advanced lab markup label markdown": "Markdown", + "Advanced lab markup label asciidoc": "AsciiDoc", + "Advanced lab preview": "Preview", + "Advanced lab preview empty": "Nothing to preview yet.", + "Advanced lab markup placeholder markdown": "Note body (Markdown)", + "Advanced lab markup placeholder asciidoc": "Note body (AsciiDoc)", + "Advanced lab tags JSON": "Kind, content, and tags (JSON)", + "Advanced lab json placeholder": "{ \"kind\": 1, \"content\": \"…\", \"tags\": [] }", + "Advanced lab grammar language": "Grammar check language", + "Advanced lab translate": "Translate body", + "Advanced lab translation source": "Source language", + "Advanced lab translation source auto": "Detect automatically", + "Advanced lab translation target": "Target language", + "Advanced lab translation languages loading": "Loading languages from translate service…", + "Advanced lab translation languages empty": "Translate service returned no languages (check Docker / LibreTranslate).", + "Advanced lab translation languages error": "Could not load languages from the translate service.", + "Advanced lab translation same source target": "Source and target language must differ.", + "Show original text": "Show original text", + "Showing original note text": "Showing original text for this note.", + "Translate note": "Translate note", + "Translating note…": "Translating note…", + "Note translated": "Translated to {{language}}.", + "Note translation failed": "Translation failed: {{message}}", + "Read-aloud Piper English voice fallback title": "English voice in use", + "Read-aloud Piper English voice fallback detail": "Piper has no voice model for {{language}}. This session uses the English Piper voice instead; pronunciation may not match the written text.", + "Advanced lab translate not configured": "Translation URL is not set (VITE_TRANSLATE_URL).", + "Advanced lab translate done": "Translation inserted into the editor.", + "Advanced lab use translation read aloud": "Use body for read-aloud (this note)", + "Advanced lab read aloud buffer set": "The next read-aloud for this note will use the current body text (translated if you translated first).", + "Composer JSON tab hint": "Edit the draft as JSON (`kind`, `content`, `tags` only). `kind` must match the note type selected above. Other fields are set when you publish.", + "Composer JSON apply": "Apply JSON", + composerJsonKindMismatch: "JSON kind {{got}} does not match the composer (expected {{expected}}). Change the note type or fix `kind` in JSON.", + composerJsonApplySuccess: "Draft updated from JSON.", + "Advanced lab tb markup tools": "Markup helpers", + "Advanced lab tb headings": "Headings", + "Advanced lab tb headings hint": "Inserts at the cursor; adjust spacing if needed.", + "Advanced lab tb heading placeholder": "Title", + "Advanced lab tb h1": "Heading 1 (#)", + "Advanced lab tb h2": "Heading 2 (##)", + "Advanced lab tb h3": "Heading 3 (###)", + "Advanced lab tb h4": "Heading 4 (####)", + "Advanced lab tb h5": "Heading 5 (#####)", + "Advanced lab tb h6": "Heading 6 (######)", + "Advanced lab tb setextH1": "Setext heading 1 (title + ===)", + "Advanced lab tb setextH2": "Setext heading 2 (title + ---)", + "Advanced lab tb horizontalRule": "Horizontal rule (---)", + "Advanced lab tb horizontalRules": "Horizontal rules", + "Advanced lab tb hrDashes": "Dashes (---)", + "Advanced lab tb hrAsterisks": "Asterisks (***)", + "Advanced lab tb hrUnderscores": "Underscores (___)", + "Advanced lab tb inline": "Inline", + "Advanced lab tb bold": "Bold (** **)", + "Advanced lab tb boldUnderscore": "Bold (__ __)", + "Advanced lab tb italic": "Italic (* *)", + "Advanced lab tb italicUnderscore": "Italic (_ _)", + "Advanced lab tb strike": "Strikethrough (~~ ~~)", + "Advanced lab tb inlineCode": "Inline code (` `)", + "Advanced lab tb link": "Link [text](url)", + "Advanced lab tb linkTitled": "Link with title [text](url \"title\")", + "Advanced lab tb image": "Image ![alt](url)", + "Advanced lab tb imageTitled": "Image with title ![alt](url \"title\")", + "Advanced lab tb hardBreak": "Hard line break (two spaces + newline)", + "Advanced lab tb citations": "Citations (NIP-32)", + "Advanced lab tb citationsHint": "Kinds 30–33. Inserts `[[citation::type::nevent…]]` (Markdown & AsciiDoc).", + "Advanced lab citation dialog title": "Insert citation", + "Advanced lab citation dialog hint": "Search for NIP-32 citation events (internal, external, hardcopy, prompt), then pick one.", + "Advanced lab citation search placeholder": "Search kinds 30–33…", + "Advanced lab citation none": "No citation events found", + "Advanced lab citation kindLabel": "Kind {{kind}}", + "Advanced lab citation type inline": "Inline citation", + "Advanced lab citation type quote": "Block quote citation", + "Advanced lab citation type end": "Endnote citation", + "Advanced lab citation type foot": "Footnote call", + "Advanced lab citation type footEnd": "Footnote + end", + "Advanced lab citation type promptInline": "Prompt (inline)", + "Advanced lab citation type promptEnd": "Prompt (end)", + "Advanced lab tb lists": "Lists", + "Advanced lab tb bulletList": "Bullet list (-)", + "Advanced lab tb bulletListStar": "Bullet list (*)", + "Advanced lab tb orderedList": "Numbered list (1.)", + "Advanced lab tb orderedListStart": "Numbered list (custom start, e.g. 4.)", + "Advanced lab tb taskItem": "Task item (- [ ])", + "Advanced lab tb blocks": "Blocks", + "Advanced lab tb blockquote": "Blockquote (>)", + "Advanced lab tb pipeTable": "Pipe table (3×2 starter)", + "Advanced lab tb footnoteRef": "Footnote reference [^1]", + "Advanced lab tb footnoteDef": "Footnote definition [^1]: …", + "Advanced lab tb codeBlock": "Code block", + "Advanced lab tb codeBlockHint": "Pick a language for syntax highlighting in fenced code.", + "Advanced lab tb filterLanguages": "Filter languages…", + "Advanced lab tb math": "Math (KaTeX)", + "Advanced lab tb mathIntro": "Many readers render $…$ / $$…$$ with KaTeX; check your client.", + "Advanced lab tb mathInline": "Inline math ($…$)", + "Advanced lab tb mathDisplay": "Display math ($$…$$)", + "Advanced lab tb mathCommon": "Common formulas", + "Advanced lab tb katexFrac": "Fraction \\frac{a}{b}", + "Advanced lab tb katexSqrt": "Square root \\sqrt{x}", + "Advanced lab tb katexSum": "Sum \\sum_{i=1}^{n}", + "Advanced lab tb katexInt": "Integral \\int_a^b", + "Advanced lab tb katexMatrix": "2×2 matrix (pmatrix)", + "Advanced lab tb katexCases": "Cases (piecewise)", + "Advanced lab tb mathGreek": "Greek & symbols", + "Advanced lab tb greekAlpha": "alpha", + "Advanced lab tb greekBeta": "beta", + "Advanced lab tb greekGamma": "gamma", + "Advanced lab tb greekDelta": "delta", + "Advanced lab tb greekPi": "pi", + "Advanced lab tb greekTheta": "theta", + "Advanced lab tb greekLambda": "lambda", + "Advanced lab tb greekSigma": "sigma", + "Advanced lab tb greekOmega": "omega", + "Advanced lab tb greekInfty": "infinity", + "Advanced lab tb hrTitle": "Horizontal rule", + "Advanced lab tb adocTitles": "Titles", + "Advanced lab tb adocTitlesHint": "Document header: no empty lines inside the header; the first blank line ends it (https://docs.asciidoctor.org/asciidoc/latest/document/header/).", + "Advanced lab tb documentTitle": "Document title", + "Advanced lab tb sectionTitle": "Section title", + "Advanced lab tb adocLevel0": "Document title (=)", + "Advanced lab tb adocLevel0WithHeader": "Minimal header (title, author, revision, description, keywords, first section)", + "Advanced lab tb adocHeaderAuthorLine": "Author Name ", + "Advanced lab tb adocHeaderRevisionLine": "1.0, 2026-04-15: Draft revision", + "Advanced lab tb adocHeaderAttrsBlock": ":description: Short document summary for metadata\n:keywords: keyword-one, keyword-two, keyword-three", + "Advanced lab tb adocSection1": "Section (==)", + "Advanced lab tb adocSection2": "Subsection (===)", + "Advanced lab tb adocSection3": "Subsubsection (====)", + "Advanced lab tb adocSection4": "Level 5 (=====)", + "Advanced lab tb adocSection5": "Level 6 (======)", + "Advanced lab tb adocBold": "Bold (*bold*)", + "Advanced lab tb adocItalic": "Italic (_italic_)", + "Advanced lab tb adocMono": "Monospace (`mono`)", + "Advanced lab tb adocLink": "Link (link:url[text])", + "Advanced lab tb adocImage": "Image (image::url[alt])", + "Advanced lab tb adocUnordered": "Unordered (* item)", + "Advanced lab tb adocOrdered": "Ordered (. item)", + "Advanced lab tb adocLabeled": "Labeled list (term:: def)", + "Advanced lab tb adocBlocks": "Blocks", + "Advanced lab tb adocQuote": "Quote block (____)", + "Advanced lab tb adocLiteral": "Literal block (....)", + "Advanced lab tb adocNote": "NOTE admonition", + "Advanced lab tb adocTip": "TIP admonition", + "Advanced lab tb adocWarning": "WARNING admonition", + "Advanced lab tb adocSource": "Source / listing", + "Advanced lab tb adocSourceHint": "Inserts a [source,lang] block; replace the sample code.", + "Advanced lab tb adocStem": "STEM / LaTeX", + "Advanced lab tb adocStemHint": "Imwald runs Asciidoctor with stem: latexmath; math becomes \\(...\\) / \\[...\\] and is drawn with KaTeX (not MathJax).", + "Advanced lab tb adocStemInline": "Inline stem:[…]", + "Advanced lab tb adocLatexmathInline": "Inline latexmath:[…]", + "Advanced lab tb adocStemBlock": "Display math ([stem] +++ … +++++)", + "Advanced lab tb adocLineBreak": "Hard line break (space + at line end)", + "Advanced lab tb adocSubscript": "Subscript (~text~)", + "Advanced lab tb adocSuperscript": "Superscript (^text^)", + "Advanced lab tb adocPassthrough": "Inline passthrough (+++ … +++)", + "Advanced lab tb adocFootnote": "Footnote (footnote:[…])", + "Advanced lab tb adocImportant": "IMPORTANT admonition", + "Advanced lab tb adocCaution": "CAUTION admonition", + "Advanced lab tb adocExampleBlock": "Example block ([example])", + "Advanced lab tb adocSidebar": "Sidebar (**** … ****)", + "Advanced lab tb adocListing": "Listing block ([listing] + ----)", + "Advanced lab tb adocOpenBlock": "Open block (-- … --)", + "Advanced lab tb adocStructure": "Structure & media", + "Advanced lab tb adocStructureHint": "Tables, IDs/anchors ([#id] before a block—avoids [[wikilink]] syntax), cross-refs, media (Asciidoctor block macros).", + "Advanced lab tb adocTable": "Table (|=== …)", + "Advanced lab tb adocAnchor": "Block or section ID ([#id])", + "Advanced lab tb adocXref": "Cross reference (<>)", + "Advanced lab tb adocVideo": "Video (video::url[])", + "Advanced lab tb adocAudio": "Audio (audio::url[])", + "Advanced lab tb adocOrderedStart": "Ordered list with [start=n]", + "Advanced lab tb adocComment": "Line comment (//)", + "Advanced lab tb adockbd": "Keyboard (kbd:[…])", + "Advanced lab tb adocMenu": "Menu path (menu:…)", + "Advanced lab tb adocBtn": "Button (btn:[…])", + "Advanced lab tb adocHrTitle": "Thematic break (''')", + Apply: "Apply", + Reset: "Reset", + "Share something on this Relay": "Share something on this Relay", + "Try deleting this note": "Try deleting this note", + "Deletion request sent to {{count}} relays": "Deletion request sent to {{count}} relays", + "Suitable Relays": "Suitable Relays", + "People, keywords, or relays": "People, keywords, or relays", + "Hide content mentioning muted users": "Hide content mentioning muted users", + "This note mentions a user you muted": "This note mentions a user you muted", + Filter: "Filter", + "Feed filter": "Feed filter", + "Search loaded posts": "Search loaded posts", + "Filter loaded posts placeholder": "Filter by text in content or tags…", + "Feed filter author": "Author", + "Feed filter author everyone": "From everyone", + "Feed filter author me": "Only from me", + "Feed filter author npub": "From user (npub or hex)", + "Feed filter author npub from prefix": "from:", + "Feed filter author npub placeholder": "npub1… or 64-char hex", + "Feed filter author me needs login": "Log in to filter by your pubkey", + "Within the last": "Within the last", + "Time unit": "Time unit", + Minutes: "Minutes", + Days: "Days", + Weeks: "Weeks", + Months: "Months", + Years: "Years", + "Feed filter client-side hint": "Filters only apply to posts already loaded; relays are not queried again.", + "Feed full search": "Perform full search", + "Feed full search running": "Searching…", + "Feed full search clear": "Clear", + "Feed full search active hint": "Showing relay search results. Clear to return to the live feed.", + "Feed full search need constraint": "Add search text, an author filter, or a time range before searching relays.", + "Feed full search invalid feed": "This feed cannot run a relay search.", + "Feed full search failed": "Relay search failed. Try again.", + "Feed full search empty": "No matching posts were found on the queried relays.", + "No loaded posts match your filters.": "No loaded posts match your filters.", + "mentioned you in a note": "mentioned you in a note", + "quoted your note": "quoted your note", + "quoted this note": "Quoted this note", + "highlighted this note": "Highlighted this note", + "cited in article": "Cited in article", + "Thread backlinks heading": "Also quoting this note", + "Thread backlinks primary section": "Quotes, highlights & citations", + "Thread backlinks bookmarks section": "Bookmarks", + "Thread backlinks lists section": "Lists & collections", + "View full note and thread": "View full note and thread", + "labeled this note": "Labeled this note", + "reported this note": "Reported this note", + "bookmarked this note": "Bookmarked this note", + "pinned this note": "Pinned this note", + "listed this note": "Listed this note", + "bookmark set reference": "Bookmark set includes this note", + "curated this note": "Curated this note", + "badge award for this note": "Badge award for this note", + "referenced this note": "Referenced this note", + "Report events heading": "Moderation reports", + "voted in your poll": "voted in your poll", + "reacted to your note": "reacted to your note", + "boosted your note": "boosted your note", + "zapped your note": "zapped your note", + "zapped you": "zapped you", + zapped: "zapped", + "Invalid zap receipt": "Invalid zap receipt", + "Zapped note": "Zapped note", + "Zapped profile": "Zapped profile", + "Zap reply threshold": "Zap reply threshold", + "Zaps above this amount will appear as replies in threads": "Only zap receipts (kind 9735) with at least this many sats are shown in home and relay feeds (with “Zaps” enabled in the kind filter) and listed under notes as zap replies.", + "Mark as read": "Mark as read", + Report: "Report", + "Successfully report": "Successfully reported", + "Failed to report": "Failed to report", + nudity: "Nudity", + malware: "Malware", + profanity: "Profanity", + illegal: "Illegal content", + spam: "Spam", + other: "Other", + "Notification list style": "Notification list style", + "See extra info for each notification": "See extra info for each notification", + "See more notifications at a glance": "See more notifications at a glance", + Detailed: "Detailed", + "Submit Relay": "Submit Relay", + Homepage: "Homepage", + "Proof of Work (difficulty {{minPow}})": "Proof of Work (difficulty {{minPow}})", + "via {{client}}": "via {{client}}", + "Auto-load media": "Auto-load media", + Always: "Always", + "Wi-Fi only": "Wi-Fi only", + Never: "Never", + "Click to load image": "Click to load image", + "Click to load media": "Click to load media", + "Click to load YouTube video": "Click to load YouTube video", + "{{count}} reviews": "{{count}} reviews", + "Write a review": "Write a review", + "No reviews yet. Be the first to write one!": "No reviews yet. Be the first to write one!", + "View more reviews": "View more reviews", + "Failed to review": "Failed to review", + "Write a review and pick a star rating": "Write a review and pick a star rating", + Submit: "Submit", + "Reviews for {{relay}}": "Reviews for {{relay}}", + "No relays selected": "No relays selected", + "Post to": "Post to", + "Write relays and {{count}} other relays": "Write relays and {{count}} other relays", + "{{count}} relays": "{{count}} relays", + "Republishing...": "Republishing...", + "Trending Notes": "Trending Notes", + "Trending on Your Favorite Relays": "Trending on Your Favorite Relays", + "Trending on the Default Relays": "Trending on the Default Relays", + "Latest from your follows": "Latest from your follows", + "Latest from our recommended follows": "Latest from our recommended follows", + "Search page title": "Search Nostr", + "Follows latest page title": "Latest from follows", + "Follows latest page description": "Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.", + "Follows latest nav label": "Follows latest", + "Loading follow list…": "Loading follow list…", + "Could not load recommended follows": "Could not load recommended follows", + "Your follow list is empty": "Your follow list is empty", + "Loading recent posts from follows…": "Loading recent posts from follows…", + "Loading more…": "Loading more…", + "No recent posts from this user in the current fetch": "No recent posts from this user in the current fetch", + "Loading trending notes from your relays...": "Loading trending notes from your relays...", + "Trending on Nostr": "Trending on Nostr", + "Home trending slice notice": "This feed includes a trending slice (nostrarchives). Notes that reached you from that relay show “Trending on Nostr” under the card.", + Sort: "Sort", + newest: "newest", + oldest: "oldest", + "most popular": "most popular", + "least popular": "least popular", + "Connected to": "Connected to", + "Disconnect Wallet": "Disconnect Wallet", + "Are you absolutely sure?": "Are you absolutely sure?", + "You will not be able to send zaps to others.": "You will not be able to send zaps to others.", + Disconnect: "Disconnect", + "Set up your wallet to send and receive sats!": "Set up your wallet to send and receive sats!", + "Set up": "Set up", + "nested events": "nested events", + "Loading RSS feeds...": "Loading RSS feeds...", + "No RSS feed items available": "No RSS feed items available", + "Show or hide the RSS page and sidebar entry": "Show or hide the RSS page and sidebar entry", + "Refreshing feeds...": "Refreshing feeds...", + "All feeds": "All feeds", + "All time": "All time", + "Last hour": "Last hour", + "Last day": "Last day", + "Last week": "Last week", + "Last month": "Last month", + "Last 24 hours": "Last 24 hours", + "Last 48 hours": "Last 48 hours", + "Time range": "Time range", + "Filter by RSS source": "Filter by RSS source", + "No items match your filters": "No items match your filters", + "Search...": "Search...", + "{{count}} feeds": "{{count}} feeds", + "Toggle filters": "Toggle filters", + "Showing {{filtered}} of {{total}} items": "Showing {{filtered}} of {{total}} items", + Full: "Full", + Compact: "Compact", + Expand: "Expand", + "help.title": "Help", + "help.tabShortcuts": "Keyboard shortcuts", + "help.tabOverview": "App overview", + "shortcuts.title": "Keyboard shortcuts", + "shortcuts.intro": "Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.", + "shortcuts.sectionApp": "This app", + "shortcuts.sectionSearch": "Search bar", + "shortcuts.sectionStandard": "Standard", + "shortcuts.openHelp": "Show this help", + "shortcuts.or": "or", + "shortcuts.then": "then", + "shortcuts.focusPrimary": "Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)", + "shortcuts.focusSecondary": "Focus side panel scroll when it is open (desktop; same keys to scroll)", + "shortcuts.newNote": "New note / post (after login if needed)", + "shortcuts.searchSuggest": "Move through suggestions", + "shortcuts.searchDismiss": "Close search dropdown", + "shortcuts.tabNavigate": "Move focus to the next or previous control", + "shortcuts.activate": "Activate buttons and many controls", + "shortcuts.closeOverlays": "Close dialogs, menus, and the search dropdown", + "shortcuts.scrollWhenFocused": "Scroll the focused scrollable area", + "shortcuts.browserBack": "Browser back (history)", + "No spells yet. Create one with the button above.": "No spells yet. Create one with the button above.", + "Loading spells from your relays…": "Loading spells from your relays…", + "Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.": "Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.", + "Select a spell…": "Select a spell…", + "Spells from follows": "From people you follow ({{count}})", + "Other spells": "Other spells ({{count}})", + "Select a spell to view its feed.": "Select a spell to view its feed.", + "Add another row": "Add another row", + "Remove this row": "Remove this row", + "One kind number per row (e.g. 1 for notes).": "One kind number per row (e.g. 1 for notes).", + "One author per row: $me, $contacts, or hex pubkey / npub.": "One author per row: $me, $contacts, or hex pubkey / npub.", + "One hex event id per row.": "One hex event id per row.", + "One wss:// URL per row. Leave empty to use your write relays.": "One wss:// URL per row. Leave empty to use your write relays.", + "One topic per row.": "One topic per row.", + topic: "topic", + "Spell form fields": "Spell form fields", + "Counting matching events…": "Counting matching events…", + "Edit spell": "Edit spell", + "Clone spell": "Clone spell", + "Spell cloned": "Spell cloned", + "Clone spell intro": "This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.", + "Spell updated": "Spell updated", + "Relay URL": "Relay", + Count: "Count", + "Edit spell relays": "Edit relays", + "COUNT spell relay errors hint": "One or more relays failed or returned an error. You can change the relay list in the spell and save again.", + "COUNT spell total distinct explanation": "Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.", + "Leave empty to use your write relays.": "Leave empty to use your write relays.", + "COUNT spell result explanation": "Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.", + "COUNT spell may be capped by limit": "This count may equal your spell limit — there could be more matching events on the network.", + "Spell count failed. Check relays or try again.": "Could not complete the count. Check relays or try again.", + "REQ returns a feed; COUNT returns a number.": "REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.", + listImportManualLabel: "Pre-fill from event", + listImportFromEventHint: "Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.", + listImportManualPlaceholder: "64-char hex, nevent1…, or naddr1…", + listImportLoadManual: "Apply", + listImportContentSkipped: "This event has non-empty content (may include encrypted private items). Only public tags were merged.", + listImportUnsupportedEmoji: "This list includes emoji tags (NIP-30); those are not added to the spell filter.", + listImportUnsupportedTag: "Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.", + listImportBadATag: "Could not parse address tag: {{preview}}…", + listImportATagNotFound: "Could not resolve address tag: {{preview}}…", + listImportATagFailed: "Failed to resolve address tag: {{preview}}…", + listImportEventNotFound: "No event found for that reference.", + "REQ tag filters": "REQ tag filters", + spellFormTagFiltersLabel: "Tag filters on matching events", + spellCreateIntro: "Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.", + spellFormSectionQueryTitle: "Spell query", + spellFormSectionQueryHint: "This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).", + spellFormSectionMetadataTitle: "Listing & labels (optional)", + spellFormSectionMetadataBadge: "Not part of the query", + spellFormSectionMetadataHint: "Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.", + spellFormCatalogTopicsLabel: "Topic labels on this spell (t tags)", + spellTopicsMetadataHint: "One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).", + spellTagFiltersHint: "Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.", + spellTagFiltersEmpty: "No tag filters yet. Add rows below or apply an event reference above.", + "Tag filter letter": "Tag letter", + "Filter value": "Value", + "Add tag filter": "Add tag filter", + spellPickerSectionYours: "Your spells", + "Failed to remove spell from local storage": "Failed to remove spell from local storage", + Spells: "Spells", + "doublePane.secondaryEmpty": "Open a note, profile, or settings item to show it here.", + "doublePane.secondaryEmptyHint": "Your feed and primary pages stay on the left.", + "(empty)": "—", + "12-hour (AM/PM)": "12-hour (AM/PM)", + "24-hour": "24-hour", + "A new version is available": "A new version is available", + "A short description of the article content": "A short description of the article content", + AM: "AM", + "Access via": "Access via", + "Accessed On": "Accessed on", + "Accessed on": "Accessed on", + "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.": "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.", + "Add a relay to block": "Add a relay to block", + "Add at least one invitee": "Add at least one invitee", + "Add client identifier": "Add client identifier", + "Add expiration tags by default": "Add expiration tags by default", + "Add quiet tags by default": "Add quiet tags by default", + "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above": "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above", + "Add the source (where this text is from)": "Add the source (where this text is from)", + "Add to favorites": "Add to favorites", + "Add {{count}} Selected": "Add {{count}} Selected", + "Added at": "Added at", + "Added {{count}} relay(s)": "Added {{count}} relay(s)", + "Adding...": "Adding...", + "Adding…": "Adding…", + "Advanced Options": "Advanced Options", + "All Topics": "All Topics", + "All feeds from OPML file are already added": "All feeds from OPML file are already added", + "All items deleted successfully": "All items deleted successfully", + "Already blocked": "Already blocked", + "Already saved": "Already saved", + "Application Recommendations": "Application Recommendations", + "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.": "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.", + "Are you sure you want to delete all items from this store?": "Are you sure you want to delete all items from this store?", + "Are you sure you want to unmute this user? This will restore the follow button.": "Are you sure you want to unmute this user? This will restore the follow button.", + "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", + "Article exported as AsciiDoc": "Article exported as AsciiDoc", + "Article exported as Markdown": "Article exported as Markdown", + "Article title (optional)": "Article title (optional)", + articleDTagDefaultHint: "Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….", + Audio: "Audio", + Author: "Author", + "Author is required for reading groups": "Author is required for reading groups", + "Author name (optional)": "Author name (optional)", + Authors: "Authors", + "Block Relay": "Block Relay", + "Blocked Relays": "Blocked Relays", + "Blocking...": "Blocking...", + Blossom: "Blossom", + Book: "Book", + "Brief description of the event": "Brief description of the event", + "Brief summary (optional)": "Brief summary (optional)", + "Brief summary of the article (optional)": "Brief summary of the article (optional)", + "Browse Cache": "Browse Cache", + "Search cached events...": "Search cached events...", + "No cached events match your search.": "No cached events match your search.", + "Showing first {{count}} cached event matches.": "Showing first {{count}} cached event matches.", + "Open in store": "Open in store", + "Browse cache root description": "View IndexedDB stores, or search all cached Nostr-like events (content, tags, id, pubkey, kind) across stores.", + "Copy event JSON": "Copy event JSON", + "C-Tag": "C-Tag", + "Cache Relays": "Cache Relays", + "Cache cleared successfully": "Cache cleared successfully", + "Cache refreshed successfully": "Cache refreshed successfully", + "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.": "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.", + "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)": "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)", + "Cache relays saved": "Cache relays saved", + Cancelled: "Cancelled", + Chapter: "Chapter", + "Chapter Title": "Chapter Title", + "Chapter title (optional)": "Chapter title (optional)", + Citation: "Citation", + "Citation title (optional)": "Citation title (optional)", + "Clean up duplicate replaceable events? This will keep only the newest version of each event.": "Clean up duplicate replaceable events? This will keep only the newest version of each event.", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}}": "Cleaned up {{deleted}} duplicate entries, kept {{kept}}", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})": "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})", + "Cleanup Duplicates": "Cleanup Duplicates", + Clear: "Clear", + "Clear Cache": "Clear Cache", + "Clear Service Worker": "Clear Service Worker", + "Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.": "Clear cached data stored in your browser, including IndexedDB events, read-aloud (Piper) audio cache, localStorage settings, and service worker caches.", + "Click update to get the latest features and improvements": "Click update to get the latest features and improvements", + Close: "Close", + "Comma or space-separated topics (will be added as t-tags)": "Comma or space-separated topics (will be added as t-tags)", + Command: "Command", + Configure: "Configure", + "Connect Wallet": "Connect Wallet", + "Console Logs": "Console Logs", + "Console logs cleared": "Console logs cleared", + "Content is required": "Content is required", + "Content must be 5000 characters or less": "Content must be 5000 characters or less", + Controversial: "Controversial", + "Copied!": "Copied!", + "Copy to clipboard": "Copy to clipboard", + "Create Article": "Create Article", + "Create Citation": "Create Citation", + "Create Highlight": "Create Highlight", + "Create New Thread": "Create New Thread", + "Create Poll": "Create Poll", + "Create Thread": "Create Thread", + composeModeKind1: "Short note (kind 1) — turn off other compose types", + "Create a Spell": "Create a Spell", + "Creating...": "Creating...", + "D-Tag": "D-Tag", + "D-Tag is required for articles": "D-Tag is required for articles", + DOI: "DOI", + "Date-based (all-day)": "Date-based (all-day)", + "Default expiration (months)": "Default expiration (months)", + "Default quiet period (days)": "Default quiet period (days)", + "Delete All": "Delete All", + "Delete item": "Delete item", + "Deleted {{count}} event(s)": "Deleted {{count}} event(s)", + "Deletion request sent": "Deletion request sent", + "Description (content)": "Description (content)", + "Digital Object Identifier (optional)": "Digital Object Identifier (optional)", + "Disable word wrap": "Disable word wrap", + "Discovered Relays": "Discovered Relays", + "Discovering relays...": "Discovering relays...", + Discussion: "Discussion", + Discussions: "Discussions", + Downvote: "Downvote", + "Edited by": "Edited by", + Editor: "Editor", + "Editor name (optional)": "Editor name (optional)", + "Enable word wrap": "Enable word wrap", + "End date": "End date", + "End date must be after start date": "End date must be after start date", + "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.": "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.", + "Enter a descriptive title for your thread": "Enter a descriptive title for your thread", + "Enter the author name": "Enter the author name", + "Enter the book title": "Enter the book title", + "Enter the specific text you want to highlight in the main content area above": "Enter the specific text you want to highlight in the main content area above", + "Event IDs (ids)": "Event IDs (ids)", + "Event appears to be invalid or corrupted": "Event appears to be invalid or corrupted", + "Event has no value data": "Event has no value data", + "Event is missing required fields: {{fields}}": "Event is missing required fields: {{fields}}", + "Event type": "Event type", + "Expiration Tags": "Expiration Tags", + "Export OPML": "Export OPML", + "Export as AsciiDoc": "Export as AsciiDoc", + "Export as Markdown": "Export as Markdown", + "External Citation": "External Citation", + "External Citation Settings": "External Citation Settings", + "Failed to add relay. Please try again.": "Failed to add relay. Please try again.", + "Failed to add relays": "Failed to add relays", + "Failed to block relay. Please try again.": "Failed to block relay. Please try again.", + "Failed to cleanup duplicates": "Failed to cleanup duplicates", + "Failed to clear cache": "Failed to clear cache", + "Failed to copy": "Failed to copy", + "Failed to create relay set. Please try again.": "Failed to create relay set. Please try again.", + "Failed to create thread": "Failed to create thread", + "Failed to create thread. Please try a different relay.": "Failed to create thread. Please try a different relay.", + "Failed to delete all items": "Failed to delete all items", + "Failed to delete item": "Failed to delete item", + "Failed to discover relays": "Failed to discover relays", + "Failed to export OPML file": "Failed to export OPML file", + "Failed to export article": "Failed to export article", + "Failed to import OPML file: {{error}}": "Failed to import OPML file: {{error}}", + "Failed to load RSS feeds": "Failed to load RSS feeds", + "Failed to load store items": "Failed to load store items", + "Failed to mute user privately": "Failed to mute user privately", + "Failed to mute user publicly": "Failed to mute user publicly", + "Failed to pin note": "Failed to pin note", + "Failed to publish post": "Failed to publish post", + "Failed to publish reply": "Failed to publish reply", + "Failed to publish reaction": "Failed to publish reaction", + "Failed to publish thread": "Failed to publish thread", + "Failed to publish to some relays. Please try again or use different relays.": "Failed to publish to some relays. Please try again or use different relays.", + "Failed to save RSS feeds": "Failed to save RSS feeds", + "Failed to save cache relays": "Failed to save cache relays", + "Failed to save relay list": "Failed to save relay list", + "Failed to unregister service worker: ": "Failed to unregister service worker: ", + "Failed to unsubscribe from topic": "Failed to unsubscribe from topic", + Favorite: "Favorite", + Fetch: "Fetch", + "Fetch once, then stop.": "Fetch once, then stop.", + "Filter by": "Filter by", + "Flat View": "Flat View", + "Font size": "Font size", + "Full Quote/Context": "Full Quote/Context", + "Full-text search query": "Full-text search query", + Geohash: "Geohash", + "Geohash (optional)": "Geohash (optional)", + "Global quiet mode": "Global quiet mode", + "Group discussions by topic": "Group discussions by topic", + "Grouped View": "Grouped View", + Groups: "Groups", + "Handler {{index}}": "Handler {{index}}", + "Hardcopy Citation": "Hardcopy Citation", + "Hardcopy Citation Settings": "Hardcopy Citation Settings", + Hide: "Hide", + "Hide interactions on all posts": "Hide interactions on all posts", + "Hide interactions on posts with quiet tags": "Hide interactions on posts with quiet tags", + "High PoW": "High PoW", + "Higher values make your thread harder to mine but more unique.": "Higher values make your thread harder to mine but more unique.", + Highlight: "Highlight", + "Highlight Settings": "Highlight Settings", + "How to Create a Highlight (NIP-84)": "How to Create a Highlight (NIP-84)", + "Human-readable spell name": "Human-readable spell name", + "Image URL": "Image URL", + "Import OPML": "Import OPML", + "Imported {{count}} feed(s) from OPML file": "Imported {{count}} feed(s) from OPML file", + "In-Browser Cache": "In-Browser Cache", + Insert: "Insert", + "Insert URL into your post and publish to Nostr GIF library (NIP-94).": "Insert URL into your post and publish to Nostr GIF library (NIP-94).", + "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.": "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.", + "Insert event or address": "Insert event or address", + "Insert mention": "Insert mention", + "Internal Citation": "Internal Citation", + "Internal Citation Settings": "Internal Citation Settings", + "Invalid Event": "Invalid Event", + "Invalid Lightning Address": "Invalid Lightning Address", + "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.": "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.", + "Invalid URL": "Invalid URL", + "Invalid content JSON": "Invalid content JSON", + "Invalid relay URL": "Invalid relay URL", + "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.": "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.", + "Item deleted successfully": "Item deleted successfully", + JSON: "JSON", + "Join link": "Join link", + "Journal/Publication name (optional)": "Journal/Publication name (optional)", + Json: "JSON", + Kinds: "Kinds", + "Language Model": "Language Model", + Large: "Large", + "Leave empty for HiveTalk, or paste Zoom / Teams / other link": "Leave empty for HiveTalk, or paste Zoom / Teams / other link", + "Lightning payment failed": "Lightning payment failed", + Limit: "Limit", + "Live feed; keeps updating.": "Live feed; keeps updating.", + "Loading more...": "Loading more...", + "Loading relays...": "Loading relays...", + "Location (optional)": "Location (optional)", + "Log in to run this spell (it uses $me or $contacts).": "Log in to run this spell (it uses $me or $contacts).", + "Login failed": "Login failed", + "nip07.extensionKeyMismatch": "Your browser extension is using a different key on this tab. Switch to the matching key in the extension, or reload the page to apply your extension's current selection.", + "nip07.reloadPage": "Reload page", + "Login to configure RSS feeds": "Login to configure RSS feeds", + "Long-form Article": "Long-form Article", + "Mailbox relays saved": "Mailbox relays saved", + "Mark as NSFW": "Mark as NSFW", + "Maximum {{max}} invitees": "Maximum {{max}} invitees", + "Maximum {{max}} invitees allowed": "Maximum {{max}} invitees allowed", + Medium: "Medium", + Mode: "Mode", + "Most Zapped": "Most Zapped", + "Move to top": "Move to top", + "Multiple choice": "Multiple choice", + "Mute failed": "Mute failed", + NSFW: "NSFW", + Name: "Name", + "Name of the language model used": "Name of the language model used", + "New External Citation": "New External Citation", + "New Hardcopy Citation": "New Hardcopy Citation", + "New Highlight": "New Highlight", + "New Internal Citation": "New Internal Citation", + "New Long-form Article": "New Long-form Article", + "New Poll": "New Poll", + "New Discussion": "New Discussion", + "New Prompt Citation": "New Prompt Citation", + "New Public Message": "New Public Message", + "New Wiki Article": "New Wiki Article", + "New Wiki Article (Markdown)": "New Wiki Article (Markdown)", + Newest: "Newest", + "No JSON available": "No JSON available", + "No RSS feeds found in OPML file": "No RSS feeds found in OPML file", + "No cached data found.": "No cached data found.", + "No console logs captured yet": "No console logs captured yet", + "No events found": "No events found", + "No feeds configured. Default feed will be used.": "No feeds configured. Default feed will be used.", + "No feeds to export": "No feeds to export", + "No groups available. Join some groups first.": "No groups available. Join some groups first.", + "No items in this store.": "No items in this store.", + "No items match your search.": "No items match your search.", + "No logs match the current filters": "No logs match the current filters", + "No posts found": "No posts found", + "No posts match your search": "No posts match your search", + "No relays available. Please configure relays in settings.": "No relays available. Please configure relays in settings.", + "No service workers or caches found for this app": "No service workers or caches found for this app", + "No users found": "No users found", + "No valid RSS feed URLs found in OPML file": "No valid RSS feed URLs found in OPML file", + "Note pinned": "Note pinned", + "Note unpinned": "Note unpinned", + Oldest: "Oldest", + "Open Timestamp": "Open Timestamp", + "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.": "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.", + "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.": "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.", + Optional: "Optional", + "Optional image for the event": "Optional image for the event", + "Optionally, add the full quote/context to show your highlight within it": "Optionally, add the full quote/context to show your highlight within it", + PM: "PM", + "Page Range": "Page Range", + Pages: "Pages", + "Paste URL of a GIF": "Paste URL of a GIF", + "Paste URL of a meme image": "Paste URL of a meme image", + "Paste the entire original passage that contains your highlight": "Paste the entire original passage that contains your highlight", + Photo: "Photo", + "Picture Note": "Picture Note", + "Pin note": "Pin note", + "Plain text description of the query": "Plain text description of the query", + "Please login to view bookmarks": "Please login to view bookmarks", + "Please login to view favorites": "Please login to view favorites", + "Please select a group": "Please select a group", + "Please select at least one relay": "Please select at least one relay", + "Please set a start date": "Please set a start date", + "Poll with no options": "Poll with no options", + "Post published to some relays": "Post published to some relays", + "Posts will automatically include expiration tags": "Posts will automatically include expiration tags", + "Posts will automatically include quiet tags": "Posts will automatically include quiet tags", + "Posts will be quiet for this many days": "Posts will be quiet for this many days", + "Posts will expire after this many months": "Posts will expire after this many months", + "Processing...": "Processing...", + "Profile event not available": "Profile event not available", + "Prompt Citation": "Prompt Citation", + "Prompt Citation Settings": "Prompt Citation Settings", + "Prompt Conversation Script": "Prompt Conversation Script", + "Proof of Work": "Proof of Work", + "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post": "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post", + "Publish to Relays": "Publish to Relays", + "Published By": "Published By", + "Published In": "Published In", + "Published On": "Published On", + "Published in": "Published in", + "Published on": "Published on", + "Publisher name (optional)": "Publisher name (optional)", + "Quiet Tags": "Quiet Tags", + "RSS Feed": "RSS Feed", + "RSS + Web": "RSS + Web", + "RSS feed source": "RSS feed source", + "All feed sources": "All feed sources", + "RSS feed view mode": "RSS feed view mode", + "Article URLs": "Article URLs", + "Article URLs subtitle": "One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.", + "Article URLs Nostr manual subtitle": "Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.", + "RSS feed column title": "RSS & linked articles", + "RSS feed column subtitle": "Feed entries and article cards that include at least one item from your subscribed RSS feeds.", + "RSS timeline": "RSS timeline", + "RSS timeline subtitle": "Every item from your subscribed feeds, newest first — classic RSS reader.", + URLs: "URLs", + RSS: "RSS", + "No URL-only items yet": "No URL-only items yet", + "Respond to this RSS entry": "Respond to this RSS entry", + "RSS read-only thread hint": "Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.", + "RSS feed item label": "RSS", + "Web URL item label": "Web URL", + "URL thread activity": "URL thread activity", + "Suppress Clawstr links in RSS previews": "Hide clawstr.com in RSS and URL feed", + "Hide local, media & feed URLs from URL cards": "Hide local, media, feed, document & XML links from the feed", + "RSS articles": "RSS articles", + "Web comments": "Web comments", + "Web highlights": "Web highlights", + "In your bookmarks": "In your bookmarks", + "{{count}} RSS entries for this URL": "{{count}} RSS entries for this URL", + "{{count}} entries for this article URL": "{{count}} entries for this article URL", + "No comments yet": "No comments yet", + "No highlights yet": "No highlights yet", + "Showing {{filtered}} of {{total}} entries": "Showing {{filtered}} of {{total}} entries", + standardRssFeed_spotifeed: "Spotify playlist (Spotifeed)", + standardRssFeed_youtube: "YouTube feed", + standardRssFeed_youtubeChannel: "YouTube channel feed", + standardRssFeed_youtubePlaylist: "YouTube playlist feed", + standardRssFeed_feedburner: "FeedBurner", + standardRssFeed_reddit: "Reddit RSS", + standardRssFeed_substack: "Substack", + standardRssFeed_medium: "Medium", + "RSS Feed Settings": "RSS Feed Settings", + "Follow sets": "Follow sets", + "Personal Lists": "Personal Lists", + "Personal lists hub intro": "Open mute list, following, bookmarks list, pinned notes, interest topics (kind 10015), your NIP-30 user emoji list (kind 10030), and emoji set packs (kind 30030) on their own pages. Follow sets are below. Web page bookmarks (NIP-B0, kind 39701) are separate—save from an article’s panel or use the Bookmarks spell for a mixed feed.", + "Mute list": "Mute list", + "Following list": "Following list", + "Bookmarks list": "Bookmarks list", + "Pinned notes list": "Pinned notes list", + "Interests list": "Interests list", + "User emoji list": "User emoji list (kind 10030)", + "Emoji sets": "Emoji sets (kind 30030)", + "User emoji list title": "{{username}}'s emoji list", + "User emoji list intro": "NIP-30: inline custom emoji (`emoji` tags) and references to your kind 30030 packs (`a` tags). Publish when you are done editing.", + "User emoji list saved": "Emoji list published", + "User emoji inline section": "Inline emoji", + "User emoji inline empty": "No inline emoji yet. Add a shortcode and image URL below.", + "User emoji inline invalid": "Enter a shortcode and a non-empty image URL.", + "User emoji sets section": "Emoji set references", + "User emoji sets hint": "Add a coordinate in the form 30030:<64-hex pubkey>:, usually one of your own emoji sets from the Emoji sets page.", + "User emoji sets empty": "No emoji set references yet.", + "User emoji set ref invalid": "Invalid coordinate. Use 30030::.", + "User emoji set ref duplicate": "That emoji set is already in the list.", + "Emoji set coordinate": "Emoji set (a tag)", + "Publish changes": "Publish changes", + Shortcode: "Shortcode", + "Emoji sets settings intro": "NIP-30 emoji packs (kind 30030): each set has a `d` tag and `emoji` entries (shortcode + image URL). Publish from the editor dialog.", + "New emoji set": "New emoji set", + "Edit emoji set": "Edit emoji set", + "No emoji sets yet": "You have not created any emoji sets yet.", + "Emoji set saved": "Emoji set saved", + "Emoji set deleted": "Emoji set deleted", + "Failed to load emoji sets": "Failed to load emoji sets", + "emoji entries": "emoji", + "Emoji set d tag hint": "Stable identifier for this pack. It cannot be changed after the first publish.", + "Emoji pack entries": "Emoji in this pack", + "No emoji entries in pack": "No emoji in this pack yet.", + "Delete emoji set?": "Delete this emoji set?", + "Delete emoji set confirm": "This sends a deletion request (kind 5). Relays that accept it will drop the set; others may still show a cached copy.", + "Interests list section subtitle": "Topics you follow for hashtag feeds and the Interests spell. Stored on Nostr as kind 10015 (`t` tags).", + "Interest topic placeholder": "topic or #hashtag", + "Interest list add topic": "Add topic", + "Interest topic invalid": "Enter a valid topic (letters, numbers, hyphens, underscores).", + "No interest topics in list": "No subscribed topics yet. Add one above or subscribe from a hashtag page.", + "username's interest topics": "{{username}}'s interest topics", + "Remove from interest list": "Remove from interest list", + "Personal lists interests spell hint": "For a combined feed of all subscribed topics, use the", + "Interests spell": "Interests spell", + "Personal lists bookmarks spell hint": "For a note feed from NIP-51 bookmarks, use the", + "Bookmarks spell": "Bookmarks spell", + "Pinned notes hint": "Pinned notes: use the note menu (⋯) on a note and choose pin to profile. Pins appear on your profile.", + "Bookmarks list section title": "Bookmarks list", + "Bookmarks list section subtitle": "Events referenced by `e` / `a` tags on your kind 10003 bookmark list (newest first).", + "No entries in bookmark list": "Your bookmark list is empty.", + "View bookmarks as feed in Spells": "View bookmarks as a note feed in Spells", + "Pinned notes list section title": "Pinned notes list", + "Pinned notes list section subtitle": "Events referenced by `e` / `a` tags on your kind 10001 pin list (same order as on your profile).", + "Loading pin list": "Loading pin list…", + "No pinned notes in list": "No pinned notes in your pin list yet.", + "username's bookmarks": "{{username}}'s bookmarks", + "username's pinned notes": "{{username}}'s pinned notes", + "Event not loaded": "Event not loaded", + "No NIP-51 bookmarks or web bookmarks yet.": "No NIP-51 bookmarks or web bookmarks yet.", + "Web bookmarks": "Web bookmarks", + "Web bookmark": "Web bookmark", + "Web bookmarks NIP intro": "Web bookmarks are stored as kind 39701 events, not in your NIP-51 bookmark list.", + "Log in to save web bookmarks": "Log in to save web bookmarks for this page (NIP-B0, kind 39701).", + "Remove web bookmark": "Remove web bookmark", + "No web bookmark for this URL yet": "You have not saved a web bookmark for this URL yet.", + "Page title": "Page title", + "Short description": "Short description", + "Save web bookmark": "Save web bookmark", + "Sign in to publish web bookmark": "Please log in with a signing key to save web bookmarks.", + "Follow sets settings intro": "NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.", + "New follow set": "New follow set", + "Edit follow set": "Edit follow set", + "No follow sets yet": "You have not created any follow sets yet.", + "Follow set saved": "Follow set saved", + "Follow set deleted": "Follow set deleted", + "Failed to load follow sets": "Failed to load follow sets", + members: "members", + "Optional display title": "Optional display title", + "List id (d tag)": "List id (d tag)", + "Follow set d tag hint": "Stable identifier for this list. It cannot be changed after the first publish.", + "People in this list": "People in this list", + "Delete follow set?": "Delete this follow set?", + "Delete follow set confirm": "This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.", + "Clean list": "Clean list", + "Clean this list?": "Clean this list?", + "Clean list confirm": "This will publish a fresh, empty replacement for this list (all entries removed). This cannot be undone.", + "Clean follows list confirm with backup": "Before cleaning your follows (kind 3), the current list snapshot will be published to follows history relays. Then a fresh, empty follows list will be published. Continue?", + "List cleaned": "List cleaned", + "Failed to clean list": "Failed to clean list", + "Remove feed": "Remove feed", + "RSS Feeds": "RSS Feeds", + "RSS feeds exported to OPML file": "RSS feeds exported to OPML file", + "RSS feeds saved": "RSS feeds saved", + "Rate limited. Please wait before trying again.": "Rate limited. Please wait before trying again.", + "Reaction published": "Reaction published", + "Reaction published to some relays": "Reaction published to some relays", + "Reaction removed": "Reaction removed", + "Read full article": "Read full article", + "Reading group entry": "Reading group entry", + "Readings Options": "Readings Options", + Recipients: "Recipients", + "Recipients detected from your message:": "Recipients detected from your message:", + "Recommended Relays": "Recommended Relays", + "Recommended applications for handling events of kind {{kind}}": "Recommended applications for handling events of kind {{kind}}", + "Reference to the cited Nostr event in kind:pubkey:hex format": "Reference to the cited Nostr event in kind:pubkey:hex format", + "Refresh Cache": "Refresh Cache", + "Refreshing posts...": "Refreshing posts...", + "Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.": "Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.", + Relay: "Relay", + "Relay Hint": "Relay Hint", + "Relay URL (optional)": "Relay URL (optional)", + "Relay blocked successfully": "Relay blocked successfully", + "Relay requires authentication for write access. Please try a different relay or contact the relay operator.": "Relay requires authentication for write access. Please try a different relay or contact the relay operator.", + "Relay set options": "Relay set options", + "Remove from favorites": "Remove from favorites", + Rendered: "Rendered", + "Reply published": "Reply published", + "Reply published to some relays": "Reply published to some relays", + "Reply to Public Message": "Reply to Public Message", + "Republish to all active relays": "Republish to all active relays", + "Republish to all available relays": "Republish to all available relays", + "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.": "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.", + "Required: start time or start date. Optional: title, end, location, summary, topics, image.": "Required: start time or start date. Optional: title, end, location, summary, topics, image.", + "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Respect quiet tags": "Respect quiet tags", + "Search (NIP-50)": "Search (NIP-50)", + "Search by name or npub…": "Search by name or npub…", + "Search calendar, publications, wiki…": "Search calendar, publications, wiki…", + "Search for user…": "Search for user…", + "Search items...": "Search items...", + "Search logs...": "Search logs...", + "Search notes, threads, long-form…": "Search notes, threads, long-form…", + "Search on GifBuddy": "Search on GifBuddy", + "Search on Meme Amigo": "Search on Meme Amigo", + "Search posts...": "Search posts...", + "Search threads by title, content, tags, npub, author...": "Search threads by title, content, tags, npub, author...", + "Searching all available relays...": "Searching all available relays...", + "Searching…": "Searching…", + "See reference": "See reference", + "Select Group": "Select Group", + "Select Media Type": "Select Media Type", + "Select group...": "Select group...", + "Select relays": "Select relays", + "Publish relay cap hint": "At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.", + "Publish relay cap hint with outbox first": "At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.", + "Select the group where you want to create this discussion.": "Select the group where you want to create this discussion.", + "Select topic...": "Select topic...", + "Selected text": "Selected text", + "Send Public Message": "Send Public Message", + "Send a Lightning payment to this user": "Send a Lightning payment to this user", + "Service worker caches cleared. Please reload the page.": "Service worker caches cleared. Please reload the page.", + "Service worker unregistered and caches cleared. Please reload the page.": "Service worker unregistered and caches cleared. Please reload the page.", + "Service worker unregistered. Please reload the page.": "Service worker unregistered. Please reload the page.", + "Share your thoughts, ask questions, or start a discussion...": "Share your thoughts, ask questions, or start a discussion...", + "Short Video Note": "Short Video Note", + "Show RSS Feed": "Show RSS Feed", + "Show all discussions in a single list": "Show all discussions in a single list", + "Show less": "Show less", + Since: "Since", + Small: "Small", + "Some relays have temporarily disabled writes.": "Some relays have temporarily disabled writes.", + Source: "Source", + "Spell definition": "Spell definition", + "Spell published": "Spell published", + "Start date": "Start date", + "Start typing to see a preview...": "Start typing to see a preview...", + "Subject (Book Title)": "Subject (Book Title)", + "Subject (book title) is required for reading groups": "Subject (book title) is required for reading groups", + "Subject / Topics": "Subject / Topics", + Subscribe: "Subscribe", + Subscribed: "Subscribed", + "Subscribed to topic": "Subscribed to topic", + "Subscribed to topic (local)": "Subscribed to topic (local)", + "Subscribing...": "Subscribing...", + Summary: "Summary", + "Supported Event Types": "Supported Event Types", + "Take a note": "Take a note", + "The full prompt conversation (optional)": "The full prompt conversation (optional)", + "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.": "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.", + "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.": "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.", + "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.": "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.", + "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a Nostr event of kind {{kind}}.": "This GIF was found in a Nostr event of kind {{kind}}.", + "This file could be either audio or video. Please select the correct type:": "This file could be either audio or video. Please select the correct type:", + "This store does not contain replaceable events": "This store does not contain replaceable events", + "This will add additional tags for author and subject to help organize reading group discussions.": "This will add additional tags for author and subject to help organize reading group discussions.", + "Thread Content": "Thread Content", + "Thread Title": "Thread Title", + "Thread creation timed out. Please try again.": "Thread creation timed out. Please try again.", + "Thread published": "Thread published", + "Threads are organized by topics. Choose a topic that best fits your discussion.": "Threads are organized by topics. Choose a topic that best fits your discussion.", + "Time-based": "Time-based", + "Title is required": "Title is required", + "Title must be 100 characters or less": "Title must be 100 characters or less", + "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.": "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.", + Top: "Top", + Topic: "Topic", + URL: "URL", + "URL of the article cover image (optional)": "URL of the article cover image (optional)", + "Unique identifier for this article (required)": "Unique identifier for this article (required)", + "Unmute failed": "Unmute failed", + "Unpin note": "Unpin note", + Unsubscribe: "Unsubscribe", + "Unsubscribed from topic": "Unsubscribed from topic", + "Unsubscribing...": "Unsubscribing...", + Until: "Until", + Untitled: "Untitled", + Update: "Update", + "Updating...": "Updating...", + "Upload Audio Comment": "Upload Audio Comment", + "Upload Audio Message": "Upload Audio Message", + "Upload Media": "Upload Media", + "Media kind": "Media kind", + "Use image/audio/video note kind for the media URL in the editor": "Use image/audio/video note kind for the media URL in the editor", + "Already publishing as a media note": "Already publishing as a media note", + "No media URL in note — upload or paste a link first": "No media URL in note — upload or paste a link first", + "Cannot infer media type from URL — use Note type → Media Note to upload": "Cannot infer media type from URL — use Note type → Media Note to upload", + "Media kind (disabled): add imeta tags, a media URL, or upload media first": "Media kind (disabled): add imeta tags, a media URL, or upload media first", + Upvote: "Upvote", + "User unmuted": "User unmuted", + "Version number (optional)": "Version number (optional)", + Video: "Video", + "Video Note": "Video Note", + "Video file": "Video file", + "View Console Logs": "View Console Logs", + "View JSON": "View JSON", + "View cached items in this store.": "View cached items in this store.", + "View definition": "View definition", + "View details about cached data in IndexedDB stores. Click on a store to view its items.": "View IndexedDB stores, or search all cached Nostr-like events (content, tags, id, pubkey, kind) across stores.", + "View on Alexandria": "View on Alexandria", + "View on DecentNewsroom": "View on DecentNewsroom", + "View on Wikistr": "View on Wikistr", + "View recent console logs for debugging": "View recent console logs for debugging", + "Voice Comment": "Voice Comment", + "Voice Note": "Voice Note", + "Voice note or audio file": "Voice note or audio file", + Volume: "Volume", + "Volume number (optional)": "Volume number (optional)", + "Vote published": "Vote published", + "Vote removed": "Vote removed", + "Website where LLM was accessed (optional)": "Website where LLM was accessed (optional)", + "Wiki Article (AsciiDoc)": "Wiki Article (AsciiDoc)", + "Wiki Article (Markdown)": "Wiki Article (Markdown)", + "You can only delete your own notes": "You can only delete your own notes", + "You must be logged in to create a thread": "You must be logged in to create a thread", + "You need to add at least one media server in order to upload media files.": "You need to add at least one media server in order to upload media files.", + "You need to login first": "You need to login first", + "Your account is blocked from posting to this relay.": "Your account is blocked from posting to this relay.", + Zap: "Zap", + "Zap failed": "Zap failed", + created_at: "created_at", + "e tag of kind 1040 event (optional)": "e tag of kind 1040 event (optional)", + "e.g. meetup, conference": "e.g. meetup, conference", + "e.g., 123-145 (optional)": "e.g., 123-145 (optional)", + "e.g., GPT-4, Claude, etc. (required)": "e.g., GPT-4, Claude, etc. (required)", + "e.g., my-article-title": "e.g., my-article-title", + entries: "entries", + "from Bunker": "from Bunker", + "from Extension": "from Extension", + "from NIP-05": "from NIP-05", + general: "general", + "https://example.com (required)": "https://example.com (required)", + "https://example.com/image.jpg": "https://example.com/image.jpg", + id: "id", + items: "items", + kind: "kind", + "kind:pubkey:hex format (required)": "kind:pubkey:hex format (required)", + "last updated": "last updated", + matching: "matching", + naddr: "naddr", + nevent: "nevent", + "nevent1..., naddr1..., note1..., hex ID, or https://...": "nevent1..., naddr1..., note1..., hex ID, or https://...", + "no notes found": "no notes found", + of: "of", + "on note": "on note", + optional: "optional", + pubkey: "pubkey", + "sent a public message": "sent a public message", + "sent you a public message": "sent you a public message", + "sent you a public message (along with {{count}} others)": "sent you a public message (along with {{count}} others)", + sig: "sig", + "started a discussion in {{topic}}": "started a discussion in {{topic}}", + tags: "tags", + thread: "thread", + threads: "threads", + "topic1, topic2, topic3": "topic1, topic2, topic3", + "{{count}} relay(s) selected": "{{count}} relay(s) selected", + "🔞 NSFW 🔞": "🔞 NSFW 🔞", + "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).": "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).", + "Compressing on your device before upload (large videos can take several minutes)…": "Compressing on your device before upload (large videos can take several minutes)…", + "Failed to refresh": "Failed to refresh", + "Invalid article link.": "Invalid article link.", + Likes: "Likes", + "Loading…": "Loading…", + "Missing pubkey": "Missing pubkey", + "No RSS feed list found on relays": "No RSS feed list found on relays", + "Pinned posts": "Pinned posts", + "Publishing...": "Publishing...", + "RSS article": "RSS article", + "RSS feed list refreshed": "RSS feed list refreshed", + "Save or discard your changes before refreshing from relays": "Save or discard your changes before refreshing from relays", + "Suggested topics": "Suggested topics", + "Synthetic event (no author)": "Synthetic event (no author)", + "Topic is required": "Topic is required", + "Type a topic or pick from the list": "Type a topic or pick from the list", + "Uploading to media server…": "Uploading to media server…", + profileEditorRefreshCacheHint: "profileEditorRefreshCacheHint", + startupSessionHydrating: "startupSessionHydrating", + "AI / LLM prompt citation": "AI / LLM prompt citation", + "AsciiDoc wiki contribution": "AsciiDoc wiki contribution", + "Attach image, audio, or video": "Attach image, audio, or video", + Citations: "Citations", + "Cite from external source": "Cite from external source", + "Cite from private relay": "Cite from private relay", + "Create a voting poll": "Create a voting poll", + "Create custom event": "Create custom event", + "Create event with custom kind": "Create event with custom kind", + "Custom Event": "Custom Event", + "Custom tag…": "Custom tag…", + Dismiss: "Dismiss", + "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.": "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.", + "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).": "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).", + "Failed to rebroadcast entire publication: {{error}}": "Failed to rebroadcast entire publication: {{error}}", + "Feed filter kind": "Feed filter kind", + "Feed filter kind hint": "Feed filter kind hint", + "Feed filter kind invalid": "Feed filter kind invalid", + "Feed filter kind placeholder": "Feed filter kind placeholder", + "Invalid event fields": "Invalid event fields", + "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).": "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).", + "Markdown article (NIP-23)": "Markdown article (NIP-23)", + "Markdown wiki contribution": "Markdown wiki contribution", + "Media Note": "Media Note", + "No publication events found for rebroadcast": "No publication events found for rebroadcast", + "No publication events were accepted by any relay": "No publication events were accepted by any relay", + "Note type": "Note type", + "Offline mode": "Offline mode", + "Only local relays and cached content are available.": "Only local relays and cached content are available.", + "Physical source citation": "Physical source citation", + "Plain text note (kind 1)": "Plain text note (kind 1)", + "Private relay publication": "Private relay publication", + "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).": "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).", + "Public Message": "Public Message", + "Public direct message (kind 4)": "Public direct message (kind 4)", + "Publication Note": "Publication Note", + "Rebroadcast entire publication": "Rebroadcast entire publication", + "Rebroadcast entire publication to ...": "Rebroadcast entire publication to ...", + "Rebroadcasted entire publication": "Rebroadcasted entire publication", + "Rebroadcasting entire publication...": "Rebroadcasting entire publication...", + "Save a quote or passage": "Save a quote or passage", + "Save data": "Save data", + "Set kind, content, and tags, then publish.": "Set kind, content, and tags, then publish.", + "Short Note": "Short Note", + "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.": "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.", + "Slow connection detected": "Slow connection detected", + "Start a discussion thread": "Start a discussion thread", + "This action is only available for publications": "This action is only available for publications", + "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.": "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.", + Thread: "Thread", + "Turn on low-bandwidth mode to reduce data usage.": "Turn on low-bandwidth mode to reduce data usage.", + "Turn on low-bandwidth mode? This will set: {{changes}}.": "Turn on low-bandwidth mode? This will set: {{changes}}.", + "Unsigned experimental kind": "Unsigned experimental kind", + "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.": "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.", + "media loading off": "media loading off", + profileEditorDuplicateSingleton: "profileEditorDuplicateSingleton", + profileEditorEditBannerUrl: "profileEditorEditBannerUrl", + profileEditorEditPictureUrl: "profileEditorEditPictureUrl", + profileEditorImageUrlHint: "profileEditorImageUrlHint", + profileEditorNostrBuildThumbHint: "profileEditorNostrBuildThumbHint", + profileEditorProfileNotLoaded: "profileEditorProfileNotLoaded", + profileEditorTagListHint: "profileEditorTagListHint", + "readOnlySession.hint": "readOnlySession.hint", + "readOnlySession.label": "readOnlySession.label", + "readOnlySession.labelShort": "readOnlySession.labelShort", + "video autoplay off": "video autoplay off", + } +} diff --git a/src/i18n/locales/de.ts b/src/i18n/locales/de.ts index d745ad51..2503a5ed 100644 --- a/src/i18n/locales/de.ts +++ b/src/i18n/locales/de.ts @@ -2,2090 +2,2009 @@ export default { translation: { // NOTE: Untranslated strings fall back to English. - 'Welcome! 🥳': 'Willkommen! 🥳', - About: 'Über', - 'New Note': 'Neue Notiz', - Post: 'Beitrag', - Home: 'Startseite', - Feed: 'Feed', - 'Favorite Relays': 'Lieblings-Relays', - 'Relay pulse': 'Relay-Puls', - 'Relay pulse empty': 'In der letzten Stunde war es ruhig auf deinen Relays.', - 'Relay pulse follows': 'Folge ich ({{count}})', - 'Relay pulse others': 'Andere ({{count}})', - 'Relay pulse updated': 'Aktualisiert {{relative}}', - 'Relay pulse active npubs': 'Aktive npubs', - 'Relay pulse active npubs hint': - 'Kind-0-Profile für npubs, die in der letzten Stunde auf deinen Lieblingsrelais auftauchten (gleiche Stichprobe wie Relay-Puls).', - 'Relay pulse drawer following': 'Folge ich', - 'Relay pulse drawer others': 'Andere', - 'Relay pulse drawer no profiles': - 'Für diese Stichprobe wurden noch keine Kind-0-Profile geladen.', - 'See the newest notes from your follows': 'Neueste Notizen von deinen Abos anzeigen', - 'All favorite relays': 'Alle Lieblingsrelais', - 'Pinned note': 'Angehefteter Beitrag', - 'Relay settings': 'Relay-Einstellungen', - 'Relay auth accepted (NIP-42)': - 'Das Relay hat die Authentifizierung akzeptiert (NIP-42): {{relay}}{{detailSuffix}}', - 'Relay auth rejected (NIP-42)': - 'Das Relay hat die Authentifizierung abgelehnt (NIP-42): {{relay}} — {{message}}', - 'Relay auth error unknown': 'Unbekannter Fehler', - Settings: 'Einstellungen', - 'Account menu': 'Kontomenü', - SidebarRelays: 'Relays', - Refresh: 'Aktualisieren', - 'refresh.longPressHardReload': 'Long-press: reload app and restore feed cache', - 'link.expandNostrEmbed': 'Show Nostr preview', - Profile: 'Profil', - Logout: 'Abmelden', - Following: 'Folgende', - followings: 'Folgekonten', - boosted: 'geboostet', - 'Boosted by:': 'Geboostet von:', - 'just now': 'gerade eben', - 'n minutes ago': 'vor {{n}} Minuten', - 'n m': 'vor {{n}}m', - 'n hours ago': 'vor {{n}} Stunden', - 'n h': 'vor {{n}}h', - 'n days ago': 'vor {{n}} Tagen', - 'n d': 'vor {{n}}d', - date: '{{timestamp, date}}', - Follow: 'Folgen', - Unfollow: 'Nicht mehr folgen', - 'Follow failed': 'Folgen fehlgeschlagen', - 'Unfollow failed': 'Nicht mehr folgen fehlgeschlagen', - 'show new notes': 'zeige neue Notizen', - 'loading...': 'lädt...', - 'Loading...': 'Lade...', - 'no more notes': 'keine weiteren Notizen', - 'calendar entries': 'Kalender-Einträge', - 'Loading calendar events...': 'Kalender-Einträge werden geladen...', - 'No calendar events found': 'Keine Kalender-Einträge gefunden', - 'Calendar events in the next {{count}} months': - 'Kalender-Einträge in den nächsten {{count}} Monaten', - 'The nostr.band relay appears to be temporarily out of service. Please try again later.': - 'The nostr.band relay appears to be temporarily out of service. Please try again later.', - 'reply to': 'antworten an', - reply: 'antworten', - Reply: 'Antwort', - 'load more older replies': 'ältere Antworten laden', - 'Write something...': 'Schreibe etwas...', - Cancel: 'Abbrechen', - Mentions: '@', - 'Search for event or address…': 'Nach Event oder Adresse suchen…', - 'Search notes…': 'Notizen suchen…', - 'No notes found': 'Keine Notizen gefunden', - 'Failed to post': 'Posten fehlgeschlagen', - 'Post successful': 'Beitrag erfolgreich', - 'Your post has been published': 'Dein Beitrag wurde veröffentlicht', - Boost: 'Boost', - 'Boost published': 'Boost veröffentlicht', - Quote: 'Zitat', - 'Copy event ID': 'Ereignis-ID kopieren', - 'Copy user ID': 'Benutzer-ID kopieren', - 'Send public message': 'Öffentliche Nachricht senden', - 'View raw event': 'Rohdaten anzeigen', - 'Edit this event': 'Dieses Event bearbeiten', - 'Clone or fork this event': 'Event klonen oder forken', - 'Event kind': 'Event-Kind', - 'Note content': 'Inhalt', - Publish: 'Veröffentlichen', - 'Post published': 'Beitrag veröffentlicht', - 'Edit content and tags, then publish a new signed event.': - 'Inhalt und Tags bearbeiten und als neues signiertes Event veröffentlichen.', - 'Log in to publish': 'Zum Veröffentlichen anmelden', - 'Set when you publish': 'wird beim Veröffentlichen gesetzt', - 'id and sig are assigned when you publish': 'id und sig werden beim Veröffentlichen gesetzt', - 'Published to some relays only': 'Nur an manche Relays veröffentlicht', - 'Add field': 'Feld hinzufügen', - 'View full profile': 'View full profile', - Like: 'Gefällt mir', - 'switch to light theme': 'Wechsel zum hellen Design', - 'switch to dark theme': 'Wechsel zum dunklen Design', - 'switch to system theme': 'Zum Systemthema wechseln', - Note: 'Notiz', - note: 'notiz', - "username's following": '{{username}}s Folgen', - "username's used relays": '{{username}}s verwendete Relays', - "username's muted": '{{username}}s stummgeschaltet', - Login: 'Anmelden', - downloadDesktopApp: 'App herunterladen', - 'Please log in to view notifications.': 'Please log in to view notifications.', - 'Follows you': 'Folgt dir', - 'Relay Settings': 'Relay-Einstellungen', - 'Relays and Storage Settings': 'Relays and Storage Settings', - 'Relay set name': 'Relay-Set Name', - 'Add a new relay set': 'Neues Relay-Set hinzufügen', - Add: 'Hinzufügen', - 'n relays': '{{n}} Relays', - Rename: 'Umbenennen', - 'Copy share link': 'Copy share link', - 'Copy address': 'Copy address', - 'Copy payto URI': 'Copy payto URI', - 'Copied payto address': 'Copied payto address', - 'Copied to clipboard': 'Copied to clipboard', - 'Copied {{label}} address': 'Copied {{label}} address', - 'Lightning payment address – copy to pay via your wallet': - 'Lightning payment address – copy to pay via your wallet', - 'Payment address – copy to use in your wallet or app': - 'Payment address – copy to use in your wallet or app', - 'Click to open payment options': 'Click to open payment options', - 'Click to copy address': 'Click to copy address', - 'Open on website': 'Open on website', - 'Raw profile event': 'Raw profile event', - 'Full profile event': 'Full profile event', - 'Event (JSON)': 'Event (JSON)', - 'Save full profile': 'Save full profile', - 'Add tag': 'Add tag', - 'Remove tag': 'Remove tag', - 'Tag name': 'Tag name', - Value: 'Value', - 'Add value to tag': 'Add value to tag', - 'Remove value': 'Wert entfernen', - 'No tags. Click "Add tag" to add one.': 'No tags. Click "Add tag" to add one.', - 'Profile updated': 'Profile updated', - 'Failed to publish profile': 'Failed to publish profile', - 'Invalid profile JSON': 'Invalid profile JSON', - 'Refresh cache': 'Refresh cache', - 'Force-refresh profile and payment info from relays': - 'Force-refresh profile and payment info from relays', - 'Profile and payment cache refreshed': 'Profile and payment cache refreshed', - 'Failed to refresh cache': 'Failed to refresh cache', - 'Raw payment info event': 'Raw payment info event', - 'Payment info': 'Payment info', - 'Edit payment info': 'Edit payment info', - 'Add payment info': 'Add payment info', - 'No payment info event yet. Click "Add payment info" to create one.': - 'No payment info event yet. Click "Add payment info" to create one.', - 'Content (JSON)': 'Content (JSON)', - Tags: 'Tags', - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])': - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])', - 'Payment info updated': 'Payment info updated', - 'Failed to publish payment info': 'Failed to publish payment info', - 'Invalid tags JSON': 'Invalid tags JSON', - 'Payment methods': 'Payment methods', - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).': - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).', - 'Type (e.g. lightning)': 'Type (e.g. lightning)', - 'Authority (e.g. user@domain.com)': 'Authority (e.g. user@domain.com)', - 'Add payment method': 'Add payment method', - Remove: 'Remove', - 'Additional content (JSON)': 'Additional content (JSON)', - 'Show full event JSON': 'Show full event JSON', - 'Tag list': 'Tag list', - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.': - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.', - 'Tag value': 'Tag value', - 'Saving…': 'Speichern…', - 'Share with Imwald': 'Mit Imwald teilen', - 'Share with Alexandria': 'Mit Alexandria teilen', - 'Start video call': 'Videoanruf starten', - 'Copy call invite link': 'Anruf-Einladungslink kopieren', - 'Start call about this': 'Anruf zu diesem Beitrag starten', - 'Send call invite': 'Anruf-Einladung senden', - 'Read this note aloud': 'Diese Notiz vorlesen', - 'Read-aloud is not supported in this browser': - 'Vorlesen wird in diesem Browser nicht unterstützt', - 'Nothing to read aloud': 'Kein Text zum Vorlesen', - 'Read-aloud failed': 'Vorlesen fehlgeschlagen', - 'Read aloud': 'Vorlesen', - 'Read-aloud idle': 'Leerlauf', - 'Preparing read-aloud…': 'Vorlesen wird vorbereitet…', - 'Requesting audio…': 'Audio wird angefordert…', - 'Loading audio…': 'Audio wird geladen…', - 'Preparing player…': 'Player wird vorbereitet…', - 'Starting stream…': 'Stream wird gestartet…', - 'Loading media…': 'Medien werden geladen…', - 'Buffering…': 'Puffern…', - Playing: 'Wiedergabe', - Paused: 'Pausiert', - 'Read-aloud finished': 'Beendet', - 'Read-aloud error': 'Fehler', - 'TTS endpoint': 'TTS-Endpunkt', - 'Using browser speech synthesis': 'Browser-Sprachausgabe', - 'Read-aloud section progress': 'Abschnitt {{current}} von {{total}}', - 'Request sent': 'Anfrage gesendet', - 'Response received': 'Antwort erhalten', - 'Playback started': 'Wiedergabe gestartet', - Characters: 'Zeichen', - Pause: 'Pause', - Play: 'Abspielen', - Stop: 'Stopp', - 'Read-aloud sections': 'Vorlesen — Abschnitte', - 'Read-aloud overall progress': 'Gesamtfortschritt', - 'Read-aloud section done': 'Abschnitt {{index}}: fertig', - 'Read-aloud section pending': 'Abschnitt {{index}}: noch nicht gestartet', - 'Read-aloud section fetching': 'Abschnitt {{index}}: Audio wird angefordert', - 'Read-aloud section preparing audio': 'Abschnitt {{index}}: Audio wird geladen', - 'Read-aloud section playing': 'Abschnitt {{index}}: Wiedergabe', - 'Read-aloud section paused': 'Abschnitt {{index}}: pausiert', - 'Read-aloud legend fetching': 'Audio für diesen Abschnitt wird vom Server angefordert…', - 'Read-aloud legend buffering': 'Audio für diesen Abschnitt wird decodiert…', - 'Read-aloud legend playing': 'Dieser Abschnitt wird wiedergegeben.', - 'Read-aloud legend paused': 'Wiedergabe pausiert.', - 'Read-aloud Piper fallback notice': - 'Die Server-Stimme (Piper) konnte nicht genutzt werden. Es wird die Browser-Sprachausgabe verwendet.', - 'Read-aloud Piper fallback detail label': 'Piper-Fehler', - 'Read-aloud Piper status region': 'Piper-Sprachausgabe (Server)', - 'Read-aloud Piper status heading': 'Piper (Server-Stimme)', - 'Read-aloud Piper skipped notice': - 'Für diese App ist keine Piper-URL gesetzt (siehe VITE_READ_ALOUD_TTS_URL). Es wird nur die Browser-Stimme verwendet — der Server wurde nicht angesprochen.', - 'Read-aloud Piper attempt started': - 'Piper wurde um {{time}} gestartet (dieses Vorlesen hat zuerst den Server verwendet).', - 'Read-aloud Piper endpoint tried': 'Verwendete URL: {{url}}', - 'Join the video call': 'Am Videoanruf teilnehmen', - 'Schedule video call': 'Videoanruf planen', - "You're invited to a scheduled video call.": - 'Du bist zu einem geplanten Videoanruf eingeladen.', - 'Create a calendar event and send an invite. The recipient will see the event with a join link.': - 'Kalendertermin erstellen und Einladung senden. Der Empfänger sieht den Termin mit einem Teilnahme-Link.', - 'Schedule a video call': 'Videoanruf planen', - 'Create a calendar event and send kind 24 invites to each listed invitee.': - 'Kalendertermin erstellen und an jede eingetragene Person eine Kind-24-Einladung senden.', - Invitees: 'Eingeladene', - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)': - 'nostr:npub1... oder nostr:nprofile1... einfügen (einer oder mehrere)', - 'Schedule and send invites': 'Planen und Einladungen senden', - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)': - 'Mindestens eine Person hinzufügen (nostr:npub- oder nostr:nprofile-Links einfügen)', - 'Scheduled call created and {{count}} invite(s) sent': - 'Geplanter Anruf erstellt und {{count}} Einladung(en) gesendet', - 'Join video call': 'Videoanruf beitreten', - 'Scheduled video call': 'Geplanter Videoanruf', - 'Video call': 'Videoanruf', - 'Schedule and send invite': 'Planen und Einladung senden', - 'Scheduling…': 'Wird geplant…', - 'Please set a start time': 'Bitte Startzeit angeben', - 'End time must be after start time': 'Endzeit muss nach der Startzeit liegen', - 'Failed to schedule call': 'Anruf konnte nicht geplant werden', - 'Scheduled call created and invite sent': 'Geplanter Anruf erstellt und Einladung gesendet', - RSVP: 'Rückmeldung', - 'RSVP: {{status}}': 'Rückmeldung: {{status}}', - Accepted: 'Zusage', - Tentative: 'Vielleicht', - Declined: 'Absage', - 'You need to log in to RSVP': 'Zum Antworten bitte anmelden', - 'RSVP updated': 'Rückmeldung gesendet', - 'Failed to update RSVP': 'Rückmeldung konnte nicht gesendet werden', - Organizer: 'Veranstalter', - Attendees: 'Teilnehmer', - 'No response': 'Keine Rückmeldung', - 'Calendar Events': 'Kalendertermine', - 'Calendar Event': 'Kalendertermin', - 'Schedule in-person meeting': 'Präsenztermin planen', - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.': - 'Kalendertermin erstellen und Einladung senden. Ohne Video-Link – für reale Treffen, Konferenzen usw.', - "You're invited to an in-person meeting.": 'Du bist zu einem Präsenztermin eingeladen.', - 'Meeting created and invite sent': 'Termin erstellt und Einladung gesendet', - 'Failed to create meeting': 'Termin konnte nicht erstellt werden', - 'Create and send invite': 'Erstellen und Einladung senden', - 'Creating…': 'Wird erstellt…', - 'In-person meeting': 'Präsenztermin', - Location: 'Ort', - 'Address, venue, or place': 'Adresse, Veranstaltungsort oder Ort', - Description: 'Beschreibung', - 'Optional notes': 'Optionale Notizen', - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.': - 'Kalendertermin für ein reales Treffen erstellen und an jede Person eine Kind-24-Einladung senden.', - 'Meeting created and {{count}} invite(s) sent': - 'Termin erstellt und {{count}} Einladung(en) gesendet', - 'Create and send invites': 'Erstellen und Einladungen senden', - Title: 'Titel', - Start: 'Beginn', - End: 'Ende', - Delete: 'Löschen', - 'Relay already exists': 'Relay existiert bereits', - 'invalid relay URL': 'Ungültige Relay-URL', - 'Relay URL…': 'wss://… oder Relay-Host', - 'Open relay': 'Relay öffnen', - 'Add a new relay': 'Neues Relay hinzufügen', - back: 'Zurück', - 'Lost in the void': 'Verloren im Nichts', - 'Carry me home': 'Bring mich nach Hause', - 'no replies': 'keine Antworten', - 'Reply to': 'Antwort an', - Search: 'Suchen', - 'The relays you are connected to do not support search': - 'Die verbundenen Relays unterstützen keine Suche', - 'Show more...': 'Mehr anzeigen...', - 'All users': 'Alle Benutzer', - 'Display replies': 'Antworten anzeigen', - Notes: 'Notizen', - Replies: 'Antworten', - Gallery: 'Galerie', - Notifications: 'Benachr.', - 'no more notifications': 'keine weiteren Benachrichtigungen', - 'Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.': - 'Die Anmeldung mit privatem Schlüssel ist unsicher. Es wird empfohlen, eine Browser-Erweiterung wie alby, nostr-keyx oder nos2x zu verwenden. Wenn du einen privaten Schlüssel verwenden musst, solltest du mindestens ein Passwort zur Verschlüsselung festlegen.', - 'Login with Browser Extension': 'Mit Browser-Erweiterung anmelden', - 'Login with Bunker': 'Mit Bunker anmelden', - 'Login with Private Key': 'Mit privatem Schlüssel anmelden', - 'Login with npub (read-only)': 'Mit npub anmelden (nur lesen)', - 'reload notes': 'Notizen neu laden', - 'Logged in Accounts': 'Angemeldete Konten', - 'Add an Account': 'Konto hinzufügen', - 'More options': 'Mehr Optionen', - 'Add client tag': 'Client-Tag hinzufügen', - 'Show others this was sent via Imwald': 'Anderen zeigen, dass dies über Imwald gesendet wurde', - 'Are you sure you want to logout?': 'Bist du sicher, dass du dich abmelden möchtest?', - 'relay sets': 'Relay-Sets', - edit: 'bearbeiten', - Languages: 'Sprachen', - Theme: 'Design', - System: 'System', - Light: 'Hell', - Dark: 'Dunkel', - Temporary: 'Temporär', - 'Choose a relay set': 'Wähle ein Relay-Set', - 'Switch account': 'Konto wechseln', - Pictures: 'Bilder', - 'Picture note': 'Bildnotiz', - 'A special note for picture-first clients like Olas': - 'Eine spezielle Notiz für bildfokussierte Clients wie Olas', - 'Picture note requires images': 'Bildnotiz erfordert Bilder', - Relays: 'Relays', - Image: 'Bild', - 'This image could not be loaded.': 'Dieses Bild konnte nicht geladen werden.', - 'Invalid or unsupported image address.': 'Ungültige oder nicht unterstützte Bildadresse.', - 'Open image link': 'Bildlink öffnen', - 'Upload Image': 'Bild hochladen', - 'Insert emoji': 'Emoji einfügen', - 'Insert GIF': 'GIF einfügen', - 'Insert meme': 'Insert meme', - 'Search GIFs': 'GIFs suchen', - 'Search memes': 'Search memes', - 'Choose a GIF': 'GIF auswählen', - 'Choose a meme': 'Choose a meme', - 'Search GifBuddy for more GIFs': 'Bei GifBuddy nach weiteren GIFs suchen', - 'Add your own GIFs': 'Eigene GIFs hinzufügen', - 'Add your own meme templates': 'Add your own meme templates', - 'Description (optional, for search)': 'Beschreibung (optional, für Suche)', - 'e.g. happy birthday, thumbs up': 'z. B. happy birthday, Daumen hoch', - 'e.g. drake, distracted boyfriend': 'e.g. drake, distracted boyfriend', - 'Uploading...': 'Wird hochgeladen...', - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.': - 'Keine GIFs gefunden. Suche oder füge eigene hinzu. GIFs stammen von Nostr-Kind-1063-Events (NIP-94) auf GIF-Relays.', - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).': - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).', - 'Failed to publish meme template for the picker': - 'Failed to publish meme template for the picker', - '{{name}} is not a GIF file': '{{name}} ist keine GIF-Datei', - '{{name}} is not a JPEG, PNG, or WebP file': '{{name}} is not a JPEG, PNG, or WebP file', - 'R & W': 'R & W', - Read: 'Lesen', - Write: 'Schreiben', - 'Pull relay sets': 'Relay-Sets abrufen', - 'Select the relay sets you want to pull': 'Wähle die Relay-Sets, die du abrufen möchtest', - 'No relay sets found': 'Keine Relay-Sets gefunden', - 'Pull n relay sets': 'Hole {{n}} Relay-Sets', - Pull: 'Abrufen', - 'Select all': 'Alle auswählen', - 'Relay Sets': 'Relay-Sets', - 'Read & Write Relays': 'Lese- & Schreib-Relays', - 'read relays description': - 'Leserelays werden verwendet, um Ereignisse über dich abzurufen. Andere Benutzer senden die Ereignisse, die du sehen sollst, an deine Leserelays.', - 'write relays description': - 'Schreibrelays werden verwendet, um deine Ereignisse zu veröffentlichen. Andere Benutzer rufen deine Ereignisse von deinen Schreibrelays ab.', - 'read & write relays notice': - 'Die Anzahl der Lese- und Schreibserver sollte idealerweise zwischen 2 und 4 liegen.', - "Don't have an account yet?": 'Noch keinen Account?', - 'or simply generate a private key': 'oder erstelle einfach einen privaten Schlüssel', - 'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.': - 'Dies ist ein privater Schlüssel. Teile ihn mit niemandem. Bewahre ihn sicher auf. Du kannst ihn nicht wiederherstellen, falls du ihn verlierst.', - Edit: 'Bearbeiten', - Save: 'Speichern', - 'Display Name': 'Anzeigename', - Bio: 'Biografie', - 'Nostr Address (NIP-05)': 'Nostr-Adresse (NIP-05)', - 'Invalid NIP-05 address': 'Ungültige NIP-05 Adresse', - 'Copy private key': 'Privaten Schlüssel kopieren', - 'Enter the password to decrypt your ncryptsec': - 'Gib das Passwort ein, um deinen ncryptsec zu entschlüsseln', - Back: 'Zurück', - 'optional: encrypt nsec': 'optional: nsec verschlüsseln', - password: 'Passwort', - 'Sign up': 'Registrieren', - 'Save to': 'Speichern in', - 'Enter a name for the new relay set': 'Gib einen Namen für das neue Relay-Set ein', - 'Save to a new relay set': 'In ein neues Relay-Set speichern', - Mute: 'Stummschalten', - Muted: 'Stummgeschaltet', - Unmute: 'Stummschaltung aufheben', - 'Unmute user': 'Benutzer-Stummschaltung aufheben', - Block: 'Block', - Unblock: 'Unblock', - blocked: 'blocked', - 'Append n relays': 'Füge {{n}} Relays hinzu', - Append: 'Hinzufügen', - 'Select relays to append': 'Wähle die hinzuzufügenden Relays', - 'calculating...': 'berechne...', - 'Calculate optimal read relays': 'Optimale Leserelays berechnen', - 'Login to set': 'Anmelden zum Set', - 'Please login to view following feed': - 'Bitte melde dich an, um den Feed der Folgenden zu sehen', - 'Follow set': 'Folgenliste', - 'Follow set feed empty': - 'Diese NIP-51-Liste ist leer, wurde nicht gefunden, oder die Relays konnten sie noch nicht laden.', - 'Send only to r': 'Nur an {{r}} senden', - 'Send only to these relays': 'Nur an diese Relays senden', - Explore: 'Entdecken', - 'Relay reviews': 'Bewertungen', - 'Search relays': 'Relays suchen', - relayInfoBadgeAuth: 'Auth', - relayInfoBadgeSearch: 'Suche', - relayInfoBadgePayment: 'Zahlung', - Operator: 'Betreiber', - Contact: 'Kontakt', - Software: 'Software', - Version: 'Version', - 'Random Relays': 'Zufällige Relays', - randomRelaysRefresh: 'Aktualisieren', - 'Explore more': 'Mehr entdecken', - 'Payment page': 'Zahlungsseite', - 'Supported NIPs': 'Unterstützte NIPs', - 'Relay liveliness (NIP-66)': 'Relay-Liveness (NIP-66)', - 'Relay monitor (NIP-66)': 'Relay-Monitor (NIP-66)', - 'Auth required': 'Auth erforderlich', - 'Public (no auth)': 'Öffentlich (keine Auth)', - 'Payment required': 'Zahlung erforderlich', - 'No payment': 'Keine Zahlung', - 'Writes required': 'Schreiben erforderlich', - 'Writes open': 'Schreiben offen', - 'PoW required': 'PoW erforderlich', - 'No PoW': 'Kein PoW', - 'RTT open': 'RTT open', - 'RTT read': 'RTT read', - 'RTT write': 'RTT write', - 'Supported NIPs (from monitor)': 'Unterstützte NIPs (vom Monitor)', - 'Last reported by monitor': 'Zuletzt vom Monitor gemeldet', - Network: 'Netzwerk', - Type: 'Typ', - Topics: 'Themen', - 'Open in a': 'Öffnen in {{a}}', - 'Cannot handle event of kind k': 'Ereignis des Typs {{k}} kann nicht verarbeitet werden', - 'Unsupported event preview': - 'There isn’t a dedicated card for this event type yet. Here’s a readable preview.', - 'No text content in event': 'No text in this event.', - 'Technical details': 'Technical details', - 'Event kind and time': 'Kind {{kind}} · {{time}}', - 'Event kind label': 'Kind {{kind}}', - 'Note kind label line': 'KIND: {{kind}} · {{description}}', - 'Unknown note declared kind tag': 'Tagged kind: {{value}}', - 'Unknown note tagged pubkey': 'Tagged pubkey', - 'Unknown note tagged content': 'Content', - 'Unknown note reference tags': 'Referenz-Tags (e, p, q, a)', - 'Starred spells': 'Markierte Sprüche', - 'Spell star add title': 'Spruch markieren (wird zu deinen Nostr-Lesezeichen hinzugefügt)', - 'Spell star remove title': 'Markierung aufheben (aus Nostr-Lesezeichen entfernen)', - 'Copy JSON': 'Copy JSON', - Verse: 'Verse', - 'Notification reaction summary': 'hat auf diese Notiz reagiert.', - 'Notification discussion upvote summary': 'hat in dieser Diskussion positiv bewertet.', - 'Notification discussion downvote summary': 'hat in dieser Diskussion negativ bewertet.', - 'Notification boost summary': 'Hat diese Notiz geboostet', - 'Notification boost detail': 'Die Vorschau darüber ist der Originalbeitrag.', - 'Notification poll vote summary': 'Hat an der Umfrage darüber teilgenommen.', - 'Notification poll vote options count': '{{count}} Option(en) gewählt', - 'Imwald synthetic event': 'Imwald – synthetisches Ereignis', - '+ Add a URL to this list': 'URL zur Liste hinzufügen', - 'Add a web URL': 'Web-URL hinzufügen', - 'Add web URL to feed description': - 'Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.', - 'Add to feed': 'Add to feed', - 'Open any https page in the side panel to reply, react, and discuss on Nostr.': - 'Beliebige https-Seite im Seitenpanel öffnen, um auf Nostr zu antworten, zu reagieren und zu diskutieren.', - 'Enter a valid http(s) URL': 'Bitte eine gültige http(s)-URL eingeben', - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.': - 'Per URL geöffnet — nicht aus deiner RSS-Liste. Der Nostr-Thread hängt weiter an diesem Link.', - 'Open in browser': 'Im Browser öffnen', - 'liveEvent.zapStreamPlayer': 'Livestream (zap.stream)', - 'liveStreamEmbedSuppressed': - 'Der eingebettete Livestream ist ausgeblendet, weil dein Kind-Filter NIP-53-Streams ausschließt. Unten per njump oder anderem Client öffnen.', - 'liveEvent.hlsPlaybackUnavailable': - 'Wiedergabe hier fehlgeschlagen (Stream offline, beendet oder blockiert). Die gehostete Watch-Seite kannst du unten trotzdem öffnen.', - 'liveEvent.hideFromCarousel': 'Im Karussell ausblenden', - 'liveEvent.showInCarousel': 'Im Karussell anzeigen', - 'liveEvent.hideFromCarouselTitle': - 'Diesen Stream im Live-Karussell ausblenden (lokal in diesem Browser gespeichert). Erneut klicken, um ihn wieder anzuzeigen.', - 'liveEvent.showInCarouselTitle': 'Diesen Stream wieder im Live-Karussell anzeigen.', - 'Web page': 'Webseite', - Open: 'Öffnen', - 'Sorry! The note cannot be found 😔': 'Entschuldigung! Die Notiz wurde nicht gefunden 😔', - 'This user has been muted': 'Dieser Benutzer wurde stummgeschaltet', - Wallet: 'Wallet', - Sats: 'Sats', - sats: 'sats', - 'Zap to': 'Zap an', - 'Zap n sats': 'Zap {{n}} sats', - zapComment: 'Kommentar', - 'Default zap amount': 'Standard-Zap-Betrag', - 'Default zap comment': 'Standard-Zap-Kommentar', - 'Lightning Address (or LNURL)': 'Lightning-Adresse (oder LNURL)', - 'Quick zap': 'Schneller Zap', - 'If enabled, you can zap with a single click. Click and hold for custom amounts': - 'Wenn aktiviert, kannst du mit einem Klick zapen. Klicke und halte für individuelle Beträge', - All: 'Alle', - Reactions: 'Reaktionen', - Zaps: 'Zaps', - Boosts: 'Boosts', - Badges: 'Abzeichen', - Reports: 'Meldungen', - 'Enjoying Imwald?': 'Gefällt dir Imwald?', - 'Your donation helps me maintain Imwald and make it better! 😊': - 'Deine Spende hilft mir, Imwald zu pflegen und zu verbessern! 😊', - 'Earlier notifications': 'Frühere Benachrichtigungen', - 'Temporarily display this note': 'Notiz vorübergehend anzeigen', - buttonFollowing: 'Folge', - 'Are you sure you want to unfollow this user?': - 'Möchtest du diesem Benutzer wirklich nicht mehr folgen?', - 'Recent Supporters': 'Neueste Unterstützer', - 'Seen on': 'Gesehen auf', - 'Active relays': 'Aktive Relays', - 'Not connected': 'Nicht verbunden', - 'Relay session striked': 'Diese Sitzung übersprungen (zu viele Verbindungsfehler)', - 'More relays': '+{{count}} Relays', - 'Temporarily display this reply': 'Antwort vorübergehend anzeigen', - 'Note not found': 'Die Notiz wurde nicht gefunden', - 'Invalid embedded note reference': 'Ungültige eingebettete Notiz-Referenz', - embeddedNoteInvalidEmpty: 'Dieser eingebettete Link ist leer.', - embeddedNoteInvalidHex: - 'Keine gültige Hex-Event-ID (es werden genau 64 hexadezimale Zeichen erwartet).', - embeddedNoteInvalidBech32: - 'Keine gültige Nostr-ID (Bech32 konnte nicht gelesen werden). Tippfehler oder abgeschnittene Adresse?', - embeddedNoteInvalidWrongKind: - 'Dies ist eine {{type}}-Adresse. Eingebettete Notizen brauchen note1, nevent1, naddr1 oder 64 Zeichen Hex.', - 'The note was not found on your relays or default relays.': - 'The note was not found on your relays or default relays.', + "Welcome! 🥳": "Willkommen! 🥳", + About: "Über", + "New Note": "Neue Notiz", + Post: "Beitrag", + Home: "Startseite", + Feed: "Feed", + "Favorite Relays": "Lieblings-Relays", + "Relay pulse": "Relay-Puls", + "Relay pulse empty": "In der letzten Stunde war es ruhig auf deinen Relays.", + "Relay pulse follows": "Folge ich ({{count}})", + "Relay pulse others": "Andere ({{count}})", + "Relay pulse updated": "Aktualisiert {{relative}}", + "Relay pulse active npubs": "Aktive npubs", + "Relay pulse active npubs hint": "Kind-0-Profile für npubs, die in der letzten Stunde auf deinen Lieblingsrelais auftauchten (gleiche Stichprobe wie Relay-Puls).", + "Relay pulse drawer following": "Folge ich", + "Relay pulse drawer others": "Andere", + "Relay pulse drawer no profiles": "Für diese Stichprobe wurden noch keine Kind-0-Profile geladen.", + "See the newest notes from your follows": "Neueste Notizen von deinen Abos anzeigen", + "All favorite relays": "Alle Lieblingsrelais", + "Pinned note": "Angehefteter Beitrag", + "Relay settings": "Relay-Einstellungen", + "Relay auth accepted (NIP-42)": "Das Relay hat die Authentifizierung akzeptiert (NIP-42): {{relay}}{{detailSuffix}}", + "Relay auth rejected (NIP-42)": "Das Relay hat die Authentifizierung abgelehnt (NIP-42): {{relay}} — {{message}}", + "Relay auth error unknown": "Unbekannter Fehler", + Settings: "Einstellungen", + "Account menu": "Kontomenü", + SidebarRelays: "Relays", + Refresh: "Aktualisieren", + "refresh.longPressHardReload": "Long-press: reload app and restore feed cache", + "link.expandNostrEmbed": "Show Nostr preview", + Profile: "Profil", + Logout: "Abmelden", + Following: "Folgende", + followings: "Folgekonten", + boosted: "geboostet", + "Boosted by:": "Geboostet von:", + "just now": "gerade eben", + "n minutes ago": "vor {{n}} Minuten", + "n m": "vor {{n}}m", + "n hours ago": "vor {{n}} Stunden", + "n h": "vor {{n}}h", + "n days ago": "vor {{n}} Tagen", + "n d": "vor {{n}}d", + date: "{{timestamp, date}}", + Follow: "Folgen", + Unfollow: "Nicht mehr folgen", + "Follow failed": "Folgen fehlgeschlagen", + "Unfollow failed": "Nicht mehr folgen fehlgeschlagen", + "show new notes": "zeige neue Notizen", + "loading...": "lädt...", + "Loading...": "Lade...", + "no more notes": "keine weiteren Notizen", + "calendar entries": "Kalender-Einträge", + "Loading calendar events...": "Kalender-Einträge werden geladen...", + "No calendar events found": "Keine Kalender-Einträge gefunden", + "Calendar events in the next {{count}} months": "Kalender-Einträge in den nächsten {{count}} Monaten", + "The nostr.band relay appears to be temporarily out of service. Please try again later.": "The nostr.band relay appears to be temporarily out of service. Please try again later.", + "reply to": "antworten an", + reply: "antworten", + Reply: "Antwort", + "load more older replies": "ältere Antworten laden", + "Write something...": "Schreibe etwas...", + Cancel: "Abbrechen", + Mentions: "@", + "Search for event or address…": "Nach Event oder Adresse suchen…", + "Search notes…": "Notizen suchen…", + "No notes found": "Keine Notizen gefunden", + "Failed to post": "Posten fehlgeschlagen", + "Post successful": "Beitrag erfolgreich", + "Your post has been published": "Dein Beitrag wurde veröffentlicht", + Boost: "Boost", + "Boost published": "Boost veröffentlicht", + Quote: "Zitat", + "Copy event ID": "Ereignis-ID kopieren", + "Copy user ID": "Benutzer-ID kopieren", + "Send public message": "Öffentliche Nachricht senden", + "View raw event": "Rohdaten anzeigen", + "Edit this event": "Dieses Event bearbeiten", + "Clone or fork this event": "Event klonen oder forken", + "Event kind": "Event-Kind", + "Note content": "Inhalt", + Publish: "Veröffentlichen", + "Post published": "Beitrag veröffentlicht", + "Edit content and tags, then publish a new signed event.": "Inhalt und Tags bearbeiten und als neues signiertes Event veröffentlichen.", + "Log in to publish": "Zum Veröffentlichen anmelden", + "Set when you publish": "wird beim Veröffentlichen gesetzt", + "id and sig are assigned when you publish": "id und sig werden beim Veröffentlichen gesetzt", + "Published to some relays only": "Nur an manche Relays veröffentlicht", + "Add field": "Feld hinzufügen", + "View full profile": "View full profile", + Like: "Gefällt mir", + "switch to light theme": "Wechsel zum hellen Design", + "switch to dark theme": "Wechsel zum dunklen Design", + "switch to system theme": "Zum Systemthema wechseln", + Note: "Notiz", + note: "notiz", + "username's following": "{{username}}s Folgen", + "username's used relays": "{{username}}s verwendete Relays", + "username's muted": "{{username}}s stummgeschaltet", + Login: "Anmelden", + downloadDesktopApp: "App herunterladen", + "Please log in to view notifications.": "Please log in to view notifications.", + "Follows you": "Folgt dir", + "Relay Settings": "Relay-Einstellungen", + "Relays and Storage Settings": "Relays and Storage Settings", + "Relay set name": "Relay-Set Name", + "Add a new relay set": "Neues Relay-Set hinzufügen", + Add: "Hinzufügen", + "n relays": "{{n}} Relays", + Rename: "Umbenennen", + "Copy share link": "Copy share link", + "Copy address": "Copy address", + "Copy payto URI": "Copy payto URI", + "Copied payto address": "Copied payto address", + "Copied to clipboard": "Copied to clipboard", + "Copied {{label}} address": "Copied {{label}} address", + "Lightning payment address – copy to pay via your wallet": "Lightning payment address – copy to pay via your wallet", + "Payment address – copy to use in your wallet or app": "Payment address – copy to use in your wallet or app", + "Click to open payment options": "Click to open payment options", + "Click to copy address": "Click to copy address", + "Open on website": "Open on website", + "Raw profile event": "Raw profile event", + "Full profile event": "Full profile event", + "Event (JSON)": "Event (JSON)", + "Save full profile": "Save full profile", + "Add tag": "Add tag", + "Remove tag": "Remove tag", + "Tag name": "Tag name", + Value: "Value", + "Add value to tag": "Add value to tag", + "Remove value": "Wert entfernen", + "No tags. Click \"Add tag\" to add one.": "No tags. Click \"Add tag\" to add one.", + "Profile updated": "Profile updated", + "Failed to publish profile": "Failed to publish profile", + "Invalid profile JSON": "Invalid profile JSON", + "Refresh cache": "Refresh cache", + "Force-refresh profile and payment info from relays": "Force-refresh profile and payment info from relays", + "Profile and payment cache refreshed": "Profile and payment cache refreshed", + "Failed to refresh cache": "Failed to refresh cache", + "Raw payment info event": "Raw payment info event", + "Payment info": "Payment info", + "Edit payment info": "Edit payment info", + "Add payment info": "Add payment info", + "No payment info event yet. Click \"Add payment info\" to create one.": "No payment info event yet. Click \"Add payment info\" to create one.", + "Content (JSON)": "Content (JSON)", + Tags: "Tags", + "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])": "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])", + "Payment info updated": "Payment info updated", + "Failed to publish payment info": "Failed to publish payment info", + "Invalid tags JSON": "Invalid tags JSON", + "Payment methods": "Payment methods", + "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).": "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).", + "Type (e.g. lightning)": "Type (e.g. lightning)", + "Authority (e.g. user@domain.com)": "Authority (e.g. user@domain.com)", + "Add payment method": "Add payment method", + Remove: "Remove", + "Additional content (JSON)": "Additional content (JSON)", + "Show full event JSON": "Show full event JSON", + "Tag list": "Tag list", + "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.": "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.", + "Tag value": "Tag value", + "Saving…": "Speichern…", + "Share with Imwald": "Mit Imwald teilen", + "Share with Alexandria": "Mit Alexandria teilen", + "Start video call": "Videoanruf starten", + "Copy call invite link": "Anruf-Einladungslink kopieren", + "Start call about this": "Anruf zu diesem Beitrag starten", + "Send call invite": "Anruf-Einladung senden", + "Read this note aloud": "Diese Notiz vorlesen", + "Read-aloud is not supported in this browser": "Vorlesen wird in diesem Browser nicht unterstützt", + "Nothing to read aloud": "Kein Text zum Vorlesen", + "Read-aloud failed": "Vorlesen fehlgeschlagen", + "Read aloud": "Vorlesen", + "Read-aloud idle": "Leerlauf", + "Preparing read-aloud…": "Vorlesen wird vorbereitet…", + "Requesting audio…": "Audio wird angefordert…", + "Loading audio…": "Audio wird geladen…", + "Preparing player…": "Player wird vorbereitet…", + "Starting stream…": "Stream wird gestartet…", + "Loading media…": "Medien werden geladen…", + "Buffering…": "Puffern…", + Playing: "Wiedergabe", + Paused: "Pausiert", + "Read-aloud finished": "Beendet", + "Read-aloud error": "Fehler", + "TTS endpoint": "TTS-Endpunkt", + "Using browser speech synthesis": "Browser-Sprachausgabe", + "Read-aloud section progress": "Abschnitt {{current}} von {{total}}", + "Request sent": "Anfrage gesendet", + "Response received": "Antwort erhalten", + "Playback started": "Wiedergabe gestartet", + Characters: "Zeichen", + Pause: "Pause", + Play: "Abspielen", + Stop: "Stopp", + "Read-aloud sections": "Vorlesen — Abschnitte", + "Read-aloud overall progress": "Gesamtfortschritt", + "Read-aloud section done": "Abschnitt {{index}}: fertig", + "Read-aloud section pending": "Abschnitt {{index}}: noch nicht gestartet", + "Read-aloud section fetching": "Abschnitt {{index}}: Audio wird angefordert", + "Read-aloud section preparing audio": "Abschnitt {{index}}: Audio wird geladen", + "Read-aloud section playing": "Abschnitt {{index}}: Wiedergabe", + "Read-aloud section paused": "Abschnitt {{index}}: pausiert", + "Read-aloud legend fetching": "Audio für diesen Abschnitt wird vom Server angefordert…", + "Read-aloud legend buffering": "Audio für diesen Abschnitt wird decodiert…", + "Read-aloud legend playing": "Dieser Abschnitt wird wiedergegeben.", + "Read-aloud legend paused": "Wiedergabe pausiert.", + "Read-aloud Piper fallback notice": "Die Server-Stimme (Piper) konnte nicht genutzt werden. Es wird die Browser-Sprachausgabe verwendet.", + "Read-aloud Piper fallback detail label": "Piper-Fehler", + "Read-aloud Piper status region": "Piper-Sprachausgabe (Server)", + "Read-aloud Piper status heading": "Piper (Server-Stimme)", + "Read-aloud Piper skipped notice": "Für diese App ist keine Piper-URL gesetzt (siehe VITE_READ_ALOUD_TTS_URL). Es wird nur die Browser-Stimme verwendet — der Server wurde nicht angesprochen.", + "Read-aloud Piper attempt started": "Piper wurde um {{time}} gestartet (dieses Vorlesen hat zuerst den Server verwendet).", + "Read-aloud Piper endpoint tried": "Verwendete URL: {{url}}", + "Join the video call": "Am Videoanruf teilnehmen", + "Schedule video call": "Videoanruf planen", + "You're invited to a scheduled video call.": "Du bist zu einem geplanten Videoanruf eingeladen.", + "Create a calendar event and send an invite. The recipient will see the event with a join link.": "Kalendertermin erstellen und Einladung senden. Der Empfänger sieht den Termin mit einem Teilnahme-Link.", + "Schedule a video call": "Videoanruf planen", + "Create a calendar event and send kind 24 invites to each listed invitee.": "Kalendertermin erstellen und an jede eingetragene Person eine Kind-24-Einladung senden.", + Invitees: "Eingeladene", + "Paste nostr:npub1... or nostr:nprofile1... (one or more)": "nostr:npub1... oder nostr:nprofile1... einfügen (einer oder mehrere)", + "Schedule and send invites": "Planen und Einladungen senden", + "Add at least one invitee (paste nostr:npub or nostr:nprofile links)": "Mindestens eine Person hinzufügen (nostr:npub- oder nostr:nprofile-Links einfügen)", + "Scheduled call created and {{count}} invite(s) sent": "Geplanter Anruf erstellt und {{count}} Einladung(en) gesendet", + "Join video call": "Videoanruf beitreten", + "Scheduled video call": "Geplanter Videoanruf", + "Video call": "Videoanruf", + "Schedule and send invite": "Planen und Einladung senden", + "Scheduling…": "Wird geplant…", + "Please set a start time": "Bitte Startzeit angeben", + "End time must be after start time": "Endzeit muss nach der Startzeit liegen", + "Failed to schedule call": "Anruf konnte nicht geplant werden", + "Scheduled call created and invite sent": "Geplanter Anruf erstellt und Einladung gesendet", + RSVP: "Rückmeldung", + "RSVP: {{status}}": "Rückmeldung: {{status}}", + Accepted: "Zusage", + Tentative: "Vielleicht", + Declined: "Absage", + "You need to log in to RSVP": "Zum Antworten bitte anmelden", + "RSVP updated": "Rückmeldung gesendet", + "Failed to update RSVP": "Rückmeldung konnte nicht gesendet werden", + Organizer: "Veranstalter", + Attendees: "Teilnehmer", + "No response": "Keine Rückmeldung", + "Calendar Events": "Kalendertermine", + "Calendar Event": "Kalendertermin", + "Schedule in-person meeting": "Präsenztermin planen", + "Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.": "Kalendertermin erstellen und Einladung senden. Ohne Video-Link – für reale Treffen, Konferenzen usw.", + "You're invited to an in-person meeting.": "Du bist zu einem Präsenztermin eingeladen.", + "Meeting created and invite sent": "Termin erstellt und Einladung gesendet", + "Failed to create meeting": "Termin konnte nicht erstellt werden", + "Create and send invite": "Erstellen und Einladung senden", + "Creating…": "Wird erstellt…", + "In-person meeting": "Präsenztermin", + Location: "Ort", + "Address, venue, or place": "Adresse, Veranstaltungsort oder Ort", + Description: "Beschreibung", + "Optional notes": "Optionale Notizen", + "Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.": "Kalendertermin für ein reales Treffen erstellen und an jede Person eine Kind-24-Einladung senden.", + "Meeting created and {{count}} invite(s) sent": "Termin erstellt und {{count}} Einladung(en) gesendet", + "Create and send invites": "Erstellen und Einladungen senden", + Title: "Titel", + Start: "Beginn", + End: "Ende", + Delete: "Löschen", + "Relay already exists": "Relay existiert bereits", + "invalid relay URL": "Ungültige Relay-URL", + "Relay URL…": "wss://… oder Relay-Host", + "Open relay": "Relay öffnen", + "Add a new relay": "Neues Relay hinzufügen", + back: "Zurück", + "Lost in the void": "Verloren im Nichts", + "Carry me home": "Bring mich nach Hause", + "no replies": "keine Antworten", + "Reply to": "Antwort an", + Search: "Suchen", + "The relays you are connected to do not support search": "Die verbundenen Relays unterstützen keine Suche", + "Show more...": "Mehr anzeigen...", + "All users": "Alle Benutzer", + "Display replies": "Antworten anzeigen", + Notes: "Notizen", + Replies: "Antworten", + Gallery: "Galerie", + Notifications: "Benachr.", + "no more notifications": "keine weiteren Benachrichtigungen", + "Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.": "Die Anmeldung mit privatem Schlüssel ist unsicher. Es wird empfohlen, eine Browser-Erweiterung wie alby, nostr-keyx oder nos2x zu verwenden. Wenn du einen privaten Schlüssel verwenden musst, solltest du mindestens ein Passwort zur Verschlüsselung festlegen.", + "Login with Browser Extension": "Mit Browser-Erweiterung anmelden", + "Login with Bunker": "Mit Bunker anmelden", + "Login with Private Key": "Mit privatem Schlüssel anmelden", + "Login with npub (read-only)": "Mit npub anmelden (nur lesen)", + readOnlySession: {"label":"Read-only","labelShort":"R/O","hint":"Browsing without a signing key. Sign in with an extension, nsec, or another method to post, react, and edit."}, + "reload notes": "Notizen neu laden", + "Logged in Accounts": "Angemeldete Konten", + "Add an Account": "Konto hinzufügen", + "More options": "Mehr Optionen", + "Add client tag": "Client-Tag hinzufügen", + "Show others this was sent via Imwald": "Anderen zeigen, dass dies über Imwald gesendet wurde", + "Are you sure you want to logout?": "Bist du sicher, dass du dich abmelden möchtest?", + "relay sets": "Relay-Sets", + edit: "bearbeiten", + Languages: "Sprachen", + Theme: "Design", + System: "System", + Light: "Hell", + Dark: "Dunkel", + Temporary: "Temporär", + "Choose a relay set": "Wähle ein Relay-Set", + "Switch account": "Konto wechseln", + Pictures: "Bilder", + "Picture note": "Bildnotiz", + "A special note for picture-first clients like Olas": "Eine spezielle Notiz für bildfokussierte Clients wie Olas", + "Picture note requires images": "Bildnotiz erfordert Bilder", + Relays: "Relays", + Image: "Bild", + "This image could not be loaded.": "Dieses Bild konnte nicht geladen werden.", + "Invalid or unsupported image address.": "Ungültige oder nicht unterstützte Bildadresse.", + "Open image link": "Bildlink öffnen", + "Upload Image": "Bild hochladen", + "Insert emoji": "Emoji einfügen", + "Insert GIF": "GIF einfügen", + "Insert meme": "Insert meme", + "Search GIFs": "GIFs suchen", + "Search memes": "Search memes", + "Choose a GIF": "GIF auswählen", + "Choose a meme": "Choose a meme", + "Search GifBuddy for more GIFs": "Bei GifBuddy nach weiteren GIFs suchen", + "Add your own GIFs": "Eigene GIFs hinzufügen", + "Add your own meme templates": "Add your own meme templates", + "Description (optional, for search)": "Beschreibung (optional, für Suche)", + "e.g. happy birthday, thumbs up": "z. B. happy birthday, Daumen hoch", + "e.g. drake, distracted boyfriend": "e.g. drake, distracted boyfriend", + "Uploading...": "Wird hochgeladen...", + "No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.": "Keine GIFs gefunden. Suche oder füge eigene hinzu. GIFs stammen von Nostr-Kind-1063-Events (NIP-94) auf GIF-Relays.", + "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).": "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).", + "Failed to publish meme template for the picker": "Failed to publish meme template for the picker", + "{{name}} is not a GIF file": "{{name}} ist keine GIF-Datei", + "{{name}} is not a JPEG, PNG, or WebP file": "{{name}} is not a JPEG, PNG, or WebP file", + "R & W": "R & W", + Read: "Lesen", + Write: "Schreiben", + "Pull relay sets": "Relay-Sets abrufen", + "Select the relay sets you want to pull": "Wähle die Relay-Sets, die du abrufen möchtest", + "No relay sets found": "Keine Relay-Sets gefunden", + "Pull n relay sets": "Hole {{n}} Relay-Sets", + Pull: "Abrufen", + "Select all": "Alle auswählen", + "Relay Sets": "Relay-Sets", + "Read & Write Relays": "Lese- & Schreib-Relays", + "read relays description": "Leserelays werden verwendet, um Ereignisse über dich abzurufen. Andere Benutzer senden die Ereignisse, die du sehen sollst, an deine Leserelays.", + "write relays description": "Schreibrelays werden verwendet, um deine Ereignisse zu veröffentlichen. Andere Benutzer rufen deine Ereignisse von deinen Schreibrelays ab.", + "read & write relays notice": "Die Anzahl der Lese- und Schreibserver sollte idealerweise zwischen 2 und 4 liegen.", + "Don't have an account yet?": "Noch keinen Account?", + "or simply generate a private key": "oder erstelle einfach einen privaten Schlüssel", + "This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.": "Dies ist ein privater Schlüssel. Teile ihn mit niemandem. Bewahre ihn sicher auf. Du kannst ihn nicht wiederherstellen, falls du ihn verlierst.", + Edit: "Bearbeiten", + Save: "Speichern", + "Display Name": "Anzeigename", + Bio: "Biografie", + "Nostr Address (NIP-05)": "Nostr-Adresse (NIP-05)", + "Invalid NIP-05 address": "Ungültige NIP-05 Adresse", + "Copy private key": "Privaten Schlüssel kopieren", + "Enter the password to decrypt your ncryptsec": "Gib das Passwort ein, um deinen ncryptsec zu entschlüsseln", + Back: "Zurück", + "optional: encrypt nsec": "optional: nsec verschlüsseln", + password: "Passwort", + "Sign up": "Registrieren", + "Save to": "Speichern in", + "Enter a name for the new relay set": "Gib einen Namen für das neue Relay-Set ein", + "Save to a new relay set": "In ein neues Relay-Set speichern", + Mute: "Stummschalten", + Muted: "Stummgeschaltet", + Unmute: "Stummschaltung aufheben", + "Unmute user": "Benutzer-Stummschaltung aufheben", + Block: "Block", + Unblock: "Unblock", + blocked: "blocked", + "Append n relays": "Füge {{n}} Relays hinzu", + Append: "Hinzufügen", + "Select relays to append": "Wähle die hinzuzufügenden Relays", + "calculating...": "berechne...", + "Calculate optimal read relays": "Optimale Leserelays berechnen", + "Login to set": "Anmelden zum Set", + "Please login to view following feed": "Bitte melde dich an, um den Feed der Folgenden zu sehen", + "Follow set": "Folgenliste", + "Follow set feed empty": "Diese NIP-51-Liste ist leer, wurde nicht gefunden, oder die Relays konnten sie noch nicht laden.", + "Send only to r": "Nur an {{r}} senden", + "Send only to these relays": "Nur an diese Relays senden", + Explore: "Entdecken", + "Relay reviews": "Bewertungen", + "Search relays": "Relays suchen", + relayInfoBadgeAuth: "Auth", + relayInfoBadgeSearch: "Suche", + relayInfoBadgePayment: "Zahlung", + Operator: "Betreiber", + Contact: "Kontakt", + Software: "Software", + Version: "Version", + "Random Relays": "Zufällige Relays", + randomRelaysRefresh: "Aktualisieren", + "Explore more": "Mehr entdecken", + "Payment page": "Zahlungsseite", + "Supported NIPs": "Unterstützte NIPs", + "Relay liveliness (NIP-66)": "Relay-Liveness (NIP-66)", + "Relay monitor (NIP-66)": "Relay-Monitor (NIP-66)", + "Auth required": "Auth erforderlich", + "Public (no auth)": "Öffentlich (keine Auth)", + "Payment required": "Zahlung erforderlich", + "No payment": "Keine Zahlung", + "Writes required": "Schreiben erforderlich", + "Writes open": "Schreiben offen", + "PoW required": "PoW erforderlich", + "No PoW": "Kein PoW", + "RTT open": "RTT open", + "RTT read": "RTT read", + "RTT write": "RTT write", + "Supported NIPs (from monitor)": "Unterstützte NIPs (vom Monitor)", + "Last reported by monitor": "Zuletzt vom Monitor gemeldet", + Network: "Netzwerk", + Type: "Typ", + Topics: "Themen", + "Open in a": "Öffnen in {{a}}", + "Cannot handle event of kind k": "Ereignis des Typs {{k}} kann nicht verarbeitet werden", + "Unsupported event preview": "There isn’t a dedicated card for this event type yet. Here’s a readable preview.", + "No text content in event": "No text in this event.", + "Technical details": "Technical details", + "Event kind and time": "Kind {{kind}} · {{time}}", + "Event kind label": "Kind {{kind}}", + "Note kind label line": "KIND: {{kind}} · {{description}}", + "Unknown note declared kind tag": "Tagged kind: {{value}}", + "Unknown note tagged pubkey": "Tagged pubkey", + "Unknown note tagged content": "Content", + "Unknown note reference tags": "Referenz-Tags (e, p, q, a)", + "Starred spells": "Markierte Sprüche", + "Spell star add title": "Spruch markieren (wird zu deinen Nostr-Lesezeichen hinzugefügt)", + "Spell star remove title": "Markierung aufheben (aus Nostr-Lesezeichen entfernen)", + "Copy JSON": "Copy JSON", + Verse: "Verse", + "Notification reaction summary": "hat auf diese Notiz reagiert.", + "Notification discussion upvote summary": "hat in dieser Diskussion positiv bewertet.", + "Notification discussion downvote summary": "hat in dieser Diskussion negativ bewertet.", + "Notification boost summary": "Hat diese Notiz geboostet", + "Notification boost detail": "Die Vorschau darüber ist der Originalbeitrag.", + "Notification poll vote summary": "Hat an der Umfrage darüber teilgenommen.", + "Notification poll vote options count": "{{count}} Option(en) gewählt", + "Imwald synthetic event": "Imwald – synthetisches Ereignis", + "+ Add a URL to this list": "URL zur Liste hinzufügen", + "Add a web URL": "Web-URL hinzufügen", + "Add web URL to feed description": "Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.", + "Add to feed": "Add to feed", + "Open any https page in the side panel to reply, react, and discuss on Nostr.": "Beliebige https-Seite im Seitenpanel öffnen, um auf Nostr zu antworten, zu reagieren und zu diskutieren.", + "Enter a valid http(s) URL": "Bitte eine gültige http(s)-URL eingeben", + "Opened by URL — not from your RSS list. Nostr thread is still tied to this link.": "Per URL geöffnet — nicht aus deiner RSS-Liste. Der Nostr-Thread hängt weiter an diesem Link.", + "Open in browser": "Im Browser öffnen", + "liveEvent.zapStreamPlayer": "Livestream (zap.stream)", + liveStreamEmbedSuppressed: "Der eingebettete Livestream ist ausgeblendet, weil dein Kind-Filter NIP-53-Streams ausschließt. Unten per njump oder anderem Client öffnen.", + "liveEvent.hlsPlaybackUnavailable": "Wiedergabe hier fehlgeschlagen (Stream offline, beendet oder blockiert). Die gehostete Watch-Seite kannst du unten trotzdem öffnen.", + "liveEvent.hideFromCarousel": "Im Karussell ausblenden", + "liveEvent.showInCarousel": "Im Karussell anzeigen", + "liveEvent.hideFromCarouselTitle": "Diesen Stream im Live-Karussell ausblenden (lokal in diesem Browser gespeichert). Erneut klicken, um ihn wieder anzuzeigen.", + "liveEvent.showInCarouselTitle": "Diesen Stream wieder im Live-Karussell anzeigen.", + "Web page": "Webseite", + Open: "Öffnen", + "Sorry! The note cannot be found 😔": "Entschuldigung! Die Notiz wurde nicht gefunden 😔", + "This user has been muted": "Dieser Benutzer wurde stummgeschaltet", + Wallet: "Wallet", + Sats: "Sats", + sats: "sats", + "Zap to": "Zap an", + "Zap n sats": "Zap {{n}} sats", + zapComment: "Kommentar", + "Default zap amount": "Standard-Zap-Betrag", + "Default zap comment": "Standard-Zap-Kommentar", + "Lightning Address (or LNURL)": "Lightning-Adresse (oder LNURL)", + "Quick zap": "Schneller Zap", + "If enabled, you can zap with a single click. Click and hold for custom amounts": "Wenn aktiviert, kannst du mit einem Klick zapen. Klicke und halte für individuelle Beträge", + All: "Alle", + Reactions: "Reaktionen", + Zaps: "Zaps", + Boosts: "Boosts", + Badges: "Abzeichen", + Reports: "Meldungen", + "Enjoying Imwald?": "Gefällt dir Imwald?", + "Your donation helps me maintain Imwald and make it better! 😊": "Deine Spende hilft mir, Imwald zu pflegen und zu verbessern! 😊", + "Earlier notifications": "Frühere Benachrichtigungen", + "Temporarily display this note": "Notiz vorübergehend anzeigen", + buttonFollowing: "Folge", + "Are you sure you want to unfollow this user?": "Möchtest du diesem Benutzer wirklich nicht mehr folgen?", + "Recent Supporters": "Neueste Unterstützer", + "Seen on": "Gesehen auf", + "Active relays": "Aktive Relays", + "Not connected": "Nicht verbunden", + "Relay session striked": "Diese Sitzung übersprungen (zu viele Verbindungsfehler)", + "More relays": "+{{count}} Relays", + "Temporarily display this reply": "Antwort vorübergehend anzeigen", + "Note not found": "Die Notiz wurde nicht gefunden", + "Invalid embedded note reference": "Ungültige eingebettete Notiz-Referenz", + embeddedNoteInvalidEmpty: "Dieser eingebettete Link ist leer.", + embeddedNoteInvalidHex: "Keine gültige Hex-Event-ID (es werden genau 64 hexadezimale Zeichen erwartet).", + embeddedNoteInvalidBech32: "Keine gültige Nostr-ID (Bech32 konnte nicht gelesen werden). Tippfehler oder abgeschnittene Adresse?", + embeddedNoteInvalidWrongKind: "Dies ist eine {{type}}-Adresse. Eingebettete Notizen brauchen note1, nevent1, naddr1 oder 64 Zeichen Hex.", + "The note was not found on your relays or default relays.": "The note was not found on your relays or default relays.", "Try searching author's relays": "Try searching author's relays", - 'Searching external relays...': 'Searching external relays...', - "This will connect to the author's relays and relay hints": - "This will connect to the author's relays and relay hints", - 'Note could not be found anywhere': 'Note could not be found anywhere', - 'Try external relays': 'Try external relays', - 'Searching...': 'Searching...', - 'Show relays': 'Show relays', - 'No external relay hints available': 'No external relay hints available', - 'External relay search is not available for this link type': - 'Externe Relay-Suche ist für diesen Linktyp nicht verfügbar.', - 'Searched external relays not found': - '{{count}} externe Relays durchsucht; die Note wurde nicht gefunden.', - 'no more replies': 'keine weiteren Antworten', - 'Relay sets': 'Relay-Sets', - 'Search for Relays': 'Relays suchen', - 'Using app default relays': 'Standard-Relays der App', - "Following's Favorites": 'Favoriten der Folgenden', - 'no more relays': 'keine weiteren Relays', - 'Favorited by': 'Favorisiert von', - 'Post settings': 'Beitragseinstellungen', - 'Publishing feedback': 'Rückmeldungen beim Veröffentlichen', - 'Publish success toasts': 'Erfolgs-Benachrichtigungen beim Veröffentlichen', - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.': - 'Grüne Hinweise anzeigen, wenn Beiträge, Antworten, Reaktionen und andere Veröffentlichungen gelingen. Wenn aus, erscheint kurz ein kleines Häkchen unten rechts. Fehler weiterhin als Hinweis.', - 'Publish successful': 'Veröffentlichung erfolgreich', - 'Media upload service': 'Medien-Upload-Service', - 'Choose a relay': 'Wähle ein Relay', - 'no relays found': 'Keine Relays gefunden', - video: 'Video', - 'Show n new notes': 'Zeige {{n}} neue Notizen', - YouTabName: 'Du', - Bookmark: 'Lesezeichen', - 'Remove bookmark': 'Lesezeichen entfernen', - 'no bookmarks found': 'Keine Lesezeichen gefunden', - 'no more bookmarks': 'Keine weiteren Lesezeichen', - Bookmarks: 'Lesezeichen', - 'Follow Packs': 'Follow-Packs', - 'Follow Pack': 'Follow-Pack', - 'Follow pack by': 'von', - 'In Follow Packs': 'In Follow-Packs', - 'Badge details': 'Abzeichen-Details', - 'Issued by': 'Ausgestellt von', - 'Other recipients': 'Weitere Empfänger:innen', - 'No other recipients found': 'Keine weiteren Empfänger:innen gefunden', - 'Recipients could not be loaded': 'Empfänger:innen konnten nicht geladen werden', - 'View award': 'Verleihung anzeigen', - 'Awarded on': 'Awarded on', - 'Please log in to follow': 'Zum Folgen bitte anmelden', - 'Following All': 'Allen gefolgt', - 'Followed {{count}} users': '{{count}} Nutzer:innen gefolgt', - 'All available members are already followed or muted': - 'Alle verfügbaren Mitglieder werden bereits gefolgt oder sind stummgeschaltet', - 'You are already following all members of this pack': - 'Du folgst bereits allen Mitgliedern dieses Packs', - 'Failed to follow pack': 'Follow-Pack fehlgeschlagen', - '{{count}} profiles': '{{count}} Profile', - 'Show more': 'Mehr anzeigen', - General: 'Allgemein', - Autoplay: 'Automatische Wiedergabe', - 'Enable video autoplay on this device': - 'Aktiviere die automatische Video-Wiedergabe auf diesem Gerät', - 'liveActivities.heading': 'Jetzt live', - 'liveActivities.regionLabel': 'Live-Räume und Streams', - 'liveActivities.fromFollow': 'Von jemandem, dem du folgst', - 'liveActivities.goToSlide': 'Live-Eintrag {{n}} anzeigen', - 'liveActivities.swipeToBrowse': - 'Wische auf dem Banner nach links oder rechts, um zwischen Live-Aktivitäten zu wechseln.', - 'liveActivities.viewNoteTitle': - 'Diese Live-Aktivität als Beitrag öffnen (Wiedergabe in der App, Links darunter)', - 'liveActivities.openJoinPageTitle': - 'Join-Seite in neuem Tab öffnen (z. B. zap.stream oder die Raum-Website)', - 'liveActivities.settingsToggle': 'Banner für Live-Aktivitäten', - 'liveActivities.settingsHint': - 'Zeigt NIP-53-Live-Räume (Audio/Video) von deinen Relays. Aktualisierung zur Viertelstunde und nach dem ersten Session-Warm-up.', - 'Add random relays to every publish': 'Zufällige Relays in der Publish-Liste', - 'Add random relays to every publish description': - 'Fügt {{n}} zufällige öffentliche Relays aus der NIP-66-Liveliness-Liste hinzu (bevorzugt solche, deren Monitor eine Write-RTT gemeldet hat). Bei AN standardmäßig ausgewählt; bei AUS in der Liste, aber nicht angehakt.', - relayType_local: 'Lokal', - relayType_relay_list: 'Relay-Liste', - relayType_http_relay_list: 'HTTP', - 'HTTP relays': 'HTTP-Relays', - httpRelaysDescription: - 'HTTPS-Index-Relays (z. B. REST /api/events/filter). Gleiche Lese-/Schreib-/beides-Rollen wie Mailbox-Relays; gespeichert als Kind 10243. Liste leeren und speichern, um eine leere Liste zu veröffentlichen.', - 'HTTP relays saved': 'HTTP-Relays gespeichert', - 'Failed to save HTTP relay list': 'HTTP-Relay-Liste konnte nicht gespeichert werden', - 'HTTP relays must start with https:// or http://': - 'HTTP-Relays müssen mit https:// oder http:// beginnen', - relayType_client_default: 'Client-Standard', - relayType_open_from: 'Aktueller Feed', - relayType_favorite: 'Favorit', - relayType_relay_set: 'Relay-Set', - relayType_contextual: 'Antwort/PN', - relayType_randomly_selected: 'Zufällig (optional)', - 'Session relays': 'Session-Relays', - 'Session relays tab description': - 'Relay-Logik für diese Session: funktionierende und gestrichene Preset-Relays sowie bewertete Zufallsrelays. Gestrichene Relays werden für Lesen und Schreiben bis zum Neuladen der App übersprungen.', - 'Session relays preset working': 'Funktionierende Preset-Relays', - 'Session relays preset working hint': - 'Preset-Relays (App-Standard), die die Session-Fehlerschwelle (2 Fehler) noch nicht erreicht haben.', - 'Session relays preset striked': 'Gestrichene Preset-Relays', - 'Session relays preset striked hint': - 'Preset-Relays mit 2 Verbindungs- oder Publish-Fehlern in dieser Session; werden für Lesen und Schreiben bis zum Neuladen übersprungen.', - 'Session relays scored random': 'Bewertete Zufallsrelays', - 'Session relays scored random hint': - 'Relays, die in dieser Session mindestens ein Publish angenommen haben; werden beim Auswählen von Zufallsrelays bevorzugt. Sortiert nach durchschnittlicher Latenz.', - 'Session relays all striked': 'Alle gestrichenen Relays (alle Quellen)', - 'Session relays clear strike': 'Wieder zulassen', - 'Session relays clear strike hint': - 'Relay aus der Session-Sperrliste nehmen; es wird wieder genutzt, bis neue Verbindungsfehler auftreten.', - 'relaySessionStrikes.bannerWarning': - 'Dieses Relay hat {{count}} Session-Strike(s) (Limit {{threshold}}) nach Verbindungs- oder Abfragefehlern.', - 'relaySessionStrikes.bannerSkipped': - 'Dieses Relay hat die Session-Fehlergrenze ({{threshold}} Strikes) erreicht und wird in diesem Tab für Lesen und Publizieren übersprungen.', - 'relaySessionStrikes.refreshHint': - 'Mit {{refresh}} werden die Strikes für dieses Relay zurückgesetzt und der Feed erneut geladen.', - successes: 'Erfolge', - None: 'Keine', - 'Cache & offline storage': 'Cache & Offline-Speicher', - feedStarting: 'Starting feeds and relays… This can take a few seconds after login.', - singleRelayKindFallbackNotice: - 'Dieses Relay hat auf eine offene Anfrage (ohne kinds im Filter) keine Events geliefert. Der Feed unten nutzt stattdessen deinen gewohnten Kind-Filter.', - refreshCacheButtonExplainer: - 'Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.', - 'eventArchive.sectionTitle': 'Notes & feed archive', - 'eventArchive.sectionBlurb': - 'Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.', - 'eventArchive.defaultsMobile': - 'This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).', - 'eventArchive.defaultsElectron': - 'Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.defaultsDesktopWeb': - 'Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.enablePersist': 'Persist feed events to disk', - 'eventArchive.maxMb': 'Max archive size (MB), blank = default for this device', - 'eventArchive.maxEvents': 'Max archived events, blank = default', - 'eventArchive.sessionLru': 'In-memory session cache (event count), blank = default', - 'eventArchive.effectiveSummary': - 'Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.', - 'eventArchive.on': 'on', - 'eventArchive.off': 'off', - 'eventArchive.apply': 'Apply cache settings', - 'eventArchive.appliedToast': 'Cache settings saved. Session memory updated.', - 'Paste or drop media files to upload': - 'Füge Medien-Dateien ein oder ziehe sie hierher, um sie hochzuladen', - Preview: 'Vorschau', - 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'Du bist dabei, ein Ereignis zu veröffentlichen, das von [{{eventAuthorName}}] signiert wurde. Du bist derzeit als [{{currentUsername}}] angemeldet. Bist du sicher?', - 'Platinum Sponsors': 'Platin-Sponsoren', - From: 'Von', - 'Comment on': 'Kommentar zu', - 'View on njump.me': 'Auf njump.me ansehen', - 'Hide content from untrusted users': - 'Inhalte von nicht vertrauenswürdigen Benutzern ausblenden', - 'Only show content from your followed users and the users they follow': - 'Nur Inhalte von Benutzern anzeigen, denen du folgst und die sie folgen', - 'Followed by': 'Gefolgt von', - 'Mute user privately': 'Benutzer privat stummschalten', - 'Mute user publicly': 'Benutzer öffentlich stummschalten', - Quotes: 'Zitate', - 'Lightning Invoice': 'Lightning-Rechnung', - 'Bookmark failed': 'Bookmark fehlgeschlagen', - 'Remove bookmark failed': 'Bookmark entfernen fehlgeschlagen', - Translation: 'Übersetzung', - Balance: 'Guthaben', - characters: 'Zeichen', - translateApiKeyDescription: - 'Du kannst diesen API-Schlüssel überall dort verwenden, wo LibreTranslate unterstützt wird. Die Service-URL ist {{serviceUrl}}', - 'Top up': 'Aufladen', - 'Will receive: {n} characters': 'Erhalte: {{n}} Zeichen', - 'Top up {n} sats': 'Lade {{n}} sats auf', - 'Minimum top up is {n} sats': 'Minimale Aufladung beträgt {{n}} sats', - Service: 'Dienst', - 'Reset API key': 'API-Schlüssel zurücksetzen', - 'Are you sure you want to reset your API key? This action cannot be undone.': - 'Bist du sicher, dass du deinen API-Schlüssel zurücksetzen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.', - Warning: 'Warnung', - 'Errors & warnings': 'Fehler & Warnungen', - 'Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.': - 'Dein aktueller API-Schlüssel wird sofort ungültig, und alle Anwendungen, die ihn verwenden, werden nicht mehr funktionieren, bis du sie mit dem neuen Schlüssel aktualisierst.', - 'Service address': 'Service-Adresse', - Pay: 'Bezahlen', - interactions: 'Interaktionen', - notifications: 'Benachrichtigungen', - notificationsViewAsAccount: 'Anzeigen als', - notificationsViewAsAccountAria: - 'Gespeichertes Konto wechseln. Benachrichtigungen, Antworten, Zaps, Reaktionen und Boosts nutzen dieses Konto.', - notificationsSwitchAccountFailed: - 'Kontowechsel fehlgeschlagen. Signierer, Passwort oder Erweiterung prüfen und erneut versuchen.', - 'Show untrusted {type}': 'Untrusted {{type}} anzeigen', - 'Hide untrusted {type}': 'Untrusted {{type}} ausblenden', - 'Currently hiding {type} from untrusted users.': - 'Derzeit werden {{type}} von nicht vertrauenswürdigen Benutzern ausgeblendet.', - 'Currently showing all {type}.': 'Derzeit werden alle {{type}} angezeigt.', - 'Click continue to show all {type}.': 'Klicke auf Weiter, um alle {{type}} anzuzeigen.', - 'Click continue to hide {type} from untrusted users.': - 'Klicke auf Weiter, um {{type}} von nicht vertrauenswürdigen Benutzern auszublenden.', - 'Trusted users include people you follow and people they follow.': - 'Vertrauenswürdige Benutzer sind Personen, denen du folgst, und Personen, denen sie folgen.', - Continue: 'Weiter', - 'Successfully updated mute list': 'Stummschalteliste erfolgreich aktualisiert', - 'No pubkeys found from {url}': 'Keine Pubkeys von {{url}} gefunden', - 'Translating...': 'Übersetze...', - Translate: 'Übersetzen', - 'Show original': 'Original anzeigen', - Website: 'Website', - 'Hide untrusted notes': 'Untrusted Notizen ausblenden', - 'Open in another client': 'In anderem Client öffnen', - Community: 'Community', - Group: 'Gruppe', - 'Live event': 'Live-Event', - Article: 'Artikel', - Unfavorite: 'Nicht mehr favorisieren', - 'Recommended relays': 'Empfohlene Relays', - 'Show recommended relays panel': 'Empfohlene Relays-Panel anzeigen', - 'Display the right-side panel with recommended relays on desktop': - 'Das rechte Panel mit empfohlenen Relays auf dem Desktop anzeigen', - 'Blossom server URLs': 'Blossom-Server-URLs', - 'You need to add at least one blossom server in order to upload media files.': - 'Du musst mindestens einen Blossom-Server hinzufügen, um Mediendateien hochladen zu können.', - 'Recommended blossom servers': 'Empfohlene Blossom-Server', - 'Enter Blossom server URL': 'Blossom-Server-URL eingeben', - Preferred: 'Bevorzugt', - 'Multiple choice (select one or more)': 'Mehrfachauswahl (eine oder mehrere auswählen)', - Vote: 'Abstimmen', - '{{number}} votes': '{{number}} Stimmen', - 'Total votes': 'Gesamtstimmen', - 'Poll has ended': 'Umfrage beendet', - 'Poll ends at {{time}}': 'Umfrage endet am {{time}}', - 'Load results': 'Ergebnisse laden', - 'This is a poll note.': 'Dies ist eine Umfrage-Notiz.', - 'Unlike regular notes, polls are not widely supported and may not display on other clients.': - 'Im Gegensatz zu regulären Notizen werden Umfragen nicht weit verbreitet unterstützt und werden möglicherweise nicht in anderen Clients angezeigt.', - 'Option {{number}}': 'Option {{number}}', - 'Add Option': 'Option hinzufügen', - 'Remove option': 'Option entfernen', - 'Close highlight editor': 'Highlight-Editor schließen', - 'Allow multiple choices': 'Mehrfachauswahl erlauben', - 'End Date (optional)': 'Enddatum (optional)', - 'Clear end date': 'Enddatum löschen', - 'Relay URLs (optional, comma-separated)': 'Relay-URLs (optional, durch Kommas getrennt)', - 'Remove poll': 'Umfrage entfernen', - 'Refresh results': 'Ergebnisse aktualisieren', - '{{votes}} · {{pct}}%': '{{votes}} · {{pct}}%', - 'See results': 'See results', - 'Zap poll (paid votes)': 'Zap poll (paid votes)', - 'Invalid zap poll': 'Invalid zap poll', - 'You voted on this poll (zap receipt)': 'You voted on this poll (zap receipt)', - 'Poll closed {{time}}': 'Poll closed {{time}}', - 'Closes {{time}}': 'Closes {{time}}', - 'Vote size': 'Vote size', - '{{n}} sats (fixed)': '{{n}} sats (fixed)', - '{{min}}–{{max}} sats': '{{min}}–{{max}} sats', - '≥ {{n}} sats': '≥ {{n}} sats', - '≤ {{n}} sats': '≤ {{n}} sats', - 'Loading tally…': 'Loading tally…', - 'Zap poll no votes yet': - 'No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).', - 'Consensus threshold': 'Consensus threshold', - 'Pay to': 'Pay to', - Recipient: 'Recipient', - Option: 'Option', - 'Select option': 'Select option', - 'Select an option': 'Select an option', - 'Vote with zap': 'Vote with zap', - 'Zap sent': 'Zap sent', - 'Zapping…': 'Zapping…', - 'Refresh tally': 'Refresh tally', - '{{n}} zaps': '{{n}} zaps', - Poll: 'Umfrage', - Media: 'Medien', - 'Articles and Publications': 'Artikel und Veröffentlichungen', - 'Search articles...': 'Artikel suchen…', - 'Refreshing articles...': 'Artikel werden aktualisiert…', - 'No articles or publications found': 'Keine Artikel oder Veröffentlichungen gefunden', - 'No articles or publications match your search': - 'Keine Artikel oder Veröffentlichungen entsprechen der Suche', - 'articles and publications': 'Artikel und Veröffentlichungen', - Interests: 'Interessen', - Calendar: 'Kalender', - 'No subscribed interests yet.': - 'Noch keine Interessen abonniert. Themen in den Einstellungen hinzufügen, um sie hier zu sehen.', - 'No bookmarked notes with id tags yet.': - 'Noch keine Lesezeichen mit Ereignis-IDs. Nur klassische (e-Tag-) Lesezeichen erscheinen in diesem Feed.', - 'No follows or relays to load yet.': 'Noch keine Follows oder Relays zum Laden.', - 'Nothing to load for this feed.': 'Für diesen Feed gibt es nichts zu laden.', - 'No posts loaded for this feed. Try refreshing.': - 'Keine Beiträge für diesen Feed geladen. Bitte aktualisieren.', - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.': - 'Die Relays haben keine Ereignisse für diesen Feed geliefert. Sie können offline sein, langsam antworten oder diese Notizen nicht indexieren.', - 'Per-relay timeline results ({{count}} connections)': - 'Ergebnis je Relay ({{count}} Verbindungen)', - 'Republish to ...': 'Erneut veröffentlichen zu ...', - 'All available relays': 'All available relays', - 'All active relays (monitoring list)': 'All active relays (monitoring list)', - 'Successfully republish to all available relays': - 'Successfully republish to all available relays', - 'Failed to republish to all available relays: {{error}}': - 'Failed to republish to all available relays: {{error}}', - 'Successfully republish to all active relays': 'Successfully republish to all active relays', - 'Failed to republish to all active relays: {{error}}': - 'Failed to republish to all active relays: {{error}}', - 'No active relays in monitoring list': 'No active relays in monitoring list', - 'No relay accepted the event': 'No relay accepted the event', - 'No relays available': 'No relays available', - 'No write relays configured': 'No write relays configured', - 'Relay did not accept the event': 'Relay did not accept the event', - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".': - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".', - 'Successfully republish to your write relays': - 'Erfolgreich erneut zu deinen Schreib-Relays veröffentlicht', - 'Failed to republish to your write relays: {{error}}': - 'Fehler beim erneuten Veröffentlichen zu deinen Schreib-Relays: {{error}}', - 'Successfully republish to relay set: {{name}}': - 'Erfolgreich erneut zu Relay-Set veröffentlicht: {{name}}', - 'Failed to republish to relay set: {{name}}. Error: {{error}}': - 'Fehler beim erneuten Veröffentlichen zu Relay-Set: {{name}}. Fehler: {{error}}', - 'Successfully republish to relay: {{url}}': - 'Erfolgreich erneut zu Relay veröffentlicht: {{url}}', - 'Failed to republish to relay: {{url}}. Error: {{error}}': - 'Fehler beim erneuten Veröffentlichen zu Relay: {{url}}. Fehler: {{error}}', - 'Write relays': 'Schreib-Relays', - 'No more reactions': 'Keine weiteren Reaktionen', - 'No reactions yet': 'Noch keine Reaktionen', - 'No more zaps': 'Keine weiteren Zaps', - 'No zaps yet': 'Noch keine Zaps', - 'No more boosts': 'Keine weiteren Boosts', - 'No boosts yet': 'Noch keine Boosts', - 'n more boosts': '{{count}} weitere Boosts', - FollowListNotFoundConfirmation: - 'Folgeliste nicht gefunden. Möchten Sie eine neue erstellen? Wenn Sie zuvor Benutzer gefolgt haben, bestätigen Sie bitte NICHT, da diese Operation dazu führt, dass Sie Ihre vorherige Folgeliste verlieren.', - MuteListNotFoundConfirmation: - 'Stummschaltungsliste nicht gefunden. Möchten Sie eine neue erstellen? Wenn Sie zuvor Benutzer stummgeschaltet haben, bestätigen Sie bitte NICHT, da diese Operation dazu führt, dass Sie Ihre vorherige Stummschaltungsliste verlieren.', - 'Show NSFW content by default': 'NSFW-Inhalte standardmäßig anzeigen', - 'Custom emoji management': 'Benutzerdefinierte Emoji-Verwaltung', - 'After changing emojis, you may need to refresh the page': - 'Nach dem Ändern von Emojis müssen Sie möglicherweise die Seite aktualisieren', - 'Too many read relays': 'Zu viele Lese-Relays', - 'Too many write relays': 'Zu viele Schreib-Relays', - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'Sie haben {{count}} Lese-Relays. Die meisten Clients verwenden nur 2-4 Relays, mehr einzustellen ist unnötig.', - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'Sie haben {{count}} Schreib-Relays. Die meisten Clients verwenden nur 2-4 Relays, mehr einzustellen ist unnötig.', - 'Optimize Relay Settings': 'Relay-Einstellungen optimieren', - 'Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.': - 'Ihre aktuelle Relay-Konfiguration ist möglicherweise nicht optimal. Dies könnte es anderen erschweren, Ihre Beiträge zu finden und zu unvollständigen Benachrichtigungen führen.', - 'Optimize Now': 'Jetzt optimieren', - 'Maybe Later': 'Vielleicht später', - "Don't remind me again": 'Nicht mehr erinnern', - Posts: 'Beiträge', - 'Posts (OPs)': 'Beiträge (OPs)', - 'Kind 1 replies': 'Kind-1-Antworten', - Comments: 'Kommentare', - 'Replies & comments': 'Antworten & Kommentare', - Articles: 'Artikel', - Highlights: 'Highlights', - 'A note from': 'A note from', - Polls: 'Umfragen', - 'Zap polls': 'Zap polls', - 'Voice Posts': 'Sprachbeiträge', - 'Photo Posts': 'Fotobeiträge', - 'Video Posts': 'Videobeiträge', - 'Git repositories': 'Git-Repositories', - 'Git issues': 'Git-Issues', - 'Git releases': 'Git-Releases', - 'Git Republic repository': 'Git-Republic-Repository', - 'Git Republic issue': 'Git-Republic-Issue', - 'Git Republic release': 'Git-Republic-Release', - 'Git Republic event': 'Git-Republic-Ereignis', - 'Git Republic': 'Git Republic', - 'Open in Git Republic': 'In Git Republic öffnen', - 'Pre-release': 'Vorabversion', - Draft: 'Entwurf', - 'Repository release': 'Repository-Release', - 'New Repository Release': 'Neues Repository-Release', - 'Release notes use the editor below (optional).': - 'Release-Notizen stehen im Editor unten (optional).', - 'Repository owner (npub or hex)': 'Repository-Inhaber (npub oder Hex)', - 'Repository id (d-tag)': 'Repository-ID (d-Tag)', - 'Git tag name': 'Git-Tag-Name', - 'Tag target (40-char commit hash)': 'Tag-Ziel (40 Zeichen Commit-Hash)', - '40-character hex SHA-1': '40 Zeichen Hex SHA-1', - 'Release title': 'Release-Titel', - 'Download URL': 'Download-URL', - 'Draft release': 'Release-Entwurf', - 'Fill repository release fields': 'Bitte alle Pflichtfelder für das Release ausfüllen.', - 'Invalid repository owner pubkey': 'Ungültiger Inhaber (npub oder 64 Zeichen Hex).', - 'Citations require private relays (NIP-65).': - 'Zitate benötigen private Outbox-Relays (NIP-65).', - 'Select All': 'Alle auswählen', - 'Clear All': 'Alle löschen', - 'Set as default filter': 'Als Standardfilter festlegen', - 'Use filter': 'Filter nutzen', - 'See all events': 'Alle Ereignisse', - 'See all events hint': - 'Feed-Anfragen ohne Kind-Filter; alle Event-Arten werden angezeigt (Relay-Limits und andere Regeln gelten weiter). Zum Testen neuer Event-Kinds.', - 'Use filter hint': 'Nur unten ausgewählte Kinds werden angefragt und angezeigt.', - 'Advanced event lab': 'Erweiterter Editor', - 'Advanced lab applyError': 'Editor ist nicht bereit. Bitte erneut versuchen.', - 'Advanced lab cancel undo': 'Abbrechen und Änderungen verwerfen', - 'Advanced lab undo checkpoint': 'Checkpoint wiederherstellen', - 'Advanced lab undo checkpoint hint': - 'Etwa alle 30 Sekunden speichert dieser Tab den Editor (Kind, Text, Tags) in der Sitzung, bis zu 10 Versionen. Nutzen Sie das nach einer Übersetzung oder großen Änderung, die Sie rückgängig machen möchten.', - 'Advanced lab undo checkpoint none': 'Kein älterer Checkpoint zum Wiederherstellen.', - 'Advanced lab undo checkpoint restored': 'Editor auf einen gespeicherten Checkpoint zurückgesetzt.', - 'Advanced lab markup label markdown': 'Markdown', - 'Advanced lab markup label asciidoc': 'AsciiDoc', - 'Advanced lab preview': 'Vorschau', - 'Advanced lab preview empty': 'Noch nichts in der Vorschau.', - 'Advanced lab markup placeholder markdown': 'Notiztext (Markdown)', - 'Advanced lab markup placeholder asciidoc': 'Notiztext (AsciiDoc)', - 'Advanced lab tags JSON': 'Kind, Inhalt und Tags (JSON)', - 'Advanced lab json placeholder': '{ "kind": 1, "content": "…", "tags": [] }', - 'Advanced lab grammar language': 'Sprache für Grammatikprüfung', - 'Advanced lab translate': 'Text übersetzen', - 'Advanced lab translation source': 'Ausgangssprache', - 'Advanced lab translation source auto': 'Automatisch erkennen', - 'Advanced lab translation target': 'Zielsprache', - 'Advanced lab translation languages loading': 'Sprachen werden vom Übersetzungsdienst geladen…', - 'Advanced lab translation languages empty': 'Der Übersetzungsdienst liefert keine Sprachen (Docker / LibreTranslate prüfen).', - 'Advanced lab translation languages error': 'Sprachenliste vom Übersetzungsdienst konnte nicht geladen werden.', - 'Advanced lab translation same source target': 'Ausgangs- und Zielsprache müssen sich unterscheiden.', - 'Advanced lab translate not configured': 'Übersetzungs-URL ist nicht gesetzt (VITE_TRANSLATE_URL).', - 'Advanced lab translate done': 'Übersetzung wurde in den Editor eingefügt.', - 'Advanced lab use translation read aloud': 'Text für Vorlesen verwenden (diese Notiz)', - 'Advanced lab read aloud buffer set': - 'Das nächste Vorlesen dieser Notiz nutzt den aktuellen Text (ggf. nach Übersetzung).', - 'Composer JSON tab hint': - 'Entwurf als JSON bearbeiten (nur `kind`, `content`, `tags`). `kind` muss zur gewählten Notizart passen. Weitere Felder werden beim Veröffentlichen gesetzt.', - 'Composer JSON apply': 'JSON anwenden', - composerJsonKindMismatch: - 'JSON-Kind {{got}} passt nicht zum Editor (erwartet {{expected}}). Notizart ändern oder `kind` im JSON anpassen.', - composerJsonApplySuccess: 'Entwurf aus JSON übernommen.', - 'Advanced lab tb markup tools': 'Markup-Hilfen', - 'Advanced lab tb headings': 'Überschriften', - 'Advanced lab tb headings hint': 'Wird an der Cursorposition eingefügt; Abstände ggf. anpassen.', - 'Advanced lab tb heading placeholder': 'Titel', - 'Advanced lab tb h1': 'Überschrift 1 (#)', - 'Advanced lab tb h2': 'Überschrift 2 (##)', - 'Advanced lab tb h3': 'Überschrift 3 (###)', - 'Advanced lab tb h4': 'Überschrift 4 (####)', - 'Advanced lab tb h5': 'Überschrift 5 (#####)', - 'Advanced lab tb h6': 'Überschrift 6 (######)', - 'Advanced lab tb setextH1': 'Setext-Überschrift 1 (Titel + ===)', - 'Advanced lab tb setextH2': 'Setext-Überschrift 2 (Titel + ---)', - 'Advanced lab tb horizontalRule': 'Horizontale Linie (---)', - 'Advanced lab tb horizontalRules': 'Horizontale Linien', - 'Advanced lab tb hrDashes': 'Bindestriche (---)', - 'Advanced lab tb hrAsterisks': 'Sterne (***)', - 'Advanced lab tb hrUnderscores': 'Unterstriche (___)', - 'Advanced lab tb inline': 'Inline', - 'Advanced lab tb bold': 'Fett (** **)', - 'Advanced lab tb boldUnderscore': 'Fett (__ __)', - 'Advanced lab tb italic': 'Kursiv (* *)', - 'Advanced lab tb italicUnderscore': 'Kursiv (_ _)', - 'Advanced lab tb strike': 'Durchgestrichen (~~ ~~)', - 'Advanced lab tb inlineCode': 'Inline-Code (` `)', - 'Advanced lab tb link': 'Link [Text](URL)', - 'Advanced lab tb linkTitled': 'Link mit Titel [Text](URL "Titel")', - 'Advanced lab tb image': 'Bild ![alt](URL)', - 'Advanced lab tb imageTitled': 'Bild mit Titel ![alt](URL "Titel")', - 'Advanced lab tb hardBreak': 'Harter Zeilenumbruch (zwei Leerzeichen + Zeilenumbruch)', - 'Advanced lab tb citations': 'Zitate (NIP-32)', - 'Advanced lab tb citationsHint': 'Kinds 30–33. Fügt `[[citation::typ::nevent…]]` ein (Markdown & AsciiDoc).', - 'Advanced lab citation dialog title': 'Zitation einfügen', - 'Advanced lab citation dialog hint': - 'NIP-32-Zitations-Events suchen (intern, extern, Hardcopy, Prompt) und auswählen.', - 'Advanced lab citation search placeholder': 'Kinds 30–33 durchsuchen…', - 'Advanced lab citation none': 'Keine Zitations-Events gefunden', - 'Advanced lab citation kindLabel': 'Kind {{kind}}', - 'Advanced lab citation type inline': 'Inline-Zitation', - 'Advanced lab citation type quote': 'Zitat (Block)', - 'Advanced lab citation type end': 'Endnoten-Zitation', - 'Advanced lab citation type foot': 'Fußnotenanker', - 'Advanced lab citation type footEnd': 'Fußnote + Ende', - 'Advanced lab citation type promptInline': 'Prompt (inline)', - 'Advanced lab citation type promptEnd': 'Prompt (Ende)', - 'Advanced lab tb lists': 'Listen', - 'Advanced lab tb bulletList': 'Aufzählung (-)', - 'Advanced lab tb bulletListStar': 'Aufzählung (*)', - 'Advanced lab tb orderedList': 'Nummerierte Liste (1.)', - 'Advanced lab tb orderedListStart': 'Nummerierte Liste (Startnummer, z. B. 4.)', - 'Advanced lab tb taskItem': 'Aufgabe (- [ ])', - 'Advanced lab tb blocks': 'Blöcke', - 'Advanced lab tb blockquote': 'Zitat (>)', - 'Advanced lab tb pipeTable': 'Pipe-Tabelle (3×2 Start)', - 'Advanced lab tb footnoteRef': 'Fußnotenverweis [^1]', - 'Advanced lab tb footnoteDef': 'Fußnotendefinition [^1]: …', - 'Advanced lab tb codeBlock': 'Codeblock', - 'Advanced lab tb codeBlockHint': 'Sprache für farbige Syntax in ```…``` wählen.', - 'Advanced lab tb filterLanguages': 'Sprachen filtern…', - 'Advanced lab tb math': 'Formeln (KaTeX)', - 'Advanced lab tb mathIntro': - 'Viele Clients rendern $…$ und $$…$$ mit KaTeX; im eigenen Client prüfen.', - 'Advanced lab tb mathInline': 'Inline ($…$)', - 'Advanced lab tb mathDisplay': 'Abgesetzt ($$…$$)', - 'Advanced lab tb mathCommon': 'Häufige Formeln', - 'Advanced lab tb katexFrac': 'Bruch \\frac{a}{b}', - 'Advanced lab tb katexSqrt': 'Wurzel \\sqrt{x}', - 'Advanced lab tb katexSum': 'Summe \\sum_{i=1}^{n}', - 'Advanced lab tb katexInt': 'Integral \\int_a^b', - 'Advanced lab tb katexMatrix': '2×2-Matrix (pmatrix)', - 'Advanced lab tb katexCases': 'Fallunterscheidung (cases)', - 'Advanced lab tb mathGreek': 'Griechisch & Symbole', - 'Advanced lab tb greekAlpha': 'alpha', - 'Advanced lab tb greekBeta': 'beta', - 'Advanced lab tb greekGamma': 'gamma', - 'Advanced lab tb greekDelta': 'delta', - 'Advanced lab tb greekPi': 'pi', - 'Advanced lab tb greekTheta': 'theta', - 'Advanced lab tb greekLambda': 'lambda', - 'Advanced lab tb greekSigma': 'sigma', - 'Advanced lab tb greekOmega': 'omega', - 'Advanced lab tb greekInfty': 'Unendlich', - 'Advanced lab tb hrTitle': 'Horizontale Linie', - 'Advanced lab tb adocTitles': 'Titel', - 'Advanced lab tb adocTitlesHint': - 'Dokumentkopf: keine Leerzeilen innerhalb des Kopfes; die erste Leerzeile beendet ihn (https://docs.asciidoctor.org/asciidoc/latest/document/header/).', - 'Advanced lab tb documentTitle': 'Dokumenttitel', - 'Advanced lab tb sectionTitle': 'Abschnittstitel', - 'Advanced lab tb adocLevel0': 'Dokumenttitel (=)', - 'Advanced lab tb adocLevel0WithHeader': 'Minimaler Kopf (Titel, Autor, Revision, Beschreibung, Stichwörter, erster Abschnitt)', - 'Advanced lab tb adocHeaderAuthorLine': 'Autor Name ', - 'Advanced lab tb adocHeaderRevisionLine': '1.0, 2026-04-15: Entwurf', - 'Advanced lab tb adocHeaderAttrsBlock': - ':description: Kurze Zusammenfassung für Metadaten\n:keywords: stichwort-eins, stichwort-zwei, stichwort-drei', - 'Advanced lab tb adocSection1': 'Abschnitt (==)', - 'Advanced lab tb adocSection2': 'Unterabschnitt (===)', - 'Advanced lab tb adocSection3': 'Ebene 4 (====)', - 'Advanced lab tb adocSection4': 'Ebene 5 (=====)', - 'Advanced lab tb adocSection5': 'Ebene 6 (======)', - 'Advanced lab tb adocBold': 'Fett (*fett*)', - 'Advanced lab tb adocItalic': 'Kursiv (_kursiv_)', - 'Advanced lab tb adocMono': 'Monospace (`mono`)', - 'Advanced lab tb adocLink': 'Link (link:url[Text])', - 'Advanced lab tb adocImage': 'Bild (image::url[Alt])', - 'Advanced lab tb adocUnordered': 'Aufzählung (* Punkt)', - 'Advanced lab tb adocOrdered': 'Nummeriert (. Schritt)', - 'Advanced lab tb adocLabeled': 'Label-Liste (Begriff:: Erklärung)', - 'Advanced lab tb adocBlocks': 'Blöcke', - 'Advanced lab tb adocQuote': 'Zitat (____)', - 'Advanced lab tb adocLiteral': 'Literal (....)', - 'Advanced lab tb adocNote': 'NOTE-Hinweis', - 'Advanced lab tb adocTip': 'TIP-Hinweis', - 'Advanced lab tb adocWarning': 'WARNING-Hinweis', - 'Advanced lab tb adocSource': 'Source / Listing', - 'Advanced lab tb adocSourceHint': 'Fügt [source,Sprache] ein; Beispielcode ersetzen.', - 'Advanced lab tb adocStem': 'STEM / LaTeX', - 'Advanced lab tb adocStemHint': - 'Imwald nutzt Asciidoctor mit stem: latexmath; Formeln werden zu \\(...\\) / \\[...\\] und mit KaTeX gerendert (nicht MathJax).', - 'Advanced lab tb adocStemInline': 'Inline stem:[…]', - 'Advanced lab tb adocLatexmathInline': 'Inline latexmath:[…]', - 'Advanced lab tb adocStemBlock': 'Display-Formel ([stem] +++ … +++++)', - 'Advanced lab tb adocLineBreak': 'Zeilenumbruch (Leerzeichen + am Zeilenende)', - 'Advanced lab tb adocSubscript': 'Tiefgestellt (~text~)', - 'Advanced lab tb adocSuperscript': 'Hochgestellt (^text^)', - 'Advanced lab tb adocPassthrough': 'Inline-Passthrough (+++ … +++)', - 'Advanced lab tb adocFootnote': 'Fußnote (footnote:[…])', - 'Advanced lab tb adocImportant': 'IMPORTANT-Hinweis', - 'Advanced lab tb adocCaution': 'CAUTION-Hinweis', - 'Advanced lab tb adocExampleBlock': 'Beispielblock ([example])', - 'Advanced lab tb adocSidebar': 'Seitenleiste (**** … ****)', - 'Advanced lab tb adocListing': 'Listing-Block ([listing] + ----)', - 'Advanced lab tb adocOpenBlock': 'Open-Block (-- … --)', - 'Advanced lab tb adocStructure': 'Struktur & Medien', - 'Advanced lab tb adocStructureHint': - 'Tabellen, IDs/Anker ([#id] vor einem Block—kollidiert nicht mit [[Wikilink]]-Syntax), Querverweise, Medien (Asciidoctor-Blockmakros).', - 'Advanced lab tb adocTable': 'Tabelle (|=== …)', - 'Advanced lab tb adocAnchor': 'Block- oder Abschnitts-ID ([#id])', - 'Advanced lab tb adocXref': 'Querverweis (<>)', - 'Advanced lab tb adocVideo': 'Video (video::url[])', - 'Advanced lab tb adocAudio': 'Audio (audio::url[])', - 'Advanced lab tb adocOrderedStart': 'Nummerierte Liste mit [start=n]', - 'Advanced lab tb adocComment': 'Zeilenkommentar (//)', - 'Advanced lab tb adockbd': 'Tastatur (kbd:[…])', - 'Advanced lab tb adocMenu': 'Menüpfad (menu:…)', - 'Advanced lab tb adocBtn': 'Schaltfläche (btn:[…])', - 'Advanced lab tb adocHrTitle': 'Thematic break (\'\'\')', - Apply: 'Anwenden', - Reset: 'Zurücksetzen', - 'Share something on this Relay': 'Teile etwas auf diesem Relay', - 'Try deleting this note': 'Versuche, diese Notiz zu löschen', - 'Deletion request sent to {{count}} relays': 'Löschanfrage an {{count}} Relays gesendet', - 'Suitable Relays': 'Geeignete Relays', - 'People, keywords, or relays': 'Personen, Schlüsselwörter oder Relays', - 'Hide content mentioning muted users': 'Inhalte ausblenden, die stumme Benutzer erwähnen', - 'This note mentions a user you muted': - 'Diese Notiz erwähnt einen Benutzer, den Sie stumm geschaltet haben', - Filter: 'Filter', - 'Feed filter': 'Feed-Filter', - 'Search loaded posts': 'Geladene Beiträge durchsuchen', - 'Filter loaded posts placeholder': 'Nach Text in Inhalt oder Tags filtern…', - 'Feed filter author': 'Autor', - 'Feed filter author everyone': 'Von allen', - 'Feed filter author me': 'Nur von mir', - 'Feed filter author npub': 'Von Benutzer (npub oder Hex)', - 'Feed filter author npub from prefix': 'von:', - 'Feed filter author npub placeholder': 'npub1… oder 64-Zeichen-Hex', - 'Feed filter author me needs login': 'Zum Filtern nach Ihrem Pubkey anmelden', - 'Within the last': 'Innerhalb der letzten', - 'Time unit': 'Zeiteinheit', - Minutes: 'Minuten', - Days: 'Tage', - Weeks: 'Wochen', - Months: 'Monate', - Years: 'Jahre', - 'Feed filter client-side hint': - 'Filter gelten nur für bereits geladene Beiträge; Relays werden nicht erneut abgefragt.', - 'Feed full search': 'Vollständige Suche starten', - 'Feed full search running': 'Suche läuft…', - 'Feed full search clear': 'Zurücksetzen', - 'Feed full search active hint': - 'Es werden Ergebnisse einer Relay-Suche angezeigt. Zurücksetzen, um zum Live-Feed zurückzukehren.', - 'Feed full search need constraint': - 'Bitte Suchtext, Autorenfilter oder einen Zeitraum setzen, bevor Relays abgefragt werden.', - 'Feed full search invalid feed': 'Für diesen Feed ist keine Relay-Suche möglich.', - 'Feed full search failed': 'Relay-Suche fehlgeschlagen. Bitte erneut versuchen.', - 'Feed full search empty': - 'Auf den abgefragten Relays wurden keine passenden Beiträge gefunden.', - 'No loaded posts match your filters.': 'Keine geladenen Beiträge entsprechen den Filtern.', - 'mentioned you in a note': 'hat Sie in einer Notiz erwähnt', - 'quoted your note': 'hat Ihre Notiz zitiert', - 'quoted this note': 'Hat diese Notiz zitiert', - 'highlighted this note': 'Hat diese Notiz hervorgehoben', - 'cited in article': 'In Artikel zitiert', - 'Thread backlinks heading': 'Verweise auf diese Notiz', - 'Thread backlinks primary section': 'Zitate, Markierungen & Verweise', - 'Thread backlinks bookmarks section': 'Lesezeichen', - 'Thread backlinks lists section': 'Listen & Sammlungen', - 'View full note and thread': 'Vollständige Notiz und Thread anzeigen', - 'labeled this note': 'Hat diese Notiz etikettiert', - 'reported this note': 'Hat diese Notiz gemeldet', - 'bookmarked this note': 'Lesezeichen für diese Notiz', - 'pinned this note': 'Diese Notiz angepinnt', - 'listed this note': 'In einer Liste gespeichert', - 'bookmark set reference': 'In einem Lesezeichen-Set', - 'curated this note': 'Kuratierung dieser Notiz', - 'badge award for this note': 'Abzeichen für diese Notiz', - 'referenced this note': 'Verweist auf diese Notiz', - 'Report events heading': 'Meldungen (Moderation)', - 'voted in your poll': 'hat in Ihrer Umfrage abgestimmt', - 'reacted to your note': 'hat auf Ihre Notiz reagiert', - 'boosted your note': 'hat Ihre Notiz geboostet', - 'zapped your note': 'hat Ihre Notiz gezappt', - 'zapped you': 'hat Sie gezappt', - zapped: 'zapped', - 'Invalid zap receipt': 'Invalid zap receipt', - 'Zapped note': 'Zapped note', - 'Zapped profile': 'Zapped profile', - 'Zap reply threshold': 'Zap reply threshold', - 'Zaps above this amount will appear as replies in threads': - 'Zaps above this amount will appear as replies in threads', - 'Mark as read': 'Als gelesen markieren', - Report: 'Melden', - 'Successfully report': 'Erfolgreich gemeldet', - 'Failed to report': 'Meldung fehlgeschlagen', - nudity: 'Nacktheit', - malware: 'Schadsoftware', - profanity: 'Obszönität', - illegal: 'Illegaler Inhalt', - spam: 'Spam', - other: 'Sonstiges', - 'Notification list style': 'Benachrichtigungslistenstil', - 'See extra info for each notification': - 'Zusätzliche Informationen für jede Benachrichtigung anzeigen', - 'See more notifications at a glance': 'Mehr Benachrichtigungen auf einen Blick sehen', - Detailed: 'Detailliert', - 'Submit Relay': 'Relay einreichen', - Homepage: 'Homepage', - 'Proof of Work (difficulty {{minPow}})': 'Arbeitsnachweis (Schwierigkeit {{minPow}})', - 'via {{client}}': 'über {{client}}', - 'Auto-load media': 'Medien automatisch laden', - Always: 'Immer', - 'Wi-Fi only': 'Nur WLAN', - Never: 'Nie', - 'Click to load image': 'Klicken, um Bild zu laden', - 'Click to load media': 'Klicken, um Medien zu laden', - 'Click to load YouTube video': 'Klicken, um YouTube-Video zu laden', - '{{count}} reviews': '{{count}} Bewertungen', - 'Write a review': 'Eine Bewertung schreiben', - 'No reviews yet. Be the first to write one!': - 'Noch keine Bewertungen. Seien Sie der Erste, der eine schreibt!', - 'View more reviews': 'Weitere Bewertungen anzeigen', - 'Failed to review': 'Bewertung fehlgeschlagen', - 'Write a review and pick a star rating': - 'Schreiben Sie eine Bewertung und wählen Sie eine Sternebewertung', - Submit: 'Absenden', - 'Reviews for {{relay}}': 'Bewertungen für {{relay}}', - 'No relays selected': 'Keine Relays ausgewählt', - 'Post to': 'Posten an', - 'Write relays and {{count}} other relays': 'Schreib-Relays und {{count}} andere Relays', - '{{count}} relays': '{{count}} Relays', - 'Republishing...': 'Wird erneut veröffentlicht...', - 'Trending Notes': 'Trendende Notizen', - 'Trending on Your Favorite Relays': 'Trending auf deinen Lieblings-Relays', - 'Trending on the Default Relays': 'Trending auf den Standard-Relays', - 'Latest from your follows': 'Neuestes von deinen Follows', - 'Latest from our recommended follows': 'Neuestes von unseren empfohlenen Follows', - 'Search page title': 'Nostr durchsuchen', - 'Follows latest page title': 'Neuestes von Follows', - 'Follows latest page description': - 'Aktuelle Notizen von Leuten, denen du folgst (ohne Konto: unsere kuratierte Liste). Wir führen Outbox-Relays aus ihren NIP-65-Listen mit deinen Favoriten zusammen und laden in Stapeln. Zeile aufklappen für Notizen oder Profil antippen.', - 'Follows latest nav label': 'Follows: neueste', - 'Loading follow list…': 'Follow-Liste wird geladen …', - 'Could not load recommended follows': 'Empfohlene Follows konnten nicht geladen werden', - 'Your follow list is empty': 'Deine Follow-Liste ist leer', - 'Loading recent posts from follows…': 'Neueste Beiträge der Follows werden geladen …', - 'Loading more…': 'Weitere werden geladen …', - 'No recent posts from this user in the current fetch': - 'Keine aktuellen Beiträge von diesem Nutzer in dieser Abfrage', - 'Loading trending notes from your relays...': 'Trendende Notizen werden geladen …', - 'Trending on Nostr': 'Trending auf Nostr', - 'Home trending slice notice': - 'Dieser Feed enthält eine Trending-Spur (nostrarchives). Notizen, die von diesem Relay kamen, zeigen unter der Karte „Trending auf Nostr“.', - Sort: 'Sortierung', - newest: 'neueste', - oldest: 'älteste', - 'most popular': 'beliebteste', - 'least popular': 'am wenigsten beliebt', - 'Connected to': 'Verbunden mit', - 'Disconnect Wallet': 'Wallet trennen', - 'Are you absolutely sure?': 'Bist du dir absolut sicher?', - 'You will not be able to send zaps to others.': - 'Du wirst keine Zaps mehr an andere senden können.', - Disconnect: 'Trennen', - 'Set up your wallet to send and receive sats!': - 'Richte deine Wallet ein, um Sats zu senden und zu empfangen!', - 'Set up': 'Einrichten', - 'nested events': 'nested events', - 'Loading RSS feeds...': 'Loading RSS feeds...', - 'No RSS feed items available': 'No RSS feed items available', - 'Show or hide the RSS page and sidebar entry': 'Show or hide the RSS page and sidebar entry', - 'Refreshing feeds...': 'Refreshing feeds...', - 'All feeds': 'All feeds', - 'All time': 'All time', - 'Last hour': 'Last hour', - 'Last day': 'Last day', - 'Last week': 'Last week', - 'Last month': 'Last month', - 'Last 24 hours': 'Last 24 hours', - 'Last 48 hours': 'Last 48 hours', - 'Time range': 'Time range', - 'Filter by RSS source': 'Filter by RSS source', - 'No items match your filters': 'No items match your filters', - 'Search...': 'Search...', - '{{count}} feeds': '{{count}} feeds', - 'Toggle filters': 'Toggle filters', - 'Showing {{filtered}} of {{total}} items': 'Showing {{filtered}} of {{total}} items', - Full: 'Full', - Compact: 'Kompakt', - Expand: 'Expand', - 'help.title': 'Hilfe', - 'help.tabShortcuts': 'Tastenkürzel', - 'help.tabOverview': 'App-Übersicht', - 'shortcuts.title': 'Tastenkürzel', - 'shortcuts.intro': - 'Kürzel für diese App und übliche Bedienung. Kombinationen: Umschalt+Alt+Taste (unter macOS: Umschalt+Wahltaste); die Reihenfolge der Modifier beim Drücken ist egal.', - 'shortcuts.sectionApp': 'Diese App', - 'shortcuts.sectionSearch': 'Suchleiste', - 'shortcuts.sectionStandard': 'Standard', - 'shortcuts.openHelp': 'Diese Hilfe anzeigen', - 'shortcuts.or': 'oder', - 'shortcuts.then': 'dann', - 'shortcuts.focusPrimary': - 'Hauptspalte zum Scrollen fokussieren (Desktop; danach Pfeiltasten, Bild auf/ab, Pos1/Ende)', - 'shortcuts.focusSecondary': - 'Seitenleiste/Panel zum Scrollen fokussieren, wenn geöffnet (Desktop; gleiche Tasten)', - 'shortcuts.newNote': 'Neue Notiz / Beitrag (ggf. zuerst anmelden)', - 'shortcuts.searchSuggest': 'In den Vorschlägen bewegen', - 'shortcuts.searchDismiss': 'Such-Dropdown schließen', - 'shortcuts.tabNavigate': 'Fokus zum nächsten oder vorherigen Steuerelement', - 'shortcuts.activate': 'Schaltflächen und viele Steuerelemente auslösen', - 'shortcuts.closeOverlays': 'Dialoge, Menüs und Such-Dropdown schließen', - 'shortcuts.scrollWhenFocused': 'Den fokussierten scrollbaren Bereich scrollen', - 'shortcuts.browserBack': 'Zurück im Browser (Verlauf)', - 'No spells yet. Create one with the button above.': - 'Noch keine Zaubersprüche. Lege mit dem Button oben einen an.', - 'Loading spells from your relays…': 'Zaubersprüche werden von deinen Relays geladen…', - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.': - 'Zauberspruch konnte nicht ausgeführt werden. Prüfe REQ/COUNT oder füge Schreib-Relays (Outbox) in den Einstellungen hinzu.', - 'Select a spell…': 'Zauberspruch wählen…', - 'Spells from follows': 'Von Leuten, denen du folgst ({{count}})', - 'Other spells': 'Weitere Zaubersprüche ({{count}})', - 'Select a spell to view its feed.': 'Wähle einen Zauberspruch, um den Feed zu sehen.', - 'Add another row': 'Weitere Zeile hinzufügen', - 'Remove this row': 'Diese Zeile entfernen', - 'One kind number per row (e.g. 1 for notes).': - 'Eine Kind-Nummer pro Zeile (z. B. 1 für Notizen).', - 'One author per row: $me, $contacts, or hex pubkey / npub.': - 'Ein Autor pro Zeile: $me, $contacts oder Hex-Pubkey / npub.', - 'One hex event id per row.': 'Eine Hex-Event-ID pro Zeile.', - 'One wss:// URL per row. Leave empty to use your write relays.': - 'Eine wss://-URL pro Zeile. Alle leer lassen für deine Schreib-Relays (Outbox).', - 'One topic per row.': 'Ein Thema pro Zeile.', - topic: 'Thema', - 'Spell form fields': 'Zauberspruch-Formularfelder', - 'Counting matching events…': 'Zähle passende Events…', - 'Edit spell': 'Zauberspruch bearbeiten', - 'Clone spell': 'Zauberspruch klonen', - 'Spell cloned': 'Zauberspruch geklont', - 'Clone spell intro': - 'Dieser Zauberspruch wurde aus der Definition eines anderen Autors übernommen. Passe alles an, dann speichern, um einen neuen Zauberspruch mit deinem Konto zu veröffentlichen.', - 'Spell updated': 'Zauberspruch aktualisiert', - 'Relay URL': 'Relay', - Count: 'Anzahl', - 'Edit spell relays': 'Relays bearbeiten', - 'COUNT spell relay errors hint': - 'Mindestens ein Relay ist fehlgeschlagen oder hat einen Fehler gemeldet. Du kannst die Relay-Liste im Zauber anpassen und erneut speichern.', - 'COUNT spell total distinct explanation': - 'Verschiedene passende Event-IDs über alle erfolgreich antwortenden Relays (Duplikate zwischen Relays entfernt). Jedes Relay liefert höchstens so viele wie im Limit steht.', - 'Leave empty to use your write relays.': - 'Leer lassen, um deine Schreib-Relays (Outbox) zu verwenden.', - 'COUNT spell result explanation': - 'Verschiedene Events, die zum Filter passen (von den Relays des Zaubers und Standard-Schreib-Relays zusammengeführt, Duplikate entfernt). Relays liefern höchstens so viele wie im Limit steht.', - 'COUNT spell may be capped by limit': - 'Die Zahl kann deinem Limit entsprechen — es könnte noch mehr passende Events geben.', - 'Spell count failed. Check relays or try again.': - 'Zählung fehlgeschlagen. Relays prüfen oder erneut versuchen.', - 'REQ returns a feed; COUNT returns a number.': - 'REQ: scrollbarer Feed (unten Feed live oder einmaliger Abruf). COUNT: nur eine Zahl, kein Feed.', - listImportManualLabel: 'Aus Event vorausfüllen', - listImportFromEventHint: - 'Unterstützte Tags werden ins Formular übernommen (e, p, t, relay, r, a wo möglich). Nicht leerer Inhalt wird übersprungen; verschlüsselte private Einträge werden nicht gelesen. Es können Hinweise zu nicht abgebildeten Tags erscheinen.', - listImportManualPlaceholder: '64 Zeichen Hex, nevent1… oder naddr1…', - listImportLoadManual: 'Anwenden', - listImportContentSkipped: - 'Dieses Event hat nicht leeren Inhalt (evtl. verschlüsselte private Einträge). Es wurden nur öffentliche Tags übernommen.', - listImportUnsupportedEmoji: - 'Diese Liste enthält Emoji-Tags (NIP-30); die werden nicht in den Zauber-Filter übernommen.', - listImportUnsupportedTag: - 'Tags vom Typ „{{tag}}“ ({{count}}) werden noch nicht auf Zauber-Filter abgebildet.', - listImportBadATag: 'Adress-Tag nicht lesbar: {{preview}}…', - listImportATagNotFound: 'Adress-Tag nicht gefunden: {{preview}}…', - listImportATagFailed: 'Adress-Tag konnte nicht aufgelöst werden: {{preview}}…', - listImportEventNotFound: 'Kein Event zu dieser Referenz gefunden.', - 'REQ tag filters': 'REQ-Tag-Filter', - spellFormTagFiltersLabel: 'Tag-Filter auf passenden Events', - spellCreateIntro: - 'Zaubersprüche sind gespeicherte Relay-Filter (NIP-A7). Der Abschnitt „Abfrage“ ist die eigentliche Definition; der gestrichelte Kasten unten nur für Namen, Beschreibung und Katalog-Labels. Beim Ausführen: $me für deinen Pubkey, $contacts für deine Follow-Liste.', - spellFormSectionQueryTitle: 'Abfrage (Spell-Definition)', - spellFormSectionQueryHint: - 'Dieser Block ist die eigentliche Definition: Er wird zum Nostr-REQ-/COUNT-Filter (Kinds, Autoren, Zeitraum, Tag-Filter auf passenden Events, Relays usw.).', - spellFormSectionMetadataTitle: 'Anzeige & Beschriftung (optional)', - spellFormSectionMetadataBadge: 'Gehört nicht zur Abfrage', - spellFormSectionMetadataHint: - 'Name, Beschreibung und Themen-Labels dienen nur der Darstellung und in Zauberspruch-Listen. Sie werden beim Abrufen von Events nicht verwendet.', - spellFormCatalogTopicsLabel: 'Themen-Labels auf dem Zauberspruch (t-Tags)', - spellTopicsMetadataHint: - 'Ein Thema pro Zeile. Um Notes nach Thema zu filtern, nutze oben im Block „Abfrage“ die REQ-Tag-Filter (Buchstabe „t“).', - spellTagFiltersHint: - 'Optionale Filter auf abonnierte Events (NIP-01 Ein-Buchstaben-Tags). Beispiel: Buchstabe „t“, Werte „bitcoin“.', - spellTagFiltersEmpty: - 'Noch keine Tag-Filter. Zeilen unten hinzufügen oder oben eine Event-Referenz anwenden.', - 'Tag filter letter': 'Tag-Buchstabe', - 'Filter value': 'Wert', - 'Add tag filter': 'Tag-Filter hinzufügen', - spellPickerSectionYours: 'Deine Zaubersprüche', - 'Failed to remove spell from local storage': 'Zauberspruch konnte lokal nicht entfernt werden', - Spells: 'Zaubersprüche', - 'doublePane.secondaryEmpty': - 'Öffne eine Notiz, ein Profil oder Einstellungen, um sie hier anzuzeigen.', - 'doublePane.secondaryEmptyHint': 'Feed und Hauptseiten bleiben links.', - '(empty)': '(empty)', - '12-hour (AM/PM)': '12-hour (AM/PM)', - '24-hour': '24-hour', - 'A new version is available': 'A new version is available', - 'A short description of the article content': 'A short description of the article content', - AM: 'AM', - 'Access via': 'Access via', - 'Accessed On': 'Accessed On', - 'Accessed on': 'Accessed on', - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.': - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.', - 'Add a relay to block': 'Add a relay to block', - 'Add at least one invitee': 'Add at least one invitee', - 'Add client identifier': 'Add client identifier', - 'Add expiration tags by default': 'Add expiration tags by default', - 'Add quiet tags by default': 'Add quiet tags by default', - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above': - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above', - 'Add the source (where this text is from)': 'Add the source (where this text is from)', - 'Add to favorites': 'Zu Favoriten hinzufügen', - 'Add {{count}} Selected': '{{count}} Ausgewählte hinzufügen', - 'Added at': 'Added at', - 'Added {{count}} relay(s)': '{{count}} Relay(s) hinzugefügt', - 'Adding...': 'Hinzufügen...', - 'Adding…': 'Adding…', - 'Advanced Options': 'Advanced Options', - 'All Topics': 'All Topics', - 'All feeds from OPML file are already added': 'All feeds from OPML file are already added', - 'All items deleted successfully': 'All items deleted successfully', - 'Already blocked': 'Already blocked', - 'Already saved': 'Already saved', - 'Application Recommendations': 'Application Recommendations', - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.': - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.', - 'Are you sure you want to delete all items from this store?': - 'Are you sure you want to delete all items from this store?', - 'Are you sure you want to unmute this user? This will restore the follow button.': - 'Are you sure you want to unmute this user? This will restore the follow button.', - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", - 'Article exported as AsciiDoc': 'Article exported as AsciiDoc', - 'Article exported as Markdown': 'Article exported as Markdown', - 'Article title (optional)': 'Article title (optional)', - articleDTagDefaultHint: - 'Optional. Wenn leer: automatischer d-Tag mit typischem Präfix und Unix-Zeitstempel (Sekunden), z. B. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….', - Audio: 'Audio', - Author: 'Author', - 'Author is required for reading groups': 'Author is required for reading groups', - 'Author name (optional)': 'Author name (optional)', - Authors: 'Autoren', - 'Block Relay': 'Block Relay', - 'Blocked Relays': 'Blocked Relays', - 'Blocking...': 'Blocking...', - Blossom: 'Blossom', - Book: 'Book', - 'Brief description of the event': 'Brief description of the event', - 'Brief summary (optional)': 'Brief summary (optional)', - 'Brief summary of the article (optional)': 'Brief summary of the article (optional)', - 'Browse Cache': 'Browse Cache', - 'C-Tag': 'C-Tag', - 'Cache Relays': 'Cache Relays', - 'Cache cleared successfully': 'Cache cleared successfully', - 'Cache refreshed successfully': 'Cache refreshed successfully', - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.': - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.', - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)': - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)', - 'Cache relays saved': 'Cache relays saved', - Cancelled: 'Cancelled', - Chapter: 'Chapter', - 'Chapter Title': 'Chapter Title', - 'Chapter title (optional)': 'Chapter title (optional)', - Citation: 'Citation', - 'Citation title (optional)': 'Citation title (optional)', - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.': - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})', - 'Cleanup Duplicates': 'Cleanup Duplicates', - Clear: 'Leeren', - 'Clear Cache': 'Clear Cache', - 'Clear Service Worker': 'Clear Service Worker', - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.': - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.', - 'Click update to get the latest features and improvements': - 'Click update to get the latest features and improvements', - Close: 'Schließen', - 'Comma or space-separated topics (will be added as t-tags)': - 'Comma or space-separated topics (will be added as t-tags)', - Command: 'Befehl', - Configure: 'Configure', - 'Connect Wallet': 'Connect Wallet', - 'Console Logs': 'Console Logs', - 'Console logs cleared': 'Console logs cleared', - 'Content is required': 'Content is required', - 'Content must be 5000 characters or less': 'Content must be 5000 characters or less', - Controversial: 'Controversial', - 'Copied!': 'Copied!', - 'Copy to clipboard': 'Copy to clipboard', - 'Create Article': 'Create Article', - 'Create Citation': 'Create Citation', - 'Create Highlight': 'Create Highlight', - 'Create New Thread': 'Create New Thread', - 'Create Poll': 'Create Poll', - 'Create Thread': 'Create Thread', - composeModeKind1: 'Kurznotiz (Kind 1) — andere Beitragsarten abschalten', - 'Create a Spell': 'Zauberspruch anlegen', - 'Creating...': 'Creating...', - 'D-Tag': 'D-Tag', - 'D-Tag is required for articles': 'D-Tag is required for articles', - DOI: 'DOI', - 'Date-based (all-day)': 'Date-based (all-day)', - 'Default expiration (months)': 'Default expiration (months)', - 'Default quiet period (days)': 'Default quiet period (days)', - 'Delete All': 'Delete All', - 'Delete item': 'Delete item', - 'Deleted {{count}} event(s)': 'Deleted {{count}} event(s)', - 'Deletion request sent': 'Deletion request sent', - 'Description (content)': 'Beschreibung (Inhalt)', - 'Digital Object Identifier (optional)': 'Digital Object Identifier (optional)', - 'Disable word wrap': 'Disable word wrap', - 'Discovered Relays': 'Discovered Relays', - 'Discovering relays...': 'Discovering relays...', - Discussion: 'Discussion', - Discussions: 'Discussions', - Downvote: 'Downvote', - 'Edited by': 'Edited by', - Editor: 'Editor', - 'Editor name (optional)': 'Editor name (optional)', - 'Enable word wrap': 'Enable word wrap', - 'End date': 'End date', - 'End date must be after start date': 'End date must be after start date', - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.': - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.', - 'Enter a descriptive title for your thread': 'Enter a descriptive title for your thread', - 'Enter the author name': 'Enter the author name', - 'Enter the book title': 'Enter the book title', - 'Enter the specific text you want to highlight in the main content area above': - 'Enter the specific text you want to highlight in the main content area above', - 'Event IDs (ids)': 'Event-IDs (ids)', - 'Event appears to be invalid or corrupted': 'Event appears to be invalid or corrupted', - 'Event has no value data': 'Event has no value data', - 'Event is missing required fields: {{fields}}': 'Event is missing required fields: {{fields}}', - 'Event type': 'Event type', - 'Expiration Tags': 'Expiration Tags', - 'Export OPML': 'Export OPML', - 'Export as AsciiDoc': 'Export as AsciiDoc', - 'Export as Markdown': 'Export as Markdown', - 'External Citation': 'External Citation', - 'External Citation Settings': 'External Citation Settings', - 'Failed to add relay. Please try again.': 'Failed to add relay. Please try again.', - 'Failed to add relays': 'Failed to add relays', - 'Failed to block relay. Please try again.': 'Failed to block relay. Please try again.', - 'Failed to cleanup duplicates': 'Failed to cleanup duplicates', - 'Failed to clear cache': 'Failed to clear cache', - 'Failed to copy': 'Failed to copy', - 'Failed to create relay set. Please try again.': - 'Failed to create relay set. Please try again.', - 'Failed to create thread': 'Failed to create thread', - 'Failed to create thread. Please try a different relay.': - 'Failed to create thread. Please try a different relay.', - 'Failed to delete all items': 'Failed to delete all items', - 'Failed to delete item': 'Failed to delete item', - 'Failed to discover relays': 'Failed to discover relays', - 'Failed to export OPML file': 'Failed to export OPML file', - 'Failed to export article': 'Failed to export article', - 'Failed to import OPML file: {{error}}': 'Failed to import OPML file: {{error}}', - 'Failed to load RSS feeds': 'Failed to load RSS feeds', - 'Failed to load store items': 'Failed to load store items', - 'Failed to mute user privately': 'Failed to mute user privately', - 'Failed to mute user publicly': 'Failed to mute user publicly', - 'Failed to pin note': 'Failed to pin note', - 'Failed to publish post': 'Failed to publish post', - 'Failed to publish reply': 'Failed to publish reply', - 'Failed to publish reaction': 'Reaktion konnte nicht veröffentlicht werden', - 'Failed to publish thread': 'Failed to publish thread', - 'Failed to publish to some relays. Please try again or use different relays.': - 'Failed to publish to some relays. Please try again or use different relays.', - 'Failed to save RSS feeds': 'Failed to save RSS feeds', - 'Failed to save cache relays': 'Failed to save cache relays', - 'Failed to save relay list': 'Failed to save relay list', - 'Failed to unregister service worker: ': 'Failed to unregister service worker: ', - 'Failed to unsubscribe from topic': 'Failed to unsubscribe from topic', - Favorite: 'Favorite', - Fetch: 'Abrufen', - 'Fetch once, then stop.': 'Einmal abrufen, dann stoppen.', - 'Filter by': 'Filter by', - 'Flat View': 'Flat View', - 'Font size': 'Font size', - 'Full Quote/Context': 'Full Quote/Context', - 'Full-text search query': 'Volltextsuchanfrage', - Geohash: 'Geohash', - 'Geohash (optional)': 'Geohash (optional)', - 'Global quiet mode': 'Global quiet mode', - 'Group discussions by topic': 'Group discussions by topic', - 'Grouped View': 'Grouped View', - Groups: 'Groups', - 'Handler {{index}}': 'Handler {{index}}', - 'Hardcopy Citation': 'Hardcopy Citation', - 'Hardcopy Citation Settings': 'Hardcopy Citation Settings', - Hide: 'Hide', - 'Hide interactions on all posts': 'Hide interactions on all posts', - 'Hide interactions on posts with quiet tags': 'Hide interactions on posts with quiet tags', - 'High PoW': 'High PoW', - 'Higher values make your thread harder to mine but more unique.': - 'Higher values make your thread harder to mine but more unique.', - Highlight: 'Highlight', - 'Highlight Settings': 'Highlight Settings', - 'How to Create a Highlight (NIP-84)': 'How to Create a Highlight (NIP-84)', - 'Human-readable spell name': 'Lesbarer Name des Zauberspruchs', - 'Image URL': 'Image URL', - 'Import OPML': 'Import OPML', - 'Imported {{count}} feed(s) from OPML file': 'Imported {{count}} feed(s) from OPML file', - 'In-Browser Cache': 'In-Browser Cache', - Insert: 'Insert', - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).': - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).', - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.': - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.', - 'Insert event or address': 'Insert event or address', - 'Insert mention': 'Insert mention', - 'Internal Citation': 'Internal Citation', - 'Internal Citation Settings': 'Internal Citation Settings', - 'Invalid Event': 'Invalid Event', - 'Invalid Lightning Address': 'Invalid Lightning Address', - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.': - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.', - 'Invalid URL': 'Invalid URL', - 'Invalid content JSON': 'Invalid content JSON', - 'Invalid relay URL': 'Invalid relay URL', - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.': - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.', - 'Item deleted successfully': 'Item deleted successfully', - JSON: 'JSON', - 'Join link': 'Join link', - 'Journal/Publication name (optional)': 'Journal/Publication name (optional)', - Json: 'JSON', - Kinds: 'Kinds', - 'Language Model': 'Language Model', - Large: 'Large', - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link': - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link', - 'Lightning payment failed': 'Lightning payment failed', - Limit: 'Limit', - 'Live feed; keeps updating.': 'Live-Feed; wird fortgesetzt aktualisiert.', - 'Loading more...': 'Loading more...', - 'Loading relays...': 'Loading relays...', - 'Location (optional)': 'Location (optional)', - 'Log in to run this spell (it uses $me or $contacts).': - 'Zum Ausführen anmelden (verwendet $me oder $contacts).', - 'Login failed': 'Login failed', - 'Login to configure RSS feeds': 'Login to configure RSS feeds', - 'Long-form Article': 'Long-form Article', - 'Mailbox relays saved': 'Mailbox relays saved', - 'Mark as NSFW': 'Mark as NSFW', - 'Maximum {{max}} invitees': 'Maximum {{max}} invitees', - 'Maximum {{max}} invitees allowed': 'Maximum {{max}} invitees allowed', - Medium: 'Medium', - Mode: 'Modus', - 'Most Zapped': 'Most Zapped', - 'Move to top': 'Move to top', - 'Multiple choice': 'Multiple choice', - 'Mute failed': 'Mute failed', - NSFW: 'NSFW', - Name: 'Name', - 'Name of the language model used': 'Name of the language model used', - 'New External Citation': 'New External Citation', - 'New Hardcopy Citation': 'New Hardcopy Citation', - 'New Highlight': 'New Highlight', - 'New Internal Citation': 'New Internal Citation', - 'New Long-form Article': 'New Long-form Article', - 'New Poll': 'New Poll', - 'New Discussion': 'Neue Diskussion', - 'New Prompt Citation': 'New Prompt Citation', - 'New Public Message': 'New Public Message', - 'New Wiki Article': 'New Wiki Article', - 'New Wiki Article (Markdown)': 'New Wiki Article (Markdown)', - Newest: 'Newest', - 'No JSON available': 'No JSON available', - 'No RSS feeds found in OPML file': 'No RSS feeds found in OPML file', - 'No cached data found.': 'No cached data found.', - 'No console logs captured yet': 'No console logs captured yet', - 'No events found': 'No events found', - 'No feeds configured. Default feed will be used.': - 'No feeds configured. Default feed will be used.', - 'No feeds to export': 'No feeds to export', - 'No groups available. Join some groups first.': 'No groups available. Join some groups first.', - 'No items in this store.': 'No items in this store.', - 'No items match your search.': 'No items match your search.', - 'No logs match the current filters': 'No logs match the current filters', - 'No posts found': 'No posts found', - 'No posts match your search': 'No posts match your search', - 'No relays available. Please configure relays in settings.': - 'No relays available. Please configure relays in settings.', - 'No service workers or caches found for this app': - 'No service workers or caches found for this app', - 'No users found': 'No users found', - 'No valid RSS feed URLs found in OPML file': 'No valid RSS feed URLs found in OPML file', - 'Note pinned': 'Note pinned', - 'Note unpinned': 'Note unpinned', - Oldest: 'Oldest', - 'Open Timestamp': 'Open Timestamp', - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.': - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.', - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.': - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.', - Optional: 'Optional', - 'Optional image for the event': 'Optional image for the event', - 'Optionally, add the full quote/context to show your highlight within it': - 'Optionally, add the full quote/context to show your highlight within it', - PM: 'PM', - 'Page Range': 'Page Range', - Pages: 'Pages', - 'Paste URL of a GIF': 'Paste URL of a GIF', - 'Paste URL of a meme image': 'Paste URL of a meme image', - 'Paste the entire original passage that contains your highlight': - 'Paste the entire original passage that contains your highlight', - Photo: 'Photo', - 'Picture Note': 'Picture Note', - 'Pin note': 'Pin note', - 'Plain text description of the query': 'Klartext-Beschreibung der Abfrage', - 'Please login to view bookmarks': 'Please login to view bookmarks', - 'Please select a group': 'Please select a group', - 'Please select at least one relay': 'Please select at least one relay', - 'Please set a start date': 'Please set a start date', - 'Poll with no options': 'Poll with no options', - 'Post published to some relays': 'Post published to some relays', - 'Posts will automatically include expiration tags': - 'Posts will automatically include expiration tags', - 'Posts will automatically include quiet tags': 'Posts will automatically include quiet tags', - 'Posts will be quiet for this many days': 'Posts will be quiet for this many days', - 'Posts will expire after this many months': 'Posts will expire after this many months', - 'Processing...': 'Processing...', - 'Profile event not available': 'Profile event not available', - 'Prompt Citation': 'Prompt Citation', - 'Prompt Citation Settings': 'Prompt Citation Settings', - 'Prompt Conversation Script': 'Prompt Conversation Script', - 'Proof of Work': 'Proof of Work', - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post': - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post', - 'Publish to Relays': 'Publish to Relays', - 'Published By': 'Published By', - 'Published In': 'Published In', - 'Published On': 'Published On', - 'Published in': 'Published in', - 'Published on': 'Published on', - 'Publisher name (optional)': 'Publisher name (optional)', - 'Quiet Tags': 'Quiet Tags', - 'RSS Feed': 'RSS Feed', - 'RSS + Web': 'RSS + Web', - 'RSS feed source': 'RSS feed source', - 'All feed sources': 'All feed sources', - 'RSS feed view mode': 'RSS feed view mode', - 'Article URLs': 'Article URLs', - 'Article URLs subtitle': - 'One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.', - 'Article URLs Nostr manual subtitle': - 'Artikel-URLs ohne Einträge aus abonnierten Feeds — von Nostr-Relays oder von dir hinzugefügt. Sobald ein Feed Einträge liefert, erscheint die Karte unter RSS.', - 'RSS feed column title': 'RSS & verknüpfte Artikel', - 'RSS feed column subtitle': - 'Feed-Einträge und Artikelkarten mit mindestens einem Eintrag aus deinen abonnierten RSS-Feeds.', - 'RSS timeline': 'RSS timeline', - 'RSS timeline subtitle': - 'Every item from your subscribed feeds, newest first — classic RSS reader.', - URLs: 'URLs', - RSS: 'RSS', - 'No URL-only items yet': 'Noch keine reinen Artikel-URLs', - 'Respond to this RSS entry': 'Auf diesen RSS-Eintrag reagieren', - 'RSS read-only thread hint': - 'Nostr-Antworten, Zaps und Markierungen sind hier ausgeblendet. Damit fügst du den Artikel der URL-Liste hinzu und reagierst dort.', - 'RSS feed item label': 'RSS', - 'Web URL item label': 'Web URL', - 'URL thread activity': 'URL thread activity', - 'Suppress Clawstr links in RSS previews': 'Hide clawstr.com in RSS and URL feed', - 'Hide local, media & feed URLs from URL cards': - 'Hide local, media, feed, document & XML links from the feed', - 'RSS articles': 'RSS articles', - 'Web comments': 'Web comments', - 'Web highlights': 'Web highlights', - 'In your bookmarks': 'In your bookmarks', - '{{count}} RSS entries for this URL': '{{count}} RSS entries for this URL', - '{{count}} entries for this article URL': '{{count}} Einträge zu dieser Artikel-URL', - 'No comments yet': 'No comments yet', - 'No highlights yet': 'No highlights yet', - 'Showing {{filtered}} of {{total}} entries': 'Showing {{filtered}} of {{total}} entries', - standardRssFeed_spotifeed: 'Spotify playlist (Spotifeed)', - standardRssFeed_youtube: 'YouTube feed', - standardRssFeed_youtubeChannel: 'YouTube channel feed', - standardRssFeed_youtubePlaylist: 'YouTube playlist feed', - standardRssFeed_feedburner: 'FeedBurner', - standardRssFeed_reddit: 'Reddit RSS', - standardRssFeed_substack: 'Substack', - standardRssFeed_medium: 'Medium', - 'RSS Feed Settings': 'RSS Feed Settings', - 'Follow sets': 'Folgenlisten', - 'Follow sets settings intro': - 'NIP-51-Folgenlisten (Kind 30000) gruppieren Personen für eigene Feeds (z. B. in Zaubersprüchen). Die Listen werden auf deine NIP-65-Outbox-Relays und Profil-Suchrelays veröffentlicht.', - 'New follow set': 'Neue Folgenliste', - 'Edit follow set': 'Folgenliste bearbeiten', - 'No follow sets yet': 'Du hast noch keine Folgenlisten angelegt.', - 'Follow set saved': 'Folgenliste gespeichert', - 'Follow set deleted': 'Folgenliste gelöscht', - 'Failed to load follow sets': 'Folgenlisten konnten nicht geladen werden', - members: 'Mitglieder', - 'Optional display title': 'Optionaler Anzeigename', - 'List id (d tag)': 'Listen-ID (d-Tag)', - 'Follow set d tag hint': - 'Stabile Kennung dieser Liste. Nach der ersten Veröffentlichung nicht mehr änderbar.', - 'People in this list': 'Personen in dieser Liste', - 'Delete follow set?': 'Diese Folgenliste löschen?', - 'Delete follow set confirm': - 'Es wird eine Löschanfrage (Kind 5) für die Liste gesendet. Relays, die sie annehmen, entfernen die Liste; andere Clients können noch zwischengespeicherte Daten anzeigen, bis sie neu laden.', - 'Remove feed': 'Remove feed', - 'RSS Feeds': 'RSS Feeds', - 'RSS feeds exported to OPML file': 'RSS feeds exported to OPML file', - 'RSS feeds saved': 'RSS feeds saved', - 'Rate limited. Please wait before trying again.': - 'Rate limited. Please wait before trying again.', - 'Reaction published': 'Reaction published', - 'Reaction published to some relays': 'Reaktion auf einigen Relays veröffentlicht', - 'Reaction removed': 'Reaction removed', - 'Read full article': 'Read full article', - 'Reading group entry': 'Reading group entry', - 'Readings Options': 'Readings Options', - Recipients: 'Recipients', - 'Recipients detected from your message:': 'Recipients detected from your message:', - 'Recommended Relays': 'Recommended Relays', - 'Recommended applications for handling events of kind {{kind}}': - 'Recommended applications for handling events of kind {{kind}}', - 'Reference to the cited Nostr event in kind:pubkey:hex format': - 'Reference to the cited Nostr event in kind:pubkey:hex format', - 'Refresh Cache': 'Refresh Cache', - 'Refreshing posts...': 'Refreshing posts...', - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.': - 'Relativ: 7d, 24h, 1w, 1mo, 1y. Oder Unix-Zeitstempel.', - Relay: 'Relay', - 'Relay Hint': 'Relay Hint', - 'Relay URL (optional)': 'Relay URL (optional)', - 'Relay blocked successfully': 'Relay blocked successfully', - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.': - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.', - 'Relay set options': 'Relay set options', - 'Remove from favorites': 'Aus Favoriten entfernen', - Rendered: 'Rendered', - 'Reply published': 'Reply published', - 'Reply published to some relays': 'Reply published to some relays', - 'Reply to Public Message': 'Reply to Public Message', - 'Republish to all active relays': 'Republish to all active relays', - 'Republish to all available relays': 'Republish to all available relays', - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.': - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.', - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.': - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.', - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Respect quiet tags': 'Respect quiet tags', - 'Search (NIP-50)': 'Suche (NIP-50)', - 'Search by name or npub…': 'Search by name or npub…', - 'Search calendar, publications, wiki…': 'Search calendar, publications, wiki…', - 'Search for user…': 'Search for user…', - 'Search items...': 'Search items...', - 'Search logs...': 'Search logs...', - 'Search notes, threads, long-form…': 'Search notes, threads, long-form…', - 'Search on GifBuddy': 'Search on GifBuddy', - 'Search on Meme Amigo': 'Search on Meme Amigo', - 'Search posts...': 'Search posts...', - 'Search threads by title, content, tags, npub, author...': - 'Search threads by title, content, tags, npub, author...', - 'Searching all available relays...': 'Searching all available relays...', - 'Searching…': 'Searching…', - 'See reference': 'See reference', - 'Select Group': 'Select Group', - 'Select Media Type': 'Select Media Type', - 'Select group...': 'Select group...', - 'Select relays': 'Select relays', - 'Publish relay cap hint': - 'Pro Veröffentlichung werden höchstens {{max}} Relais angesprochen. Von den {{selected}} hier angehakten Relais werden {{selectedContacted}} tatsächlich kontaktiert; bei Überschreitung des Limits entfallen zuerst die niedrigere Priorität. Relais mit Session-Sperre werden übersprungen. Die genaue Liste steht in der Konsole unter [PublishEvent].', - 'Publish relay cap hint with outbox first': - 'Pro Veröffentlichung höchstens {{max}} Relais. Deine NIP-65-Schreib-Relais belegen zuerst {{reservedSlots}} Plätze (vor dieser Auswahl zusammengeführt; können unten auch angehakt sein). Von den {{selected}} angehakten Relais werden {{selectedContacted}} kontaktiert. Session-gesperrte Relais entfallen. Details in der Konsole unter [PublishEvent].', - 'Select the group where you want to create this discussion.': - 'Select the group where you want to create this discussion.', - 'Select topic...': 'Select topic...', - 'Selected text': 'Selected text', - 'Send Public Message': 'Send Public Message', - 'Send a Lightning payment to this user': 'Send a Lightning payment to this user', - 'Service worker caches cleared. Please reload the page.': - 'Service worker caches cleared. Please reload the page.', - 'Service worker unregistered and caches cleared. Please reload the page.': - 'Service worker unregistered and caches cleared. Please reload the page.', - 'Service worker unregistered. Please reload the page.': - 'Service worker unregistered. Please reload the page.', - 'Share your thoughts, ask questions, or start a discussion...': - 'Share your thoughts, ask questions, or start a discussion...', - 'Short Video Note': 'Short Video Note', - 'Show RSS Feed': 'Show RSS Feed', - 'Show all discussions in a single list': 'Show all discussions in a single list', - 'Show less': 'Show less', - Since: 'Seit', - Small: 'Small', - 'Some relays have temporarily disabled writes.': - 'Some relays have temporarily disabled writes.', - Source: 'Source', - 'Spell definition': 'Zauberspruch-Definition', - 'Spell published': 'Zauberspruch veröffentlicht', - 'Start date': 'Start date', - 'Start typing to see a preview...': 'Start typing to see a preview...', - 'Subject (Book Title)': 'Subject (Book Title)', - 'Subject (book title) is required for reading groups': - 'Subject (book title) is required for reading groups', - 'Subject / Topics': 'Subject / Topics', - Subscribe: 'Subscribe', - Subscribed: 'Subscribed', - 'Subscribed to topic': 'Subscribed to topic', - 'Subscribed to topic (local)': 'Subscribed to topic (local)', - 'Subscribing...': 'Subscribing...', - Summary: 'Summary', - 'Supported Event Types': 'Supported Event Types', - 'Take a note': 'Take a note', - 'The full prompt conversation (optional)': 'The full prompt conversation (optional)', - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.': - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.', - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.': - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.', - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.': - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.', - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a Nostr event of kind {{kind}}.': - 'This GIF was found in a Nostr event of kind {{kind}}.', - 'This file could be either audio or video. Please select the correct type:': - 'This file could be either audio or video. Please select the correct type:', - 'This store does not contain replaceable events': - 'This store does not contain replaceable events', - 'This will add additional tags for author and subject to help organize reading group discussions.': - 'This will add additional tags for author and subject to help organize reading group discussions.', - 'Thread Content': 'Thread Content', - 'Thread Title': 'Thread Title', - 'Thread creation timed out. Please try again.': 'Thread creation timed out. Please try again.', - 'Thread published': 'Thread published', - 'Threads are organized by topics. Choose a topic that best fits your discussion.': - 'Threads are organized by topics. Choose a topic that best fits your discussion.', - 'Time-based': 'Time-based', - 'Title is required': 'Title is required', - 'Title must be 100 characters or less': 'Title must be 100 characters or less', - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.': - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.', - Top: 'Top', - Topic: 'Topic', - URL: 'URL', - 'URL of the article cover image (optional)': 'URL of the article cover image (optional)', - 'Unique identifier for this article (required)': - 'Unique identifier for this article (required)', - 'Unmute failed': 'Unmute failed', - 'Unpin note': 'Unpin note', - Unsubscribe: 'Unsubscribe', - 'Unsubscribed from topic': 'Unsubscribed from topic', - 'Unsubscribing...': 'Unsubscribing...', - Until: 'Bis', - Untitled: 'Untitled', - Update: 'Update', - 'Updating...': 'Updating...', - 'Upload Audio Comment': 'Upload Audio Comment', - 'Upload Audio Message': 'Upload Audio Message', - 'Upload Media': 'Upload Media', - Upvote: 'Upvote', - 'User unmuted': 'User unmuted', - 'Version number (optional)': 'Version number (optional)', - Video: 'Video', - 'Video Note': 'Video Note', - 'Video file': 'Video file', - 'View Console Logs': 'View Console Logs', - 'View JSON': 'View JSON', - 'View cached items in this store.': 'View cached items in this store.', - 'View definition': 'Definition anzeigen', - 'View details about cached data in IndexedDB stores. Click on a store to view its items.': - 'View details about cached data in IndexedDB stores. Click on a store to view its items.', - 'View on Alexandria': 'View on Alexandria', - 'View on DecentNewsroom': 'View on DecentNewsroom', - 'View on Wikistr': 'View on Wikistr', - 'View recent console logs for debugging': 'View recent console logs for debugging', - 'Voice Comment': 'Voice Comment', - 'Voice Note': 'Voice Note', - 'Voice note or audio file': 'Voice note or audio file', - Volume: 'Volume', - 'Volume number (optional)': 'Volume number (optional)', - 'Vote published': 'Vote published', - 'Vote removed': 'Vote removed', - 'Website where LLM was accessed (optional)': 'Website where LLM was accessed (optional)', - 'Wiki Article (AsciiDoc)': 'Wiki Article (AsciiDoc)', - 'Wiki Article (Markdown)': 'Wiki Article (Markdown)', - 'You can only delete your own notes': 'You can only delete your own notes', - 'You must be logged in to create a thread': 'You must be logged in to create a thread', - 'You need to add at least one media server in order to upload media files.': - 'You need to add at least one media server in order to upload media files.', - 'You need to login first': 'You need to login first', - 'Your account is blocked from posting to this relay.': - 'Your account is blocked from posting to this relay.', - Zap: 'Zap', - 'Zap failed': 'Zap failed', - created_at: 'created_at', - 'e tag of kind 1040 event (optional)': 'e tag of kind 1040 event (optional)', - 'e.g. meetup, conference': 'e.g. meetup, conference', - 'e.g., 123-145 (optional)': 'e.g., 123-145 (optional)', - 'e.g., GPT-4, Claude, etc. (required)': 'e.g., GPT-4, Claude, etc. (required)', - 'e.g., my-article-title': 'e.g., my-article-title', - entries: 'entries', - 'from Bunker': 'from Bunker', - 'from Extension': 'from Extension', - 'from NIP-05': 'from NIP-05', - general: 'general', - 'https://example.com (required)': 'https://example.com (required)', - 'https://example.com/image.jpg': 'https://example.com/image.jpg', - id: 'id', - items: 'items', - kind: 'kind', - 'kind:pubkey:hex format (required)': 'kind:pubkey:hex format (required)', - 'last updated': 'last updated', - matching: 'matching', - naddr: 'naddr', - nevent: 'nevent', - 'nevent1..., naddr1..., note1..., hex ID, or https://...': - 'nevent1..., naddr1..., note1..., hex ID, or https://...', - 'no notes found': 'no notes found', - of: 'of', - 'on note': 'on note', - optional: 'optional', - pubkey: 'pubkey', - 'sent a public message': 'sent a public message', - 'sent you a public message': 'sent you a public message', - 'sent you a public message (along with {{count}} others)': - 'sent you a public message (along with {{count}} others)', - sig: 'sig', - 'started a discussion in {{topic}}': 'started a discussion in {{topic}}', - tags: 'tags', - thread: 'thread', - threads: 'threads', - 'topic1, topic2, topic3': 'topic1, topic2, topic3', - '{{count}} relay(s) selected': '{{count}} relay(s) selected', - '🔞 NSFW 🔞': '🔞 NSFW 🔞', - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).': - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).', - 'Compressing on your device before upload (large videos can take several minutes)…': - 'Wird auf deinem Gerät vor dem Upload komprimiert (große Videos können mehrere Minuten dauern)…', - 'Failed to refresh': 'Failed to refresh', - 'Invalid article link.': 'Invalid article link.', - Likes: 'Likes', - 'Loading…': 'Loading…', - 'Missing pubkey': 'Missing pubkey', - 'No RSS feed list found on relays': 'No RSS feed list found on relays', - 'Pinned posts': 'Pinned posts', - 'Publishing...': 'Publishing...', - 'RSS article': 'RSS article', - 'RSS feed list refreshed': 'RSS feed list refreshed', - 'Save or discard your changes before refreshing from relays': - 'Save or discard your changes before refreshing from relays', - 'Suggested topics': 'Suggested topics', - 'Synthetic event (no author)': 'Synthetic event (no author)', - 'Topic is required': 'Topic is required', - 'Type a topic or pick from the list': 'Type a topic or pick from the list', - 'Uploading to media server…': 'Wird zum Medienserver hochgeladen…', - profileEditorRefreshCacheHint: 'profileEditorRefreshCacheHint', - startupSessionHydrating: 'startupSessionHydrating' + "Searching external relays...": "Searching external relays...", + "This will connect to the author's relays and relay hints": "This will connect to the author's relays and relay hints", + "Note could not be found anywhere": "Note could not be found anywhere", + "Try external relays": "Try external relays", + "Searching...": "Searching...", + "Show relays": "Show relays", + "No external relay hints available": "No external relay hints available", + "External relay search is not available for this link type": "Externe Relay-Suche ist für diesen Linktyp nicht verfügbar.", + "Searched external relays not found": "{{count}} externe Relays durchsucht; die Note wurde nicht gefunden.", + "no more replies": "keine weiteren Antworten", + "Relay sets": "Relay-Sets", + "Search for Relays": "Relays suchen", + "Using app default relays": "Standard-Relays der App", + "Following's Favorites": "Favoriten der Folgenden", + "no more relays": "keine weiteren Relays", + "Favorited by": "Favorisiert von", + "Post settings": "Beitragseinstellungen", + "Publishing feedback": "Rückmeldungen beim Veröffentlichen", + "Publish success toasts": "Erfolgs-Benachrichtigungen beim Veröffentlichen", + "Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.": "Grüne Hinweise anzeigen, wenn Beiträge, Antworten, Reaktionen und andere Veröffentlichungen gelingen. Wenn aus, erscheint kurz ein kleines Häkchen unten rechts. Fehler weiterhin als Hinweis.", + "Publish successful": "Veröffentlichung erfolgreich", + "Media upload service": "Medien-Upload-Service", + "Choose a relay": "Wähle ein Relay", + "no relays found": "Keine Relays gefunden", + video: "Video", + "Show n new notes": "Zeige {{n}} neue Notizen", + YouTabName: "Du", + Bookmark: "Lesezeichen", + "Remove bookmark": "Lesezeichen entfernen", + "no bookmarks found": "Keine Lesezeichen gefunden", + "no more bookmarks": "Keine weiteren Lesezeichen", + Bookmarks: "Lesezeichen", + "Follow Packs": "Follow-Packs", + "Follow Pack": "Follow-Pack", + "Follow pack by": "von", + "In Follow Packs": "In Follow-Packs", + "Badge details": "Abzeichen-Details", + "Issued by": "Ausgestellt von", + "Other recipients": "Weitere Empfänger:innen", + "No other recipients found": "Keine weiteren Empfänger:innen gefunden", + "Recipients could not be loaded": "Empfänger:innen konnten nicht geladen werden", + "View award": "Verleihung anzeigen", + "Awarded on": "Awarded on", + "Please log in to follow": "Zum Folgen bitte anmelden", + "Following All": "Allen gefolgt", + "Followed {{count}} users": "{{count}} Nutzer:innen gefolgt", + "All available members are already followed or muted": "Alle verfügbaren Mitglieder werden bereits gefolgt oder sind stummgeschaltet", + "You are already following all members of this pack": "Du folgst bereits allen Mitgliedern dieses Packs", + "Failed to follow pack": "Follow-Pack fehlgeschlagen", + "{{count}} profiles": "{{count}} Profile", + "Show more": "Mehr anzeigen", + General: "Allgemein", + Autoplay: "Automatische Wiedergabe", + "Enable video autoplay on this device": "Aktiviere die automatische Video-Wiedergabe auf diesem Gerät", + "liveActivities.heading": "Jetzt live", + "liveActivities.regionLabel": "Live-Räume und Streams", + "liveActivities.fromFollow": "Von jemandem, dem du folgst", + "liveActivities.goToSlide": "Live-Eintrag {{n}} anzeigen", + "liveActivities.swipeToBrowse": "Wische auf dem Banner nach links oder rechts, um zwischen Live-Aktivitäten zu wechseln.", + "liveActivities.viewNoteTitle": "Diese Live-Aktivität als Beitrag öffnen (Wiedergabe in der App, Links darunter)", + "liveActivities.openJoinPageTitle": "Join-Seite in neuem Tab öffnen (z. B. zap.stream oder die Raum-Website)", + "liveActivities.settingsToggle": "Banner für Live-Aktivitäten", + "liveActivities.settingsHint": "Zeigt NIP-53-Live-Räume (Audio/Video) von deinen Relays. Aktualisierung zur Viertelstunde und nach dem ersten Session-Warm-up.", + "Add random relays to every publish": "Zufällige Relays in der Publish-Liste", + "Add random relays to every publish description": "Fügt {{n}} zufällige öffentliche Relays aus der NIP-66-Liveliness-Liste hinzu (bevorzugt solche, deren Monitor eine Write-RTT gemeldet hat). Bei AN standardmäßig ausgewählt; bei AUS in der Liste, aber nicht angehakt.", + relayType_local: "Lokal", + relayType_relay_list: "Relay-Liste", + relayType_http_relay_list: "HTTP", + "HTTP relays": "HTTP-Relays", + httpRelaysDescription: "HTTPS-Index-Relays (z. B. REST /api/events/filter). Gleiche Lese-/Schreib-/beides-Rollen wie Mailbox-Relays; gespeichert als Kind 10243. Liste leeren und speichern, um eine leere Liste zu veröffentlichen.", + "HTTP relays saved": "HTTP-Relays gespeichert", + "Failed to save HTTP relay list": "HTTP-Relay-Liste konnte nicht gespeichert werden", + "HTTP relays must start with https:// or http://": "HTTP-Relays müssen mit https:// oder http:// beginnen", + relayType_client_default: "Client-Standard", + relayType_open_from: "Aktueller Feed", + relayType_favorite: "Favorit", + relayType_relay_set: "Relay-Set", + relayType_contextual: "Antwort/PN", + relayType_randomly_selected: "Zufällig (optional)", + "Session relays": "Session-Relays", + "Session relays tab description": "Relay-Logik für diese Session: funktionierende und gestrichene Preset-Relays sowie bewertete Zufallsrelays. Gestrichene Relays werden für Lesen und Schreiben bis zum Neuladen der App übersprungen.", + "Session relays preset working": "Funktionierende Preset-Relays", + "Session relays preset working hint": "Preset-Relays (App-Standard), die die Session-Fehlerschwelle (2 Fehler) noch nicht erreicht haben.", + "Session relays preset striked": "Gestrichene Preset-Relays", + "Session relays preset striked hint": "Preset-Relays mit 2 Verbindungs- oder Publish-Fehlern in dieser Session; werden für Lesen und Schreiben bis zum Neuladen übersprungen.", + "Session relays scored random": "Bewertete Zufallsrelays", + "Session relays scored random hint": "Relays, die in dieser Session mindestens ein Publish angenommen haben; werden beim Auswählen von Zufallsrelays bevorzugt. Sortiert nach durchschnittlicher Latenz.", + "Session relays all striked": "Alle gestrichenen Relays (alle Quellen)", + "Session relays clear strike": "Wieder zulassen", + "Session relays clear strike hint": "Relay aus der Session-Sperrliste nehmen; es wird wieder genutzt, bis neue Verbindungsfehler auftreten.", + "relaySessionStrikes.bannerWarning": "Dieses Relay hat {{count}} Session-Strike(s) (Limit {{threshold}}) nach Verbindungs- oder Abfragefehlern.", + "relaySessionStrikes.bannerSkipped": "Dieses Relay hat die Session-Fehlergrenze ({{threshold}} Strikes) erreicht und wird in diesem Tab für Lesen und Publizieren übersprungen.", + "relaySessionStrikes.refreshHint": "Mit {{refresh}} werden die Strikes für dieses Relay zurückgesetzt und der Feed erneut geladen.", + successes: "Erfolge", + None: "Keine", + "Cache & offline storage": "Cache & Offline-Speicher", + feedStarting: "Starting feeds and relays… This can take a few seconds after login.", + singleRelayKindFallbackNotice: "Dieses Relay hat auf eine offene Anfrage (ohne kinds im Filter) keine Events geliefert. Der Feed unten nutzt stattdessen deinen gewohnten Kind-Filter.", + refreshCacheButtonExplainer: "Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.", + "eventArchive.sectionTitle": "Notes & feed archive", + "eventArchive.sectionBlurb": "Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.", + "eventArchive.defaultsMobile": "This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).", + "eventArchive.defaultsElectron": "Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.defaultsDesktopWeb": "Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.enablePersist": "Persist feed events to disk", + "eventArchive.maxMb": "Max archive size (MB), blank = default for this device", + "eventArchive.maxEvents": "Max archived events, blank = default", + "eventArchive.sessionLru": "In-memory session cache (event count), blank = default", + "eventArchive.effectiveSummary": "Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.", + "eventArchive.on": "on", + "eventArchive.off": "off", + "eventArchive.apply": "Apply cache settings", + "eventArchive.appliedToast": "Cache settings saved. Session memory updated.", + "Paste or drop media files to upload": "Füge Medien-Dateien ein oder ziehe sie hierher, um sie hochzuladen", + Preview: "Vorschau", + "You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?": "Du bist dabei, ein Ereignis zu veröffentlichen, das von [{{eventAuthorName}}] signiert wurde. Du bist derzeit als [{{currentUsername}}] angemeldet. Bist du sicher?", + "Platinum Sponsors": "Platin-Sponsoren", + From: "Von", + "Comment on": "Kommentar zu", + "View on njump.me": "Auf njump.me ansehen", + "Hide content from untrusted users": "Inhalte von nicht vertrauenswürdigen Benutzern ausblenden", + "Only show content from your followed users and the users they follow": "Nur Inhalte von Benutzern anzeigen, denen du folgst und die sie folgen", + "Followed by": "Gefolgt von", + "Mute user privately": "Benutzer privat stummschalten", + "Mute user publicly": "Benutzer öffentlich stummschalten", + Quotes: "Zitate", + "Lightning Invoice": "Lightning-Rechnung", + "Bookmark failed": "Bookmark fehlgeschlagen", + "Remove bookmark failed": "Bookmark entfernen fehlgeschlagen", + "Removed from bookmarks": "Removed from bookmarks", + "Bookmark not in list": "This bookmark is not in your list (already removed or out of sync).", + "Pin not in list": "This pin is not in your list (already removed or out of sync).", + "Failed to remove pin": "Failed to remove pin", + Translation: "Übersetzung", + Balance: "Guthaben", + characters: "Zeichen", + translateApiKeyDescription: "Du kannst diesen API-Schlüssel überall dort verwenden, wo LibreTranslate unterstützt wird. Die Service-URL ist {{serviceUrl}}", + "Top up": "Aufladen", + "Will receive: {n} characters": "Erhalte: {{n}} Zeichen", + "Top up {n} sats": "Lade {{n}} sats auf", + "Minimum top up is {n} sats": "Minimale Aufladung beträgt {{n}} sats", + Service: "Dienst", + "Reset API key": "API-Schlüssel zurücksetzen", + "Are you sure you want to reset your API key? This action cannot be undone.": "Bist du sicher, dass du deinen API-Schlüssel zurücksetzen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.", + Warning: "Warnung", + "Errors & warnings": "Fehler & Warnungen", + "Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.": "Dein aktueller API-Schlüssel wird sofort ungültig, und alle Anwendungen, die ihn verwenden, werden nicht mehr funktionieren, bis du sie mit dem neuen Schlüssel aktualisierst.", + "Service address": "Service-Adresse", + Pay: "Bezahlen", + interactions: "Interaktionen", + notifications: "Benachrichtigungen", + notificationsViewAsAccount: "Anzeigen als", + notificationsViewAsAccountAria: "Gespeichertes Konto wechseln. Benachrichtigungen, Antworten, Zaps, Reaktionen und Boosts nutzen dieses Konto.", + notificationsSwitchAccountFailed: "Kontowechsel fehlgeschlagen. Signierer, Passwort oder Erweiterung prüfen und erneut versuchen.", + "Show untrusted {type}": "Untrusted {{type}} anzeigen", + "Hide untrusted {type}": "Untrusted {{type}} ausblenden", + "Currently hiding {type} from untrusted users.": "Derzeit werden {{type}} von nicht vertrauenswürdigen Benutzern ausgeblendet.", + "Currently showing all {type}.": "Derzeit werden alle {{type}} angezeigt.", + "Click continue to show all {type}.": "Klicke auf Weiter, um alle {{type}} anzuzeigen.", + "Click continue to hide {type} from untrusted users.": "Klicke auf Weiter, um {{type}} von nicht vertrauenswürdigen Benutzern auszublenden.", + "Trusted users include people you follow and people they follow.": "Vertrauenswürdige Benutzer sind Personen, denen du folgst, und Personen, denen sie folgen.", + Continue: "Weiter", + "Successfully updated mute list": "Stummschalteliste erfolgreich aktualisiert", + "No pubkeys found from {url}": "Keine Pubkeys von {{url}} gefunden", + "Translating...": "Übersetze...", + Translate: "Übersetzen", + "Show original": "Original anzeigen", + Website: "Website", + "Hide untrusted notes": "Untrusted Notizen ausblenden", + "Open in another client": "In anderem Client öffnen", + Community: "Community", + Group: "Gruppe", + "Live event": "Live-Event", + Article: "Artikel", + Unfavorite: "Nicht mehr favorisieren", + "Recommended relays": "Empfohlene Relays", + "Show recommended relays panel": "Empfohlene Relays-Panel anzeigen", + "Display the right-side panel with recommended relays on desktop": "Das rechte Panel mit empfohlenen Relays auf dem Desktop anzeigen", + "Blossom server URLs": "Blossom-Server-URLs", + "You need to add at least one blossom server in order to upload media files.": "Du musst mindestens einen Blossom-Server hinzufügen, um Mediendateien hochladen zu können.", + "Recommended blossom servers": "Empfohlene Blossom-Server", + "Enter Blossom server URL": "Blossom-Server-URL eingeben", + Preferred: "Bevorzugt", + "Multiple choice (select one or more)": "Mehrfachauswahl (eine oder mehrere auswählen)", + Vote: "Abstimmen", + "{{number}} votes": "{{number}} Stimmen", + "Total votes": "Gesamtstimmen", + "Poll has ended": "Umfrage beendet", + "Poll ends at {{time}}": "Umfrage endet am {{time}}", + "Load results": "Ergebnisse laden", + "This is a poll note.": "Dies ist eine Umfrage-Notiz.", + "Unlike regular notes, polls are not widely supported and may not display on other clients.": "Im Gegensatz zu regulären Notizen werden Umfragen nicht weit verbreitet unterstützt und werden möglicherweise nicht in anderen Clients angezeigt.", + "Option {{number}}": "Option {{number}}", + "Add Option": "Option hinzufügen", + "Remove option": "Option entfernen", + "Close highlight editor": "Highlight-Editor schließen", + "Allow multiple choices": "Mehrfachauswahl erlauben", + "End Date (optional)": "Enddatum (optional)", + "Clear end date": "Enddatum löschen", + "Relay URLs (optional, comma-separated)": "Relay-URLs (optional, durch Kommas getrennt)", + "Remove poll": "Umfrage entfernen", + "Refresh results": "Ergebnisse aktualisieren", + "{{votes}} · {{pct}}%": "{{votes}} · {{pct}}%", + "See results": "See results", + "Zap poll (paid votes)": "Zap poll (paid votes)", + "Invalid zap poll": "Invalid zap poll", + "You voted on this poll (zap receipt)": "You voted on this poll (zap receipt)", + "Poll closed {{time}}": "Poll closed {{time}}", + "Closes {{time}}": "Closes {{time}}", + "Vote size": "Vote size", + "{{n}} sats (fixed)": "{{n}} sats (fixed)", + "{{min}}–{{max}} sats": "{{min}}–{{max}} sats", + "≥ {{n}} sats": "≥ {{n}} sats", + "≤ {{n}} sats": "≤ {{n}} sats", + "Loading tally…": "Loading tally…", + "Zap poll no votes yet": "No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).", + "Consensus threshold": "Consensus threshold", + "Pay to": "Pay to", + Recipient: "Recipient", + Option: "Option", + "Select option": "Select option", + "Select an option": "Select an option", + "Vote with zap": "Vote with zap", + "Zap sent": "Zap sent", + "Zapping…": "Zapping…", + "Refresh tally": "Refresh tally", + "{{n}} zaps": "{{n}} zaps", + Poll: "Umfrage", + Media: "Medien", + "Articles and Publications": "Artikel und Veröffentlichungen", + "Search articles...": "Artikel suchen…", + "Refreshing articles...": "Artikel werden aktualisiert…", + "No articles or publications found": "Keine Artikel oder Veröffentlichungen gefunden", + "No articles or publications match your search": "Keine Artikel oder Veröffentlichungen entsprechen der Suche", + "articles and publications": "Artikel und Veröffentlichungen", + Interests: "Interessen", + Favorites: "Favorites", + Calendar: "Kalender", + "No subscribed interests yet.": "Noch keine Interessen abonniert. Themen in den Einstellungen hinzufügen, um sie hier zu sehen.", + "No bookmarked notes with id tags yet.": "Noch keine Lesezeichen mit Ereignis-IDs. Nur klassische (e-Tag-) Lesezeichen erscheinen in diesem Feed.", + "No follows or relays to load yet.": "Noch keine Follows oder Relays zum Laden.", + "No favorites yet.": "No favorites yet. Add follows, follow sets, interests, or bookmarks.", + "Added from interests": "Added from interests", + "Added from bookmarks list": "Added from bookmarks list", + "Added from your web bookmarks": "Added from your web bookmarks", + "Added from follows and contact lists": "Added from follows and contact lists", + "Added from follows web bookmarks": "Added from follows web bookmarks", + "Nothing to load for this feed.": "Für diesen Feed gibt es nichts zu laden.", + "No posts loaded for this feed. Try refreshing.": "Keine Beiträge für diesen Feed geladen. Bitte aktualisieren.", + "Looking for more events…": "Looking for more events…", + "Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.": "Die Relays haben keine Ereignisse für diesen Feed geliefert. Sie können offline sein, langsam antworten oder diese Notizen nicht indexieren.", + "Per-relay timeline results ({{count}} connections)": "Ergebnis je Relay ({{count}} Verbindungen)", + "Republish to ...": "Erneut veröffentlichen zu ...", + "All available relays": "All available relays", + "All active relays (monitoring list)": "All active relays (monitoring list)", + "Successfully republish to all available relays": "Successfully republish to all available relays", + "Failed to republish to all available relays: {{error}}": "Failed to republish to all available relays: {{error}}", + "Successfully republish to all active relays": "Successfully republish to all active relays", + "Failed to republish to all active relays: {{error}}": "Failed to republish to all active relays: {{error}}", + "No active relays in monitoring list": "No active relays in monitoring list", + "No relay accepted the event": "No relay accepted the event", + "No relays available": "No relays available", + "No write relays configured": "No write relays configured", + "Relay did not accept the event": "Relay did not accept the event", + "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".": "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".", + "Successfully republish to your write relays": "Erfolgreich erneut zu deinen Schreib-Relays veröffentlicht", + "Failed to republish to your write relays: {{error}}": "Fehler beim erneuten Veröffentlichen zu deinen Schreib-Relays: {{error}}", + "Successfully republish to relay set: {{name}}": "Erfolgreich erneut zu Relay-Set veröffentlicht: {{name}}", + "Failed to republish to relay set: {{name}}. Error: {{error}}": "Fehler beim erneuten Veröffentlichen zu Relay-Set: {{name}}. Fehler: {{error}}", + "Successfully republish to relay: {{url}}": "Erfolgreich erneut zu Relay veröffentlicht: {{url}}", + "Failed to republish to relay: {{url}}. Error: {{error}}": "Fehler beim erneuten Veröffentlichen zu Relay: {{url}}. Fehler: {{error}}", + "Write relays": "Schreib-Relays", + "No more reactions": "Keine weiteren Reaktionen", + "No reactions yet": "Noch keine Reaktionen", + "No more zaps": "Keine weiteren Zaps", + "No zaps yet": "Noch keine Zaps", + "No more boosts": "Keine weiteren Boosts", + "No boosts yet": "Noch keine Boosts", + "n more boosts": "{{count}} weitere Boosts", + FollowListNotFoundConfirmation: "Folgeliste nicht gefunden. Möchten Sie eine neue erstellen? Wenn Sie zuvor Benutzer gefolgt haben, bestätigen Sie bitte NICHT, da diese Operation dazu führt, dass Sie Ihre vorherige Folgeliste verlieren.", + MuteListNotFoundConfirmation: "Stummschaltungsliste nicht gefunden. Möchten Sie eine neue erstellen? Wenn Sie zuvor Benutzer stummgeschaltet haben, bestätigen Sie bitte NICHT, da diese Operation dazu führt, dass Sie Ihre vorherige Stummschaltungsliste verlieren.", + "Show NSFW content by default": "NSFW-Inhalte standardmäßig anzeigen", + "Custom emoji management": "Benutzerdefinierte Emoji-Verwaltung", + "After changing emojis, you may need to refresh the page": "Nach dem Ändern von Emojis müssen Sie möglicherweise die Seite aktualisieren", + "Too many read relays": "Zu viele Lese-Relays", + "Too many write relays": "Zu viele Schreib-Relays", + "You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.": "Sie haben {{count}} Lese-Relays. Die meisten Clients verwenden nur 2-4 Relays, mehr einzustellen ist unnötig.", + "You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.": "Sie haben {{count}} Schreib-Relays. Die meisten Clients verwenden nur 2-4 Relays, mehr einzustellen ist unnötig.", + "Optimize Relay Settings": "Relay-Einstellungen optimieren", + "Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.": "Ihre aktuelle Relay-Konfiguration ist möglicherweise nicht optimal. Dies könnte es anderen erschweren, Ihre Beiträge zu finden und zu unvollständigen Benachrichtigungen führen.", + "Optimize Now": "Jetzt optimieren", + "Maybe Later": "Vielleicht später", + "Don't remind me again": "Nicht mehr erinnern", + Posts: "Beiträge", + "Posts (OPs)": "Beiträge (OPs)", + "Kind 1 replies": "Kind-1-Antworten", + Comments: "Kommentare", + "Replies & comments": "Antworten & Kommentare", + Articles: "Artikel", + Highlights: "Highlights", + "A note from": "A note from", + Polls: "Umfragen", + "Zap polls": "Zap polls", + "Voice Posts": "Sprachbeiträge", + "Photo Posts": "Fotobeiträge", + "Video Posts": "Videobeiträge", + "Git repositories": "Git-Repositories", + "Git issues": "Git-Issues", + "Git releases": "Git-Releases", + "Git Republic repository": "Git-Republic-Repository", + "Git Republic issue": "Git-Republic-Issue", + "Git Republic release": "Git-Republic-Release", + "Git Republic event": "Git-Republic-Ereignis", + "Git Republic": "Git Republic", + "Open in Git Republic": "In Git Republic öffnen", + "Pre-release": "Vorabversion", + Draft: "Entwurf", + "Repository release": "Repository-Release", + "New Repository Release": "Neues Repository-Release", + "Release notes use the editor below (optional).": "Release-Notizen stehen im Editor unten (optional).", + "Repository owner (npub or hex)": "Repository-Inhaber (npub oder Hex)", + "Repository id (d-tag)": "Repository-ID (d-Tag)", + "Git tag name": "Git-Tag-Name", + "Tag target (40-char commit hash)": "Tag-Ziel (40 Zeichen Commit-Hash)", + "40-character hex SHA-1": "40 Zeichen Hex SHA-1", + "Release title": "Release-Titel", + "Download URL": "Download-URL", + "Draft release": "Release-Entwurf", + "Fill repository release fields": "Bitte alle Pflichtfelder für das Release ausfüllen.", + "Invalid repository owner pubkey": "Ungültiger Inhaber (npub oder 64 Zeichen Hex).", + "Citations require private relays (NIP-65).": "Zitate benötigen private Outbox-Relays (NIP-65).", + "Select All": "Alle auswählen", + "Clear All": "Alle löschen", + "Set as default filter": "Als Standardfilter festlegen", + "Use filter": "Filter nutzen", + "See all events": "Alle Ereignisse", + "See all events hint": "Feed-Anfragen ohne Kind-Filter; alle Event-Arten werden angezeigt (Relay-Limits und andere Regeln gelten weiter). Zum Testen neuer Event-Kinds.", + "Use filter hint": "Nur unten ausgewählte Kinds werden angefragt und angezeigt.", + "Advanced event lab": "Erweiterter Editor", + "Advanced lab applyError": "Editor ist nicht bereit. Bitte erneut versuchen.", + "Advanced lab cancel undo": "Abbrechen und Änderungen verwerfen", + "Advanced lab undo checkpoint": "Checkpoint wiederherstellen", + "Advanced lab undo checkpoint hint": "Etwa alle 30 Sekunden speichert dieser Tab den Editor (Kind, Text, Tags) in der Sitzung, bis zu 10 Versionen. Nutzen Sie das nach einer Übersetzung oder großen Änderung, die Sie rückgängig machen möchten.", + "Advanced lab undo checkpoint none": "Kein älterer Checkpoint zum Wiederherstellen.", + "Advanced lab undo checkpoint restored": "Editor auf einen gespeicherten Checkpoint zurückgesetzt.", + "Advanced lab markup label markdown": "Markdown", + "Advanced lab markup label asciidoc": "AsciiDoc", + "Advanced lab preview": "Vorschau", + "Advanced lab preview empty": "Noch nichts in der Vorschau.", + "Advanced lab markup placeholder markdown": "Notiztext (Markdown)", + "Advanced lab markup placeholder asciidoc": "Notiztext (AsciiDoc)", + "Advanced lab tags JSON": "Kind, Inhalt und Tags (JSON)", + "Advanced lab json placeholder": "{ \"kind\": 1, \"content\": \"…\", \"tags\": [] }", + "Advanced lab grammar language": "Sprache für Grammatikprüfung", + "Advanced lab translate": "Text übersetzen", + "Advanced lab translation source": "Ausgangssprache", + "Advanced lab translation source auto": "Automatisch erkennen", + "Advanced lab translation target": "Zielsprache", + "Advanced lab translation languages loading": "Sprachen werden vom Übersetzungsdienst geladen…", + "Advanced lab translation languages empty": "Der Übersetzungsdienst liefert keine Sprachen (Docker / LibreTranslate prüfen).", + "Advanced lab translation languages error": "Sprachenliste vom Übersetzungsdienst konnte nicht geladen werden.", + "Advanced lab translation same source target": "Ausgangs- und Zielsprache müssen sich unterscheiden.", + "Show original text": "Show original text", + "Showing original note text": "Showing original text for this note.", + "Translate note": "Translate note", + "Translating note…": "Translating note…", + "Note translated": "Translated to {{language}}.", + "Note translation failed": "Translation failed: {{message}}", + "Read-aloud Piper English voice fallback title": "English voice in use", + "Read-aloud Piper English voice fallback detail": "Piper has no voice model for {{language}}. This session uses the English Piper voice instead; pronunciation may not match the written text.", + "Advanced lab translate not configured": "Übersetzungs-URL ist nicht gesetzt (VITE_TRANSLATE_URL).", + "Advanced lab translate done": "Übersetzung wurde in den Editor eingefügt.", + "Advanced lab use translation read aloud": "Text für Vorlesen verwenden (diese Notiz)", + "Advanced lab read aloud buffer set": "Das nächste Vorlesen dieser Notiz nutzt den aktuellen Text (ggf. nach Übersetzung).", + "Composer JSON tab hint": "Entwurf als JSON bearbeiten (nur `kind`, `content`, `tags`). `kind` muss zur gewählten Notizart passen. Weitere Felder werden beim Veröffentlichen gesetzt.", + "Composer JSON apply": "JSON anwenden", + composerJsonKindMismatch: "JSON-Kind {{got}} passt nicht zum Editor (erwartet {{expected}}). Notizart ändern oder `kind` im JSON anpassen.", + composerJsonApplySuccess: "Entwurf aus JSON übernommen.", + "Advanced lab tb markup tools": "Markup-Hilfen", + "Advanced lab tb headings": "Überschriften", + "Advanced lab tb headings hint": "Wird an der Cursorposition eingefügt; Abstände ggf. anpassen.", + "Advanced lab tb heading placeholder": "Titel", + "Advanced lab tb h1": "Überschrift 1 (#)", + "Advanced lab tb h2": "Überschrift 2 (##)", + "Advanced lab tb h3": "Überschrift 3 (###)", + "Advanced lab tb h4": "Überschrift 4 (####)", + "Advanced lab tb h5": "Überschrift 5 (#####)", + "Advanced lab tb h6": "Überschrift 6 (######)", + "Advanced lab tb setextH1": "Setext-Überschrift 1 (Titel + ===)", + "Advanced lab tb setextH2": "Setext-Überschrift 2 (Titel + ---)", + "Advanced lab tb horizontalRule": "Horizontale Linie (---)", + "Advanced lab tb horizontalRules": "Horizontale Linien", + "Advanced lab tb hrDashes": "Bindestriche (---)", + "Advanced lab tb hrAsterisks": "Sterne (***)", + "Advanced lab tb hrUnderscores": "Unterstriche (___)", + "Advanced lab tb inline": "Inline", + "Advanced lab tb bold": "Fett (** **)", + "Advanced lab tb boldUnderscore": "Fett (__ __)", + "Advanced lab tb italic": "Kursiv (* *)", + "Advanced lab tb italicUnderscore": "Kursiv (_ _)", + "Advanced lab tb strike": "Durchgestrichen (~~ ~~)", + "Advanced lab tb inlineCode": "Inline-Code (` `)", + "Advanced lab tb link": "Link [Text](URL)", + "Advanced lab tb linkTitled": "Link mit Titel [Text](URL \"Titel\")", + "Advanced lab tb image": "Bild ![alt](URL)", + "Advanced lab tb imageTitled": "Bild mit Titel ![alt](URL \"Titel\")", + "Advanced lab tb hardBreak": "Harter Zeilenumbruch (zwei Leerzeichen + Zeilenumbruch)", + "Advanced lab tb citations": "Zitate (NIP-32)", + "Advanced lab tb citationsHint": "Kinds 30–33. Fügt `[[citation::typ::nevent…]]` ein (Markdown & AsciiDoc).", + "Advanced lab citation dialog title": "Zitation einfügen", + "Advanced lab citation dialog hint": "NIP-32-Zitations-Events suchen (intern, extern, Hardcopy, Prompt) und auswählen.", + "Advanced lab citation search placeholder": "Kinds 30–33 durchsuchen…", + "Advanced lab citation none": "Keine Zitations-Events gefunden", + "Advanced lab citation kindLabel": "Kind {{kind}}", + "Advanced lab citation type inline": "Inline-Zitation", + "Advanced lab citation type quote": "Zitat (Block)", + "Advanced lab citation type end": "Endnoten-Zitation", + "Advanced lab citation type foot": "Fußnotenanker", + "Advanced lab citation type footEnd": "Fußnote + Ende", + "Advanced lab citation type promptInline": "Prompt (inline)", + "Advanced lab citation type promptEnd": "Prompt (Ende)", + "Advanced lab tb lists": "Listen", + "Advanced lab tb bulletList": "Aufzählung (-)", + "Advanced lab tb bulletListStar": "Aufzählung (*)", + "Advanced lab tb orderedList": "Nummerierte Liste (1.)", + "Advanced lab tb orderedListStart": "Nummerierte Liste (Startnummer, z. B. 4.)", + "Advanced lab tb taskItem": "Aufgabe (- [ ])", + "Advanced lab tb blocks": "Blöcke", + "Advanced lab tb blockquote": "Zitat (>)", + "Advanced lab tb pipeTable": "Pipe-Tabelle (3×2 Start)", + "Advanced lab tb footnoteRef": "Fußnotenverweis [^1]", + "Advanced lab tb footnoteDef": "Fußnotendefinition [^1]: …", + "Advanced lab tb codeBlock": "Codeblock", + "Advanced lab tb codeBlockHint": "Sprache für farbige Syntax in ```…``` wählen.", + "Advanced lab tb filterLanguages": "Sprachen filtern…", + "Advanced lab tb math": "Formeln (KaTeX)", + "Advanced lab tb mathIntro": "Viele Clients rendern $…$ und $$…$$ mit KaTeX; im eigenen Client prüfen.", + "Advanced lab tb mathInline": "Inline ($…$)", + "Advanced lab tb mathDisplay": "Abgesetzt ($$…$$)", + "Advanced lab tb mathCommon": "Häufige Formeln", + "Advanced lab tb katexFrac": "Bruch \\frac{a}{b}", + "Advanced lab tb katexSqrt": "Wurzel \\sqrt{x}", + "Advanced lab tb katexSum": "Summe \\sum_{i=1}^{n}", + "Advanced lab tb katexInt": "Integral \\int_a^b", + "Advanced lab tb katexMatrix": "2×2-Matrix (pmatrix)", + "Advanced lab tb katexCases": "Fallunterscheidung (cases)", + "Advanced lab tb mathGreek": "Griechisch & Symbole", + "Advanced lab tb greekAlpha": "alpha", + "Advanced lab tb greekBeta": "beta", + "Advanced lab tb greekGamma": "gamma", + "Advanced lab tb greekDelta": "delta", + "Advanced lab tb greekPi": "pi", + "Advanced lab tb greekTheta": "theta", + "Advanced lab tb greekLambda": "lambda", + "Advanced lab tb greekSigma": "sigma", + "Advanced lab tb greekOmega": "omega", + "Advanced lab tb greekInfty": "Unendlich", + "Advanced lab tb hrTitle": "Horizontale Linie", + "Advanced lab tb adocTitles": "Titel", + "Advanced lab tb adocTitlesHint": "Dokumentkopf: keine Leerzeilen innerhalb des Kopfes; die erste Leerzeile beendet ihn (https://docs.asciidoctor.org/asciidoc/latest/document/header/).", + "Advanced lab tb documentTitle": "Dokumenttitel", + "Advanced lab tb sectionTitle": "Abschnittstitel", + "Advanced lab tb adocLevel0": "Dokumenttitel (=)", + "Advanced lab tb adocLevel0WithHeader": "Minimaler Kopf (Titel, Autor, Revision, Beschreibung, Stichwörter, erster Abschnitt)", + "Advanced lab tb adocHeaderAuthorLine": "Autor Name ", + "Advanced lab tb adocHeaderRevisionLine": "1.0, 2026-04-15: Entwurf", + "Advanced lab tb adocHeaderAttrsBlock": ":description: Kurze Zusammenfassung für Metadaten\n:keywords: stichwort-eins, stichwort-zwei, stichwort-drei", + "Advanced lab tb adocSection1": "Abschnitt (==)", + "Advanced lab tb adocSection2": "Unterabschnitt (===)", + "Advanced lab tb adocSection3": "Ebene 4 (====)", + "Advanced lab tb adocSection4": "Ebene 5 (=====)", + "Advanced lab tb adocSection5": "Ebene 6 (======)", + "Advanced lab tb adocBold": "Fett (*fett*)", + "Advanced lab tb adocItalic": "Kursiv (_kursiv_)", + "Advanced lab tb adocMono": "Monospace (`mono`)", + "Advanced lab tb adocLink": "Link (link:url[Text])", + "Advanced lab tb adocImage": "Bild (image::url[Alt])", + "Advanced lab tb adocUnordered": "Aufzählung (* Punkt)", + "Advanced lab tb adocOrdered": "Nummeriert (. Schritt)", + "Advanced lab tb adocLabeled": "Label-Liste (Begriff:: Erklärung)", + "Advanced lab tb adocBlocks": "Blöcke", + "Advanced lab tb adocQuote": "Zitat (____)", + "Advanced lab tb adocLiteral": "Literal (....)", + "Advanced lab tb adocNote": "NOTE-Hinweis", + "Advanced lab tb adocTip": "TIP-Hinweis", + "Advanced lab tb adocWarning": "WARNING-Hinweis", + "Advanced lab tb adocSource": "Source / Listing", + "Advanced lab tb adocSourceHint": "Fügt [source,Sprache] ein; Beispielcode ersetzen.", + "Advanced lab tb adocStem": "STEM / LaTeX", + "Advanced lab tb adocStemHint": "Imwald nutzt Asciidoctor mit stem: latexmath; Formeln werden zu \\(...\\) / \\[...\\] und mit KaTeX gerendert (nicht MathJax).", + "Advanced lab tb adocStemInline": "Inline stem:[…]", + "Advanced lab tb adocLatexmathInline": "Inline latexmath:[…]", + "Advanced lab tb adocStemBlock": "Display-Formel ([stem] +++ … +++++)", + "Advanced lab tb adocLineBreak": "Zeilenumbruch (Leerzeichen + am Zeilenende)", + "Advanced lab tb adocSubscript": "Tiefgestellt (~text~)", + "Advanced lab tb adocSuperscript": "Hochgestellt (^text^)", + "Advanced lab tb adocPassthrough": "Inline-Passthrough (+++ … +++)", + "Advanced lab tb adocFootnote": "Fußnote (footnote:[…])", + "Advanced lab tb adocImportant": "IMPORTANT-Hinweis", + "Advanced lab tb adocCaution": "CAUTION-Hinweis", + "Advanced lab tb adocExampleBlock": "Beispielblock ([example])", + "Advanced lab tb adocSidebar": "Seitenleiste (**** … ****)", + "Advanced lab tb adocListing": "Listing-Block ([listing] + ----)", + "Advanced lab tb adocOpenBlock": "Open-Block (-- … --)", + "Advanced lab tb adocStructure": "Struktur & Medien", + "Advanced lab tb adocStructureHint": "Tabellen, IDs/Anker ([#id] vor einem Block—kollidiert nicht mit [[Wikilink]]-Syntax), Querverweise, Medien (Asciidoctor-Blockmakros).", + "Advanced lab tb adocTable": "Tabelle (|=== …)", + "Advanced lab tb adocAnchor": "Block- oder Abschnitts-ID ([#id])", + "Advanced lab tb adocXref": "Querverweis (<>)", + "Advanced lab tb adocVideo": "Video (video::url[])", + "Advanced lab tb adocAudio": "Audio (audio::url[])", + "Advanced lab tb adocOrderedStart": "Nummerierte Liste mit [start=n]", + "Advanced lab tb adocComment": "Zeilenkommentar (//)", + "Advanced lab tb adockbd": "Tastatur (kbd:[…])", + "Advanced lab tb adocMenu": "Menüpfad (menu:…)", + "Advanced lab tb adocBtn": "Schaltfläche (btn:[…])", + "Advanced lab tb adocHrTitle": "Thematic break (''')", + Apply: "Anwenden", + Reset: "Zurücksetzen", + "Share something on this Relay": "Teile etwas auf diesem Relay", + "Try deleting this note": "Versuche, diese Notiz zu löschen", + "Deletion request sent to {{count}} relays": "Löschanfrage an {{count}} Relays gesendet", + "Suitable Relays": "Geeignete Relays", + "People, keywords, or relays": "Personen, Schlüsselwörter oder Relays", + "Hide content mentioning muted users": "Inhalte ausblenden, die stumme Benutzer erwähnen", + "This note mentions a user you muted": "Diese Notiz erwähnt einen Benutzer, den Sie stumm geschaltet haben", + Filter: "Filter", + "Feed filter": "Feed-Filter", + "Search loaded posts": "Geladene Beiträge durchsuchen", + "Filter loaded posts placeholder": "Nach Text in Inhalt oder Tags filtern…", + "Feed filter author": "Autor", + "Feed filter author everyone": "Von allen", + "Feed filter author me": "Nur von mir", + "Feed filter author npub": "Von Benutzer (npub oder Hex)", + "Feed filter author npub from prefix": "von:", + "Feed filter author npub placeholder": "npub1… oder 64-Zeichen-Hex", + "Feed filter author me needs login": "Zum Filtern nach Ihrem Pubkey anmelden", + "Within the last": "Innerhalb der letzten", + "Time unit": "Zeiteinheit", + Minutes: "Minuten", + Days: "Tage", + Weeks: "Wochen", + Months: "Monate", + Years: "Jahre", + "Feed filter client-side hint": "Filter gelten nur für bereits geladene Beiträge; Relays werden nicht erneut abgefragt.", + "Feed full search": "Vollständige Suche starten", + "Feed full search running": "Suche läuft…", + "Feed full search clear": "Zurücksetzen", + "Feed full search active hint": "Es werden Ergebnisse einer Relay-Suche angezeigt. Zurücksetzen, um zum Live-Feed zurückzukehren.", + "Feed full search need constraint": "Bitte Suchtext, Autorenfilter oder einen Zeitraum setzen, bevor Relays abgefragt werden.", + "Feed full search invalid feed": "Für diesen Feed ist keine Relay-Suche möglich.", + "Feed full search failed": "Relay-Suche fehlgeschlagen. Bitte erneut versuchen.", + "Feed full search empty": "Auf den abgefragten Relays wurden keine passenden Beiträge gefunden.", + "No loaded posts match your filters.": "Keine geladenen Beiträge entsprechen den Filtern.", + "mentioned you in a note": "hat Sie in einer Notiz erwähnt", + "quoted your note": "hat Ihre Notiz zitiert", + "quoted this note": "Hat diese Notiz zitiert", + "highlighted this note": "Hat diese Notiz hervorgehoben", + "cited in article": "In Artikel zitiert", + "Thread backlinks heading": "Verweise auf diese Notiz", + "Thread backlinks primary section": "Zitate, Markierungen & Verweise", + "Thread backlinks bookmarks section": "Lesezeichen", + "Thread backlinks lists section": "Listen & Sammlungen", + "View full note and thread": "Vollständige Notiz und Thread anzeigen", + "labeled this note": "Hat diese Notiz etikettiert", + "reported this note": "Hat diese Notiz gemeldet", + "bookmarked this note": "Lesezeichen für diese Notiz", + "pinned this note": "Diese Notiz angepinnt", + "listed this note": "In einer Liste gespeichert", + "bookmark set reference": "In einem Lesezeichen-Set", + "curated this note": "Kuratierung dieser Notiz", + "badge award for this note": "Abzeichen für diese Notiz", + "referenced this note": "Verweist auf diese Notiz", + "Report events heading": "Meldungen (Moderation)", + "voted in your poll": "hat in Ihrer Umfrage abgestimmt", + "reacted to your note": "hat auf Ihre Notiz reagiert", + "boosted your note": "hat Ihre Notiz geboostet", + "zapped your note": "hat Ihre Notiz gezappt", + "zapped you": "hat Sie gezappt", + zapped: "zapped", + "Invalid zap receipt": "Invalid zap receipt", + "Zapped note": "Zapped note", + "Zapped profile": "Zapped profile", + "Zap reply threshold": "Zap reply threshold", + "Zaps above this amount will appear as replies in threads": "Zaps above this amount will appear as replies in threads", + "Mark as read": "Als gelesen markieren", + Report: "Melden", + "Successfully report": "Erfolgreich gemeldet", + "Failed to report": "Meldung fehlgeschlagen", + nudity: "Nacktheit", + malware: "Schadsoftware", + profanity: "Obszönität", + illegal: "Illegaler Inhalt", + spam: "Spam", + other: "Sonstiges", + "Notification list style": "Benachrichtigungslistenstil", + "See extra info for each notification": "Zusätzliche Informationen für jede Benachrichtigung anzeigen", + "See more notifications at a glance": "Mehr Benachrichtigungen auf einen Blick sehen", + Detailed: "Detailliert", + "Submit Relay": "Relay einreichen", + Homepage: "Homepage", + "Proof of Work (difficulty {{minPow}})": "Arbeitsnachweis (Schwierigkeit {{minPow}})", + "via {{client}}": "über {{client}}", + "Auto-load media": "Medien automatisch laden", + Always: "Immer", + "Wi-Fi only": "Nur WLAN", + Never: "Nie", + "Click to load image": "Klicken, um Bild zu laden", + "Click to load media": "Klicken, um Medien zu laden", + "Click to load YouTube video": "Klicken, um YouTube-Video zu laden", + "{{count}} reviews": "{{count}} Bewertungen", + "Write a review": "Eine Bewertung schreiben", + "No reviews yet. Be the first to write one!": "Noch keine Bewertungen. Seien Sie der Erste, der eine schreibt!", + "View more reviews": "Weitere Bewertungen anzeigen", + "Failed to review": "Bewertung fehlgeschlagen", + "Write a review and pick a star rating": "Schreiben Sie eine Bewertung und wählen Sie eine Sternebewertung", + Submit: "Absenden", + "Reviews for {{relay}}": "Bewertungen für {{relay}}", + "No relays selected": "Keine Relays ausgewählt", + "Post to": "Posten an", + "Write relays and {{count}} other relays": "Schreib-Relays und {{count}} andere Relays", + "{{count}} relays": "{{count}} Relays", + "Republishing...": "Wird erneut veröffentlicht...", + "Trending Notes": "Trendende Notizen", + "Trending on Your Favorite Relays": "Trending auf deinen Lieblings-Relays", + "Trending on the Default Relays": "Trending auf den Standard-Relays", + "Latest from your follows": "Neuestes von deinen Follows", + "Latest from our recommended follows": "Neuestes von unseren empfohlenen Follows", + "Search page title": "Nostr durchsuchen", + "Follows latest page title": "Neuestes von Follows", + "Follows latest page description": "Aktuelle Notizen von Leuten, denen du folgst (ohne Konto: unsere kuratierte Liste). Wir führen Outbox-Relays aus ihren NIP-65-Listen mit deinen Favoriten zusammen und laden in Stapeln. Zeile aufklappen für Notizen oder Profil antippen.", + "Follows latest nav label": "Follows: neueste", + "Loading follow list…": "Follow-Liste wird geladen …", + "Could not load recommended follows": "Empfohlene Follows konnten nicht geladen werden", + "Your follow list is empty": "Deine Follow-Liste ist leer", + "Loading recent posts from follows…": "Neueste Beiträge der Follows werden geladen …", + "Loading more…": "Weitere werden geladen …", + "No recent posts from this user in the current fetch": "Keine aktuellen Beiträge von diesem Nutzer in dieser Abfrage", + "Loading trending notes from your relays...": "Trendende Notizen werden geladen …", + "Trending on Nostr": "Trending auf Nostr", + "Home trending slice notice": "Dieser Feed enthält eine Trending-Spur (nostrarchives). Notizen, die von diesem Relay kamen, zeigen unter der Karte „Trending auf Nostr“.", + Sort: "Sortierung", + newest: "neueste", + oldest: "älteste", + "most popular": "beliebteste", + "least popular": "am wenigsten beliebt", + "Connected to": "Verbunden mit", + "Disconnect Wallet": "Wallet trennen", + "Are you absolutely sure?": "Bist du dir absolut sicher?", + "You will not be able to send zaps to others.": "Du wirst keine Zaps mehr an andere senden können.", + Disconnect: "Trennen", + "Set up your wallet to send and receive sats!": "Richte deine Wallet ein, um Sats zu senden und zu empfangen!", + "Set up": "Einrichten", + "nested events": "nested events", + "Loading RSS feeds...": "Loading RSS feeds...", + "No RSS feed items available": "No RSS feed items available", + "Show or hide the RSS page and sidebar entry": "Show or hide the RSS page and sidebar entry", + "Refreshing feeds...": "Refreshing feeds...", + "All feeds": "All feeds", + "All time": "All time", + "Last hour": "Last hour", + "Last day": "Last day", + "Last week": "Last week", + "Last month": "Last month", + "Last 24 hours": "Last 24 hours", + "Last 48 hours": "Last 48 hours", + "Time range": "Time range", + "Filter by RSS source": "Filter by RSS source", + "No items match your filters": "No items match your filters", + "Search...": "Search...", + "{{count}} feeds": "{{count}} feeds", + "Toggle filters": "Toggle filters", + "Showing {{filtered}} of {{total}} items": "Showing {{filtered}} of {{total}} items", + Full: "Full", + Compact: "Kompakt", + Expand: "Expand", + "help.title": "Hilfe", + "help.tabShortcuts": "Tastenkürzel", + "help.tabOverview": "App-Übersicht", + "shortcuts.title": "Tastenkürzel", + "shortcuts.intro": "Kürzel für diese App und übliche Bedienung. Kombinationen: Umschalt+Alt+Taste (unter macOS: Umschalt+Wahltaste); die Reihenfolge der Modifier beim Drücken ist egal.", + "shortcuts.sectionApp": "Diese App", + "shortcuts.sectionSearch": "Suchleiste", + "shortcuts.sectionStandard": "Standard", + "shortcuts.openHelp": "Diese Hilfe anzeigen", + "shortcuts.or": "oder", + "shortcuts.then": "dann", + "shortcuts.focusPrimary": "Hauptspalte zum Scrollen fokussieren (Desktop; danach Pfeiltasten, Bild auf/ab, Pos1/Ende)", + "shortcuts.focusSecondary": "Seitenleiste/Panel zum Scrollen fokussieren, wenn geöffnet (Desktop; gleiche Tasten)", + "shortcuts.newNote": "Neue Notiz / Beitrag (ggf. zuerst anmelden)", + "shortcuts.searchSuggest": "In den Vorschlägen bewegen", + "shortcuts.searchDismiss": "Such-Dropdown schließen", + "shortcuts.tabNavigate": "Fokus zum nächsten oder vorherigen Steuerelement", + "shortcuts.activate": "Schaltflächen und viele Steuerelemente auslösen", + "shortcuts.closeOverlays": "Dialoge, Menüs und Such-Dropdown schließen", + "shortcuts.scrollWhenFocused": "Den fokussierten scrollbaren Bereich scrollen", + "shortcuts.browserBack": "Zurück im Browser (Verlauf)", + "No spells yet. Create one with the button above.": "Noch keine Zaubersprüche. Lege mit dem Button oben einen an.", + "Loading spells from your relays…": "Zaubersprüche werden von deinen Relays geladen…", + "Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.": "Zauberspruch konnte nicht ausgeführt werden. Prüfe REQ/COUNT oder füge Schreib-Relays (Outbox) in den Einstellungen hinzu.", + "Select a spell…": "Zauberspruch wählen…", + "Spells from follows": "Von Leuten, denen du folgst ({{count}})", + "Other spells": "Weitere Zaubersprüche ({{count}})", + "Select a spell to view its feed.": "Wähle einen Zauberspruch, um den Feed zu sehen.", + "Add another row": "Weitere Zeile hinzufügen", + "Remove this row": "Diese Zeile entfernen", + "One kind number per row (e.g. 1 for notes).": "Eine Kind-Nummer pro Zeile (z. B. 1 für Notizen).", + "One author per row: $me, $contacts, or hex pubkey / npub.": "Ein Autor pro Zeile: $me, $contacts oder Hex-Pubkey / npub.", + "One hex event id per row.": "Eine Hex-Event-ID pro Zeile.", + "One wss:// URL per row. Leave empty to use your write relays.": "Eine wss://-URL pro Zeile. Alle leer lassen für deine Schreib-Relays (Outbox).", + "One topic per row.": "Ein Thema pro Zeile.", + topic: "Thema", + "Spell form fields": "Zauberspruch-Formularfelder", + "Counting matching events…": "Zähle passende Events…", + "Edit spell": "Zauberspruch bearbeiten", + "Clone spell": "Zauberspruch klonen", + "Spell cloned": "Zauberspruch geklont", + "Clone spell intro": "Dieser Zauberspruch wurde aus der Definition eines anderen Autors übernommen. Passe alles an, dann speichern, um einen neuen Zauberspruch mit deinem Konto zu veröffentlichen.", + "Spell updated": "Zauberspruch aktualisiert", + "Relay URL": "Relay", + Count: "Anzahl", + "Edit spell relays": "Relays bearbeiten", + "COUNT spell relay errors hint": "Mindestens ein Relay ist fehlgeschlagen oder hat einen Fehler gemeldet. Du kannst die Relay-Liste im Zauber anpassen und erneut speichern.", + "COUNT spell total distinct explanation": "Verschiedene passende Event-IDs über alle erfolgreich antwortenden Relays (Duplikate zwischen Relays entfernt). Jedes Relay liefert höchstens so viele wie im Limit steht.", + "Leave empty to use your write relays.": "Leer lassen, um deine Schreib-Relays (Outbox) zu verwenden.", + "COUNT spell result explanation": "Verschiedene Events, die zum Filter passen (von den Relays des Zaubers und Standard-Schreib-Relays zusammengeführt, Duplikate entfernt). Relays liefern höchstens so viele wie im Limit steht.", + "COUNT spell may be capped by limit": "Die Zahl kann deinem Limit entsprechen — es könnte noch mehr passende Events geben.", + "Spell count failed. Check relays or try again.": "Zählung fehlgeschlagen. Relays prüfen oder erneut versuchen.", + "REQ returns a feed; COUNT returns a number.": "REQ: scrollbarer Feed (unten Feed live oder einmaliger Abruf). COUNT: nur eine Zahl, kein Feed.", + listImportManualLabel: "Aus Event vorausfüllen", + listImportFromEventHint: "Unterstützte Tags werden ins Formular übernommen (e, p, t, relay, r, a wo möglich). Nicht leerer Inhalt wird übersprungen; verschlüsselte private Einträge werden nicht gelesen. Es können Hinweise zu nicht abgebildeten Tags erscheinen.", + listImportManualPlaceholder: "64 Zeichen Hex, nevent1… oder naddr1…", + listImportLoadManual: "Anwenden", + listImportContentSkipped: "Dieses Event hat nicht leeren Inhalt (evtl. verschlüsselte private Einträge). Es wurden nur öffentliche Tags übernommen.", + listImportUnsupportedEmoji: "Diese Liste enthält Emoji-Tags (NIP-30); die werden nicht in den Zauber-Filter übernommen.", + listImportUnsupportedTag: "Tags vom Typ „{{tag}}“ ({{count}}) werden noch nicht auf Zauber-Filter abgebildet.", + listImportBadATag: "Adress-Tag nicht lesbar: {{preview}}…", + listImportATagNotFound: "Adress-Tag nicht gefunden: {{preview}}…", + listImportATagFailed: "Adress-Tag konnte nicht aufgelöst werden: {{preview}}…", + listImportEventNotFound: "Kein Event zu dieser Referenz gefunden.", + "REQ tag filters": "REQ-Tag-Filter", + spellFormTagFiltersLabel: "Tag-Filter auf passenden Events", + spellCreateIntro: "Zaubersprüche sind gespeicherte Relay-Filter (NIP-A7). Der Abschnitt „Abfrage“ ist die eigentliche Definition; der gestrichelte Kasten unten nur für Namen, Beschreibung und Katalog-Labels. Beim Ausführen: $me für deinen Pubkey, $contacts für deine Follow-Liste.", + spellFormSectionQueryTitle: "Abfrage (Spell-Definition)", + spellFormSectionQueryHint: "Dieser Block ist die eigentliche Definition: Er wird zum Nostr-REQ-/COUNT-Filter (Kinds, Autoren, Zeitraum, Tag-Filter auf passenden Events, Relays usw.).", + spellFormSectionMetadataTitle: "Anzeige & Beschriftung (optional)", + spellFormSectionMetadataBadge: "Gehört nicht zur Abfrage", + spellFormSectionMetadataHint: "Name, Beschreibung und Themen-Labels dienen nur der Darstellung und in Zauberspruch-Listen. Sie werden beim Abrufen von Events nicht verwendet.", + spellFormCatalogTopicsLabel: "Themen-Labels auf dem Zauberspruch (t-Tags)", + spellTopicsMetadataHint: "Ein Thema pro Zeile. Um Notes nach Thema zu filtern, nutze oben im Block „Abfrage“ die REQ-Tag-Filter (Buchstabe „t“).", + spellTagFiltersHint: "Optionale Filter auf abonnierte Events (NIP-01 Ein-Buchstaben-Tags). Beispiel: Buchstabe „t“, Werte „bitcoin“.", + spellTagFiltersEmpty: "Noch keine Tag-Filter. Zeilen unten hinzufügen oder oben eine Event-Referenz anwenden.", + "Tag filter letter": "Tag-Buchstabe", + "Filter value": "Wert", + "Add tag filter": "Tag-Filter hinzufügen", + spellPickerSectionYours: "Deine Zaubersprüche", + "Failed to remove spell from local storage": "Zauberspruch konnte lokal nicht entfernt werden", + Spells: "Zaubersprüche", + "doublePane.secondaryEmpty": "Öffne eine Notiz, ein Profil oder Einstellungen, um sie hier anzuzeigen.", + "doublePane.secondaryEmptyHint": "Feed und Hauptseiten bleiben links.", + "(empty)": "(empty)", + "12-hour (AM/PM)": "12-hour (AM/PM)", + "24-hour": "24-hour", + "A new version is available": "A new version is available", + "A short description of the article content": "A short description of the article content", + AM: "AM", + "Access via": "Access via", + "Accessed On": "Accessed On", + "Accessed on": "Accessed on", + "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.": "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.", + "Add a relay to block": "Add a relay to block", + "Add at least one invitee": "Add at least one invitee", + "Add client identifier": "Add client identifier", + "Add expiration tags by default": "Add expiration tags by default", + "Add quiet tags by default": "Add quiet tags by default", + "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above": "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above", + "Add the source (where this text is from)": "Add the source (where this text is from)", + "Add to favorites": "Zu Favoriten hinzufügen", + "Add {{count}} Selected": "{{count}} Ausgewählte hinzufügen", + "Added at": "Added at", + "Added {{count}} relay(s)": "{{count}} Relay(s) hinzugefügt", + "Adding...": "Hinzufügen...", + "Adding…": "Adding…", + "Advanced Options": "Advanced Options", + "All Topics": "All Topics", + "All feeds from OPML file are already added": "All feeds from OPML file are already added", + "All items deleted successfully": "All items deleted successfully", + "Already blocked": "Already blocked", + "Already saved": "Already saved", + "Application Recommendations": "Application Recommendations", + "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.": "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.", + "Are you sure you want to delete all items from this store?": "Are you sure you want to delete all items from this store?", + "Are you sure you want to unmute this user? This will restore the follow button.": "Are you sure you want to unmute this user? This will restore the follow button.", + "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", + "Article exported as AsciiDoc": "Article exported as AsciiDoc", + "Article exported as Markdown": "Article exported as Markdown", + "Article title (optional)": "Article title (optional)", + articleDTagDefaultHint: "Optional. Wenn leer: automatischer d-Tag mit typischem Präfix und Unix-Zeitstempel (Sekunden), z. B. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….", + Audio: "Audio", + Author: "Author", + "Author is required for reading groups": "Author is required for reading groups", + "Author name (optional)": "Author name (optional)", + Authors: "Autoren", + "Block Relay": "Block Relay", + "Blocked Relays": "Blocked Relays", + "Blocking...": "Blocking...", + Blossom: "Blossom", + Book: "Book", + "Brief description of the event": "Brief description of the event", + "Brief summary (optional)": "Brief summary (optional)", + "Brief summary of the article (optional)": "Brief summary of the article (optional)", + "Browse Cache": "Browse Cache", + "Search cached events...": "Search cached events...", + "No cached events match your search.": "No cached events match your search.", + "Showing first {{count}} cached event matches.": "Showing first {{count}} cached event matches.", + "Open in store": "Open in store", + "Browse cache root description": "View IndexedDB stores, or search all cached Nostr-like events (content, tags, id, pubkey, kind) across stores.", + "Copy event JSON": "Copy event JSON", + "C-Tag": "C-Tag", + "Cache Relays": "Cache Relays", + "Cache cleared successfully": "Cache cleared successfully", + "Cache refreshed successfully": "Cache refreshed successfully", + "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.": "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.", + "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)": "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)", + "Cache relays saved": "Cache relays saved", + Cancelled: "Cancelled", + Chapter: "Chapter", + "Chapter Title": "Chapter Title", + "Chapter title (optional)": "Chapter title (optional)", + Citation: "Citation", + "Citation title (optional)": "Citation title (optional)", + "Clean up duplicate replaceable events? This will keep only the newest version of each event.": "Clean up duplicate replaceable events? This will keep only the newest version of each event.", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}}": "Cleaned up {{deleted}} duplicate entries, kept {{kept}}", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})": "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})", + "Cleanup Duplicates": "Cleanup Duplicates", + Clear: "Leeren", + "Clear Cache": "Clear Cache", + "Clear Service Worker": "Clear Service Worker", + "Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.": "Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.", + "Click update to get the latest features and improvements": "Click update to get the latest features and improvements", + Close: "Schließen", + "Comma or space-separated topics (will be added as t-tags)": "Comma or space-separated topics (will be added as t-tags)", + Command: "Befehl", + Configure: "Configure", + "Connect Wallet": "Connect Wallet", + "Console Logs": "Console Logs", + "Console logs cleared": "Console logs cleared", + "Content is required": "Content is required", + "Content must be 5000 characters or less": "Content must be 5000 characters or less", + Controversial: "Controversial", + "Copied!": "Copied!", + "Copy to clipboard": "Copy to clipboard", + "Create Article": "Create Article", + "Create Citation": "Create Citation", + "Create Highlight": "Create Highlight", + "Create New Thread": "Create New Thread", + "Create Poll": "Create Poll", + "Create Thread": "Create Thread", + composeModeKind1: "Kurznotiz (Kind 1) — andere Beitragsarten abschalten", + "Create a Spell": "Zauberspruch anlegen", + "Creating...": "Creating...", + "D-Tag": "D-Tag", + "D-Tag is required for articles": "D-Tag is required for articles", + DOI: "DOI", + "Date-based (all-day)": "Date-based (all-day)", + "Default expiration (months)": "Default expiration (months)", + "Default quiet period (days)": "Default quiet period (days)", + "Delete All": "Delete All", + "Delete item": "Delete item", + "Deleted {{count}} event(s)": "Deleted {{count}} event(s)", + "Deletion request sent": "Deletion request sent", + "Description (content)": "Beschreibung (Inhalt)", + "Digital Object Identifier (optional)": "Digital Object Identifier (optional)", + "Disable word wrap": "Disable word wrap", + "Discovered Relays": "Discovered Relays", + "Discovering relays...": "Discovering relays...", + Discussion: "Discussion", + Discussions: "Discussions", + Downvote: "Downvote", + "Edited by": "Edited by", + Editor: "Editor", + "Editor name (optional)": "Editor name (optional)", + "Enable word wrap": "Enable word wrap", + "End date": "End date", + "End date must be after start date": "End date must be after start date", + "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.": "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.", + "Enter a descriptive title for your thread": "Enter a descriptive title for your thread", + "Enter the author name": "Enter the author name", + "Enter the book title": "Enter the book title", + "Enter the specific text you want to highlight in the main content area above": "Enter the specific text you want to highlight in the main content area above", + "Event IDs (ids)": "Event-IDs (ids)", + "Event appears to be invalid or corrupted": "Event appears to be invalid or corrupted", + "Event has no value data": "Event has no value data", + "Event is missing required fields: {{fields}}": "Event is missing required fields: {{fields}}", + "Event type": "Event type", + "Expiration Tags": "Expiration Tags", + "Export OPML": "Export OPML", + "Export as AsciiDoc": "Export as AsciiDoc", + "Export as Markdown": "Export as Markdown", + "External Citation": "External Citation", + "External Citation Settings": "External Citation Settings", + "Failed to add relay. Please try again.": "Failed to add relay. Please try again.", + "Failed to add relays": "Failed to add relays", + "Failed to block relay. Please try again.": "Failed to block relay. Please try again.", + "Failed to cleanup duplicates": "Failed to cleanup duplicates", + "Failed to clear cache": "Failed to clear cache", + "Failed to copy": "Failed to copy", + "Failed to create relay set. Please try again.": "Failed to create relay set. Please try again.", + "Failed to create thread": "Failed to create thread", + "Failed to create thread. Please try a different relay.": "Failed to create thread. Please try a different relay.", + "Failed to delete all items": "Failed to delete all items", + "Failed to delete item": "Failed to delete item", + "Failed to discover relays": "Failed to discover relays", + "Failed to export OPML file": "Failed to export OPML file", + "Failed to export article": "Failed to export article", + "Failed to import OPML file: {{error}}": "Failed to import OPML file: {{error}}", + "Failed to load RSS feeds": "Failed to load RSS feeds", + "Failed to load store items": "Failed to load store items", + "Failed to mute user privately": "Failed to mute user privately", + "Failed to mute user publicly": "Failed to mute user publicly", + "Failed to pin note": "Failed to pin note", + "Failed to publish post": "Failed to publish post", + "Failed to publish reply": "Failed to publish reply", + "Failed to publish reaction": "Reaktion konnte nicht veröffentlicht werden", + "Failed to publish thread": "Failed to publish thread", + "Failed to publish to some relays. Please try again or use different relays.": "Failed to publish to some relays. Please try again or use different relays.", + "Failed to save RSS feeds": "Failed to save RSS feeds", + "Failed to save cache relays": "Failed to save cache relays", + "Failed to save relay list": "Failed to save relay list", + "Failed to unregister service worker: ": "Failed to unregister service worker: ", + "Failed to unsubscribe from topic": "Failed to unsubscribe from topic", + Favorite: "Favorite", + Fetch: "Abrufen", + "Fetch once, then stop.": "Einmal abrufen, dann stoppen.", + "Filter by": "Filter by", + "Flat View": "Flat View", + "Font size": "Font size", + "Full Quote/Context": "Full Quote/Context", + "Full-text search query": "Volltextsuchanfrage", + Geohash: "Geohash", + "Geohash (optional)": "Geohash (optional)", + "Global quiet mode": "Global quiet mode", + "Group discussions by topic": "Group discussions by topic", + "Grouped View": "Grouped View", + Groups: "Groups", + "Handler {{index}}": "Handler {{index}}", + "Hardcopy Citation": "Hardcopy Citation", + "Hardcopy Citation Settings": "Hardcopy Citation Settings", + Hide: "Hide", + "Hide interactions on all posts": "Hide interactions on all posts", + "Hide interactions on posts with quiet tags": "Hide interactions on posts with quiet tags", + "High PoW": "High PoW", + "Higher values make your thread harder to mine but more unique.": "Higher values make your thread harder to mine but more unique.", + Highlight: "Highlight", + "Highlight Settings": "Highlight Settings", + "How to Create a Highlight (NIP-84)": "How to Create a Highlight (NIP-84)", + "Human-readable spell name": "Lesbarer Name des Zauberspruchs", + "Image URL": "Image URL", + "Import OPML": "Import OPML", + "Imported {{count}} feed(s) from OPML file": "Imported {{count}} feed(s) from OPML file", + "In-Browser Cache": "In-Browser Cache", + Insert: "Insert", + "Insert URL into your post and publish to Nostr GIF library (NIP-94).": "Insert URL into your post and publish to Nostr GIF library (NIP-94).", + "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.": "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.", + "Insert event or address": "Insert event or address", + "Insert mention": "Insert mention", + "Internal Citation": "Internal Citation", + "Internal Citation Settings": "Internal Citation Settings", + "Invalid Event": "Invalid Event", + "Invalid Lightning Address": "Invalid Lightning Address", + "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.": "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.", + "Invalid URL": "Invalid URL", + "Invalid content JSON": "Invalid content JSON", + "Invalid relay URL": "Invalid relay URL", + "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.": "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.", + "Item deleted successfully": "Item deleted successfully", + JSON: "JSON", + "Join link": "Join link", + "Journal/Publication name (optional)": "Journal/Publication name (optional)", + Json: "JSON", + Kinds: "Kinds", + "Language Model": "Language Model", + Large: "Large", + "Leave empty for HiveTalk, or paste Zoom / Teams / other link": "Leave empty for HiveTalk, or paste Zoom / Teams / other link", + "Lightning payment failed": "Lightning payment failed", + Limit: "Limit", + "Live feed; keeps updating.": "Live-Feed; wird fortgesetzt aktualisiert.", + "Loading more...": "Loading more...", + "Loading relays...": "Loading relays...", + "Location (optional)": "Location (optional)", + "Log in to run this spell (it uses $me or $contacts).": "Zum Ausführen anmelden (verwendet $me oder $contacts).", + "Login failed": "Login failed", + "nip07.extensionKeyMismatch": "Your browser extension is using a different key on this tab. Switch to the matching key in the extension, or reload the page to apply your extension's current selection.", + "nip07.reloadPage": "Reload page", + "Login to configure RSS feeds": "Login to configure RSS feeds", + "Long-form Article": "Long-form Article", + "Mailbox relays saved": "Mailbox relays saved", + "Mark as NSFW": "Mark as NSFW", + "Maximum {{max}} invitees": "Maximum {{max}} invitees", + "Maximum {{max}} invitees allowed": "Maximum {{max}} invitees allowed", + Medium: "Medium", + Mode: "Modus", + "Most Zapped": "Most Zapped", + "Move to top": "Move to top", + "Multiple choice": "Multiple choice", + "Mute failed": "Mute failed", + NSFW: "NSFW", + Name: "Name", + "Name of the language model used": "Name of the language model used", + "New External Citation": "New External Citation", + "New Hardcopy Citation": "New Hardcopy Citation", + "New Highlight": "New Highlight", + "New Internal Citation": "New Internal Citation", + "New Long-form Article": "New Long-form Article", + "New Poll": "New Poll", + "New Discussion": "Neue Diskussion", + "New Prompt Citation": "New Prompt Citation", + "New Public Message": "New Public Message", + "New Wiki Article": "New Wiki Article", + "New Wiki Article (Markdown)": "New Wiki Article (Markdown)", + Newest: "Newest", + "No JSON available": "No JSON available", + "No RSS feeds found in OPML file": "No RSS feeds found in OPML file", + "No cached data found.": "No cached data found.", + "No console logs captured yet": "No console logs captured yet", + "No events found": "No events found", + "No feeds configured. Default feed will be used.": "No feeds configured. Default feed will be used.", + "No feeds to export": "No feeds to export", + "No groups available. Join some groups first.": "No groups available. Join some groups first.", + "No items in this store.": "No items in this store.", + "No items match your search.": "No items match your search.", + "No logs match the current filters": "No logs match the current filters", + "No posts found": "No posts found", + "No posts match your search": "No posts match your search", + "No relays available. Please configure relays in settings.": "No relays available. Please configure relays in settings.", + "No service workers or caches found for this app": "No service workers or caches found for this app", + "No users found": "No users found", + "No valid RSS feed URLs found in OPML file": "No valid RSS feed URLs found in OPML file", + "Note pinned": "Note pinned", + "Note unpinned": "Note unpinned", + Oldest: "Oldest", + "Open Timestamp": "Open Timestamp", + "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.": "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.", + "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.": "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.", + Optional: "Optional", + "Optional image for the event": "Optional image for the event", + "Optionally, add the full quote/context to show your highlight within it": "Optionally, add the full quote/context to show your highlight within it", + PM: "PM", + "Page Range": "Page Range", + Pages: "Pages", + "Paste URL of a GIF": "Paste URL of a GIF", + "Paste URL of a meme image": "Paste URL of a meme image", + "Paste the entire original passage that contains your highlight": "Paste the entire original passage that contains your highlight", + Photo: "Photo", + "Picture Note": "Picture Note", + "Pin note": "Pin note", + "Plain text description of the query": "Klartext-Beschreibung der Abfrage", + "Please login to view bookmarks": "Please login to view bookmarks", + "Please login to view favorites": "Please login to view favorites", + "Please select a group": "Please select a group", + "Please select at least one relay": "Please select at least one relay", + "Please set a start date": "Please set a start date", + "Poll with no options": "Poll with no options", + "Post published to some relays": "Post published to some relays", + "Posts will automatically include expiration tags": "Posts will automatically include expiration tags", + "Posts will automatically include quiet tags": "Posts will automatically include quiet tags", + "Posts will be quiet for this many days": "Posts will be quiet for this many days", + "Posts will expire after this many months": "Posts will expire after this many months", + "Processing...": "Processing...", + "Profile event not available": "Profile event not available", + "Prompt Citation": "Prompt Citation", + "Prompt Citation Settings": "Prompt Citation Settings", + "Prompt Conversation Script": "Prompt Conversation Script", + "Proof of Work": "Proof of Work", + "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post": "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post", + "Publish to Relays": "Publish to Relays", + "Published By": "Published By", + "Published In": "Published In", + "Published On": "Published On", + "Published in": "Published in", + "Published on": "Published on", + "Publisher name (optional)": "Publisher name (optional)", + "Quiet Tags": "Quiet Tags", + "RSS Feed": "RSS Feed", + "RSS + Web": "RSS + Web", + "RSS feed source": "RSS feed source", + "All feed sources": "All feed sources", + "RSS feed view mode": "RSS feed view mode", + "Article URLs": "Article URLs", + "Article URLs subtitle": "One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.", + "Article URLs Nostr manual subtitle": "Artikel-URLs ohne Einträge aus abonnierten Feeds — von Nostr-Relays oder von dir hinzugefügt. Sobald ein Feed Einträge liefert, erscheint die Karte unter RSS.", + "RSS feed column title": "RSS & verknüpfte Artikel", + "RSS feed column subtitle": "Feed-Einträge und Artikelkarten mit mindestens einem Eintrag aus deinen abonnierten RSS-Feeds.", + "RSS timeline": "RSS timeline", + "RSS timeline subtitle": "Every item from your subscribed feeds, newest first — classic RSS reader.", + URLs: "URLs", + RSS: "RSS", + "No URL-only items yet": "Noch keine reinen Artikel-URLs", + "Respond to this RSS entry": "Auf diesen RSS-Eintrag reagieren", + "RSS read-only thread hint": "Nostr-Antworten, Zaps und Markierungen sind hier ausgeblendet. Damit fügst du den Artikel der URL-Liste hinzu und reagierst dort.", + "RSS feed item label": "RSS", + "Web URL item label": "Web URL", + "URL thread activity": "URL thread activity", + "Suppress Clawstr links in RSS previews": "Hide clawstr.com in RSS and URL feed", + "Hide local, media & feed URLs from URL cards": "Hide local, media, feed, document & XML links from the feed", + "RSS articles": "RSS articles", + "Web comments": "Web comments", + "Web highlights": "Web highlights", + "In your bookmarks": "In your bookmarks", + "{{count}} RSS entries for this URL": "{{count}} RSS entries for this URL", + "{{count}} entries for this article URL": "{{count}} Einträge zu dieser Artikel-URL", + "No comments yet": "No comments yet", + "No highlights yet": "No highlights yet", + "Showing {{filtered}} of {{total}} entries": "Showing {{filtered}} of {{total}} entries", + standardRssFeed_spotifeed: "Spotify playlist (Spotifeed)", + standardRssFeed_youtube: "YouTube feed", + standardRssFeed_youtubeChannel: "YouTube channel feed", + standardRssFeed_youtubePlaylist: "YouTube playlist feed", + standardRssFeed_feedburner: "FeedBurner", + standardRssFeed_reddit: "Reddit RSS", + standardRssFeed_substack: "Substack", + standardRssFeed_medium: "Medium", + "RSS Feed Settings": "RSS Feed Settings", + "Follow sets": "Folgenlisten", + "Personal Lists": "Personal Lists", + "Personal lists hub intro": "Open mute list, following, bookmarks list, pinned notes, interest topics (kind 10015), your NIP-30 user emoji list (kind 10030), and emoji set packs (kind 30030) on their own pages. Follow sets are below. Web page bookmarks (NIP-B0, kind 39701) are separate—save from an article’s panel or use the Bookmarks spell for a mixed feed.", + "Mute list": "Mute list", + "Following list": "Following list", + "Bookmarks list": "Bookmarks list", + "Pinned notes list": "Pinned notes list", + "Interests list": "Interests list", + "User emoji list": "User emoji list (kind 10030)", + "Emoji sets": "Emoji sets (kind 30030)", + "User emoji list title": "{{username}}'s emoji list", + "User emoji list intro": "NIP-30: inline custom emoji (`emoji` tags) and references to your kind 30030 packs (`a` tags). Publish when you are done editing.", + "User emoji list saved": "Emoji list published", + "User emoji inline section": "Inline emoji", + "User emoji inline empty": "No inline emoji yet. Add a shortcode and image URL below.", + "User emoji inline invalid": "Enter a shortcode and a non-empty image URL.", + "User emoji sets section": "Emoji set references", + "User emoji sets hint": "Add a coordinate in the form 30030:<64-hex pubkey>:, usually one of your own emoji sets from the Emoji sets page.", + "User emoji sets empty": "No emoji set references yet.", + "User emoji set ref invalid": "Invalid coordinate. Use 30030::.", + "User emoji set ref duplicate": "That emoji set is already in the list.", + "Emoji set coordinate": "Emoji set (a tag)", + "Publish changes": "Publish changes", + Shortcode: "Shortcode", + "Emoji sets settings intro": "NIP-30 emoji packs (kind 30030): each set has a `d` tag and `emoji` entries (shortcode + image URL). Publish from the editor dialog.", + "New emoji set": "New emoji set", + "Edit emoji set": "Edit emoji set", + "No emoji sets yet": "You have not created any emoji sets yet.", + "Emoji set saved": "Emoji set saved", + "Emoji set deleted": "Emoji set deleted", + "Failed to load emoji sets": "Failed to load emoji sets", + "emoji entries": "emoji", + "Emoji set d tag hint": "Stable identifier for this pack. It cannot be changed after the first publish.", + "Emoji pack entries": "Emoji in this pack", + "No emoji entries in pack": "No emoji in this pack yet.", + "Delete emoji set?": "Delete this emoji set?", + "Delete emoji set confirm": "This sends a deletion request (kind 5). Relays that accept it will drop the set; others may still show a cached copy.", + "Interests list section subtitle": "Topics you follow for hashtag feeds and the Interests spell. Stored on Nostr as kind 10015 (`t` tags).", + "Interest topic placeholder": "topic or #hashtag", + "Interest list add topic": "Add topic", + "Interest topic invalid": "Enter a valid topic (letters, numbers, hyphens, underscores).", + "No interest topics in list": "No subscribed topics yet. Add one above or subscribe from a hashtag page.", + "username's interest topics": "{{username}}'s interest topics", + "Remove from interest list": "Remove from interest list", + "Personal lists interests spell hint": "For a combined feed of all subscribed topics, use the", + "Interests spell": "Interests spell", + "Personal lists bookmarks spell hint": "For a note feed from NIP-51 bookmarks, use the", + "Bookmarks spell": "Bookmarks spell", + "Pinned notes hint": "Pinned notes: use the note menu (⋯) on a note and choose pin to profile. Pins appear on your profile.", + "Bookmarks list section title": "Bookmarks list", + "Bookmarks list section subtitle": "Events referenced by `e` / `a` tags on your kind 10003 bookmark list (newest first).", + "No entries in bookmark list": "Your bookmark list is empty.", + "View bookmarks as feed in Spells": "View bookmarks as a note feed in Spells", + "Pinned notes list section title": "Pinned notes list", + "Pinned notes list section subtitle": "Events referenced by `e` / `a` tags on your kind 10001 pin list (same order as on your profile).", + "Loading pin list": "Loading pin list…", + "No pinned notes in list": "No pinned notes in your pin list yet.", + "username's bookmarks": "{{username}}'s bookmarks", + "username's pinned notes": "{{username}}'s pinned notes", + "Event not loaded": "Event not loaded", + "No NIP-51 bookmarks or web bookmarks yet.": "No NIP-51 bookmarks or web bookmarks yet.", + "Web bookmarks": "Web bookmarks", + "Web bookmark": "Web bookmark", + "Web bookmarks NIP intro": "Web bookmarks are stored as kind 39701 events, not in your NIP-51 bookmark list.", + "Log in to save web bookmarks": "Log in to save web bookmarks for this page (NIP-B0, kind 39701).", + "Remove web bookmark": "Remove web bookmark", + "No web bookmark for this URL yet": "You have not saved a web bookmark for this URL yet.", + "Page title": "Page title", + "Short description": "Short description", + "Save web bookmark": "Save web bookmark", + "Sign in to publish web bookmark": "Please log in with a signing key to save web bookmarks.", + "Follow sets settings intro": "NIP-51-Folgenlisten (Kind 30000) gruppieren Personen für eigene Feeds (z. B. in Zaubersprüchen). Die Listen werden auf deine NIP-65-Outbox-Relays und Profil-Suchrelays veröffentlicht.", + "New follow set": "Neue Folgenliste", + "Edit follow set": "Folgenliste bearbeiten", + "No follow sets yet": "Du hast noch keine Folgenlisten angelegt.", + "Follow set saved": "Folgenliste gespeichert", + "Follow set deleted": "Folgenliste gelöscht", + "Failed to load follow sets": "Folgenlisten konnten nicht geladen werden", + members: "Mitglieder", + "Optional display title": "Optionaler Anzeigename", + "List id (d tag)": "Listen-ID (d-Tag)", + "Follow set d tag hint": "Stabile Kennung dieser Liste. Nach der ersten Veröffentlichung nicht mehr änderbar.", + "People in this list": "Personen in dieser Liste", + "Delete follow set?": "Diese Folgenliste löschen?", + "Delete follow set confirm": "Es wird eine Löschanfrage (Kind 5) für die Liste gesendet. Relays, die sie annehmen, entfernen die Liste; andere Clients können noch zwischengespeicherte Daten anzeigen, bis sie neu laden.", + "Clean list": "Clean list", + "Clean this list?": "Clean this list?", + "Clean list confirm": "This will publish a fresh, empty replacement for this list (all entries removed). This cannot be undone.", + "Clean follows list confirm with backup": "Before cleaning your follows (kind 3), the current list snapshot will be published to follows history relays. Then a fresh, empty follows list will be published. Continue?", + "List cleaned": "List cleaned", + "Failed to clean list": "Failed to clean list", + "Remove feed": "Remove feed", + "RSS Feeds": "RSS Feeds", + "RSS feeds exported to OPML file": "RSS feeds exported to OPML file", + "RSS feeds saved": "RSS feeds saved", + "Rate limited. Please wait before trying again.": "Rate limited. Please wait before trying again.", + "Reaction published": "Reaction published", + "Reaction published to some relays": "Reaktion auf einigen Relays veröffentlicht", + "Reaction removed": "Reaction removed", + "Read full article": "Read full article", + "Reading group entry": "Reading group entry", + "Readings Options": "Readings Options", + Recipients: "Recipients", + "Recipients detected from your message:": "Recipients detected from your message:", + "Recommended Relays": "Recommended Relays", + "Recommended applications for handling events of kind {{kind}}": "Recommended applications for handling events of kind {{kind}}", + "Reference to the cited Nostr event in kind:pubkey:hex format": "Reference to the cited Nostr event in kind:pubkey:hex format", + "Refresh Cache": "Refresh Cache", + "Refreshing posts...": "Refreshing posts...", + "Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.": "Relativ: 7d, 24h, 1w, 1mo, 1y. Oder Unix-Zeitstempel.", + Relay: "Relay", + "Relay Hint": "Relay Hint", + "Relay URL (optional)": "Relay URL (optional)", + "Relay blocked successfully": "Relay blocked successfully", + "Relay requires authentication for write access. Please try a different relay or contact the relay operator.": "Relay requires authentication for write access. Please try a different relay or contact the relay operator.", + "Relay set options": "Relay set options", + "Remove from favorites": "Aus Favoriten entfernen", + Rendered: "Rendered", + "Reply published": "Reply published", + "Reply published to some relays": "Reply published to some relays", + "Reply to Public Message": "Reply to Public Message", + "Republish to all active relays": "Republish to all active relays", + "Republish to all available relays": "Republish to all available relays", + "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.": "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.", + "Required: start time or start date. Optional: title, end, location, summary, topics, image.": "Required: start time or start date. Optional: title, end, location, summary, topics, image.", + "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Respect quiet tags": "Respect quiet tags", + "Search (NIP-50)": "Suche (NIP-50)", + "Search by name or npub…": "Search by name or npub…", + "Search calendar, publications, wiki…": "Search calendar, publications, wiki…", + "Search for user…": "Search for user…", + "Search items...": "Search items...", + "Search logs...": "Search logs...", + "Search notes, threads, long-form…": "Search notes, threads, long-form…", + "Search on GifBuddy": "Search on GifBuddy", + "Search on Meme Amigo": "Search on Meme Amigo", + "Search posts...": "Search posts...", + "Search threads by title, content, tags, npub, author...": "Search threads by title, content, tags, npub, author...", + "Searching all available relays...": "Searching all available relays...", + "Searching…": "Searching…", + "See reference": "See reference", + "Select Group": "Select Group", + "Select Media Type": "Select Media Type", + "Select group...": "Select group...", + "Select relays": "Select relays", + "Publish relay cap hint": "Pro Veröffentlichung werden höchstens {{max}} Relais angesprochen. Von den {{selected}} hier angehakten Relais werden {{selectedContacted}} tatsächlich kontaktiert; bei Überschreitung des Limits entfallen zuerst die niedrigere Priorität. Relais mit Session-Sperre werden übersprungen. Die genaue Liste steht in der Konsole unter [PublishEvent].", + "Publish relay cap hint with outbox first": "Pro Veröffentlichung höchstens {{max}} Relais. Deine NIP-65-Schreib-Relais belegen zuerst {{reservedSlots}} Plätze (vor dieser Auswahl zusammengeführt; können unten auch angehakt sein). Von den {{selected}} angehakten Relais werden {{selectedContacted}} kontaktiert. Session-gesperrte Relais entfallen. Details in der Konsole unter [PublishEvent].", + "Select the group where you want to create this discussion.": "Select the group where you want to create this discussion.", + "Select topic...": "Select topic...", + "Selected text": "Selected text", + "Send Public Message": "Send Public Message", + "Send a Lightning payment to this user": "Send a Lightning payment to this user", + "Service worker caches cleared. Please reload the page.": "Service worker caches cleared. Please reload the page.", + "Service worker unregistered and caches cleared. Please reload the page.": "Service worker unregistered and caches cleared. Please reload the page.", + "Service worker unregistered. Please reload the page.": "Service worker unregistered. Please reload the page.", + "Share your thoughts, ask questions, or start a discussion...": "Share your thoughts, ask questions, or start a discussion...", + "Short Video Note": "Short Video Note", + "Show RSS Feed": "Show RSS Feed", + "Show all discussions in a single list": "Show all discussions in a single list", + "Show less": "Show less", + Since: "Seit", + Small: "Small", + "Some relays have temporarily disabled writes.": "Some relays have temporarily disabled writes.", + Source: "Source", + "Spell definition": "Zauberspruch-Definition", + "Spell published": "Zauberspruch veröffentlicht", + "Start date": "Start date", + "Start typing to see a preview...": "Start typing to see a preview...", + "Subject (Book Title)": "Subject (Book Title)", + "Subject (book title) is required for reading groups": "Subject (book title) is required for reading groups", + "Subject / Topics": "Subject / Topics", + Subscribe: "Subscribe", + Subscribed: "Subscribed", + "Subscribed to topic": "Subscribed to topic", + "Subscribed to topic (local)": "Subscribed to topic (local)", + "Subscribing...": "Subscribing...", + Summary: "Summary", + "Supported Event Types": "Supported Event Types", + "Take a note": "Take a note", + "The full prompt conversation (optional)": "The full prompt conversation (optional)", + "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.": "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.", + "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.": "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.", + "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.": "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.", + "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a Nostr event of kind {{kind}}.": "This GIF was found in a Nostr event of kind {{kind}}.", + "This file could be either audio or video. Please select the correct type:": "This file could be either audio or video. Please select the correct type:", + "This store does not contain replaceable events": "This store does not contain replaceable events", + "This will add additional tags for author and subject to help organize reading group discussions.": "This will add additional tags for author and subject to help organize reading group discussions.", + "Thread Content": "Thread Content", + "Thread Title": "Thread Title", + "Thread creation timed out. Please try again.": "Thread creation timed out. Please try again.", + "Thread published": "Thread published", + "Threads are organized by topics. Choose a topic that best fits your discussion.": "Threads are organized by topics. Choose a topic that best fits your discussion.", + "Time-based": "Time-based", + "Title is required": "Title is required", + "Title must be 100 characters or less": "Title must be 100 characters or less", + "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.": "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.", + Top: "Top", + Topic: "Topic", + URL: "URL", + "URL of the article cover image (optional)": "URL of the article cover image (optional)", + "Unique identifier for this article (required)": "Unique identifier for this article (required)", + "Unmute failed": "Unmute failed", + "Unpin note": "Unpin note", + Unsubscribe: "Unsubscribe", + "Unsubscribed from topic": "Unsubscribed from topic", + "Unsubscribing...": "Unsubscribing...", + Until: "Bis", + Untitled: "Untitled", + Update: "Update", + "Updating...": "Updating...", + "Upload Audio Comment": "Upload Audio Comment", + "Upload Audio Message": "Upload Audio Message", + "Upload Media": "Upload Media", + "Media kind": "Media kind", + "Use image/audio/video note kind for the media URL in the editor": "Use image/audio/video note kind for the media URL in the editor", + "Already publishing as a media note": "Already publishing as a media note", + "No media URL in note — upload or paste a link first": "No media URL in note — upload or paste a link first", + "Cannot infer media type from URL — use Note type → Media Note to upload": "Cannot infer media type from URL — use Note type → Media Note to upload", + "Media kind (disabled): add imeta tags, a media URL, or upload media first": "Media kind (disabled): add imeta tags, a media URL, or upload media first", + Upvote: "Upvote", + "User unmuted": "User unmuted", + "Version number (optional)": "Version number (optional)", + Video: "Video", + "Video Note": "Video Note", + "Video file": "Video file", + "View Console Logs": "View Console Logs", + "View JSON": "View JSON", + "View cached items in this store.": "View cached items in this store.", + "View definition": "Definition anzeigen", + "View details about cached data in IndexedDB stores. Click on a store to view its items.": "View details about cached data in IndexedDB stores. Click on a store to view its items.", + "View on Alexandria": "View on Alexandria", + "View on DecentNewsroom": "View on DecentNewsroom", + "View on Wikistr": "View on Wikistr", + "View recent console logs for debugging": "View recent console logs for debugging", + "Voice Comment": "Voice Comment", + "Voice Note": "Voice Note", + "Voice note or audio file": "Voice note or audio file", + Volume: "Volume", + "Volume number (optional)": "Volume number (optional)", + "Vote published": "Vote published", + "Vote removed": "Vote removed", + "Website where LLM was accessed (optional)": "Website where LLM was accessed (optional)", + "Wiki Article (AsciiDoc)": "Wiki Article (AsciiDoc)", + "Wiki Article (Markdown)": "Wiki Article (Markdown)", + "You can only delete your own notes": "You can only delete your own notes", + "You must be logged in to create a thread": "You must be logged in to create a thread", + "You need to add at least one media server in order to upload media files.": "You need to add at least one media server in order to upload media files.", + "You need to login first": "You need to login first", + "Your account is blocked from posting to this relay.": "Your account is blocked from posting to this relay.", + Zap: "Zap", + "Zap failed": "Zap failed", + created_at: "created_at", + "e tag of kind 1040 event (optional)": "e tag of kind 1040 event (optional)", + "e.g. meetup, conference": "e.g. meetup, conference", + "e.g., 123-145 (optional)": "e.g., 123-145 (optional)", + "e.g., GPT-4, Claude, etc. (required)": "e.g., GPT-4, Claude, etc. (required)", + "e.g., my-article-title": "e.g., my-article-title", + entries: "entries", + "from Bunker": "from Bunker", + "from Extension": "from Extension", + "from NIP-05": "from NIP-05", + general: "general", + "https://example.com (required)": "https://example.com (required)", + "https://example.com/image.jpg": "https://example.com/image.jpg", + id: "id", + items: "items", + kind: "kind", + "kind:pubkey:hex format (required)": "kind:pubkey:hex format (required)", + "last updated": "last updated", + matching: "matching", + naddr: "naddr", + nevent: "nevent", + "nevent1..., naddr1..., note1..., hex ID, or https://...": "nevent1..., naddr1..., note1..., hex ID, or https://...", + "no notes found": "no notes found", + of: "of", + "on note": "on note", + optional: "optional", + pubkey: "pubkey", + "sent a public message": "sent a public message", + "sent you a public message": "sent you a public message", + "sent you a public message (along with {{count}} others)": "sent you a public message (along with {{count}} others)", + sig: "sig", + "started a discussion in {{topic}}": "started a discussion in {{topic}}", + tags: "tags", + thread: "thread", + threads: "threads", + "topic1, topic2, topic3": "topic1, topic2, topic3", + "{{count}} relay(s) selected": "{{count}} relay(s) selected", + "🔞 NSFW 🔞": "🔞 NSFW 🔞", + "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).": "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).", + "Compressing on your device before upload (large videos can take several minutes)…": "Wird auf deinem Gerät vor dem Upload komprimiert (große Videos können mehrere Minuten dauern)…", + "Failed to refresh": "Failed to refresh", + "Invalid article link.": "Invalid article link.", + Likes: "Likes", + "Loading…": "Loading…", + "Missing pubkey": "Missing pubkey", + "No RSS feed list found on relays": "No RSS feed list found on relays", + "Pinned posts": "Pinned posts", + "Publishing...": "Publishing...", + "RSS article": "RSS article", + "RSS feed list refreshed": "RSS feed list refreshed", + "Save or discard your changes before refreshing from relays": "Save or discard your changes before refreshing from relays", + "Suggested topics": "Suggested topics", + "Synthetic event (no author)": "Synthetic event (no author)", + "Topic is required": "Topic is required", + "Type a topic or pick from the list": "Type a topic or pick from the list", + "Uploading to media server…": "Wird zum Medienserver hochgeladen…", + profileEditorRefreshCacheHint: "profileEditorRefreshCacheHint", + startupSessionHydrating: "startupSessionHydrating", + "AI / LLM prompt citation": "AI / LLM prompt citation", + "AsciiDoc wiki contribution": "AsciiDoc wiki contribution", + "Attach image, audio, or video": "Attach image, audio, or video", + Citations: "Citations", + "Cite from external source": "Cite from external source", + "Cite from private relay": "Cite from private relay", + "Create a voting poll": "Create a voting poll", + "Create custom event": "Create custom event", + "Create event with custom kind": "Create event with custom kind", + "Custom Event": "Custom Event", + "Custom tag…": "Custom tag…", + Dismiss: "Dismiss", + "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.": "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.", + "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).": "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).", + "Failed to rebroadcast entire publication: {{error}}": "Failed to rebroadcast entire publication: {{error}}", + "Feed filter kind": "Feed filter kind", + "Feed filter kind hint": "Feed filter kind hint", + "Feed filter kind invalid": "Feed filter kind invalid", + "Feed filter kind placeholder": "Feed filter kind placeholder", + "Invalid event fields": "Invalid event fields", + "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).": "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).", + "Markdown article (NIP-23)": "Markdown article (NIP-23)", + "Markdown wiki contribution": "Markdown wiki contribution", + "Media Note": "Media Note", + "No publication events found for rebroadcast": "No publication events found for rebroadcast", + "No publication events were accepted by any relay": "No publication events were accepted by any relay", + "Note type": "Note type", + "Offline mode": "Offline mode", + "Only local relays and cached content are available.": "Only local relays and cached content are available.", + "Physical source citation": "Physical source citation", + "Plain text note (kind 1)": "Plain text note (kind 1)", + "Private relay publication": "Private relay publication", + "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).": "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).", + "Public Message": "Public Message", + "Public direct message (kind 4)": "Public direct message (kind 4)", + "Publication Note": "Publication Note", + "Rebroadcast entire publication": "Rebroadcast entire publication", + "Rebroadcast entire publication to ...": "Rebroadcast entire publication to ...", + "Rebroadcasted entire publication": "Rebroadcasted entire publication", + "Rebroadcasting entire publication...": "Rebroadcasting entire publication...", + "Save a quote or passage": "Save a quote or passage", + "Save data": "Save data", + "Set kind, content, and tags, then publish.": "Set kind, content, and tags, then publish.", + "Short Note": "Short Note", + "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.": "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.", + "Slow connection detected": "Slow connection detected", + "Start a discussion thread": "Start a discussion thread", + "This action is only available for publications": "This action is only available for publications", + "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.": "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.", + Thread: "Thread", + "Turn on low-bandwidth mode to reduce data usage.": "Turn on low-bandwidth mode to reduce data usage.", + "Turn on low-bandwidth mode? This will set: {{changes}}.": "Turn on low-bandwidth mode? This will set: {{changes}}.", + "Unsigned experimental kind": "Unsigned experimental kind", + "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.": "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.", + "media loading off": "media loading off", + profileEditorDuplicateSingleton: "profileEditorDuplicateSingleton", + profileEditorEditBannerUrl: "profileEditorEditBannerUrl", + profileEditorEditPictureUrl: "profileEditorEditPictureUrl", + profileEditorImageUrlHint: "profileEditorImageUrlHint", + profileEditorNostrBuildThumbHint: "profileEditorNostrBuildThumbHint", + profileEditorProfileNotLoaded: "profileEditorProfileNotLoaded", + profileEditorTagListHint: "profileEditorTagListHint", + "readOnlySession.hint": "readOnlySession.hint", + "readOnlySession.label": "readOnlySession.label", + "readOnlySession.labelShort": "readOnlySession.labelShort", + "video autoplay off": "video autoplay off", } } diff --git a/src/i18n/locales/en.ts b/src/i18n/locales/en.ts index b7366dae..56f14c1e 100644 --- a/src/i18n/locales/en.ts +++ b/src/i18n/locales/en.ts @@ -1,2203 +1,2008 @@ export default { translation: { - 'Welcome! 🥳': 'Welcome! 🥳', - About: 'About', - 'New Note': 'New Note', - Post: 'Post', - Home: 'Home', - Feed: 'Feed', - 'Favorite Relays': 'Favorite Relays', - 'Relay pulse': 'Relay pulse', - 'Relay pulse empty': 'Quiet on your relays in the last hour.', - 'Relay pulse follows': 'Following ({{count}})', - 'Relay pulse others': 'Others ({{count}})', - 'Relay pulse updated': 'Updated {{relative}}', - 'Relay pulse active npubs': 'Active npubs', - 'Relay pulse active npubs hint': - 'Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).', - 'Relay pulse drawer following': 'Following', - 'Relay pulse drawer others': 'Others', - 'Relay pulse drawer no profiles': 'No kind 0 profiles loaded for this sample yet.', - 'See the newest notes from your follows': 'See the newest notes from your follows', - 'All favorite relays': 'All favorite relays', - 'Pinned note': 'Pinned note', - 'Relay settings': 'Relays and Storage Settings', - 'Relay auth accepted (NIP-42)': - 'The relay accepted authentication (NIP-42): {{relay}}{{detailSuffix}}', - 'Relay auth rejected (NIP-42)': - 'The relay rejected authentication (NIP-42): {{relay}} — {{message}}', - 'Relay auth error unknown': 'Unknown error', - Settings: 'Settings', - 'Account menu': 'Account menu', - SidebarRelays: 'Relays', - Refresh: 'Refresh', - 'refresh.longPressHardReload': 'Long-press: reload app and restore feed cache', - 'link.expandNostrEmbed': 'Show Nostr preview', - Profile: 'Profile', - Logout: 'Logout', - Following: 'Following', - followings: 'followings', - boosted: 'boosted', - 'Boosted by:': 'Boosted by:', - 'just now': 'just now', - 'n minutes ago': '{{n}} minutes ago', - 'n m': '{{n}}m', - 'n hours ago': '{{n}} hours ago', - 'n h': '{{n}}h', - 'n days ago': '{{n}} days ago', - 'n d': '{{n}}d', - date: '{{timestamp, date}}', - Follow: 'Follow', - Unfollow: 'Unfollow', - 'Follow failed': 'Follow failed', - 'Unfollow failed': 'Unfollow failed', - 'show new notes': 'show new notes', - 'loading...': 'loading...', - 'Loading...': 'Loading...', - 'no more notes': 'no more notes', - 'calendar entries': 'calendar entries', - 'Loading calendar events...': 'Loading calendar events...', - 'No calendar events found': 'No calendar events found', - 'Calendar events in the next {{count}} months': 'Calendar events in the next {{count}} months', - 'The nostr.band relay appears to be temporarily out of service. Please try again later.': - 'The nostr.band relay appears to be temporarily out of service. Please try again later.', - 'reply to': 'reply to', - reply: 'reply', - Reply: 'Reply', - 'load more older replies': 'load more older replies', - 'Write something...': 'Write something...', - Cancel: 'Cancel', - Mentions: 'Mentions', - 'Search for event or address…': 'Search for event or address…', - 'Search notes…': 'Search notes…', - 'No notes found': 'No notes found', - 'Failed to post': 'Failed to post', - 'Post successful': 'Post successful', - 'Your post has been published': 'Your post has been published', - Boost: 'Boost', - 'Boost published': 'Boost published', - Quote: 'Quote', - 'Copy event ID': 'Copy event ID', - 'Copy user ID': 'Copy user ID', - 'Send public message': 'Send public message', - 'View raw event': 'View raw event', - 'Edit this event': 'Edit this event', - 'Clone or fork this event': 'Clone or fork this event', - 'Event kind': 'Event kind', - 'Note content': 'Note content', - Publish: 'Publish', - 'Post published': 'Post published', - 'Edit content and tags, then publish a new signed event.': - 'Edit content and tags, then publish a new signed event.', - 'Log in to publish': 'Log in to publish', - 'Set when you publish': 'set when you publish', - 'id and sig are assigned when you publish': 'id and sig are assigned when you publish', - 'Published to some relays only': 'Published to some relays only', - 'Add field': 'Add field', - 'View full profile': 'View full profile', - Like: 'Like', - 'switch to light theme': 'switch to light theme', - 'switch to dark theme': 'switch to dark theme', - 'switch to system theme': 'switch to system theme', - Note: 'Note', - note: 'note', + "Welcome! 🥳": "Welcome! 🥳", + About: "About", + "New Note": "New Note", + Post: "Post", + Home: "Home", + Feed: "Feed", + "Favorite Relays": "Favorite Relays", + "Relay pulse": "Relay pulse", + "Relay pulse empty": "Quiet on your relays in the last hour.", + "Relay pulse follows": "Following ({{count}})", + "Relay pulse others": "Others ({{count}})", + "Relay pulse updated": "Updated {{relative}}", + "Relay pulse active npubs": "Active npubs", + "Relay pulse active npubs hint": "Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).", + "Relay pulse drawer following": "Following", + "Relay pulse drawer others": "Others", + "Relay pulse drawer no profiles": "No kind 0 profiles loaded for this sample yet.", + "See the newest notes from your follows": "See the newest notes from your follows", + "All favorite relays": "All favorite relays", + "Pinned note": "Pinned note", + "Relay settings": "Relays and Storage Settings", + "Relay auth accepted (NIP-42)": "The relay accepted authentication (NIP-42): {{relay}}{{detailSuffix}}", + "Relay auth rejected (NIP-42)": "The relay rejected authentication (NIP-42): {{relay}} — {{message}}", + "Relay auth error unknown": "Unknown error", + Settings: "Settings", + "Account menu": "Account menu", + SidebarRelays: "Relays", + Refresh: "Refresh", + "refresh.longPressHardReload": "Long-press: reload app and restore feed cache", + "link.expandNostrEmbed": "Show Nostr preview", + Profile: "Profile", + Logout: "Logout", + Following: "Following", + followings: "followings", + boosted: "boosted", + "Boosted by:": "Boosted by:", + "just now": "just now", + "n minutes ago": "{{n}} minutes ago", + "n m": "{{n}}m", + "n hours ago": "{{n}} hours ago", + "n h": "{{n}}h", + "n days ago": "{{n}} days ago", + "n d": "{{n}}d", + date: "{{timestamp, date}}", + Follow: "Follow", + Unfollow: "Unfollow", + "Follow failed": "Follow failed", + "Unfollow failed": "Unfollow failed", + "show new notes": "show new notes", + "loading...": "loading...", + "Loading...": "Loading...", + "no more notes": "no more notes", + "calendar entries": "calendar entries", + "Loading calendar events...": "Loading calendar events...", + "No calendar events found": "No calendar events found", + "Calendar events in the next {{count}} months": "Calendar events in the next {{count}} months", + "The nostr.band relay appears to be temporarily out of service. Please try again later.": "The nostr.band relay appears to be temporarily out of service. Please try again later.", + "reply to": "reply to", + reply: "reply", + Reply: "Reply", + "load more older replies": "load more older replies", + "Write something...": "Write something...", + Cancel: "Cancel", + Mentions: "Mentions", + "Search for event or address…": "Search for event or address…", + "Search notes…": "Search notes…", + "No notes found": "No notes found", + "Failed to post": "Failed to post", + "Post successful": "Post successful", + "Your post has been published": "Your post has been published", + Boost: "Boost", + "Boost published": "Boost published", + Quote: "Quote", + "Copy event ID": "Copy event ID", + "Copy user ID": "Copy user ID", + "Send public message": "Send public message", + "View raw event": "View raw event", + "Edit this event": "Edit this event", + "Clone or fork this event": "Clone or fork this event", + "Event kind": "Event kind", + "Note content": "Note content", + Publish: "Publish", + "Post published": "Post published", + "Edit content and tags, then publish a new signed event.": "Edit content and tags, then publish a new signed event.", + "Log in to publish": "Log in to publish", + "Set when you publish": "set when you publish", + "id and sig are assigned when you publish": "id and sig are assigned when you publish", + "Published to some relays only": "Published to some relays only", + "Add field": "Add field", + "View full profile": "View full profile", + Like: "Like", + "switch to light theme": "switch to light theme", + "switch to dark theme": "switch to dark theme", + "switch to system theme": "switch to system theme", + Note: "Note", + note: "note", "username's following": "{{username}}'s following", "username's used relays": "{{username}}'s used relays", "username's muted": "{{username}}'s muted", - Login: 'Login', - downloadDesktopApp: 'Download app', - 'Please log in to view notifications.': 'Please log in to view notifications.', - 'Follows you': 'Follows you', - 'Relay Settings': 'Relays and Storage Settings', - 'Relays and Storage Settings': 'Relays and Storage Settings', - 'Relay set name': 'Relay set name', - 'Add a new relay set': 'Add a new relay set', - Add: 'Add', - 'n relays': '{{n}} relays', - Rename: 'Rename', - 'Copy share link': 'Copy share link', - 'Copy address': 'Copy address', - 'Copy payto URI': 'Copy payto URI', - 'Copied payto address': 'Copied payto address', - 'Copied to clipboard': 'Copied to clipboard', - 'Copied {{label}} address': 'Copied {{label}} address', - 'Lightning payment address – copy to pay via your wallet': - 'Lightning payment address – copy to pay via your wallet', - 'Payment address – copy to use in your wallet or app': - 'Payment address – copy to use in your wallet or app', - 'Click to open payment options': 'Click to open payment options', - 'Click to copy address': 'Click to copy address', - 'Open on website': 'Open on website', - 'Raw profile event': 'Raw profile event', - 'Full profile event': 'Full profile event', - 'Event (JSON)': 'Event (JSON)', - 'Save full profile': 'Save full profile', - 'Add tag': 'Add tag', - 'Remove tag': 'Remove tag', - 'Tag name': 'Tag name', - Value: 'Value', - 'Add value to tag': 'Add value to tag', - 'Remove value': 'Remove value', - 'No tags. Click "Add tag" to add one.': 'No tags. Click "Add tag" to add one.', - 'Profile updated': 'Profile updated', - 'Failed to publish profile': 'Failed to publish profile', - 'Invalid profile JSON': 'Invalid profile JSON', - 'Refresh cache': 'Refresh cache', - 'Force-refresh profile and payment info from relays': - 'Force-refresh profile and payment info from relays', - 'Profile and payment cache refreshed': 'Profile and payment cache refreshed', - 'Failed to refresh cache': 'Failed to refresh cache', - 'Raw payment info event': 'Raw payment info event', - 'Payment info': 'Payment info', - 'Edit payment info': 'Edit payment info', - 'Add payment info': 'Add payment info', - 'No payment info event yet. Click "Add payment info" to create one.': - 'No payment info event yet. Click "Add payment info" to create one.', - 'Content (JSON)': 'Content (JSON)', - Tags: 'Tags', - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])': - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])', - 'Payment info updated': 'Payment info updated', - 'Failed to publish payment info': 'Failed to publish payment info', - 'Invalid tags JSON': 'Invalid tags JSON', - 'Payment methods': 'Payment methods', - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).': - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).', - 'Type (e.g. lightning)': 'Type (e.g. lightning)', - 'Authority (e.g. user@domain.com)': 'Authority (e.g. user@domain.com)', - 'Add payment method': 'Add payment method', - Remove: 'Remove', - 'Additional content (JSON)': 'Additional content (JSON)', - 'Show full event JSON': 'Show full event JSON', - 'Tag list': 'Tag list', - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.': - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.', - 'Tag value': 'Tag value', - 'Saving…': 'Saving…', - 'Share with Imwald': 'Share with Imwald', - 'Share with Alexandria': 'Share with Alexandria', - 'Start video call': 'Start video call', - 'Copy call invite link': 'Copy call invite link', - 'Start call about this': 'Start call about this', - 'Send call invite': 'Send call invite', - 'Read this note aloud': 'Read this note aloud', - 'Read-aloud is not supported in this browser': 'Read-aloud is not supported in this browser', - 'Nothing to read aloud': 'Nothing to read aloud', - 'Read-aloud failed': 'Read-aloud failed', - 'Read aloud': 'Read aloud', - 'Read-aloud idle': 'Idle', - 'Preparing read-aloud…': 'Preparing read-aloud…', - 'Requesting audio…': 'Requesting audio…', - 'Loading audio…': 'Loading audio…', - 'Preparing player…': 'Preparing player…', - 'Starting stream…': 'Starting stream…', - 'Loading media…': 'Loading media…', - 'Buffering…': 'Buffering…', - Playing: 'Playing', - Paused: 'Paused', - 'Read-aloud finished': 'Finished', - 'Read-aloud error': 'Error', - 'TTS endpoint': 'TTS endpoint', - 'Using browser speech synthesis': 'Using browser speech synthesis', - 'Read-aloud section progress': 'Section {{current}} of {{total}}', - 'Request sent': 'Request sent', - 'Response received': 'Response received', - 'Playback started': 'Playback started', - Characters: 'Characters', - Pause: 'Pause', - Play: 'Play', - Stop: 'Stop', - 'Read-aloud sections': 'Read-aloud sections', - 'Read-aloud overall progress': 'Overall progress', - 'Read-aloud section done': 'Section {{index}}: finished', - 'Read-aloud section pending': 'Section {{index}}: not started yet', - 'Read-aloud section fetching': 'Section {{index}}: requesting audio', - 'Read-aloud section preparing audio': 'Section {{index}}: loading audio', - 'Read-aloud section playing': 'Section {{index}}: playing', - 'Read-aloud section paused': 'Section {{index}}: paused', - 'Read-aloud legend fetching': 'Requesting audio for this section from the server…', - 'Read-aloud legend buffering': 'Decoding audio for this section…', - 'Read-aloud legend playing': 'Playing this section.', - 'Read-aloud legend paused': 'Playback paused.', - 'Read-aloud Piper fallback notice': - 'Server voice (Piper) could not be used. Playing with your browser voice instead.', - 'Read-aloud Piper fallback detail label': 'Piper error', - 'Read-aloud Piper status region': 'Piper text-to-speech status', - 'Read-aloud Piper status heading': 'Piper (server voice)', - 'Read-aloud Piper skipped notice': - 'No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.', - 'Read-aloud Piper attempt started': - 'Piper was started at {{time}} (this read-aloud used the server first).', - 'Read-aloud Piper endpoint tried': 'URL used: {{url}}', - 'Join the video call': 'Join the video call', - 'Schedule video call': 'Schedule video call', + Login: "Login", + downloadDesktopApp: "Download app", + "Please log in to view notifications.": "Please log in to view notifications.", + "Follows you": "Follows you", + "Relay Settings": "Relays and Storage Settings", + "Relays and Storage Settings": "Relays and Storage Settings", + "Relay set name": "Relay set name", + "Add a new relay set": "Add a new relay set", + Add: "Add", + "n relays": "{{n}} relays", + Rename: "Rename", + "Copy share link": "Copy share link", + "Copy address": "Copy address", + "Copy payto URI": "Copy payto URI", + "Copied payto address": "Copied payto address", + "Copied to clipboard": "Copied to clipboard", + "Copied {{label}} address": "Copied {{label}} address", + "Lightning payment address – copy to pay via your wallet": "Lightning payment address – copy to pay via your wallet", + "Payment address – copy to use in your wallet or app": "Payment address – copy to use in your wallet or app", + "Click to open payment options": "Click to open payment options", + "Click to copy address": "Click to copy address", + "Open on website": "Open on website", + "Raw profile event": "Raw profile event", + "Full profile event": "Full profile event", + "Event (JSON)": "Event (JSON)", + "Save full profile": "Save full profile", + "Add tag": "Add tag", + "Remove tag": "Remove tag", + "Tag name": "Tag name", + Value: "Value", + "Add value to tag": "Add value to tag", + "Remove value": "Remove value", + "No tags. Click \"Add tag\" to add one.": "No tags. Click \"Add tag\" to add one.", + "Profile updated": "Profile updated", + "Failed to publish profile": "Failed to publish profile", + "Invalid profile JSON": "Invalid profile JSON", + "Refresh cache": "Refresh cache", + "Force-refresh profile and payment info from relays": "Force-refresh profile and payment info from relays", + "Profile and payment cache refreshed": "Profile and payment cache refreshed", + "Failed to refresh cache": "Failed to refresh cache", + "Raw payment info event": "Raw payment info event", + "Payment info": "Payment info", + "Edit payment info": "Edit payment info", + "Add payment info": "Add payment info", + "No payment info event yet. Click \"Add payment info\" to create one.": "No payment info event yet. Click \"Add payment info\" to create one.", + "Content (JSON)": "Content (JSON)", + Tags: "Tags", + "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])": "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])", + "Payment info updated": "Payment info updated", + "Failed to publish payment info": "Failed to publish payment info", + "Invalid tags JSON": "Invalid tags JSON", + "Payment methods": "Payment methods", + "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).": "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).", + "Type (e.g. lightning)": "Type (e.g. lightning)", + "Authority (e.g. user@domain.com)": "Authority (e.g. user@domain.com)", + "Add payment method": "Add payment method", + Remove: "Remove", + "Additional content (JSON)": "Additional content (JSON)", + "Show full event JSON": "Show full event JSON", + "Tag list": "Tag list", + "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.": "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.", + "Tag value": "Tag value", + "Saving…": "Saving…", + "Share with Imwald": "Share with Imwald", + "Share with Alexandria": "Share with Alexandria", + "Start video call": "Start video call", + "Copy call invite link": "Copy call invite link", + "Start call about this": "Start call about this", + "Send call invite": "Send call invite", + "Read this note aloud": "Read this note aloud", + "Read-aloud is not supported in this browser": "Read-aloud is not supported in this browser", + "Nothing to read aloud": "Nothing to read aloud", + "Read-aloud failed": "Read-aloud failed", + "Read aloud": "Read aloud", + "Read-aloud idle": "Idle", + "Preparing read-aloud…": "Preparing read-aloud…", + "Requesting audio…": "Requesting audio…", + "Loading audio…": "Loading audio…", + "Preparing player…": "Preparing player…", + "Starting stream…": "Starting stream…", + "Loading media…": "Loading media…", + "Buffering…": "Buffering…", + Playing: "Playing", + Paused: "Paused", + "Read-aloud finished": "Finished", + "Read-aloud error": "Error", + "TTS endpoint": "TTS endpoint", + "Using browser speech synthesis": "Using browser speech synthesis", + "Read-aloud section progress": "Section {{current}} of {{total}}", + "Request sent": "Request sent", + "Response received": "Response received", + "Playback started": "Playback started", + Characters: "Characters", + Pause: "Pause", + Play: "Play", + Stop: "Stop", + "Read-aloud sections": "Read-aloud sections", + "Read-aloud overall progress": "Overall progress", + "Read-aloud section done": "Section {{index}}: finished", + "Read-aloud section pending": "Section {{index}}: not started yet", + "Read-aloud section fetching": "Section {{index}}: requesting audio", + "Read-aloud section preparing audio": "Section {{index}}: loading audio", + "Read-aloud section playing": "Section {{index}}: playing", + "Read-aloud section paused": "Section {{index}}: paused", + "Read-aloud legend fetching": "Requesting audio for this section from the server…", + "Read-aloud legend buffering": "Decoding audio for this section…", + "Read-aloud legend playing": "Playing this section.", + "Read-aloud legend paused": "Playback paused.", + "Read-aloud Piper fallback notice": "Server voice (Piper) could not be used. Playing with your browser voice instead.", + "Read-aloud Piper fallback detail label": "Piper error", + "Read-aloud Piper status region": "Piper text-to-speech status", + "Read-aloud Piper status heading": "Piper (server voice)", + "Read-aloud Piper skipped notice": "No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.", + "Read-aloud Piper attempt started": "Piper was started at {{time}} (this read-aloud used the server first).", + "Read-aloud Piper endpoint tried": "URL used: {{url}}", + "Join the video call": "Join the video call", + "Schedule video call": "Schedule video call", "You're invited to a scheduled video call.": "You're invited to a scheduled video call.", - 'Create a calendar event and send an invite. The recipient will see the event with a join link.': - 'Create a calendar event and send an invite. The recipient will see the event with a join link.', - 'Schedule a video call': 'Schedule a video call', - 'Create a calendar event and send kind 24 invites to each listed invitee.': - 'Create a calendar event and send kind 24 invites to each listed invitee.', - Invitees: 'Invitees', - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)': - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)', - 'Schedule and send invites': 'Schedule and send invites', - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)': - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)', - 'Scheduled call created and {{count}} invite(s) sent': - 'Scheduled call created and {{count}} invite(s) sent', - 'Join video call': 'Join video call', - 'Scheduled video call': 'Scheduled video call', - 'Video call': 'Video call', - 'Schedule and send invite': 'Schedule and send invite', - 'Scheduling…': 'Scheduling…', - 'Please set a start time': 'Please set a start time', - 'End time must be after start time': 'End time must be after start time', - 'Failed to schedule call': 'Failed to schedule call', - 'Scheduled call created and invite sent': 'Scheduled call created and invite sent', - RSVP: 'RSVP', - 'RSVP: {{status}}': 'RSVP: {{status}}', - Accepted: 'Accepted', - Tentative: 'Tentative', - Declined: 'Declined', - 'You need to log in to RSVP': 'You need to log in to RSVP', - 'RSVP updated': 'RSVP updated', - 'Failed to update RSVP': 'Failed to update RSVP', - Organizer: 'Organizer', - Attendees: 'Attendees', - 'No response': 'No response', - 'Calendar Events': 'Calendar Events', - 'Calendar Event': 'Calendar Event', - 'Schedule in-person meeting': 'Schedule in-person meeting', - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.': - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.', + "Create a calendar event and send an invite. The recipient will see the event with a join link.": "Create a calendar event and send an invite. The recipient will see the event with a join link.", + "Schedule a video call": "Schedule a video call", + "Create a calendar event and send kind 24 invites to each listed invitee.": "Create a calendar event and send kind 24 invites to each listed invitee.", + Invitees: "Invitees", + "Paste nostr:npub1... or nostr:nprofile1... (one or more)": "Paste nostr:npub1... or nostr:nprofile1... (one or more)", + "Schedule and send invites": "Schedule and send invites", + "Add at least one invitee (paste nostr:npub or nostr:nprofile links)": "Add at least one invitee (paste nostr:npub or nostr:nprofile links)", + "Scheduled call created and {{count}} invite(s) sent": "Scheduled call created and {{count}} invite(s) sent", + "Join video call": "Join video call", + "Scheduled video call": "Scheduled video call", + "Video call": "Video call", + "Schedule and send invite": "Schedule and send invite", + "Scheduling…": "Scheduling…", + "Please set a start time": "Please set a start time", + "End time must be after start time": "End time must be after start time", + "Failed to schedule call": "Failed to schedule call", + "Scheduled call created and invite sent": "Scheduled call created and invite sent", + RSVP: "RSVP", + "RSVP: {{status}}": "RSVP: {{status}}", + Accepted: "Accepted", + Tentative: "Tentative", + Declined: "Declined", + "You need to log in to RSVP": "You need to log in to RSVP", + "RSVP updated": "RSVP updated", + "Failed to update RSVP": "Failed to update RSVP", + Organizer: "Organizer", + Attendees: "Attendees", + "No response": "No response", + "Calendar Events": "Calendar Events", + "Calendar Event": "Calendar Event", + "Schedule in-person meeting": "Schedule in-person meeting", + "Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.": "Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.", "You're invited to an in-person meeting.": "You're invited to an in-person meeting.", - 'Meeting created and invite sent': 'Meeting created and invite sent', - 'Failed to create meeting': 'Failed to create meeting', - 'Create and send invite': 'Create and send invite', - 'Creating…': 'Creating…', - 'In-person meeting': 'In-person meeting', - Location: 'Location', - 'Address, venue, or place': 'Address, venue, or place', - Description: 'Description', - 'Optional notes': 'Optional notes', - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.': - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.', - 'Meeting created and {{count}} invite(s) sent': 'Meeting created and {{count}} invite(s) sent', - 'Create and send invites': 'Create and send invites', - Title: 'Title', - Start: 'Start', - End: 'End', - Delete: 'Delete', - 'Relay already exists': 'Relay already exists', - 'invalid relay URL': 'invalid relay URL', - 'Relay URL…': 'wss://… or relay host', - 'Open relay': 'Open relay', - 'Add a new relay': 'Add a new relay', - back: 'back', - 'Lost in the void': 'Lost in the void', - 'Carry me home': 'Carry me home', - 'no replies': 'no replies', - 'Reply to': 'Reply to', - Search: 'Search', - 'The relays you are connected to do not support search': - 'The relays you are connected to do not support search', - 'Show more...': 'Show more...', - 'All users': 'All users', - 'Display replies': 'Display replies', - Notes: 'Notes', - Replies: 'Replies', - Gallery: 'Gallery', - Notifications: 'Notifications', - 'no more notifications': 'no more notifications', - 'Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.': - 'Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.', - 'Login with Browser Extension': 'Login with Browser Extension', - 'Login with Bunker': 'Login with Bunker', - 'Login with Private Key': 'Login with Private Key', - 'Login with npub (read-only)': 'Login with npub (read-only)', - readOnlySession: { - label: 'Read-only', - labelShort: 'R/O', - hint: - 'Browsing without a signing key. Sign in with an extension, nsec, or another method to post, react, and edit.' - }, - 'reload notes': 'reload notes', - 'Logged in Accounts': 'Logged in Accounts', - 'Add an Account': 'Add an Account', - 'More options': 'More options', - 'Add client tag': 'Add client tag', - 'Show others this was sent via Imwald': 'Show others this was sent via Imwald', - 'Are you sure you want to logout?': 'Are you sure you want to logout?', - 'relay sets': 'relay sets', - edit: 'edit', - Languages: 'Languages', - Theme: 'Theme', - System: 'System', - Light: 'Light', - Dark: 'Dark', - Temporary: 'Temporary', - 'Choose a relay set': 'Choose a relay set', - 'Switch account': 'Switch account', - Pictures: 'Pictures', - 'Picture note': 'Picture note', - 'A special note for picture-first clients like Olas': - 'A special note for picture-first clients like Olas', - 'Picture note requires images': 'Picture note requires images', - Relays: 'Relays', - Image: 'Image', - 'This image could not be loaded.': 'This image could not be loaded.', - 'Invalid or unsupported image address.': 'Invalid or unsupported image address.', - 'Open image link': 'Open image link', - 'Upload Image': 'Upload Image', - 'Insert emoji': 'Insert emoji', - 'Insert GIF': 'Insert GIF', - 'Insert meme': 'Insert meme', - 'Search GIFs': 'Search GIFs', - 'Search memes': 'Search memes', - 'Choose a GIF': 'Choose a GIF', - 'Choose a meme': 'Choose a meme', - 'Search GifBuddy for more GIFs': 'Search GifBuddy for more GIFs', - 'Add your own GIFs': 'Add your own GIFs', - 'Add your own meme templates': 'Add your own meme templates', - 'Description (optional, for search)': 'Description (optional, for search)', - 'e.g. happy birthday, thumbs up': 'e.g. happy birthday, thumbs up', - 'e.g. drake, distracted boyfriend': 'e.g. drake, distracted boyfriend', - 'Uploading...': 'Uploading...', - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.': - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.', - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).': - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).', - 'Failed to publish meme template for the picker': - 'Failed to publish meme template for the picker', - '{{name}} is not a GIF file': '{{name}} is not a GIF file', - '{{name}} is not a JPEG, PNG, or WebP file': '{{name}} is not a JPEG, PNG, or WebP file', - 'R & W': 'R & W', - Read: 'Read', - Write: 'Write', - 'Pull relay sets': 'Pull relay sets', - 'Select the relay sets you want to pull': 'Select the relay sets you want to pull', - 'No relay sets found': 'No relay sets found', - 'Pull n relay sets': 'Pull {{n}} relay sets', - Pull: 'Pull', - 'Select all': 'Select all', - 'Relay Sets': 'Relay Sets', - 'Read & Write Relays': 'Read & Write Relays', - 'read relays description': - 'Read relays are used to seek events about you. Other users will publish the events they want you to see to your read relays.', - 'write relays description': - 'Write relays are used to publish your events. Other users will seek your events from your write relays.', - 'read & write relays notice': - 'The number of read and write servers should ideally be kept between 2 and 4.', + "Meeting created and invite sent": "Meeting created and invite sent", + "Failed to create meeting": "Failed to create meeting", + "Create and send invite": "Create and send invite", + "Creating…": "Creating…", + "In-person meeting": "In-person meeting", + Location: "Location", + "Address, venue, or place": "Address, venue, or place", + Description: "Description", + "Optional notes": "Optional notes", + "Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.": "Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.", + "Meeting created and {{count}} invite(s) sent": "Meeting created and {{count}} invite(s) sent", + "Create and send invites": "Create and send invites", + Title: "Title", + Start: "Start", + End: "End", + Delete: "Delete", + "Relay already exists": "Relay already exists", + "invalid relay URL": "invalid relay URL", + "Relay URL…": "wss://… or relay host", + "Open relay": "Open relay", + "Add a new relay": "Add a new relay", + back: "back", + "Lost in the void": "Lost in the void", + "Carry me home": "Carry me home", + "no replies": "no replies", + "Reply to": "Reply to", + Search: "Search", + "The relays you are connected to do not support search": "The relays you are connected to do not support search", + "Show more...": "Show more...", + "All users": "All users", + "Display replies": "Display replies", + Notes: "Notes", + Replies: "Replies", + Gallery: "Gallery", + Notifications: "Notifications", + "no more notifications": "no more notifications", + "Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.": "Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.", + "Login with Browser Extension": "Login with Browser Extension", + "Login with Bunker": "Login with Bunker", + "Login with Private Key": "Login with Private Key", + "Login with npub (read-only)": "Login with npub (read-only)", + readOnlySession: {"label":"Read-only","labelShort":"R/O","hint":"Browsing without a signing key. Sign in with an extension, nsec, or another method to post, react, and edit."}, + "reload notes": "reload notes", + "Logged in Accounts": "Logged in Accounts", + "Add an Account": "Add an Account", + "More options": "More options", + "Add client tag": "Add client tag", + "Show others this was sent via Imwald": "Show others this was sent via Imwald", + "Are you sure you want to logout?": "Are you sure you want to logout?", + "relay sets": "relay sets", + edit: "edit", + Languages: "Languages", + Theme: "Theme", + System: "System", + Light: "Light", + Dark: "Dark", + Temporary: "Temporary", + "Choose a relay set": "Choose a relay set", + "Switch account": "Switch account", + Pictures: "Pictures", + "Picture note": "Picture note", + "A special note for picture-first clients like Olas": "A special note for picture-first clients like Olas", + "Picture note requires images": "Picture note requires images", + Relays: "Relays", + Image: "Image", + "This image could not be loaded.": "This image could not be loaded.", + "Invalid or unsupported image address.": "Invalid or unsupported image address.", + "Open image link": "Open image link", + "Upload Image": "Upload Image", + "Insert emoji": "Insert emoji", + "Insert GIF": "Insert GIF", + "Insert meme": "Insert meme", + "Search GIFs": "Search GIFs", + "Search memes": "Search memes", + "Choose a GIF": "Choose a GIF", + "Choose a meme": "Choose a meme", + "Search GifBuddy for more GIFs": "Search GifBuddy for more GIFs", + "Add your own GIFs": "Add your own GIFs", + "Add your own meme templates": "Add your own meme templates", + "Description (optional, for search)": "Description (optional, for search)", + "e.g. happy birthday, thumbs up": "e.g. happy birthday, thumbs up", + "e.g. drake, distracted boyfriend": "e.g. drake, distracted boyfriend", + "Uploading...": "Uploading...", + "No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.": "No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.", + "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).": "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).", + "Failed to publish meme template for the picker": "Failed to publish meme template for the picker", + "{{name}} is not a GIF file": "{{name}} is not a GIF file", + "{{name}} is not a JPEG, PNG, or WebP file": "{{name}} is not a JPEG, PNG, or WebP file", + "R & W": "R & W", + Read: "Read", + Write: "Write", + "Pull relay sets": "Pull relay sets", + "Select the relay sets you want to pull": "Select the relay sets you want to pull", + "No relay sets found": "No relay sets found", + "Pull n relay sets": "Pull {{n}} relay sets", + Pull: "Pull", + "Select all": "Select all", + "Relay Sets": "Relay Sets", + "Read & Write Relays": "Read & Write Relays", + "read relays description": "Read relays are used to seek events about you. Other users will publish the events they want you to see to your read relays.", + "write relays description": "Write relays are used to publish your events. Other users will seek your events from your write relays.", + "read & write relays notice": "The number of read and write servers should ideally be kept between 2 and 4.", "Don't have an account yet?": "Don't have an account yet?", - 'or simply generate a private key': 'or simply generate a private key', - 'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.': - 'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.', - Edit: 'Edit', - Save: 'Save', - 'Display Name': 'Display Name', - Bio: 'Bio', - 'Nostr Address (NIP-05)': 'Nostr Address (NIP-05)', - 'Invalid NIP-05 address': 'Invalid NIP-05 address', - 'Copy private key': 'Copy private key', - 'Enter the password to decrypt your ncryptsec': 'Enter the password to decrypt your ncryptsec', - Back: 'Back', - 'optional: encrypt nsec': 'optional: encrypt nsec', - password: 'password', - 'Sign up': 'Sign up', - 'Save to': 'Save to', - 'Enter a name for the new relay set': 'Enter a name for the new relay set', - 'Save to a new relay set': 'Save to a new relay set', - Mute: 'Mute', - Muted: 'Muted', - Unmute: 'Unmute', - 'Unmute user': 'Unmute user', - Block: 'Block', - Unblock: 'Unblock', - blocked: 'blocked', - 'Append n relays': 'Append {{n}} relays', - Append: 'Append', - 'Select relays to append': 'Select relays to append', - 'calculating...': 'calculating...', - 'Calculate optimal read relays': 'Calculate optimal read relays', - 'Login to set': 'Login to set', - 'Please login to view following feed': 'Please login to view following feed', - 'Follow set': 'Follow set', - 'Follow set feed empty': - 'This NIP-51 list is empty, was not found, or relays could not load it yet.', - 'Send only to r': 'Send only to {{r}}', - 'Send only to these relays': 'Send only to these relays', - Explore: 'Explore', - 'Relay reviews': 'Relay reviews', - 'Search relays': 'Search relays', - relayInfoBadgeAuth: 'Auth', - relayInfoBadgeSearch: 'Search', - relayInfoBadgePayment: 'Payment', - Operator: 'Operator', - Contact: 'Contact', - Software: 'Software', - Version: 'Version', - 'Random Relays': 'Random Relays', - randomRelaysRefresh: 'Refresh', - 'Explore more': 'Explore more', - 'Payment page': 'Payment page', - 'Supported NIPs': 'Supported NIPs', - 'Relay liveliness (NIP-66)': 'Relay liveliness (NIP-66)', - 'Relay monitor (NIP-66)': 'Relay monitor (NIP-66)', - 'Auth required': 'Auth required', - 'Public (no auth)': 'Public (no auth)', - 'Payment required': 'Payment required', - 'No payment': 'No payment', - 'Writes required': 'Writes required', - 'Writes open': 'Writes open', - 'PoW required': 'PoW required', - 'No PoW': 'No PoW', - 'RTT open': 'RTT open', - 'RTT read': 'RTT read', - 'RTT write': 'RTT write', - 'Supported NIPs (from monitor)': 'Supported NIPs (from monitor)', - 'Last reported by monitor': 'Last reported by monitor', - Network: 'Network', - Type: 'Type', - Topics: 'Topics', - 'Open in a': 'Open in {{a}}', - 'Cannot handle event of kind k': 'Cannot handle event of kind {{k}}', - 'Unsupported event preview': - 'There isn’t a dedicated card for this event type yet. Here’s a readable preview.', - 'No text content in event': 'No text in this event.', - 'Technical details': 'Technical details', - 'Event kind and time': 'Kind {{kind}} · {{time}}', - 'Event kind label': 'Kind {{kind}}', - 'Note kind label line': 'KIND: {{kind}} · {{description}}', - 'Unknown note declared kind tag': 'Tagged kind: {{value}}', - 'Unknown note tagged pubkey': 'Tagged pubkey', - 'Unknown note tagged content': 'Content', - 'Unknown note reference tags': 'Reference tags (e, p, q, a)', - 'Starred spells': 'Starred spells', - 'Spell star add title': 'Star spell (adds to your Nostr bookmarks)', - 'Spell star remove title': 'Unstar spell (removes from your Nostr bookmarks)', - 'Copy JSON': 'Copy JSON', - Verse: 'Verse', - 'Notification reaction summary': 'reacted to this note.', - 'Notification discussion upvote summary': 'upvoted in this discussion.', - 'Notification discussion downvote summary': 'downvoted in this discussion.', - 'Notification boost summary': 'Boosted this note', - 'Notification boost detail': 'The preview above is the original post.', - 'Notification poll vote summary': 'Voted on the poll above.', - 'Notification poll vote options count': '{{count}} option(s) selected', - 'Imwald synthetic event': 'Imwald synthetic event', - '+ Add a URL to this list': 'Add a URL to this list', - 'Add a web URL': 'Add a web URL', - 'Add web URL to feed description': - 'Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.', - 'Add to feed': 'Add to feed', - 'Open any https page in the side panel to reply, react, and discuss on Nostr.': - 'Open any https page in the side panel to reply, react, and discuss on Nostr.', - 'Enter a valid http(s) URL': 'Enter a valid http(s) URL', - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.': - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.', - 'Open in browser': 'Open in browser', - 'liveEvent.zapStreamPlayer': 'Live stream (zap.stream)', - 'liveStreamEmbedSuppressed': - 'Inline live stream is hidden because your kind filter excludes NIP-53 streams. Open via njump or another client below.', - 'liveEvent.hlsPlaybackUnavailable': - 'Inline playback failed (the stream may be offline, ended, or blocked). You can still open the hosted watch page below.', - 'liveEvent.hideFromCarousel': 'Hide from carousel', - 'liveEvent.showInCarousel': 'Show in carousel', - 'liveEvent.hideFromCarouselTitle': - 'Hide this stream in the live carousel (saved in this browser on this device). Click again to show it.', - 'liveEvent.showInCarouselTitle': 'Show this stream in the live carousel again.', - 'Web page': 'Web page', - Open: 'Open', - 'Sorry! The note cannot be found 😔': 'Sorry! The note cannot be found 😔', - 'This user has been muted': 'This user has been muted', - Wallet: 'Wallet', - Sats: 'Sats', - sats: 'sats', - 'Zap to': 'Zap to', - 'Zap n sats': 'Zap {{n}} sats', - zapComment: 'Comment', - 'Default zap amount': 'Default zap amount', - 'Default zap comment': 'Default zap comment', - 'Lightning Address (or LNURL)': 'Lightning Address (or LNURL)', - 'Quick zap': 'Quick zap', - 'If enabled, you can zap with a single click. Click and hold for custom amounts': - 'If enabled, you can zap with a single click. Click and hold for custom amounts', - All: 'All', - Reactions: 'Reactions', - Zaps: 'Zaps', - Boosts: 'Boosts', - Badges: 'Badges', - Reports: 'Reports', - 'Enjoying Imwald?': 'Enjoying Imwald?', - 'Your donation helps me maintain Imwald and make it better! 😊': - 'Your donation helps me maintain Imwald and make it better! 😊', - 'Earlier notifications': 'Earlier notifications', - 'Temporarily display this note': 'Temporarily display this note', - buttonFollowing: 'Following', - 'Are you sure you want to unfollow this user?': 'Are you sure you want to unfollow this user?', - 'Recent Supporters': 'Recent Supporters', - 'Seen on': 'Seen on', - 'Active relays': 'Active relays', - 'Not connected': 'Not connected', - 'Relay session striked': 'Skipped this session (too many connection failures)', - 'More relays': '+{{count}} relays', - 'Temporarily display this reply': 'Temporarily display this reply', - 'Note not found': 'Note not found', - 'Invalid embedded note reference': 'Invalid embedded note reference', - embeddedNoteInvalidEmpty: 'This embedded link is empty.', - embeddedNoteInvalidHex: - 'This is not a valid hex event id (expected exactly 64 hexadecimal characters).', - embeddedNoteInvalidBech32: - 'This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.', - embeddedNoteInvalidWrongKind: - 'This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.', - 'The note was not found on your relays or default relays.': - 'The note was not found on your relays or default relays.', + "or simply generate a private key": "or simply generate a private key", + "This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.": "This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.", + Edit: "Edit", + Save: "Save", + "Display Name": "Display Name", + Bio: "Bio", + "Nostr Address (NIP-05)": "Nostr Address (NIP-05)", + "Invalid NIP-05 address": "Invalid NIP-05 address", + "Copy private key": "Copy private key", + "Enter the password to decrypt your ncryptsec": "Enter the password to decrypt your ncryptsec", + Back: "Back", + "optional: encrypt nsec": "optional: encrypt nsec", + password: "password", + "Sign up": "Sign up", + "Save to": "Save to", + "Enter a name for the new relay set": "Enter a name for the new relay set", + "Save to a new relay set": "Save to a new relay set", + Mute: "Mute", + Muted: "Muted", + Unmute: "Unmute", + "Unmute user": "Unmute user", + Block: "Block", + Unblock: "Unblock", + blocked: "blocked", + "Append n relays": "Append {{n}} relays", + Append: "Append", + "Select relays to append": "Select relays to append", + "calculating...": "calculating...", + "Calculate optimal read relays": "Calculate optimal read relays", + "Login to set": "Login to set", + "Please login to view following feed": "Please login to view following feed", + "Follow set": "Follow set", + "Follow set feed empty": "This NIP-51 list is empty, was not found, or relays could not load it yet.", + "Send only to r": "Send only to {{r}}", + "Send only to these relays": "Send only to these relays", + Explore: "Explore", + "Relay reviews": "Relay reviews", + "Search relays": "Search relays", + relayInfoBadgeAuth: "Auth", + relayInfoBadgeSearch: "Search", + relayInfoBadgePayment: "Payment", + Operator: "Operator", + Contact: "Contact", + Software: "Software", + Version: "Version", + "Random Relays": "Random Relays", + randomRelaysRefresh: "Refresh", + "Explore more": "Explore more", + "Payment page": "Payment page", + "Supported NIPs": "Supported NIPs", + "Relay liveliness (NIP-66)": "Relay liveliness (NIP-66)", + "Relay monitor (NIP-66)": "Relay monitor (NIP-66)", + "Auth required": "Auth required", + "Public (no auth)": "Public (no auth)", + "Payment required": "Payment required", + "No payment": "No payment", + "Writes required": "Writes required", + "Writes open": "Writes open", + "PoW required": "PoW required", + "No PoW": "No PoW", + "RTT open": "RTT open", + "RTT read": "RTT read", + "RTT write": "RTT write", + "Supported NIPs (from monitor)": "Supported NIPs (from monitor)", + "Last reported by monitor": "Last reported by monitor", + Network: "Network", + Type: "Type", + Topics: "Topics", + "Open in a": "Open in {{a}}", + "Cannot handle event of kind k": "Cannot handle event of kind {{k}}", + "Unsupported event preview": "There isn’t a dedicated card for this event type yet. Here’s a readable preview.", + "No text content in event": "No text in this event.", + "Technical details": "Technical details", + "Event kind and time": "Kind {{kind}} · {{time}}", + "Event kind label": "Kind {{kind}}", + "Note kind label line": "KIND: {{kind}} · {{description}}", + "Unknown note declared kind tag": "Tagged kind: {{value}}", + "Unknown note tagged pubkey": "Tagged pubkey", + "Unknown note tagged content": "Content", + "Unknown note reference tags": "Reference tags (e, p, q, a)", + "Starred spells": "Starred spells", + "Spell star add title": "Star spell (adds to your Nostr bookmarks)", + "Spell star remove title": "Unstar spell (removes from your Nostr bookmarks)", + "Copy JSON": "Copy JSON", + Verse: "Verse", + "Notification reaction summary": "reacted to this note.", + "Notification discussion upvote summary": "upvoted in this discussion.", + "Notification discussion downvote summary": "downvoted in this discussion.", + "Notification boost summary": "Boosted this note", + "Notification boost detail": "The preview above is the original post.", + "Notification poll vote summary": "Voted on the poll above.", + "Notification poll vote options count": "{{count}} option(s) selected", + "Imwald synthetic event": "Imwald synthetic event", + "+ Add a URL to this list": "Add a URL to this list", + "Add a web URL": "Add a web URL", + "Add web URL to feed description": "Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.", + "Add to feed": "Add to feed", + "Open any https page in the side panel to reply, react, and discuss on Nostr.": "Open any https page in the side panel to reply, react, and discuss on Nostr.", + "Enter a valid http(s) URL": "Enter a valid http(s) URL", + "Opened by URL — not from your RSS list. Nostr thread is still tied to this link.": "Opened by URL — not from your RSS list. Nostr thread is still tied to this link.", + "Open in browser": "Open in browser", + "liveEvent.zapStreamPlayer": "Live stream (zap.stream)", + liveStreamEmbedSuppressed: "Inline live stream is hidden because your kind filter excludes NIP-53 streams. Open via njump or another client below.", + "liveEvent.hlsPlaybackUnavailable": "Inline playback failed (the stream may be offline, ended, or blocked). You can still open the hosted watch page below.", + "liveEvent.hideFromCarousel": "Hide from carousel", + "liveEvent.showInCarousel": "Show in carousel", + "liveEvent.hideFromCarouselTitle": "Hide this stream in the live carousel (saved in this browser on this device). Click again to show it.", + "liveEvent.showInCarouselTitle": "Show this stream in the live carousel again.", + "Web page": "Web page", + Open: "Open", + "Sorry! The note cannot be found 😔": "Sorry! The note cannot be found 😔", + "This user has been muted": "This user has been muted", + Wallet: "Wallet", + Sats: "Sats", + sats: "sats", + "Zap to": "Zap to", + "Zap n sats": "Zap {{n}} sats", + zapComment: "Comment", + "Default zap amount": "Default zap amount", + "Default zap comment": "Default zap comment", + "Lightning Address (or LNURL)": "Lightning Address (or LNURL)", + "Quick zap": "Quick zap", + "If enabled, you can zap with a single click. Click and hold for custom amounts": "If enabled, you can zap with a single click. Click and hold for custom amounts", + All: "All", + Reactions: "Reactions", + Zaps: "Zaps", + Boosts: "Boosts", + Badges: "Badges", + Reports: "Reports", + "Enjoying Imwald?": "Enjoying Imwald?", + "Your donation helps me maintain Imwald and make it better! 😊": "Your donation helps me maintain Imwald and make it better! 😊", + "Earlier notifications": "Earlier notifications", + "Temporarily display this note": "Temporarily display this note", + buttonFollowing: "Following", + "Are you sure you want to unfollow this user?": "Are you sure you want to unfollow this user?", + "Recent Supporters": "Recent Supporters", + "Seen on": "Seen on", + "Active relays": "Active relays", + "Not connected": "Not connected", + "Relay session striked": "Skipped this session (too many connection failures)", + "More relays": "+{{count}} relays", + "Temporarily display this reply": "Temporarily display this reply", + "Note not found": "Note not found", + "Invalid embedded note reference": "Invalid embedded note reference", + embeddedNoteInvalidEmpty: "This embedded link is empty.", + embeddedNoteInvalidHex: "This is not a valid hex event id (expected exactly 64 hexadecimal characters).", + embeddedNoteInvalidBech32: "This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.", + embeddedNoteInvalidWrongKind: "This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.", + "The note was not found on your relays or default relays.": "The note was not found on your relays or default relays.", "Try searching author's relays": "Try searching author's relays", - 'Searching external relays...': 'Searching external relays...', - "This will connect to the author's relays and relay hints": - "This will connect to the author's relays and relay hints", - 'Note could not be found anywhere': 'Note could not be found anywhere', - 'Try external relays': 'Try external relays', - 'Searching...': 'Searching...', - 'Show relays': 'Show relays', - 'No external relay hints available': 'No external relay hints available', - 'External relay search is not available for this link type': - 'External relay search is not available for this link type.', - 'Searched external relays not found': - 'Searched {{count}} external relays; the note was still not found.', - 'no more replies': 'no more replies', - 'Relay sets': 'Relay sets', - 'Search for Relays': 'Search for Relays', - 'Using app default relays': 'Using app default relays', + "Searching external relays...": "Searching external relays...", + "This will connect to the author's relays and relay hints": "This will connect to the author's relays and relay hints", + "Note could not be found anywhere": "Note could not be found anywhere", + "Try external relays": "Try external relays", + "Searching...": "Searching...", + "Show relays": "Show relays", + "No external relay hints available": "No external relay hints available", + "External relay search is not available for this link type": "External relay search is not available for this link type.", + "Searched external relays not found": "Searched {{count}} external relays; the note was still not found.", + "no more replies": "no more replies", + "Relay sets": "Relay sets", + "Search for Relays": "Search for Relays", + "Using app default relays": "Using app default relays", "Following's Favorites": "Following's Favorites", - 'no more relays': 'no more relays', - 'Favorited by': 'Favorited by', - 'Post settings': 'Post settings', - 'Publishing feedback': 'Publishing feedback', - 'Publish success toasts': 'Publish success toasts', - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.': - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.', - 'Publish successful': 'Publish successful', - 'Media upload service': 'Media upload service', - 'Choose a relay': 'Choose a relay', - 'no relays found': 'no relays found', - video: 'video', - 'Show n new notes': 'Show {{n}} new notes', - YouTabName: 'You', - Bookmark: 'Bookmark', - 'Remove bookmark': 'Remove bookmark', - 'no bookmarks found': 'no bookmarks found', - 'no more bookmarks': 'no more bookmarks', - Bookmarks: 'Bookmarks', - 'Follow Packs': 'Follow Packs', - 'Follow Pack': 'Follow Pack', - 'Follow pack by': 'by', - 'In Follow Packs': 'In Follow Packs', - 'Badge details': 'Badge details', - 'Issued by': 'Issued by', - 'Other recipients': 'Other recipients', - 'No other recipients found': 'No other recipients found', - 'Recipients could not be loaded': 'Recipients could not be loaded', - 'View award': 'View award', - 'Awarded on': 'Awarded on', - 'Please log in to follow': 'Please log in to follow', - 'Following All': 'Following All', - 'Followed {{count}} users': 'Followed {{count}} users', - 'All available members are already followed or muted': - 'All available members are already followed or muted', - 'You are already following all members of this pack': - 'You are already following all members of this pack', - 'Failed to follow pack': 'Failed to follow pack', - '{{count}} profiles': '{{count}} profiles', - 'Show more': 'Show more', - General: 'General', - Autoplay: 'Autoplay', - 'Enable video autoplay on this device': 'Enable video autoplay on this device', - 'liveActivities.heading': 'Live now', - 'liveActivities.regionLabel': 'Live spaces and streams', - 'liveActivities.fromFollow': 'From someone you follow', - 'liveActivities.goToSlide': 'Show live item {{n}}', - 'liveActivities.swipeToBrowse': - 'Swipe left or right on the banner to switch between live activities.', - 'liveActivities.viewNoteTitle': 'Open this live activity as a note (play in app, links below)', - 'liveActivities.openJoinPageTitle': 'Open the join page in a new tab (e.g. zap.stream or the room site)', - 'liveActivities.settingsToggle': 'Live activities banner', - 'liveActivities.settingsHint': - 'Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.', - 'Add random relays to every publish': 'Random relays in publish list', - 'Add random relays to every publish description': - 'Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.', - relayType_local: 'Local', - relayType_relay_list: 'Relay list', - relayType_http_relay_list: 'HTTP', - 'HTTP relays': 'HTTP relays', - httpRelaysDescription: - 'HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.', - 'HTTP relays saved': 'HTTP relays saved', - 'Failed to save HTTP relay list': 'Failed to save HTTP relay list', - 'HTTP relays must start with https:// or http://': - 'HTTP relays must start with https:// or http://', - relayType_client_default: 'Client default', - relayType_open_from: 'Current feed', - relayType_favorite: 'Favorite', - relayType_relay_set: 'Relay set', - relayType_contextual: 'Reply/PM', - relayType_randomly_selected: 'Random (optional)', - 'Session relays': 'Session relays', - 'Session relays tab description': - 'Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish). Striked relays are skipped for reads and publishes until reload.', - 'Session relays preset working': 'Working preset relays', - 'Session relays preset working hint': - 'Preset relays (from app defaults) that have not reached the session failure threshold (2 failures).', - 'Session relays preset striked': 'Striked preset relays', - 'Session relays preset striked hint': - 'Preset relays that have reached 2 connection or publish failures this session and are skipped for reads and writes until you reload the app.', - 'Session relays scored random': 'Scored random relays', - 'Session relays scored random hint': - 'Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.', - 'Session relays all striked': 'All striked relays (any source)', - 'Session relays clear strike': 'Allow again', - 'Session relays clear strike hint': - 'Remove this relay from the session block list; it will be used again until new connection failures.', - 'relaySessionStrikes.bannerWarning': - 'This relay has {{count}} session strike(s) (limit {{threshold}}) after connection or query failures.', - 'relaySessionStrikes.bannerSkipped': - 'This relay has reached the session failure limit ({{threshold}} strikes) and is skipped for reads and publishes in this tab.', - 'relaySessionStrikes.refreshHint': - 'Use {{refresh}} to clear strikes for this relay and load the feed again.', - successes: 'successes', - None: 'None', - 'Cache & offline storage': 'Cache & offline storage', - feedStarting: 'Starting feeds and relays… This can take a few seconds after login.', - singleRelayKindFallbackNotice: - 'This relay returned no events for an open-ended request (no kinds in the filter). The feed below uses your usual kind filter instead.', - refreshCacheButtonExplainer: - 'Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.', - 'eventArchive.sectionTitle': 'Notes & feed archive', - 'eventArchive.sectionBlurb': - 'Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.', - 'eventArchive.defaultsMobile': - 'This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).', - 'eventArchive.defaultsElectron': - 'Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.defaultsDesktopWeb': - 'Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.enablePersist': 'Persist feed events to disk', - 'eventArchive.maxMb': 'Max archive size (MB), blank = default for this device', - 'eventArchive.maxEvents': 'Max archived events, blank = default', - 'eventArchive.sessionLru': 'In-memory session cache (event count), blank = default', - 'eventArchive.effectiveSummary': - 'Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.', - 'eventArchive.on': 'on', - 'eventArchive.off': 'off', - 'eventArchive.apply': 'Apply cache settings', - 'eventArchive.appliedToast': 'Cache settings saved. Session memory updated.', - 'Paste or drop media files to upload': 'Paste or drop media files to upload', - Preview: 'Preview', - 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?', - 'Platinum Sponsors': 'Platinum Sponsors', - From: 'From', - 'Comment on': 'Comment on', - 'View on njump.me': 'View on njump.me', - 'Hide content from untrusted users': 'Hide content from untrusted users', - 'Only show content from your followed users and the users they follow': - 'Only show content from your followed users and the users they follow', - 'Followed by': 'Followed by', - 'Mute user privately': 'Mute user privately', - 'Mute user publicly': 'Mute user publicly', - Quotes: 'Quotes', - 'Lightning Invoice': 'Lightning Invoice', - 'Bookmark failed': 'Bookmark failed', - 'Remove bookmark failed': 'Remove bookmark failed', - 'Removed from bookmarks': 'Removed from bookmarks', - 'Bookmark not in list': 'This bookmark is not in your list (already removed or out of sync).', - 'Pin not in list': 'This pin is not in your list (already removed or out of sync).', - 'Failed to remove pin': 'Failed to remove pin', - Translation: 'Translation', - Balance: 'Balance', - characters: 'characters', - translateApiKeyDescription: - 'You can use this API key anywhere else that supports LibreTranslate. The service URL is {{serviceUrl}}', - 'Top up': 'Top up', - 'Will receive: {n} characters': 'Will receive: {{n}} characters', - 'Top up {n} sats': 'Top up {{n}} sats', - 'Minimum top up is {n} sats': 'Minimum top up is {{n}} sats', - Service: 'Service', - 'Reset API key': 'Reset API key', - 'Are you sure you want to reset your API key? This action cannot be undone.': - 'Are you sure you want to reset your API key? This action cannot be undone.', - Warning: 'Warning', - 'Errors & warnings': 'Errors & warnings', - 'Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.': - 'Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.', - 'Service address': 'Service address', - Pay: 'Pay', - interactions: 'interactions', - notifications: 'notifications', - notificationsViewAsAccount: 'View as', - notificationsViewAsAccountAria: - 'Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.', - notificationsSwitchAccountFailed: - 'Could not switch account. Check your signer, password, or extension and try again.', - 'Show untrusted {type}': 'Show untrusted {{type}}', - 'Hide untrusted {type}': 'Hide untrusted {{type}}', - 'Currently hiding {type} from untrusted users.': - 'Currently hiding {{type}} from untrusted users.', - 'Currently showing all {type}.': 'Currently showing all {{type}}.', - 'Click continue to show all {type}.': 'Click continue to show all {{type}}.', - 'Click continue to hide {type} from untrusted users.': - 'Click continue to hide {{type}} from untrusted users.', - 'Trusted users include people you follow and people they follow.': - 'Trusted users include people you follow and people they follow.', - Continue: 'Continue', - 'Successfully updated mute list': 'Successfully updated mute list', - 'No pubkeys found from {url}': 'No pubkeys found from {{url}}', - 'Translating...': 'Translating...', - Translate: 'Translate', - 'Show original': 'Show original', - Website: 'Website', - 'Hide untrusted notes': 'Hide untrusted notes', - 'Open in another client': 'Open in another client', - Community: 'Community', - Group: 'Group', - 'Live event': 'Live event', - Article: 'Article', - Unfavorite: 'Unfavorite', - 'Recommended relays': 'Recommended relays', - 'Show recommended relays panel': 'Show recommended relays panel', - 'Display the right-side panel with recommended relays on desktop': - 'Display the right-side panel with recommended relays on desktop', - 'Blossom server URLs': 'Blossom server URLs', - 'You need to add at least one blossom server in order to upload media files.': - 'You need to add at least one blossom server in order to upload media files.', - 'Recommended blossom servers': 'Recommended blossom servers', - 'Enter Blossom server URL': 'Enter Blossom server URL', - Preferred: 'Preferred', - 'Multiple choice (select one or more)': 'Multiple choice (select one or more)', - Vote: 'Vote', - '{{number}} votes': '{{number}} votes', - 'Total votes': 'Total votes', - 'Poll has ended': 'Poll has ended', - 'Poll ends at {{time}}': 'Poll ends at {{time}}', - 'Load results': 'Load results', - 'This is a poll note.': 'This is a poll note.', - 'Unlike regular notes, polls are not widely supported and may not display on other clients.': - 'Unlike regular notes, polls are not widely supported and may not display on other clients.', - 'Option {{number}}': 'Option {{number}}', - 'Add Option': 'Add Option', - 'Remove option': 'Remove option', - 'Close highlight editor': 'Close highlight editor', - 'Allow multiple choices': 'Allow multiple choices', - 'End Date (optional)': 'End Date (optional)', - 'Clear end date': 'Clear end date', - 'Relay URLs (optional, comma-separated)': 'Relay URLs (optional, comma-separated)', - 'Remove poll': 'Remove poll', - 'Refresh results': 'Refresh results', - '{{votes}} · {{pct}}%': '{{votes}} · {{pct}}%', - 'See results': 'See results', - 'Zap poll (paid votes)': 'Zap poll (paid votes)', - 'Invalid zap poll': 'Invalid zap poll', - 'You voted on this poll (zap receipt)': 'You voted on this poll (zap receipt)', - 'Poll closed {{time}}': 'Poll closed {{time}}', - 'Closes {{time}}': 'Closes {{time}}', - 'Vote size': 'Vote size', - '{{n}} sats (fixed)': '{{n}} sats (fixed)', - '{{min}}–{{max}} sats': '{{min}}–{{max}} sats', - '≥ {{n}} sats': '≥ {{n}} sats', - '≤ {{n}} sats': '≤ {{n}} sats', - 'Loading tally…': 'Loading tally…', - 'Zap poll no votes yet': - 'No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).', - 'Consensus threshold': 'Consensus threshold', - 'Pay to': 'Pay to', - Recipient: 'Recipient', - Option: 'Option', - 'Select option': 'Select option', - 'Select an option': 'Select an option', - 'Vote with zap': 'Vote with zap', - 'Zap sent': 'Zap sent', - 'Zapping…': 'Zapping…', - 'Refresh tally': 'Refresh tally', - '{{n}} zaps': '{{n}} zaps', - Poll: 'Poll', - Media: 'Media', - 'Articles and Publications': 'Articles and Publications', - 'Search articles...': 'Search articles...', - 'Refreshing articles...': 'Refreshing articles...', - 'No articles or publications found': 'No articles or publications found', - 'No articles or publications match your search': - 'No articles or publications match your search', - 'articles and publications': 'articles and publications', - Interests: 'Interests', - Favorites: 'Favorites', - Calendar: 'Calendar', - 'No subscribed interests yet.': - 'No subscribed interests yet. Add topics in settings to see them here.', - 'No bookmarked notes with id tags yet.': - 'No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.', - 'No follows or relays to load yet.': 'No follows or relays to load yet.', - 'No favorites yet.': 'No favorites yet. Add follows, follow sets, interests, or bookmarks.', - 'Added from interests': 'Added from interests', - 'Added from bookmarks list': 'Added from bookmarks list', - 'Added from your web bookmarks': 'Added from your web bookmarks', - 'Added from follows and contact lists': 'Added from follows and contact lists', - 'Added from follows web bookmarks': 'Added from follows web bookmarks', - 'Nothing to load for this feed.': 'Nothing to load for this feed.', - 'No posts loaded for this feed. Try refreshing.': - 'No posts loaded for this feed. Try refreshing.', - 'Looking for more events…': 'Looking for more events…', - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.': - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.', - 'Per-relay timeline results ({{count}} connections)': - 'Per-relay timeline results ({{count}} connections)', - 'Republish to ...': 'Republish to ...', - 'All available relays': 'All available relays', - 'All active relays (monitoring list)': 'All active relays (monitoring list)', - 'Successfully republish to all available relays': - 'Successfully republish to all available relays', - 'Failed to republish to all available relays: {{error}}': - 'Failed to republish to all available relays: {{error}}', - 'Successfully republish to all active relays': 'Successfully republish to all active relays', - 'Failed to republish to all active relays: {{error}}': - 'Failed to republish to all active relays: {{error}}', - 'No active relays in monitoring list': 'No active relays in monitoring list', - 'No relay accepted the event': 'No relay accepted the event', - 'No relays available': 'No relays available', - 'No write relays configured': 'No write relays configured', - 'Relay did not accept the event': 'Relay did not accept the event', - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".': - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".', - 'Successfully republish to your write relays': 'Successfully republish to your write relays', - 'Failed to republish to your write relays: {{error}}': - 'Failed to republish to your write relays: {{error}}', - 'Successfully republish to relay set: {{name}}': - 'Successfully republish to relay set: {{name}}', - 'Failed to republish to relay set: {{name}}. Error: {{error}}': - 'Failed to republish to relay set: {{name}}. Error: {{error}}', - 'Successfully republish to relay: {{url}}': 'Successfully republish to relay: {{url}}', - 'Failed to republish to relay: {{url}}. Error: {{error}}': - 'Failed to republish to relay: {{url}}. Error: {{error}}', - 'Write relays': 'Write relays', - 'No more reactions': 'No more reactions', - 'No reactions yet': 'No reactions yet', - 'No more zaps': 'No more zaps', - 'No zaps yet': 'No zaps yet', - 'No more boosts': 'No more boosts', - 'No boosts yet': 'No boosts yet', - 'n more boosts': '{{count}} more boosts', - FollowListNotFoundConfirmation: - 'Follow list not found. Do you want to create a new one? If you have followed users before, please DO NOT confirm as this operation will cause you to lose your previous follow list.', - MuteListNotFoundConfirmation: - 'Mute list not found. Do you want to create a new one? If you have muted users before, please DO NOT confirm as this operation will cause you to lose your previous mute list.', - 'Show NSFW content by default': 'Show NSFW content by default', - 'Custom emoji management': 'Custom emoji management', - 'After changing emojis, you may need to refresh the page': - 'After changing emojis, you may need to refresh the page', - 'Too many read relays': 'Too many read relays', - 'Too many write relays': 'Too many write relays', - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.', - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.', - 'Optimize Relay Settings': 'Optimize Relay Settings', - 'Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.': - 'Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.', - 'Optimize Now': 'Optimize Now', - 'Maybe Later': 'Maybe Later', + "no more relays": "no more relays", + "Favorited by": "Favorited by", + "Post settings": "Post settings", + "Publishing feedback": "Publishing feedback", + "Publish success toasts": "Publish success toasts", + "Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.": "Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.", + "Publish successful": "Publish successful", + "Media upload service": "Media upload service", + "Choose a relay": "Choose a relay", + "no relays found": "no relays found", + video: "video", + "Show n new notes": "Show {{n}} new notes", + YouTabName: "You", + Bookmark: "Bookmark", + "Remove bookmark": "Remove bookmark", + "no bookmarks found": "no bookmarks found", + "no more bookmarks": "no more bookmarks", + Bookmarks: "Bookmarks", + "Follow Packs": "Follow Packs", + "Follow Pack": "Follow Pack", + "Follow pack by": "by", + "In Follow Packs": "In Follow Packs", + "Badge details": "Badge details", + "Issued by": "Issued by", + "Other recipients": "Other recipients", + "No other recipients found": "No other recipients found", + "Recipients could not be loaded": "Recipients could not be loaded", + "View award": "View award", + "Awarded on": "Awarded on", + "Please log in to follow": "Please log in to follow", + "Following All": "Following All", + "Followed {{count}} users": "Followed {{count}} users", + "All available members are already followed or muted": "All available members are already followed or muted", + "You are already following all members of this pack": "You are already following all members of this pack", + "Failed to follow pack": "Failed to follow pack", + "{{count}} profiles": "{{count}} profiles", + "Show more": "Show more", + General: "General", + Autoplay: "Autoplay", + "Enable video autoplay on this device": "Enable video autoplay on this device", + "liveActivities.heading": "Live now", + "liveActivities.regionLabel": "Live spaces and streams", + "liveActivities.fromFollow": "From someone you follow", + "liveActivities.goToSlide": "Show live item {{n}}", + "liveActivities.swipeToBrowse": "Swipe left or right on the banner to switch between live activities.", + "liveActivities.viewNoteTitle": "Open this live activity as a note (play in app, links below)", + "liveActivities.openJoinPageTitle": "Open the join page in a new tab (e.g. zap.stream or the room site)", + "liveActivities.settingsToggle": "Live activities banner", + "liveActivities.settingsHint": "Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.", + "Add random relays to every publish": "Random relays in publish list", + "Add random relays to every publish description": "Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.", + relayType_local: "Local", + relayType_relay_list: "Relay list", + relayType_http_relay_list: "HTTP", + "HTTP relays": "HTTP relays", + httpRelaysDescription: "HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.", + "HTTP relays saved": "HTTP relays saved", + "Failed to save HTTP relay list": "Failed to save HTTP relay list", + "HTTP relays must start with https:// or http://": "HTTP relays must start with https:// or http://", + relayType_client_default: "Client default", + relayType_open_from: "Current feed", + relayType_favorite: "Favorite", + relayType_relay_set: "Relay set", + relayType_contextual: "Reply/PM", + relayType_randomly_selected: "Random (optional)", + "Session relays": "Session relays", + "Session relays tab description": "Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish). Striked relays are skipped for reads and publishes until reload.", + "Session relays preset working": "Working preset relays", + "Session relays preset working hint": "Preset relays (from app defaults) that have not reached the session failure threshold (2 failures).", + "Session relays preset striked": "Striked preset relays", + "Session relays preset striked hint": "Preset relays that have reached 2 connection or publish failures this session and are skipped for reads and writes until you reload the app.", + "Session relays scored random": "Scored random relays", + "Session relays scored random hint": "Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.", + "Session relays all striked": "All striked relays (any source)", + "Session relays clear strike": "Allow again", + "Session relays clear strike hint": "Remove this relay from the session block list; it will be used again until new connection failures.", + "relaySessionStrikes.bannerWarning": "This relay has {{count}} session strike(s) (limit {{threshold}}) after connection or query failures.", + "relaySessionStrikes.bannerSkipped": "This relay has reached the session failure limit ({{threshold}} strikes) and is skipped for reads and publishes in this tab.", + "relaySessionStrikes.refreshHint": "Use {{refresh}} to clear strikes for this relay and load the feed again.", + successes: "successes", + None: "None", + "Cache & offline storage": "Cache & offline storage", + feedStarting: "Starting feeds and relays… This can take a few seconds after login.", + singleRelayKindFallbackNotice: "This relay returned no events for an open-ended request (no kinds in the filter). The feed below uses your usual kind filter instead.", + refreshCacheButtonExplainer: "Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.", + "eventArchive.sectionTitle": "Notes & feed archive", + "eventArchive.sectionBlurb": "Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.", + "eventArchive.defaultsMobile": "This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).", + "eventArchive.defaultsElectron": "Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.defaultsDesktopWeb": "Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.enablePersist": "Persist feed events to disk", + "eventArchive.maxMb": "Max archive size (MB), blank = default for this device", + "eventArchive.maxEvents": "Max archived events, blank = default", + "eventArchive.sessionLru": "In-memory session cache (event count), blank = default", + "eventArchive.effectiveSummary": "Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.", + "eventArchive.on": "on", + "eventArchive.off": "off", + "eventArchive.apply": "Apply cache settings", + "eventArchive.appliedToast": "Cache settings saved. Session memory updated.", + "Paste or drop media files to upload": "Paste or drop media files to upload", + Preview: "Preview", + "You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?": "You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?", + "Platinum Sponsors": "Platinum Sponsors", + From: "From", + "Comment on": "Comment on", + "View on njump.me": "View on njump.me", + "Hide content from untrusted users": "Hide content from untrusted users", + "Only show content from your followed users and the users they follow": "Only show content from your followed users and the users they follow", + "Followed by": "Followed by", + "Mute user privately": "Mute user privately", + "Mute user publicly": "Mute user publicly", + Quotes: "Quotes", + "Lightning Invoice": "Lightning Invoice", + "Bookmark failed": "Bookmark failed", + "Remove bookmark failed": "Remove bookmark failed", + "Removed from bookmarks": "Removed from bookmarks", + "Bookmark not in list": "This bookmark is not in your list (already removed or out of sync).", + "Pin not in list": "This pin is not in your list (already removed or out of sync).", + "Failed to remove pin": "Failed to remove pin", + Translation: "Translation", + Balance: "Balance", + characters: "characters", + translateApiKeyDescription: "You can use this API key anywhere else that supports LibreTranslate. The service URL is {{serviceUrl}}", + "Top up": "Top up", + "Will receive: {n} characters": "Will receive: {{n}} characters", + "Top up {n} sats": "Top up {{n}} sats", + "Minimum top up is {n} sats": "Minimum top up is {{n}} sats", + Service: "Service", + "Reset API key": "Reset API key", + "Are you sure you want to reset your API key? This action cannot be undone.": "Are you sure you want to reset your API key? This action cannot be undone.", + Warning: "Warning", + "Errors & warnings": "Errors & warnings", + "Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.": "Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.", + "Service address": "Service address", + Pay: "Pay", + interactions: "interactions", + notifications: "notifications", + notificationsViewAsAccount: "View as", + notificationsViewAsAccountAria: "Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.", + notificationsSwitchAccountFailed: "Could not switch account. Check your signer, password, or extension and try again.", + "Show untrusted {type}": "Show untrusted {{type}}", + "Hide untrusted {type}": "Hide untrusted {{type}}", + "Currently hiding {type} from untrusted users.": "Currently hiding {{type}} from untrusted users.", + "Currently showing all {type}.": "Currently showing all {{type}}.", + "Click continue to show all {type}.": "Click continue to show all {{type}}.", + "Click continue to hide {type} from untrusted users.": "Click continue to hide {{type}} from untrusted users.", + "Trusted users include people you follow and people they follow.": "Trusted users include people you follow and people they follow.", + Continue: "Continue", + "Successfully updated mute list": "Successfully updated mute list", + "No pubkeys found from {url}": "No pubkeys found from {{url}}", + "Translating...": "Translating...", + Translate: "Translate", + "Show original": "Show original", + Website: "Website", + "Hide untrusted notes": "Hide untrusted notes", + "Open in another client": "Open in another client", + Community: "Community", + Group: "Group", + "Live event": "Live event", + Article: "Article", + Unfavorite: "Unfavorite", + "Recommended relays": "Recommended relays", + "Show recommended relays panel": "Show recommended relays panel", + "Display the right-side panel with recommended relays on desktop": "Display the right-side panel with recommended relays on desktop", + "Blossom server URLs": "Blossom server URLs", + "You need to add at least one blossom server in order to upload media files.": "You need to add at least one blossom server in order to upload media files.", + "Recommended blossom servers": "Recommended blossom servers", + "Enter Blossom server URL": "Enter Blossom server URL", + Preferred: "Preferred", + "Multiple choice (select one or more)": "Multiple choice (select one or more)", + Vote: "Vote", + "{{number}} votes": "{{number}} votes", + "Total votes": "Total votes", + "Poll has ended": "Poll has ended", + "Poll ends at {{time}}": "Poll ends at {{time}}", + "Load results": "Load results", + "This is a poll note.": "This is a poll note.", + "Unlike regular notes, polls are not widely supported and may not display on other clients.": "Unlike regular notes, polls are not widely supported and may not display on other clients.", + "Option {{number}}": "Option {{number}}", + "Add Option": "Add Option", + "Remove option": "Remove option", + "Close highlight editor": "Close highlight editor", + "Allow multiple choices": "Allow multiple choices", + "End Date (optional)": "End Date (optional)", + "Clear end date": "Clear end date", + "Relay URLs (optional, comma-separated)": "Relay URLs (optional, comma-separated)", + "Remove poll": "Remove poll", + "Refresh results": "Refresh results", + "{{votes}} · {{pct}}%": "{{votes}} · {{pct}}%", + "See results": "See results", + "Zap poll (paid votes)": "Zap poll (paid votes)", + "Invalid zap poll": "Invalid zap poll", + "You voted on this poll (zap receipt)": "You voted on this poll (zap receipt)", + "Poll closed {{time}}": "Poll closed {{time}}", + "Closes {{time}}": "Closes {{time}}", + "Vote size": "Vote size", + "{{n}} sats (fixed)": "{{n}} sats (fixed)", + "{{min}}–{{max}} sats": "{{min}}–{{max}} sats", + "≥ {{n}} sats": "≥ {{n}} sats", + "≤ {{n}} sats": "≤ {{n}} sats", + "Loading tally…": "Loading tally…", + "Zap poll no votes yet": "No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).", + "Consensus threshold": "Consensus threshold", + "Pay to": "Pay to", + Recipient: "Recipient", + Option: "Option", + "Select option": "Select option", + "Select an option": "Select an option", + "Vote with zap": "Vote with zap", + "Zap sent": "Zap sent", + "Zapping…": "Zapping…", + "Refresh tally": "Refresh tally", + "{{n}} zaps": "{{n}} zaps", + Poll: "Poll", + Media: "Media", + "Articles and Publications": "Articles and Publications", + "Search articles...": "Search articles...", + "Refreshing articles...": "Refreshing articles...", + "No articles or publications found": "No articles or publications found", + "No articles or publications match your search": "No articles or publications match your search", + "articles and publications": "articles and publications", + Interests: "Interests", + Favorites: "Favorites", + Calendar: "Calendar", + "No subscribed interests yet.": "No subscribed interests yet. Add topics in settings to see them here.", + "No bookmarked notes with id tags yet.": "No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.", + "No follows or relays to load yet.": "No follows or relays to load yet.", + "No favorites yet.": "No favorites yet. Add follows, follow sets, interests, or bookmarks.", + "Added from interests": "Added from interests", + "Added from bookmarks list": "Added from bookmarks list", + "Added from your web bookmarks": "Added from your web bookmarks", + "Added from follows and contact lists": "Added from follows and contact lists", + "Added from follows web bookmarks": "Added from follows web bookmarks", + "Nothing to load for this feed.": "Nothing to load for this feed.", + "No posts loaded for this feed. Try refreshing.": "No posts loaded for this feed. Try refreshing.", + "Looking for more events…": "Looking for more events…", + "Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.": "Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.", + "Per-relay timeline results ({{count}} connections)": "Per-relay timeline results ({{count}} connections)", + "Republish to ...": "Republish to ...", + "All available relays": "All available relays", + "All active relays (monitoring list)": "All active relays (monitoring list)", + "Successfully republish to all available relays": "Successfully republish to all available relays", + "Failed to republish to all available relays: {{error}}": "Failed to republish to all available relays: {{error}}", + "Successfully republish to all active relays": "Successfully republish to all active relays", + "Failed to republish to all active relays: {{error}}": "Failed to republish to all active relays: {{error}}", + "No active relays in monitoring list": "No active relays in monitoring list", + "No relay accepted the event": "No relay accepted the event", + "No relays available": "No relays available", + "No write relays configured": "No write relays configured", + "Relay did not accept the event": "Relay did not accept the event", + "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".": "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".", + "Successfully republish to your write relays": "Successfully republish to your write relays", + "Failed to republish to your write relays: {{error}}": "Failed to republish to your write relays: {{error}}", + "Successfully republish to relay set: {{name}}": "Successfully republish to relay set: {{name}}", + "Failed to republish to relay set: {{name}}. Error: {{error}}": "Failed to republish to relay set: {{name}}. Error: {{error}}", + "Successfully republish to relay: {{url}}": "Successfully republish to relay: {{url}}", + "Failed to republish to relay: {{url}}. Error: {{error}}": "Failed to republish to relay: {{url}}. Error: {{error}}", + "Write relays": "Write relays", + "No more reactions": "No more reactions", + "No reactions yet": "No reactions yet", + "No more zaps": "No more zaps", + "No zaps yet": "No zaps yet", + "No more boosts": "No more boosts", + "No boosts yet": "No boosts yet", + "n more boosts": "{{count}} more boosts", + FollowListNotFoundConfirmation: "Follow list not found. Do you want to create a new one? If you have followed users before, please DO NOT confirm as this operation will cause you to lose your previous follow list.", + MuteListNotFoundConfirmation: "Mute list not found. Do you want to create a new one? If you have muted users before, please DO NOT confirm as this operation will cause you to lose your previous mute list.", + "Show NSFW content by default": "Show NSFW content by default", + "Custom emoji management": "Custom emoji management", + "After changing emojis, you may need to refresh the page": "After changing emojis, you may need to refresh the page", + "Too many read relays": "Too many read relays", + "Too many write relays": "Too many write relays", + "You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.": "You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.", + "You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.": "You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.", + "Optimize Relay Settings": "Optimize Relay Settings", + "Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.": "Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.", + "Optimize Now": "Optimize Now", + "Maybe Later": "Maybe Later", "Don't remind me again": "Don't remind me again", - Posts: 'Posts', - 'Posts (OPs)': 'Posts (OPs)', - 'Kind 1 replies': 'Kind 1 replies', - Comments: 'Comments', - 'Replies & comments': 'Replies & comments', - Articles: 'Articles', - Highlights: 'Highlights', - 'A note from': 'A note from', - Polls: 'Polls', - 'Zap polls': 'Zap polls', - 'Voice Posts': 'Voice Posts', - 'Photo Posts': 'Photo Posts', - 'Video Posts': 'Video Posts', - 'Git repositories': 'Git repositories', - 'Git issues': 'Git issues', - 'Git releases': 'Git releases', - 'Git Republic repository': 'Git Republic repository', - 'Git Republic issue': 'Git Republic issue', - 'Git Republic release': 'Git Republic release', - 'Git Republic event': 'Git Republic event', - 'Git Republic': 'Git Republic', - 'Open in Git Republic': 'Open in Git Republic', - 'Pre-release': 'Pre-release', - Draft: 'Draft', - 'Repository release': 'Repository release', - 'New Repository Release': 'New Repository Release', - 'Release notes use the editor below (optional).': - 'Release notes use the editor below (optional).', - 'Repository owner (npub or hex)': 'Repository owner (npub or hex)', - 'Repository id (d-tag)': 'Repository id (d-tag)', - 'Git tag name': 'Git tag name', - 'Tag target (40-char commit hash)': 'Tag target (40-character commit hash)', - '40-character hex SHA-1': '40-character hex SHA-1', - 'Release title': 'Release title', - 'Download URL': 'Download URL', - 'Draft release': 'Draft release', - 'Fill repository release fields': 'Fill in all required repository release fields.', - 'Invalid repository owner pubkey': 'Invalid repository owner (use npub or 64-char hex).', - 'Citations require private relays (NIP-65).': - 'Citations require private outbox relays (NIP-65).', - 'Select All': 'Select All', - 'Clear All': 'Clear All', - 'Set as default filter': 'Set as default filter', - 'Use filter': 'Use filter', - 'See all events': 'See all events', - 'See all events hint': - 'Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.', - 'Use filter hint': 'Only the kinds you select below are requested and shown.', - 'Advanced event lab': 'Advanced editor', - 'Advanced lab applyError': 'Editor is not ready. Try again.', - 'Advanced lab cancel undo': 'Cancel and Undo Changes', - 'Advanced lab undo checkpoint': 'Restore checkpoint', - 'Advanced lab undo checkpoint hint': - 'About every 30 seconds this tab saves the editor (kind, body, tags) in session storage, up to 10 versions. Use this after a translation or bulk edit you want to roll back.', - 'Advanced lab undo checkpoint none': 'No older checkpoint to restore.', - 'Advanced lab undo checkpoint restored': 'Editor restored to a saved checkpoint.', - 'Advanced lab markup label markdown': 'Markdown', - 'Advanced lab markup label asciidoc': 'AsciiDoc', - 'Advanced lab preview': 'Preview', - 'Advanced lab preview empty': 'Nothing to preview yet.', - 'Advanced lab markup placeholder markdown': 'Note body (Markdown)', - 'Advanced lab markup placeholder asciidoc': 'Note body (AsciiDoc)', - 'Advanced lab tags JSON': 'Kind, content, and tags (JSON)', - 'Advanced lab json placeholder': '{ "kind": 1, "content": "…", "tags": [] }', - 'Advanced lab grammar language': 'Grammar check language', - 'Advanced lab translate': 'Translate body', - 'Advanced lab translation source': 'Source language', - 'Advanced lab translation source auto': 'Detect automatically', - 'Advanced lab translation target': 'Target language', - 'Advanced lab translation languages loading': 'Loading languages from translate service…', - 'Advanced lab translation languages empty': 'Translate service returned no languages (check Docker / LibreTranslate).', - 'Advanced lab translation languages error': 'Could not load languages from the translate service.', - 'Advanced lab translation same source target': 'Source and target language must differ.', - 'Show original text': 'Show original text', - 'Showing original note text': 'Showing original text for this note.', - 'Translate note': 'Translate note', - 'Translating note…': 'Translating note…', - 'Note translated': 'Translated to {{language}}.', - 'Note translation failed': 'Translation failed: {{message}}', - 'Read-aloud Piper English voice fallback title': 'English voice in use', - 'Read-aloud Piper English voice fallback detail': - 'Piper has no voice model for {{language}}. This session uses the English Piper voice instead; pronunciation may not match the written text.', - 'Advanced lab translate not configured': 'Translation URL is not set (VITE_TRANSLATE_URL).', - 'Advanced lab translate done': 'Translation inserted into the editor.', - 'Advanced lab use translation read aloud': 'Use body for read-aloud (this note)', - 'Advanced lab read aloud buffer set': - 'The next read-aloud for this note will use the current body text (translated if you translated first).', - 'Composer JSON tab hint': - 'Edit the draft as JSON (`kind`, `content`, `tags` only). `kind` must match the note type selected above. Other fields are set when you publish.', - 'Composer JSON apply': 'Apply JSON', - composerJsonKindMismatch: - 'JSON kind {{got}} does not match the composer (expected {{expected}}). Change the note type or fix `kind` in JSON.', - composerJsonApplySuccess: 'Draft updated from JSON.', - 'Advanced lab tb markup tools': 'Markup helpers', - 'Advanced lab tb headings': 'Headings', - 'Advanced lab tb headings hint': 'Inserts at the cursor; adjust spacing if needed.', - 'Advanced lab tb heading placeholder': 'Title', - 'Advanced lab tb h1': 'Heading 1 (#)', - 'Advanced lab tb h2': 'Heading 2 (##)', - 'Advanced lab tb h3': 'Heading 3 (###)', - 'Advanced lab tb h4': 'Heading 4 (####)', - 'Advanced lab tb h5': 'Heading 5 (#####)', - 'Advanced lab tb h6': 'Heading 6 (######)', - 'Advanced lab tb setextH1': 'Setext heading 1 (title + ===)', - 'Advanced lab tb setextH2': 'Setext heading 2 (title + ---)', - 'Advanced lab tb horizontalRule': 'Horizontal rule (---)', - 'Advanced lab tb horizontalRules': 'Horizontal rules', - 'Advanced lab tb hrDashes': 'Dashes (---)', - 'Advanced lab tb hrAsterisks': 'Asterisks (***)', - 'Advanced lab tb hrUnderscores': 'Underscores (___)', - 'Advanced lab tb inline': 'Inline', - 'Advanced lab tb bold': 'Bold (** **)', - 'Advanced lab tb boldUnderscore': 'Bold (__ __)', - 'Advanced lab tb italic': 'Italic (* *)', - 'Advanced lab tb italicUnderscore': 'Italic (_ _)', - 'Advanced lab tb strike': 'Strikethrough (~~ ~~)', - 'Advanced lab tb inlineCode': 'Inline code (` `)', - 'Advanced lab tb link': 'Link [text](url)', - 'Advanced lab tb linkTitled': 'Link with title [text](url "title")', - 'Advanced lab tb image': 'Image ![alt](url)', - 'Advanced lab tb imageTitled': 'Image with title ![alt](url "title")', - 'Advanced lab tb hardBreak': 'Hard line break (two spaces + newline)', - 'Advanced lab tb citations': 'Citations (NIP-32)', - 'Advanced lab tb citationsHint': 'Kinds 30–33. Inserts `[[citation::type::nevent…]]` (Markdown & AsciiDoc).', - 'Advanced lab citation dialog title': 'Insert citation', - 'Advanced lab citation dialog hint': - 'Search for NIP-32 citation events (internal, external, hardcopy, prompt), then pick one.', - 'Advanced lab citation search placeholder': 'Search kinds 30–33…', - 'Advanced lab citation none': 'No citation events found', - 'Advanced lab citation kindLabel': 'Kind {{kind}}', - 'Advanced lab citation type inline': 'Inline citation', - 'Advanced lab citation type quote': 'Block quote citation', - 'Advanced lab citation type end': 'Endnote citation', - 'Advanced lab citation type foot': 'Footnote call', - 'Advanced lab citation type footEnd': 'Footnote + end', - 'Advanced lab citation type promptInline': 'Prompt (inline)', - 'Advanced lab citation type promptEnd': 'Prompt (end)', - 'Advanced lab tb lists': 'Lists', - 'Advanced lab tb bulletList': 'Bullet list (-)', - 'Advanced lab tb bulletListStar': 'Bullet list (*)', - 'Advanced lab tb orderedList': 'Numbered list (1.)', - 'Advanced lab tb orderedListStart': 'Numbered list (custom start, e.g. 4.)', - 'Advanced lab tb taskItem': 'Task item (- [ ])', - 'Advanced lab tb blocks': 'Blocks', - 'Advanced lab tb blockquote': 'Blockquote (>)', - 'Advanced lab tb pipeTable': 'Pipe table (3×2 starter)', - 'Advanced lab tb footnoteRef': 'Footnote reference [^1]', - 'Advanced lab tb footnoteDef': 'Footnote definition [^1]: …', - 'Advanced lab tb codeBlock': 'Code block', - 'Advanced lab tb codeBlockHint': 'Pick a language for syntax highlighting in fenced code.', - 'Advanced lab tb filterLanguages': 'Filter languages…', - 'Advanced lab tb math': 'Math (KaTeX)', - 'Advanced lab tb mathIntro': 'Many readers render $…$ / $$…$$ with KaTeX; check your client.', - 'Advanced lab tb mathInline': 'Inline math ($…$)', - 'Advanced lab tb mathDisplay': 'Display math ($$…$$)', - 'Advanced lab tb mathCommon': 'Common formulas', - 'Advanced lab tb katexFrac': 'Fraction \\frac{a}{b}', - 'Advanced lab tb katexSqrt': 'Square root \\sqrt{x}', - 'Advanced lab tb katexSum': 'Sum \\sum_{i=1}^{n}', - 'Advanced lab tb katexInt': 'Integral \\int_a^b', - 'Advanced lab tb katexMatrix': '2×2 matrix (pmatrix)', - 'Advanced lab tb katexCases': 'Cases (piecewise)', - 'Advanced lab tb mathGreek': 'Greek & symbols', - 'Advanced lab tb greekAlpha': 'alpha', - 'Advanced lab tb greekBeta': 'beta', - 'Advanced lab tb greekGamma': 'gamma', - 'Advanced lab tb greekDelta': 'delta', - 'Advanced lab tb greekPi': 'pi', - 'Advanced lab tb greekTheta': 'theta', - 'Advanced lab tb greekLambda': 'lambda', - 'Advanced lab tb greekSigma': 'sigma', - 'Advanced lab tb greekOmega': 'omega', - 'Advanced lab tb greekInfty': 'infinity', - 'Advanced lab tb hrTitle': 'Horizontal rule', - 'Advanced lab tb adocTitles': 'Titles', - 'Advanced lab tb adocTitlesHint': - 'Document header: no empty lines inside the header; the first blank line ends it (https://docs.asciidoctor.org/asciidoc/latest/document/header/).', - 'Advanced lab tb documentTitle': 'Document title', - 'Advanced lab tb sectionTitle': 'Section title', - 'Advanced lab tb adocLevel0': 'Document title (=)', - 'Advanced lab tb adocLevel0WithHeader': 'Minimal header (title, author, revision, description, keywords, first section)', - 'Advanced lab tb adocHeaderAuthorLine': 'Author Name ', - 'Advanced lab tb adocHeaderRevisionLine': '1.0, 2026-04-15: Draft revision', - 'Advanced lab tb adocHeaderAttrsBlock': - ':description: Short document summary for metadata\n:keywords: keyword-one, keyword-two, keyword-three', - 'Advanced lab tb adocSection1': 'Section (==)', - 'Advanced lab tb adocSection2': 'Subsection (===)', - 'Advanced lab tb adocSection3': 'Subsubsection (====)', - 'Advanced lab tb adocSection4': 'Level 5 (=====)', - 'Advanced lab tb adocSection5': 'Level 6 (======)', - 'Advanced lab tb adocBold': 'Bold (*bold*)', - 'Advanced lab tb adocItalic': 'Italic (_italic_)', - 'Advanced lab tb adocMono': 'Monospace (`mono`)', - 'Advanced lab tb adocLink': 'Link (link:url[text])', - 'Advanced lab tb adocImage': 'Image (image::url[alt])', - 'Advanced lab tb adocUnordered': 'Unordered (* item)', - 'Advanced lab tb adocOrdered': 'Ordered (. item)', - 'Advanced lab tb adocLabeled': 'Labeled list (term:: def)', - 'Advanced lab tb adocBlocks': 'Blocks', - 'Advanced lab tb adocQuote': 'Quote block (____)', - 'Advanced lab tb adocLiteral': 'Literal block (....)', - 'Advanced lab tb adocNote': 'NOTE admonition', - 'Advanced lab tb adocTip': 'TIP admonition', - 'Advanced lab tb adocWarning': 'WARNING admonition', - 'Advanced lab tb adocSource': 'Source / listing', - 'Advanced lab tb adocSourceHint': 'Inserts a [source,lang] block; replace the sample code.', - 'Advanced lab tb adocStem': 'STEM / LaTeX', - 'Advanced lab tb adocStemHint': - 'Imwald runs Asciidoctor with stem: latexmath; math becomes \\(...\\) / \\[...\\] and is drawn with KaTeX (not MathJax).', - 'Advanced lab tb adocStemInline': 'Inline stem:[…]', - 'Advanced lab tb adocLatexmathInline': 'Inline latexmath:[…]', - 'Advanced lab tb adocStemBlock': 'Display math ([stem] +++ … +++++)', - 'Advanced lab tb adocLineBreak': 'Hard line break (space + at line end)', - 'Advanced lab tb adocSubscript': 'Subscript (~text~)', - 'Advanced lab tb adocSuperscript': 'Superscript (^text^)', - 'Advanced lab tb adocPassthrough': 'Inline passthrough (+++ … +++)', - 'Advanced lab tb adocFootnote': 'Footnote (footnote:[…])', - 'Advanced lab tb adocImportant': 'IMPORTANT admonition', - 'Advanced lab tb adocCaution': 'CAUTION admonition', - 'Advanced lab tb adocExampleBlock': 'Example block ([example])', - 'Advanced lab tb adocSidebar': 'Sidebar (**** … ****)', - 'Advanced lab tb adocListing': 'Listing block ([listing] + ----)', - 'Advanced lab tb adocOpenBlock': 'Open block (-- … --)', - 'Advanced lab tb adocStructure': 'Structure & media', - 'Advanced lab tb adocStructureHint': - 'Tables, IDs/anchors ([#id] before a block—avoids [[wikilink]] syntax), cross-refs, media (Asciidoctor block macros).', - 'Advanced lab tb adocTable': 'Table (|=== …)', - 'Advanced lab tb adocAnchor': 'Block or section ID ([#id])', - 'Advanced lab tb adocXref': 'Cross reference (<>)', - 'Advanced lab tb adocVideo': 'Video (video::url[])', - 'Advanced lab tb adocAudio': 'Audio (audio::url[])', - 'Advanced lab tb adocOrderedStart': 'Ordered list with [start=n]', - 'Advanced lab tb adocComment': 'Line comment (//)', - 'Advanced lab tb adockbd': 'Keyboard (kbd:[…])', - 'Advanced lab tb adocMenu': 'Menu path (menu:…)', - 'Advanced lab tb adocBtn': 'Button (btn:[…])', - 'Advanced lab tb adocHrTitle': 'Thematic break (\'\'\')', - Apply: 'Apply', - Reset: 'Reset', - 'Share something on this Relay': 'Share something on this Relay', - 'Try deleting this note': 'Try deleting this note', - 'Deletion request sent to {{count}} relays': 'Deletion request sent to {{count}} relays', - 'Suitable Relays': 'Suitable Relays', - 'People, keywords, or relays': 'People, keywords, or relays', - 'Hide content mentioning muted users': 'Hide content mentioning muted users', - 'This note mentions a user you muted': 'This note mentions a user you muted', - Filter: 'Filter', - 'Feed filter': 'Feed filter', - 'Search loaded posts': 'Search loaded posts', - 'Filter loaded posts placeholder': 'Filter by text in content or tags…', - 'Feed filter author': 'Author', - 'Feed filter author everyone': 'From everyone', - 'Feed filter author me': 'Only from me', - 'Feed filter author npub': 'From user (npub or hex)', - 'Feed filter author npub from prefix': 'from:', - 'Feed filter author npub placeholder': 'npub1… or 64-char hex', - 'Feed filter author me needs login': 'Log in to filter by your pubkey', - 'Within the last': 'Within the last', - 'Time unit': 'Time unit', - Minutes: 'Minutes', - Days: 'Days', - Weeks: 'Weeks', - Months: 'Months', - Years: 'Years', - 'Feed filter client-side hint': - 'Filters only apply to posts already loaded; relays are not queried again.', - 'Feed full search': 'Perform full search', - 'Feed full search running': 'Searching…', - 'Feed full search clear': 'Clear', - 'Feed full search active hint': - 'Showing relay search results. Clear to return to the live feed.', - 'Feed full search need constraint': - 'Add search text, an author filter, or a time range before searching relays.', - 'Feed full search invalid feed': 'This feed cannot run a relay search.', - 'Feed full search failed': 'Relay search failed. Try again.', - 'Feed full search empty': 'No matching posts were found on the queried relays.', - 'No loaded posts match your filters.': 'No loaded posts match your filters.', - 'mentioned you in a note': 'mentioned you in a note', - 'quoted your note': 'quoted your note', - 'quoted this note': 'Quoted this note', - 'highlighted this note': 'Highlighted this note', - 'cited in article': 'Cited in article', - 'Thread backlinks heading': 'Also quoting this note', - 'Thread backlinks primary section': 'Quotes, highlights & citations', - 'Thread backlinks bookmarks section': 'Bookmarks', - 'Thread backlinks lists section': 'Lists & collections', - 'View full note and thread': 'View full note and thread', - 'labeled this note': 'Labeled this note', - 'reported this note': 'Reported this note', - 'bookmarked this note': 'Bookmarked this note', - 'pinned this note': 'Pinned this note', - 'listed this note': 'Listed this note', - 'bookmark set reference': 'Bookmark set includes this note', - 'curated this note': 'Curated this note', - 'badge award for this note': 'Badge award for this note', - 'referenced this note': 'Referenced this note', - 'Report events heading': 'Moderation reports', - 'voted in your poll': 'voted in your poll', - 'reacted to your note': 'reacted to your note', - 'boosted your note': 'boosted your note', - 'zapped your note': 'zapped your note', - 'zapped you': 'zapped you', - zapped: 'zapped', - 'Invalid zap receipt': 'Invalid zap receipt', - 'Zapped note': 'Zapped note', - 'Zapped profile': 'Zapped profile', - 'Zap reply threshold': 'Zap reply threshold', - 'Zaps above this amount will appear as replies in threads': - 'Only zap receipts (kind 9735) with at least this many sats are shown in home and relay feeds (with “Zaps” enabled in the kind filter) and listed under notes as zap replies.', - 'Mark as read': 'Mark as read', - Report: 'Report', - 'Successfully report': 'Successfully reported', - 'Failed to report': 'Failed to report', - nudity: 'Nudity', - malware: 'Malware', - profanity: 'Profanity', - illegal: 'Illegal content', - spam: 'Spam', - other: 'Other', - 'Notification list style': 'Notification list style', - 'See extra info for each notification': 'See extra info for each notification', - 'See more notifications at a glance': 'See more notifications at a glance', - Detailed: 'Detailed', - 'Submit Relay': 'Submit Relay', - Homepage: 'Homepage', - 'Proof of Work (difficulty {{minPow}})': 'Proof of Work (difficulty {{minPow}})', - 'via {{client}}': 'via {{client}}', - 'Auto-load media': 'Auto-load media', - Always: 'Always', - 'Wi-Fi only': 'Wi-Fi only', - Never: 'Never', - 'Click to load image': 'Click to load image', - 'Click to load media': 'Click to load media', - 'Click to load YouTube video': 'Click to load YouTube video', - '{{count}} reviews': '{{count}} reviews', - 'Write a review': 'Write a review', - 'No reviews yet. Be the first to write one!': 'No reviews yet. Be the first to write one!', - 'View more reviews': 'View more reviews', - 'Failed to review': 'Failed to review', - 'Write a review and pick a star rating': 'Write a review and pick a star rating', - Submit: 'Submit', - 'Reviews for {{relay}}': 'Reviews for {{relay}}', - 'No relays selected': 'No relays selected', - 'Post to': 'Post to', - 'Write relays and {{count}} other relays': 'Write relays and {{count}} other relays', - '{{count}} relays': '{{count}} relays', - 'Republishing...': 'Republishing...', - 'Trending Notes': 'Trending Notes', - 'Trending on Your Favorite Relays': 'Trending on Your Favorite Relays', - 'Trending on the Default Relays': 'Trending on the Default Relays', - 'Latest from your follows': 'Latest from your follows', - 'Latest from our recommended follows': 'Latest from our recommended follows', - 'Search page title': 'Search Nostr', - 'Follows latest page title': 'Latest from follows', - 'Follows latest page description': - 'Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.', - 'Follows latest nav label': 'Follows latest', - 'Loading follow list…': 'Loading follow list…', - 'Could not load recommended follows': 'Could not load recommended follows', - 'Your follow list is empty': 'Your follow list is empty', - 'Loading recent posts from follows…': 'Loading recent posts from follows…', - 'Loading more…': 'Loading more…', - 'No recent posts from this user in the current fetch': - 'No recent posts from this user in the current fetch', - 'Loading trending notes from your relays...': 'Loading trending notes from your relays...', - 'Trending on Nostr': 'Trending on Nostr', - 'Home trending slice notice': - 'This feed includes a trending slice (nostrarchives). Notes that reached you from that relay show “Trending on Nostr” under the card.', - Sort: 'Sort', - newest: 'newest', - oldest: 'oldest', - 'most popular': 'most popular', - 'least popular': 'least popular', - 'Connected to': 'Connected to', - 'Disconnect Wallet': 'Disconnect Wallet', - 'Are you absolutely sure?': 'Are you absolutely sure?', - 'You will not be able to send zaps to others.': 'You will not be able to send zaps to others.', - Disconnect: 'Disconnect', - 'Set up your wallet to send and receive sats!': 'Set up your wallet to send and receive sats!', - 'Set up': 'Set up', - 'nested events': 'nested events', - 'Loading RSS feeds...': 'Loading RSS feeds...', - 'No RSS feed items available': 'No RSS feed items available', - 'Show or hide the RSS page and sidebar entry': 'Show or hide the RSS page and sidebar entry', - 'Refreshing feeds...': 'Refreshing feeds...', - 'All feeds': 'All feeds', - 'All time': 'All time', - 'Last hour': 'Last hour', - 'Last day': 'Last day', - 'Last week': 'Last week', - 'Last month': 'Last month', - 'Last 24 hours': 'Last 24 hours', - 'Last 48 hours': 'Last 48 hours', - 'Time range': 'Time range', - 'Filter by RSS source': 'Filter by RSS source', - 'No items match your filters': 'No items match your filters', - 'Search...': 'Search...', - '{{count}} feeds': '{{count}} feeds', - 'Toggle filters': 'Toggle filters', - 'Showing {{filtered}} of {{total}} items': 'Showing {{filtered}} of {{total}} items', - Full: 'Full', - Compact: 'Compact', - Expand: 'Expand', - 'help.title': 'Help', - 'help.tabShortcuts': 'Keyboard shortcuts', - 'help.tabOverview': 'App overview', - 'shortcuts.title': 'Keyboard shortcuts', - 'shortcuts.intro': - 'Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.', - 'shortcuts.sectionApp': 'This app', - 'shortcuts.sectionSearch': 'Search bar', - 'shortcuts.sectionStandard': 'Standard', - 'shortcuts.openHelp': 'Show this help', - 'shortcuts.or': 'or', - 'shortcuts.then': 'then', - 'shortcuts.focusPrimary': - 'Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)', - 'shortcuts.focusSecondary': - 'Focus side panel scroll when it is open (desktop; same keys to scroll)', - 'shortcuts.newNote': 'New note / post (after login if needed)', - 'shortcuts.searchSuggest': 'Move through suggestions', - 'shortcuts.searchDismiss': 'Close search dropdown', - 'shortcuts.tabNavigate': 'Move focus to the next or previous control', - 'shortcuts.activate': 'Activate buttons and many controls', - 'shortcuts.closeOverlays': 'Close dialogs, menus, and the search dropdown', - 'shortcuts.scrollWhenFocused': 'Scroll the focused scrollable area', - 'shortcuts.browserBack': 'Browser back (history)', - 'No spells yet. Create one with the button above.': - 'No spells yet. Create one with the button above.', - 'Loading spells from your relays…': 'Loading spells from your relays…', - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.': - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.', - 'Select a spell…': 'Select a spell…', - 'Spells from follows': 'From people you follow ({{count}})', - 'Other spells': 'Other spells ({{count}})', - 'Select a spell to view its feed.': 'Select a spell to view its feed.', - 'Add another row': 'Add another row', - 'Remove this row': 'Remove this row', - 'One kind number per row (e.g. 1 for notes).': 'One kind number per row (e.g. 1 for notes).', - 'One author per row: $me, $contacts, or hex pubkey / npub.': - 'One author per row: $me, $contacts, or hex pubkey / npub.', - 'One hex event id per row.': 'One hex event id per row.', - 'One wss:// URL per row. Leave empty to use your write relays.': - 'One wss:// URL per row. Leave empty to use your write relays.', - 'One topic per row.': 'One topic per row.', - topic: 'topic', - 'Spell form fields': 'Spell form fields', - 'Counting matching events…': 'Counting matching events…', - 'Edit spell': 'Edit spell', - 'Clone spell': 'Clone spell', - 'Spell cloned': 'Spell cloned', - 'Clone spell intro': - 'This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.', - 'Spell updated': 'Spell updated', - 'Relay URL': 'Relay', - Count: 'Count', - 'Edit spell relays': 'Edit relays', - 'COUNT spell relay errors hint': - 'One or more relays failed or returned an error. You can change the relay list in the spell and save again.', - 'COUNT spell total distinct explanation': - 'Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.', - 'Leave empty to use your write relays.': 'Leave empty to use your write relays.', - 'COUNT spell result explanation': - 'Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.', - 'COUNT spell may be capped by limit': - 'This count may equal your spell limit — there could be more matching events on the network.', - 'Spell count failed. Check relays or try again.': - 'Could not complete the count. Check relays or try again.', - 'REQ returns a feed; COUNT returns a number.': - 'REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.', - listImportManualLabel: 'Pre-fill from event', - listImportFromEventHint: - 'Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.', - listImportManualPlaceholder: '64-char hex, nevent1…, or naddr1…', - listImportLoadManual: 'Apply', - listImportContentSkipped: - 'This event has non-empty content (may include encrypted private items). Only public tags were merged.', - listImportUnsupportedEmoji: - 'This list includes emoji tags (NIP-30); those are not added to the spell filter.', - listImportUnsupportedTag: - 'Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.', - listImportBadATag: 'Could not parse address tag: {{preview}}…', - listImportATagNotFound: 'Could not resolve address tag: {{preview}}…', - listImportATagFailed: 'Failed to resolve address tag: {{preview}}…', - listImportEventNotFound: 'No event found for that reference.', - 'REQ tag filters': 'REQ tag filters', - spellFormTagFiltersLabel: 'Tag filters on matching events', - spellCreateIntro: - 'Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.', - spellFormSectionQueryTitle: 'Spell query', - spellFormSectionQueryHint: - 'This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).', - spellFormSectionMetadataTitle: 'Listing & labels (optional)', - spellFormSectionMetadataBadge: 'Not part of the query', - spellFormSectionMetadataHint: - 'Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.', - spellFormCatalogTopicsLabel: 'Topic labels on this spell (t tags)', - spellTopicsMetadataHint: - 'One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).', - spellTagFiltersHint: - 'Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.', - spellTagFiltersEmpty: 'No tag filters yet. Add rows below or apply an event reference above.', - 'Tag filter letter': 'Tag letter', - 'Filter value': 'Value', - 'Add tag filter': 'Add tag filter', - spellPickerSectionYours: 'Your spells', - 'Failed to remove spell from local storage': 'Failed to remove spell from local storage', - Spells: 'Spells', - 'doublePane.secondaryEmpty': 'Open a note, profile, or settings item to show it here.', - 'doublePane.secondaryEmptyHint': 'Your feed and primary pages stay on the left.', - '(empty)': '—', - '12-hour (AM/PM)': '12-hour (AM/PM)', - '24-hour': '24-hour', - 'A new version is available': 'A new version is available', - 'A short description of the article content': 'A short description of the article content', - AM: 'AM', - 'Access via': 'Access via', - 'Accessed On': 'Accessed on', - 'Accessed on': 'Accessed on', - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.': - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.', - 'Add a relay to block': 'Add a relay to block', - 'Add at least one invitee': 'Add at least one invitee', - 'Add client identifier': 'Add client identifier', - 'Add expiration tags by default': 'Add expiration tags by default', - 'Add quiet tags by default': 'Add quiet tags by default', - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above': - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above', - 'Add the source (where this text is from)': 'Add the source (where this text is from)', - 'Add to favorites': 'Add to favorites', - 'Add {{count}} Selected': 'Add {{count}} Selected', - 'Added at': 'Added at', - 'Added {{count}} relay(s)': 'Added {{count}} relay(s)', - 'Adding...': 'Adding...', - 'Adding…': 'Adding…', - 'Advanced Options': 'Advanced Options', - 'All Topics': 'All Topics', - 'All feeds from OPML file are already added': 'All feeds from OPML file are already added', - 'All items deleted successfully': 'All items deleted successfully', - 'Already blocked': 'Already blocked', - 'Already saved': 'Already saved', - 'Application Recommendations': 'Application Recommendations', - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.': - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.', - 'Are you sure you want to delete all items from this store?': - 'Are you sure you want to delete all items from this store?', - 'Are you sure you want to unmute this user? This will restore the follow button.': - 'Are you sure you want to unmute this user? This will restore the follow button.', - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", - 'Article exported as AsciiDoc': 'Article exported as AsciiDoc', - 'Article exported as Markdown': 'Article exported as Markdown', - 'Article title (optional)': 'Article title (optional)', - articleDTagDefaultHint: - 'Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….', - Audio: 'Audio', - Author: 'Author', - 'Author is required for reading groups': 'Author is required for reading groups', - 'Author name (optional)': 'Author name (optional)', - Authors: 'Authors', - 'Block Relay': 'Block Relay', - 'Blocked Relays': 'Blocked Relays', - 'Blocking...': 'Blocking...', - Blossom: 'Blossom', - Book: 'Book', - 'Brief description of the event': 'Brief description of the event', - 'Brief summary (optional)': 'Brief summary (optional)', - 'Brief summary of the article (optional)': 'Brief summary of the article (optional)', - 'Browse Cache': 'Browse Cache', - 'Search cached events...': 'Search cached events...', - 'No cached events match your search.': 'No cached events match your search.', - 'Showing first {{count}} cached event matches.': 'Showing first {{count}} cached event matches.', - 'Open in store': 'Open in store', - 'Browse cache root description': - 'View IndexedDB stores, or search all cached Nostr-like events (content, tags, id, pubkey, kind) across stores.', - 'Copy event JSON': 'Copy event JSON', - 'C-Tag': 'C-Tag', - 'Cache Relays': 'Cache Relays', - 'Cache cleared successfully': 'Cache cleared successfully', - 'Cache refreshed successfully': 'Cache refreshed successfully', - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.': - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.', - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)': - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)', - 'Cache relays saved': 'Cache relays saved', - Cancelled: 'Cancelled', - Chapter: 'Chapter', - 'Chapter Title': 'Chapter Title', - 'Chapter title (optional)': 'Chapter title (optional)', - Citation: 'Citation', - 'Citation title (optional)': 'Citation title (optional)', - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.': - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})', - 'Cleanup Duplicates': 'Cleanup Duplicates', - Clear: 'Clear', - 'Clear Cache': 'Clear Cache', - 'Clear Service Worker': 'Clear Service Worker', - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.': - 'Clear cached data stored in your browser, including IndexedDB events, read-aloud (Piper) audio cache, localStorage settings, and service worker caches.', - 'Click update to get the latest features and improvements': - 'Click update to get the latest features and improvements', - Close: 'Close', - 'Comma or space-separated topics (will be added as t-tags)': - 'Comma or space-separated topics (will be added as t-tags)', - Command: 'Command', - Configure: 'Configure', - 'Connect Wallet': 'Connect Wallet', - 'Console Logs': 'Console Logs', - 'Console logs cleared': 'Console logs cleared', - 'Content is required': 'Content is required', - 'Content must be 5000 characters or less': 'Content must be 5000 characters or less', - Controversial: 'Controversial', - 'Copied!': 'Copied!', - 'Copy to clipboard': 'Copy to clipboard', - 'Create Article': 'Create Article', - 'Create Citation': 'Create Citation', - 'Create Highlight': 'Create Highlight', - 'Create New Thread': 'Create New Thread', - 'Create Poll': 'Create Poll', - 'Create Thread': 'Create Thread', - composeModeKind1: 'Short note (kind 1) — turn off other compose types', - 'Create a Spell': 'Create a Spell', - 'Creating...': 'Creating...', - 'D-Tag': 'D-Tag', - 'D-Tag is required for articles': 'D-Tag is required for articles', - DOI: 'DOI', - 'Date-based (all-day)': 'Date-based (all-day)', - 'Default expiration (months)': 'Default expiration (months)', - 'Default quiet period (days)': 'Default quiet period (days)', - 'Delete All': 'Delete All', - 'Delete item': 'Delete item', - 'Deleted {{count}} event(s)': 'Deleted {{count}} event(s)', - 'Deletion request sent': 'Deletion request sent', - 'Description (content)': 'Description (content)', - 'Digital Object Identifier (optional)': 'Digital Object Identifier (optional)', - 'Disable word wrap': 'Disable word wrap', - 'Discovered Relays': 'Discovered Relays', - 'Discovering relays...': 'Discovering relays...', - Discussion: 'Discussion', - Discussions: 'Discussions', - Downvote: 'Downvote', - 'Edited by': 'Edited by', - Editor: 'Editor', - 'Editor name (optional)': 'Editor name (optional)', - 'Enable word wrap': 'Enable word wrap', - 'End date': 'End date', - 'End date must be after start date': 'End date must be after start date', - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.': - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.', - 'Enter a descriptive title for your thread': 'Enter a descriptive title for your thread', - 'Enter the author name': 'Enter the author name', - 'Enter the book title': 'Enter the book title', - 'Enter the specific text you want to highlight in the main content area above': - 'Enter the specific text you want to highlight in the main content area above', - 'Event IDs (ids)': 'Event IDs (ids)', - 'Event appears to be invalid or corrupted': 'Event appears to be invalid or corrupted', - 'Event has no value data': 'Event has no value data', - 'Event is missing required fields: {{fields}}': 'Event is missing required fields: {{fields}}', - 'Event type': 'Event type', - 'Expiration Tags': 'Expiration Tags', - 'Export OPML': 'Export OPML', - 'Export as AsciiDoc': 'Export as AsciiDoc', - 'Export as Markdown': 'Export as Markdown', - 'External Citation': 'External Citation', - 'External Citation Settings': 'External Citation Settings', - 'Failed to add relay. Please try again.': 'Failed to add relay. Please try again.', - 'Failed to add relays': 'Failed to add relays', - 'Failed to block relay. Please try again.': 'Failed to block relay. Please try again.', - 'Failed to cleanup duplicates': 'Failed to cleanup duplicates', - 'Failed to clear cache': 'Failed to clear cache', - 'Failed to copy': 'Failed to copy', - 'Failed to create relay set. Please try again.': - 'Failed to create relay set. Please try again.', - 'Failed to create thread': 'Failed to create thread', - 'Failed to create thread. Please try a different relay.': - 'Failed to create thread. Please try a different relay.', - 'Failed to delete all items': 'Failed to delete all items', - 'Failed to delete item': 'Failed to delete item', - 'Failed to discover relays': 'Failed to discover relays', - 'Failed to export OPML file': 'Failed to export OPML file', - 'Failed to export article': 'Failed to export article', - 'Failed to import OPML file: {{error}}': 'Failed to import OPML file: {{error}}', - 'Failed to load RSS feeds': 'Failed to load RSS feeds', - 'Failed to load store items': 'Failed to load store items', - 'Failed to mute user privately': 'Failed to mute user privately', - 'Failed to mute user publicly': 'Failed to mute user publicly', - 'Failed to pin note': 'Failed to pin note', - 'Failed to publish post': 'Failed to publish post', - 'Failed to publish reply': 'Failed to publish reply', - 'Failed to publish reaction': 'Failed to publish reaction', - 'Failed to publish thread': 'Failed to publish thread', - 'Failed to publish to some relays. Please try again or use different relays.': - 'Failed to publish to some relays. Please try again or use different relays.', - 'Failed to save RSS feeds': 'Failed to save RSS feeds', - 'Failed to save cache relays': 'Failed to save cache relays', - 'Failed to save relay list': 'Failed to save relay list', - 'Failed to unregister service worker: ': 'Failed to unregister service worker: ', - 'Failed to unsubscribe from topic': 'Failed to unsubscribe from topic', - Favorite: 'Favorite', - Fetch: 'Fetch', - 'Fetch once, then stop.': 'Fetch once, then stop.', - 'Filter by': 'Filter by', - 'Flat View': 'Flat View', - 'Font size': 'Font size', - 'Full Quote/Context': 'Full Quote/Context', - 'Full-text search query': 'Full-text search query', - Geohash: 'Geohash', - 'Geohash (optional)': 'Geohash (optional)', - 'Global quiet mode': 'Global quiet mode', - 'Group discussions by topic': 'Group discussions by topic', - 'Grouped View': 'Grouped View', - Groups: 'Groups', - 'Handler {{index}}': 'Handler {{index}}', - 'Hardcopy Citation': 'Hardcopy Citation', - 'Hardcopy Citation Settings': 'Hardcopy Citation Settings', - Hide: 'Hide', - 'Hide interactions on all posts': 'Hide interactions on all posts', - 'Hide interactions on posts with quiet tags': 'Hide interactions on posts with quiet tags', - 'High PoW': 'High PoW', - 'Higher values make your thread harder to mine but more unique.': - 'Higher values make your thread harder to mine but more unique.', - Highlight: 'Highlight', - 'Highlight Settings': 'Highlight Settings', - 'How to Create a Highlight (NIP-84)': 'How to Create a Highlight (NIP-84)', - 'Human-readable spell name': 'Human-readable spell name', - 'Image URL': 'Image URL', - 'Import OPML': 'Import OPML', - 'Imported {{count}} feed(s) from OPML file': 'Imported {{count}} feed(s) from OPML file', - 'In-Browser Cache': 'In-Browser Cache', - Insert: 'Insert', - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).': - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).', - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.': - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.', - 'Insert event or address': 'Insert event or address', - 'Insert mention': 'Insert mention', - 'Internal Citation': 'Internal Citation', - 'Internal Citation Settings': 'Internal Citation Settings', - 'Invalid Event': 'Invalid Event', - 'Invalid Lightning Address': 'Invalid Lightning Address', - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.': - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.', - 'Invalid URL': 'Invalid URL', - 'Invalid content JSON': 'Invalid content JSON', - 'Invalid relay URL': 'Invalid relay URL', - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.': - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.', - 'Item deleted successfully': 'Item deleted successfully', - JSON: 'JSON', - 'Join link': 'Join link', - 'Journal/Publication name (optional)': 'Journal/Publication name (optional)', - Json: 'JSON', - Kinds: 'Kinds', - 'Language Model': 'Language Model', - Large: 'Large', - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link': - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link', - 'Lightning payment failed': 'Lightning payment failed', - Limit: 'Limit', - 'Live feed; keeps updating.': 'Live feed; keeps updating.', - 'Loading more...': 'Loading more...', - 'Loading relays...': 'Loading relays...', - 'Location (optional)': 'Location (optional)', - 'Log in to run this spell (it uses $me or $contacts).': - 'Log in to run this spell (it uses $me or $contacts).', - 'Login failed': 'Login failed', - 'nip07.extensionKeyMismatch': - "Your browser extension is using a different key on this tab. Switch to the matching key in the extension, or reload the page to apply your extension's current selection.", - 'nip07.reloadPage': 'Reload page', - 'Login to configure RSS feeds': 'Login to configure RSS feeds', - 'Long-form Article': 'Long-form Article', - 'Mailbox relays saved': 'Mailbox relays saved', - 'Mark as NSFW': 'Mark as NSFW', - 'Maximum {{max}} invitees': 'Maximum {{max}} invitees', - 'Maximum {{max}} invitees allowed': 'Maximum {{max}} invitees allowed', - Medium: 'Medium', - Mode: 'Mode', - 'Most Zapped': 'Most Zapped', - 'Move to top': 'Move to top', - 'Multiple choice': 'Multiple choice', - 'Mute failed': 'Mute failed', - NSFW: 'NSFW', - Name: 'Name', - 'Name of the language model used': 'Name of the language model used', - 'New External Citation': 'New External Citation', - 'New Hardcopy Citation': 'New Hardcopy Citation', - 'New Highlight': 'New Highlight', - 'New Internal Citation': 'New Internal Citation', - 'New Long-form Article': 'New Long-form Article', - 'New Poll': 'New Poll', - 'New Discussion': 'New Discussion', - 'New Prompt Citation': 'New Prompt Citation', - 'New Public Message': 'New Public Message', - 'New Wiki Article': 'New Wiki Article', - 'New Wiki Article (Markdown)': 'New Wiki Article (Markdown)', - Newest: 'Newest', - 'No JSON available': 'No JSON available', - 'No RSS feeds found in OPML file': 'No RSS feeds found in OPML file', - 'No cached data found.': 'No cached data found.', - 'No console logs captured yet': 'No console logs captured yet', - 'No events found': 'No events found', - 'No feeds configured. Default feed will be used.': - 'No feeds configured. Default feed will be used.', - 'No feeds to export': 'No feeds to export', - 'No groups available. Join some groups first.': 'No groups available. Join some groups first.', - 'No items in this store.': 'No items in this store.', - 'No items match your search.': 'No items match your search.', - 'No logs match the current filters': 'No logs match the current filters', - 'No posts found': 'No posts found', - 'No posts match your search': 'No posts match your search', - 'No relays available. Please configure relays in settings.': - 'No relays available. Please configure relays in settings.', - 'No service workers or caches found for this app': - 'No service workers or caches found for this app', - 'No users found': 'No users found', - 'No valid RSS feed URLs found in OPML file': 'No valid RSS feed URLs found in OPML file', - 'Note pinned': 'Note pinned', - 'Note unpinned': 'Note unpinned', - Oldest: 'Oldest', - 'Open Timestamp': 'Open Timestamp', - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.': - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.', - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.': - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.', - Optional: 'Optional', - 'Optional image for the event': 'Optional image for the event', - 'Optionally, add the full quote/context to show your highlight within it': - 'Optionally, add the full quote/context to show your highlight within it', - PM: 'PM', - 'Page Range': 'Page Range', - Pages: 'Pages', - 'Paste URL of a GIF': 'Paste URL of a GIF', - 'Paste URL of a meme image': 'Paste URL of a meme image', - 'Paste the entire original passage that contains your highlight': - 'Paste the entire original passage that contains your highlight', - Photo: 'Photo', - 'Picture Note': 'Picture Note', - 'Pin note': 'Pin note', - 'Plain text description of the query': 'Plain text description of the query', - 'Please login to view bookmarks': 'Please login to view bookmarks', - 'Please login to view favorites': 'Please login to view favorites', - 'Please select a group': 'Please select a group', - 'Please select at least one relay': 'Please select at least one relay', - 'Please set a start date': 'Please set a start date', - 'Poll with no options': 'Poll with no options', - 'Post published to some relays': 'Post published to some relays', - 'Posts will automatically include expiration tags': - 'Posts will automatically include expiration tags', - 'Posts will automatically include quiet tags': 'Posts will automatically include quiet tags', - 'Posts will be quiet for this many days': 'Posts will be quiet for this many days', - 'Posts will expire after this many months': 'Posts will expire after this many months', - 'Processing...': 'Processing...', - 'Profile event not available': 'Profile event not available', - 'Prompt Citation': 'Prompt Citation', - 'Prompt Citation Settings': 'Prompt Citation Settings', - 'Prompt Conversation Script': 'Prompt Conversation Script', - 'Proof of Work': 'Proof of Work', - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post': - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post', - 'Publish to Relays': 'Publish to Relays', - 'Published By': 'Published By', - 'Published In': 'Published In', - 'Published On': 'Published On', - 'Published in': 'Published in', - 'Published on': 'Published on', - 'Publisher name (optional)': 'Publisher name (optional)', - 'Quiet Tags': 'Quiet Tags', - 'RSS Feed': 'RSS Feed', - 'RSS + Web': 'RSS + Web', - 'RSS feed source': 'RSS feed source', - 'All feed sources': 'All feed sources', - 'RSS feed view mode': 'RSS feed view mode', - 'Article URLs': 'Article URLs', - 'Article URLs subtitle': - 'One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.', - 'Article URLs Nostr manual subtitle': - 'Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.', - 'RSS feed column title': 'RSS & linked articles', - 'RSS feed column subtitle': - 'Feed entries and article cards that include at least one item from your subscribed RSS feeds.', - 'RSS timeline': 'RSS timeline', - 'RSS timeline subtitle': - 'Every item from your subscribed feeds, newest first — classic RSS reader.', - URLs: 'URLs', - RSS: 'RSS', - 'No URL-only items yet': 'No URL-only items yet', - 'Respond to this RSS entry': 'Respond to this RSS entry', - 'RSS read-only thread hint': - 'Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.', - 'RSS feed item label': 'RSS', - 'Web URL item label': 'Web URL', - 'URL thread activity': 'URL thread activity', - 'Suppress Clawstr links in RSS previews': 'Hide clawstr.com in RSS and URL feed', - 'Hide local, media & feed URLs from URL cards': - 'Hide local, media, feed, document & XML links from the feed', - 'RSS articles': 'RSS articles', - 'Web comments': 'Web comments', - 'Web highlights': 'Web highlights', - 'In your bookmarks': 'In your bookmarks', - '{{count}} RSS entries for this URL': '{{count}} RSS entries for this URL', - '{{count}} entries for this article URL': '{{count}} entries for this article URL', - 'No comments yet': 'No comments yet', - 'No highlights yet': 'No highlights yet', - 'Showing {{filtered}} of {{total}} entries': 'Showing {{filtered}} of {{total}} entries', - standardRssFeed_spotifeed: 'Spotify playlist (Spotifeed)', - standardRssFeed_youtube: 'YouTube feed', - standardRssFeed_youtubeChannel: 'YouTube channel feed', - standardRssFeed_youtubePlaylist: 'YouTube playlist feed', - standardRssFeed_feedburner: 'FeedBurner', - standardRssFeed_reddit: 'Reddit RSS', - standardRssFeed_substack: 'Substack', - standardRssFeed_medium: 'Medium', - 'RSS Feed Settings': 'RSS Feed Settings', - 'Follow sets': 'Follow sets', - 'Personal Lists': 'Personal Lists', - 'Personal lists hub intro': - 'Open mute list, following, bookmarks list, pinned notes, interest topics (kind 10015), your NIP-30 user emoji list (kind 10030), and emoji set packs (kind 30030) on their own pages. Follow sets are below. Web page bookmarks (NIP-B0, kind 39701) are separate—save from an article’s panel or use the Bookmarks spell for a mixed feed.', - 'Mute list': 'Mute list', - 'Following list': 'Following list', - 'Bookmarks list': 'Bookmarks list', - 'Pinned notes list': 'Pinned notes list', - 'Interests list': 'Interests list', - 'User emoji list': 'User emoji list (kind 10030)', - 'Emoji sets': 'Emoji sets (kind 30030)', - 'User emoji list title': "{{username}}'s emoji list", - 'User emoji list intro': - 'NIP-30: inline custom emoji (`emoji` tags) and references to your kind 30030 packs (`a` tags). Publish when you are done editing.', - 'User emoji list saved': 'Emoji list published', - 'User emoji inline section': 'Inline emoji', - 'User emoji inline empty': 'No inline emoji yet. Add a shortcode and image URL below.', - 'User emoji inline invalid': 'Enter a shortcode and a non-empty image URL.', - 'User emoji sets section': 'Emoji set references', - 'User emoji sets hint': - 'Add a coordinate in the form 30030:<64-hex pubkey>:, usually one of your own emoji sets from the Emoji sets page.', - 'User emoji sets empty': 'No emoji set references yet.', - 'User emoji set ref invalid': 'Invalid coordinate. Use 30030::.', - 'User emoji set ref duplicate': 'That emoji set is already in the list.', - 'Emoji set coordinate': 'Emoji set (a tag)', - 'Publish changes': 'Publish changes', - Shortcode: 'Shortcode', - 'Emoji sets settings intro': - 'NIP-30 emoji packs (kind 30030): each set has a `d` tag and `emoji` entries (shortcode + image URL). Publish from the editor dialog.', - 'New emoji set': 'New emoji set', - 'Edit emoji set': 'Edit emoji set', - 'No emoji sets yet': 'You have not created any emoji sets yet.', - 'Emoji set saved': 'Emoji set saved', - 'Emoji set deleted': 'Emoji set deleted', - 'Failed to load emoji sets': 'Failed to load emoji sets', - 'emoji entries': 'emoji', - 'Emoji set d tag hint': - 'Stable identifier for this pack. It cannot be changed after the first publish.', - 'Emoji pack entries': 'Emoji in this pack', - 'No emoji entries in pack': 'No emoji in this pack yet.', - 'Delete emoji set?': 'Delete this emoji set?', - 'Delete emoji set confirm': - 'This sends a deletion request (kind 5). Relays that accept it will drop the set; others may still show a cached copy.', - 'Interests list section subtitle': - 'Topics you follow for hashtag feeds and the Interests spell. Stored on Nostr as kind 10015 (`t` tags).', - 'Interest topic placeholder': 'topic or #hashtag', - 'Interest list add topic': 'Add topic', - 'Interest topic invalid': 'Enter a valid topic (letters, numbers, hyphens, underscores).', - 'No interest topics in list': 'No subscribed topics yet. Add one above or subscribe from a hashtag page.', + Posts: "Posts", + "Posts (OPs)": "Posts (OPs)", + "Kind 1 replies": "Kind 1 replies", + Comments: "Comments", + "Replies & comments": "Replies & comments", + Articles: "Articles", + Highlights: "Highlights", + "A note from": "A note from", + Polls: "Polls", + "Zap polls": "Zap polls", + "Voice Posts": "Voice Posts", + "Photo Posts": "Photo Posts", + "Video Posts": "Video Posts", + "Git repositories": "Git repositories", + "Git issues": "Git issues", + "Git releases": "Git releases", + "Git Republic repository": "Git Republic repository", + "Git Republic issue": "Git Republic issue", + "Git Republic release": "Git Republic release", + "Git Republic event": "Git Republic event", + "Git Republic": "Git Republic", + "Open in Git Republic": "Open in Git Republic", + "Pre-release": "Pre-release", + Draft: "Draft", + "Repository release": "Repository release", + "New Repository Release": "New Repository Release", + "Release notes use the editor below (optional).": "Release notes use the editor below (optional).", + "Repository owner (npub or hex)": "Repository owner (npub or hex)", + "Repository id (d-tag)": "Repository id (d-tag)", + "Git tag name": "Git tag name", + "Tag target (40-char commit hash)": "Tag target (40-character commit hash)", + "40-character hex SHA-1": "40-character hex SHA-1", + "Release title": "Release title", + "Download URL": "Download URL", + "Draft release": "Draft release", + "Fill repository release fields": "Fill in all required repository release fields.", + "Invalid repository owner pubkey": "Invalid repository owner (use npub or 64-char hex).", + "Citations require private relays (NIP-65).": "Citations require private outbox relays (NIP-65).", + "Select All": "Select All", + "Clear All": "Clear All", + "Set as default filter": "Set as default filter", + "Use filter": "Use filter", + "See all events": "See all events", + "See all events hint": "Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.", + "Use filter hint": "Only the kinds you select below are requested and shown.", + "Advanced event lab": "Advanced editor", + "Advanced lab applyError": "Editor is not ready. Try again.", + "Advanced lab cancel undo": "Cancel and Undo Changes", + "Advanced lab undo checkpoint": "Restore checkpoint", + "Advanced lab undo checkpoint hint": "About every 30 seconds this tab saves the editor (kind, body, tags) in session storage, up to 10 versions. Use this after a translation or bulk edit you want to roll back.", + "Advanced lab undo checkpoint none": "No older checkpoint to restore.", + "Advanced lab undo checkpoint restored": "Editor restored to a saved checkpoint.", + "Advanced lab markup label markdown": "Markdown", + "Advanced lab markup label asciidoc": "AsciiDoc", + "Advanced lab preview": "Preview", + "Advanced lab preview empty": "Nothing to preview yet.", + "Advanced lab markup placeholder markdown": "Note body (Markdown)", + "Advanced lab markup placeholder asciidoc": "Note body (AsciiDoc)", + "Advanced lab tags JSON": "Kind, content, and tags (JSON)", + "Advanced lab json placeholder": "{ \"kind\": 1, \"content\": \"…\", \"tags\": [] }", + "Advanced lab grammar language": "Grammar check language", + "Advanced lab translate": "Translate body", + "Advanced lab translation source": "Source language", + "Advanced lab translation source auto": "Detect automatically", + "Advanced lab translation target": "Target language", + "Advanced lab translation languages loading": "Loading languages from translate service…", + "Advanced lab translation languages empty": "Translate service returned no languages (check Docker / LibreTranslate).", + "Advanced lab translation languages error": "Could not load languages from the translate service.", + "Advanced lab translation same source target": "Source and target language must differ.", + "Show original text": "Show original text", + "Showing original note text": "Showing original text for this note.", + "Translate note": "Translate note", + "Translating note…": "Translating note…", + "Note translated": "Translated to {{language}}.", + "Note translation failed": "Translation failed: {{message}}", + "Read-aloud Piper English voice fallback title": "English voice in use", + "Read-aloud Piper English voice fallback detail": "Piper has no voice model for {{language}}. This session uses the English Piper voice instead; pronunciation may not match the written text.", + "Advanced lab translate not configured": "Translation URL is not set (VITE_TRANSLATE_URL).", + "Advanced lab translate done": "Translation inserted into the editor.", + "Advanced lab use translation read aloud": "Use body for read-aloud (this note)", + "Advanced lab read aloud buffer set": "The next read-aloud for this note will use the current body text (translated if you translated first).", + "Composer JSON tab hint": "Edit the draft as JSON (`kind`, `content`, `tags` only). `kind` must match the note type selected above. Other fields are set when you publish.", + "Composer JSON apply": "Apply JSON", + composerJsonKindMismatch: "JSON kind {{got}} does not match the composer (expected {{expected}}). Change the note type or fix `kind` in JSON.", + composerJsonApplySuccess: "Draft updated from JSON.", + "Advanced lab tb markup tools": "Markup helpers", + "Advanced lab tb headings": "Headings", + "Advanced lab tb headings hint": "Inserts at the cursor; adjust spacing if needed.", + "Advanced lab tb heading placeholder": "Title", + "Advanced lab tb h1": "Heading 1 (#)", + "Advanced lab tb h2": "Heading 2 (##)", + "Advanced lab tb h3": "Heading 3 (###)", + "Advanced lab tb h4": "Heading 4 (####)", + "Advanced lab tb h5": "Heading 5 (#####)", + "Advanced lab tb h6": "Heading 6 (######)", + "Advanced lab tb setextH1": "Setext heading 1 (title + ===)", + "Advanced lab tb setextH2": "Setext heading 2 (title + ---)", + "Advanced lab tb horizontalRule": "Horizontal rule (---)", + "Advanced lab tb horizontalRules": "Horizontal rules", + "Advanced lab tb hrDashes": "Dashes (---)", + "Advanced lab tb hrAsterisks": "Asterisks (***)", + "Advanced lab tb hrUnderscores": "Underscores (___)", + "Advanced lab tb inline": "Inline", + "Advanced lab tb bold": "Bold (** **)", + "Advanced lab tb boldUnderscore": "Bold (__ __)", + "Advanced lab tb italic": "Italic (* *)", + "Advanced lab tb italicUnderscore": "Italic (_ _)", + "Advanced lab tb strike": "Strikethrough (~~ ~~)", + "Advanced lab tb inlineCode": "Inline code (` `)", + "Advanced lab tb link": "Link [text](url)", + "Advanced lab tb linkTitled": "Link with title [text](url \"title\")", + "Advanced lab tb image": "Image ![alt](url)", + "Advanced lab tb imageTitled": "Image with title ![alt](url \"title\")", + "Advanced lab tb hardBreak": "Hard line break (two spaces + newline)", + "Advanced lab tb citations": "Citations (NIP-32)", + "Advanced lab tb citationsHint": "Kinds 30–33. Inserts `[[citation::type::nevent…]]` (Markdown & AsciiDoc).", + "Advanced lab citation dialog title": "Insert citation", + "Advanced lab citation dialog hint": "Search for NIP-32 citation events (internal, external, hardcopy, prompt), then pick one.", + "Advanced lab citation search placeholder": "Search kinds 30–33…", + "Advanced lab citation none": "No citation events found", + "Advanced lab citation kindLabel": "Kind {{kind}}", + "Advanced lab citation type inline": "Inline citation", + "Advanced lab citation type quote": "Block quote citation", + "Advanced lab citation type end": "Endnote citation", + "Advanced lab citation type foot": "Footnote call", + "Advanced lab citation type footEnd": "Footnote + end", + "Advanced lab citation type promptInline": "Prompt (inline)", + "Advanced lab citation type promptEnd": "Prompt (end)", + "Advanced lab tb lists": "Lists", + "Advanced lab tb bulletList": "Bullet list (-)", + "Advanced lab tb bulletListStar": "Bullet list (*)", + "Advanced lab tb orderedList": "Numbered list (1.)", + "Advanced lab tb orderedListStart": "Numbered list (custom start, e.g. 4.)", + "Advanced lab tb taskItem": "Task item (- [ ])", + "Advanced lab tb blocks": "Blocks", + "Advanced lab tb blockquote": "Blockquote (>)", + "Advanced lab tb pipeTable": "Pipe table (3×2 starter)", + "Advanced lab tb footnoteRef": "Footnote reference [^1]", + "Advanced lab tb footnoteDef": "Footnote definition [^1]: …", + "Advanced lab tb codeBlock": "Code block", + "Advanced lab tb codeBlockHint": "Pick a language for syntax highlighting in fenced code.", + "Advanced lab tb filterLanguages": "Filter languages…", + "Advanced lab tb math": "Math (KaTeX)", + "Advanced lab tb mathIntro": "Many readers render $…$ / $$…$$ with KaTeX; check your client.", + "Advanced lab tb mathInline": "Inline math ($…$)", + "Advanced lab tb mathDisplay": "Display math ($$…$$)", + "Advanced lab tb mathCommon": "Common formulas", + "Advanced lab tb katexFrac": "Fraction \\frac{a}{b}", + "Advanced lab tb katexSqrt": "Square root \\sqrt{x}", + "Advanced lab tb katexSum": "Sum \\sum_{i=1}^{n}", + "Advanced lab tb katexInt": "Integral \\int_a^b", + "Advanced lab tb katexMatrix": "2×2 matrix (pmatrix)", + "Advanced lab tb katexCases": "Cases (piecewise)", + "Advanced lab tb mathGreek": "Greek & symbols", + "Advanced lab tb greekAlpha": "alpha", + "Advanced lab tb greekBeta": "beta", + "Advanced lab tb greekGamma": "gamma", + "Advanced lab tb greekDelta": "delta", + "Advanced lab tb greekPi": "pi", + "Advanced lab tb greekTheta": "theta", + "Advanced lab tb greekLambda": "lambda", + "Advanced lab tb greekSigma": "sigma", + "Advanced lab tb greekOmega": "omega", + "Advanced lab tb greekInfty": "infinity", + "Advanced lab tb hrTitle": "Horizontal rule", + "Advanced lab tb adocTitles": "Titles", + "Advanced lab tb adocTitlesHint": "Document header: no empty lines inside the header; the first blank line ends it (https://docs.asciidoctor.org/asciidoc/latest/document/header/).", + "Advanced lab tb documentTitle": "Document title", + "Advanced lab tb sectionTitle": "Section title", + "Advanced lab tb adocLevel0": "Document title (=)", + "Advanced lab tb adocLevel0WithHeader": "Minimal header (title, author, revision, description, keywords, first section)", + "Advanced lab tb adocHeaderAuthorLine": "Author Name ", + "Advanced lab tb adocHeaderRevisionLine": "1.0, 2026-04-15: Draft revision", + "Advanced lab tb adocHeaderAttrsBlock": ":description: Short document summary for metadata\n:keywords: keyword-one, keyword-two, keyword-three", + "Advanced lab tb adocSection1": "Section (==)", + "Advanced lab tb adocSection2": "Subsection (===)", + "Advanced lab tb adocSection3": "Subsubsection (====)", + "Advanced lab tb adocSection4": "Level 5 (=====)", + "Advanced lab tb adocSection5": "Level 6 (======)", + "Advanced lab tb adocBold": "Bold (*bold*)", + "Advanced lab tb adocItalic": "Italic (_italic_)", + "Advanced lab tb adocMono": "Monospace (`mono`)", + "Advanced lab tb adocLink": "Link (link:url[text])", + "Advanced lab tb adocImage": "Image (image::url[alt])", + "Advanced lab tb adocUnordered": "Unordered (* item)", + "Advanced lab tb adocOrdered": "Ordered (. item)", + "Advanced lab tb adocLabeled": "Labeled list (term:: def)", + "Advanced lab tb adocBlocks": "Blocks", + "Advanced lab tb adocQuote": "Quote block (____)", + "Advanced lab tb adocLiteral": "Literal block (....)", + "Advanced lab tb adocNote": "NOTE admonition", + "Advanced lab tb adocTip": "TIP admonition", + "Advanced lab tb adocWarning": "WARNING admonition", + "Advanced lab tb adocSource": "Source / listing", + "Advanced lab tb adocSourceHint": "Inserts a [source,lang] block; replace the sample code.", + "Advanced lab tb adocStem": "STEM / LaTeX", + "Advanced lab tb adocStemHint": "Imwald runs Asciidoctor with stem: latexmath; math becomes \\(...\\) / \\[...\\] and is drawn with KaTeX (not MathJax).", + "Advanced lab tb adocStemInline": "Inline stem:[…]", + "Advanced lab tb adocLatexmathInline": "Inline latexmath:[…]", + "Advanced lab tb adocStemBlock": "Display math ([stem] +++ … +++++)", + "Advanced lab tb adocLineBreak": "Hard line break (space + at line end)", + "Advanced lab tb adocSubscript": "Subscript (~text~)", + "Advanced lab tb adocSuperscript": "Superscript (^text^)", + "Advanced lab tb adocPassthrough": "Inline passthrough (+++ … +++)", + "Advanced lab tb adocFootnote": "Footnote (footnote:[…])", + "Advanced lab tb adocImportant": "IMPORTANT admonition", + "Advanced lab tb adocCaution": "CAUTION admonition", + "Advanced lab tb adocExampleBlock": "Example block ([example])", + "Advanced lab tb adocSidebar": "Sidebar (**** … ****)", + "Advanced lab tb adocListing": "Listing block ([listing] + ----)", + "Advanced lab tb adocOpenBlock": "Open block (-- … --)", + "Advanced lab tb adocStructure": "Structure & media", + "Advanced lab tb adocStructureHint": "Tables, IDs/anchors ([#id] before a block—avoids [[wikilink]] syntax), cross-refs, media (Asciidoctor block macros).", + "Advanced lab tb adocTable": "Table (|=== …)", + "Advanced lab tb adocAnchor": "Block or section ID ([#id])", + "Advanced lab tb adocXref": "Cross reference (<>)", + "Advanced lab tb adocVideo": "Video (video::url[])", + "Advanced lab tb adocAudio": "Audio (audio::url[])", + "Advanced lab tb adocOrderedStart": "Ordered list with [start=n]", + "Advanced lab tb adocComment": "Line comment (//)", + "Advanced lab tb adockbd": "Keyboard (kbd:[…])", + "Advanced lab tb adocMenu": "Menu path (menu:…)", + "Advanced lab tb adocBtn": "Button (btn:[…])", + "Advanced lab tb adocHrTitle": "Thematic break (''')", + Apply: "Apply", + Reset: "Reset", + "Share something on this Relay": "Share something on this Relay", + "Try deleting this note": "Try deleting this note", + "Deletion request sent to {{count}} relays": "Deletion request sent to {{count}} relays", + "Suitable Relays": "Suitable Relays", + "People, keywords, or relays": "People, keywords, or relays", + "Hide content mentioning muted users": "Hide content mentioning muted users", + "This note mentions a user you muted": "This note mentions a user you muted", + Filter: "Filter", + "Feed filter": "Feed filter", + "Search loaded posts": "Search loaded posts", + "Filter loaded posts placeholder": "Filter by text in content or tags…", + "Feed filter author": "Author", + "Feed filter author everyone": "From everyone", + "Feed filter author me": "Only from me", + "Feed filter author npub": "From user (npub or hex)", + "Feed filter author npub from prefix": "from:", + "Feed filter author npub placeholder": "npub1… or 64-char hex", + "Feed filter author me needs login": "Log in to filter by your pubkey", + "Within the last": "Within the last", + "Time unit": "Time unit", + Minutes: "Minutes", + Days: "Days", + Weeks: "Weeks", + Months: "Months", + Years: "Years", + "Feed filter client-side hint": "Filters only apply to posts already loaded; relays are not queried again.", + "Feed full search": "Perform full search", + "Feed full search running": "Searching…", + "Feed full search clear": "Clear", + "Feed full search active hint": "Showing relay search results. Clear to return to the live feed.", + "Feed full search need constraint": "Add search text, an author filter, or a time range before searching relays.", + "Feed full search invalid feed": "This feed cannot run a relay search.", + "Feed full search failed": "Relay search failed. Try again.", + "Feed full search empty": "No matching posts were found on the queried relays.", + "No loaded posts match your filters.": "No loaded posts match your filters.", + "mentioned you in a note": "mentioned you in a note", + "quoted your note": "quoted your note", + "quoted this note": "Quoted this note", + "highlighted this note": "Highlighted this note", + "cited in article": "Cited in article", + "Thread backlinks heading": "Also quoting this note", + "Thread backlinks primary section": "Quotes, highlights & citations", + "Thread backlinks bookmarks section": "Bookmarks", + "Thread backlinks lists section": "Lists & collections", + "View full note and thread": "View full note and thread", + "labeled this note": "Labeled this note", + "reported this note": "Reported this note", + "bookmarked this note": "Bookmarked this note", + "pinned this note": "Pinned this note", + "listed this note": "Listed this note", + "bookmark set reference": "Bookmark set includes this note", + "curated this note": "Curated this note", + "badge award for this note": "Badge award for this note", + "referenced this note": "Referenced this note", + "Report events heading": "Moderation reports", + "voted in your poll": "voted in your poll", + "reacted to your note": "reacted to your note", + "boosted your note": "boosted your note", + "zapped your note": "zapped your note", + "zapped you": "zapped you", + zapped: "zapped", + "Invalid zap receipt": "Invalid zap receipt", + "Zapped note": "Zapped note", + "Zapped profile": "Zapped profile", + "Zap reply threshold": "Zap reply threshold", + "Zaps above this amount will appear as replies in threads": "Only zap receipts (kind 9735) with at least this many sats are shown in home and relay feeds (with “Zaps” enabled in the kind filter) and listed under notes as zap replies.", + "Mark as read": "Mark as read", + Report: "Report", + "Successfully report": "Successfully reported", + "Failed to report": "Failed to report", + nudity: "Nudity", + malware: "Malware", + profanity: "Profanity", + illegal: "Illegal content", + spam: "Spam", + other: "Other", + "Notification list style": "Notification list style", + "See extra info for each notification": "See extra info for each notification", + "See more notifications at a glance": "See more notifications at a glance", + Detailed: "Detailed", + "Submit Relay": "Submit Relay", + Homepage: "Homepage", + "Proof of Work (difficulty {{minPow}})": "Proof of Work (difficulty {{minPow}})", + "via {{client}}": "via {{client}}", + "Auto-load media": "Auto-load media", + Always: "Always", + "Wi-Fi only": "Wi-Fi only", + Never: "Never", + "Click to load image": "Click to load image", + "Click to load media": "Click to load media", + "Click to load YouTube video": "Click to load YouTube video", + "{{count}} reviews": "{{count}} reviews", + "Write a review": "Write a review", + "No reviews yet. Be the first to write one!": "No reviews yet. Be the first to write one!", + "View more reviews": "View more reviews", + "Failed to review": "Failed to review", + "Write a review and pick a star rating": "Write a review and pick a star rating", + Submit: "Submit", + "Reviews for {{relay}}": "Reviews for {{relay}}", + "No relays selected": "No relays selected", + "Post to": "Post to", + "Write relays and {{count}} other relays": "Write relays and {{count}} other relays", + "{{count}} relays": "{{count}} relays", + "Republishing...": "Republishing...", + "Trending Notes": "Trending Notes", + "Trending on Your Favorite Relays": "Trending on Your Favorite Relays", + "Trending on the Default Relays": "Trending on the Default Relays", + "Latest from your follows": "Latest from your follows", + "Latest from our recommended follows": "Latest from our recommended follows", + "Search page title": "Search Nostr", + "Follows latest page title": "Latest from follows", + "Follows latest page description": "Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.", + "Follows latest nav label": "Follows latest", + "Loading follow list…": "Loading follow list…", + "Could not load recommended follows": "Could not load recommended follows", + "Your follow list is empty": "Your follow list is empty", + "Loading recent posts from follows…": "Loading recent posts from follows…", + "Loading more…": "Loading more…", + "No recent posts from this user in the current fetch": "No recent posts from this user in the current fetch", + "Loading trending notes from your relays...": "Loading trending notes from your relays...", + "Trending on Nostr": "Trending on Nostr", + "Home trending slice notice": "This feed includes a trending slice (nostrarchives). Notes that reached you from that relay show “Trending on Nostr” under the card.", + Sort: "Sort", + newest: "newest", + oldest: "oldest", + "most popular": "most popular", + "least popular": "least popular", + "Connected to": "Connected to", + "Disconnect Wallet": "Disconnect Wallet", + "Are you absolutely sure?": "Are you absolutely sure?", + "You will not be able to send zaps to others.": "You will not be able to send zaps to others.", + Disconnect: "Disconnect", + "Set up your wallet to send and receive sats!": "Set up your wallet to send and receive sats!", + "Set up": "Set up", + "nested events": "nested events", + "Loading RSS feeds...": "Loading RSS feeds...", + "No RSS feed items available": "No RSS feed items available", + "Show or hide the RSS page and sidebar entry": "Show or hide the RSS page and sidebar entry", + "Refreshing feeds...": "Refreshing feeds...", + "All feeds": "All feeds", + "All time": "All time", + "Last hour": "Last hour", + "Last day": "Last day", + "Last week": "Last week", + "Last month": "Last month", + "Last 24 hours": "Last 24 hours", + "Last 48 hours": "Last 48 hours", + "Time range": "Time range", + "Filter by RSS source": "Filter by RSS source", + "No items match your filters": "No items match your filters", + "Search...": "Search...", + "{{count}} feeds": "{{count}} feeds", + "Toggle filters": "Toggle filters", + "Showing {{filtered}} of {{total}} items": "Showing {{filtered}} of {{total}} items", + Full: "Full", + Compact: "Compact", + Expand: "Expand", + "help.title": "Help", + "help.tabShortcuts": "Keyboard shortcuts", + "help.tabOverview": "App overview", + "shortcuts.title": "Keyboard shortcuts", + "shortcuts.intro": "Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.", + "shortcuts.sectionApp": "This app", + "shortcuts.sectionSearch": "Search bar", + "shortcuts.sectionStandard": "Standard", + "shortcuts.openHelp": "Show this help", + "shortcuts.or": "or", + "shortcuts.then": "then", + "shortcuts.focusPrimary": "Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)", + "shortcuts.focusSecondary": "Focus side panel scroll when it is open (desktop; same keys to scroll)", + "shortcuts.newNote": "New note / post (after login if needed)", + "shortcuts.searchSuggest": "Move through suggestions", + "shortcuts.searchDismiss": "Close search dropdown", + "shortcuts.tabNavigate": "Move focus to the next or previous control", + "shortcuts.activate": "Activate buttons and many controls", + "shortcuts.closeOverlays": "Close dialogs, menus, and the search dropdown", + "shortcuts.scrollWhenFocused": "Scroll the focused scrollable area", + "shortcuts.browserBack": "Browser back (history)", + "No spells yet. Create one with the button above.": "No spells yet. Create one with the button above.", + "Loading spells from your relays…": "Loading spells from your relays…", + "Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.": "Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.", + "Select a spell…": "Select a spell…", + "Spells from follows": "From people you follow ({{count}})", + "Other spells": "Other spells ({{count}})", + "Select a spell to view its feed.": "Select a spell to view its feed.", + "Add another row": "Add another row", + "Remove this row": "Remove this row", + "One kind number per row (e.g. 1 for notes).": "One kind number per row (e.g. 1 for notes).", + "One author per row: $me, $contacts, or hex pubkey / npub.": "One author per row: $me, $contacts, or hex pubkey / npub.", + "One hex event id per row.": "One hex event id per row.", + "One wss:// URL per row. Leave empty to use your write relays.": "One wss:// URL per row. Leave empty to use your write relays.", + "One topic per row.": "One topic per row.", + topic: "topic", + "Spell form fields": "Spell form fields", + "Counting matching events…": "Counting matching events…", + "Edit spell": "Edit spell", + "Clone spell": "Clone spell", + "Spell cloned": "Spell cloned", + "Clone spell intro": "This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.", + "Spell updated": "Spell updated", + "Relay URL": "Relay", + Count: "Count", + "Edit spell relays": "Edit relays", + "COUNT spell relay errors hint": "One or more relays failed or returned an error. You can change the relay list in the spell and save again.", + "COUNT spell total distinct explanation": "Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.", + "Leave empty to use your write relays.": "Leave empty to use your write relays.", + "COUNT spell result explanation": "Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.", + "COUNT spell may be capped by limit": "This count may equal your spell limit — there could be more matching events on the network.", + "Spell count failed. Check relays or try again.": "Could not complete the count. Check relays or try again.", + "REQ returns a feed; COUNT returns a number.": "REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.", + listImportManualLabel: "Pre-fill from event", + listImportFromEventHint: "Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.", + listImportManualPlaceholder: "64-char hex, nevent1…, or naddr1…", + listImportLoadManual: "Apply", + listImportContentSkipped: "This event has non-empty content (may include encrypted private items). Only public tags were merged.", + listImportUnsupportedEmoji: "This list includes emoji tags (NIP-30); those are not added to the spell filter.", + listImportUnsupportedTag: "Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.", + listImportBadATag: "Could not parse address tag: {{preview}}…", + listImportATagNotFound: "Could not resolve address tag: {{preview}}…", + listImportATagFailed: "Failed to resolve address tag: {{preview}}…", + listImportEventNotFound: "No event found for that reference.", + "REQ tag filters": "REQ tag filters", + spellFormTagFiltersLabel: "Tag filters on matching events", + spellCreateIntro: "Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.", + spellFormSectionQueryTitle: "Spell query", + spellFormSectionQueryHint: "This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).", + spellFormSectionMetadataTitle: "Listing & labels (optional)", + spellFormSectionMetadataBadge: "Not part of the query", + spellFormSectionMetadataHint: "Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.", + spellFormCatalogTopicsLabel: "Topic labels on this spell (t tags)", + spellTopicsMetadataHint: "One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).", + spellTagFiltersHint: "Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.", + spellTagFiltersEmpty: "No tag filters yet. Add rows below or apply an event reference above.", + "Tag filter letter": "Tag letter", + "Filter value": "Value", + "Add tag filter": "Add tag filter", + spellPickerSectionYours: "Your spells", + "Failed to remove spell from local storage": "Failed to remove spell from local storage", + Spells: "Spells", + "doublePane.secondaryEmpty": "Open a note, profile, or settings item to show it here.", + "doublePane.secondaryEmptyHint": "Your feed and primary pages stay on the left.", + "(empty)": "—", + "12-hour (AM/PM)": "12-hour (AM/PM)", + "24-hour": "24-hour", + "A new version is available": "A new version is available", + "A short description of the article content": "A short description of the article content", + AM: "AM", + "Access via": "Access via", + "Accessed On": "Accessed on", + "Accessed on": "Accessed on", + "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.": "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.", + "Add a relay to block": "Add a relay to block", + "Add at least one invitee": "Add at least one invitee", + "Add client identifier": "Add client identifier", + "Add expiration tags by default": "Add expiration tags by default", + "Add quiet tags by default": "Add quiet tags by default", + "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above": "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above", + "Add the source (where this text is from)": "Add the source (where this text is from)", + "Add to favorites": "Add to favorites", + "Add {{count}} Selected": "Add {{count}} Selected", + "Added at": "Added at", + "Added {{count}} relay(s)": "Added {{count}} relay(s)", + "Adding...": "Adding...", + "Adding…": "Adding…", + "Advanced Options": "Advanced Options", + "All Topics": "All Topics", + "All feeds from OPML file are already added": "All feeds from OPML file are already added", + "All items deleted successfully": "All items deleted successfully", + "Already blocked": "Already blocked", + "Already saved": "Already saved", + "Application Recommendations": "Application Recommendations", + "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.": "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.", + "Are you sure you want to delete all items from this store?": "Are you sure you want to delete all items from this store?", + "Are you sure you want to unmute this user? This will restore the follow button.": "Are you sure you want to unmute this user? This will restore the follow button.", + "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", + "Article exported as AsciiDoc": "Article exported as AsciiDoc", + "Article exported as Markdown": "Article exported as Markdown", + "Article title (optional)": "Article title (optional)", + articleDTagDefaultHint: "Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….", + Audio: "Audio", + Author: "Author", + "Author is required for reading groups": "Author is required for reading groups", + "Author name (optional)": "Author name (optional)", + Authors: "Authors", + "Block Relay": "Block Relay", + "Blocked Relays": "Blocked Relays", + "Blocking...": "Blocking...", + Blossom: "Blossom", + Book: "Book", + "Brief description of the event": "Brief description of the event", + "Brief summary (optional)": "Brief summary (optional)", + "Brief summary of the article (optional)": "Brief summary of the article (optional)", + "Browse Cache": "Browse Cache", + "Search cached events...": "Search cached events...", + "No cached events match your search.": "No cached events match your search.", + "Showing first {{count}} cached event matches.": "Showing first {{count}} cached event matches.", + "Open in store": "Open in store", + "Browse cache root description": "View IndexedDB stores, or search all cached Nostr-like events (content, tags, id, pubkey, kind) across stores.", + "Copy event JSON": "Copy event JSON", + "C-Tag": "C-Tag", + "Cache Relays": "Cache Relays", + "Cache cleared successfully": "Cache cleared successfully", + "Cache refreshed successfully": "Cache refreshed successfully", + "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.": "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.", + "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)": "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)", + "Cache relays saved": "Cache relays saved", + Cancelled: "Cancelled", + Chapter: "Chapter", + "Chapter Title": "Chapter Title", + "Chapter title (optional)": "Chapter title (optional)", + Citation: "Citation", + "Citation title (optional)": "Citation title (optional)", + "Clean up duplicate replaceable events? This will keep only the newest version of each event.": "Clean up duplicate replaceable events? This will keep only the newest version of each event.", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}}": "Cleaned up {{deleted}} duplicate entries, kept {{kept}}", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})": "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})", + "Cleanup Duplicates": "Cleanup Duplicates", + Clear: "Clear", + "Clear Cache": "Clear Cache", + "Clear Service Worker": "Clear Service Worker", + "Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.": "Clear cached data stored in your browser, including IndexedDB events, read-aloud (Piper) audio cache, localStorage settings, and service worker caches.", + "Click update to get the latest features and improvements": "Click update to get the latest features and improvements", + Close: "Close", + "Comma or space-separated topics (will be added as t-tags)": "Comma or space-separated topics (will be added as t-tags)", + Command: "Command", + Configure: "Configure", + "Connect Wallet": "Connect Wallet", + "Console Logs": "Console Logs", + "Console logs cleared": "Console logs cleared", + "Content is required": "Content is required", + "Content must be 5000 characters or less": "Content must be 5000 characters or less", + Controversial: "Controversial", + "Copied!": "Copied!", + "Copy to clipboard": "Copy to clipboard", + "Create Article": "Create Article", + "Create Citation": "Create Citation", + "Create Highlight": "Create Highlight", + "Create New Thread": "Create New Thread", + "Create Poll": "Create Poll", + "Create Thread": "Create Thread", + composeModeKind1: "Short note (kind 1) — turn off other compose types", + "Create a Spell": "Create a Spell", + "Creating...": "Creating...", + "D-Tag": "D-Tag", + "D-Tag is required for articles": "D-Tag is required for articles", + DOI: "DOI", + "Date-based (all-day)": "Date-based (all-day)", + "Default expiration (months)": "Default expiration (months)", + "Default quiet period (days)": "Default quiet period (days)", + "Delete All": "Delete All", + "Delete item": "Delete item", + "Deleted {{count}} event(s)": "Deleted {{count}} event(s)", + "Deletion request sent": "Deletion request sent", + "Description (content)": "Description (content)", + "Digital Object Identifier (optional)": "Digital Object Identifier (optional)", + "Disable word wrap": "Disable word wrap", + "Discovered Relays": "Discovered Relays", + "Discovering relays...": "Discovering relays...", + Discussion: "Discussion", + Discussions: "Discussions", + Downvote: "Downvote", + "Edited by": "Edited by", + Editor: "Editor", + "Editor name (optional)": "Editor name (optional)", + "Enable word wrap": "Enable word wrap", + "End date": "End date", + "End date must be after start date": "End date must be after start date", + "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.": "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.", + "Enter a descriptive title for your thread": "Enter a descriptive title for your thread", + "Enter the author name": "Enter the author name", + "Enter the book title": "Enter the book title", + "Enter the specific text you want to highlight in the main content area above": "Enter the specific text you want to highlight in the main content area above", + "Event IDs (ids)": "Event IDs (ids)", + "Event appears to be invalid or corrupted": "Event appears to be invalid or corrupted", + "Event has no value data": "Event has no value data", + "Event is missing required fields: {{fields}}": "Event is missing required fields: {{fields}}", + "Event type": "Event type", + "Expiration Tags": "Expiration Tags", + "Export OPML": "Export OPML", + "Export as AsciiDoc": "Export as AsciiDoc", + "Export as Markdown": "Export as Markdown", + "External Citation": "External Citation", + "External Citation Settings": "External Citation Settings", + "Failed to add relay. Please try again.": "Failed to add relay. Please try again.", + "Failed to add relays": "Failed to add relays", + "Failed to block relay. Please try again.": "Failed to block relay. Please try again.", + "Failed to cleanup duplicates": "Failed to cleanup duplicates", + "Failed to clear cache": "Failed to clear cache", + "Failed to copy": "Failed to copy", + "Failed to create relay set. Please try again.": "Failed to create relay set. Please try again.", + "Failed to create thread": "Failed to create thread", + "Failed to create thread. Please try a different relay.": "Failed to create thread. Please try a different relay.", + "Failed to delete all items": "Failed to delete all items", + "Failed to delete item": "Failed to delete item", + "Failed to discover relays": "Failed to discover relays", + "Failed to export OPML file": "Failed to export OPML file", + "Failed to export article": "Failed to export article", + "Failed to import OPML file: {{error}}": "Failed to import OPML file: {{error}}", + "Failed to load RSS feeds": "Failed to load RSS feeds", + "Failed to load store items": "Failed to load store items", + "Failed to mute user privately": "Failed to mute user privately", + "Failed to mute user publicly": "Failed to mute user publicly", + "Failed to pin note": "Failed to pin note", + "Failed to publish post": "Failed to publish post", + "Failed to publish reply": "Failed to publish reply", + "Failed to publish reaction": "Failed to publish reaction", + "Failed to publish thread": "Failed to publish thread", + "Failed to publish to some relays. Please try again or use different relays.": "Failed to publish to some relays. Please try again or use different relays.", + "Failed to save RSS feeds": "Failed to save RSS feeds", + "Failed to save cache relays": "Failed to save cache relays", + "Failed to save relay list": "Failed to save relay list", + "Failed to unregister service worker: ": "Failed to unregister service worker: ", + "Failed to unsubscribe from topic": "Failed to unsubscribe from topic", + Favorite: "Favorite", + Fetch: "Fetch", + "Fetch once, then stop.": "Fetch once, then stop.", + "Filter by": "Filter by", + "Flat View": "Flat View", + "Font size": "Font size", + "Full Quote/Context": "Full Quote/Context", + "Full-text search query": "Full-text search query", + Geohash: "Geohash", + "Geohash (optional)": "Geohash (optional)", + "Global quiet mode": "Global quiet mode", + "Group discussions by topic": "Group discussions by topic", + "Grouped View": "Grouped View", + Groups: "Groups", + "Handler {{index}}": "Handler {{index}}", + "Hardcopy Citation": "Hardcopy Citation", + "Hardcopy Citation Settings": "Hardcopy Citation Settings", + Hide: "Hide", + "Hide interactions on all posts": "Hide interactions on all posts", + "Hide interactions on posts with quiet tags": "Hide interactions on posts with quiet tags", + "High PoW": "High PoW", + "Higher values make your thread harder to mine but more unique.": "Higher values make your thread harder to mine but more unique.", + Highlight: "Highlight", + "Highlight Settings": "Highlight Settings", + "How to Create a Highlight (NIP-84)": "How to Create a Highlight (NIP-84)", + "Human-readable spell name": "Human-readable spell name", + "Image URL": "Image URL", + "Import OPML": "Import OPML", + "Imported {{count}} feed(s) from OPML file": "Imported {{count}} feed(s) from OPML file", + "In-Browser Cache": "In-Browser Cache", + Insert: "Insert", + "Insert URL into your post and publish to Nostr GIF library (NIP-94).": "Insert URL into your post and publish to Nostr GIF library (NIP-94).", + "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.": "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.", + "Insert event or address": "Insert event or address", + "Insert mention": "Insert mention", + "Internal Citation": "Internal Citation", + "Internal Citation Settings": "Internal Citation Settings", + "Invalid Event": "Invalid Event", + "Invalid Lightning Address": "Invalid Lightning Address", + "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.": "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.", + "Invalid URL": "Invalid URL", + "Invalid content JSON": "Invalid content JSON", + "Invalid relay URL": "Invalid relay URL", + "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.": "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.", + "Item deleted successfully": "Item deleted successfully", + JSON: "JSON", + "Join link": "Join link", + "Journal/Publication name (optional)": "Journal/Publication name (optional)", + Json: "JSON", + Kinds: "Kinds", + "Language Model": "Language Model", + Large: "Large", + "Leave empty for HiveTalk, or paste Zoom / Teams / other link": "Leave empty for HiveTalk, or paste Zoom / Teams / other link", + "Lightning payment failed": "Lightning payment failed", + Limit: "Limit", + "Live feed; keeps updating.": "Live feed; keeps updating.", + "Loading more...": "Loading more...", + "Loading relays...": "Loading relays...", + "Location (optional)": "Location (optional)", + "Log in to run this spell (it uses $me or $contacts).": "Log in to run this spell (it uses $me or $contacts).", + "Login failed": "Login failed", + "nip07.extensionKeyMismatch": "Your browser extension is using a different key on this tab. Switch to the matching key in the extension, or reload the page to apply your extension's current selection.", + "nip07.reloadPage": "Reload page", + "Login to configure RSS feeds": "Login to configure RSS feeds", + "Long-form Article": "Long-form Article", + "Mailbox relays saved": "Mailbox relays saved", + "Mark as NSFW": "Mark as NSFW", + "Maximum {{max}} invitees": "Maximum {{max}} invitees", + "Maximum {{max}} invitees allowed": "Maximum {{max}} invitees allowed", + Medium: "Medium", + Mode: "Mode", + "Most Zapped": "Most Zapped", + "Move to top": "Move to top", + "Multiple choice": "Multiple choice", + "Mute failed": "Mute failed", + NSFW: "NSFW", + Name: "Name", + "Name of the language model used": "Name of the language model used", + "New External Citation": "New External Citation", + "New Hardcopy Citation": "New Hardcopy Citation", + "New Highlight": "New Highlight", + "New Internal Citation": "New Internal Citation", + "New Long-form Article": "New Long-form Article", + "New Poll": "New Poll", + "New Discussion": "New Discussion", + "New Prompt Citation": "New Prompt Citation", + "New Public Message": "New Public Message", + "New Wiki Article": "New Wiki Article", + "New Wiki Article (Markdown)": "New Wiki Article (Markdown)", + Newest: "Newest", + "No JSON available": "No JSON available", + "No RSS feeds found in OPML file": "No RSS feeds found in OPML file", + "No cached data found.": "No cached data found.", + "No console logs captured yet": "No console logs captured yet", + "No events found": "No events found", + "No feeds configured. Default feed will be used.": "No feeds configured. Default feed will be used.", + "No feeds to export": "No feeds to export", + "No groups available. Join some groups first.": "No groups available. Join some groups first.", + "No items in this store.": "No items in this store.", + "No items match your search.": "No items match your search.", + "No logs match the current filters": "No logs match the current filters", + "No posts found": "No posts found", + "No posts match your search": "No posts match your search", + "No relays available. Please configure relays in settings.": "No relays available. Please configure relays in settings.", + "No service workers or caches found for this app": "No service workers or caches found for this app", + "No users found": "No users found", + "No valid RSS feed URLs found in OPML file": "No valid RSS feed URLs found in OPML file", + "Note pinned": "Note pinned", + "Note unpinned": "Note unpinned", + Oldest: "Oldest", + "Open Timestamp": "Open Timestamp", + "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.": "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.", + "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.": "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.", + Optional: "Optional", + "Optional image for the event": "Optional image for the event", + "Optionally, add the full quote/context to show your highlight within it": "Optionally, add the full quote/context to show your highlight within it", + PM: "PM", + "Page Range": "Page Range", + Pages: "Pages", + "Paste URL of a GIF": "Paste URL of a GIF", + "Paste URL of a meme image": "Paste URL of a meme image", + "Paste the entire original passage that contains your highlight": "Paste the entire original passage that contains your highlight", + Photo: "Photo", + "Picture Note": "Picture Note", + "Pin note": "Pin note", + "Plain text description of the query": "Plain text description of the query", + "Please login to view bookmarks": "Please login to view bookmarks", + "Please login to view favorites": "Please login to view favorites", + "Please select a group": "Please select a group", + "Please select at least one relay": "Please select at least one relay", + "Please set a start date": "Please set a start date", + "Poll with no options": "Poll with no options", + "Post published to some relays": "Post published to some relays", + "Posts will automatically include expiration tags": "Posts will automatically include expiration tags", + "Posts will automatically include quiet tags": "Posts will automatically include quiet tags", + "Posts will be quiet for this many days": "Posts will be quiet for this many days", + "Posts will expire after this many months": "Posts will expire after this many months", + "Processing...": "Processing...", + "Profile event not available": "Profile event not available", + "Prompt Citation": "Prompt Citation", + "Prompt Citation Settings": "Prompt Citation Settings", + "Prompt Conversation Script": "Prompt Conversation Script", + "Proof of Work": "Proof of Work", + "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post": "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post", + "Publish to Relays": "Publish to Relays", + "Published By": "Published By", + "Published In": "Published In", + "Published On": "Published On", + "Published in": "Published in", + "Published on": "Published on", + "Publisher name (optional)": "Publisher name (optional)", + "Quiet Tags": "Quiet Tags", + "RSS Feed": "RSS Feed", + "RSS + Web": "RSS + Web", + "RSS feed source": "RSS feed source", + "All feed sources": "All feed sources", + "RSS feed view mode": "RSS feed view mode", + "Article URLs": "Article URLs", + "Article URLs subtitle": "One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.", + "Article URLs Nostr manual subtitle": "Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.", + "RSS feed column title": "RSS & linked articles", + "RSS feed column subtitle": "Feed entries and article cards that include at least one item from your subscribed RSS feeds.", + "RSS timeline": "RSS timeline", + "RSS timeline subtitle": "Every item from your subscribed feeds, newest first — classic RSS reader.", + URLs: "URLs", + RSS: "RSS", + "No URL-only items yet": "No URL-only items yet", + "Respond to this RSS entry": "Respond to this RSS entry", + "RSS read-only thread hint": "Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.", + "RSS feed item label": "RSS", + "Web URL item label": "Web URL", + "URL thread activity": "URL thread activity", + "Suppress Clawstr links in RSS previews": "Hide clawstr.com in RSS and URL feed", + "Hide local, media & feed URLs from URL cards": "Hide local, media, feed, document & XML links from the feed", + "RSS articles": "RSS articles", + "Web comments": "Web comments", + "Web highlights": "Web highlights", + "In your bookmarks": "In your bookmarks", + "{{count}} RSS entries for this URL": "{{count}} RSS entries for this URL", + "{{count}} entries for this article URL": "{{count}} entries for this article URL", + "No comments yet": "No comments yet", + "No highlights yet": "No highlights yet", + "Showing {{filtered}} of {{total}} entries": "Showing {{filtered}} of {{total}} entries", + standardRssFeed_spotifeed: "Spotify playlist (Spotifeed)", + standardRssFeed_youtube: "YouTube feed", + standardRssFeed_youtubeChannel: "YouTube channel feed", + standardRssFeed_youtubePlaylist: "YouTube playlist feed", + standardRssFeed_feedburner: "FeedBurner", + standardRssFeed_reddit: "Reddit RSS", + standardRssFeed_substack: "Substack", + standardRssFeed_medium: "Medium", + "RSS Feed Settings": "RSS Feed Settings", + "Follow sets": "Follow sets", + "Personal Lists": "Personal Lists", + "Personal lists hub intro": "Open mute list, following, bookmarks list, pinned notes, interest topics (kind 10015), your NIP-30 user emoji list (kind 10030), and emoji set packs (kind 30030) on their own pages. Follow sets are below. Web page bookmarks (NIP-B0, kind 39701) are separate—save from an article’s panel or use the Bookmarks spell for a mixed feed.", + "Mute list": "Mute list", + "Following list": "Following list", + "Bookmarks list": "Bookmarks list", + "Pinned notes list": "Pinned notes list", + "Interests list": "Interests list", + "User emoji list": "User emoji list (kind 10030)", + "Emoji sets": "Emoji sets (kind 30030)", + "User emoji list title": "{{username}}'s emoji list", + "User emoji list intro": "NIP-30: inline custom emoji (`emoji` tags) and references to your kind 30030 packs (`a` tags). Publish when you are done editing.", + "User emoji list saved": "Emoji list published", + "User emoji inline section": "Inline emoji", + "User emoji inline empty": "No inline emoji yet. Add a shortcode and image URL below.", + "User emoji inline invalid": "Enter a shortcode and a non-empty image URL.", + "User emoji sets section": "Emoji set references", + "User emoji sets hint": "Add a coordinate in the form 30030:<64-hex pubkey>:, usually one of your own emoji sets from the Emoji sets page.", + "User emoji sets empty": "No emoji set references yet.", + "User emoji set ref invalid": "Invalid coordinate. Use 30030::.", + "User emoji set ref duplicate": "That emoji set is already in the list.", + "Emoji set coordinate": "Emoji set (a tag)", + "Publish changes": "Publish changes", + Shortcode: "Shortcode", + "Emoji sets settings intro": "NIP-30 emoji packs (kind 30030): each set has a `d` tag and `emoji` entries (shortcode + image URL). Publish from the editor dialog.", + "New emoji set": "New emoji set", + "Edit emoji set": "Edit emoji set", + "No emoji sets yet": "You have not created any emoji sets yet.", + "Emoji set saved": "Emoji set saved", + "Emoji set deleted": "Emoji set deleted", + "Failed to load emoji sets": "Failed to load emoji sets", + "emoji entries": "emoji", + "Emoji set d tag hint": "Stable identifier for this pack. It cannot be changed after the first publish.", + "Emoji pack entries": "Emoji in this pack", + "No emoji entries in pack": "No emoji in this pack yet.", + "Delete emoji set?": "Delete this emoji set?", + "Delete emoji set confirm": "This sends a deletion request (kind 5). Relays that accept it will drop the set; others may still show a cached copy.", + "Interests list section subtitle": "Topics you follow for hashtag feeds and the Interests spell. Stored on Nostr as kind 10015 (`t` tags).", + "Interest topic placeholder": "topic or #hashtag", + "Interest list add topic": "Add topic", + "Interest topic invalid": "Enter a valid topic (letters, numbers, hyphens, underscores).", + "No interest topics in list": "No subscribed topics yet. Add one above or subscribe from a hashtag page.", "username's interest topics": "{{username}}'s interest topics", - 'Remove from interest list': 'Remove from interest list', - 'Personal lists interests spell hint': 'For a combined feed of all subscribed topics, use the', - 'Interests spell': 'Interests spell', - 'Personal lists bookmarks spell hint': - 'For a note feed from NIP-51 bookmarks, use the', - 'Bookmarks spell': 'Bookmarks spell', - 'Pinned notes hint': - 'Pinned notes: use the note menu (⋯) on a note and choose pin to profile. Pins appear on your profile.', - 'Bookmarks list section title': 'Bookmarks list', - 'Bookmarks list section subtitle': - 'Events referenced by `e` / `a` tags on your kind 10003 bookmark list (newest first).', - 'No entries in bookmark list': 'Your bookmark list is empty.', - 'View bookmarks as feed in Spells': 'View bookmarks as a note feed in Spells', - 'Pinned notes list section title': 'Pinned notes list', - 'Pinned notes list section subtitle': - 'Events referenced by `e` / `a` tags on your kind 10001 pin list (same order as on your profile).', - 'Loading pin list': 'Loading pin list…', - 'No pinned notes in list': 'No pinned notes in your pin list yet.', + "Remove from interest list": "Remove from interest list", + "Personal lists interests spell hint": "For a combined feed of all subscribed topics, use the", + "Interests spell": "Interests spell", + "Personal lists bookmarks spell hint": "For a note feed from NIP-51 bookmarks, use the", + "Bookmarks spell": "Bookmarks spell", + "Pinned notes hint": "Pinned notes: use the note menu (⋯) on a note and choose pin to profile. Pins appear on your profile.", + "Bookmarks list section title": "Bookmarks list", + "Bookmarks list section subtitle": "Events referenced by `e` / `a` tags on your kind 10003 bookmark list (newest first).", + "No entries in bookmark list": "Your bookmark list is empty.", + "View bookmarks as feed in Spells": "View bookmarks as a note feed in Spells", + "Pinned notes list section title": "Pinned notes list", + "Pinned notes list section subtitle": "Events referenced by `e` / `a` tags on your kind 10001 pin list (same order as on your profile).", + "Loading pin list": "Loading pin list…", + "No pinned notes in list": "No pinned notes in your pin list yet.", "username's bookmarks": "{{username}}'s bookmarks", "username's pinned notes": "{{username}}'s pinned notes", - 'Event not loaded': 'Event not loaded', - 'No NIP-51 bookmarks or web bookmarks yet.': - 'No NIP-51 bookmarks or web bookmarks yet.', - 'Web bookmarks': 'Web bookmarks', - 'Web bookmark': 'Web bookmark', - 'Web bookmarks NIP intro': - 'Web bookmarks are stored as kind 39701 events, not in your NIP-51 bookmark list.', - 'Log in to save web bookmarks': - 'Log in to save web bookmarks for this page (NIP-B0, kind 39701).', - 'Remove web bookmark': 'Remove web bookmark', - 'No web bookmark for this URL yet': 'You have not saved a web bookmark for this URL yet.', - 'Page title': 'Page title', - 'Short description': 'Short description', - 'Save web bookmark': 'Save web bookmark', - 'Sign in to publish web bookmark': - 'Please log in with a signing key to save web bookmarks.', - 'Follow sets settings intro': - 'NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.', - 'New follow set': 'New follow set', - 'Edit follow set': 'Edit follow set', - 'No follow sets yet': 'You have not created any follow sets yet.', - 'Follow set saved': 'Follow set saved', - 'Follow set deleted': 'Follow set deleted', - 'Failed to load follow sets': 'Failed to load follow sets', - members: 'members', - 'Optional display title': 'Optional display title', - 'List id (d tag)': 'List id (d tag)', - 'Follow set d tag hint': - 'Stable identifier for this list. It cannot be changed after the first publish.', - 'People in this list': 'People in this list', - 'Delete follow set?': 'Delete this follow set?', - 'Delete follow set confirm': - 'This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.', - 'Clean list': 'Clean list', - 'Clean this list?': 'Clean this list?', - 'Clean list confirm': - 'This will publish a fresh, empty replacement for this list (all entries removed). This cannot be undone.', - 'Clean follows list confirm with backup': - 'Before cleaning your follows (kind 3), the current list snapshot will be published to follows history relays. Then a fresh, empty follows list will be published. Continue?', - 'List cleaned': 'List cleaned', - 'Failed to clean list': 'Failed to clean list', - 'Remove feed': 'Remove feed', - 'RSS Feeds': 'RSS Feeds', - 'RSS feeds exported to OPML file': 'RSS feeds exported to OPML file', - 'RSS feeds saved': 'RSS feeds saved', - 'Rate limited. Please wait before trying again.': - 'Rate limited. Please wait before trying again.', - 'Reaction published': 'Reaction published', - 'Reaction published to some relays': 'Reaction published to some relays', - 'Reaction removed': 'Reaction removed', - 'Read full article': 'Read full article', - 'Reading group entry': 'Reading group entry', - 'Readings Options': 'Readings Options', - Recipients: 'Recipients', - 'Recipients detected from your message:': 'Recipients detected from your message:', - 'Recommended Relays': 'Recommended Relays', - 'Recommended applications for handling events of kind {{kind}}': - 'Recommended applications for handling events of kind {{kind}}', - 'Reference to the cited Nostr event in kind:pubkey:hex format': - 'Reference to the cited Nostr event in kind:pubkey:hex format', - 'Refresh Cache': 'Refresh Cache', - 'Refreshing posts...': 'Refreshing posts...', - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.': - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.', - Relay: 'Relay', - 'Relay Hint': 'Relay Hint', - 'Relay URL (optional)': 'Relay URL (optional)', - 'Relay blocked successfully': 'Relay blocked successfully', - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.': - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.', - 'Relay set options': 'Relay set options', - 'Remove from favorites': 'Remove from favorites', - Rendered: 'Rendered', - 'Reply published': 'Reply published', - 'Reply published to some relays': 'Reply published to some relays', - 'Reply to Public Message': 'Reply to Public Message', - 'Republish to all active relays': 'Republish to all active relays', - 'Republish to all available relays': 'Republish to all available relays', - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.': - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.', - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.': - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.', - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Respect quiet tags': 'Respect quiet tags', - 'Search (NIP-50)': 'Search (NIP-50)', - 'Search by name or npub…': 'Search by name or npub…', - 'Search calendar, publications, wiki…': 'Search calendar, publications, wiki…', - 'Search for user…': 'Search for user…', - 'Search items...': 'Search items...', - 'Search logs...': 'Search logs...', - 'Search notes, threads, long-form…': 'Search notes, threads, long-form…', - 'Search on GifBuddy': 'Search on GifBuddy', - 'Search on Meme Amigo': 'Search on Meme Amigo', - 'Search posts...': 'Search posts...', - 'Search threads by title, content, tags, npub, author...': - 'Search threads by title, content, tags, npub, author...', - 'Searching all available relays...': 'Searching all available relays...', - 'Searching…': 'Searching…', - 'See reference': 'See reference', - 'Select Group': 'Select Group', - 'Select Media Type': 'Select Media Type', - 'Select group...': 'Select group...', - 'Select relays': 'Select relays', - 'Publish relay cap hint': - 'At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Publish relay cap hint with outbox first': - 'At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Select the group where you want to create this discussion.': - 'Select the group where you want to create this discussion.', - 'Select topic...': 'Select topic...', - 'Selected text': 'Selected text', - 'Send Public Message': 'Send Public Message', - 'Send a Lightning payment to this user': 'Send a Lightning payment to this user', - 'Service worker caches cleared. Please reload the page.': - 'Service worker caches cleared. Please reload the page.', - 'Service worker unregistered and caches cleared. Please reload the page.': - 'Service worker unregistered and caches cleared. Please reload the page.', - 'Service worker unregistered. Please reload the page.': - 'Service worker unregistered. Please reload the page.', - 'Share your thoughts, ask questions, or start a discussion...': - 'Share your thoughts, ask questions, or start a discussion...', - 'Short Video Note': 'Short Video Note', - 'Show RSS Feed': 'Show RSS Feed', - 'Show all discussions in a single list': 'Show all discussions in a single list', - 'Show less': 'Show less', - Since: 'Since', - Small: 'Small', - 'Some relays have temporarily disabled writes.': - 'Some relays have temporarily disabled writes.', - Source: 'Source', - 'Spell definition': 'Spell definition', - 'Spell published': 'Spell published', - 'Start date': 'Start date', - 'Start typing to see a preview...': 'Start typing to see a preview...', - 'Subject (Book Title)': 'Subject (Book Title)', - 'Subject (book title) is required for reading groups': - 'Subject (book title) is required for reading groups', - 'Subject / Topics': 'Subject / Topics', - Subscribe: 'Subscribe', - Subscribed: 'Subscribed', - 'Subscribed to topic': 'Subscribed to topic', - 'Subscribed to topic (local)': 'Subscribed to topic (local)', - 'Subscribing...': 'Subscribing...', - Summary: 'Summary', - 'Supported Event Types': 'Supported Event Types', - 'Take a note': 'Take a note', - 'The full prompt conversation (optional)': 'The full prompt conversation (optional)', - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.': - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.', - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.': - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.', - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.': - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.', - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a Nostr event of kind {{kind}}.': - 'This GIF was found in a Nostr event of kind {{kind}}.', - 'This file could be either audio or video. Please select the correct type:': - 'This file could be either audio or video. Please select the correct type:', - 'This store does not contain replaceable events': - 'This store does not contain replaceable events', - 'This will add additional tags for author and subject to help organize reading group discussions.': - 'This will add additional tags for author and subject to help organize reading group discussions.', - 'Thread Content': 'Thread Content', - 'Thread Title': 'Thread Title', - 'Thread creation timed out. Please try again.': 'Thread creation timed out. Please try again.', - 'Thread published': 'Thread published', - 'Threads are organized by topics. Choose a topic that best fits your discussion.': - 'Threads are organized by topics. Choose a topic that best fits your discussion.', - 'Time-based': 'Time-based', - 'Title is required': 'Title is required', - 'Title must be 100 characters or less': 'Title must be 100 characters or less', - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.': - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.', - Top: 'Top', - Topic: 'Topic', - URL: 'URL', - 'URL of the article cover image (optional)': 'URL of the article cover image (optional)', - 'Unique identifier for this article (required)': - 'Unique identifier for this article (required)', - 'Unmute failed': 'Unmute failed', - 'Unpin note': 'Unpin note', - Unsubscribe: 'Unsubscribe', - 'Unsubscribed from topic': 'Unsubscribed from topic', - 'Unsubscribing...': 'Unsubscribing...', - Until: 'Until', - Untitled: 'Untitled', - Update: 'Update', - 'Updating...': 'Updating...', - 'Upload Audio Comment': 'Upload Audio Comment', - 'Upload Audio Message': 'Upload Audio Message', - 'Upload Media': 'Upload Media', - 'Media kind': 'Media kind', - 'Use image/audio/video note kind for the media URL in the editor': - 'Use image/audio/video note kind for the media URL in the editor', - 'Already publishing as a media note': 'Already publishing as a media note', - 'No media URL in note — upload or paste a link first': - 'No media URL in note — upload or paste a link first', - 'Cannot infer media type from URL — use Note type → Media Note to upload': - 'Cannot infer media type from URL — use Note type → Media Note to upload', - 'Media kind (disabled): add imeta tags, a media URL, or upload media first': - 'Media kind (disabled): add imeta tags, a media URL, or upload media first', - Upvote: 'Upvote', - 'User unmuted': 'User unmuted', - 'Version number (optional)': 'Version number (optional)', - Video: 'Video', - 'Video Note': 'Video Note', - 'Video file': 'Video file', - 'View Console Logs': 'View Console Logs', - 'View JSON': 'View JSON', - 'View cached items in this store.': 'View cached items in this store.', - 'View definition': 'View definition', - 'View details about cached data in IndexedDB stores. Click on a store to view its items.': - 'View IndexedDB stores, or search all cached Nostr-like events (content, tags, id, pubkey, kind) across stores.', - 'View on Alexandria': 'View on Alexandria', - 'View on DecentNewsroom': 'View on DecentNewsroom', - 'View on Wikistr': 'View on Wikistr', - 'View recent console logs for debugging': 'View recent console logs for debugging', - 'Voice Comment': 'Voice Comment', - 'Voice Note': 'Voice Note', - 'Voice note or audio file': 'Voice note or audio file', - Volume: 'Volume', - 'Volume number (optional)': 'Volume number (optional)', - 'Vote published': 'Vote published', - 'Vote removed': 'Vote removed', - 'Website where LLM was accessed (optional)': 'Website where LLM was accessed (optional)', - 'Wiki Article (AsciiDoc)': 'Wiki Article (AsciiDoc)', - 'Wiki Article (Markdown)': 'Wiki Article (Markdown)', - 'You can only delete your own notes': 'You can only delete your own notes', - 'You must be logged in to create a thread': 'You must be logged in to create a thread', - 'You need to add at least one media server in order to upload media files.': - 'You need to add at least one media server in order to upload media files.', - 'You need to login first': 'You need to login first', - 'Your account is blocked from posting to this relay.': - 'Your account is blocked from posting to this relay.', - Zap: 'Zap', - 'Zap failed': 'Zap failed', - created_at: 'created_at', - 'e tag of kind 1040 event (optional)': 'e tag of kind 1040 event (optional)', - 'e.g. meetup, conference': 'e.g. meetup, conference', - 'e.g., 123-145 (optional)': 'e.g., 123-145 (optional)', - 'e.g., GPT-4, Claude, etc. (required)': 'e.g., GPT-4, Claude, etc. (required)', - 'e.g., my-article-title': 'e.g., my-article-title', - entries: 'entries', - 'from Bunker': 'from Bunker', - 'from Extension': 'from Extension', - 'from NIP-05': 'from NIP-05', - general: 'general', - 'https://example.com (required)': 'https://example.com (required)', - 'https://example.com/image.jpg': 'https://example.com/image.jpg', - id: 'id', - items: 'items', - kind: 'kind', - 'kind:pubkey:hex format (required)': 'kind:pubkey:hex format (required)', - 'last updated': 'last updated', - matching: 'matching', - naddr: 'naddr', - nevent: 'nevent', - 'nevent1..., naddr1..., note1..., hex ID, or https://...': - 'nevent1..., naddr1..., note1..., hex ID, or https://...', - 'no notes found': 'no notes found', - of: 'of', - 'on note': 'on note', - optional: 'optional', - pubkey: 'pubkey', - 'sent a public message': 'sent a public message', - 'sent you a public message': 'sent you a public message', - 'sent you a public message (along with {{count}} others)': - 'sent you a public message (along with {{count}} others)', - sig: 'sig', - 'started a discussion in {{topic}}': 'started a discussion in {{topic}}', - tags: 'tags', - thread: 'thread', - threads: 'threads', - 'topic1, topic2, topic3': 'topic1, topic2, topic3', - '{{count}} relay(s) selected': '{{count}} relay(s) selected', - '🔞 NSFW 🔞': '🔞 NSFW 🔞', - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).': - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).', - 'Compressing on your device before upload (large videos can take several minutes)…': - 'Compressing on your device before upload (large videos can take several minutes)…', - 'Failed to refresh': 'Failed to refresh', - 'Invalid article link.': 'Invalid article link.', - Likes: 'Likes', - 'Loading…': 'Loading…', - 'Missing pubkey': 'Missing pubkey', - 'No RSS feed list found on relays': 'No RSS feed list found on relays', - 'Pinned posts': 'Pinned posts', - 'Publishing...': 'Publishing...', - 'RSS article': 'RSS article', - 'RSS feed list refreshed': 'RSS feed list refreshed', - 'Save or discard your changes before refreshing from relays': - 'Save or discard your changes before refreshing from relays', - 'Suggested topics': 'Suggested topics', - 'Synthetic event (no author)': 'Synthetic event (no author)', - 'Topic is required': 'Topic is required', - 'Type a topic or pick from the list': 'Type a topic or pick from the list', - 'Uploading to media server…': 'Uploading to media server…', - profileEditorRefreshCacheHint: 'profileEditorRefreshCacheHint', - startupSessionHydrating: 'startupSessionHydrating' + "Event not loaded": "Event not loaded", + "No NIP-51 bookmarks or web bookmarks yet.": "No NIP-51 bookmarks or web bookmarks yet.", + "Web bookmarks": "Web bookmarks", + "Web bookmark": "Web bookmark", + "Web bookmarks NIP intro": "Web bookmarks are stored as kind 39701 events, not in your NIP-51 bookmark list.", + "Log in to save web bookmarks": "Log in to save web bookmarks for this page (NIP-B0, kind 39701).", + "Remove web bookmark": "Remove web bookmark", + "No web bookmark for this URL yet": "You have not saved a web bookmark for this URL yet.", + "Page title": "Page title", + "Short description": "Short description", + "Save web bookmark": "Save web bookmark", + "Sign in to publish web bookmark": "Please log in with a signing key to save web bookmarks.", + "Follow sets settings intro": "NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.", + "New follow set": "New follow set", + "Edit follow set": "Edit follow set", + "No follow sets yet": "You have not created any follow sets yet.", + "Follow set saved": "Follow set saved", + "Follow set deleted": "Follow set deleted", + "Failed to load follow sets": "Failed to load follow sets", + members: "members", + "Optional display title": "Optional display title", + "List id (d tag)": "List id (d tag)", + "Follow set d tag hint": "Stable identifier for this list. It cannot be changed after the first publish.", + "People in this list": "People in this list", + "Delete follow set?": "Delete this follow set?", + "Delete follow set confirm": "This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.", + "Clean list": "Clean list", + "Clean this list?": "Clean this list?", + "Clean list confirm": "This will publish a fresh, empty replacement for this list (all entries removed). This cannot be undone.", + "Clean follows list confirm with backup": "Before cleaning your follows (kind 3), the current list snapshot will be published to follows history relays. Then a fresh, empty follows list will be published. Continue?", + "List cleaned": "List cleaned", + "Failed to clean list": "Failed to clean list", + "Remove feed": "Remove feed", + "RSS Feeds": "RSS Feeds", + "RSS feeds exported to OPML file": "RSS feeds exported to OPML file", + "RSS feeds saved": "RSS feeds saved", + "Rate limited. Please wait before trying again.": "Rate limited. Please wait before trying again.", + "Reaction published": "Reaction published", + "Reaction published to some relays": "Reaction published to some relays", + "Reaction removed": "Reaction removed", + "Read full article": "Read full article", + "Reading group entry": "Reading group entry", + "Readings Options": "Readings Options", + Recipients: "Recipients", + "Recipients detected from your message:": "Recipients detected from your message:", + "Recommended Relays": "Recommended Relays", + "Recommended applications for handling events of kind {{kind}}": "Recommended applications for handling events of kind {{kind}}", + "Reference to the cited Nostr event in kind:pubkey:hex format": "Reference to the cited Nostr event in kind:pubkey:hex format", + "Refresh Cache": "Refresh Cache", + "Refreshing posts...": "Refreshing posts...", + "Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.": "Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.", + Relay: "Relay", + "Relay Hint": "Relay Hint", + "Relay URL (optional)": "Relay URL (optional)", + "Relay blocked successfully": "Relay blocked successfully", + "Relay requires authentication for write access. Please try a different relay or contact the relay operator.": "Relay requires authentication for write access. Please try a different relay or contact the relay operator.", + "Relay set options": "Relay set options", + "Remove from favorites": "Remove from favorites", + Rendered: "Rendered", + "Reply published": "Reply published", + "Reply published to some relays": "Reply published to some relays", + "Reply to Public Message": "Reply to Public Message", + "Republish to all active relays": "Republish to all active relays", + "Republish to all available relays": "Republish to all available relays", + "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.": "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.", + "Required: start time or start date. Optional: title, end, location, summary, topics, image.": "Required: start time or start date. Optional: title, end, location, summary, topics, image.", + "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Respect quiet tags": "Respect quiet tags", + "Search (NIP-50)": "Search (NIP-50)", + "Search by name or npub…": "Search by name or npub…", + "Search calendar, publications, wiki…": "Search calendar, publications, wiki…", + "Search for user…": "Search for user…", + "Search items...": "Search items...", + "Search logs...": "Search logs...", + "Search notes, threads, long-form…": "Search notes, threads, long-form…", + "Search on GifBuddy": "Search on GifBuddy", + "Search on Meme Amigo": "Search on Meme Amigo", + "Search posts...": "Search posts...", + "Search threads by title, content, tags, npub, author...": "Search threads by title, content, tags, npub, author...", + "Searching all available relays...": "Searching all available relays...", + "Searching…": "Searching…", + "See reference": "See reference", + "Select Group": "Select Group", + "Select Media Type": "Select Media Type", + "Select group...": "Select group...", + "Select relays": "Select relays", + "Publish relay cap hint": "At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.", + "Publish relay cap hint with outbox first": "At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.", + "Select the group where you want to create this discussion.": "Select the group where you want to create this discussion.", + "Select topic...": "Select topic...", + "Selected text": "Selected text", + "Send Public Message": "Send Public Message", + "Send a Lightning payment to this user": "Send a Lightning payment to this user", + "Service worker caches cleared. Please reload the page.": "Service worker caches cleared. Please reload the page.", + "Service worker unregistered and caches cleared. Please reload the page.": "Service worker unregistered and caches cleared. Please reload the page.", + "Service worker unregistered. Please reload the page.": "Service worker unregistered. Please reload the page.", + "Share your thoughts, ask questions, or start a discussion...": "Share your thoughts, ask questions, or start a discussion...", + "Short Video Note": "Short Video Note", + "Show RSS Feed": "Show RSS Feed", + "Show all discussions in a single list": "Show all discussions in a single list", + "Show less": "Show less", + Since: "Since", + Small: "Small", + "Some relays have temporarily disabled writes.": "Some relays have temporarily disabled writes.", + Source: "Source", + "Spell definition": "Spell definition", + "Spell published": "Spell published", + "Start date": "Start date", + "Start typing to see a preview...": "Start typing to see a preview...", + "Subject (Book Title)": "Subject (Book Title)", + "Subject (book title) is required for reading groups": "Subject (book title) is required for reading groups", + "Subject / Topics": "Subject / Topics", + Subscribe: "Subscribe", + Subscribed: "Subscribed", + "Subscribed to topic": "Subscribed to topic", + "Subscribed to topic (local)": "Subscribed to topic (local)", + "Subscribing...": "Subscribing...", + Summary: "Summary", + "Supported Event Types": "Supported Event Types", + "Take a note": "Take a note", + "The full prompt conversation (optional)": "The full prompt conversation (optional)", + "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.": "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.", + "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.": "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.", + "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.": "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.", + "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a Nostr event of kind {{kind}}.": "This GIF was found in a Nostr event of kind {{kind}}.", + "This file could be either audio or video. Please select the correct type:": "This file could be either audio or video. Please select the correct type:", + "This store does not contain replaceable events": "This store does not contain replaceable events", + "This will add additional tags for author and subject to help organize reading group discussions.": "This will add additional tags for author and subject to help organize reading group discussions.", + "Thread Content": "Thread Content", + "Thread Title": "Thread Title", + "Thread creation timed out. Please try again.": "Thread creation timed out. Please try again.", + "Thread published": "Thread published", + "Threads are organized by topics. Choose a topic that best fits your discussion.": "Threads are organized by topics. Choose a topic that best fits your discussion.", + "Time-based": "Time-based", + "Title is required": "Title is required", + "Title must be 100 characters or less": "Title must be 100 characters or less", + "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.": "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.", + Top: "Top", + Topic: "Topic", + URL: "URL", + "URL of the article cover image (optional)": "URL of the article cover image (optional)", + "Unique identifier for this article (required)": "Unique identifier for this article (required)", + "Unmute failed": "Unmute failed", + "Unpin note": "Unpin note", + Unsubscribe: "Unsubscribe", + "Unsubscribed from topic": "Unsubscribed from topic", + "Unsubscribing...": "Unsubscribing...", + Until: "Until", + Untitled: "Untitled", + Update: "Update", + "Updating...": "Updating...", + "Upload Audio Comment": "Upload Audio Comment", + "Upload Audio Message": "Upload Audio Message", + "Upload Media": "Upload Media", + "Media kind": "Media kind", + "Use image/audio/video note kind for the media URL in the editor": "Use image/audio/video note kind for the media URL in the editor", + "Already publishing as a media note": "Already publishing as a media note", + "No media URL in note — upload or paste a link first": "No media URL in note — upload or paste a link first", + "Cannot infer media type from URL — use Note type → Media Note to upload": "Cannot infer media type from URL — use Note type → Media Note to upload", + "Media kind (disabled): add imeta tags, a media URL, or upload media first": "Media kind (disabled): add imeta tags, a media URL, or upload media first", + Upvote: "Upvote", + "User unmuted": "User unmuted", + "Version number (optional)": "Version number (optional)", + Video: "Video", + "Video Note": "Video Note", + "Video file": "Video file", + "View Console Logs": "View Console Logs", + "View JSON": "View JSON", + "View cached items in this store.": "View cached items in this store.", + "View definition": "View definition", + "View details about cached data in IndexedDB stores. Click on a store to view its items.": "View IndexedDB stores, or search all cached Nostr-like events (content, tags, id, pubkey, kind) across stores.", + "View on Alexandria": "View on Alexandria", + "View on DecentNewsroom": "View on DecentNewsroom", + "View on Wikistr": "View on Wikistr", + "View recent console logs for debugging": "View recent console logs for debugging", + "Voice Comment": "Voice Comment", + "Voice Note": "Voice Note", + "Voice note or audio file": "Voice note or audio file", + Volume: "Volume", + "Volume number (optional)": "Volume number (optional)", + "Vote published": "Vote published", + "Vote removed": "Vote removed", + "Website where LLM was accessed (optional)": "Website where LLM was accessed (optional)", + "Wiki Article (AsciiDoc)": "Wiki Article (AsciiDoc)", + "Wiki Article (Markdown)": "Wiki Article (Markdown)", + "You can only delete your own notes": "You can only delete your own notes", + "You must be logged in to create a thread": "You must be logged in to create a thread", + "You need to add at least one media server in order to upload media files.": "You need to add at least one media server in order to upload media files.", + "You need to login first": "You need to login first", + "Your account is blocked from posting to this relay.": "Your account is blocked from posting to this relay.", + Zap: "Zap", + "Zap failed": "Zap failed", + created_at: "created_at", + "e tag of kind 1040 event (optional)": "e tag of kind 1040 event (optional)", + "e.g. meetup, conference": "e.g. meetup, conference", + "e.g., 123-145 (optional)": "e.g., 123-145 (optional)", + "e.g., GPT-4, Claude, etc. (required)": "e.g., GPT-4, Claude, etc. (required)", + "e.g., my-article-title": "e.g., my-article-title", + entries: "entries", + "from Bunker": "from Bunker", + "from Extension": "from Extension", + "from NIP-05": "from NIP-05", + general: "general", + "https://example.com (required)": "https://example.com (required)", + "https://example.com/image.jpg": "https://example.com/image.jpg", + id: "id", + items: "items", + kind: "kind", + "kind:pubkey:hex format (required)": "kind:pubkey:hex format (required)", + "last updated": "last updated", + matching: "matching", + naddr: "naddr", + nevent: "nevent", + "nevent1..., naddr1..., note1..., hex ID, or https://...": "nevent1..., naddr1..., note1..., hex ID, or https://...", + "no notes found": "no notes found", + of: "of", + "on note": "on note", + optional: "optional", + pubkey: "pubkey", + "sent a public message": "sent a public message", + "sent you a public message": "sent you a public message", + "sent you a public message (along with {{count}} others)": "sent you a public message (along with {{count}} others)", + sig: "sig", + "started a discussion in {{topic}}": "started a discussion in {{topic}}", + tags: "tags", + thread: "thread", + threads: "threads", + "topic1, topic2, topic3": "topic1, topic2, topic3", + "{{count}} relay(s) selected": "{{count}} relay(s) selected", + "🔞 NSFW 🔞": "🔞 NSFW 🔞", + "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).": "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).", + "Compressing on your device before upload (large videos can take several minutes)…": "Compressing on your device before upload (large videos can take several minutes)…", + "Failed to refresh": "Failed to refresh", + "Invalid article link.": "Invalid article link.", + Likes: "Likes", + "Loading…": "Loading…", + "Missing pubkey": "Missing pubkey", + "No RSS feed list found on relays": "No RSS feed list found on relays", + "Pinned posts": "Pinned posts", + "Publishing...": "Publishing...", + "RSS article": "RSS article", + "RSS feed list refreshed": "RSS feed list refreshed", + "Save or discard your changes before refreshing from relays": "Save or discard your changes before refreshing from relays", + "Suggested topics": "Suggested topics", + "Synthetic event (no author)": "Synthetic event (no author)", + "Topic is required": "Topic is required", + "Type a topic or pick from the list": "Type a topic or pick from the list", + "Uploading to media server…": "Uploading to media server…", + profileEditorRefreshCacheHint: "profileEditorRefreshCacheHint", + startupSessionHydrating: "startupSessionHydrating", + "AI / LLM prompt citation": "AI / LLM prompt citation", + "AsciiDoc wiki contribution": "AsciiDoc wiki contribution", + "Attach image, audio, or video": "Attach image, audio, or video", + Citations: "Citations", + "Cite from external source": "Cite from external source", + "Cite from private relay": "Cite from private relay", + "Create a voting poll": "Create a voting poll", + "Create custom event": "Create custom event", + "Create event with custom kind": "Create event with custom kind", + "Custom Event": "Custom Event", + "Custom tag…": "Custom tag…", + Dismiss: "Dismiss", + "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.": "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.", + "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).": "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).", + "Failed to rebroadcast entire publication: {{error}}": "Failed to rebroadcast entire publication: {{error}}", + "Feed filter kind": "Feed filter kind", + "Feed filter kind hint": "Feed filter kind hint", + "Feed filter kind invalid": "Feed filter kind invalid", + "Feed filter kind placeholder": "Feed filter kind placeholder", + "Invalid event fields": "Invalid event fields", + "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).": "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).", + "Markdown article (NIP-23)": "Markdown article (NIP-23)", + "Markdown wiki contribution": "Markdown wiki contribution", + "Media Note": "Media Note", + "No publication events found for rebroadcast": "No publication events found for rebroadcast", + "No publication events were accepted by any relay": "No publication events were accepted by any relay", + "Note type": "Note type", + "Offline mode": "Offline mode", + "Only local relays and cached content are available.": "Only local relays and cached content are available.", + "Physical source citation": "Physical source citation", + "Plain text note (kind 1)": "Plain text note (kind 1)", + "Private relay publication": "Private relay publication", + "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).": "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).", + "Public Message": "Public Message", + "Public direct message (kind 4)": "Public direct message (kind 4)", + "Publication Note": "Publication Note", + "Rebroadcast entire publication": "Rebroadcast entire publication", + "Rebroadcast entire publication to ...": "Rebroadcast entire publication to ...", + "Rebroadcasted entire publication": "Rebroadcasted entire publication", + "Rebroadcasting entire publication...": "Rebroadcasting entire publication...", + "Save a quote or passage": "Save a quote or passage", + "Save data": "Save data", + "Set kind, content, and tags, then publish.": "Set kind, content, and tags, then publish.", + "Short Note": "Short Note", + "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.": "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.", + "Slow connection detected": "Slow connection detected", + "Start a discussion thread": "Start a discussion thread", + "This action is only available for publications": "This action is only available for publications", + "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.": "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.", + Thread: "Thread", + "Turn on low-bandwidth mode to reduce data usage.": "Turn on low-bandwidth mode to reduce data usage.", + "Turn on low-bandwidth mode? This will set: {{changes}}.": "Turn on low-bandwidth mode? This will set: {{changes}}.", + "Unsigned experimental kind": "Unsigned experimental kind", + "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.": "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.", + "media loading off": "media loading off", + profileEditorDuplicateSingleton: "profileEditorDuplicateSingleton", + profileEditorEditBannerUrl: "profileEditorEditBannerUrl", + profileEditorEditPictureUrl: "profileEditorEditPictureUrl", + profileEditorImageUrlHint: "profileEditorImageUrlHint", + profileEditorNostrBuildThumbHint: "profileEditorNostrBuildThumbHint", + profileEditorProfileNotLoaded: "profileEditorProfileNotLoaded", + profileEditorTagListHint: "profileEditorTagListHint", + "readOnlySession.hint": "readOnlySession.hint", + "readOnlySession.label": "readOnlySession.label", + "readOnlySession.labelShort": "readOnlySession.labelShort", + "video autoplay off": "video autoplay off", } } diff --git a/src/i18n/locales/es.ts b/src/i18n/locales/es.ts index 1038255c..d979a3fc 100644 --- a/src/i18n/locales/es.ts +++ b/src/i18n/locales/es.ts @@ -1,1841 +1,2010 @@ export default { translation: { - 'Welcome! 🥳': '¡Bienvenido! 🥳', - About: 'Acerca de', - 'New Note': 'Nueva nota', - Post: 'Publicar', - Home: 'Inicio', - Feed: 'Feed', - 'Favorite Relays': 'Relés favoritos', - 'Relay pulse': 'Relay pulse', - 'Relay pulse empty': 'Quiet on your relays in the last hour.', - 'Relay pulse follows': 'Following ({{count}})', - 'Relay pulse others': 'Others ({{count}})', - 'Relay pulse updated': 'Updated {{relative}}', - 'Relay pulse active npubs': 'Active npubs', - 'Relay pulse active npubs hint': - 'Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).', - 'Relay pulse drawer following': 'Following', - 'Relay pulse drawer others': 'Others', - 'Relay pulse drawer no profiles': 'No kind 0 profiles loaded for this sample yet.', - 'See the newest notes from your follows': 'See the newest notes from your follows', - 'All favorite relays': 'Todos los relés favoritos', - 'Pinned note': 'Pinned note', - 'Relay settings': 'Configuración de relés', - Settings: 'Ajustes', - 'Account menu': 'Account menu', - SidebarRelays: 'Relés', - Refresh: 'Actualizar', - 'refresh.longPressHardReload': 'Long-press: reload app and restore feed cache', - 'link.expandNostrEmbed': 'Show Nostr preview', - Profile: 'Perfil', - Logout: 'Cerrar sesión', - Following: 'Siguiendo', - followings: 'siguiendo', - boosted: 'boosteado', - 'Boosted by:': 'Boosted by:', - 'just now': 'justo ahora', - 'n minutes ago': 'hace {{n}} minutos', - 'n m': '{{n}}m', - 'n hours ago': 'hace {{n}} horas', - 'n h': '{{n}}h', - 'n days ago': 'hace {{n}} días', - 'n d': '{{n}}d', - date: '{{timestamp, date}}', - Follow: 'Seguir', - Unfollow: 'Dejar de seguir', - 'Follow failed': 'Error al seguir', - 'Unfollow failed': 'Error al dejar de seguir', - 'show new notes': 'mostrar nuevas notas', - 'loading...': 'cargando...', - 'Loading...': 'Cargando...', - 'no more notes': 'no hay más notas', - 'calendar entries': 'calendar entries', - 'Loading calendar events...': 'Loading calendar events...', - 'No calendar events found': 'No calendar events found', - 'Calendar events in the next {{count}} months': 'Calendar events in the next {{count}} months', - 'The nostr.band relay appears to be temporarily out of service. Please try again later.': - 'The nostr.band relay appears to be temporarily out of service. Please try again later.', - 'reply to': 'responder a', - reply: 'responder', - Reply: 'Responder', - 'load more older replies': 'cargar más respuestas antiguas', - 'Write something...': 'Escribe algo...', - Cancel: 'Cancelar', - Mentions: 'Menciones', - 'Search for event or address…': 'Search for event or address…', - 'Search notes…': 'Search notes…', - 'No notes found': 'No notes found', - 'Failed to post': 'Error al publicar', - 'Post successful': 'Publicación exitosa', - 'Your post has been published': 'Tu publicación ha sido publicada', - Boost: 'Boost', - 'Boost published': 'Boost publicado', - Quote: 'Citar', - 'Copy event ID': 'Copiar ID del evento', - 'Copy user ID': 'Copiar ID del usuario', - 'Send public message': 'Send public message', - 'View raw event': 'Ver evento sin procesar', - 'Edit this event': 'Edit this event', - 'Clone or fork this event': 'Clone or fork this event', - 'Event kind': 'Event kind', - 'Note content': 'Note content', - Publish: 'Publish', - 'Post published': 'Post published', - 'Edit content and tags, then publish a new signed event.': - 'Edit content and tags, then publish a new signed event.', - 'Log in to publish': 'Log in to publish', - 'Set when you publish': 'set when you publish', - 'id and sig are assigned when you publish': 'id and sig are assigned when you publish', - 'Published to some relays only': 'Published to some relays only', - 'Add field': 'Add field', - 'View full profile': 'View full profile', - Like: 'Me gusta', - 'switch to light theme': 'cambiar a tema claro', - 'switch to dark theme': 'cambiar a tema oscuro', - 'switch to system theme': 'cambiar al tema del sistema', - Note: 'Nota', - note: 'nota', - "username's following": 'Siguiendo de {{username}}', - "username's used relays": 'Relés usados por {{username}}', - "username's muted": 'Silenciados de {{username}}', - Login: 'Iniciar sesión', - downloadDesktopApp: 'Download app', - 'Please log in to view notifications.': 'Please log in to view notifications.', - 'Follows you': 'Te sigue', - 'Relay Settings': 'Configuración de relés', - 'Relays and Storage Settings': 'Relays and Storage Settings', - 'Relay set name': 'Nombre del conjunto de relés', - 'Add a new relay set': 'Agregar un nuevo conjunto de relés', - Add: 'Agregar', - 'n relays': '{{n}} relés', - Rename: 'Renombrar', - 'Copy share link': 'Copy share link', - 'Copy address': 'Copy address', - 'Copy payto URI': 'Copy payto URI', - 'Copied payto address': 'Copied payto address', - 'Copied to clipboard': 'Copied to clipboard', - 'Copied {{label}} address': 'Copied {{label}} address', - 'Lightning payment address – copy to pay via your wallet': - 'Lightning payment address – copy to pay via your wallet', - 'Payment address – copy to use in your wallet or app': - 'Payment address – copy to use in your wallet or app', - 'Click to open payment options': 'Click to open payment options', - 'Click to copy address': 'Click to copy address', - 'Open on website': 'Open on website', - 'Raw profile event': 'Raw profile event', - 'Full profile event': 'Full profile event', - 'Event (JSON)': 'Event (JSON)', - 'Save full profile': 'Save full profile', - 'Add tag': 'Add tag', - 'Remove tag': 'Remove tag', - 'Tag name': 'Tag name', - Value: 'Value', - 'Add value to tag': 'Add value to tag', - 'Remove value': 'Remove value', - 'No tags. Click "Add tag" to add one.': 'No tags. Click "Add tag" to add one.', - 'Profile updated': 'Profile updated', - 'Failed to publish profile': 'Failed to publish profile', - 'Invalid profile JSON': 'Invalid profile JSON', - 'Refresh cache': 'Refresh cache', - 'Force-refresh profile and payment info from relays': - 'Force-refresh profile and payment info from relays', - 'Profile and payment cache refreshed': 'Profile and payment cache refreshed', - 'Failed to refresh cache': 'Failed to refresh cache', - 'Raw payment info event': 'Raw payment info event', - 'Payment info': 'Payment info', - 'Edit payment info': 'Edit payment info', - 'Add payment info': 'Add payment info', - 'No payment info event yet. Click "Add payment info" to create one.': - 'No payment info event yet. Click "Add payment info" to create one.', - 'Content (JSON)': 'Content (JSON)', - Tags: 'Tags', - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])': - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])', - 'Payment info updated': 'Payment info updated', - 'Failed to publish payment info': 'Failed to publish payment info', - 'Invalid tags JSON': 'Invalid tags JSON', - 'Payment methods': 'Payment methods', - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).': - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).', - 'Type (e.g. lightning)': 'Type (e.g. lightning)', - 'Authority (e.g. user@domain.com)': 'Authority (e.g. user@domain.com)', - 'Add payment method': 'Add payment method', - Remove: 'Remove', - 'Additional content (JSON)': 'Additional content (JSON)', - 'Show full event JSON': 'Show full event JSON', - 'Tag list': 'Tag list', - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.': - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.', - 'Tag value': 'Tag value', - 'Saving…': 'Saving…', - 'Share with Imwald': 'Compartir con Imwald', - 'Share with Alexandria': 'Compartir con Alexandria', - 'Start video call': 'Start video call', - 'Copy call invite link': 'Copy call invite link', - 'Start call about this': 'Start call about this', - 'Send call invite': 'Send call invite', - 'Read this note aloud': 'Read this note aloud', - 'Read-aloud is not supported in this browser': 'Read-aloud is not supported in this browser', - 'Nothing to read aloud': 'Nothing to read aloud', - 'Read-aloud failed': 'Read-aloud failed', - 'Read aloud': 'Read aloud', - 'Read-aloud idle': 'Idle', - 'Preparing read-aloud…': 'Preparing read-aloud…', - 'Requesting audio…': 'Requesting audio…', - 'Loading audio…': 'Loading audio…', - Playing: 'Playing', - Paused: 'Paused', - 'Read-aloud finished': 'Finished', - 'Read-aloud error': 'Error', - 'TTS endpoint': 'TTS endpoint', - 'Using browser speech synthesis': 'Using browser speech synthesis', - 'Read-aloud section progress': 'Section {{current}} of {{total}}', - 'Request sent': 'Request sent', - 'Response received': 'Response received', - 'Playback started': 'Playback started', - Characters: 'Characters', - Pause: 'Pause', - Play: 'Play', - Stop: 'Stop', - 'Read-aloud sections': 'Read-aloud sections', - 'Read-aloud overall progress': 'Overall progress', - 'Read-aloud section done': 'Section {{index}}: finished', - 'Read-aloud section pending': 'Section {{index}}: not started yet', - 'Read-aloud section fetching': 'Section {{index}}: requesting audio', - 'Read-aloud section preparing audio': 'Section {{index}}: loading audio', - 'Read-aloud section playing': 'Section {{index}}: playing', - 'Read-aloud section paused': 'Section {{index}}: paused', - 'Read-aloud legend fetching': 'Requesting audio for this section from the server…', - 'Read-aloud legend buffering': 'Decoding audio for this section…', - 'Read-aloud legend playing': 'Playing this section.', - 'Read-aloud legend paused': 'Playback paused.', - 'Read-aloud Piper fallback notice': - 'Server voice (Piper) could not be used. Playing with your browser voice instead.', - 'Read-aloud Piper fallback detail label': 'Piper error', - 'Read-aloud Piper status region': 'Piper text-to-speech status', - 'Read-aloud Piper status heading': 'Piper (server voice)', - 'Read-aloud Piper skipped notice': - 'No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.', - 'Read-aloud Piper attempt started': - 'Piper was started at {{time}} (this read-aloud used the server first).', - 'Read-aloud Piper endpoint tried': 'URL used: {{url}}', - 'Join the video call': 'Join the video call', - 'Schedule video call': 'Schedule video call', + // NOTE: Untranslated strings fall back to English. + + "Welcome! 🥳": "¡Bienvenido! 🥳", + About: "Acerca de", + "New Note": "Nueva nota", + Post: "Publicar", + Home: "Inicio", + Feed: "Feed", + "Favorite Relays": "Relés favoritos", + "Relay pulse": "Relay pulse", + "Relay pulse empty": "Quiet on your relays in the last hour.", + "Relay pulse follows": "Following ({{count}})", + "Relay pulse others": "Others ({{count}})", + "Relay pulse updated": "Updated {{relative}}", + "Relay pulse active npubs": "Active npubs", + "Relay pulse active npubs hint": "Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).", + "Relay pulse drawer following": "Following", + "Relay pulse drawer others": "Others", + "Relay pulse drawer no profiles": "No kind 0 profiles loaded for this sample yet.", + "See the newest notes from your follows": "See the newest notes from your follows", + "All favorite relays": "Todos los relés favoritos", + "Pinned note": "Pinned note", + "Relay settings": "Configuración de relés", + "Relay auth accepted (NIP-42)": "The relay accepted authentication (NIP-42): {{relay}}{{detailSuffix}}", + "Relay auth rejected (NIP-42)": "The relay rejected authentication (NIP-42): {{relay}} — {{message}}", + "Relay auth error unknown": "Unknown error", + Settings: "Ajustes", + "Account menu": "Account menu", + SidebarRelays: "Relés", + Refresh: "Actualizar", + "refresh.longPressHardReload": "Long-press: reload app and restore feed cache", + "link.expandNostrEmbed": "Show Nostr preview", + Profile: "Perfil", + Logout: "Cerrar sesión", + Following: "Siguiendo", + followings: "siguiendo", + boosted: "boosteado", + "Boosted by:": "Boosted by:", + "just now": "justo ahora", + "n minutes ago": "hace {{n}} minutos", + "n m": "{{n}}m", + "n hours ago": "hace {{n}} horas", + "n h": "{{n}}h", + "n days ago": "hace {{n}} días", + "n d": "{{n}}d", + date: "{{timestamp, date}}", + Follow: "Seguir", + Unfollow: "Dejar de seguir", + "Follow failed": "Error al seguir", + "Unfollow failed": "Error al dejar de seguir", + "show new notes": "mostrar nuevas notas", + "loading...": "cargando...", + "Loading...": "Cargando...", + "no more notes": "no hay más notas", + "calendar entries": "calendar entries", + "Loading calendar events...": "Loading calendar events...", + "No calendar events found": "No calendar events found", + "Calendar events in the next {{count}} months": "Calendar events in the next {{count}} months", + "The nostr.band relay appears to be temporarily out of service. Please try again later.": "The nostr.band relay appears to be temporarily out of service. Please try again later.", + "reply to": "responder a", + reply: "responder", + Reply: "Responder", + "load more older replies": "cargar más respuestas antiguas", + "Write something...": "Escribe algo...", + Cancel: "Cancelar", + Mentions: "Menciones", + "Search for event or address…": "Search for event or address…", + "Search notes…": "Search notes…", + "No notes found": "No notes found", + "Failed to post": "Error al publicar", + "Post successful": "Publicación exitosa", + "Your post has been published": "Tu publicación ha sido publicada", + Boost: "Boost", + "Boost published": "Boost publicado", + Quote: "Citar", + "Copy event ID": "Copiar ID del evento", + "Copy user ID": "Copiar ID del usuario", + "Send public message": "Send public message", + "View raw event": "Ver evento sin procesar", + "Edit this event": "Edit this event", + "Clone or fork this event": "Clone or fork this event", + "Event kind": "Event kind", + "Note content": "Note content", + Publish: "Publish", + "Post published": "Post published", + "Edit content and tags, then publish a new signed event.": "Edit content and tags, then publish a new signed event.", + "Log in to publish": "Log in to publish", + "Set when you publish": "set when you publish", + "id and sig are assigned when you publish": "id and sig are assigned when you publish", + "Published to some relays only": "Published to some relays only", + "Add field": "Add field", + "View full profile": "View full profile", + Like: "Me gusta", + "switch to light theme": "cambiar a tema claro", + "switch to dark theme": "cambiar a tema oscuro", + "switch to system theme": "cambiar al tema del sistema", + Note: "Nota", + note: "nota", + "username's following": "Siguiendo de {{username}}", + "username's used relays": "Relés usados por {{username}}", + "username's muted": "Silenciados de {{username}}", + Login: "Iniciar sesión", + downloadDesktopApp: "Download app", + "Please log in to view notifications.": "Please log in to view notifications.", + "Follows you": "Te sigue", + "Relay Settings": "Configuración de relés", + "Relays and Storage Settings": "Relays and Storage Settings", + "Relay set name": "Nombre del conjunto de relés", + "Add a new relay set": "Agregar un nuevo conjunto de relés", + Add: "Agregar", + "n relays": "{{n}} relés", + Rename: "Renombrar", + "Copy share link": "Copy share link", + "Copy address": "Copy address", + "Copy payto URI": "Copy payto URI", + "Copied payto address": "Copied payto address", + "Copied to clipboard": "Copied to clipboard", + "Copied {{label}} address": "Copied {{label}} address", + "Lightning payment address – copy to pay via your wallet": "Lightning payment address – copy to pay via your wallet", + "Payment address – copy to use in your wallet or app": "Payment address – copy to use in your wallet or app", + "Click to open payment options": "Click to open payment options", + "Click to copy address": "Click to copy address", + "Open on website": "Open on website", + "Raw profile event": "Raw profile event", + "Full profile event": "Full profile event", + "Event (JSON)": "Event (JSON)", + "Save full profile": "Save full profile", + "Add tag": "Add tag", + "Remove tag": "Remove tag", + "Tag name": "Tag name", + Value: "Value", + "Add value to tag": "Add value to tag", + "Remove value": "Remove value", + "No tags. Click \"Add tag\" to add one.": "No tags. Click \"Add tag\" to add one.", + "Profile updated": "Profile updated", + "Failed to publish profile": "Failed to publish profile", + "Invalid profile JSON": "Invalid profile JSON", + "Refresh cache": "Refresh cache", + "Force-refresh profile and payment info from relays": "Force-refresh profile and payment info from relays", + "Profile and payment cache refreshed": "Profile and payment cache refreshed", + "Failed to refresh cache": "Failed to refresh cache", + "Raw payment info event": "Raw payment info event", + "Payment info": "Payment info", + "Edit payment info": "Edit payment info", + "Add payment info": "Add payment info", + "No payment info event yet. Click \"Add payment info\" to create one.": "No payment info event yet. Click \"Add payment info\" to create one.", + "Content (JSON)": "Content (JSON)", + Tags: "Tags", + "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])": "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])", + "Payment info updated": "Payment info updated", + "Failed to publish payment info": "Failed to publish payment info", + "Invalid tags JSON": "Invalid tags JSON", + "Payment methods": "Payment methods", + "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).": "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).", + "Type (e.g. lightning)": "Type (e.g. lightning)", + "Authority (e.g. user@domain.com)": "Authority (e.g. user@domain.com)", + "Add payment method": "Add payment method", + Remove: "Remove", + "Additional content (JSON)": "Additional content (JSON)", + "Show full event JSON": "Show full event JSON", + "Tag list": "Tag list", + "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.": "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.", + "Tag value": "Tag value", + "Saving…": "Saving…", + "Share with Imwald": "Compartir con Imwald", + "Share with Alexandria": "Compartir con Alexandria", + "Start video call": "Start video call", + "Copy call invite link": "Copy call invite link", + "Start call about this": "Start call about this", + "Send call invite": "Send call invite", + "Read this note aloud": "Read this note aloud", + "Read-aloud is not supported in this browser": "Read-aloud is not supported in this browser", + "Nothing to read aloud": "Nothing to read aloud", + "Read-aloud failed": "Read-aloud failed", + "Read aloud": "Read aloud", + "Read-aloud idle": "Idle", + "Preparing read-aloud…": "Preparing read-aloud…", + "Requesting audio…": "Requesting audio…", + "Loading audio…": "Loading audio…", + "Preparing player…": "Preparing player…", + "Starting stream…": "Starting stream…", + "Loading media…": "Loading media…", + "Buffering…": "Buffering…", + Playing: "Playing", + Paused: "Paused", + "Read-aloud finished": "Finished", + "Read-aloud error": "Error", + "TTS endpoint": "TTS endpoint", + "Using browser speech synthesis": "Using browser speech synthesis", + "Read-aloud section progress": "Section {{current}} of {{total}}", + "Request sent": "Request sent", + "Response received": "Response received", + "Playback started": "Playback started", + Characters: "Characters", + Pause: "Pause", + Play: "Play", + Stop: "Stop", + "Read-aloud sections": "Read-aloud sections", + "Read-aloud overall progress": "Overall progress", + "Read-aloud section done": "Section {{index}}: finished", + "Read-aloud section pending": "Section {{index}}: not started yet", + "Read-aloud section fetching": "Section {{index}}: requesting audio", + "Read-aloud section preparing audio": "Section {{index}}: loading audio", + "Read-aloud section playing": "Section {{index}}: playing", + "Read-aloud section paused": "Section {{index}}: paused", + "Read-aloud legend fetching": "Requesting audio for this section from the server…", + "Read-aloud legend buffering": "Decoding audio for this section…", + "Read-aloud legend playing": "Playing this section.", + "Read-aloud legend paused": "Playback paused.", + "Read-aloud Piper fallback notice": "Server voice (Piper) could not be used. Playing with your browser voice instead.", + "Read-aloud Piper fallback detail label": "Piper error", + "Read-aloud Piper status region": "Piper text-to-speech status", + "Read-aloud Piper status heading": "Piper (server voice)", + "Read-aloud Piper skipped notice": "No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.", + "Read-aloud Piper attempt started": "Piper was started at {{time}} (this read-aloud used the server first).", + "Read-aloud Piper endpoint tried": "URL used: {{url}}", + "Join the video call": "Join the video call", + "Schedule video call": "Schedule video call", "You're invited to a scheduled video call.": "You're invited to a scheduled video call.", - 'Create a calendar event and send an invite. The recipient will see the event with a join link.': - 'Create a calendar event and send an invite. The recipient will see the event with a join link.', - 'Schedule a video call': 'Schedule a video call', - 'Create a calendar event and send kind 24 invites to each listed invitee.': - 'Create a calendar event and send kind 24 invites to each listed invitee.', - Invitees: 'Invitees', - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)': - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)', - 'Schedule and send invites': 'Schedule and send invites', - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)': - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)', - 'Scheduled call created and {{count}} invite(s) sent': - 'Scheduled call created and {{count}} invite(s) sent', - 'Join video call': 'Join video call', - 'Scheduled video call': 'Scheduled video call', - 'Video call': 'Video call', - 'Schedule and send invite': 'Schedule and send invite', - 'Scheduling…': 'Scheduling…', - 'Please set a start time': 'Please set a start time', - 'End time must be after start time': 'End time must be after start time', - 'Failed to schedule call': 'Failed to schedule call', - 'Scheduled call created and invite sent': 'Scheduled call created and invite sent', - RSVP: 'RSVP', - 'RSVP: {{status}}': 'RSVP: {{status}}', - Accepted: 'Accepted', - Tentative: 'Tentative', - Declined: 'Declined', - 'You need to log in to RSVP': 'You need to log in to RSVP', - 'RSVP updated': 'RSVP updated', - 'Failed to update RSVP': 'Failed to update RSVP', - Organizer: 'Organizer', - Attendees: 'Attendees', - 'No response': 'No response', - 'Calendar Events': 'Calendar Events', - 'Calendar Event': 'Calendar Event', - 'Schedule in-person meeting': 'Schedule in-person meeting', - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.': - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.', + "Create a calendar event and send an invite. The recipient will see the event with a join link.": "Create a calendar event and send an invite. The recipient will see the event with a join link.", + "Schedule a video call": "Schedule a video call", + "Create a calendar event and send kind 24 invites to each listed invitee.": "Create a calendar event and send kind 24 invites to each listed invitee.", + Invitees: "Invitees", + "Paste nostr:npub1... or nostr:nprofile1... (one or more)": "Paste nostr:npub1... or nostr:nprofile1... (one or more)", + "Schedule and send invites": "Schedule and send invites", + "Add at least one invitee (paste nostr:npub or nostr:nprofile links)": "Add at least one invitee (paste nostr:npub or nostr:nprofile links)", + "Scheduled call created and {{count}} invite(s) sent": "Scheduled call created and {{count}} invite(s) sent", + "Join video call": "Join video call", + "Scheduled video call": "Scheduled video call", + "Video call": "Video call", + "Schedule and send invite": "Schedule and send invite", + "Scheduling…": "Scheduling…", + "Please set a start time": "Please set a start time", + "End time must be after start time": "End time must be after start time", + "Failed to schedule call": "Failed to schedule call", + "Scheduled call created and invite sent": "Scheduled call created and invite sent", + RSVP: "RSVP", + "RSVP: {{status}}": "RSVP: {{status}}", + Accepted: "Accepted", + Tentative: "Tentative", + Declined: "Declined", + "You need to log in to RSVP": "You need to log in to RSVP", + "RSVP updated": "RSVP updated", + "Failed to update RSVP": "Failed to update RSVP", + Organizer: "Organizer", + Attendees: "Attendees", + "No response": "No response", + "Calendar Events": "Calendar Events", + "Calendar Event": "Calendar Event", + "Schedule in-person meeting": "Schedule in-person meeting", + "Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.": "Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.", "You're invited to an in-person meeting.": "You're invited to an in-person meeting.", - 'Meeting created and invite sent': 'Meeting created and invite sent', - 'Failed to create meeting': 'Failed to create meeting', - 'Create and send invite': 'Create and send invite', - 'Creating…': 'Creating…', - 'In-person meeting': 'In-person meeting', - Location: 'Location', - 'Address, venue, or place': 'Address, venue, or place', - Description: 'Description', - 'Optional notes': 'Optional notes', - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.': - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.', - 'Meeting created and {{count}} invite(s) sent': 'Meeting created and {{count}} invite(s) sent', - 'Create and send invites': 'Create and send invites', - Title: 'Title', - Start: 'Start', - End: 'End', - Delete: 'Eliminar', - 'Relay already exists': 'El relé ya existe', - 'invalid relay URL': 'URL del relé inválida', - 'Relay URL…': 'wss://… or relay host', - 'Open relay': 'Open relay', - 'Add a new relay': 'Agregar un nuevo relé', - back: 'atrás', - 'Lost in the void': 'Perdido en el vacío', - 'Carry me home': 'Llévame a casa', - 'no replies': 'sin respuestas', - 'Reply to': 'Responder a', - Search: 'Buscar', - 'The relays you are connected to do not support search': - 'Los relés a los que estás conectado no soportan la búsqueda', - 'Show more...': 'Mostrar más...', - 'All users': 'Todos los usuarios', - 'Display replies': 'Mostrar respuestas', - Notes: 'Notas', - Replies: 'Respuestas', - Gallery: 'Galería', - Notifications: 'Notificaciones', - 'no more notifications': 'no hay más notificaciones', - 'Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.': - 'Usar el inicio de sesión con clave privada es inseguro. Se recomienda usar una extensión de navegador para iniciar sesión, como alby, nostr-keyx o nos2x. Si debes usar una clave privada, establece al menos una contraseña para cifrarla.', - 'Login with Browser Extension': 'Iniciar sesión con extensión de navegador', - 'Login with Bunker': 'Iniciar sesión con Bunker', - 'Login with Private Key': 'Iniciar sesión con clave privada', - 'Login with npub (read-only)': 'Iniciar sesión con npub (solo lectura)', - 'reload notes': 'recargar notas', - 'Logged in Accounts': 'Cuentas conectadas', - 'Add an Account': 'Agregar una cuenta', - 'More options': 'Más opciones', - 'Add client tag': 'Agregar etiqueta de cliente', - 'Show others this was sent via Imwald': 'Mostrar a otros que esto se envió vía Imwald', - 'Are you sure you want to logout?': '¿Estás seguro de que deseas cerrar sesión?', - 'relay sets': 'conjuntos de relés', - edit: 'editar', - Languages: 'Idiomas', - Theme: 'Tema', - System: 'Sistema', - Light: 'Claro', - Dark: 'Oscuro', - Temporary: 'Temporal', - 'Choose a relay set': 'Selecciona un conjunto de relés', - 'Switch account': 'Cambiar de cuenta', - Pictures: 'Imágenes', - 'Picture note': 'Nota con imagen', - 'A special note for picture-first clients like Olas': - 'Una nota especial para clientes que priorizan imagen, como Olas', - 'Picture note requires images': 'La nota con imagen requiere imágenes', - Relays: 'Relés', - Image: 'imagen', - 'Upload Image': 'Upload Image', - 'Insert emoji': 'Insert emoji', - 'Insert GIF': 'Insert GIF', - 'Insert meme': 'Insert meme', - 'Search GIFs': 'Search GIFs', - 'Search memes': 'Search memes', - 'Choose a GIF': 'Choose a GIF', - 'Choose a meme': 'Choose a meme', - 'Search GifBuddy for more GIFs': 'Search GifBuddy for more GIFs', - 'Add your own GIFs': 'Add your own GIFs', - 'Add your own meme templates': 'Add your own meme templates', - 'Description (optional, for search)': 'Description (optional, for search)', - 'e.g. happy birthday, thumbs up': 'e.g. happy birthday, thumbs up', - 'e.g. drake, distracted boyfriend': 'e.g. drake, distracted boyfriend', - 'Uploading...': 'Uploading...', - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.': - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.', - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).': - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).', - 'Failed to publish meme template for the picker': - 'Failed to publish meme template for the picker', - '{{name}} is not a GIF file': '{{name}} is not a GIF file', - '{{name}} is not a JPEG, PNG, or WebP file': '{{name}} is not a JPEG, PNG, or WebP file', - 'R & W': 'L y E', - Read: 'Leer', - Write: 'Escribir', - 'Pull relay sets': 'Recibir conjuntos de relés', - 'Select the relay sets you want to pull': - 'Selecciona los conjuntos de relés que deseas recibir', - 'No relay sets found': 'No se encontraron conjuntos de relés', - 'Pull n relay sets': 'Recibir {{n}} conjuntos de relés', - Pull: 'Recibir', - 'Select all': 'Seleccionar todo', - 'Relay Sets': 'Conjuntos de relés', - 'Read & Write Relays': 'Relés de lectura y escritura', - 'read relays description': - 'Los relés de lectura se usan para consultar eventos sobre ti. Otros usuarios publican eventos que deseas ver en tus relés de lectura.', - 'write relays description': - 'Los relés de escritura se usan para publicar tus eventos. Otros usuarios consultan tus eventos desde tus relés de escritura.', - 'read & write relays notice': - 'El número de servidores de lectura y escritura debería mantenerse idealmente entre 2 y 4.', - "Don't have an account yet?": '¿Aún no tienes una cuenta?', - 'or simply generate a private key': 'o simplemente genera una clave privada', - 'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.': - 'Esta es una clave privada. No la compartas con nadie. Guárdala de forma segura, ya que no podrás recuperarla si la pierdes.', - Edit: 'Editar', - Save: 'Guardar', - 'Display Name': 'Nombre para mostrar', - Bio: 'Biografía', - 'Nostr Address (NIP-05)': 'Dirección Nostr (NIP-05)', - 'Invalid NIP-05 address': 'Dirección NIP-05 inválida', - 'Copy private key': 'Copiar clave privada', - 'Enter the password to decrypt your ncryptsec': - 'Introduce la contraseña para descifrar tu ncryptsec', - Back: 'Volver', - 'optional: encrypt nsec': 'opcional: cifrar nsec', - password: 'contraseña', - 'Sign up': 'Regístrate', - 'Save to': 'Guardar en', - 'Enter a name for the new relay set': 'Introduce un nombre para el nuevo conjunto de relés', - 'Save to a new relay set': 'Guardar en un nuevo conjunto de relés', - Mute: 'Silenciar', - Muted: 'Silenciado', - Unmute: 'Activar sonido', - 'Unmute user': 'Activar sonido del usuario', - Block: 'Block', - Unblock: 'Unblock', - blocked: 'blocked', - 'Append n relays': 'Agregar {{n}} relés', - Append: 'Agregar', - 'Select relays to append': 'Selecciona relés para agregar', - 'calculating...': 'calculando...', - 'Calculate optimal read relays': 'Calcular relés de lectura óptimos', - 'Login to set': 'Inicia sesión para ajustar', - 'Please login to view following feed': 'Por favor inicia sesión para ver el feed de seguidos', - 'Follow set': 'Follow set', - 'Follow set feed empty': - 'This NIP-51 list is empty, was not found, or relays could not load it yet.', - 'Send only to r': 'Enviar únicamente a {{r}}', - 'Send only to these relays': 'Enviar únicamente a estos relés', - Explore: 'Explorar', - 'Relay reviews': 'Reseñas de relays', - 'Search relays': 'Buscar relés', - relayInfoBadgeAuth: 'Autenticación', - relayInfoBadgeSearch: 'Búsqueda', - relayInfoBadgePayment: 'Pago', - Operator: 'Operador', - Contact: 'Contacto', - Software: 'Software', - Version: 'Versión', - 'Random Relays': 'Relés aleatorios', - randomRelaysRefresh: 'Actualizar', - 'Explore more': 'Explorar más', - 'Payment page': 'Página de pago', - 'Supported NIPs': 'NIPs soportados', - 'Relay liveliness (NIP-66)': 'Relay liveliness (NIP-66)', - 'Relay monitor (NIP-66)': 'Relay monitor (NIP-66)', - 'Auth required': 'Auth required', - 'Public (no auth)': 'Public (no auth)', - 'Payment required': 'Payment required', - 'No payment': 'No payment', - 'Writes required': 'Writes required', - 'Writes open': 'Writes open', - 'PoW required': 'PoW required', - 'No PoW': 'No PoW', - 'RTT open': 'RTT open', - 'RTT read': 'RTT read', - 'RTT write': 'RTT write', - 'Supported NIPs (from monitor)': 'Supported NIPs (from monitor)', - 'Last reported by monitor': 'Last reported by monitor', - Network: 'Network', - Type: 'Type', - Topics: 'Topics', - 'Open in a': 'Abrir en {{a}}', - 'Cannot handle event of kind k': 'No se puede manejar el evento de tipo {{k}}', - 'Unsupported event preview': - 'There isn’t a dedicated card for this event type yet. Here’s a readable preview.', - 'No text content in event': 'No text in this event.', - 'Technical details': 'Technical details', - 'Event kind and time': 'Kind {{kind}} · {{time}}', - 'Event kind label': 'Kind {{kind}}', - 'Note kind label line': 'KIND: {{kind}} · {{description}}', - 'Unknown note declared kind tag': 'Tagged kind: {{value}}', - 'Unknown note tagged pubkey': 'Tagged pubkey', - 'Unknown note tagged content': 'Content', - 'Unknown note reference tags': 'Reference tags (e, p, q, a)', - 'Starred spells': 'Starred spells', - 'Spell star add title': 'Star spell (adds to your Nostr bookmarks)', - 'Spell star remove title': 'Unstar spell (removes from your Nostr bookmarks)', - 'Copy JSON': 'Copy JSON', - Verse: 'Verse', - 'Notification reaction summary': 'reacted to this note.', - 'Notification discussion upvote summary': 'upvoted in this discussion.', - 'Notification discussion downvote summary': 'downvoted in this discussion.', - 'Notification boost summary': 'Boosted this note', - 'Notification boost detail': 'The preview above is the original post.', - 'Notification poll vote summary': 'Voted on the poll above.', - 'Notification poll vote options count': '{{count}} option(s) selected', - 'Imwald synthetic event': 'Imwald synthetic event', - '+ Add a URL to this list': 'Add a URL to this list', - 'Add a web URL': 'Add a web URL', - 'Add web URL to feed description': - 'Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.', - 'Add to feed': 'Add to feed', - 'Open any https page in the side panel to reply, react, and discuss on Nostr.': - 'Open any https page in the side panel to reply, react, and discuss on Nostr.', - 'Enter a valid http(s) URL': 'Enter a valid http(s) URL', - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.': - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.', - 'Open in browser': 'Open in browser', - 'Web page': 'Web page', - Open: 'Open', - 'Sorry! The note cannot be found 😔': '¡Lo siento! No se pudo encontrar la nota 😔', - 'This user has been muted': 'Este usuario ha sido silenciado', - Wallet: 'Billetera', - Sats: 'Satoshis', - sats: 'satoshis', - 'Zap to': 'Enviar zap a', - 'Zap n sats': 'Enviar {{n}} satoshis', - zapComment: 'Comentario', - 'Default zap amount': 'Cantidad de zap predeterminada', - 'Default zap comment': 'Comentario predeterminado de zap', - 'Lightning Address (or LNURL)': 'Dirección Lightning (o LNURL)', - 'Quick zap': 'Zap rápido', - 'If enabled, you can zap with a single click. Click and hold for custom amounts': - 'Si está habilitado, puedes enviar un zap con un solo clic. Haz clic y mantén pulsado para cantidades personalizadas', - All: 'Todo', - Reactions: 'Reacciones', - Zaps: 'Zaps', - Boosts: 'Boosts', - Badges: 'Badges', - Reports: 'Reports', - 'Enjoying Imwald?': '¿Te gusta Imwald?', - 'Your donation helps me maintain Imwald and make it better! 😊': - '¡Tu donación me ayuda a mantener y mejorar Imwald! 😊', - 'Earlier notifications': 'Notificaciones anteriores', - 'Temporarily display this note': 'Mostrar esta nota temporalmente', - buttonFollowing: 'Siguiendo', - 'Are you sure you want to unfollow this user?': - '¿Estás seguro de que deseas dejar de seguir a este usuario?', - 'Recent Supporters': 'Últimos patrocinadores', - 'Seen on': 'Visto en', - 'Temporarily display this reply': 'Mostrar temporalmente esta respuesta', - 'Note not found': 'No se encontró la nota', - 'Invalid embedded note reference': 'Invalid embedded note reference', - embeddedNoteInvalidEmpty: 'This embedded link is empty.', - embeddedNoteInvalidHex: - 'This is not a valid hex event id (expected exactly 64 hexadecimal characters).', - embeddedNoteInvalidBech32: - 'This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.', - embeddedNoteInvalidWrongKind: - 'This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.', - 'The note was not found on your relays or default relays.': - 'The note was not found on your relays or default relays.', + "Meeting created and invite sent": "Meeting created and invite sent", + "Failed to create meeting": "Failed to create meeting", + "Create and send invite": "Create and send invite", + "Creating…": "Creating…", + "In-person meeting": "In-person meeting", + Location: "Location", + "Address, venue, or place": "Address, venue, or place", + Description: "Description", + "Optional notes": "Optional notes", + "Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.": "Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.", + "Meeting created and {{count}} invite(s) sent": "Meeting created and {{count}} invite(s) sent", + "Create and send invites": "Create and send invites", + Title: "Title", + Start: "Start", + End: "End", + Delete: "Eliminar", + "Relay already exists": "El relé ya existe", + "invalid relay URL": "URL del relé inválida", + "Relay URL…": "wss://… or relay host", + "Open relay": "Open relay", + "Add a new relay": "Agregar un nuevo relé", + back: "atrás", + "Lost in the void": "Perdido en el vacío", + "Carry me home": "Llévame a casa", + "no replies": "sin respuestas", + "Reply to": "Responder a", + Search: "Buscar", + "The relays you are connected to do not support search": "Los relés a los que estás conectado no soportan la búsqueda", + "Show more...": "Mostrar más...", + "All users": "Todos los usuarios", + "Display replies": "Mostrar respuestas", + Notes: "Notas", + Replies: "Respuestas", + Gallery: "Galería", + Notifications: "Notificaciones", + "no more notifications": "no hay más notificaciones", + "Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.": "Usar el inicio de sesión con clave privada es inseguro. Se recomienda usar una extensión de navegador para iniciar sesión, como alby, nostr-keyx o nos2x. Si debes usar una clave privada, establece al menos una contraseña para cifrarla.", + "Login with Browser Extension": "Iniciar sesión con extensión de navegador", + "Login with Bunker": "Iniciar sesión con Bunker", + "Login with Private Key": "Iniciar sesión con clave privada", + "Login with npub (read-only)": "Iniciar sesión con npub (solo lectura)", + readOnlySession: {"label":"Read-only","labelShort":"R/O","hint":"Browsing without a signing key. Sign in with an extension, nsec, or another method to post, react, and edit."}, + "reload notes": "recargar notas", + "Logged in Accounts": "Cuentas conectadas", + "Add an Account": "Agregar una cuenta", + "More options": "Más opciones", + "Add client tag": "Agregar etiqueta de cliente", + "Show others this was sent via Imwald": "Mostrar a otros que esto se envió vía Imwald", + "Are you sure you want to logout?": "¿Estás seguro de que deseas cerrar sesión?", + "relay sets": "conjuntos de relés", + edit: "editar", + Languages: "Idiomas", + Theme: "Tema", + System: "Sistema", + Light: "Claro", + Dark: "Oscuro", + Temporary: "Temporal", + "Choose a relay set": "Selecciona un conjunto de relés", + "Switch account": "Cambiar de cuenta", + Pictures: "Imágenes", + "Picture note": "Nota con imagen", + "A special note for picture-first clients like Olas": "Una nota especial para clientes que priorizan imagen, como Olas", + "Picture note requires images": "La nota con imagen requiere imágenes", + Relays: "Relés", + Image: "imagen", + "This image could not be loaded.": "This image could not be loaded.", + "Invalid or unsupported image address.": "Invalid or unsupported image address.", + "Open image link": "Open image link", + "Upload Image": "Upload Image", + "Insert emoji": "Insert emoji", + "Insert GIF": "Insert GIF", + "Insert meme": "Insert meme", + "Search GIFs": "Search GIFs", + "Search memes": "Search memes", + "Choose a GIF": "Choose a GIF", + "Choose a meme": "Choose a meme", + "Search GifBuddy for more GIFs": "Search GifBuddy for more GIFs", + "Add your own GIFs": "Add your own GIFs", + "Add your own meme templates": "Add your own meme templates", + "Description (optional, for search)": "Description (optional, for search)", + "e.g. happy birthday, thumbs up": "e.g. happy birthday, thumbs up", + "e.g. drake, distracted boyfriend": "e.g. drake, distracted boyfriend", + "Uploading...": "Uploading...", + "No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.": "No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.", + "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).": "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).", + "Failed to publish meme template for the picker": "Failed to publish meme template for the picker", + "{{name}} is not a GIF file": "{{name}} is not a GIF file", + "{{name}} is not a JPEG, PNG, or WebP file": "{{name}} is not a JPEG, PNG, or WebP file", + "R & W": "L y E", + Read: "Leer", + Write: "Escribir", + "Pull relay sets": "Recibir conjuntos de relés", + "Select the relay sets you want to pull": "Selecciona los conjuntos de relés que deseas recibir", + "No relay sets found": "No se encontraron conjuntos de relés", + "Pull n relay sets": "Recibir {{n}} conjuntos de relés", + Pull: "Recibir", + "Select all": "Seleccionar todo", + "Relay Sets": "Conjuntos de relés", + "Read & Write Relays": "Relés de lectura y escritura", + "read relays description": "Los relés de lectura se usan para consultar eventos sobre ti. Otros usuarios publican eventos que deseas ver en tus relés de lectura.", + "write relays description": "Los relés de escritura se usan para publicar tus eventos. Otros usuarios consultan tus eventos desde tus relés de escritura.", + "read & write relays notice": "El número de servidores de lectura y escritura debería mantenerse idealmente entre 2 y 4.", + "Don't have an account yet?": "¿Aún no tienes una cuenta?", + "or simply generate a private key": "o simplemente genera una clave privada", + "This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.": "Esta es una clave privada. No la compartas con nadie. Guárdala de forma segura, ya que no podrás recuperarla si la pierdes.", + Edit: "Editar", + Save: "Guardar", + "Display Name": "Nombre para mostrar", + Bio: "Biografía", + "Nostr Address (NIP-05)": "Dirección Nostr (NIP-05)", + "Invalid NIP-05 address": "Dirección NIP-05 inválida", + "Copy private key": "Copiar clave privada", + "Enter the password to decrypt your ncryptsec": "Introduce la contraseña para descifrar tu ncryptsec", + Back: "Volver", + "optional: encrypt nsec": "opcional: cifrar nsec", + password: "contraseña", + "Sign up": "Regístrate", + "Save to": "Guardar en", + "Enter a name for the new relay set": "Introduce un nombre para el nuevo conjunto de relés", + "Save to a new relay set": "Guardar en un nuevo conjunto de relés", + Mute: "Silenciar", + Muted: "Silenciado", + Unmute: "Activar sonido", + "Unmute user": "Activar sonido del usuario", + Block: "Block", + Unblock: "Unblock", + blocked: "blocked", + "Append n relays": "Agregar {{n}} relés", + Append: "Agregar", + "Select relays to append": "Selecciona relés para agregar", + "calculating...": "calculando...", + "Calculate optimal read relays": "Calcular relés de lectura óptimos", + "Login to set": "Inicia sesión para ajustar", + "Please login to view following feed": "Por favor inicia sesión para ver el feed de seguidos", + "Follow set": "Follow set", + "Follow set feed empty": "This NIP-51 list is empty, was not found, or relays could not load it yet.", + "Send only to r": "Enviar únicamente a {{r}}", + "Send only to these relays": "Enviar únicamente a estos relés", + Explore: "Explorar", + "Relay reviews": "Reseñas de relays", + "Search relays": "Buscar relés", + relayInfoBadgeAuth: "Autenticación", + relayInfoBadgeSearch: "Búsqueda", + relayInfoBadgePayment: "Pago", + Operator: "Operador", + Contact: "Contacto", + Software: "Software", + Version: "Versión", + "Random Relays": "Relés aleatorios", + randomRelaysRefresh: "Actualizar", + "Explore more": "Explorar más", + "Payment page": "Página de pago", + "Supported NIPs": "NIPs soportados", + "Relay liveliness (NIP-66)": "Relay liveliness (NIP-66)", + "Relay monitor (NIP-66)": "Relay monitor (NIP-66)", + "Auth required": "Auth required", + "Public (no auth)": "Public (no auth)", + "Payment required": "Payment required", + "No payment": "No payment", + "Writes required": "Writes required", + "Writes open": "Writes open", + "PoW required": "PoW required", + "No PoW": "No PoW", + "RTT open": "RTT open", + "RTT read": "RTT read", + "RTT write": "RTT write", + "Supported NIPs (from monitor)": "Supported NIPs (from monitor)", + "Last reported by monitor": "Last reported by monitor", + Network: "Network", + Type: "Type", + Topics: "Topics", + "Open in a": "Abrir en {{a}}", + "Cannot handle event of kind k": "No se puede manejar el evento de tipo {{k}}", + "Unsupported event preview": "There isn’t a dedicated card for this event type yet. Here’s a readable preview.", + "No text content in event": "No text in this event.", + "Technical details": "Technical details", + "Event kind and time": "Kind {{kind}} · {{time}}", + "Event kind label": "Kind {{kind}}", + "Note kind label line": "KIND: {{kind}} · {{description}}", + "Unknown note declared kind tag": "Tagged kind: {{value}}", + "Unknown note tagged pubkey": "Tagged pubkey", + "Unknown note tagged content": "Content", + "Unknown note reference tags": "Reference tags (e, p, q, a)", + "Starred spells": "Starred spells", + "Spell star add title": "Star spell (adds to your Nostr bookmarks)", + "Spell star remove title": "Unstar spell (removes from your Nostr bookmarks)", + "Copy JSON": "Copy JSON", + Verse: "Verse", + "Notification reaction summary": "reacted to this note.", + "Notification discussion upvote summary": "upvoted in this discussion.", + "Notification discussion downvote summary": "downvoted in this discussion.", + "Notification boost summary": "Boosted this note", + "Notification boost detail": "The preview above is the original post.", + "Notification poll vote summary": "Voted on the poll above.", + "Notification poll vote options count": "{{count}} option(s) selected", + "Imwald synthetic event": "Imwald synthetic event", + "+ Add a URL to this list": "Add a URL to this list", + "Add a web URL": "Add a web URL", + "Add web URL to feed description": "Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.", + "Add to feed": "Add to feed", + "Open any https page in the side panel to reply, react, and discuss on Nostr.": "Open any https page in the side panel to reply, react, and discuss on Nostr.", + "Enter a valid http(s) URL": "Enter a valid http(s) URL", + "Opened by URL — not from your RSS list. Nostr thread is still tied to this link.": "Opened by URL — not from your RSS list. Nostr thread is still tied to this link.", + "Open in browser": "Open in browser", + "liveEvent.zapStreamPlayer": "Live stream (zap.stream)", + liveStreamEmbedSuppressed: "Inline live stream is hidden because your kind filter excludes NIP-53 streams. Open via njump or another client below.", + "liveEvent.hlsPlaybackUnavailable": "Inline playback failed (the stream may be offline, ended, or blocked). You can still open the hosted watch page below.", + "liveEvent.hideFromCarousel": "Hide from carousel", + "liveEvent.showInCarousel": "Show in carousel", + "liveEvent.hideFromCarouselTitle": "Hide this stream in the live carousel (saved in this browser on this device). Click again to show it.", + "liveEvent.showInCarouselTitle": "Show this stream in the live carousel again.", + "Web page": "Web page", + Open: "Open", + "Sorry! The note cannot be found 😔": "¡Lo siento! No se pudo encontrar la nota 😔", + "This user has been muted": "Este usuario ha sido silenciado", + Wallet: "Billetera", + Sats: "Satoshis", + sats: "satoshis", + "Zap to": "Enviar zap a", + "Zap n sats": "Enviar {{n}} satoshis", + zapComment: "Comentario", + "Default zap amount": "Cantidad de zap predeterminada", + "Default zap comment": "Comentario predeterminado de zap", + "Lightning Address (or LNURL)": "Dirección Lightning (o LNURL)", + "Quick zap": "Zap rápido", + "If enabled, you can zap with a single click. Click and hold for custom amounts": "Si está habilitado, puedes enviar un zap con un solo clic. Haz clic y mantén pulsado para cantidades personalizadas", + All: "Todo", + Reactions: "Reacciones", + Zaps: "Zaps", + Boosts: "Boosts", + Badges: "Badges", + Reports: "Reports", + "Enjoying Imwald?": "¿Te gusta Imwald?", + "Your donation helps me maintain Imwald and make it better! 😊": "¡Tu donación me ayuda a mantener y mejorar Imwald! 😊", + "Earlier notifications": "Notificaciones anteriores", + "Temporarily display this note": "Mostrar esta nota temporalmente", + buttonFollowing: "Siguiendo", + "Are you sure you want to unfollow this user?": "¿Estás seguro de que deseas dejar de seguir a este usuario?", + "Recent Supporters": "Últimos patrocinadores", + "Seen on": "Visto en", + "Active relays": "Active relays", + "Not connected": "Not connected", + "Relay session striked": "Skipped this session (too many connection failures)", + "More relays": "+{{count}} relays", + "Temporarily display this reply": "Mostrar temporalmente esta respuesta", + "Note not found": "No se encontró la nota", + "Invalid embedded note reference": "Invalid embedded note reference", + embeddedNoteInvalidEmpty: "This embedded link is empty.", + embeddedNoteInvalidHex: "This is not a valid hex event id (expected exactly 64 hexadecimal characters).", + embeddedNoteInvalidBech32: "This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.", + embeddedNoteInvalidWrongKind: "This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.", + "The note was not found on your relays or default relays.": "The note was not found on your relays or default relays.", "Try searching author's relays": "Try searching author's relays", - 'Searching external relays...': 'Searching external relays...', - "This will connect to the author's relays and relay hints": - "This will connect to the author's relays and relay hints", - 'Note could not be found anywhere': 'Note could not be found anywhere', - 'Try external relays': 'Try external relays', - 'Searching...': 'Searching...', - 'Show relays': 'Show relays', - 'No external relay hints available': 'No external relay hints available', - 'External relay search is not available for this link type': - 'External relay search is not available for this link type.', - 'Searched external relays not found': - 'Searched {{count}} external relays; the note was still not found.', - 'no more replies': 'no hay más respuestas', - 'Relay sets': 'Conjuntos de relés', - 'Search for Relays': 'Search for Relays', - 'Using app default relays': 'Using app default relays', - "Following's Favorites": 'Favoritos de los seguidos', - 'no more relays': 'no hay más relés', - 'Favorited by': 'Favoritado por', - 'Post settings': 'Ajustes de publicación', - 'Publishing feedback': 'Publishing feedback', - 'Publish success toasts': 'Publish success toasts', - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.': - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.', - 'Publish successful': 'Publish successful', - 'Media upload service': 'Servicio de carga de medios', - 'Choose a relay': 'Selecciona un relé', - 'no relays found': 'no se encontraron relés', - video: 'video', - 'Show n new notes': 'Mostrar {{n}} nuevas notas', - YouTabName: 'You', - Bookmark: 'Marcador', - 'Remove bookmark': 'Quitar marcador', - 'no bookmarks found': 'No se encontraron marcadores', - 'no more bookmarks': 'No hay más marcadores', - Bookmarks: 'Marcadores', - 'Follow Packs': 'Follow Packs', - 'Follow Pack': 'Follow Pack', - 'Follow pack by': 'by', - 'In Follow Packs': 'In Follow Packs', - 'Badge details': 'Badge details', - 'Issued by': 'Issued by', - 'Other recipients': 'Other recipients', - 'No other recipients found': 'No other recipients found', - 'Recipients could not be loaded': 'Recipients could not be loaded', - 'View award': 'View award', - 'Awarded on': 'Awarded on', - 'Please log in to follow': 'Please log in to follow', - 'Following All': 'Following All', - 'Followed {{count}} users': 'Followed {{count}} users', - 'All available members are already followed or muted': - 'All available members are already followed or muted', - 'You are already following all members of this pack': - 'You are already following all members of this pack', - 'Failed to follow pack': 'Failed to follow pack', - '{{count}} profiles': '{{count}} profiles', - 'Show more': 'Mostrar más', - General: 'General', - Autoplay: 'Reproducción automática', - 'Enable video autoplay on this device': - 'Habilitar reproducción automática de video en este dispositivo', - 'liveActivities.heading': 'Live now', - 'liveActivities.regionLabel': 'Live spaces and streams', - 'liveActivities.fromFollow': 'From someone you follow', - 'liveActivities.goToSlide': 'Show live item {{n}}', - 'liveActivities.settingsToggle': 'Live activities banner', - 'liveActivities.settingsHint': - 'Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.', - 'Add random relays to every publish': 'Random relays in publish list', - 'Add random relays to every publish description': - 'Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.', - relayType_local: 'Local', - relayType_relay_list: 'Relay list', - relayType_http_relay_list: 'HTTP', - 'HTTP relays': 'HTTP relays', - httpRelaysDescription: - 'HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.', - 'HTTP relays saved': 'HTTP relays saved', - 'Failed to save HTTP relay list': 'Failed to save HTTP relay list', - 'HTTP relays must start with https:// or http://': - 'HTTP relays must start with https:// or http://', - relayType_client_default: 'Client default', - relayType_open_from: 'Current feed', - relayType_favorite: 'Favorite', - relayType_relay_set: 'Relay set', - relayType_contextual: 'Reply/PM', - relayType_randomly_selected: 'Random (optional)', - 'Session relays': 'Session relays', - 'Session relays tab description': - 'Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish).', - 'Session relays preset working': 'Working preset relays', - 'Session relays preset working hint': - 'Preset relays (from app defaults) that have not reached 3 publish failures this session.', - 'Session relays preset striked': 'Striked preset relays', - 'Session relays preset striked hint': - 'Preset relays that have reached 3 publish failures this session and are skipped for the rest of the session.', - 'Session relays scored random': 'Scored random relays', - 'Session relays scored random hint': - 'Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.', - 'Session relays all striked': 'All striked relays (any source)', - 'Session relays clear strike': 'Allow again', - 'Session relays clear strike hint': - 'Remove this relay from the session block list; it will be used again until new connection failures.', - successes: 'successes', - None: 'None', - 'Cache & offline storage': 'Cache & offline storage', - feedStarting: 'Starting feeds and relays… This can take a few seconds after login.', - refreshCacheButtonExplainer: - 'Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.', - 'eventArchive.sectionTitle': 'Notes & feed archive', - 'eventArchive.sectionBlurb': - 'Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.', - 'eventArchive.defaultsMobile': - 'This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).', - 'eventArchive.defaultsElectron': - 'Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.defaultsDesktopWeb': - 'Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.enablePersist': 'Persist feed events to disk', - 'eventArchive.maxMb': 'Max archive size (MB), blank = default for this device', - 'eventArchive.maxEvents': 'Max archived events, blank = default', - 'eventArchive.sessionLru': 'In-memory session cache (event count), blank = default', - 'eventArchive.effectiveSummary': - 'Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.', - 'eventArchive.on': 'on', - 'eventArchive.off': 'off', - 'eventArchive.apply': 'Apply cache settings', - 'eventArchive.appliedToast': 'Cache settings saved. Session memory updated.', - 'Paste or drop media files to upload': 'Pegar o soltar archivos multimedia para cargar', - Preview: 'Vista previa', - 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'Estás a punto de publicar un evento firmado por [{{eventAuthorName}}]. Actualmente has iniciado sesión como [{{currentUsername}}]. ¿Estás seguro?', - 'Platinum Sponsors': 'Patrocinadores Platino', - From: 'De', - 'Comment on': 'Comentar en', - 'View on njump.me': 'Ver en njump.me', - 'Hide content from untrusted users': 'Ocultar contenido de usuarios no confiables', - 'Only show content from your followed users and the users they follow': - 'Solo mostrar contenido de tus usuarios seguidos y los usuarios que ellos siguen', - 'Followed by': 'Seguidos por', - 'Mute user privately': 'Silenciar usuario en privado', - 'Mute user publicly': 'Silenciar usuario públicamente', - Quotes: 'Citas', - 'Lightning Invoice': 'Factura Lightning', - 'Bookmark failed': 'Error al marcar', - 'Remove bookmark failed': 'Error al quitar marcador', - Translation: 'Traducción', - Balance: 'Saldo', - characters: 'caracteres', - translateApiKeyDescription: - 'Puedes usar esta clave API en cualquier otro lugar que soporte LibreTranslate. La URL del servicio es {{serviceUrl}}', - 'Top up': 'Recargar', - 'Will receive: {n} characters': 'Recibirás: {{n}} caracteres', - 'Top up {n} sats': 'Recargar {{n}} satoshis', - 'Minimum top up is {n} sats': 'La recarga mínima es de {{n}} satoshis', - Service: 'Servicio', - 'Reset API key': 'Restablecer clave API', - 'Are you sure you want to reset your API key? This action cannot be undone.': - '¿Estás seguro de que deseas restablecer tu clave API? Esta acción no se puede deshacer.', - Warning: 'Advertencia', - 'Errors & warnings': 'Errors & warnings', - 'Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.': - 'Tu clave API actual se volverá inválida de inmediato, y cualquier aplicación que la use dejará de funcionar hasta que las actualices con la nueva clave.', - 'Service address': 'Dirección del servicio', - Pay: 'Pagar', - interactions: 'interacciones', - notifications: 'notificaciones', - notificationsViewAsAccount: 'View as', - notificationsViewAsAccountAria: - 'Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.', - notificationsSwitchAccountFailed: - 'Could not switch account. Check your signer, password, or extension and try again.', - 'Show untrusted {type}': 'Mostrar {{type}} no confiables', - 'Hide untrusted {type}': 'Ocultar {{type}} no confiables', - 'Currently hiding {type} from untrusted users.': - 'Actualmente ocultando {{type}} de usuarios no confiables.', - 'Currently showing all {type}.': 'Actualmente mostrando todas las {{type}}.', - 'Click continue to show all {type}.': 'Haz clic en continuar para mostrar todas las {{type}}.', - 'Click continue to hide {type} from untrusted users.': - 'Haz clic en continuar para ocultar {{type}} de usuarios no confiables.', - 'Trusted users include people you follow and people they follow.': - 'Los usuarios confiables incluyen a las personas que sigues y a las personas que ellos siguen.', - Continue: 'Continuar', - 'Successfully updated mute list': 'Lista de silenciamiento actualizada con éxito', - 'No pubkeys found from {url}': 'No se encontraron pubkeys desde {{url}}', - 'Translating...': 'Traduciendo...', - Translate: 'Traducir', - 'Show original': 'Mostrar original', - Website: 'Sitio web', - 'Hide untrusted notes': 'Ocultar notas no confiables', - 'Open in another client': 'Abrir en otro cliente', - Community: 'Comunidad', - Group: 'Grupo', - 'Live event': 'Evento en vivo', - Article: 'Artículo', - Unfavorite: 'Desfavoritar', - 'Recommended relays': 'Relés recomendados', - 'Show recommended relays panel': 'Show recommended relays panel', - 'Display the right-side panel with recommended relays on desktop': - 'Display the right-side panel with recommended relays on desktop', - 'Blossom server URLs': 'URLs del servidor Blossom', - 'You need to add at least one blossom server in order to upload media files.': - 'Necesitas agregar al menos un servidor Blossom para poder cargar archivos multimedia.', - 'Recommended blossom servers': 'Servidores Blossom recomendados', - 'Enter Blossom server URL': 'Ingresar URL del servidor Blossom', - Preferred: 'Preferido', - 'Multiple choice (select one or more)': 'Opción múltiple (selecciona una o más)', - Vote: 'Votar', - '{{number}} votes': '{{number}} votos', - 'Total votes': 'Total de votos', - 'Poll has ended': 'La encuesta ha terminado', - 'Poll ends at {{time}}': 'La encuesta termina el {{time}}', - 'Load results': 'Cargar resultados', - 'This is a poll note.': 'Esta es una nota de encuesta.', - 'Unlike regular notes, polls are not widely supported and may not display on other clients.': - 'A diferencia de las notas regulares, las encuestas no son ampliamente compatibles y pueden no mostrarse en otros clientes.', - 'Option {{number}}': 'Opción {{number}}', - 'Add Option': 'Agregar Opción', - 'Allow multiple choices': 'Permitir múltiples opciones', - 'End Date (optional)': 'Fecha de finalización (opcional)', - 'Clear end date': 'Borrar fecha de finalización', - 'Relay URLs (optional, comma-separated)': 'URLs de relé (opcional, separadas por comas)', - 'Remove poll': 'Eliminar encuesta', - 'Refresh results': 'Actualizar resultados', - '{{votes}} · {{pct}}%': '{{votes}} · {{pct}}%', - 'See results': 'See results', - 'Zap poll (paid votes)': 'Zap poll (paid votes)', - 'Invalid zap poll': 'Invalid zap poll', - 'You voted on this poll (zap receipt)': 'You voted on this poll (zap receipt)', - 'Poll closed {{time}}': 'Poll closed {{time}}', - 'Closes {{time}}': 'Closes {{time}}', - 'Vote size': 'Vote size', - '{{n}} sats (fixed)': '{{n}} sats (fixed)', - '{{min}}–{{max}} sats': '{{min}}–{{max}} sats', - '≥ {{n}} sats': '≥ {{n}} sats', - '≤ {{n}} sats': '≤ {{n}} sats', - 'Loading tally…': 'Loading tally…', - 'Zap poll no votes yet': - 'No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).', - 'Consensus threshold': 'Consensus threshold', - 'Pay to': 'Pay to', - Recipient: 'Recipient', - Option: 'Option', - 'Select option': 'Select option', - 'Select an option': 'Select an option', - 'Vote with zap': 'Vote with zap', - 'Zap sent': 'Zap sent', - 'Zapping…': 'Zapping…', - 'Refresh tally': 'Refresh tally', - '{{n}} zaps': '{{n}} zaps', - Poll: 'Encuesta', - Media: 'medios', - 'Articles and Publications': 'Articles and Publications', - 'Search articles...': 'Search articles...', - 'Refreshing articles...': 'Refreshing articles...', - 'No articles or publications found': 'No articles or publications found', - 'No articles or publications match your search': - 'No articles or publications match your search', - 'articles and publications': 'articles and publications', - Interests: 'Interests', - Calendar: 'Calendar', - 'No subscribed interests yet.': - 'No subscribed interests yet. Add topics in settings to see them here.', - 'No bookmarked notes with id tags yet.': - 'No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.', - 'No follows or relays to load yet.': 'No follows or relays to load yet.', - 'Nothing to load for this feed.': 'Nothing to load for this feed.', - 'No posts loaded for this feed. Try refreshing.': - 'No posts loaded for this feed. Try refreshing.', - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.': - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.', - 'Per-relay timeline results ({{count}} connections)': - 'Per-relay timeline results ({{count}} connections)', - 'Republish to ...': 'Republicar a ...', - 'All available relays': 'All available relays', - 'All active relays (monitoring list)': 'All active relays (monitoring list)', - 'Successfully republish to all available relays': - 'Successfully republish to all available relays', - 'Failed to republish to all available relays: {{error}}': - 'Failed to republish to all available relays: {{error}}', - 'Successfully republish to all active relays': 'Successfully republish to all active relays', - 'Failed to republish to all active relays: {{error}}': - 'Failed to republish to all active relays: {{error}}', - 'No active relays in monitoring list': 'No active relays in monitoring list', - 'No relay accepted the event': 'No relay accepted the event', - 'No relays available': 'No relays available', - 'No write relays configured': 'No write relays configured', - 'Relay did not accept the event': 'Relay did not accept the event', - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".': - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".', - 'Successfully republish to your write relays': 'Republicado con éxito a tus relés de escritura', - 'Failed to republish to your write relays: {{error}}': - 'Error al republicar a tus relés de escritura: {{error}}', - 'Successfully republish to relay set: {{name}}': - 'Republicado con éxito al conjunto de relés: {{name}}', - 'Failed to republish to relay set: {{name}}. Error: {{error}}': - 'Error al republicar al conjunto de relés: {{name}}. Error: {{error}}', - 'Successfully republish to relay: {{url}}': 'Republicado con éxito al relé: {{url}}', - 'Failed to republish to relay: {{url}}. Error: {{error}}': - 'Error al republicar al relé: {{url}}. Error: {{error}}', - 'Write relays': 'Relés de escritura', - 'No more reactions': 'No hay más reacciones', - 'No reactions yet': 'Sin reacciones aún', - 'No more zaps': 'No hay más zaps', - 'No zaps yet': 'Sin zaps aún', - 'No more boosts': 'No hay más boosts', - 'No boosts yet': 'Sin boosts aún', - 'n more boosts': '{{count}} more boosts', - FollowListNotFoundConfirmation: - 'Lista de seguidos no encontrada. ¿Quieres crear una nueva? Si has seguido usuarios antes, por favor NO confirmes ya que esta operación te hará perder tu lista de seguidos anterior.', - MuteListNotFoundConfirmation: - 'Lista de silenciados no encontrada. ¿Quieres crear una nueva? Si has silenciado usuarios antes, por favor NO confirmes ya que esta operación te hará perder tu lista de silenciados anterior.', - 'Show NSFW content by default': 'Mostrar contenido NSFW por defecto', - 'Custom emoji management': 'Gestión de emojis personalizados', - 'After changing emojis, you may need to refresh the page': - 'Después de cambiar los emojis, es posible que necesites actualizar la página', - 'Too many read relays': 'Demasiados relés de lectura', - 'Too many write relays': 'Demasiados relés de escritura', - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'Tienes {{count}} relés de lectura. La mayoría de los clientes solo usan 2-4 relés, configurar más es innecesario.', - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'Tienes {{count}} relés de escritura. La mayoría de los clientes solo usan 2-4 relés, configurar más es innecesario.', - 'Optimize Relay Settings': 'Optimizar configuración de relés', - 'Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.': - 'Tu configuración actual de relés puede no ser óptima. Esto podría hacer que sea difícil para otros encontrar tus publicaciones y puede resultar en notificaciones incompletas.', - 'Optimize Now': 'Optimizar ahora', - 'Maybe Later': 'Tal vez más tarde', - "Don't remind me again": 'No recordar de nuevo', - Posts: 'Publicaciones', - 'Posts (OPs)': 'Posts (OPs)', - 'Kind 1 replies': 'Kind 1 replies', - Comments: 'Comments', - 'Replies & comments': 'Replies & comments', - Articles: 'Artículos', - Highlights: 'Destacados', - 'A note from': 'A note from', - Polls: 'Encuestas', - 'Zap polls': 'Zap polls', - 'Voice Posts': 'Publicaciones de voz', - 'Photo Posts': 'Publicaciones de fotos', - 'Video Posts': 'Publicaciones de video', - 'Git repositories': 'Git repositories', - 'Git issues': 'Git issues', - 'Git releases': 'Git releases', - 'Git Republic repository': 'Git Republic repository', - 'Git Republic issue': 'Git Republic issue', - 'Git Republic release': 'Git Republic release', - 'Git Republic event': 'Git Republic event', - 'Git Republic': 'Git Republic', - 'Open in Git Republic': 'Open in Git Republic', - 'Pre-release': 'Pre-release', - Draft: 'Draft', - 'Repository release': 'Repository release', - 'New Repository Release': 'New Repository Release', - 'Release notes use the editor below (optional).': - 'Release notes use the editor below (optional).', - 'Repository owner (npub or hex)': 'Repository owner (npub or hex)', - 'Repository id (d-tag)': 'Repository id (d-tag)', - 'Git tag name': 'Git tag name', - 'Tag target (40-char commit hash)': 'Tag target (40-character commit hash)', - '40-character hex SHA-1': '40-character hex SHA-1', - 'Release title': 'Release title', - 'Download URL': 'Download URL', - 'Draft release': 'Draft release', - 'Fill repository release fields': 'Fill in all required repository release fields.', - 'Invalid repository owner pubkey': 'Invalid repository owner (use npub or 64-char hex).', - 'Citations require private relays (NIP-65).': - 'Citations require private outbox relays (NIP-65).', - 'Select All': 'Seleccionar todo', - 'Clear All': 'Limpiar todo', - 'Set as default filter': 'Establecer como filtro predeterminado', - 'Use filter': 'Use filter', - 'See all events': 'See all events', - 'See all events hint': - 'Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.', - 'Use filter hint': 'Only the kinds you select below are requested and shown.', - Apply: 'Aplicar', - Reset: 'Restablecer', - 'Share something on this Relay': 'Comparte algo en este relé', - 'Try deleting this note': 'Intenta eliminar esta nota', - 'Deletion request sent to {{count}} relays': - 'Solicitud de eliminación enviada a {{count}} relés', - 'Suitable Relays': 'Relés adecuados', - 'People, keywords, or relays': 'Personas, palabras clave o relés', - 'Hide content mentioning muted users': 'Ocultar contenido que mencione usuarios silenciados', - 'This note mentions a user you muted': 'Esta nota menciona a un usuario que silenciaste', - Filter: 'Filtro', - 'Feed filter': 'Feed filter', - 'Search loaded posts': 'Search loaded posts', - 'Filter loaded posts placeholder': 'Filter by text in content or tags…', - 'Feed filter author': 'Author', - 'Feed filter author everyone': 'From everyone', - 'Feed filter author me': 'Only from me', - 'Feed filter author npub': 'From user (npub or hex)', - 'Feed filter author npub from prefix': 'from:', - 'Feed filter author npub placeholder': 'npub1… or 64-char hex', - 'Feed filter author me needs login': 'Log in to filter by your pubkey', - 'Within the last': 'Within the last', - 'Time unit': 'Time unit', - Minutes: 'Minutes', - Days: 'Days', - Weeks: 'Weeks', - Months: 'Months', - Years: 'Years', - 'Feed filter client-side hint': - 'Filters only apply to posts already loaded; relays are not queried again.', - 'Feed full search': 'Perform full search', - 'Feed full search running': 'Searching…', - 'Feed full search clear': 'Clear', - 'Feed full search active hint': - 'Showing relay search results. Clear to return to the live feed.', - 'Feed full search need constraint': - 'Add search text, an author filter, or a time range before searching relays.', - 'Feed full search invalid feed': 'This feed cannot run a relay search.', - 'Feed full search failed': 'Relay search failed. Try again.', - 'Feed full search empty': 'No matching posts were found on the queried relays.', - 'No loaded posts match your filters.': 'No loaded posts match your filters.', - 'mentioned you in a note': 'te mencionó en una nota', - 'quoted your note': 'citó tu nota', - 'quoted this note': 'Quoted this note', - 'highlighted this note': 'Highlighted this note', - 'cited in article': 'Cited in article', - 'Thread backlinks heading': 'Also quoting this note', - 'Thread backlinks primary section': 'Quotes, highlights & citations', - 'Thread backlinks bookmarks section': 'Bookmarks', - 'Thread backlinks lists section': 'Lists & collections', - 'View full note and thread': 'View full note and thread', - 'labeled this note': 'Labeled this note', - 'reported this note': 'Reported this note', - 'bookmarked this note': 'Bookmarked this note', - 'pinned this note': 'Pinned this note', - 'listed this note': 'Listed this note', - 'bookmark set reference': 'Bookmark set includes this note', - 'curated this note': 'Curated this note', - 'badge award for this note': 'Badge award for this note', - 'referenced this note': 'Referenced this note', - 'Report events heading': 'Moderation reports', - 'voted in your poll': 'votó en tu encuesta', - 'reacted to your note': 'reaccionó a tu nota', - 'boosted your note': 'boosteó tu nota', - 'zapped your note': 'zappeó tu nota', - 'zapped you': 'te zappeó', - zapped: 'zapped', - 'Invalid zap receipt': 'Invalid zap receipt', - 'Zapped note': 'Zapped note', - 'Zapped profile': 'Zapped profile', - 'Zap reply threshold': 'Zap reply threshold', - 'Zaps above this amount will appear as replies in threads': - 'Zaps above this amount will appear as replies in threads', - 'Mark as read': 'Marcar como leído', - Report: 'Reportar', - 'Successfully report': 'Reporte exitoso', - 'Failed to report': 'Fallo al reportar', - nudity: 'Desnudez', - malware: 'Software malicioso', - profanity: 'Blasfemia', - illegal: 'Contenido ilegal', - spam: 'Spam', - other: 'Otro', - 'Notification list style': 'Estilo de lista de notificaciones', - 'See extra info for each notification': 'Ver información adicional para cada notificación', - 'See more notifications at a glance': 'Ver más notificaciones de un vistazo', - Detailed: 'Detallado', - 'Submit Relay': 'Enviar relé', - Homepage: 'Página principal', - 'Proof of Work (difficulty {{minPow}})': 'Prueba de Trabajo (dificultad {{minPow}})', - 'via {{client}}': 'vía {{client}}', - 'Auto-load media': 'Cargar medios automáticamente', - Always: 'Siempre', - 'Wi-Fi only': 'Solo Wi-Fi', - Never: 'Nunca', - 'Click to load image': 'Haz clic para cargar la imagen', - 'Click to load media': 'Haz clic para cargar los medios', - 'Click to load YouTube video': 'Haz clic para cargar el video de YouTube', - '{{count}} reviews': '{{count}} reseñas', - 'Write a review': 'Escribir una reseña', - 'No reviews yet. Be the first to write one!': - '¡Aún no hay reseñas. Sé el primero en escribir una!', - 'View more reviews': 'Ver más reseñas', - 'Failed to review': 'Error al reseñar', - 'Write a review and pick a star rating': - 'Escriba una reseña y elija una calificación de estrellas', - Submit: 'Enviar', - 'Reviews for {{relay}}': 'Reseñas para {{relay}}', - 'No relays selected': 'No hay relés seleccionados', - 'Post to': 'Publicar en', - 'Write relays and {{count}} other relays': 'Relés de escritura y {{count}} otros relés', - '{{count}} relays': '{{count}} relés', - 'Republishing...': 'Republicando...', - 'Trending Notes': 'Notas de tendencia', - 'Trending on Your Favorite Relays': 'Trending on Your Favorite Relays', - 'Trending on the Default Relays': 'Trending on the Default Relays', - 'Latest from your follows': 'Latest from your follows', - 'Latest from our recommended follows': 'Latest from our recommended follows', - 'Follows latest page title': 'Latest from follows', - 'Follows latest page description': - 'Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.', - 'Follows latest nav label': 'Follows latest', - 'Loading follow list…': 'Loading follow list…', - 'Could not load recommended follows': 'Could not load recommended follows', - 'Your follow list is empty': 'Your follow list is empty', - 'Loading recent posts from follows…': 'Loading recent posts from follows…', - 'Loading more…': 'Loading more…', - 'No recent posts from this user in the current fetch': - 'No recent posts from this user in the current fetch', - 'Loading trending notes from your relays...': 'Loading trending notes from your relays...', - Sort: 'Sort', - newest: 'newest', - oldest: 'oldest', - 'most popular': 'most popular', - 'least popular': 'least popular', - 'Connected to': 'Conectado a', - 'Disconnect Wallet': 'Desconectar billetera', - 'Are you absolutely sure?': '¿Estás absolutamente seguro?', - 'You will not be able to send zaps to others.': 'No podrás enviar zaps a otros.', - Disconnect: 'Desconectar', - 'Set up your wallet to send and receive sats!': - '¡Configura tu billetera para enviar y recibir sats!', - 'Set up': 'Configurar', - 'nested events': 'nested events', - 'Loading RSS feeds...': 'Loading RSS feeds...', - 'No RSS feed items available': 'No RSS feed items available', - 'Show or hide the RSS page and sidebar entry': 'Show or hide the RSS page and sidebar entry', - 'Refreshing feeds...': 'Refreshing feeds...', - 'All feeds': 'All feeds', - 'All time': 'All time', - 'Last hour': 'Last hour', - 'Last day': 'Last day', - 'Last week': 'Last week', - 'Last month': 'Last month', - 'Last 24 hours': 'Last 24 hours', - 'Last 48 hours': 'Last 48 hours', - 'Time range': 'Time range', - 'Filter by RSS source': 'Filter by RSS source', - 'No items match your filters': 'No items match your filters', - 'Search...': 'Search...', - '{{count}} feeds': '{{count}} feeds', - 'Toggle filters': 'Toggle filters', - 'Showing {{filtered}} of {{total}} items': 'Showing {{filtered}} of {{total}} items', - Full: 'Full', - Compact: 'Compacto', - Expand: 'Expand', - 'help.title': 'Help', - 'help.tabShortcuts': 'Keyboard shortcuts', - 'help.tabOverview': 'App overview', - 'shortcuts.title': 'Keyboard shortcuts', - 'shortcuts.intro': - 'Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.', - 'shortcuts.sectionApp': 'This app', - 'shortcuts.sectionSearch': 'Search bar', - 'shortcuts.sectionStandard': 'Standard', - 'shortcuts.openHelp': 'Show this help', - 'shortcuts.or': 'or', - 'shortcuts.then': 'then', - 'shortcuts.focusPrimary': - 'Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)', - 'shortcuts.focusSecondary': - 'Focus side panel scroll when it is open (desktop; same keys to scroll)', - 'shortcuts.newNote': 'New note / post (after login if needed)', - 'shortcuts.searchSuggest': 'Move through suggestions', - 'shortcuts.searchDismiss': 'Close search dropdown', - 'shortcuts.tabNavigate': 'Move focus to the next or previous control', - 'shortcuts.activate': 'Activate buttons and many controls', - 'shortcuts.closeOverlays': 'Close dialogs, menus, and the search dropdown', - 'shortcuts.scrollWhenFocused': 'Scroll the focused scrollable area', - 'shortcuts.browserBack': 'Browser back (history)', - 'No spells yet. Create one with the button above.': - 'No spells yet. Create one with the button above.', - 'Loading spells from your relays…': 'Loading spells from your relays…', - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.': - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.', - 'Select a spell…': 'Select a spell…', - 'Spells from follows': 'From people you follow ({{count}})', - 'Other spells': 'Other spells ({{count}})', - 'Select a spell to view its feed.': 'Select a spell to view its feed.', - 'Add another row': 'Add another row', - 'Remove this row': 'Remove this row', - 'One kind number per row (e.g. 1 for notes).': 'One kind number per row (e.g. 1 for notes).', - 'One author per row: $me, $contacts, or hex pubkey / npub.': - 'One author per row: $me, $contacts, or hex pubkey / npub.', - 'One hex event id per row.': 'One hex event id per row.', - 'One wss:// URL per row. Leave empty to use your write relays.': - 'One wss:// URL per row. Leave empty to use your write relays.', - 'One topic per row.': 'One topic per row.', - topic: 'topic', - 'Spell form fields': 'Spell form fields', - 'Counting matching events…': 'Counting matching events…', - 'Edit spell': 'Edit spell', - 'Clone spell': 'Clone spell', - 'Spell cloned': 'Spell cloned', - 'Clone spell intro': - 'This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.', - 'Spell updated': 'Spell updated', - 'Relay URL': 'Relay', - Count: 'Count', - 'Edit spell relays': 'Edit relays', - 'COUNT spell relay errors hint': - 'One or more relays failed or returned an error. You can change the relay list in the spell and save again.', - 'COUNT spell total distinct explanation': - 'Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.', - 'Leave empty to use your write relays.': 'Leave empty to use your write relays.', - 'COUNT spell result explanation': - 'Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.', - 'COUNT spell may be capped by limit': - 'This count may equal your spell limit — there could be more matching events on the network.', - 'Spell count failed. Check relays or try again.': - 'Could not complete the count. Check relays or try again.', - 'REQ returns a feed; COUNT returns a number.': - 'REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.', - listImportManualLabel: 'Pre-fill from event', - listImportFromEventHint: - 'Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.', - listImportManualPlaceholder: '64-char hex, nevent1…, or naddr1…', - listImportLoadManual: 'Apply', - listImportContentSkipped: - 'This event has non-empty content (may include encrypted private items). Only public tags were merged.', - listImportUnsupportedEmoji: - 'This list includes emoji tags (NIP-30); those are not added to the spell filter.', - listImportUnsupportedTag: - 'Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.', - listImportBadATag: 'Could not parse address tag: {{preview}}…', - listImportATagNotFound: 'Could not resolve address tag: {{preview}}…', - listImportATagFailed: 'Failed to resolve address tag: {{preview}}…', - listImportEventNotFound: 'No event found for that reference.', - 'REQ tag filters': 'REQ tag filters', - spellFormTagFiltersLabel: 'Tag filters on matching events', - spellCreateIntro: - 'Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.', - spellFormSectionQueryTitle: 'Spell query', - spellFormSectionQueryHint: - 'This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).', - spellFormSectionMetadataTitle: 'Listing & labels (optional)', - spellFormSectionMetadataBadge: 'Not part of the query', - spellFormSectionMetadataHint: - 'Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.', - spellFormCatalogTopicsLabel: 'Topic labels on this spell (t tags)', - spellTopicsMetadataHint: - 'One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).', - spellTagFiltersHint: - 'Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.', - spellTagFiltersEmpty: 'No tag filters yet. Add rows below or apply an event reference above.', - 'Tag filter letter': 'Tag letter', - 'Filter value': 'Value', - 'Add tag filter': 'Add tag filter', - spellPickerSectionYours: 'Your spells', - 'Failed to remove spell from local storage': 'Failed to remove spell from local storage', - Spells: 'Spells', - 'doublePane.secondaryEmpty': 'Open a note, profile, or settings item to show it here.', - 'doublePane.secondaryEmptyHint': 'Your feed and primary pages stay on the left.', - '(empty)': '(empty)', - '12-hour (AM/PM)': '12-hour (AM/PM)', - '24-hour': '24-hour', - 'A new version is available': 'A new version is available', - 'A short description of the article content': 'A short description of the article content', - AM: 'AM', - 'Access via': 'Access via', - 'Accessed On': 'Accessed On', - 'Accessed on': 'Accessed on', - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.': - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.', - 'Add a relay to block': 'Add a relay to block', - 'Add at least one invitee': 'Add at least one invitee', - 'Add client identifier': 'Add client identifier', - 'Add expiration tags by default': 'Add expiration tags by default', - 'Add quiet tags by default': 'Add quiet tags by default', - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above': - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above', - 'Add the source (where this text is from)': 'Add the source (where this text is from)', - 'Add to favorites': 'Add to favorites', - 'Add {{count}} Selected': 'Add {{count}} Selected', - 'Added at': 'Added at', - 'Added {{count}} relay(s)': 'Added {{count}} relay(s)', - 'Adding...': 'Adding...', - 'Adding…': 'Adding…', - 'Advanced Options': 'Advanced Options', - 'All Topics': 'All Topics', - 'All feeds from OPML file are already added': 'All feeds from OPML file are already added', - 'All items deleted successfully': 'All items deleted successfully', - 'Already blocked': 'Already blocked', - 'Already saved': 'Already saved', - 'Application Recommendations': 'Application Recommendations', - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.': - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.', - 'Are you sure you want to delete all items from this store?': - 'Are you sure you want to delete all items from this store?', - 'Are you sure you want to unmute this user? This will restore the follow button.': - 'Are you sure you want to unmute this user? This will restore the follow button.', - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", - 'Article exported as AsciiDoc': 'Article exported as AsciiDoc', - 'Article exported as Markdown': 'Article exported as Markdown', - 'Article title (optional)': 'Article title (optional)', - articleDTagDefaultHint: - 'Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….', - Audio: 'Audio', - Author: 'Author', - 'Author is required for reading groups': 'Author is required for reading groups', - 'Author name (optional)': 'Author name (optional)', - Authors: 'Authors', - 'Block Relay': 'Block Relay', - 'Blocked Relays': 'Blocked Relays', - 'Blocking...': 'Blocking...', - Blossom: 'Blossom', - Book: 'Book', - 'Brief description of the event': 'Brief description of the event', - 'Brief summary (optional)': 'Brief summary (optional)', - 'Brief summary of the article (optional)': 'Brief summary of the article (optional)', - 'Browse Cache': 'Browse Cache', - 'C-Tag': 'C-Tag', - 'Cache Relays': 'Cache Relays', - 'Cache cleared successfully': 'Cache cleared successfully', - 'Cache refreshed successfully': 'Cache refreshed successfully', - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.': - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.', - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)': - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)', - 'Cache relays saved': 'Cache relays saved', - Cancelled: 'Cancelled', - Chapter: 'Chapter', - 'Chapter Title': 'Chapter Title', - 'Chapter title (optional)': 'Chapter title (optional)', - Citation: 'Citation', - 'Citation title (optional)': 'Citation title (optional)', - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.': - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})', - 'Cleanup Duplicates': 'Cleanup Duplicates', - Clear: 'Clear', - 'Clear Cache': 'Clear Cache', - 'Clear Service Worker': 'Clear Service Worker', - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.': - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.', - 'Click update to get the latest features and improvements': - 'Click update to get the latest features and improvements', - Close: 'Close', - 'Comma or space-separated topics (will be added as t-tags)': - 'Comma or space-separated topics (will be added as t-tags)', - Command: 'Command', - Configure: 'Configure', - 'Connect Wallet': 'Connect Wallet', - 'Console Logs': 'Console Logs', - 'Console logs cleared': 'Console logs cleared', - 'Content is required': 'Content is required', - 'Content must be 5000 characters or less': 'Content must be 5000 characters or less', - Controversial: 'Controversial', - 'Copied!': 'Copied!', - 'Copy to clipboard': 'Copy to clipboard', - 'Create Article': 'Create Article', - 'Create Citation': 'Create Citation', - 'Create Highlight': 'Create Highlight', - 'Create New Thread': 'Create New Thread', - 'Create Poll': 'Create Poll', - 'Create Thread': 'Create Thread', - composeModeKind1: 'Short note (kind 1) — turn off other compose types', - 'Create a Spell': 'Create a Spell', - 'Creating...': 'Creating...', - 'D-Tag': 'D-Tag', - 'D-Tag is required for articles': 'D-Tag is required for articles', - DOI: 'DOI', - 'Date-based (all-day)': 'Date-based (all-day)', - 'Default expiration (months)': 'Default expiration (months)', - 'Default quiet period (days)': 'Default quiet period (days)', - 'Delete All': 'Delete All', - 'Delete item': 'Delete item', - 'Deleted {{count}} event(s)': 'Deleted {{count}} event(s)', - 'Deletion request sent': 'Deletion request sent', - 'Description (content)': 'Description (content)', - 'Digital Object Identifier (optional)': 'Digital Object Identifier (optional)', - 'Disable word wrap': 'Disable word wrap', - 'Discovered Relays': 'Discovered Relays', - 'Discovering relays...': 'Discovering relays...', - Discussion: 'Discussion', - Discussions: 'Discussions', - Downvote: 'Downvote', - 'Edited by': 'Edited by', - Editor: 'Editor', - 'Editor name (optional)': 'Editor name (optional)', - 'Enable word wrap': 'Enable word wrap', - 'End date': 'End date', - 'End date must be after start date': 'End date must be after start date', - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.': - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.', - 'Enter a descriptive title for your thread': 'Enter a descriptive title for your thread', - 'Enter the author name': 'Enter the author name', - 'Enter the book title': 'Enter the book title', - 'Enter the specific text you want to highlight in the main content area above': - 'Enter the specific text you want to highlight in the main content area above', - 'Event IDs (ids)': 'Event IDs (ids)', - 'Event appears to be invalid or corrupted': 'Event appears to be invalid or corrupted', - 'Event has no value data': 'Event has no value data', - 'Event is missing required fields: {{fields}}': 'Event is missing required fields: {{fields}}', - 'Event type': 'Event type', - 'Expiration Tags': 'Expiration Tags', - 'Export OPML': 'Export OPML', - 'Export as AsciiDoc': 'Export as AsciiDoc', - 'Export as Markdown': 'Export as Markdown', - 'External Citation': 'External Citation', - 'External Citation Settings': 'External Citation Settings', - 'Failed to add relay. Please try again.': 'Failed to add relay. Please try again.', - 'Failed to add relays': 'Failed to add relays', - 'Failed to block relay. Please try again.': 'Failed to block relay. Please try again.', - 'Failed to cleanup duplicates': 'Failed to cleanup duplicates', - 'Failed to clear cache': 'Failed to clear cache', - 'Failed to copy': 'Failed to copy', - 'Failed to create relay set. Please try again.': - 'Failed to create relay set. Please try again.', - 'Failed to create thread': 'Failed to create thread', - 'Failed to create thread. Please try a different relay.': - 'Failed to create thread. Please try a different relay.', - 'Failed to delete all items': 'Failed to delete all items', - 'Failed to delete item': 'Failed to delete item', - 'Failed to discover relays': 'Failed to discover relays', - 'Failed to export OPML file': 'Failed to export OPML file', - 'Failed to export article': 'Failed to export article', - 'Failed to import OPML file: {{error}}': 'Failed to import OPML file: {{error}}', - 'Failed to load RSS feeds': 'Failed to load RSS feeds', - 'Failed to load store items': 'Failed to load store items', - 'Failed to mute user privately': 'Failed to mute user privately', - 'Failed to mute user publicly': 'Failed to mute user publicly', - 'Failed to pin note': 'Failed to pin note', - 'Failed to publish post': 'Failed to publish post', - 'Failed to publish reply': 'Failed to publish reply', - 'Failed to publish thread': 'Failed to publish thread', - 'Failed to publish to some relays. Please try again or use different relays.': - 'Failed to publish to some relays. Please try again or use different relays.', - 'Failed to save RSS feeds': 'Failed to save RSS feeds', - 'Failed to save cache relays': 'Failed to save cache relays', - 'Failed to save relay list': 'Failed to save relay list', - 'Failed to unregister service worker: ': 'Failed to unregister service worker: ', - 'Failed to unsubscribe from topic': 'Failed to unsubscribe from topic', - Favorite: 'Favorite', - Fetch: 'Fetch', - 'Fetch once, then stop.': 'Fetch once, then stop.', - 'Filter by': 'Filter by', - 'Flat View': 'Flat View', - 'Font size': 'Font size', - 'Full Quote/Context': 'Full Quote/Context', - 'Full-text search query': 'Full-text search query', - Geohash: 'Geohash', - 'Geohash (optional)': 'Geohash (optional)', - 'Global quiet mode': 'Global quiet mode', - 'Group discussions by topic': 'Group discussions by topic', - 'Grouped View': 'Grouped View', - Groups: 'Groups', - 'Handler {{index}}': 'Handler {{index}}', - 'Hardcopy Citation': 'Hardcopy Citation', - 'Hardcopy Citation Settings': 'Hardcopy Citation Settings', - Hide: 'Hide', - 'Hide interactions on all posts': 'Hide interactions on all posts', - 'Hide interactions on posts with quiet tags': 'Hide interactions on posts with quiet tags', - 'High PoW': 'High PoW', - 'Higher values make your thread harder to mine but more unique.': - 'Higher values make your thread harder to mine but more unique.', - Highlight: 'Highlight', - 'Highlight Settings': 'Highlight Settings', - 'How to Create a Highlight (NIP-84)': 'How to Create a Highlight (NIP-84)', - 'Human-readable spell name': 'Human-readable spell name', - 'Image URL': 'Image URL', - 'Import OPML': 'Import OPML', - 'Imported {{count}} feed(s) from OPML file': 'Imported {{count}} feed(s) from OPML file', - 'In-Browser Cache': 'In-Browser Cache', - Insert: 'Insert', - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).': - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).', - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.': - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.', - 'Insert event or address': 'Insert event or address', - 'Insert mention': 'Insert mention', - 'Internal Citation': 'Internal Citation', - 'Internal Citation Settings': 'Internal Citation Settings', - 'Invalid Event': 'Invalid Event', - 'Invalid Lightning Address': 'Invalid Lightning Address', - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.': - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.', - 'Invalid URL': 'Invalid URL', - 'Invalid content JSON': 'Invalid content JSON', - 'Invalid relay URL': 'Invalid relay URL', - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.': - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.', - 'Item deleted successfully': 'Item deleted successfully', - JSON: 'JSON', - 'Join link': 'Join link', - 'Journal/Publication name (optional)': 'Journal/Publication name (optional)', - Json: 'JSON', - Kinds: 'Kinds', - 'Language Model': 'Language Model', - Large: 'Large', - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link': - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link', - 'Lightning payment failed': 'Lightning payment failed', - Limit: 'Limit', - 'Live feed; keeps updating.': 'Live feed; keeps updating.', - 'Loading more...': 'Loading more...', - 'Loading relays...': 'Loading relays...', - 'Location (optional)': 'Location (optional)', - 'Log in to run this spell (it uses $me or $contacts).': - 'Log in to run this spell (it uses $me or $contacts).', - 'Login failed': 'Login failed', - 'Login to configure RSS feeds': 'Login to configure RSS feeds', - 'Long-form Article': 'Long-form Article', - 'Mailbox relays saved': 'Mailbox relays saved', - 'Mark as NSFW': 'Mark as NSFW', - 'Maximum {{max}} invitees': 'Maximum {{max}} invitees', - 'Maximum {{max}} invitees allowed': 'Maximum {{max}} invitees allowed', - Medium: 'Medium', - Mode: 'Mode', - 'Most Zapped': 'Most Zapped', - 'Move to top': 'Move to top', - 'Multiple choice': 'Multiple choice', - 'Mute failed': 'Mute failed', - NSFW: 'NSFW', - Name: 'Name', - 'Name of the language model used': 'Name of the language model used', - 'New External Citation': 'New External Citation', - 'New Hardcopy Citation': 'New Hardcopy Citation', - 'New Highlight': 'New Highlight', - 'New Internal Citation': 'New Internal Citation', - 'New Long-form Article': 'New Long-form Article', - 'New Poll': 'New Poll', - 'New Discussion': 'New Discussion', - 'New Prompt Citation': 'New Prompt Citation', - 'New Public Message': 'New Public Message', - 'New Wiki Article': 'New Wiki Article', - 'New Wiki Article (Markdown)': 'New Wiki Article (Markdown)', - Newest: 'Newest', - 'No JSON available': 'No JSON available', - 'No RSS feeds found in OPML file': 'No RSS feeds found in OPML file', - 'No cached data found.': 'No cached data found.', - 'No console logs captured yet': 'No console logs captured yet', - 'No events found': 'No events found', - 'No feeds configured. Default feed will be used.': - 'No feeds configured. Default feed will be used.', - 'No feeds to export': 'No feeds to export', - 'No groups available. Join some groups first.': 'No groups available. Join some groups first.', - 'No items in this store.': 'No items in this store.', - 'No items match your search.': 'No items match your search.', - 'No logs match the current filters': 'No logs match the current filters', - 'No posts found': 'No posts found', - 'No posts match your search': 'No posts match your search', - 'No relays available. Please configure relays in settings.': - 'No relays available. Please configure relays in settings.', - 'No service workers or caches found for this app': - 'No service workers or caches found for this app', - 'No users found': 'No users found', - 'No valid RSS feed URLs found in OPML file': 'No valid RSS feed URLs found in OPML file', - 'Note pinned': 'Note pinned', - 'Note unpinned': 'Note unpinned', - Oldest: 'Oldest', - 'Open Timestamp': 'Open Timestamp', - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.': - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.', - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.': - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.', - Optional: 'Optional', - 'Optional image for the event': 'Optional image for the event', - 'Optionally, add the full quote/context to show your highlight within it': - 'Optionally, add the full quote/context to show your highlight within it', - PM: 'PM', - 'Page Range': 'Page Range', - Pages: 'Pages', - 'Paste URL of a GIF': 'Paste URL of a GIF', - 'Paste URL of a meme image': 'Paste URL of a meme image', - 'Paste the entire original passage that contains your highlight': - 'Paste the entire original passage that contains your highlight', - Photo: 'Photo', - 'Picture Note': 'Picture Note', - 'Pin note': 'Pin note', - 'Plain text description of the query': 'Plain text description of the query', - 'Please login to view bookmarks': 'Please login to view bookmarks', - 'Please select a group': 'Please select a group', - 'Please select at least one relay': 'Please select at least one relay', - 'Please set a start date': 'Please set a start date', - 'Poll with no options': 'Poll with no options', - 'Post published to some relays': 'Post published to some relays', - 'Posts will automatically include expiration tags': - 'Posts will automatically include expiration tags', - 'Posts will automatically include quiet tags': 'Posts will automatically include quiet tags', - 'Posts will be quiet for this many days': 'Posts will be quiet for this many days', - 'Posts will expire after this many months': 'Posts will expire after this many months', - 'Processing...': 'Processing...', - 'Profile event not available': 'Profile event not available', - 'Prompt Citation': 'Prompt Citation', - 'Prompt Citation Settings': 'Prompt Citation Settings', - 'Prompt Conversation Script': 'Prompt Conversation Script', - 'Proof of Work': 'Proof of Work', - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post': - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post', - 'Publish to Relays': 'Publish to Relays', - 'Published By': 'Published By', - 'Published In': 'Published In', - 'Published On': 'Published On', - 'Published in': 'Published in', - 'Published on': 'Published on', - 'Publisher name (optional)': 'Publisher name (optional)', - 'Quiet Tags': 'Quiet Tags', - 'RSS Feed': 'RSS Feed', - 'RSS + Web': 'RSS + Web', - 'RSS feed source': 'RSS feed source', - 'All feed sources': 'All feed sources', - 'RSS feed view mode': 'RSS feed view mode', - 'Article URLs': 'Article URLs', - 'Article URLs subtitle': - 'One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.', - 'Article URLs Nostr manual subtitle': - 'Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.', - 'RSS feed column title': 'RSS & linked articles', - 'RSS feed column subtitle': - 'Feed entries and article cards that include at least one item from your subscribed RSS feeds.', - 'RSS timeline': 'RSS timeline', - 'RSS timeline subtitle': - 'Every item from your subscribed feeds, newest first — classic RSS reader.', - URLs: 'URLs', - RSS: 'RSS', - 'No URL-only items yet': 'No URL-only items yet', - 'Respond to this RSS entry': 'Respond to this RSS entry', - 'RSS read-only thread hint': - 'Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.', - 'RSS feed item label': 'RSS', - 'Web URL item label': 'Web URL', - 'URL thread activity': 'URL thread activity', - 'Suppress Clawstr links in RSS previews': 'Hide clawstr.com in RSS and URL feed', - 'Hide local, media & feed URLs from URL cards': - 'Hide local, media, feed, document & XML links from the feed', - 'RSS articles': 'RSS articles', - 'Web comments': 'Web comments', - 'Web highlights': 'Web highlights', - 'In your bookmarks': 'In your bookmarks', - '{{count}} RSS entries for this URL': '{{count}} RSS entries for this URL', - '{{count}} entries for this article URL': '{{count}} entries for this article URL', - 'No comments yet': 'No comments yet', - 'No highlights yet': 'No highlights yet', - 'Showing {{filtered}} of {{total}} entries': 'Showing {{filtered}} of {{total}} entries', - standardRssFeed_spotifeed: 'Spotify playlist (Spotifeed)', - standardRssFeed_youtube: 'YouTube feed', - standardRssFeed_youtubeChannel: 'YouTube channel feed', - standardRssFeed_youtubePlaylist: 'YouTube playlist feed', - standardRssFeed_feedburner: 'FeedBurner', - standardRssFeed_reddit: 'Reddit RSS', - standardRssFeed_substack: 'Substack', - standardRssFeed_medium: 'Medium', - 'RSS Feed Settings': 'RSS Feed Settings', - 'Follow sets': 'Follow sets', - 'Follow sets settings intro': - 'NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.', - 'New follow set': 'New follow set', - 'Edit follow set': 'Edit follow set', - 'No follow sets yet': 'You have not created any follow sets yet.', - 'Follow set saved': 'Follow set saved', - 'Follow set deleted': 'Follow set deleted', - 'Failed to load follow sets': 'Failed to load follow sets', - members: 'members', - 'Optional display title': 'Optional display title', - 'List id (d tag)': 'List id (d tag)', - 'Follow set d tag hint': - 'Stable identifier for this list. It cannot be changed after the first publish.', - 'People in this list': 'People in this list', - 'Delete follow set?': 'Delete this follow set?', - 'Delete follow set confirm': - 'This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.', - 'Remove feed': 'Remove feed', - 'RSS Feeds': 'RSS Feeds', - 'RSS feeds exported to OPML file': 'RSS feeds exported to OPML file', - 'RSS feeds saved': 'RSS feeds saved', - 'Rate limited. Please wait before trying again.': - 'Rate limited. Please wait before trying again.', - 'Reaction published': 'Reaction published', - 'Reaction removed': 'Reaction removed', - 'Read full article': 'Read full article', - 'Reading group entry': 'Reading group entry', - 'Readings Options': 'Readings Options', - Recipients: 'Recipients', - 'Recipients detected from your message:': 'Recipients detected from your message:', - 'Recommended Relays': 'Recommended Relays', - 'Recommended applications for handling events of kind {{kind}}': - 'Recommended applications for handling events of kind {{kind}}', - 'Reference to the cited Nostr event in kind:pubkey:hex format': - 'Reference to the cited Nostr event in kind:pubkey:hex format', - 'Refresh Cache': 'Refresh Cache', - 'Refreshing posts...': 'Refreshing posts...', - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.': - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.', - Relay: 'Relay', - 'Relay Hint': 'Relay Hint', - 'Relay URL (optional)': 'Relay URL (optional)', - 'Relay blocked successfully': 'Relay blocked successfully', - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.': - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.', - 'Relay set options': 'Relay set options', - 'Remove from favorites': 'Remove from favorites', - Rendered: 'Rendered', - 'Reply published': 'Reply published', - 'Reply published to some relays': 'Reply published to some relays', - 'Reply to Public Message': 'Reply to Public Message', - 'Republish to all active relays': 'Republish to all active relays', - 'Republish to all available relays': 'Republish to all available relays', - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.': - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.', - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.': - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.', - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Respect quiet tags': 'Respect quiet tags', - 'Search (NIP-50)': 'Search (NIP-50)', - 'Search by name or npub…': 'Search by name or npub…', - 'Search calendar, publications, wiki…': 'Search calendar, publications, wiki…', - 'Search for user…': 'Search for user…', - 'Search items...': 'Search items...', - 'Search logs...': 'Search logs...', - 'Search notes, threads, long-form…': 'Search notes, threads, long-form…', - 'Search on GifBuddy': 'Search on GifBuddy', - 'Search on Meme Amigo': 'Search on Meme Amigo', - 'Search posts...': 'Search posts...', - 'Search threads by title, content, tags, npub, author...': - 'Search threads by title, content, tags, npub, author...', - 'Searching all available relays...': 'Searching all available relays...', - 'Searching…': 'Searching…', - 'See reference': 'See reference', - 'Select Group': 'Select Group', - 'Select Media Type': 'Select Media Type', - 'Select group...': 'Select group...', - 'Select relays': 'Select relays', - 'Publish relay cap hint': - 'At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Publish relay cap hint with outbox first': - 'At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Select the group where you want to create this discussion.': - 'Select the group where you want to create this discussion.', - 'Select topic...': 'Select topic...', - 'Selected text': 'Selected text', - 'Send Public Message': 'Send Public Message', - 'Send a Lightning payment to this user': 'Send a Lightning payment to this user', - 'Service worker caches cleared. Please reload the page.': - 'Service worker caches cleared. Please reload the page.', - 'Service worker unregistered and caches cleared. Please reload the page.': - 'Service worker unregistered and caches cleared. Please reload the page.', - 'Service worker unregistered. Please reload the page.': - 'Service worker unregistered. Please reload the page.', - 'Share your thoughts, ask questions, or start a discussion...': - 'Share your thoughts, ask questions, or start a discussion...', - 'Short Video Note': 'Short Video Note', - 'Show RSS Feed': 'Show RSS Feed', - 'Show all discussions in a single list': 'Show all discussions in a single list', - 'Show less': 'Show less', - Since: 'Since', - Small: 'Small', - 'Some relays have temporarily disabled writes.': - 'Some relays have temporarily disabled writes.', - Source: 'Source', - 'Spell definition': 'Spell definition', - 'Spell published': 'Spell published', - 'Start date': 'Start date', - 'Start typing to see a preview...': 'Start typing to see a preview...', - 'Subject (Book Title)': 'Subject (Book Title)', - 'Subject (book title) is required for reading groups': - 'Subject (book title) is required for reading groups', - 'Subject / Topics': 'Subject / Topics', - Subscribe: 'Subscribe', - Subscribed: 'Subscribed', - 'Subscribed to topic': 'Subscribed to topic', - 'Subscribed to topic (local)': 'Subscribed to topic (local)', - 'Subscribing...': 'Subscribing...', - Summary: 'Summary', - 'Supported Event Types': 'Supported Event Types', - 'Take a note': 'Take a note', - 'The full prompt conversation (optional)': 'The full prompt conversation (optional)', - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.': - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.', - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.': - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.', - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.': - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.', - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a Nostr event of kind {{kind}}.': - 'This GIF was found in a Nostr event of kind {{kind}}.', - 'This file could be either audio or video. Please select the correct type:': - 'This file could be either audio or video. Please select the correct type:', - 'This store does not contain replaceable events': - 'This store does not contain replaceable events', - 'This will add additional tags for author and subject to help organize reading group discussions.': - 'This will add additional tags for author and subject to help organize reading group discussions.', - 'Thread Content': 'Thread Content', - 'Thread Title': 'Thread Title', - 'Thread creation timed out. Please try again.': 'Thread creation timed out. Please try again.', - 'Thread published': 'Thread published', - 'Threads are organized by topics. Choose a topic that best fits your discussion.': - 'Threads are organized by topics. Choose a topic that best fits your discussion.', - 'Time-based': 'Time-based', - 'Title is required': 'Title is required', - 'Title must be 100 characters or less': 'Title must be 100 characters or less', - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.': - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.', - Top: 'Top', - Topic: 'Topic', - URL: 'URL', - 'URL of the article cover image (optional)': 'URL of the article cover image (optional)', - 'Unique identifier for this article (required)': - 'Unique identifier for this article (required)', - 'Unmute failed': 'Unmute failed', - 'Unpin note': 'Unpin note', - Unsubscribe: 'Unsubscribe', - 'Unsubscribed from topic': 'Unsubscribed from topic', - 'Unsubscribing...': 'Unsubscribing...', - Until: 'Until', - Untitled: 'Untitled', - Update: 'Update', - 'Updating...': 'Updating...', - 'Upload Audio Comment': 'Upload Audio Comment', - 'Upload Audio Message': 'Upload Audio Message', - 'Upload Media': 'Upload Media', - Upvote: 'Upvote', - 'User unmuted': 'User unmuted', - 'Version number (optional)': 'Version number (optional)', - Video: 'Video', - 'Video Note': 'Video Note', - 'Video file': 'Video file', - 'View Console Logs': 'View Console Logs', - 'View JSON': 'View JSON', - 'View cached items in this store.': 'View cached items in this store.', - 'View definition': 'View definition', - 'View details about cached data in IndexedDB stores. Click on a store to view its items.': - 'View details about cached data in IndexedDB stores. Click on a store to view its items.', - 'View on Alexandria': 'View on Alexandria', - 'View on DecentNewsroom': 'View on DecentNewsroom', - 'View on Wikistr': 'View on Wikistr', - 'View recent console logs for debugging': 'View recent console logs for debugging', - 'Voice Comment': 'Voice Comment', - 'Voice Note': 'Voice Note', - 'Voice note or audio file': 'Voice note or audio file', - Volume: 'Volume', - 'Volume number (optional)': 'Volume number (optional)', - 'Vote published': 'Vote published', - 'Vote removed': 'Vote removed', - 'Website where LLM was accessed (optional)': 'Website where LLM was accessed (optional)', - 'Wiki Article (AsciiDoc)': 'Wiki Article (AsciiDoc)', - 'Wiki Article (Markdown)': 'Wiki Article (Markdown)', - 'You can only delete your own notes': 'You can only delete your own notes', - 'You must be logged in to create a thread': 'You must be logged in to create a thread', - 'You need to add at least one media server in order to upload media files.': - 'You need to add at least one media server in order to upload media files.', - 'You need to login first': 'You need to login first', - 'Your account is blocked from posting to this relay.': - 'Your account is blocked from posting to this relay.', - Zap: 'Zap', - 'Zap failed': 'Zap failed', - created_at: 'created_at', - 'e tag of kind 1040 event (optional)': 'e tag of kind 1040 event (optional)', - 'e.g. meetup, conference': 'e.g. meetup, conference', - 'e.g., 123-145 (optional)': 'e.g., 123-145 (optional)', - 'e.g., GPT-4, Claude, etc. (required)': 'e.g., GPT-4, Claude, etc. (required)', - 'e.g., my-article-title': 'e.g., my-article-title', - entries: 'entries', - 'from Bunker': 'from Bunker', - 'from Extension': 'from Extension', - 'from NIP-05': 'from NIP-05', - general: 'general', - 'https://example.com (required)': 'https://example.com (required)', - 'https://example.com/image.jpg': 'https://example.com/image.jpg', - id: 'id', - items: 'items', - kind: 'kind', - 'kind:pubkey:hex format (required)': 'kind:pubkey:hex format (required)', - 'last updated': 'last updated', - matching: 'matching', - naddr: 'naddr', - nevent: 'nevent', - 'nevent1..., naddr1..., note1..., hex ID, or https://...': - 'nevent1..., naddr1..., note1..., hex ID, or https://...', - 'no notes found': 'no notes found', - of: 'of', - 'on note': 'on note', - optional: 'optional', - pubkey: 'pubkey', - 'sent a public message': 'sent a public message', - 'sent you a public message': 'sent you a public message', - 'sent you a public message (along with {{count}} others)': - 'sent you a public message (along with {{count}} others)', - sig: 'sig', - 'started a discussion in {{topic}}': 'started a discussion in {{topic}}', - tags: 'tags', - thread: 'thread', - threads: 'threads', - 'topic1, topic2, topic3': 'topic1, topic2, topic3', - '{{count}} relay(s) selected': '{{count}} relay(s) selected', - '🔞 NSFW 🔞': '🔞 NSFW 🔞', - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).': - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).', - 'Failed to refresh': 'Failed to refresh', - 'Invalid article link.': 'Invalid article link.', - Likes: 'Likes', - 'Loading…': 'Loading…', - 'Missing pubkey': 'Missing pubkey', - 'No RSS feed list found on relays': 'No RSS feed list found on relays', - 'Pinned posts': 'Pinned posts', - 'Publishing...': 'Publishing...', - 'RSS article': 'RSS article', - 'RSS feed list refreshed': 'RSS feed list refreshed', - 'Save or discard your changes before refreshing from relays': - 'Save or discard your changes before refreshing from relays', - 'Suggested topics': 'Suggested topics', - 'Synthetic event (no author)': 'Synthetic event (no author)', - 'Topic is required': 'Topic is required', - 'Type a topic or pick from the list': 'Type a topic or pick from the list', - profileEditorRefreshCacheHint: 'profileEditorRefreshCacheHint', - startupSessionHydrating: 'startupSessionHydrating' + "Searching external relays...": "Searching external relays...", + "This will connect to the author's relays and relay hints": "This will connect to the author's relays and relay hints", + "Note could not be found anywhere": "Note could not be found anywhere", + "Try external relays": "Try external relays", + "Searching...": "Searching...", + "Show relays": "Show relays", + "No external relay hints available": "No external relay hints available", + "External relay search is not available for this link type": "External relay search is not available for this link type.", + "Searched external relays not found": "Searched {{count}} external relays; the note was still not found.", + "no more replies": "no hay más respuestas", + "Relay sets": "Conjuntos de relés", + "Search for Relays": "Search for Relays", + "Using app default relays": "Using app default relays", + "Following's Favorites": "Favoritos de los seguidos", + "no more relays": "no hay más relés", + "Favorited by": "Favoritado por", + "Post settings": "Ajustes de publicación", + "Publishing feedback": "Publishing feedback", + "Publish success toasts": "Publish success toasts", + "Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.": "Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.", + "Publish successful": "Publish successful", + "Media upload service": "Servicio de carga de medios", + "Choose a relay": "Selecciona un relé", + "no relays found": "no se encontraron relés", + video: "video", + "Show n new notes": "Mostrar {{n}} nuevas notas", + YouTabName: "You", + Bookmark: "Marcador", + "Remove bookmark": "Quitar marcador", + "no bookmarks found": "No se encontraron marcadores", + "no more bookmarks": "No hay más marcadores", + Bookmarks: "Marcadores", + "Follow Packs": "Follow Packs", + "Follow Pack": "Follow Pack", + "Follow pack by": "by", + "In Follow Packs": "In Follow Packs", + "Badge details": "Badge details", + "Issued by": "Issued by", + "Other recipients": "Other recipients", + "No other recipients found": "No other recipients found", + "Recipients could not be loaded": "Recipients could not be loaded", + "View award": "View award", + "Awarded on": "Awarded on", + "Please log in to follow": "Please log in to follow", + "Following All": "Following All", + "Followed {{count}} users": "Followed {{count}} users", + "All available members are already followed or muted": "All available members are already followed or muted", + "You are already following all members of this pack": "You are already following all members of this pack", + "Failed to follow pack": "Failed to follow pack", + "{{count}} profiles": "{{count}} profiles", + "Show more": "Mostrar más", + General: "General", + Autoplay: "Reproducción automática", + "Enable video autoplay on this device": "Habilitar reproducción automática de video en este dispositivo", + "liveActivities.heading": "Live now", + "liveActivities.regionLabel": "Live spaces and streams", + "liveActivities.fromFollow": "From someone you follow", + "liveActivities.goToSlide": "Show live item {{n}}", + "liveActivities.swipeToBrowse": "Swipe left or right on the banner to switch between live activities.", + "liveActivities.viewNoteTitle": "Open this live activity as a note (play in app, links below)", + "liveActivities.openJoinPageTitle": "Open the join page in a new tab (e.g. zap.stream or the room site)", + "liveActivities.settingsToggle": "Live activities banner", + "liveActivities.settingsHint": "Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.", + "Add random relays to every publish": "Random relays in publish list", + "Add random relays to every publish description": "Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.", + relayType_local: "Local", + relayType_relay_list: "Relay list", + relayType_http_relay_list: "HTTP", + "HTTP relays": "HTTP relays", + httpRelaysDescription: "HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.", + "HTTP relays saved": "HTTP relays saved", + "Failed to save HTTP relay list": "Failed to save HTTP relay list", + "HTTP relays must start with https:// or http://": "HTTP relays must start with https:// or http://", + relayType_client_default: "Client default", + relayType_open_from: "Current feed", + relayType_favorite: "Favorite", + relayType_relay_set: "Relay set", + relayType_contextual: "Reply/PM", + relayType_randomly_selected: "Random (optional)", + "Session relays": "Session relays", + "Session relays tab description": "Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish).", + "Session relays preset working": "Working preset relays", + "Session relays preset working hint": "Preset relays (from app defaults) that have not reached 3 publish failures this session.", + "Session relays preset striked": "Striked preset relays", + "Session relays preset striked hint": "Preset relays that have reached 3 publish failures this session and are skipped for the rest of the session.", + "Session relays scored random": "Scored random relays", + "Session relays scored random hint": "Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.", + "Session relays all striked": "All striked relays (any source)", + "Session relays clear strike": "Allow again", + "Session relays clear strike hint": "Remove this relay from the session block list; it will be used again until new connection failures.", + "relaySessionStrikes.bannerWarning": "This relay has {{count}} session strike(s) (limit {{threshold}}) after connection or query failures.", + "relaySessionStrikes.bannerSkipped": "This relay has reached the session failure limit ({{threshold}} strikes) and is skipped for reads and publishes in this tab.", + "relaySessionStrikes.refreshHint": "Use {{refresh}} to clear strikes for this relay and load the feed again.", + successes: "successes", + None: "None", + "Cache & offline storage": "Cache & offline storage", + feedStarting: "Starting feeds and relays… This can take a few seconds after login.", + singleRelayKindFallbackNotice: "This relay returned no events for an open-ended request (no kinds in the filter). The feed below uses your usual kind filter instead.", + refreshCacheButtonExplainer: "Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.", + "eventArchive.sectionTitle": "Notes & feed archive", + "eventArchive.sectionBlurb": "Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.", + "eventArchive.defaultsMobile": "This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).", + "eventArchive.defaultsElectron": "Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.defaultsDesktopWeb": "Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.enablePersist": "Persist feed events to disk", + "eventArchive.maxMb": "Max archive size (MB), blank = default for this device", + "eventArchive.maxEvents": "Max archived events, blank = default", + "eventArchive.sessionLru": "In-memory session cache (event count), blank = default", + "eventArchive.effectiveSummary": "Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.", + "eventArchive.on": "on", + "eventArchive.off": "off", + "eventArchive.apply": "Apply cache settings", + "eventArchive.appliedToast": "Cache settings saved. Session memory updated.", + "Paste or drop media files to upload": "Pegar o soltar archivos multimedia para cargar", + Preview: "Vista previa", + "You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?": "Estás a punto de publicar un evento firmado por [{{eventAuthorName}}]. Actualmente has iniciado sesión como [{{currentUsername}}]. ¿Estás seguro?", + "Platinum Sponsors": "Patrocinadores Platino", + From: "De", + "Comment on": "Comentar en", + "View on njump.me": "Ver en njump.me", + "Hide content from untrusted users": "Ocultar contenido de usuarios no confiables", + "Only show content from your followed users and the users they follow": "Solo mostrar contenido de tus usuarios seguidos y los usuarios que ellos siguen", + "Followed by": "Seguidos por", + "Mute user privately": "Silenciar usuario en privado", + "Mute user publicly": "Silenciar usuario públicamente", + Quotes: "Citas", + "Lightning Invoice": "Factura Lightning", + "Bookmark failed": "Error al marcar", + "Remove bookmark failed": "Error al quitar marcador", + "Removed from bookmarks": "Removed from bookmarks", + "Bookmark not in list": "This bookmark is not in your list (already removed or out of sync).", + "Pin not in list": "This pin is not in your list (already removed or out of sync).", + "Failed to remove pin": "Failed to remove pin", + Translation: "Traducción", + Balance: "Saldo", + characters: "caracteres", + translateApiKeyDescription: "Puedes usar esta clave API en cualquier otro lugar que soporte LibreTranslate. La URL del servicio es {{serviceUrl}}", + "Top up": "Recargar", + "Will receive: {n} characters": "Recibirás: {{n}} caracteres", + "Top up {n} sats": "Recargar {{n}} satoshis", + "Minimum top up is {n} sats": "La recarga mínima es de {{n}} satoshis", + Service: "Servicio", + "Reset API key": "Restablecer clave API", + "Are you sure you want to reset your API key? This action cannot be undone.": "¿Estás seguro de que deseas restablecer tu clave API? Esta acción no se puede deshacer.", + Warning: "Advertencia", + "Errors & warnings": "Errors & warnings", + "Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.": "Tu clave API actual se volverá inválida de inmediato, y cualquier aplicación que la use dejará de funcionar hasta que las actualices con la nueva clave.", + "Service address": "Dirección del servicio", + Pay: "Pagar", + interactions: "interacciones", + notifications: "notificaciones", + notificationsViewAsAccount: "View as", + notificationsViewAsAccountAria: "Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.", + notificationsSwitchAccountFailed: "Could not switch account. Check your signer, password, or extension and try again.", + "Show untrusted {type}": "Mostrar {{type}} no confiables", + "Hide untrusted {type}": "Ocultar {{type}} no confiables", + "Currently hiding {type} from untrusted users.": "Actualmente ocultando {{type}} de usuarios no confiables.", + "Currently showing all {type}.": "Actualmente mostrando todas las {{type}}.", + "Click continue to show all {type}.": "Haz clic en continuar para mostrar todas las {{type}}.", + "Click continue to hide {type} from untrusted users.": "Haz clic en continuar para ocultar {{type}} de usuarios no confiables.", + "Trusted users include people you follow and people they follow.": "Los usuarios confiables incluyen a las personas que sigues y a las personas que ellos siguen.", + Continue: "Continuar", + "Successfully updated mute list": "Lista de silenciamiento actualizada con éxito", + "No pubkeys found from {url}": "No se encontraron pubkeys desde {{url}}", + "Translating...": "Traduciendo...", + Translate: "Traducir", + "Show original": "Mostrar original", + Website: "Sitio web", + "Hide untrusted notes": "Ocultar notas no confiables", + "Open in another client": "Abrir en otro cliente", + Community: "Comunidad", + Group: "Grupo", + "Live event": "Evento en vivo", + Article: "Artículo", + Unfavorite: "Desfavoritar", + "Recommended relays": "Relés recomendados", + "Show recommended relays panel": "Show recommended relays panel", + "Display the right-side panel with recommended relays on desktop": "Display the right-side panel with recommended relays on desktop", + "Blossom server URLs": "URLs del servidor Blossom", + "You need to add at least one blossom server in order to upload media files.": "Necesitas agregar al menos un servidor Blossom para poder cargar archivos multimedia.", + "Recommended blossom servers": "Servidores Blossom recomendados", + "Enter Blossom server URL": "Ingresar URL del servidor Blossom", + Preferred: "Preferido", + "Multiple choice (select one or more)": "Opción múltiple (selecciona una o más)", + Vote: "Votar", + "{{number}} votes": "{{number}} votos", + "Total votes": "Total de votos", + "Poll has ended": "La encuesta ha terminado", + "Poll ends at {{time}}": "La encuesta termina el {{time}}", + "Load results": "Cargar resultados", + "This is a poll note.": "Esta es una nota de encuesta.", + "Unlike regular notes, polls are not widely supported and may not display on other clients.": "A diferencia de las notas regulares, las encuestas no son ampliamente compatibles y pueden no mostrarse en otros clientes.", + "Option {{number}}": "Opción {{number}}", + "Add Option": "Agregar Opción", + "Remove option": "Remove option", + "Close highlight editor": "Close highlight editor", + "Allow multiple choices": "Permitir múltiples opciones", + "End Date (optional)": "Fecha de finalización (opcional)", + "Clear end date": "Borrar fecha de finalización", + "Relay URLs (optional, comma-separated)": "URLs de relé (opcional, separadas por comas)", + "Remove poll": "Eliminar encuesta", + "Refresh results": "Actualizar resultados", + "{{votes}} · {{pct}}%": "{{votes}} · {{pct}}%", + "See results": "See results", + "Zap poll (paid votes)": "Zap poll (paid votes)", + "Invalid zap poll": "Invalid zap poll", + "You voted on this poll (zap receipt)": "You voted on this poll (zap receipt)", + "Poll closed {{time}}": "Poll closed {{time}}", + "Closes {{time}}": "Closes {{time}}", + "Vote size": "Vote size", + "{{n}} sats (fixed)": "{{n}} sats (fixed)", + "{{min}}–{{max}} sats": "{{min}}–{{max}} sats", + "≥ {{n}} sats": "≥ {{n}} sats", + "≤ {{n}} sats": "≤ {{n}} sats", + "Loading tally…": "Loading tally…", + "Zap poll no votes yet": "No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).", + "Consensus threshold": "Consensus threshold", + "Pay to": "Pay to", + Recipient: "Recipient", + Option: "Option", + "Select option": "Select option", + "Select an option": "Select an option", + "Vote with zap": "Vote with zap", + "Zap sent": "Zap sent", + "Zapping…": "Zapping…", + "Refresh tally": "Refresh tally", + "{{n}} zaps": "{{n}} zaps", + Poll: "Encuesta", + Media: "medios", + "Articles and Publications": "Articles and Publications", + "Search articles...": "Search articles...", + "Refreshing articles...": "Refreshing articles...", + "No articles or publications found": "No articles or publications found", + "No articles or publications match your search": "No articles or publications match your search", + "articles and publications": "articles and publications", + Interests: "Interests", + Favorites: "Favorites", + Calendar: "Calendar", + "No subscribed interests yet.": "No subscribed interests yet. Add topics in settings to see them here.", + "No bookmarked notes with id tags yet.": "No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.", + "No follows or relays to load yet.": "No follows or relays to load yet.", + "No favorites yet.": "No favorites yet. Add follows, follow sets, interests, or bookmarks.", + "Added from interests": "Added from interests", + "Added from bookmarks list": "Added from bookmarks list", + "Added from your web bookmarks": "Added from your web bookmarks", + "Added from follows and contact lists": "Added from follows and contact lists", + "Added from follows web bookmarks": "Added from follows web bookmarks", + "Nothing to load for this feed.": "Nothing to load for this feed.", + "No posts loaded for this feed. Try refreshing.": "No posts loaded for this feed. Try refreshing.", + "Looking for more events…": "Looking for more events…", + "Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.": "Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.", + "Per-relay timeline results ({{count}} connections)": "Per-relay timeline results ({{count}} connections)", + "Republish to ...": "Republicar a ...", + "All available relays": "All available relays", + "All active relays (monitoring list)": "All active relays (monitoring list)", + "Successfully republish to all available relays": "Successfully republish to all available relays", + "Failed to republish to all available relays: {{error}}": "Failed to republish to all available relays: {{error}}", + "Successfully republish to all active relays": "Successfully republish to all active relays", + "Failed to republish to all active relays: {{error}}": "Failed to republish to all active relays: {{error}}", + "No active relays in monitoring list": "No active relays in monitoring list", + "No relay accepted the event": "No relay accepted the event", + "No relays available": "No relays available", + "No write relays configured": "No write relays configured", + "Relay did not accept the event": "Relay did not accept the event", + "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".": "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".", + "Successfully republish to your write relays": "Republicado con éxito a tus relés de escritura", + "Failed to republish to your write relays: {{error}}": "Error al republicar a tus relés de escritura: {{error}}", + "Successfully republish to relay set: {{name}}": "Republicado con éxito al conjunto de relés: {{name}}", + "Failed to republish to relay set: {{name}}. Error: {{error}}": "Error al republicar al conjunto de relés: {{name}}. Error: {{error}}", + "Successfully republish to relay: {{url}}": "Republicado con éxito al relé: {{url}}", + "Failed to republish to relay: {{url}}. Error: {{error}}": "Error al republicar al relé: {{url}}. Error: {{error}}", + "Write relays": "Relés de escritura", + "No more reactions": "No hay más reacciones", + "No reactions yet": "Sin reacciones aún", + "No more zaps": "No hay más zaps", + "No zaps yet": "Sin zaps aún", + "No more boosts": "No hay más boosts", + "No boosts yet": "Sin boosts aún", + "n more boosts": "{{count}} more boosts", + FollowListNotFoundConfirmation: "Lista de seguidos no encontrada. ¿Quieres crear una nueva? Si has seguido usuarios antes, por favor NO confirmes ya que esta operación te hará perder tu lista de seguidos anterior.", + MuteListNotFoundConfirmation: "Lista de silenciados no encontrada. ¿Quieres crear una nueva? Si has silenciado usuarios antes, por favor NO confirmes ya que esta operación te hará perder tu lista de silenciados anterior.", + "Show NSFW content by default": "Mostrar contenido NSFW por defecto", + "Custom emoji management": "Gestión de emojis personalizados", + "After changing emojis, you may need to refresh the page": "Después de cambiar los emojis, es posible que necesites actualizar la página", + "Too many read relays": "Demasiados relés de lectura", + "Too many write relays": "Demasiados relés de escritura", + "You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.": "Tienes {{count}} relés de lectura. La mayoría de los clientes solo usan 2-4 relés, configurar más es innecesario.", + "You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.": "Tienes {{count}} relés de escritura. La mayoría de los clientes solo usan 2-4 relés, configurar más es innecesario.", + "Optimize Relay Settings": "Optimizar configuración de relés", + "Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.": "Tu configuración actual de relés puede no ser óptima. Esto podría hacer que sea difícil para otros encontrar tus publicaciones y puede resultar en notificaciones incompletas.", + "Optimize Now": "Optimizar ahora", + "Maybe Later": "Tal vez más tarde", + "Don't remind me again": "No recordar de nuevo", + Posts: "Publicaciones", + "Posts (OPs)": "Posts (OPs)", + "Kind 1 replies": "Kind 1 replies", + Comments: "Comments", + "Replies & comments": "Replies & comments", + Articles: "Artículos", + Highlights: "Destacados", + "A note from": "A note from", + Polls: "Encuestas", + "Zap polls": "Zap polls", + "Voice Posts": "Publicaciones de voz", + "Photo Posts": "Publicaciones de fotos", + "Video Posts": "Publicaciones de video", + "Git repositories": "Git repositories", + "Git issues": "Git issues", + "Git releases": "Git releases", + "Git Republic repository": "Git Republic repository", + "Git Republic issue": "Git Republic issue", + "Git Republic release": "Git Republic release", + "Git Republic event": "Git Republic event", + "Git Republic": "Git Republic", + "Open in Git Republic": "Open in Git Republic", + "Pre-release": "Pre-release", + Draft: "Draft", + "Repository release": "Repository release", + "New Repository Release": "New Repository Release", + "Release notes use the editor below (optional).": "Release notes use the editor below (optional).", + "Repository owner (npub or hex)": "Repository owner (npub or hex)", + "Repository id (d-tag)": "Repository id (d-tag)", + "Git tag name": "Git tag name", + "Tag target (40-char commit hash)": "Tag target (40-character commit hash)", + "40-character hex SHA-1": "40-character hex SHA-1", + "Release title": "Release title", + "Download URL": "Download URL", + "Draft release": "Draft release", + "Fill repository release fields": "Fill in all required repository release fields.", + "Invalid repository owner pubkey": "Invalid repository owner (use npub or 64-char hex).", + "Citations require private relays (NIP-65).": "Citations require private outbox relays (NIP-65).", + "Select All": "Seleccionar todo", + "Clear All": "Limpiar todo", + "Set as default filter": "Establecer como filtro predeterminado", + "Use filter": "Use filter", + "See all events": "See all events", + "See all events hint": "Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.", + "Use filter hint": "Only the kinds you select below are requested and shown.", + "Advanced event lab": "Advanced editor", + "Advanced lab applyError": "Editor is not ready. Try again.", + "Advanced lab cancel undo": "Cancel and Undo Changes", + "Advanced lab undo checkpoint": "Restore checkpoint", + "Advanced lab undo checkpoint hint": "About every 30 seconds this tab saves the editor (kind, body, tags) in session storage, up to 10 versions. Use this after a translation or bulk edit you want to roll back.", + "Advanced lab undo checkpoint none": "No older checkpoint to restore.", + "Advanced lab undo checkpoint restored": "Editor restored to a saved checkpoint.", + "Advanced lab markup label markdown": "Markdown", + "Advanced lab markup label asciidoc": "AsciiDoc", + "Advanced lab preview": "Preview", + "Advanced lab preview empty": "Nothing to preview yet.", + "Advanced lab markup placeholder markdown": "Note body (Markdown)", + "Advanced lab markup placeholder asciidoc": "Note body (AsciiDoc)", + "Advanced lab tags JSON": "Kind, content, and tags (JSON)", + "Advanced lab json placeholder": "{ \"kind\": 1, \"content\": \"…\", \"tags\": [] }", + "Advanced lab grammar language": "Grammar check language", + "Advanced lab translate": "Translate body", + "Advanced lab translation source": "Source language", + "Advanced lab translation source auto": "Detect automatically", + "Advanced lab translation target": "Target language", + "Advanced lab translation languages loading": "Loading languages from translate service…", + "Advanced lab translation languages empty": "Translate service returned no languages (check Docker / LibreTranslate).", + "Advanced lab translation languages error": "Could not load languages from the translate service.", + "Advanced lab translation same source target": "Source and target language must differ.", + "Show original text": "Show original text", + "Showing original note text": "Showing original text for this note.", + "Translate note": "Translate note", + "Translating note…": "Translating note…", + "Note translated": "Translated to {{language}}.", + "Note translation failed": "Translation failed: {{message}}", + "Read-aloud Piper English voice fallback title": "English voice in use", + "Read-aloud Piper English voice fallback detail": "Piper has no voice model for {{language}}. This session uses the English Piper voice instead; pronunciation may not match the written text.", + "Advanced lab translate not configured": "Translation URL is not set (VITE_TRANSLATE_URL).", + "Advanced lab translate done": "Translation inserted into the editor.", + "Advanced lab use translation read aloud": "Use body for read-aloud (this note)", + "Advanced lab read aloud buffer set": "The next read-aloud for this note will use the current body text (translated if you translated first).", + "Composer JSON tab hint": "Edit the draft as JSON (`kind`, `content`, `tags` only). `kind` must match the note type selected above. Other fields are set when you publish.", + "Composer JSON apply": "Apply JSON", + composerJsonKindMismatch: "JSON kind {{got}} does not match the composer (expected {{expected}}). Change the note type or fix `kind` in JSON.", + composerJsonApplySuccess: "Draft updated from JSON.", + "Advanced lab tb markup tools": "Markup helpers", + "Advanced lab tb headings": "Headings", + "Advanced lab tb headings hint": "Inserts at the cursor; adjust spacing if needed.", + "Advanced lab tb heading placeholder": "Title", + "Advanced lab tb h1": "Heading 1 (#)", + "Advanced lab tb h2": "Heading 2 (##)", + "Advanced lab tb h3": "Heading 3 (###)", + "Advanced lab tb h4": "Heading 4 (####)", + "Advanced lab tb h5": "Heading 5 (#####)", + "Advanced lab tb h6": "Heading 6 (######)", + "Advanced lab tb setextH1": "Setext heading 1 (title + ===)", + "Advanced lab tb setextH2": "Setext heading 2 (title + ---)", + "Advanced lab tb horizontalRule": "Horizontal rule (---)", + "Advanced lab tb horizontalRules": "Horizontal rules", + "Advanced lab tb hrDashes": "Dashes (---)", + "Advanced lab tb hrAsterisks": "Asterisks (***)", + "Advanced lab tb hrUnderscores": "Underscores (___)", + "Advanced lab tb inline": "Inline", + "Advanced lab tb bold": "Bold (** **)", + "Advanced lab tb boldUnderscore": "Bold (__ __)", + "Advanced lab tb italic": "Italic (* *)", + "Advanced lab tb italicUnderscore": "Italic (_ _)", + "Advanced lab tb strike": "Strikethrough (~~ ~~)", + "Advanced lab tb inlineCode": "Inline code (` `)", + "Advanced lab tb link": "Link [text](url)", + "Advanced lab tb linkTitled": "Link with title [text](url \"title\")", + "Advanced lab tb image": "Image ![alt](url)", + "Advanced lab tb imageTitled": "Image with title ![alt](url \"title\")", + "Advanced lab tb hardBreak": "Hard line break (two spaces + newline)", + "Advanced lab tb citations": "Citations (NIP-32)", + "Advanced lab tb citationsHint": "Kinds 30–33. Inserts `[[citation::type::nevent…]]` (Markdown & AsciiDoc).", + "Advanced lab citation dialog title": "Insert citation", + "Advanced lab citation dialog hint": "Search for NIP-32 citation events (internal, external, hardcopy, prompt), then pick one.", + "Advanced lab citation search placeholder": "Search kinds 30–33…", + "Advanced lab citation none": "No citation events found", + "Advanced lab citation kindLabel": "Kind {{kind}}", + "Advanced lab citation type inline": "Inline citation", + "Advanced lab citation type quote": "Block quote citation", + "Advanced lab citation type end": "Endnote citation", + "Advanced lab citation type foot": "Footnote call", + "Advanced lab citation type footEnd": "Footnote + end", + "Advanced lab citation type promptInline": "Prompt (inline)", + "Advanced lab citation type promptEnd": "Prompt (end)", + "Advanced lab tb lists": "Lists", + "Advanced lab tb bulletList": "Bullet list (-)", + "Advanced lab tb bulletListStar": "Bullet list (*)", + "Advanced lab tb orderedList": "Numbered list (1.)", + "Advanced lab tb orderedListStart": "Numbered list (custom start, e.g. 4.)", + "Advanced lab tb taskItem": "Task item (- [ ])", + "Advanced lab tb blocks": "Blocks", + "Advanced lab tb blockquote": "Blockquote (>)", + "Advanced lab tb pipeTable": "Pipe table (3×2 starter)", + "Advanced lab tb footnoteRef": "Footnote reference [^1]", + "Advanced lab tb footnoteDef": "Footnote definition [^1]: …", + "Advanced lab tb codeBlock": "Code block", + "Advanced lab tb codeBlockHint": "Pick a language for syntax highlighting in fenced code.", + "Advanced lab tb filterLanguages": "Filter languages…", + "Advanced lab tb math": "Math (KaTeX)", + "Advanced lab tb mathIntro": "Many readers render $…$ / $$…$$ with KaTeX; check your client.", + "Advanced lab tb mathInline": "Inline math ($…$)", + "Advanced lab tb mathDisplay": "Display math ($$…$$)", + "Advanced lab tb mathCommon": "Common formulas", + "Advanced lab tb katexFrac": "Fraction \\frac{a}{b}", + "Advanced lab tb katexSqrt": "Square root \\sqrt{x}", + "Advanced lab tb katexSum": "Sum \\sum_{i=1}^{n}", + "Advanced lab tb katexInt": "Integral \\int_a^b", + "Advanced lab tb katexMatrix": "2×2 matrix (pmatrix)", + "Advanced lab tb katexCases": "Cases (piecewise)", + "Advanced lab tb mathGreek": "Greek & symbols", + "Advanced lab tb greekAlpha": "alpha", + "Advanced lab tb greekBeta": "beta", + "Advanced lab tb greekGamma": "gamma", + "Advanced lab tb greekDelta": "delta", + "Advanced lab tb greekPi": "pi", + "Advanced lab tb greekTheta": "theta", + "Advanced lab tb greekLambda": "lambda", + "Advanced lab tb greekSigma": "sigma", + "Advanced lab tb greekOmega": "omega", + "Advanced lab tb greekInfty": "infinity", + "Advanced lab tb hrTitle": "Horizontal rule", + "Advanced lab tb adocTitles": "Titles", + "Advanced lab tb adocTitlesHint": "Document header: no empty lines inside the header; the first blank line ends it (https://docs.asciidoctor.org/asciidoc/latest/document/header/).", + "Advanced lab tb documentTitle": "Document title", + "Advanced lab tb sectionTitle": "Section title", + "Advanced lab tb adocLevel0": "Document title (=)", + "Advanced lab tb adocLevel0WithHeader": "Minimal header (title, author, revision, description, keywords, first section)", + "Advanced lab tb adocHeaderAuthorLine": "Author Name ", + "Advanced lab tb adocHeaderRevisionLine": "1.0, 2026-04-15: Draft revision", + "Advanced lab tb adocHeaderAttrsBlock": ":description: Short document summary for metadata\n:keywords: keyword-one, keyword-two, keyword-three", + "Advanced lab tb adocSection1": "Section (==)", + "Advanced lab tb adocSection2": "Subsection (===)", + "Advanced lab tb adocSection3": "Subsubsection (====)", + "Advanced lab tb adocSection4": "Level 5 (=====)", + "Advanced lab tb adocSection5": "Level 6 (======)", + "Advanced lab tb adocBold": "Bold (*bold*)", + "Advanced lab tb adocItalic": "Italic (_italic_)", + "Advanced lab tb adocMono": "Monospace (`mono`)", + "Advanced lab tb adocLink": "Link (link:url[text])", + "Advanced lab tb adocImage": "Image (image::url[alt])", + "Advanced lab tb adocUnordered": "Unordered (* item)", + "Advanced lab tb adocOrdered": "Ordered (. item)", + "Advanced lab tb adocLabeled": "Labeled list (term:: def)", + "Advanced lab tb adocBlocks": "Blocks", + "Advanced lab tb adocQuote": "Quote block (____)", + "Advanced lab tb adocLiteral": "Literal block (....)", + "Advanced lab tb adocNote": "NOTE admonition", + "Advanced lab tb adocTip": "TIP admonition", + "Advanced lab tb adocWarning": "WARNING admonition", + "Advanced lab tb adocSource": "Source / listing", + "Advanced lab tb adocSourceHint": "Inserts a [source,lang] block; replace the sample code.", + "Advanced lab tb adocStem": "STEM / LaTeX", + "Advanced lab tb adocStemHint": "Imwald runs Asciidoctor with stem: latexmath; math becomes \\(...\\) / \\[...\\] and is drawn with KaTeX (not MathJax).", + "Advanced lab tb adocStemInline": "Inline stem:[…]", + "Advanced lab tb adocLatexmathInline": "Inline latexmath:[…]", + "Advanced lab tb adocStemBlock": "Display math ([stem] +++ … +++++)", + "Advanced lab tb adocLineBreak": "Hard line break (space + at line end)", + "Advanced lab tb adocSubscript": "Subscript (~text~)", + "Advanced lab tb adocSuperscript": "Superscript (^text^)", + "Advanced lab tb adocPassthrough": "Inline passthrough (+++ … +++)", + "Advanced lab tb adocFootnote": "Footnote (footnote:[…])", + "Advanced lab tb adocImportant": "IMPORTANT admonition", + "Advanced lab tb adocCaution": "CAUTION admonition", + "Advanced lab tb adocExampleBlock": "Example block ([example])", + "Advanced lab tb adocSidebar": "Sidebar (**** … ****)", + "Advanced lab tb adocListing": "Listing block ([listing] + ----)", + "Advanced lab tb adocOpenBlock": "Open block (-- … --)", + "Advanced lab tb adocStructure": "Structure & media", + "Advanced lab tb adocStructureHint": "Tables, IDs/anchors ([#id] before a block—avoids [[wikilink]] syntax), cross-refs, media (Asciidoctor block macros).", + "Advanced lab tb adocTable": "Table (|=== …)", + "Advanced lab tb adocAnchor": "Block or section ID ([#id])", + "Advanced lab tb adocXref": "Cross reference (<>)", + "Advanced lab tb adocVideo": "Video (video::url[])", + "Advanced lab tb adocAudio": "Audio (audio::url[])", + "Advanced lab tb adocOrderedStart": "Ordered list with [start=n]", + "Advanced lab tb adocComment": "Line comment (//)", + "Advanced lab tb adockbd": "Keyboard (kbd:[…])", + "Advanced lab tb adocMenu": "Menu path (menu:…)", + "Advanced lab tb adocBtn": "Button (btn:[…])", + "Advanced lab tb adocHrTitle": "Thematic break (''')", + Apply: "Aplicar", + Reset: "Restablecer", + "Share something on this Relay": "Comparte algo en este relé", + "Try deleting this note": "Intenta eliminar esta nota", + "Deletion request sent to {{count}} relays": "Solicitud de eliminación enviada a {{count}} relés", + "Suitable Relays": "Relés adecuados", + "People, keywords, or relays": "Personas, palabras clave o relés", + "Hide content mentioning muted users": "Ocultar contenido que mencione usuarios silenciados", + "This note mentions a user you muted": "Esta nota menciona a un usuario que silenciaste", + Filter: "Filtro", + "Feed filter": "Feed filter", + "Search loaded posts": "Search loaded posts", + "Filter loaded posts placeholder": "Filter by text in content or tags…", + "Feed filter author": "Author", + "Feed filter author everyone": "From everyone", + "Feed filter author me": "Only from me", + "Feed filter author npub": "From user (npub or hex)", + "Feed filter author npub from prefix": "from:", + "Feed filter author npub placeholder": "npub1… or 64-char hex", + "Feed filter author me needs login": "Log in to filter by your pubkey", + "Within the last": "Within the last", + "Time unit": "Time unit", + Minutes: "Minutes", + Days: "Days", + Weeks: "Weeks", + Months: "Months", + Years: "Years", + "Feed filter client-side hint": "Filters only apply to posts already loaded; relays are not queried again.", + "Feed full search": "Perform full search", + "Feed full search running": "Searching…", + "Feed full search clear": "Clear", + "Feed full search active hint": "Showing relay search results. Clear to return to the live feed.", + "Feed full search need constraint": "Add search text, an author filter, or a time range before searching relays.", + "Feed full search invalid feed": "This feed cannot run a relay search.", + "Feed full search failed": "Relay search failed. Try again.", + "Feed full search empty": "No matching posts were found on the queried relays.", + "No loaded posts match your filters.": "No loaded posts match your filters.", + "mentioned you in a note": "te mencionó en una nota", + "quoted your note": "citó tu nota", + "quoted this note": "Quoted this note", + "highlighted this note": "Highlighted this note", + "cited in article": "Cited in article", + "Thread backlinks heading": "Also quoting this note", + "Thread backlinks primary section": "Quotes, highlights & citations", + "Thread backlinks bookmarks section": "Bookmarks", + "Thread backlinks lists section": "Lists & collections", + "View full note and thread": "View full note and thread", + "labeled this note": "Labeled this note", + "reported this note": "Reported this note", + "bookmarked this note": "Bookmarked this note", + "pinned this note": "Pinned this note", + "listed this note": "Listed this note", + "bookmark set reference": "Bookmark set includes this note", + "curated this note": "Curated this note", + "badge award for this note": "Badge award for this note", + "referenced this note": "Referenced this note", + "Report events heading": "Moderation reports", + "voted in your poll": "votó en tu encuesta", + "reacted to your note": "reaccionó a tu nota", + "boosted your note": "boosteó tu nota", + "zapped your note": "zappeó tu nota", + "zapped you": "te zappeó", + zapped: "zapped", + "Invalid zap receipt": "Invalid zap receipt", + "Zapped note": "Zapped note", + "Zapped profile": "Zapped profile", + "Zap reply threshold": "Zap reply threshold", + "Zaps above this amount will appear as replies in threads": "Zaps above this amount will appear as replies in threads", + "Mark as read": "Marcar como leído", + Report: "Reportar", + "Successfully report": "Reporte exitoso", + "Failed to report": "Fallo al reportar", + nudity: "Desnudez", + malware: "Software malicioso", + profanity: "Blasfemia", + illegal: "Contenido ilegal", + spam: "Spam", + other: "Otro", + "Notification list style": "Estilo de lista de notificaciones", + "See extra info for each notification": "Ver información adicional para cada notificación", + "See more notifications at a glance": "Ver más notificaciones de un vistazo", + Detailed: "Detallado", + "Submit Relay": "Enviar relé", + Homepage: "Página principal", + "Proof of Work (difficulty {{minPow}})": "Prueba de Trabajo (dificultad {{minPow}})", + "via {{client}}": "vía {{client}}", + "Auto-load media": "Cargar medios automáticamente", + Always: "Siempre", + "Wi-Fi only": "Solo Wi-Fi", + Never: "Nunca", + "Click to load image": "Haz clic para cargar la imagen", + "Click to load media": "Haz clic para cargar los medios", + "Click to load YouTube video": "Haz clic para cargar el video de YouTube", + "{{count}} reviews": "{{count}} reseñas", + "Write a review": "Escribir una reseña", + "No reviews yet. Be the first to write one!": "¡Aún no hay reseñas. Sé el primero en escribir una!", + "View more reviews": "Ver más reseñas", + "Failed to review": "Error al reseñar", + "Write a review and pick a star rating": "Escriba una reseña y elija una calificación de estrellas", + Submit: "Enviar", + "Reviews for {{relay}}": "Reseñas para {{relay}}", + "No relays selected": "No hay relés seleccionados", + "Post to": "Publicar en", + "Write relays and {{count}} other relays": "Relés de escritura y {{count}} otros relés", + "{{count}} relays": "{{count}} relés", + "Republishing...": "Republicando...", + "Trending Notes": "Notas de tendencia", + "Trending on Your Favorite Relays": "Trending on Your Favorite Relays", + "Trending on the Default Relays": "Trending on the Default Relays", + "Latest from your follows": "Latest from your follows", + "Latest from our recommended follows": "Latest from our recommended follows", + "Search page title": "Search Nostr", + "Follows latest page title": "Latest from follows", + "Follows latest page description": "Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.", + "Follows latest nav label": "Follows latest", + "Loading follow list…": "Loading follow list…", + "Could not load recommended follows": "Could not load recommended follows", + "Your follow list is empty": "Your follow list is empty", + "Loading recent posts from follows…": "Loading recent posts from follows…", + "Loading more…": "Loading more…", + "No recent posts from this user in the current fetch": "No recent posts from this user in the current fetch", + "Loading trending notes from your relays...": "Loading trending notes from your relays...", + "Trending on Nostr": "Trending on Nostr", + "Home trending slice notice": "This feed includes a trending slice (nostrarchives). Notes that reached you from that relay show “Trending on Nostr” under the card.", + Sort: "Sort", + newest: "newest", + oldest: "oldest", + "most popular": "most popular", + "least popular": "least popular", + "Connected to": "Conectado a", + "Disconnect Wallet": "Desconectar billetera", + "Are you absolutely sure?": "¿Estás absolutamente seguro?", + "You will not be able to send zaps to others.": "No podrás enviar zaps a otros.", + Disconnect: "Desconectar", + "Set up your wallet to send and receive sats!": "¡Configura tu billetera para enviar y recibir sats!", + "Set up": "Configurar", + "nested events": "nested events", + "Loading RSS feeds...": "Loading RSS feeds...", + "No RSS feed items available": "No RSS feed items available", + "Show or hide the RSS page and sidebar entry": "Show or hide the RSS page and sidebar entry", + "Refreshing feeds...": "Refreshing feeds...", + "All feeds": "All feeds", + "All time": "All time", + "Last hour": "Last hour", + "Last day": "Last day", + "Last week": "Last week", + "Last month": "Last month", + "Last 24 hours": "Last 24 hours", + "Last 48 hours": "Last 48 hours", + "Time range": "Time range", + "Filter by RSS source": "Filter by RSS source", + "No items match your filters": "No items match your filters", + "Search...": "Search...", + "{{count}} feeds": "{{count}} feeds", + "Toggle filters": "Toggle filters", + "Showing {{filtered}} of {{total}} items": "Showing {{filtered}} of {{total}} items", + Full: "Full", + Compact: "Compacto", + Expand: "Expand", + "help.title": "Help", + "help.tabShortcuts": "Keyboard shortcuts", + "help.tabOverview": "App overview", + "shortcuts.title": "Keyboard shortcuts", + "shortcuts.intro": "Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.", + "shortcuts.sectionApp": "This app", + "shortcuts.sectionSearch": "Search bar", + "shortcuts.sectionStandard": "Standard", + "shortcuts.openHelp": "Show this help", + "shortcuts.or": "or", + "shortcuts.then": "then", + "shortcuts.focusPrimary": "Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)", + "shortcuts.focusSecondary": "Focus side panel scroll when it is open (desktop; same keys to scroll)", + "shortcuts.newNote": "New note / post (after login if needed)", + "shortcuts.searchSuggest": "Move through suggestions", + "shortcuts.searchDismiss": "Close search dropdown", + "shortcuts.tabNavigate": "Move focus to the next or previous control", + "shortcuts.activate": "Activate buttons and many controls", + "shortcuts.closeOverlays": "Close dialogs, menus, and the search dropdown", + "shortcuts.scrollWhenFocused": "Scroll the focused scrollable area", + "shortcuts.browserBack": "Browser back (history)", + "No spells yet. Create one with the button above.": "No spells yet. Create one with the button above.", + "Loading spells from your relays…": "Loading spells from your relays…", + "Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.": "Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.", + "Select a spell…": "Select a spell…", + "Spells from follows": "From people you follow ({{count}})", + "Other spells": "Other spells ({{count}})", + "Select a spell to view its feed.": "Select a spell to view its feed.", + "Add another row": "Add another row", + "Remove this row": "Remove this row", + "One kind number per row (e.g. 1 for notes).": "One kind number per row (e.g. 1 for notes).", + "One author per row: $me, $contacts, or hex pubkey / npub.": "One author per row: $me, $contacts, or hex pubkey / npub.", + "One hex event id per row.": "One hex event id per row.", + "One wss:// URL per row. Leave empty to use your write relays.": "One wss:// URL per row. Leave empty to use your write relays.", + "One topic per row.": "One topic per row.", + topic: "topic", + "Spell form fields": "Spell form fields", + "Counting matching events…": "Counting matching events…", + "Edit spell": "Edit spell", + "Clone spell": "Clone spell", + "Spell cloned": "Spell cloned", + "Clone spell intro": "This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.", + "Spell updated": "Spell updated", + "Relay URL": "Relay", + Count: "Count", + "Edit spell relays": "Edit relays", + "COUNT spell relay errors hint": "One or more relays failed or returned an error. You can change the relay list in the spell and save again.", + "COUNT spell total distinct explanation": "Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.", + "Leave empty to use your write relays.": "Leave empty to use your write relays.", + "COUNT spell result explanation": "Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.", + "COUNT spell may be capped by limit": "This count may equal your spell limit — there could be more matching events on the network.", + "Spell count failed. Check relays or try again.": "Could not complete the count. Check relays or try again.", + "REQ returns a feed; COUNT returns a number.": "REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.", + listImportManualLabel: "Pre-fill from event", + listImportFromEventHint: "Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.", + listImportManualPlaceholder: "64-char hex, nevent1…, or naddr1…", + listImportLoadManual: "Apply", + listImportContentSkipped: "This event has non-empty content (may include encrypted private items). Only public tags were merged.", + listImportUnsupportedEmoji: "This list includes emoji tags (NIP-30); those are not added to the spell filter.", + listImportUnsupportedTag: "Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.", + listImportBadATag: "Could not parse address tag: {{preview}}…", + listImportATagNotFound: "Could not resolve address tag: {{preview}}…", + listImportATagFailed: "Failed to resolve address tag: {{preview}}…", + listImportEventNotFound: "No event found for that reference.", + "REQ tag filters": "REQ tag filters", + spellFormTagFiltersLabel: "Tag filters on matching events", + spellCreateIntro: "Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.", + spellFormSectionQueryTitle: "Spell query", + spellFormSectionQueryHint: "This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).", + spellFormSectionMetadataTitle: "Listing & labels (optional)", + spellFormSectionMetadataBadge: "Not part of the query", + spellFormSectionMetadataHint: "Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.", + spellFormCatalogTopicsLabel: "Topic labels on this spell (t tags)", + spellTopicsMetadataHint: "One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).", + spellTagFiltersHint: "Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.", + spellTagFiltersEmpty: "No tag filters yet. Add rows below or apply an event reference above.", + "Tag filter letter": "Tag letter", + "Filter value": "Value", + "Add tag filter": "Add tag filter", + spellPickerSectionYours: "Your spells", + "Failed to remove spell from local storage": "Failed to remove spell from local storage", + Spells: "Spells", + "doublePane.secondaryEmpty": "Open a note, profile, or settings item to show it here.", + "doublePane.secondaryEmptyHint": "Your feed and primary pages stay on the left.", + "(empty)": "(empty)", + "12-hour (AM/PM)": "12-hour (AM/PM)", + "24-hour": "24-hour", + "A new version is available": "A new version is available", + "A short description of the article content": "A short description of the article content", + AM: "AM", + "Access via": "Access via", + "Accessed On": "Accessed On", + "Accessed on": "Accessed on", + "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.": "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.", + "Add a relay to block": "Add a relay to block", + "Add at least one invitee": "Add at least one invitee", + "Add client identifier": "Add client identifier", + "Add expiration tags by default": "Add expiration tags by default", + "Add quiet tags by default": "Add quiet tags by default", + "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above": "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above", + "Add the source (where this text is from)": "Add the source (where this text is from)", + "Add to favorites": "Add to favorites", + "Add {{count}} Selected": "Add {{count}} Selected", + "Added at": "Added at", + "Added {{count}} relay(s)": "Added {{count}} relay(s)", + "Adding...": "Adding...", + "Adding…": "Adding…", + "Advanced Options": "Advanced Options", + "All Topics": "All Topics", + "All feeds from OPML file are already added": "All feeds from OPML file are already added", + "All items deleted successfully": "All items deleted successfully", + "Already blocked": "Already blocked", + "Already saved": "Already saved", + "Application Recommendations": "Application Recommendations", + "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.": "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.", + "Are you sure you want to delete all items from this store?": "Are you sure you want to delete all items from this store?", + "Are you sure you want to unmute this user? This will restore the follow button.": "Are you sure you want to unmute this user? This will restore the follow button.", + "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", + "Article exported as AsciiDoc": "Article exported as AsciiDoc", + "Article exported as Markdown": "Article exported as Markdown", + "Article title (optional)": "Article title (optional)", + articleDTagDefaultHint: "Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….", + Audio: "Audio", + Author: "Author", + "Author is required for reading groups": "Author is required for reading groups", + "Author name (optional)": "Author name (optional)", + Authors: "Authors", + "Block Relay": "Block Relay", + "Blocked Relays": "Blocked Relays", + "Blocking...": "Blocking...", + Blossom: "Blossom", + Book: "Book", + "Brief description of the event": "Brief description of the event", + "Brief summary (optional)": "Brief summary (optional)", + "Brief summary of the article (optional)": "Brief summary of the article (optional)", + "Browse Cache": "Browse Cache", + "Search cached events...": "Search cached events...", + "No cached events match your search.": "No cached events match your search.", + "Showing first {{count}} cached event matches.": "Showing first {{count}} cached event matches.", + "Open in store": "Open in store", + "Browse cache root description": "View IndexedDB stores, or search all cached Nostr-like events (content, tags, id, pubkey, kind) across stores.", + "Copy event JSON": "Copy event JSON", + "C-Tag": "C-Tag", + "Cache Relays": "Cache Relays", + "Cache cleared successfully": "Cache cleared successfully", + "Cache refreshed successfully": "Cache refreshed successfully", + "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.": "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.", + "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)": "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)", + "Cache relays saved": "Cache relays saved", + Cancelled: "Cancelled", + Chapter: "Chapter", + "Chapter Title": "Chapter Title", + "Chapter title (optional)": "Chapter title (optional)", + Citation: "Citation", + "Citation title (optional)": "Citation title (optional)", + "Clean up duplicate replaceable events? This will keep only the newest version of each event.": "Clean up duplicate replaceable events? This will keep only the newest version of each event.", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}}": "Cleaned up {{deleted}} duplicate entries, kept {{kept}}", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})": "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})", + "Cleanup Duplicates": "Cleanup Duplicates", + Clear: "Clear", + "Clear Cache": "Clear Cache", + "Clear Service Worker": "Clear Service Worker", + "Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.": "Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.", + "Click update to get the latest features and improvements": "Click update to get the latest features and improvements", + Close: "Close", + "Comma or space-separated topics (will be added as t-tags)": "Comma or space-separated topics (will be added as t-tags)", + Command: "Command", + Configure: "Configure", + "Connect Wallet": "Connect Wallet", + "Console Logs": "Console Logs", + "Console logs cleared": "Console logs cleared", + "Content is required": "Content is required", + "Content must be 5000 characters or less": "Content must be 5000 characters or less", + Controversial: "Controversial", + "Copied!": "Copied!", + "Copy to clipboard": "Copy to clipboard", + "Create Article": "Create Article", + "Create Citation": "Create Citation", + "Create Highlight": "Create Highlight", + "Create New Thread": "Create New Thread", + "Create Poll": "Create Poll", + "Create Thread": "Create Thread", + composeModeKind1: "Short note (kind 1) — turn off other compose types", + "Create a Spell": "Create a Spell", + "Creating...": "Creating...", + "D-Tag": "D-Tag", + "D-Tag is required for articles": "D-Tag is required for articles", + DOI: "DOI", + "Date-based (all-day)": "Date-based (all-day)", + "Default expiration (months)": "Default expiration (months)", + "Default quiet period (days)": "Default quiet period (days)", + "Delete All": "Delete All", + "Delete item": "Delete item", + "Deleted {{count}} event(s)": "Deleted {{count}} event(s)", + "Deletion request sent": "Deletion request sent", + "Description (content)": "Description (content)", + "Digital Object Identifier (optional)": "Digital Object Identifier (optional)", + "Disable word wrap": "Disable word wrap", + "Discovered Relays": "Discovered Relays", + "Discovering relays...": "Discovering relays...", + Discussion: "Discussion", + Discussions: "Discussions", + Downvote: "Downvote", + "Edited by": "Edited by", + Editor: "Editor", + "Editor name (optional)": "Editor name (optional)", + "Enable word wrap": "Enable word wrap", + "End date": "End date", + "End date must be after start date": "End date must be after start date", + "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.": "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.", + "Enter a descriptive title for your thread": "Enter a descriptive title for your thread", + "Enter the author name": "Enter the author name", + "Enter the book title": "Enter the book title", + "Enter the specific text you want to highlight in the main content area above": "Enter the specific text you want to highlight in the main content area above", + "Event IDs (ids)": "Event IDs (ids)", + "Event appears to be invalid or corrupted": "Event appears to be invalid or corrupted", + "Event has no value data": "Event has no value data", + "Event is missing required fields: {{fields}}": "Event is missing required fields: {{fields}}", + "Event type": "Event type", + "Expiration Tags": "Expiration Tags", + "Export OPML": "Export OPML", + "Export as AsciiDoc": "Export as AsciiDoc", + "Export as Markdown": "Export as Markdown", + "External Citation": "External Citation", + "External Citation Settings": "External Citation Settings", + "Failed to add relay. Please try again.": "Failed to add relay. Please try again.", + "Failed to add relays": "Failed to add relays", + "Failed to block relay. Please try again.": "Failed to block relay. Please try again.", + "Failed to cleanup duplicates": "Failed to cleanup duplicates", + "Failed to clear cache": "Failed to clear cache", + "Failed to copy": "Failed to copy", + "Failed to create relay set. Please try again.": "Failed to create relay set. Please try again.", + "Failed to create thread": "Failed to create thread", + "Failed to create thread. Please try a different relay.": "Failed to create thread. Please try a different relay.", + "Failed to delete all items": "Failed to delete all items", + "Failed to delete item": "Failed to delete item", + "Failed to discover relays": "Failed to discover relays", + "Failed to export OPML file": "Failed to export OPML file", + "Failed to export article": "Failed to export article", + "Failed to import OPML file: {{error}}": "Failed to import OPML file: {{error}}", + "Failed to load RSS feeds": "Failed to load RSS feeds", + "Failed to load store items": "Failed to load store items", + "Failed to mute user privately": "Failed to mute user privately", + "Failed to mute user publicly": "Failed to mute user publicly", + "Failed to pin note": "Failed to pin note", + "Failed to publish post": "Failed to publish post", + "Failed to publish reply": "Failed to publish reply", + "Failed to publish reaction": "Failed to publish reaction", + "Failed to publish thread": "Failed to publish thread", + "Failed to publish to some relays. Please try again or use different relays.": "Failed to publish to some relays. Please try again or use different relays.", + "Failed to save RSS feeds": "Failed to save RSS feeds", + "Failed to save cache relays": "Failed to save cache relays", + "Failed to save relay list": "Failed to save relay list", + "Failed to unregister service worker: ": "Failed to unregister service worker: ", + "Failed to unsubscribe from topic": "Failed to unsubscribe from topic", + Favorite: "Favorite", + Fetch: "Fetch", + "Fetch once, then stop.": "Fetch once, then stop.", + "Filter by": "Filter by", + "Flat View": "Flat View", + "Font size": "Font size", + "Full Quote/Context": "Full Quote/Context", + "Full-text search query": "Full-text search query", + Geohash: "Geohash", + "Geohash (optional)": "Geohash (optional)", + "Global quiet mode": "Global quiet mode", + "Group discussions by topic": "Group discussions by topic", + "Grouped View": "Grouped View", + Groups: "Groups", + "Handler {{index}}": "Handler {{index}}", + "Hardcopy Citation": "Hardcopy Citation", + "Hardcopy Citation Settings": "Hardcopy Citation Settings", + Hide: "Hide", + "Hide interactions on all posts": "Hide interactions on all posts", + "Hide interactions on posts with quiet tags": "Hide interactions on posts with quiet tags", + "High PoW": "High PoW", + "Higher values make your thread harder to mine but more unique.": "Higher values make your thread harder to mine but more unique.", + Highlight: "Highlight", + "Highlight Settings": "Highlight Settings", + "How to Create a Highlight (NIP-84)": "How to Create a Highlight (NIP-84)", + "Human-readable spell name": "Human-readable spell name", + "Image URL": "Image URL", + "Import OPML": "Import OPML", + "Imported {{count}} feed(s) from OPML file": "Imported {{count}} feed(s) from OPML file", + "In-Browser Cache": "In-Browser Cache", + Insert: "Insert", + "Insert URL into your post and publish to Nostr GIF library (NIP-94).": "Insert URL into your post and publish to Nostr GIF library (NIP-94).", + "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.": "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.", + "Insert event or address": "Insert event or address", + "Insert mention": "Insert mention", + "Internal Citation": "Internal Citation", + "Internal Citation Settings": "Internal Citation Settings", + "Invalid Event": "Invalid Event", + "Invalid Lightning Address": "Invalid Lightning Address", + "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.": "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.", + "Invalid URL": "Invalid URL", + "Invalid content JSON": "Invalid content JSON", + "Invalid relay URL": "Invalid relay URL", + "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.": "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.", + "Item deleted successfully": "Item deleted successfully", + JSON: "JSON", + "Join link": "Join link", + "Journal/Publication name (optional)": "Journal/Publication name (optional)", + Json: "JSON", + Kinds: "Kinds", + "Language Model": "Language Model", + Large: "Large", + "Leave empty for HiveTalk, or paste Zoom / Teams / other link": "Leave empty for HiveTalk, or paste Zoom / Teams / other link", + "Lightning payment failed": "Lightning payment failed", + Limit: "Limit", + "Live feed; keeps updating.": "Live feed; keeps updating.", + "Loading more...": "Loading more...", + "Loading relays...": "Loading relays...", + "Location (optional)": "Location (optional)", + "Log in to run this spell (it uses $me or $contacts).": "Log in to run this spell (it uses $me or $contacts).", + "Login failed": "Login failed", + "nip07.extensionKeyMismatch": "Your browser extension is using a different key on this tab. Switch to the matching key in the extension, or reload the page to apply your extension's current selection.", + "nip07.reloadPage": "Reload page", + "Login to configure RSS feeds": "Login to configure RSS feeds", + "Long-form Article": "Long-form Article", + "Mailbox relays saved": "Mailbox relays saved", + "Mark as NSFW": "Mark as NSFW", + "Maximum {{max}} invitees": "Maximum {{max}} invitees", + "Maximum {{max}} invitees allowed": "Maximum {{max}} invitees allowed", + Medium: "Medium", + Mode: "Mode", + "Most Zapped": "Most Zapped", + "Move to top": "Move to top", + "Multiple choice": "Multiple choice", + "Mute failed": "Mute failed", + NSFW: "NSFW", + Name: "Name", + "Name of the language model used": "Name of the language model used", + "New External Citation": "New External Citation", + "New Hardcopy Citation": "New Hardcopy Citation", + "New Highlight": "New Highlight", + "New Internal Citation": "New Internal Citation", + "New Long-form Article": "New Long-form Article", + "New Poll": "New Poll", + "New Discussion": "New Discussion", + "New Prompt Citation": "New Prompt Citation", + "New Public Message": "New Public Message", + "New Wiki Article": "New Wiki Article", + "New Wiki Article (Markdown)": "New Wiki Article (Markdown)", + Newest: "Newest", + "No JSON available": "No JSON available", + "No RSS feeds found in OPML file": "No RSS feeds found in OPML file", + "No cached data found.": "No cached data found.", + "No console logs captured yet": "No console logs captured yet", + "No events found": "No events found", + "No feeds configured. Default feed will be used.": "No feeds configured. Default feed will be used.", + "No feeds to export": "No feeds to export", + "No groups available. Join some groups first.": "No groups available. Join some groups first.", + "No items in this store.": "No items in this store.", + "No items match your search.": "No items match your search.", + "No logs match the current filters": "No logs match the current filters", + "No posts found": "No posts found", + "No posts match your search": "No posts match your search", + "No relays available. Please configure relays in settings.": "No relays available. Please configure relays in settings.", + "No service workers or caches found for this app": "No service workers or caches found for this app", + "No users found": "No users found", + "No valid RSS feed URLs found in OPML file": "No valid RSS feed URLs found in OPML file", + "Note pinned": "Note pinned", + "Note unpinned": "Note unpinned", + Oldest: "Oldest", + "Open Timestamp": "Open Timestamp", + "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.": "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.", + "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.": "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.", + Optional: "Optional", + "Optional image for the event": "Optional image for the event", + "Optionally, add the full quote/context to show your highlight within it": "Optionally, add the full quote/context to show your highlight within it", + PM: "PM", + "Page Range": "Page Range", + Pages: "Pages", + "Paste URL of a GIF": "Paste URL of a GIF", + "Paste URL of a meme image": "Paste URL of a meme image", + "Paste the entire original passage that contains your highlight": "Paste the entire original passage that contains your highlight", + Photo: "Photo", + "Picture Note": "Picture Note", + "Pin note": "Pin note", + "Plain text description of the query": "Plain text description of the query", + "Please login to view bookmarks": "Please login to view bookmarks", + "Please login to view favorites": "Please login to view favorites", + "Please select a group": "Please select a group", + "Please select at least one relay": "Please select at least one relay", + "Please set a start date": "Please set a start date", + "Poll with no options": "Poll with no options", + "Post published to some relays": "Post published to some relays", + "Posts will automatically include expiration tags": "Posts will automatically include expiration tags", + "Posts will automatically include quiet tags": "Posts will automatically include quiet tags", + "Posts will be quiet for this many days": "Posts will be quiet for this many days", + "Posts will expire after this many months": "Posts will expire after this many months", + "Processing...": "Processing...", + "Profile event not available": "Profile event not available", + "Prompt Citation": "Prompt Citation", + "Prompt Citation Settings": "Prompt Citation Settings", + "Prompt Conversation Script": "Prompt Conversation Script", + "Proof of Work": "Proof of Work", + "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post": "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post", + "Publish to Relays": "Publish to Relays", + "Published By": "Published By", + "Published In": "Published In", + "Published On": "Published On", + "Published in": "Published in", + "Published on": "Published on", + "Publisher name (optional)": "Publisher name (optional)", + "Quiet Tags": "Quiet Tags", + "RSS Feed": "RSS Feed", + "RSS + Web": "RSS + Web", + "RSS feed source": "RSS feed source", + "All feed sources": "All feed sources", + "RSS feed view mode": "RSS feed view mode", + "Article URLs": "Article URLs", + "Article URLs subtitle": "One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.", + "Article URLs Nostr manual subtitle": "Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.", + "RSS feed column title": "RSS & linked articles", + "RSS feed column subtitle": "Feed entries and article cards that include at least one item from your subscribed RSS feeds.", + "RSS timeline": "RSS timeline", + "RSS timeline subtitle": "Every item from your subscribed feeds, newest first — classic RSS reader.", + URLs: "URLs", + RSS: "RSS", + "No URL-only items yet": "No URL-only items yet", + "Respond to this RSS entry": "Respond to this RSS entry", + "RSS read-only thread hint": "Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.", + "RSS feed item label": "RSS", + "Web URL item label": "Web URL", + "URL thread activity": "URL thread activity", + "Suppress Clawstr links in RSS previews": "Hide clawstr.com in RSS and URL feed", + "Hide local, media & feed URLs from URL cards": "Hide local, media, feed, document & XML links from the feed", + "RSS articles": "RSS articles", + "Web comments": "Web comments", + "Web highlights": "Web highlights", + "In your bookmarks": "In your bookmarks", + "{{count}} RSS entries for this URL": "{{count}} RSS entries for this URL", + "{{count}} entries for this article URL": "{{count}} entries for this article URL", + "No comments yet": "No comments yet", + "No highlights yet": "No highlights yet", + "Showing {{filtered}} of {{total}} entries": "Showing {{filtered}} of {{total}} entries", + standardRssFeed_spotifeed: "Spotify playlist (Spotifeed)", + standardRssFeed_youtube: "YouTube feed", + standardRssFeed_youtubeChannel: "YouTube channel feed", + standardRssFeed_youtubePlaylist: "YouTube playlist feed", + standardRssFeed_feedburner: "FeedBurner", + standardRssFeed_reddit: "Reddit RSS", + standardRssFeed_substack: "Substack", + standardRssFeed_medium: "Medium", + "RSS Feed Settings": "RSS Feed Settings", + "Follow sets": "Follow sets", + "Personal Lists": "Personal Lists", + "Personal lists hub intro": "Open mute list, following, bookmarks list, pinned notes, interest topics (kind 10015), your NIP-30 user emoji list (kind 10030), and emoji set packs (kind 30030) on their own pages. Follow sets are below. Web page bookmarks (NIP-B0, kind 39701) are separate—save from an article’s panel or use the Bookmarks spell for a mixed feed.", + "Mute list": "Mute list", + "Following list": "Following list", + "Bookmarks list": "Bookmarks list", + "Pinned notes list": "Pinned notes list", + "Interests list": "Interests list", + "User emoji list": "User emoji list (kind 10030)", + "Emoji sets": "Emoji sets (kind 30030)", + "User emoji list title": "{{username}}'s emoji list", + "User emoji list intro": "NIP-30: inline custom emoji (`emoji` tags) and references to your kind 30030 packs (`a` tags). Publish when you are done editing.", + "User emoji list saved": "Emoji list published", + "User emoji inline section": "Inline emoji", + "User emoji inline empty": "No inline emoji yet. Add a shortcode and image URL below.", + "User emoji inline invalid": "Enter a shortcode and a non-empty image URL.", + "User emoji sets section": "Emoji set references", + "User emoji sets hint": "Add a coordinate in the form 30030:<64-hex pubkey>:, usually one of your own emoji sets from the Emoji sets page.", + "User emoji sets empty": "No emoji set references yet.", + "User emoji set ref invalid": "Invalid coordinate. Use 30030::.", + "User emoji set ref duplicate": "That emoji set is already in the list.", + "Emoji set coordinate": "Emoji set (a tag)", + "Publish changes": "Publish changes", + Shortcode: "Shortcode", + "Emoji sets settings intro": "NIP-30 emoji packs (kind 30030): each set has a `d` tag and `emoji` entries (shortcode + image URL). Publish from the editor dialog.", + "New emoji set": "New emoji set", + "Edit emoji set": "Edit emoji set", + "No emoji sets yet": "You have not created any emoji sets yet.", + "Emoji set saved": "Emoji set saved", + "Emoji set deleted": "Emoji set deleted", + "Failed to load emoji sets": "Failed to load emoji sets", + "emoji entries": "emoji", + "Emoji set d tag hint": "Stable identifier for this pack. It cannot be changed after the first publish.", + "Emoji pack entries": "Emoji in this pack", + "No emoji entries in pack": "No emoji in this pack yet.", + "Delete emoji set?": "Delete this emoji set?", + "Delete emoji set confirm": "This sends a deletion request (kind 5). Relays that accept it will drop the set; others may still show a cached copy.", + "Interests list section subtitle": "Topics you follow for hashtag feeds and the Interests spell. Stored on Nostr as kind 10015 (`t` tags).", + "Interest topic placeholder": "topic or #hashtag", + "Interest list add topic": "Add topic", + "Interest topic invalid": "Enter a valid topic (letters, numbers, hyphens, underscores).", + "No interest topics in list": "No subscribed topics yet. Add one above or subscribe from a hashtag page.", + "username's interest topics": "{{username}}'s interest topics", + "Remove from interest list": "Remove from interest list", + "Personal lists interests spell hint": "For a combined feed of all subscribed topics, use the", + "Interests spell": "Interests spell", + "Personal lists bookmarks spell hint": "For a note feed from NIP-51 bookmarks, use the", + "Bookmarks spell": "Bookmarks spell", + "Pinned notes hint": "Pinned notes: use the note menu (⋯) on a note and choose pin to profile. Pins appear on your profile.", + "Bookmarks list section title": "Bookmarks list", + "Bookmarks list section subtitle": "Events referenced by `e` / `a` tags on your kind 10003 bookmark list (newest first).", + "No entries in bookmark list": "Your bookmark list is empty.", + "View bookmarks as feed in Spells": "View bookmarks as a note feed in Spells", + "Pinned notes list section title": "Pinned notes list", + "Pinned notes list section subtitle": "Events referenced by `e` / `a` tags on your kind 10001 pin list (same order as on your profile).", + "Loading pin list": "Loading pin list…", + "No pinned notes in list": "No pinned notes in your pin list yet.", + "username's bookmarks": "{{username}}'s bookmarks", + "username's pinned notes": "{{username}}'s pinned notes", + "Event not loaded": "Event not loaded", + "No NIP-51 bookmarks or web bookmarks yet.": "No NIP-51 bookmarks or web bookmarks yet.", + "Web bookmarks": "Web bookmarks", + "Web bookmark": "Web bookmark", + "Web bookmarks NIP intro": "Web bookmarks are stored as kind 39701 events, not in your NIP-51 bookmark list.", + "Log in to save web bookmarks": "Log in to save web bookmarks for this page (NIP-B0, kind 39701).", + "Remove web bookmark": "Remove web bookmark", + "No web bookmark for this URL yet": "You have not saved a web bookmark for this URL yet.", + "Page title": "Page title", + "Short description": "Short description", + "Save web bookmark": "Save web bookmark", + "Sign in to publish web bookmark": "Please log in with a signing key to save web bookmarks.", + "Follow sets settings intro": "NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.", + "New follow set": "New follow set", + "Edit follow set": "Edit follow set", + "No follow sets yet": "You have not created any follow sets yet.", + "Follow set saved": "Follow set saved", + "Follow set deleted": "Follow set deleted", + "Failed to load follow sets": "Failed to load follow sets", + members: "members", + "Optional display title": "Optional display title", + "List id (d tag)": "List id (d tag)", + "Follow set d tag hint": "Stable identifier for this list. It cannot be changed after the first publish.", + "People in this list": "People in this list", + "Delete follow set?": "Delete this follow set?", + "Delete follow set confirm": "This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.", + "Clean list": "Clean list", + "Clean this list?": "Clean this list?", + "Clean list confirm": "This will publish a fresh, empty replacement for this list (all entries removed). This cannot be undone.", + "Clean follows list confirm with backup": "Before cleaning your follows (kind 3), the current list snapshot will be published to follows history relays. Then a fresh, empty follows list will be published. Continue?", + "List cleaned": "List cleaned", + "Failed to clean list": "Failed to clean list", + "Remove feed": "Remove feed", + "RSS Feeds": "RSS Feeds", + "RSS feeds exported to OPML file": "RSS feeds exported to OPML file", + "RSS feeds saved": "RSS feeds saved", + "Rate limited. Please wait before trying again.": "Rate limited. Please wait before trying again.", + "Reaction published": "Reaction published", + "Reaction published to some relays": "Reaction published to some relays", + "Reaction removed": "Reaction removed", + "Read full article": "Read full article", + "Reading group entry": "Reading group entry", + "Readings Options": "Readings Options", + Recipients: "Recipients", + "Recipients detected from your message:": "Recipients detected from your message:", + "Recommended Relays": "Recommended Relays", + "Recommended applications for handling events of kind {{kind}}": "Recommended applications for handling events of kind {{kind}}", + "Reference to the cited Nostr event in kind:pubkey:hex format": "Reference to the cited Nostr event in kind:pubkey:hex format", + "Refresh Cache": "Refresh Cache", + "Refreshing posts...": "Refreshing posts...", + "Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.": "Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.", + Relay: "Relay", + "Relay Hint": "Relay Hint", + "Relay URL (optional)": "Relay URL (optional)", + "Relay blocked successfully": "Relay blocked successfully", + "Relay requires authentication for write access. Please try a different relay or contact the relay operator.": "Relay requires authentication for write access. Please try a different relay or contact the relay operator.", + "Relay set options": "Relay set options", + "Remove from favorites": "Remove from favorites", + Rendered: "Rendered", + "Reply published": "Reply published", + "Reply published to some relays": "Reply published to some relays", + "Reply to Public Message": "Reply to Public Message", + "Republish to all active relays": "Republish to all active relays", + "Republish to all available relays": "Republish to all available relays", + "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.": "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.", + "Required: start time or start date. Optional: title, end, location, summary, topics, image.": "Required: start time or start date. Optional: title, end, location, summary, topics, image.", + "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Respect quiet tags": "Respect quiet tags", + "Search (NIP-50)": "Search (NIP-50)", + "Search by name or npub…": "Search by name or npub…", + "Search calendar, publications, wiki…": "Search calendar, publications, wiki…", + "Search for user…": "Search for user…", + "Search items...": "Search items...", + "Search logs...": "Search logs...", + "Search notes, threads, long-form…": "Search notes, threads, long-form…", + "Search on GifBuddy": "Search on GifBuddy", + "Search on Meme Amigo": "Search on Meme Amigo", + "Search posts...": "Search posts...", + "Search threads by title, content, tags, npub, author...": "Search threads by title, content, tags, npub, author...", + "Searching all available relays...": "Searching all available relays...", + "Searching…": "Searching…", + "See reference": "See reference", + "Select Group": "Select Group", + "Select Media Type": "Select Media Type", + "Select group...": "Select group...", + "Select relays": "Select relays", + "Publish relay cap hint": "At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.", + "Publish relay cap hint with outbox first": "At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.", + "Select the group where you want to create this discussion.": "Select the group where you want to create this discussion.", + "Select topic...": "Select topic...", + "Selected text": "Selected text", + "Send Public Message": "Send Public Message", + "Send a Lightning payment to this user": "Send a Lightning payment to this user", + "Service worker caches cleared. Please reload the page.": "Service worker caches cleared. Please reload the page.", + "Service worker unregistered and caches cleared. Please reload the page.": "Service worker unregistered and caches cleared. Please reload the page.", + "Service worker unregistered. Please reload the page.": "Service worker unregistered. Please reload the page.", + "Share your thoughts, ask questions, or start a discussion...": "Share your thoughts, ask questions, or start a discussion...", + "Short Video Note": "Short Video Note", + "Show RSS Feed": "Show RSS Feed", + "Show all discussions in a single list": "Show all discussions in a single list", + "Show less": "Show less", + Since: "Since", + Small: "Small", + "Some relays have temporarily disabled writes.": "Some relays have temporarily disabled writes.", + Source: "Source", + "Spell definition": "Spell definition", + "Spell published": "Spell published", + "Start date": "Start date", + "Start typing to see a preview...": "Start typing to see a preview...", + "Subject (Book Title)": "Subject (Book Title)", + "Subject (book title) is required for reading groups": "Subject (book title) is required for reading groups", + "Subject / Topics": "Subject / Topics", + Subscribe: "Subscribe", + Subscribed: "Subscribed", + "Subscribed to topic": "Subscribed to topic", + "Subscribed to topic (local)": "Subscribed to topic (local)", + "Subscribing...": "Subscribing...", + Summary: "Summary", + "Supported Event Types": "Supported Event Types", + "Take a note": "Take a note", + "The full prompt conversation (optional)": "The full prompt conversation (optional)", + "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.": "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.", + "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.": "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.", + "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.": "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.", + "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a Nostr event of kind {{kind}}.": "This GIF was found in a Nostr event of kind {{kind}}.", + "This file could be either audio or video. Please select the correct type:": "This file could be either audio or video. Please select the correct type:", + "This store does not contain replaceable events": "This store does not contain replaceable events", + "This will add additional tags for author and subject to help organize reading group discussions.": "This will add additional tags for author and subject to help organize reading group discussions.", + "Thread Content": "Thread Content", + "Thread Title": "Thread Title", + "Thread creation timed out. Please try again.": "Thread creation timed out. Please try again.", + "Thread published": "Thread published", + "Threads are organized by topics. Choose a topic that best fits your discussion.": "Threads are organized by topics. Choose a topic that best fits your discussion.", + "Time-based": "Time-based", + "Title is required": "Title is required", + "Title must be 100 characters or less": "Title must be 100 characters or less", + "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.": "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.", + Top: "Top", + Topic: "Topic", + URL: "URL", + "URL of the article cover image (optional)": "URL of the article cover image (optional)", + "Unique identifier for this article (required)": "Unique identifier for this article (required)", + "Unmute failed": "Unmute failed", + "Unpin note": "Unpin note", + Unsubscribe: "Unsubscribe", + "Unsubscribed from topic": "Unsubscribed from topic", + "Unsubscribing...": "Unsubscribing...", + Until: "Until", + Untitled: "Untitled", + Update: "Update", + "Updating...": "Updating...", + "Upload Audio Comment": "Upload Audio Comment", + "Upload Audio Message": "Upload Audio Message", + "Upload Media": "Upload Media", + "Media kind": "Media kind", + "Use image/audio/video note kind for the media URL in the editor": "Use image/audio/video note kind for the media URL in the editor", + "Already publishing as a media note": "Already publishing as a media note", + "No media URL in note — upload or paste a link first": "No media URL in note — upload or paste a link first", + "Cannot infer media type from URL — use Note type → Media Note to upload": "Cannot infer media type from URL — use Note type → Media Note to upload", + "Media kind (disabled): add imeta tags, a media URL, or upload media first": "Media kind (disabled): add imeta tags, a media URL, or upload media first", + Upvote: "Upvote", + "User unmuted": "User unmuted", + "Version number (optional)": "Version number (optional)", + Video: "Video", + "Video Note": "Video Note", + "Video file": "Video file", + "View Console Logs": "View Console Logs", + "View JSON": "View JSON", + "View cached items in this store.": "View cached items in this store.", + "View definition": "View definition", + "View details about cached data in IndexedDB stores. Click on a store to view its items.": "View details about cached data in IndexedDB stores. Click on a store to view its items.", + "View on Alexandria": "View on Alexandria", + "View on DecentNewsroom": "View on DecentNewsroom", + "View on Wikistr": "View on Wikistr", + "View recent console logs for debugging": "View recent console logs for debugging", + "Voice Comment": "Voice Comment", + "Voice Note": "Voice Note", + "Voice note or audio file": "Voice note or audio file", + Volume: "Volume", + "Volume number (optional)": "Volume number (optional)", + "Vote published": "Vote published", + "Vote removed": "Vote removed", + "Website where LLM was accessed (optional)": "Website where LLM was accessed (optional)", + "Wiki Article (AsciiDoc)": "Wiki Article (AsciiDoc)", + "Wiki Article (Markdown)": "Wiki Article (Markdown)", + "You can only delete your own notes": "You can only delete your own notes", + "You must be logged in to create a thread": "You must be logged in to create a thread", + "You need to add at least one media server in order to upload media files.": "You need to add at least one media server in order to upload media files.", + "You need to login first": "You need to login first", + "Your account is blocked from posting to this relay.": "Your account is blocked from posting to this relay.", + Zap: "Zap", + "Zap failed": "Zap failed", + created_at: "created_at", + "e tag of kind 1040 event (optional)": "e tag of kind 1040 event (optional)", + "e.g. meetup, conference": "e.g. meetup, conference", + "e.g., 123-145 (optional)": "e.g., 123-145 (optional)", + "e.g., GPT-4, Claude, etc. (required)": "e.g., GPT-4, Claude, etc. (required)", + "e.g., my-article-title": "e.g., my-article-title", + entries: "entries", + "from Bunker": "from Bunker", + "from Extension": "from Extension", + "from NIP-05": "from NIP-05", + general: "general", + "https://example.com (required)": "https://example.com (required)", + "https://example.com/image.jpg": "https://example.com/image.jpg", + id: "id", + items: "items", + kind: "kind", + "kind:pubkey:hex format (required)": "kind:pubkey:hex format (required)", + "last updated": "last updated", + matching: "matching", + naddr: "naddr", + nevent: "nevent", + "nevent1..., naddr1..., note1..., hex ID, or https://...": "nevent1..., naddr1..., note1..., hex ID, or https://...", + "no notes found": "no notes found", + of: "of", + "on note": "on note", + optional: "optional", + pubkey: "pubkey", + "sent a public message": "sent a public message", + "sent you a public message": "sent you a public message", + "sent you a public message (along with {{count}} others)": "sent you a public message (along with {{count}} others)", + sig: "sig", + "started a discussion in {{topic}}": "started a discussion in {{topic}}", + tags: "tags", + thread: "thread", + threads: "threads", + "topic1, topic2, topic3": "topic1, topic2, topic3", + "{{count}} relay(s) selected": "{{count}} relay(s) selected", + "🔞 NSFW 🔞": "🔞 NSFW 🔞", + "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).": "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).", + "Compressing on your device before upload (large videos can take several minutes)…": "Compressing on your device before upload (large videos can take several minutes)…", + "Failed to refresh": "Failed to refresh", + "Invalid article link.": "Invalid article link.", + Likes: "Likes", + "Loading…": "Loading…", + "Missing pubkey": "Missing pubkey", + "No RSS feed list found on relays": "No RSS feed list found on relays", + "Pinned posts": "Pinned posts", + "Publishing...": "Publishing...", + "RSS article": "RSS article", + "RSS feed list refreshed": "RSS feed list refreshed", + "Save or discard your changes before refreshing from relays": "Save or discard your changes before refreshing from relays", + "Suggested topics": "Suggested topics", + "Synthetic event (no author)": "Synthetic event (no author)", + "Topic is required": "Topic is required", + "Type a topic or pick from the list": "Type a topic or pick from the list", + "Uploading to media server…": "Uploading to media server…", + profileEditorRefreshCacheHint: "profileEditorRefreshCacheHint", + startupSessionHydrating: "startupSessionHydrating", + "AI / LLM prompt citation": "AI / LLM prompt citation", + "AsciiDoc wiki contribution": "AsciiDoc wiki contribution", + "Attach image, audio, or video": "Attach image, audio, or video", + Citations: "Citations", + "Cite from external source": "Cite from external source", + "Cite from private relay": "Cite from private relay", + "Create a voting poll": "Create a voting poll", + "Create custom event": "Create custom event", + "Create event with custom kind": "Create event with custom kind", + "Custom Event": "Custom Event", + "Custom tag…": "Custom tag…", + Dismiss: "Dismiss", + "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.": "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.", + "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).": "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).", + "Failed to rebroadcast entire publication: {{error}}": "Failed to rebroadcast entire publication: {{error}}", + "Feed filter kind": "Feed filter kind", + "Feed filter kind hint": "Feed filter kind hint", + "Feed filter kind invalid": "Feed filter kind invalid", + "Feed filter kind placeholder": "Feed filter kind placeholder", + "Invalid event fields": "Invalid event fields", + "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).": "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).", + "Markdown article (NIP-23)": "Markdown article (NIP-23)", + "Markdown wiki contribution": "Markdown wiki contribution", + "Media Note": "Media Note", + "No publication events found for rebroadcast": "No publication events found for rebroadcast", + "No publication events were accepted by any relay": "No publication events were accepted by any relay", + "Note type": "Note type", + "Offline mode": "Offline mode", + "Only local relays and cached content are available.": "Only local relays and cached content are available.", + "Physical source citation": "Physical source citation", + "Plain text note (kind 1)": "Plain text note (kind 1)", + "Private relay publication": "Private relay publication", + "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).": "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).", + "Public Message": "Public Message", + "Public direct message (kind 4)": "Public direct message (kind 4)", + "Publication Note": "Publication Note", + "Rebroadcast entire publication": "Rebroadcast entire publication", + "Rebroadcast entire publication to ...": "Rebroadcast entire publication to ...", + "Rebroadcasted entire publication": "Rebroadcasted entire publication", + "Rebroadcasting entire publication...": "Rebroadcasting entire publication...", + "Save a quote or passage": "Save a quote or passage", + "Save data": "Save data", + "Set kind, content, and tags, then publish.": "Set kind, content, and tags, then publish.", + "Short Note": "Short Note", + "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.": "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.", + "Slow connection detected": "Slow connection detected", + "Start a discussion thread": "Start a discussion thread", + "This action is only available for publications": "This action is only available for publications", + "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.": "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.", + Thread: "Thread", + "Turn on low-bandwidth mode to reduce data usage.": "Turn on low-bandwidth mode to reduce data usage.", + "Turn on low-bandwidth mode? This will set: {{changes}}.": "Turn on low-bandwidth mode? This will set: {{changes}}.", + "Unsigned experimental kind": "Unsigned experimental kind", + "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.": "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.", + "media loading off": "media loading off", + profileEditorDuplicateSingleton: "profileEditorDuplicateSingleton", + profileEditorEditBannerUrl: "profileEditorEditBannerUrl", + profileEditorEditPictureUrl: "profileEditorEditPictureUrl", + profileEditorImageUrlHint: "profileEditorImageUrlHint", + profileEditorNostrBuildThumbHint: "profileEditorNostrBuildThumbHint", + profileEditorProfileNotLoaded: "profileEditorProfileNotLoaded", + profileEditorTagListHint: "profileEditorTagListHint", + "readOnlySession.hint": "readOnlySession.hint", + "readOnlySession.label": "readOnlySession.label", + "readOnlySession.labelShort": "readOnlySession.labelShort", + "video autoplay off": "video autoplay off", } } diff --git a/src/i18n/locales/fa.ts b/src/i18n/locales/fa.ts deleted file mode 100644 index 35a86fc3..00000000 --- a/src/i18n/locales/fa.ts +++ /dev/null @@ -1,1837 +0,0 @@ -export default { - translation: { - 'Welcome! 🥳': 'خوش آمدید! 🥳', - About: 'درباره', - 'New Note': 'یادداشت جدید', - Post: 'ارسال', - Home: 'خانه', - Feed: 'Feed', - 'Favorite Relays': 'رله‌های مورد علاقه', - 'Relay pulse': 'Relay pulse', - 'Relay pulse empty': 'Quiet on your relays in the last hour.', - 'Relay pulse follows': 'Following ({{count}})', - 'Relay pulse others': 'Others ({{count}})', - 'Relay pulse updated': 'Updated {{relative}}', - 'Relay pulse active npubs': 'Active npubs', - 'Relay pulse active npubs hint': - 'Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).', - 'Relay pulse drawer following': 'Following', - 'Relay pulse drawer others': 'Others', - 'Relay pulse drawer no profiles': 'No kind 0 profiles loaded for this sample yet.', - 'See the newest notes from your follows': 'See the newest notes from your follows', - 'All favorite relays': 'همهٔ رله‌های مورد علاقه', - 'Pinned note': 'Pinned note', - 'Relay settings': 'تنظیمات رله', - Settings: 'تنظیمات', - 'Account menu': 'Account menu', - SidebarRelays: 'رله‌ها', - Refresh: 'بازخوانی', - 'refresh.longPressHardReload': 'Long-press: reload app and restore feed cache', - 'link.expandNostrEmbed': 'Show Nostr preview', - Profile: 'پروفایل', - Logout: 'خروج', - Following: 'دنبال می‌کنم', - followings: 'دنبال شونده‌ها', - boosted: 'بوست شده', - 'Boosted by:': 'Boosted by:', - 'just now': 'همین الان', - 'n minutes ago': '{{n}} دقیقه پیش', - 'n m': '{{n}}د', - 'n hours ago': '{{n}} ساعت پیش', - 'n h': '{{n}}س', - 'n days ago': '{{n}} روز پیش', - 'n d': '{{n}}ر', - date: '{{timestamp, date}}', - Follow: 'دنبال کردن', - Unfollow: 'لغو دنبال کردن', - 'Follow failed': 'دنبال کردن ناموفق', - 'Unfollow failed': 'لغو دنبال کردن ناموفق', - 'show new notes': 'نمایش یادداشت‌های جدید', - 'loading...': 'در حال بارگذاری...', - 'Loading...': 'در حال بارگذاری...', - 'no more notes': 'یادداشت بیشتری وجود ندارد', - 'calendar entries': 'calendar entries', - 'Loading calendar events...': 'Loading calendar events...', - 'No calendar events found': 'No calendar events found', - 'Calendar events in the next {{count}} months': 'Calendar events in the next {{count}} months', - 'The nostr.band relay appears to be temporarily out of service. Please try again later.': - 'The nostr.band relay appears to be temporarily out of service. Please try again later.', - 'reply to': 'پاسخ به', - reply: 'پاسخ', - Reply: 'پاسخ', - 'load more older replies': 'بارگذاری پاسخ‌های قدیمی‌تر', - 'Write something...': 'چیزی بنویسید...', - Cancel: 'لغو', - Mentions: 'اشاره‌ها', - 'Search for event or address…': 'Search for event or address…', - 'Search notes…': 'Search notes…', - 'No notes found': 'No notes found', - 'Failed to post': 'ارسال ناموفق', - 'Post successful': 'ارسال موفق', - 'Your post has been published': 'پست شما منتشر شد', - Boost: 'بوست', - 'Boost published': 'بوست منتشر شد', - Quote: 'نقل قول', - 'Copy event ID': 'کپی شناسه رویداد', - 'Copy user ID': 'کپی شناسه کاربر', - 'Send public message': 'Send public message', - 'View raw event': 'نمایش رویداد خام', - 'Edit this event': 'Edit this event', - 'Clone or fork this event': 'Clone or fork this event', - 'Event kind': 'Event kind', - 'Note content': 'Note content', - Publish: 'Publish', - 'Post published': 'Post published', - 'Edit content and tags, then publish a new signed event.': - 'Edit content and tags, then publish a new signed event.', - 'Log in to publish': 'Log in to publish', - 'Set when you publish': 'set when you publish', - 'id and sig are assigned when you publish': 'id and sig are assigned when you publish', - 'Published to some relays only': 'Published to some relays only', - 'Add field': 'Add field', - 'View full profile': 'View full profile', - Like: 'پسند', - 'switch to light theme': 'تغییر به تم روشن', - 'switch to dark theme': 'تغییر به تم تاریک', - 'switch to system theme': 'تغییر به تم سیستم', - Note: 'یادداشت', - note: 'یادداشت', - "username's following": 'دنبال شونده‌های {{username}}', - "username's used relays": 'رله‌های استفاده شده {{username}}', - "username's muted": 'بی‌صدا شده‌های {{username}}', - Login: 'ورود', - downloadDesktopApp: 'Download app', - 'Please log in to view notifications.': 'Please log in to view notifications.', - 'Follows you': 'شما را دنبال می‌کند', - 'Relay Settings': 'تنظیمات رله', - 'Relays and Storage Settings': 'Relays and Storage Settings', - 'Relay set name': 'نام مجموعه رله', - 'Add a new relay set': 'افزودن مجموعه رله جدید', - Add: 'افزودن', - 'n relays': '{{n}} رله', - Rename: 'تغییر نام', - 'Copy share link': 'Copy share link', - 'Copy address': 'Copy address', - 'Copy payto URI': 'Copy payto URI', - 'Copied payto address': 'Copied payto address', - 'Copied to clipboard': 'Copied to clipboard', - 'Copied {{label}} address': 'Copied {{label}} address', - 'Lightning payment address – copy to pay via your wallet': - 'Lightning payment address – copy to pay via your wallet', - 'Payment address – copy to use in your wallet or app': - 'Payment address – copy to use in your wallet or app', - 'Click to open payment options': 'Click to open payment options', - 'Click to copy address': 'Click to copy address', - 'Open on website': 'Open on website', - 'Raw profile event': 'Raw profile event', - 'Full profile event': 'Full profile event', - 'Event (JSON)': 'Event (JSON)', - 'Save full profile': 'Save full profile', - 'Add tag': 'Add tag', - 'Remove tag': 'Remove tag', - 'Tag name': 'Tag name', - Value: 'Value', - 'Add value to tag': 'Add value to tag', - 'Remove value': 'Remove value', - 'No tags. Click "Add tag" to add one.': 'No tags. Click "Add tag" to add one.', - 'Profile updated': 'Profile updated', - 'Failed to publish profile': 'Failed to publish profile', - 'Invalid profile JSON': 'Invalid profile JSON', - 'Refresh cache': 'Refresh cache', - 'Force-refresh profile and payment info from relays': - 'Force-refresh profile and payment info from relays', - 'Profile and payment cache refreshed': 'Profile and payment cache refreshed', - 'Failed to refresh cache': 'Failed to refresh cache', - 'Raw payment info event': 'Raw payment info event', - 'Payment info': 'Payment info', - 'Edit payment info': 'Edit payment info', - 'Add payment info': 'Add payment info', - 'No payment info event yet. Click "Add payment info" to create one.': - 'No payment info event yet. Click "Add payment info" to create one.', - 'Content (JSON)': 'Content (JSON)', - Tags: 'Tags', - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])': - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])', - 'Payment info updated': 'Payment info updated', - 'Failed to publish payment info': 'Failed to publish payment info', - 'Invalid tags JSON': 'Invalid tags JSON', - 'Payment methods': 'Payment methods', - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).': - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).', - 'Type (e.g. lightning)': 'Type (e.g. lightning)', - 'Authority (e.g. user@domain.com)': 'Authority (e.g. user@domain.com)', - 'Add payment method': 'Add payment method', - Remove: 'Remove', - 'Additional content (JSON)': 'Additional content (JSON)', - 'Show full event JSON': 'Show full event JSON', - 'Tag list': 'Tag list', - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.': - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.', - 'Tag value': 'Tag value', - 'Saving…': 'Saving…', - 'Share with Imwald': 'اشتراک‌گذاری با Imwald', - 'Share with Alexandria': 'اشتراک‌گذاری با Alexandria', - 'Start video call': 'Start video call', - 'Copy call invite link': 'Copy call invite link', - 'Start call about this': 'Start call about this', - 'Send call invite': 'Send call invite', - 'Read this note aloud': 'Read this note aloud', - 'Read-aloud is not supported in this browser': 'Read-aloud is not supported in this browser', - 'Nothing to read aloud': 'Nothing to read aloud', - 'Read-aloud failed': 'Read-aloud failed', - 'Read aloud': 'Read aloud', - 'Read-aloud idle': 'Idle', - 'Preparing read-aloud…': 'Preparing read-aloud…', - 'Requesting audio…': 'Requesting audio…', - 'Loading audio…': 'Loading audio…', - Playing: 'Playing', - Paused: 'Paused', - 'Read-aloud finished': 'Finished', - 'Read-aloud error': 'Error', - 'TTS endpoint': 'TTS endpoint', - 'Using browser speech synthesis': 'Using browser speech synthesis', - 'Read-aloud section progress': 'Section {{current}} of {{total}}', - 'Request sent': 'Request sent', - 'Response received': 'Response received', - 'Playback started': 'Playback started', - Characters: 'Characters', - Pause: 'Pause', - Play: 'Play', - Stop: 'Stop', - 'Read-aloud sections': 'Read-aloud sections', - 'Read-aloud overall progress': 'Overall progress', - 'Read-aloud section done': 'Section {{index}}: finished', - 'Read-aloud section pending': 'Section {{index}}: not started yet', - 'Read-aloud section fetching': 'Section {{index}}: requesting audio', - 'Read-aloud section preparing audio': 'Section {{index}}: loading audio', - 'Read-aloud section playing': 'Section {{index}}: playing', - 'Read-aloud section paused': 'Section {{index}}: paused', - 'Read-aloud legend fetching': 'Requesting audio for this section from the server…', - 'Read-aloud legend buffering': 'Decoding audio for this section…', - 'Read-aloud legend playing': 'Playing this section.', - 'Read-aloud legend paused': 'Playback paused.', - 'Read-aloud Piper fallback notice': - 'Server voice (Piper) could not be used. Playing with your browser voice instead.', - 'Read-aloud Piper fallback detail label': 'Piper error', - 'Read-aloud Piper status region': 'Piper text-to-speech status', - 'Read-aloud Piper status heading': 'Piper (server voice)', - 'Read-aloud Piper skipped notice': - 'No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.', - 'Read-aloud Piper attempt started': - 'Piper was started at {{time}} (this read-aloud used the server first).', - 'Read-aloud Piper endpoint tried': 'URL used: {{url}}', - 'Join the video call': 'Join the video call', - 'Schedule video call': 'Schedule video call', - "You're invited to a scheduled video call.": "You're invited to a scheduled video call.", - 'Create a calendar event and send an invite. The recipient will see the event with a join link.': - 'Create a calendar event and send an invite. The recipient will see the event with a join link.', - 'Schedule a video call': 'Schedule a video call', - 'Create a calendar event and send kind 24 invites to each listed invitee.': - 'Create a calendar event and send kind 24 invites to each listed invitee.', - Invitees: 'Invitees', - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)': - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)', - 'Schedule and send invites': 'Schedule and send invites', - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)': - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)', - 'Scheduled call created and {{count}} invite(s) sent': - 'Scheduled call created and {{count}} invite(s) sent', - 'Join video call': 'Join video call', - 'Scheduled video call': 'Scheduled video call', - 'Video call': 'Video call', - 'Schedule and send invite': 'Schedule and send invite', - 'Scheduling…': 'Scheduling…', - 'Please set a start time': 'Please set a start time', - 'End time must be after start time': 'End time must be after start time', - 'Failed to schedule call': 'Failed to schedule call', - 'Scheduled call created and invite sent': 'Scheduled call created and invite sent', - RSVP: 'RSVP', - 'RSVP: {{status}}': 'RSVP: {{status}}', - Accepted: 'Accepted', - Tentative: 'Tentative', - Declined: 'Declined', - 'You need to log in to RSVP': 'You need to log in to RSVP', - 'RSVP updated': 'RSVP updated', - 'Failed to update RSVP': 'Failed to update RSVP', - Organizer: 'Organizer', - Attendees: 'Attendees', - 'No response': 'No response', - 'Calendar Events': 'Calendar Events', - 'Calendar Event': 'Calendar Event', - 'Schedule in-person meeting': 'Schedule in-person meeting', - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.': - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.', - "You're invited to an in-person meeting.": "You're invited to an in-person meeting.", - 'Meeting created and invite sent': 'Meeting created and invite sent', - 'Failed to create meeting': 'Failed to create meeting', - 'Create and send invite': 'Create and send invite', - 'Creating…': 'Creating…', - 'In-person meeting': 'In-person meeting', - Location: 'Location', - 'Address, venue, or place': 'Address, venue, or place', - Description: 'Description', - 'Optional notes': 'Optional notes', - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.': - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.', - 'Meeting created and {{count}} invite(s) sent': 'Meeting created and {{count}} invite(s) sent', - 'Create and send invites': 'Create and send invites', - Title: 'Title', - Start: 'Start', - End: 'End', - Delete: 'حذف', - 'Relay already exists': 'رله از قبل موجود است', - 'invalid relay URL': 'آدرس رله نامعتبر', - 'Relay URL…': 'wss://… or relay host', - 'Open relay': 'Open relay', - 'Add a new relay': 'افزودن رله جدید', - back: 'بازگشت', - 'Lost in the void': 'گم شده در خلاء', - 'Carry me home': 'مرا به خانه ببر', - 'no replies': 'پاسخی وجود ندارد', - 'Reply to': 'پاسخ به', - Search: 'جستجو', - 'The relays you are connected to do not support search': - 'رله‌هایی که متصل هستید از جستجو پشتیبانی نمی‌کنند', - 'Show more...': 'نمایش بیشتر...', - 'All users': 'همه کاربران', - 'Display replies': 'نمایش پاسخ‌ها', - Notes: 'یادداشت‌ها', - Replies: 'پاسخ‌ها', - Gallery: 'گالری', - Notifications: 'اعلان‌ها', - 'no more notifications': 'اعلان بیشتری وجود ندارد', - 'Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.': - 'استفاده از کلید خصوصی برای ورود ناامن است. توصیه می‌شود از افزونه مرورگر برای ورود استفاده کنید، مانند alby، nostr-keyx یا nos2x. اگر مجبور به استفاده از کلید خصوصی هستید، حداقل یک رمز عبور برای رمزگذاری تنظیم کنید.', - 'Login with Browser Extension': 'ورود با افزونه مرورگر', - 'Login with Bunker': 'ورود با Bunker', - 'Login with Private Key': 'ورود با کلید خصوصی', - 'Login with npub (read-only)': 'ورود با npub (فقط خواندن)', - 'reload notes': 'بازخوانی یادداشت‌ها', - 'Logged in Accounts': 'حساب‌های وارد شده', - 'Add an Account': 'افزودن حساب', - 'More options': 'گزینه‌های بیشتر', - 'Add client tag': 'افزودن برچسب کلاینت', - 'Show others this was sent via Imwald': 'به دیگران نشان دهید که از طریق Imwald ارسال شده', - 'Are you sure you want to logout?': 'آیا مطمئن هستید که می‌خواهید خارج شوید؟', - 'relay sets': 'مجموعه‌های رله', - edit: 'ویرایش', - Languages: 'زبان‌ها', - Theme: 'تم', - System: 'سیستم', - Light: 'روشن', - Dark: 'تاریک', - Temporary: 'موقت', - 'Choose a relay set': 'یک مجموعه رله انتخاب کنید', - 'Switch account': 'تغییر حساب', - Pictures: 'تصاویر', - 'Picture note': 'یادداشت تصویری', - 'A special note for picture-first clients like Olas': - 'یادداشت ویژه برای کلاینت‌های تصویر محور مانند Olas', - 'Picture note requires images': 'یادداشت تصویری نیاز به تصاویر دارد', - Relays: 'رله‌ها', - Image: 'تصویر', - 'Upload Image': 'Upload Image', - 'Insert emoji': 'Insert emoji', - 'Insert GIF': 'Insert GIF', - 'Insert meme': 'Insert meme', - 'Search GIFs': 'Search GIFs', - 'Search memes': 'Search memes', - 'Choose a GIF': 'Choose a GIF', - 'Choose a meme': 'Choose a meme', - 'Search GifBuddy for more GIFs': 'Search GifBuddy for more GIFs', - 'Add your own GIFs': 'Add your own GIFs', - 'Add your own meme templates': 'Add your own meme templates', - 'Description (optional, for search)': 'Description (optional, for search)', - 'e.g. happy birthday, thumbs up': 'e.g. happy birthday, thumbs up', - 'e.g. drake, distracted boyfriend': 'e.g. drake, distracted boyfriend', - 'Uploading...': 'Uploading...', - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.': - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.', - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).': - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).', - 'Failed to publish meme template for the picker': - 'Failed to publish meme template for the picker', - '{{name}} is not a GIF file': '{{name}} is not a GIF file', - '{{name}} is not a JPEG, PNG, or WebP file': '{{name}} is not a JPEG, PNG, or WebP file', - 'R & W': 'خواندن و نوشتن', - Read: 'خواندن', - Write: 'نوشتن', - 'Pull relay sets': 'کشیدن مجموعه‌های رله', - 'Select the relay sets you want to pull': 'مجموعه‌های رله‌ای که می‌خواهید بکشید انتخاب کنید', - 'No relay sets found': 'مجموعه رله‌ای یافت نشد', - 'Pull n relay sets': 'کشیدن {{n}} مجموعه رله', - Pull: 'کشیدن', - 'Select all': 'انتخاب همه', - 'Relay Sets': 'مجموعه‌های رله', - 'Read & Write Relays': 'رله‌های خواندن و نوشتن', - 'read relays description': - 'رله‌های خواندن برای جستجوی رویدادهای مربوط به شما استفاده می‌شوند. سایر کاربران رویدادهایی که می‌خواهند شما ببینید را به رله‌های خواندن شما منتشر می‌کنند.', - 'write relays description': - 'رله‌های نوشتن برای انتشار رویدادهای شما استفاده می‌شوند. سایر کاربران رویدادهای شما را از رله‌های نوشتن شما جستجو می‌کنند.', - 'read & write relays notice': - 'تعداد سرورهای خواندن و نوشتن ترجیحاً باید بین ۲ تا ۴ نگه داشته شود.', - "Don't have an account yet?": 'هنوز حساب کاربری ندارید؟', - 'or simply generate a private key': 'یا به سادگی یک کلید خصوصی تولید کنید', - 'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.': - 'این یک کلید خصوصی است. آن را با هیچ کس به اشتراک نگذارید. آن را ایمن و محفوظ نگه دارید. اگر آن را گم کنید نمی‌توانید بازیابی کنید.', - Edit: 'ویرایش', - Save: 'ذخیره', - 'Display Name': 'نام نمایشی', - Bio: 'بیوگرافی', - 'Nostr Address (NIP-05)': 'آدرس Nostr (NIP-05)', - 'Invalid NIP-05 address': 'آدرس NIP-05 نامعتبر', - 'Copy private key': 'کپی کلید خصوصی', - 'Enter the password to decrypt your ncryptsec': - 'رمز عبور را برای رمزگشایی ncryptsec خود وارد کنید', - Back: 'بازگشت', - 'optional: encrypt nsec': 'اختیاری: رمزگذاری nsec', - password: 'رمز عبور', - 'Sign up': 'ثبت نام', - 'Save to': 'ذخیره در', - 'Enter a name for the new relay set': 'نامی برای مجموعه رله جدید وارد کنید', - 'Save to a new relay set': 'ذخیره در مجموعه رله جدید', - Mute: 'بی‌صدا', - Muted: 'بی‌صدا شده', - Unmute: 'لغو بی‌صدا', - 'Unmute user': 'لغو بی‌صدا کردن کاربر', - Block: 'Block', - Unblock: 'Unblock', - blocked: 'blocked', - 'Append n relays': 'افزودن {{n}} رله', - Append: 'افزودن', - 'Select relays to append': 'رله‌ها را برای افزودن انتخاب کنید', - 'calculating...': 'در حال محاسبه...', - 'Calculate optimal read relays': 'محاسبه رله‌های خواندن بهینه', - 'Login to set': 'برای تنظیم وارد شوید', - 'Please login to view following feed': 'لطفاً برای مشاهده فید دنبال شونده‌ها وارد شوید', - 'Follow set': 'Follow set', - 'Follow set feed empty': - 'This NIP-51 list is empty, was not found, or relays could not load it yet.', - 'Send only to r': 'فقط به {{r}} ارسال شود', - 'Send only to these relays': 'فقط به این رله‌ها ارسال شود', - Explore: 'کاوش', - 'Relay reviews': 'نقد رله‌ها', - 'Search relays': 'جستجو رله‌ها', - relayInfoBadgeAuth: 'احراز هویت', - relayInfoBadgeSearch: 'جستجو', - relayInfoBadgePayment: 'پرداخت', - Operator: 'اپراتور', - Contact: 'تماس', - Software: 'نرم‌افزار', - Version: 'نسخه', - 'Random Relays': 'رله‌های تصادفی', - randomRelaysRefresh: 'بازخوانی', - 'Explore more': 'کاوش بیشتر', - 'Payment page': 'صفحه پرداخت', - 'Supported NIPs': 'NIPهای پشتیبانی شده', - 'Relay liveliness (NIP-66)': 'Relay liveliness (NIP-66)', - 'Relay monitor (NIP-66)': 'Relay monitor (NIP-66)', - 'Auth required': 'Auth required', - 'Public (no auth)': 'Public (no auth)', - 'Payment required': 'Payment required', - 'No payment': 'No payment', - 'Writes required': 'Writes required', - 'Writes open': 'Writes open', - 'PoW required': 'PoW required', - 'No PoW': 'No PoW', - 'RTT open': 'RTT open', - 'RTT read': 'RTT read', - 'RTT write': 'RTT write', - 'Supported NIPs (from monitor)': 'Supported NIPs (from monitor)', - 'Last reported by monitor': 'Last reported by monitor', - Network: 'Network', - Type: 'Type', - Topics: 'Topics', - 'Open in a': 'باز کردن در {{a}}', - 'Cannot handle event of kind k': 'نمی‌توان رویداد از نوع {{k}} را پردازش کرد', - 'Unsupported event preview': - 'There isn’t a dedicated card for this event type yet. Here’s a readable preview.', - 'No text content in event': 'No text in this event.', - 'Technical details': 'Technical details', - 'Event kind and time': 'Kind {{kind}} · {{time}}', - 'Event kind label': 'Kind {{kind}}', - 'Note kind label line': 'KIND: {{kind}} · {{description}}', - 'Unknown note declared kind tag': 'Tagged kind: {{value}}', - 'Unknown note tagged pubkey': 'Tagged pubkey', - 'Unknown note tagged content': 'Content', - 'Unknown note reference tags': 'Reference tags (e, p, q, a)', - 'Starred spells': 'Starred spells', - 'Spell star add title': 'Star spell (adds to your Nostr bookmarks)', - 'Spell star remove title': 'Unstar spell (removes from your Nostr bookmarks)', - 'Copy JSON': 'Copy JSON', - Verse: 'Verse', - 'Notification reaction summary': 'reacted to this note.', - 'Notification discussion upvote summary': 'upvoted in this discussion.', - 'Notification discussion downvote summary': 'downvoted in this discussion.', - 'Notification boost summary': 'Boosted this note', - 'Notification boost detail': 'The preview above is the original post.', - 'Notification poll vote summary': 'Voted on the poll above.', - 'Notification poll vote options count': '{{count}} option(s) selected', - 'Imwald synthetic event': 'Imwald synthetic event', - '+ Add a URL to this list': 'Add a URL to this list', - 'Add a web URL': 'Add a web URL', - 'Add web URL to feed description': - 'Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.', - 'Add to feed': 'Add to feed', - 'Open any https page in the side panel to reply, react, and discuss on Nostr.': - 'Open any https page in the side panel to reply, react, and discuss on Nostr.', - 'Enter a valid http(s) URL': 'Enter a valid http(s) URL', - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.': - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.', - 'Open in browser': 'Open in browser', - 'Web page': 'Web page', - Open: 'Open', - 'Sorry! The note cannot be found 😔': 'متأسفانه! یادداشت یافت نشد 😔', - 'This user has been muted': 'این کاربر بی‌صدا شده است', - Wallet: 'کیف پول', - Sats: 'ساتوشی', - sats: 'ساتوشی', - 'Zap to': 'زپ به', - 'Zap n sats': 'زپ {{n}} ساتوشی', - zapComment: 'نظر', - 'Default zap amount': 'مقدار پیش‌فرض زپ', - 'Default zap comment': 'نظر پیش‌فرض زپ', - 'Lightning Address (or LNURL)': 'آدرس لایتنینگ (یا LNURL)', - 'Quick zap': 'زپ سریع', - 'If enabled, you can zap with a single click. Click and hold for custom amounts': - 'در صورت فعال بودن، می‌توانید با یک کلیک زپ کنید. برای مقادیر سفارشی کلیک کرده و نگه دارید', - All: 'همه', - Reactions: 'واکنش‌ها', - Zaps: 'زپ‌ها', - Boosts: 'بوست‌ها', - Badges: 'Badges', - Reports: 'Reports', - 'Enjoying Imwald?': 'از Imwald لذت می‌برید؟', - 'Your donation helps me maintain Imwald and make it better! 😊': - 'کمک مالی شما به من در نگهداری Imwald و بهتر کردن آن کمک می‌کند! 😊', - 'Earlier notifications': 'اعلان‌های قبلی', - 'Temporarily display this note': 'نمایش موقت این یادداشت', - buttonFollowing: 'دنبال می‌کنم', - 'Are you sure you want to unfollow this user?': - 'آیا مطمئن هستید که می‌خواهید این کاربر را دنبال نکنید؟', - 'Recent Supporters': 'حامیان اخیر', - 'Seen on': 'دیده شده در', - 'Temporarily display this reply': 'نمایش موقت این پاسخ', - 'Note not found': 'یادداشت یافت نشد', - 'Invalid embedded note reference': 'Invalid embedded note reference', - embeddedNoteInvalidEmpty: 'This embedded link is empty.', - embeddedNoteInvalidHex: - 'This is not a valid hex event id (expected exactly 64 hexadecimal characters).', - embeddedNoteInvalidBech32: - 'This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.', - embeddedNoteInvalidWrongKind: - 'This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.', - 'The note was not found on your relays or default relays.': - 'The note was not found on your relays or default relays.', - "Try searching author's relays": "Try searching author's relays", - 'Searching external relays...': 'Searching external relays...', - "This will connect to the author's relays and relay hints": - "This will connect to the author's relays and relay hints", - 'Note could not be found anywhere': 'Note could not be found anywhere', - 'Try external relays': 'Try external relays', - 'Searching...': 'Searching...', - 'Show relays': 'Show relays', - 'No external relay hints available': 'No external relay hints available', - 'External relay search is not available for this link type': - 'External relay search is not available for this link type.', - 'Searched external relays not found': - 'Searched {{count}} external relays; the note was still not found.', - 'no more replies': 'پاسخ بیشتری وجود ندارد', - 'Relay sets': 'مجموعه‌های رله', - 'Search for Relays': 'Search for Relays', - 'Using app default relays': 'Using app default relays', - "Following's Favorites": 'مورد علاقه دنبال شونده‌ها', - 'no more relays': 'رله بیشتری وجود ندارد', - 'Favorited by': 'مورد علاقه', - 'Post settings': 'تنظیمات پست', - 'Publishing feedback': 'Publishing feedback', - 'Publish success toasts': 'Publish success toasts', - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.': - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.', - 'Publish successful': 'Publish successful', - 'Media upload service': 'سرویس آپلود رسانه', - 'Choose a relay': 'یک رله انتخاب کنید', - 'no relays found': 'رله‌ای یافت نشد', - video: 'ویدیو', - 'Show n new notes': 'نمایش {{n}} یادداشت جدید', - YouTabName: 'شما', - Bookmark: 'نشانک', - 'Remove bookmark': 'حذف نشانک', - 'no bookmarks found': 'نشانکی یافت نشد', - 'no more bookmarks': 'نشانک بیشتری وجود ندارد', - Bookmarks: 'نشانک‌ها', - 'Follow Packs': 'Follow Packs', - 'Follow Pack': 'Follow Pack', - 'Follow pack by': 'by', - 'In Follow Packs': 'In Follow Packs', - 'Badge details': 'Badge details', - 'Issued by': 'Issued by', - 'Other recipients': 'Other recipients', - 'No other recipients found': 'No other recipients found', - 'Recipients could not be loaded': 'Recipients could not be loaded', - 'View award': 'View award', - 'Awarded on': 'Awarded on', - 'Please log in to follow': 'Please log in to follow', - 'Following All': 'Following All', - 'Followed {{count}} users': 'Followed {{count}} users', - 'All available members are already followed or muted': - 'All available members are already followed or muted', - 'You are already following all members of this pack': - 'You are already following all members of this pack', - 'Failed to follow pack': 'Failed to follow pack', - '{{count}} profiles': '{{count}} profiles', - 'Show more': 'نمایش بیشتر', - General: 'عمومی', - Autoplay: 'پخش خودکار', - 'Enable video autoplay on this device': 'فعال کردن پخش خودکار ویدیو در این دستگاه', - 'liveActivities.heading': 'Live now', - 'liveActivities.regionLabel': 'Live spaces and streams', - 'liveActivities.fromFollow': 'From someone you follow', - 'liveActivities.goToSlide': 'Show live item {{n}}', - 'liveActivities.settingsToggle': 'Live activities banner', - 'liveActivities.settingsHint': - 'Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.', - 'Add random relays to every publish': 'Random relays in publish list', - 'Add random relays to every publish description': - 'Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.', - relayType_local: 'Local', - relayType_relay_list: 'Relay list', - relayType_http_relay_list: 'HTTP', - 'HTTP relays': 'HTTP relays', - httpRelaysDescription: - 'HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.', - 'HTTP relays saved': 'HTTP relays saved', - 'Failed to save HTTP relay list': 'Failed to save HTTP relay list', - 'HTTP relays must start with https:// or http://': - 'HTTP relays must start with https:// or http://', - relayType_client_default: 'Client default', - relayType_open_from: 'Current feed', - relayType_favorite: 'Favorite', - relayType_relay_set: 'Relay set', - relayType_contextual: 'Reply/PM', - relayType_randomly_selected: 'Random (optional)', - 'Session relays': 'Session relays', - 'Session relays tab description': - 'Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish).', - 'Session relays preset working': 'Working preset relays', - 'Session relays preset working hint': - 'Preset relays (from app defaults) that have not reached 3 publish failures this session.', - 'Session relays preset striked': 'Striked preset relays', - 'Session relays preset striked hint': - 'Preset relays that have reached 3 publish failures this session and are skipped for the rest of the session.', - 'Session relays scored random': 'Scored random relays', - 'Session relays scored random hint': - 'Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.', - 'Session relays all striked': 'All striked relays (any source)', - 'Session relays clear strike': 'Allow again', - 'Session relays clear strike hint': - 'Remove this relay from the session block list; it will be used again until new connection failures.', - successes: 'successes', - None: 'None', - 'Cache & offline storage': 'Cache & offline storage', - feedStarting: 'Starting feeds and relays… This can take a few seconds after login.', - refreshCacheButtonExplainer: - 'Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.', - 'eventArchive.sectionTitle': 'Notes & feed archive', - 'eventArchive.sectionBlurb': - 'Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.', - 'eventArchive.defaultsMobile': - 'This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).', - 'eventArchive.defaultsElectron': - 'Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.defaultsDesktopWeb': - 'Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.enablePersist': 'Persist feed events to disk', - 'eventArchive.maxMb': 'Max archive size (MB), blank = default for this device', - 'eventArchive.maxEvents': 'Max archived events, blank = default', - 'eventArchive.sessionLru': 'In-memory session cache (event count), blank = default', - 'eventArchive.effectiveSummary': - 'Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.', - 'eventArchive.on': 'on', - 'eventArchive.off': 'off', - 'eventArchive.apply': 'Apply cache settings', - 'eventArchive.appliedToast': 'Cache settings saved. Session memory updated.', - 'Paste or drop media files to upload': 'فایل‌های رسانه را برای آپلود بچسبانید یا بکشید', - Preview: 'پیش‌نمایش', - 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'شما در حال انتشار رویدادی امضا شده توسط [{{eventAuthorName}}] هستید. در حال حاضر به عنوان [{{currentUsername}}] وارد شده‌اید. آیا مطمئن هستید؟', - 'Platinum Sponsors': 'حامیان پلاتینی', - From: 'از', - 'Comment on': 'نظر در مورد', - 'View on njump.me': 'مشاهده در njump.me', - 'Hide content from untrusted users': 'مخفی کردن محتوا از کاربران غیرقابل اعتماد', - 'Only show content from your followed users and the users they follow': - 'فقط محتوای کاربران دنبال شده و کاربرانی که آنها دنبال می‌کنند نشان دهید', - 'Followed by': 'دنبال شده توسط', - 'Mute user privately': 'بی‌صدا کردن کاربر به صورت خصوصی', - 'Mute user publicly': 'بی‌صدا کردن کاربر به صورت عمومی', - Quotes: 'نقل قول‌ها', - 'Lightning Invoice': 'فاکتور لایتنینگ', - 'Bookmark failed': 'نشانک‌گذاری ناموفق', - 'Remove bookmark failed': 'حذف نشانک ناموفق', - Translation: 'ترجمه', - Balance: 'موجودی', - characters: 'کاراکتر', - translateApiKeyDescription: - 'می‌توانید از این کلید API در هر جای دیگری که از LibreTranslate پشتیبانی می‌کند استفاده کنید. آدرس سرویس {{serviceUrl}} است', - 'Top up': 'شارژ', - 'Will receive: {n} characters': 'دریافت خواهید کرد: {{n}} کاراکتر', - 'Top up {n} sats': 'شارژ {{n}} ساتوشی', - 'Minimum top up is {n} sats': 'حداقل شارژ {{n}} ساتوشی است', - Service: 'سرویس', - 'Reset API key': 'بازنشانی کلید API', - 'Are you sure you want to reset your API key? This action cannot be undone.': - 'آیا مطمئن هستید که می‌خواهید کلید API خود را بازنشانی کنید؟ این عمل قابل برگشت نیست.', - Warning: 'هشدار', - 'Errors & warnings': 'Errors & warnings', - 'Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.': - 'کلید API فعلی شما فوراً نامعتبر خواهد شد و هر برنامه‌ای که از آن استفاده می‌کند تا زمانی که آن را با کلید جدید به‌روزرسانی نکنید کار نخواهد کرد.', - 'Service address': 'آدرس سرویس', - Pay: 'پرداخت', - interactions: 'تعاملات', - notifications: 'اعلان‌ها', - notificationsViewAsAccount: 'View as', - notificationsViewAsAccountAria: - 'Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.', - notificationsSwitchAccountFailed: - 'Could not switch account. Check your signer, password, or extension and try again.', - 'Show untrusted {type}': 'نمایش {{type}} غیرقابل اعتماد', - 'Hide untrusted {type}': 'مخفی کردن {{type}} غیرقابل اعتماد', - 'Currently hiding {type} from untrusted users.': - 'در حال حاضر {{type}} از کاربران غیرقابل اعتماد مخفی می‌شود.', - 'Currently showing all {type}.': 'در حال حاضر همه {{type}} نمایش داده می‌شود.', - 'Click continue to show all {type}.': 'برای نمایش همه {{type}} روی ادامه کلیک کنید.', - 'Click continue to hide {type} from untrusted users.': - 'برای مخفی کردن {{type}} از کاربران غیرقابل اعتماد روی ادامه کلیک کنید.', - 'Trusted users include people you follow and people they follow.': - 'کاربران قابل اعتماد شامل افرادی که دنبال می‌کنید و افرادی که آنها دنبال می‌کنند می‌شوند.', - Continue: 'ادامه', - 'Successfully updated mute list': 'لیست بی‌صدا با موفقیت به‌روزرسانی شد', - 'No pubkeys found from {url}': 'هیچ کلید عمومی از {{url}} یافت نشد', - 'Translating...': 'در حال ترجمه...', - Translate: 'ترجمه', - 'Show original': 'نمایش اصل', - Website: 'وب‌سایت', - 'Hide untrusted notes': 'مخفی کردن یادداشت‌های غیرقابل اعتماد', - 'Open in another client': 'باز کردن در کلاینت دیگر', - Community: 'جامعه', - Group: 'گروه', - 'Live event': 'رویداد زنده', - Article: 'مقاله', - Unfavorite: 'حذف از علاقه‌مندی‌ها', - 'Recommended relays': 'رله‌های توصیه شده', - 'Show recommended relays panel': 'Show recommended relays panel', - 'Display the right-side panel with recommended relays on desktop': - 'Display the right-side panel with recommended relays on desktop', - 'Blossom server URLs': 'آدرس‌های سرور Blossom', - 'You need to add at least one blossom server in order to upload media files.': - 'برای آپلود فایل‌های رسانه نیاز دارید حداقل یک سرور blossom اضافه کنید.', - 'Recommended blossom servers': 'سرورهای blossom توصیه شده', - 'Enter Blossom server URL': 'آدرس سرور Blossom را وارد کنید', - Preferred: 'ترجیحی', - 'Multiple choice (select one or more)': 'چند گزینه‌ای (یک یا چند انتخاب کنید)', - Vote: 'رای دادن', - '{{number}} votes': '{{number}} رای', - 'Total votes': 'کل آرا', - 'Poll has ended': 'نظرسنجی پایان یافته', - 'Poll ends at {{time}}': 'نظرسنجی در {{time}} پایان می‌یابد', - 'Load results': 'بارگیری نتایج', - 'This is a poll note.': 'این یک یادداشت نظرسنجی است.', - 'Unlike regular notes, polls are not widely supported and may not display on other clients.': - 'برخلاف یادداشت‌های معمولی، نظرسنجی‌ها به طور گسترده پشتیبانی نمی‌شوند و ممکن است در کلاینت‌های دیگر نمایش داده نشوند.', - 'Option {{number}}': 'گزینه {{number}}', - 'Add Option': 'افزودن گزینه', - 'Allow multiple choices': 'اجازه انتخاب‌های متعدد', - 'End Date (optional)': 'تاریخ پایان (اختیاری)', - 'Clear end date': 'پاک کردن تاریخ پایان', - 'Relay URLs (optional, comma-separated)': 'آدرس‌های رله (اختیاری، جدا شده با کاما)', - 'Remove poll': 'حذف نظرسنجی', - 'Refresh results': 'بارگیری مجدد نتایج', - '{{votes}} · {{pct}}%': '{{votes}} · {{pct}}%', - 'See results': 'See results', - 'Zap poll (paid votes)': 'Zap poll (paid votes)', - 'Invalid zap poll': 'Invalid zap poll', - 'You voted on this poll (zap receipt)': 'You voted on this poll (zap receipt)', - 'Poll closed {{time}}': 'Poll closed {{time}}', - 'Closes {{time}}': 'Closes {{time}}', - 'Vote size': 'Vote size', - '{{n}} sats (fixed)': '{{n}} sats (fixed)', - '{{min}}–{{max}} sats': '{{min}}–{{max}} sats', - '≥ {{n}} sats': '≥ {{n}} sats', - '≤ {{n}} sats': '≤ {{n}} sats', - 'Loading tally…': 'Loading tally…', - 'Zap poll no votes yet': - 'No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).', - 'Consensus threshold': 'Consensus threshold', - 'Pay to': 'Pay to', - Recipient: 'Recipient', - Option: 'Option', - 'Select option': 'Select option', - 'Select an option': 'Select an option', - 'Vote with zap': 'Vote with zap', - 'Zap sent': 'Zap sent', - 'Zapping…': 'Zapping…', - 'Refresh tally': 'Refresh tally', - '{{n}} zaps': '{{n}} zaps', - Poll: 'نظرسنجی', - Media: 'رسانه', - 'Articles and Publications': 'Articles and Publications', - 'Search articles...': 'Search articles...', - 'Refreshing articles...': 'Refreshing articles...', - 'No articles or publications found': 'No articles or publications found', - 'No articles or publications match your search': - 'No articles or publications match your search', - 'articles and publications': 'articles and publications', - Interests: 'Interests', - Calendar: 'Calendar', - 'No subscribed interests yet.': - 'No subscribed interests yet. Add topics in settings to see them here.', - 'No bookmarked notes with id tags yet.': - 'No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.', - 'No follows or relays to load yet.': 'No follows or relays to load yet.', - 'Nothing to load for this feed.': 'Nothing to load for this feed.', - 'No posts loaded for this feed. Try refreshing.': - 'No posts loaded for this feed. Try refreshing.', - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.': - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.', - 'Per-relay timeline results ({{count}} connections)': - 'Per-relay timeline results ({{count}} connections)', - 'Republish to ...': 'بازنشر به ...', - 'All available relays': 'All available relays', - 'All active relays (monitoring list)': 'All active relays (monitoring list)', - 'Successfully republish to all available relays': - 'Successfully republish to all available relays', - 'Failed to republish to all available relays: {{error}}': - 'Failed to republish to all available relays: {{error}}', - 'Successfully republish to all active relays': 'Successfully republish to all active relays', - 'Failed to republish to all active relays: {{error}}': - 'Failed to republish to all active relays: {{error}}', - 'No active relays in monitoring list': 'No active relays in monitoring list', - 'No relay accepted the event': 'No relay accepted the event', - 'No relays available': 'No relays available', - 'No write relays configured': 'No write relays configured', - 'Relay did not accept the event': 'Relay did not accept the event', - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".': - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".', - 'Successfully republish to your write relays': 'با موفقیت بازنشر به رله‌های نوشتن شما انجام شد', - 'Failed to republish to your write relays: {{error}}': - 'بازنشر به رله‌های نوشتن شما با خطا مواجه شد: {{error}}', - 'Successfully republish to relay set: {{name}}': - 'با موفقیت بازنشر به مجموعه رله: {{name}} انجام شد', - 'Failed to republish to relay set: {{name}}. Error: {{error}}': - 'بازنشر به مجموعه رله: {{name}} با خطا مواجه شد. خطا: {{error}}', - 'Successfully republish to relay: {{url}}': 'با موفقیت بازنشر به رله: {{url}} انجام شد', - 'Failed to republish to relay: {{url}}. Error: {{error}}': - 'بازنشر به رله: {{url}} با خطا مواجه شد. خطا: {{error}}', - 'Write relays': 'رله‌های نوشتن', - 'No more reactions': 'هیچ واکنشی بیشتر وجود ندارد', - 'No reactions yet': 'هنوز هیچ واکنشی وجود ندارد', - 'No more zaps': 'هیچ زپی بیشتر وجود ندارد', - 'No zaps yet': 'هنوز هیچ زپی وجود ندارد', - 'No more boosts': 'بوست دیگری نیست', - 'No boosts yet': 'هنوز بوستی نیست', - 'n more boosts': '{{count}} more boosts', - FollowListNotFoundConfirmation: - 'فهرست دنبال‌کنندگان پیدا نشد. آیا می‌خواهید یکی جدید ایجاد کنید؟ اگر قبلاً کاربرانی را دنبال کرده‌اید، لطفاً تأیید نکنید زیرا این عملیات باعث از دست رفتن فهرست دنبال‌کنندگان قبلی شما خواهد شد.', - MuteListNotFoundConfirmation: - 'فهرست بی‌صدا شده‌ها پیدا نشد. آیا می‌خواهید یکی جدید ایجاد کنید؟ اگر قبلاً کاربرانی را بی‌صدا کرده‌اید، لطفاً تأیید نکنید زیرا این عملیات باعث از دست رفتن فهرست بی‌صدا شده‌های قبلی شما خواهد شد.', - 'Show NSFW content by default': 'نمایش محتوای NSFW به صورت پیش‌فرض', - 'Custom emoji management': 'مدیریت شکلک‌های سفارشی', - 'After changing emojis, you may need to refresh the page': - 'پس از تغییر شکلک‌ها، ممکن است نیاز به تازه‌سازی صفحه داشته باشید', - 'Too many read relays': 'Too many read relays', - 'Too many write relays': 'Too many write relays', - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.', - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.', - 'Optimize Relay Settings': 'بهینه‌سازی تنظیمات رله', - 'Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.': - 'پیکربندی فعلی رله شما ممکن است بهینه نباشد. این ممکن است برای دیگران پیدا کردن پست‌های شما را دشوار کند و ممکن است منجر به اعلان‌های ناقص شود.', - 'Optimize Now': 'اکنون بهینه‌سازی کن', - 'Maybe Later': 'شاید بعداً', - "Don't remind me again": 'دیگر به من یادآوری نکن', - Posts: 'پست‌ها', - 'Posts (OPs)': 'Posts (OPs)', - 'Kind 1 replies': 'Kind 1 replies', - Comments: 'Comments', - 'Replies & comments': 'Replies & comments', - Articles: 'مقاله‌ها', - Highlights: 'برجسته‌ها', - 'A note from': 'A note from', - Polls: 'نظرسنجی‌ها', - 'Zap polls': 'Zap polls', - 'Voice Posts': 'پست‌های صوتی', - 'Photo Posts': 'پست‌های عکس', - 'Video Posts': 'پست‌های ویدیو', - 'Git repositories': 'Git repositories', - 'Git issues': 'Git issues', - 'Git releases': 'Git releases', - 'Git Republic repository': 'Git Republic repository', - 'Git Republic issue': 'Git Republic issue', - 'Git Republic release': 'Git Republic release', - 'Git Republic event': 'Git Republic event', - 'Git Republic': 'Git Republic', - 'Open in Git Republic': 'Open in Git Republic', - 'Pre-release': 'Pre-release', - Draft: 'Draft', - 'Repository release': 'Repository release', - 'New Repository Release': 'New Repository Release', - 'Release notes use the editor below (optional).': - 'Release notes use the editor below (optional).', - 'Repository owner (npub or hex)': 'Repository owner (npub or hex)', - 'Repository id (d-tag)': 'Repository id (d-tag)', - 'Git tag name': 'Git tag name', - 'Tag target (40-char commit hash)': 'Tag target (40-character commit hash)', - '40-character hex SHA-1': '40-character hex SHA-1', - 'Release title': 'Release title', - 'Download URL': 'Download URL', - 'Draft release': 'Draft release', - 'Fill repository release fields': 'Fill in all required repository release fields.', - 'Invalid repository owner pubkey': 'Invalid repository owner (use npub or 64-char hex).', - 'Citations require private relays (NIP-65).': - 'Citations require private outbox relays (NIP-65).', - 'Select All': 'انتخاب همه', - 'Clear All': 'پاک کردن همه', - 'Set as default filter': 'تنظیم به عنوان فیلتر پیش‌فرض', - 'Use filter': 'Use filter', - 'See all events': 'See all events', - 'See all events hint': - 'Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.', - 'Use filter hint': 'Only the kinds you select below are requested and shown.', - Apply: 'اعمال', - Reset: 'بازنشانی', - 'Share something on this Relay': 'در این رله چیزی به اشتراک بگذارید', - 'Try deleting this note': 'سعی کنید این یادداشت را حذف کنید', - 'Deletion request sent to {{count}} relays': 'درخواست حذف به {{count}} رله ارسال شد', - 'Suitable Relays': 'رله‌های مناسب', - 'People, keywords, or relays': 'افراد، کلمات کلیدی یا رله‌ها', - 'Hide content mentioning muted users': 'مخفی کردن محتوای اشاره کننده به کاربران بی‌صدا شده', - 'This note mentions a user you muted': 'این یادداشت به کاربری که بی‌صدا کرده‌اید اشاره می‌کند', - Filter: 'فیلتر', - 'Feed filter': 'Feed filter', - 'Search loaded posts': 'Search loaded posts', - 'Filter loaded posts placeholder': 'Filter by text in content or tags…', - 'Feed filter author': 'Author', - 'Feed filter author everyone': 'From everyone', - 'Feed filter author me': 'Only from me', - 'Feed filter author npub': 'From user (npub or hex)', - 'Feed filter author npub from prefix': 'from:', - 'Feed filter author npub placeholder': 'npub1… or 64-char hex', - 'Feed filter author me needs login': 'Log in to filter by your pubkey', - 'Within the last': 'Within the last', - 'Time unit': 'Time unit', - Minutes: 'Minutes', - Days: 'Days', - Weeks: 'Weeks', - Months: 'Months', - Years: 'Years', - 'Feed filter client-side hint': - 'Filters only apply to posts already loaded; relays are not queried again.', - 'Feed full search': 'Perform full search', - 'Feed full search running': 'Searching…', - 'Feed full search clear': 'Clear', - 'Feed full search active hint': - 'Showing relay search results. Clear to return to the live feed.', - 'Feed full search need constraint': - 'Add search text, an author filter, or a time range before searching relays.', - 'Feed full search invalid feed': 'This feed cannot run a relay search.', - 'Feed full search failed': 'Relay search failed. Try again.', - 'Feed full search empty': 'No matching posts were found on the queried relays.', - 'No loaded posts match your filters.': 'No loaded posts match your filters.', - 'mentioned you in a note': 'در یادداشتی از شما نام برد', - 'quoted your note': 'یادداشت شما را نقل قول کرد', - 'quoted this note': 'Quoted this note', - 'highlighted this note': 'Highlighted this note', - 'cited in article': 'Cited in article', - 'Thread backlinks heading': 'Also quoting this note', - 'Thread backlinks primary section': 'Quotes, highlights & citations', - 'Thread backlinks bookmarks section': 'Bookmarks', - 'Thread backlinks lists section': 'Lists & collections', - 'View full note and thread': 'View full note and thread', - 'labeled this note': 'Labeled this note', - 'reported this note': 'Reported this note', - 'bookmarked this note': 'Bookmarked this note', - 'pinned this note': 'Pinned this note', - 'listed this note': 'Listed this note', - 'bookmark set reference': 'Bookmark set includes this note', - 'curated this note': 'Curated this note', - 'badge award for this note': 'Badge award for this note', - 'referenced this note': 'Referenced this note', - 'Report events heading': 'Moderation reports', - 'voted in your poll': 'در نظرسنجی شما رأی داد', - 'reacted to your note': 'به یادداشت شما واکنش نشان داد', - 'boosted your note': 'یادداشت شما را بوست کرد', - 'zapped your note': 'یادداشت شما را زپ کرد', - 'zapped you': 'شما را زپ کرد', - zapped: 'zapped', - 'Invalid zap receipt': 'Invalid zap receipt', - 'Zapped note': 'Zapped note', - 'Zapped profile': 'Zapped profile', - 'Zap reply threshold': 'Zap reply threshold', - 'Zaps above this amount will appear as replies in threads': - 'Zaps above this amount will appear as replies in threads', - 'Mark as read': 'علامت‌گذاری به عنوان خوانده شده', - Report: 'گزارش', - 'Successfully report': 'گزارش با موفقیت ارسال شد', - 'Failed to report': 'ارسال گزارش ناموفق بود', - nudity: 'برهنگی', - malware: 'بدافزار', - profanity: 'فحاشی', - illegal: 'محتوای غیرقانونی', - spam: 'اسپم', - other: 'سایر', - 'Notification list style': 'سبک فهرست اعلان‌ها', - 'See extra info for each notification': 'مشاهده اطلاعات اضافی برای هر اعلان', - 'See more notifications at a glance': 'مشاهده اعلان‌های بیشتر در یک نگاه', - Detailed: 'تفصیلی', - 'Submit Relay': 'ارسال رله', - Homepage: 'صفحه اصلی', - 'Proof of Work (difficulty {{minPow}})': 'اثبات کار (دشواری {{minPow}})', - 'via {{client}}': 'از طریق {{client}}', - 'Auto-load media': 'بارگذاری خودکار رسانه', - Always: 'همیشه', - 'Wi-Fi only': 'فقط Wi-Fi', - Never: 'هرگز', - 'Click to load image': 'برای بارگذاری تصویر کلیک کنید', - 'Click to load media': 'برای بارگذاری رسانه کلیک کنید', - 'Click to load YouTube video': 'برای بارگذاری ویدیو YouTube کلیک کنید', - '{{count}} reviews': '{{count}} نقد', - 'Write a review': 'نوشتن نقد', - 'No reviews yet. Be the first to write one!': - 'هنوز نقدی وجود ندارد. اولین نفری باشید که می‌نویسد!', - 'View more reviews': 'مشاهده نقدهای بیشتر', - 'Failed to review': 'نقد ناموفق', - 'Write a review and pick a star rating': 'نقدی بنویسید و امتیاز ستاره‌ای انتخاب کنید', - Submit: 'ارسال', - 'Reviews for {{relay}}': 'نقدها برای {{relay}}', - 'No relays selected': 'هیچ رله‌ای انتخاب نشده', - 'Post to': 'پست کردن به', - 'Write relays and {{count}} other relays': 'رله‌های نوشتن و {{count}} رله دیگر', - '{{count}} relays': '{{count}} رله', - 'Republishing...': 'در حال بازنشر...', - 'Trending Notes': 'یادداشت‌های محبوب', - 'Trending on Your Favorite Relays': 'Trending on Your Favorite Relays', - 'Trending on the Default Relays': 'Trending on the Default Relays', - 'Latest from your follows': 'Latest from your follows', - 'Latest from our recommended follows': 'Latest from our recommended follows', - 'Follows latest page title': 'Latest from follows', - 'Follows latest page description': - 'Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.', - 'Follows latest nav label': 'Follows latest', - 'Loading follow list…': 'Loading follow list…', - 'Could not load recommended follows': 'Could not load recommended follows', - 'Your follow list is empty': 'Your follow list is empty', - 'Loading recent posts from follows…': 'Loading recent posts from follows…', - 'Loading more…': 'Loading more…', - 'No recent posts from this user in the current fetch': - 'No recent posts from this user in the current fetch', - 'Loading trending notes from your relays...': 'Loading trending notes from your relays...', - Sort: 'Sort', - newest: 'newest', - oldest: 'oldest', - 'most popular': 'most popular', - 'least popular': 'least popular', - 'Connected to': 'متصل به', - 'Disconnect Wallet': 'قطع اتصال کیف پول', - 'Are you absolutely sure?': 'آیا کاملاً مطمئن هستید؟', - 'You will not be able to send zaps to others.': 'شما قادر نخواهید بود به دیگران زپ ارسال کنید.', - Disconnect: 'قطع اتصال', - 'Set up your wallet to send and receive sats!': - 'کیف پولت را تنظیم کن تا ساتس ارسال و دریافت کنی!', - 'Set up': 'تنظیم', - 'nested events': 'nested events', - 'Loading RSS feeds...': 'Loading RSS feeds...', - 'No RSS feed items available': 'No RSS feed items available', - 'Show or hide the RSS page and sidebar entry': 'Show or hide the RSS page and sidebar entry', - 'Refreshing feeds...': 'Refreshing feeds...', - 'All feeds': 'All feeds', - 'All time': 'All time', - 'Last hour': 'Last hour', - 'Last day': 'Last day', - 'Last week': 'Last week', - 'Last month': 'Last month', - 'Last 24 hours': 'Last 24 hours', - 'Last 48 hours': 'Last 48 hours', - 'Time range': 'Time range', - 'Filter by RSS source': 'Filter by RSS source', - 'No items match your filters': 'No items match your filters', - 'Search...': 'Search...', - '{{count}} feeds': '{{count}} feeds', - 'Toggle filters': 'Toggle filters', - 'Showing {{filtered}} of {{total}} items': 'Showing {{filtered}} of {{total}} items', - Full: 'Full', - Compact: 'فشرده', - Expand: 'Expand', - 'help.title': 'Help', - 'help.tabShortcuts': 'Keyboard shortcuts', - 'help.tabOverview': 'App overview', - 'shortcuts.title': 'Keyboard shortcuts', - 'shortcuts.intro': - 'Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.', - 'shortcuts.sectionApp': 'This app', - 'shortcuts.sectionSearch': 'Search bar', - 'shortcuts.sectionStandard': 'Standard', - 'shortcuts.openHelp': 'Show this help', - 'shortcuts.or': 'or', - 'shortcuts.then': 'then', - 'shortcuts.focusPrimary': - 'Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)', - 'shortcuts.focusSecondary': - 'Focus side panel scroll when it is open (desktop; same keys to scroll)', - 'shortcuts.newNote': 'New note / post (after login if needed)', - 'shortcuts.searchSuggest': 'Move through suggestions', - 'shortcuts.searchDismiss': 'Close search dropdown', - 'shortcuts.tabNavigate': 'Move focus to the next or previous control', - 'shortcuts.activate': 'Activate buttons and many controls', - 'shortcuts.closeOverlays': 'Close dialogs, menus, and the search dropdown', - 'shortcuts.scrollWhenFocused': 'Scroll the focused scrollable area', - 'shortcuts.browserBack': 'Browser back (history)', - 'No spells yet. Create one with the button above.': - 'No spells yet. Create one with the button above.', - 'Loading spells from your relays…': 'Loading spells from your relays…', - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.': - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.', - 'Select a spell…': 'Select a spell…', - 'Spells from follows': 'From people you follow ({{count}})', - 'Other spells': 'Other spells ({{count}})', - 'Select a spell to view its feed.': 'Select a spell to view its feed.', - 'Add another row': 'Add another row', - 'Remove this row': 'Remove this row', - 'One kind number per row (e.g. 1 for notes).': 'One kind number per row (e.g. 1 for notes).', - 'One author per row: $me, $contacts, or hex pubkey / npub.': - 'One author per row: $me, $contacts, or hex pubkey / npub.', - 'One hex event id per row.': 'One hex event id per row.', - 'One wss:// URL per row. Leave empty to use your write relays.': - 'One wss:// URL per row. Leave empty to use your write relays.', - 'One topic per row.': 'One topic per row.', - topic: 'topic', - 'Spell form fields': 'Spell form fields', - 'Counting matching events…': 'Counting matching events…', - 'Edit spell': 'Edit spell', - 'Clone spell': 'Clone spell', - 'Spell cloned': 'Spell cloned', - 'Clone spell intro': - 'This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.', - 'Spell updated': 'Spell updated', - 'Relay URL': 'Relay', - Count: 'Count', - 'Edit spell relays': 'Edit relays', - 'COUNT spell relay errors hint': - 'One or more relays failed or returned an error. You can change the relay list in the spell and save again.', - 'COUNT spell total distinct explanation': - 'Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.', - 'Leave empty to use your write relays.': 'Leave empty to use your write relays.', - 'COUNT spell result explanation': - 'Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.', - 'COUNT spell may be capped by limit': - 'This count may equal your spell limit — there could be more matching events on the network.', - 'Spell count failed. Check relays or try again.': - 'Could not complete the count. Check relays or try again.', - 'REQ returns a feed; COUNT returns a number.': - 'REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.', - listImportManualLabel: 'Pre-fill from event', - listImportFromEventHint: - 'Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.', - listImportManualPlaceholder: '64-char hex, nevent1…, or naddr1…', - listImportLoadManual: 'Apply', - listImportContentSkipped: - 'This event has non-empty content (may include encrypted private items). Only public tags were merged.', - listImportUnsupportedEmoji: - 'This list includes emoji tags (NIP-30); those are not added to the spell filter.', - listImportUnsupportedTag: - 'Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.', - listImportBadATag: 'Could not parse address tag: {{preview}}…', - listImportATagNotFound: 'Could not resolve address tag: {{preview}}…', - listImportATagFailed: 'Failed to resolve address tag: {{preview}}…', - listImportEventNotFound: 'No event found for that reference.', - 'REQ tag filters': 'REQ tag filters', - spellFormTagFiltersLabel: 'Tag filters on matching events', - spellCreateIntro: - 'Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.', - spellFormSectionQueryTitle: 'Spell query', - spellFormSectionQueryHint: - 'This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).', - spellFormSectionMetadataTitle: 'Listing & labels (optional)', - spellFormSectionMetadataBadge: 'Not part of the query', - spellFormSectionMetadataHint: - 'Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.', - spellFormCatalogTopicsLabel: 'Topic labels on this spell (t tags)', - spellTopicsMetadataHint: - 'One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).', - spellTagFiltersHint: - 'Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.', - spellTagFiltersEmpty: 'No tag filters yet. Add rows below or apply an event reference above.', - 'Tag filter letter': 'Tag letter', - 'Filter value': 'Value', - 'Add tag filter': 'Add tag filter', - spellPickerSectionYours: 'Your spells', - 'Failed to remove spell from local storage': 'Failed to remove spell from local storage', - Spells: 'Spells', - 'doublePane.secondaryEmpty': 'Open a note, profile, or settings item to show it here.', - 'doublePane.secondaryEmptyHint': 'Your feed and primary pages stay on the left.', - '(empty)': '(empty)', - '12-hour (AM/PM)': '12-hour (AM/PM)', - '24-hour': '24-hour', - 'A new version is available': 'A new version is available', - 'A short description of the article content': 'A short description of the article content', - AM: 'AM', - 'Access via': 'Access via', - 'Accessed On': 'Accessed On', - 'Accessed on': 'Accessed on', - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.': - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.', - 'Add a relay to block': 'Add a relay to block', - 'Add at least one invitee': 'Add at least one invitee', - 'Add client identifier': 'Add client identifier', - 'Add expiration tags by default': 'Add expiration tags by default', - 'Add quiet tags by default': 'Add quiet tags by default', - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above': - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above', - 'Add the source (where this text is from)': 'Add the source (where this text is from)', - 'Add to favorites': 'Add to favorites', - 'Add {{count}} Selected': 'Add {{count}} Selected', - 'Added at': 'Added at', - 'Added {{count}} relay(s)': 'Added {{count}} relay(s)', - 'Adding...': 'Adding...', - 'Adding…': 'Adding…', - 'Advanced Options': 'Advanced Options', - 'All Topics': 'All Topics', - 'All feeds from OPML file are already added': 'All feeds from OPML file are already added', - 'All items deleted successfully': 'All items deleted successfully', - 'Already blocked': 'Already blocked', - 'Already saved': 'Already saved', - 'Application Recommendations': 'Application Recommendations', - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.': - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.', - 'Are you sure you want to delete all items from this store?': - 'Are you sure you want to delete all items from this store?', - 'Are you sure you want to unmute this user? This will restore the follow button.': - 'Are you sure you want to unmute this user? This will restore the follow button.', - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", - 'Article exported as AsciiDoc': 'Article exported as AsciiDoc', - 'Article exported as Markdown': 'Article exported as Markdown', - 'Article title (optional)': 'Article title (optional)', - articleDTagDefaultHint: - 'Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….', - Audio: 'Audio', - Author: 'Author', - 'Author is required for reading groups': 'Author is required for reading groups', - 'Author name (optional)': 'Author name (optional)', - Authors: 'Authors', - 'Block Relay': 'Block Relay', - 'Blocked Relays': 'Blocked Relays', - 'Blocking...': 'Blocking...', - Blossom: 'Blossom', - Book: 'Book', - 'Brief description of the event': 'Brief description of the event', - 'Brief summary (optional)': 'Brief summary (optional)', - 'Brief summary of the article (optional)': 'Brief summary of the article (optional)', - 'Browse Cache': 'Browse Cache', - 'C-Tag': 'C-Tag', - 'Cache Relays': 'Cache Relays', - 'Cache cleared successfully': 'Cache cleared successfully', - 'Cache refreshed successfully': 'Cache refreshed successfully', - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.': - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.', - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)': - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)', - 'Cache relays saved': 'Cache relays saved', - Cancelled: 'Cancelled', - Chapter: 'Chapter', - 'Chapter Title': 'Chapter Title', - 'Chapter title (optional)': 'Chapter title (optional)', - Citation: 'Citation', - 'Citation title (optional)': 'Citation title (optional)', - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.': - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})', - 'Cleanup Duplicates': 'Cleanup Duplicates', - Clear: 'Clear', - 'Clear Cache': 'Clear Cache', - 'Clear Service Worker': 'Clear Service Worker', - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.': - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.', - 'Click update to get the latest features and improvements': - 'Click update to get the latest features and improvements', - Close: 'Close', - 'Comma or space-separated topics (will be added as t-tags)': - 'Comma or space-separated topics (will be added as t-tags)', - Command: 'Command', - Configure: 'Configure', - 'Connect Wallet': 'Connect Wallet', - 'Console Logs': 'Console Logs', - 'Console logs cleared': 'Console logs cleared', - 'Content is required': 'Content is required', - 'Content must be 5000 characters or less': 'Content must be 5000 characters or less', - Controversial: 'Controversial', - 'Copied!': 'Copied!', - 'Copy to clipboard': 'Copy to clipboard', - 'Create Article': 'Create Article', - 'Create Citation': 'Create Citation', - 'Create Highlight': 'Create Highlight', - 'Create New Thread': 'Create New Thread', - 'Create Poll': 'Create Poll', - 'Create Thread': 'Create Thread', - composeModeKind1: 'Short note (kind 1) — turn off other compose types', - 'Create a Spell': 'Create a Spell', - 'Creating...': 'Creating...', - 'D-Tag': 'D-Tag', - 'D-Tag is required for articles': 'D-Tag is required for articles', - DOI: 'DOI', - 'Date-based (all-day)': 'Date-based (all-day)', - 'Default expiration (months)': 'Default expiration (months)', - 'Default quiet period (days)': 'Default quiet period (days)', - 'Delete All': 'Delete All', - 'Delete item': 'Delete item', - 'Deleted {{count}} event(s)': 'Deleted {{count}} event(s)', - 'Deletion request sent': 'Deletion request sent', - 'Description (content)': 'Description (content)', - 'Digital Object Identifier (optional)': 'Digital Object Identifier (optional)', - 'Disable word wrap': 'Disable word wrap', - 'Discovered Relays': 'Discovered Relays', - 'Discovering relays...': 'Discovering relays...', - Discussion: 'Discussion', - Discussions: 'Discussions', - Downvote: 'Downvote', - 'Edited by': 'Edited by', - Editor: 'Editor', - 'Editor name (optional)': 'Editor name (optional)', - 'Enable word wrap': 'Enable word wrap', - 'End date': 'End date', - 'End date must be after start date': 'End date must be after start date', - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.': - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.', - 'Enter a descriptive title for your thread': 'Enter a descriptive title for your thread', - 'Enter the author name': 'Enter the author name', - 'Enter the book title': 'Enter the book title', - 'Enter the specific text you want to highlight in the main content area above': - 'Enter the specific text you want to highlight in the main content area above', - 'Event IDs (ids)': 'Event IDs (ids)', - 'Event appears to be invalid or corrupted': 'Event appears to be invalid or corrupted', - 'Event has no value data': 'Event has no value data', - 'Event is missing required fields: {{fields}}': 'Event is missing required fields: {{fields}}', - 'Event type': 'Event type', - 'Expiration Tags': 'Expiration Tags', - 'Export OPML': 'Export OPML', - 'Export as AsciiDoc': 'Export as AsciiDoc', - 'Export as Markdown': 'Export as Markdown', - 'External Citation': 'External Citation', - 'External Citation Settings': 'External Citation Settings', - 'Failed to add relay. Please try again.': 'Failed to add relay. Please try again.', - 'Failed to add relays': 'Failed to add relays', - 'Failed to block relay. Please try again.': 'Failed to block relay. Please try again.', - 'Failed to cleanup duplicates': 'Failed to cleanup duplicates', - 'Failed to clear cache': 'Failed to clear cache', - 'Failed to copy': 'Failed to copy', - 'Failed to create relay set. Please try again.': - 'Failed to create relay set. Please try again.', - 'Failed to create thread': 'Failed to create thread', - 'Failed to create thread. Please try a different relay.': - 'Failed to create thread. Please try a different relay.', - 'Failed to delete all items': 'Failed to delete all items', - 'Failed to delete item': 'Failed to delete item', - 'Failed to discover relays': 'Failed to discover relays', - 'Failed to export OPML file': 'Failed to export OPML file', - 'Failed to export article': 'Failed to export article', - 'Failed to import OPML file: {{error}}': 'Failed to import OPML file: {{error}}', - 'Failed to load RSS feeds': 'Failed to load RSS feeds', - 'Failed to load store items': 'Failed to load store items', - 'Failed to mute user privately': 'Failed to mute user privately', - 'Failed to mute user publicly': 'Failed to mute user publicly', - 'Failed to pin note': 'Failed to pin note', - 'Failed to publish post': 'Failed to publish post', - 'Failed to publish reply': 'Failed to publish reply', - 'Failed to publish thread': 'Failed to publish thread', - 'Failed to publish to some relays. Please try again or use different relays.': - 'Failed to publish to some relays. Please try again or use different relays.', - 'Failed to save RSS feeds': 'Failed to save RSS feeds', - 'Failed to save cache relays': 'Failed to save cache relays', - 'Failed to save relay list': 'Failed to save relay list', - 'Failed to unregister service worker: ': 'Failed to unregister service worker: ', - 'Failed to unsubscribe from topic': 'Failed to unsubscribe from topic', - Favorite: 'Favorite', - Fetch: 'Fetch', - 'Fetch once, then stop.': 'Fetch once, then stop.', - 'Filter by': 'Filter by', - 'Flat View': 'Flat View', - 'Font size': 'Font size', - 'Full Quote/Context': 'Full Quote/Context', - 'Full-text search query': 'Full-text search query', - Geohash: 'Geohash', - 'Geohash (optional)': 'Geohash (optional)', - 'Global quiet mode': 'Global quiet mode', - 'Group discussions by topic': 'Group discussions by topic', - 'Grouped View': 'Grouped View', - Groups: 'Groups', - 'Handler {{index}}': 'Handler {{index}}', - 'Hardcopy Citation': 'Hardcopy Citation', - 'Hardcopy Citation Settings': 'Hardcopy Citation Settings', - Hide: 'Hide', - 'Hide interactions on all posts': 'Hide interactions on all posts', - 'Hide interactions on posts with quiet tags': 'Hide interactions on posts with quiet tags', - 'High PoW': 'High PoW', - 'Higher values make your thread harder to mine but more unique.': - 'Higher values make your thread harder to mine but more unique.', - Highlight: 'Highlight', - 'Highlight Settings': 'Highlight Settings', - 'How to Create a Highlight (NIP-84)': 'How to Create a Highlight (NIP-84)', - 'Human-readable spell name': 'Human-readable spell name', - 'Image URL': 'Image URL', - 'Import OPML': 'Import OPML', - 'Imported {{count}} feed(s) from OPML file': 'Imported {{count}} feed(s) from OPML file', - 'In-Browser Cache': 'In-Browser Cache', - Insert: 'Insert', - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).': - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).', - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.': - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.', - 'Insert event or address': 'Insert event or address', - 'Insert mention': 'Insert mention', - 'Internal Citation': 'Internal Citation', - 'Internal Citation Settings': 'Internal Citation Settings', - 'Invalid Event': 'Invalid Event', - 'Invalid Lightning Address': 'Invalid Lightning Address', - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.': - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.', - 'Invalid URL': 'Invalid URL', - 'Invalid content JSON': 'Invalid content JSON', - 'Invalid relay URL': 'Invalid relay URL', - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.': - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.', - 'Item deleted successfully': 'Item deleted successfully', - JSON: 'JSON', - 'Join link': 'Join link', - 'Journal/Publication name (optional)': 'Journal/Publication name (optional)', - Json: 'JSON', - Kinds: 'Kinds', - 'Language Model': 'Language Model', - Large: 'Large', - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link': - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link', - 'Lightning payment failed': 'Lightning payment failed', - Limit: 'Limit', - 'Live feed; keeps updating.': 'Live feed; keeps updating.', - 'Loading more...': 'Loading more...', - 'Loading relays...': 'Loading relays...', - 'Location (optional)': 'Location (optional)', - 'Log in to run this spell (it uses $me or $contacts).': - 'Log in to run this spell (it uses $me or $contacts).', - 'Login failed': 'Login failed', - 'Login to configure RSS feeds': 'Login to configure RSS feeds', - 'Long-form Article': 'Long-form Article', - 'Mailbox relays saved': 'Mailbox relays saved', - 'Mark as NSFW': 'Mark as NSFW', - 'Maximum {{max}} invitees': 'Maximum {{max}} invitees', - 'Maximum {{max}} invitees allowed': 'Maximum {{max}} invitees allowed', - Medium: 'Medium', - Mode: 'Mode', - 'Most Zapped': 'Most Zapped', - 'Move to top': 'Move to top', - 'Multiple choice': 'Multiple choice', - 'Mute failed': 'Mute failed', - NSFW: 'NSFW', - Name: 'Name', - 'Name of the language model used': 'Name of the language model used', - 'New External Citation': 'New External Citation', - 'New Hardcopy Citation': 'New Hardcopy Citation', - 'New Highlight': 'New Highlight', - 'New Internal Citation': 'New Internal Citation', - 'New Long-form Article': 'New Long-form Article', - 'New Poll': 'New Poll', - 'New Discussion': 'New Discussion', - 'New Prompt Citation': 'New Prompt Citation', - 'New Public Message': 'New Public Message', - 'New Wiki Article': 'New Wiki Article', - 'New Wiki Article (Markdown)': 'New Wiki Article (Markdown)', - Newest: 'Newest', - 'No JSON available': 'No JSON available', - 'No RSS feeds found in OPML file': 'No RSS feeds found in OPML file', - 'No cached data found.': 'No cached data found.', - 'No console logs captured yet': 'No console logs captured yet', - 'No events found': 'No events found', - 'No feeds configured. Default feed will be used.': - 'No feeds configured. Default feed will be used.', - 'No feeds to export': 'No feeds to export', - 'No groups available. Join some groups first.': 'No groups available. Join some groups first.', - 'No items in this store.': 'No items in this store.', - 'No items match your search.': 'No items match your search.', - 'No logs match the current filters': 'No logs match the current filters', - 'No posts found': 'No posts found', - 'No posts match your search': 'No posts match your search', - 'No relays available. Please configure relays in settings.': - 'No relays available. Please configure relays in settings.', - 'No service workers or caches found for this app': - 'No service workers or caches found for this app', - 'No users found': 'No users found', - 'No valid RSS feed URLs found in OPML file': 'No valid RSS feed URLs found in OPML file', - 'Note pinned': 'Note pinned', - 'Note unpinned': 'Note unpinned', - Oldest: 'Oldest', - 'Open Timestamp': 'Open Timestamp', - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.': - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.', - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.': - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.', - Optional: 'Optional', - 'Optional image for the event': 'Optional image for the event', - 'Optionally, add the full quote/context to show your highlight within it': - 'Optionally, add the full quote/context to show your highlight within it', - PM: 'PM', - 'Page Range': 'Page Range', - Pages: 'Pages', - 'Paste URL of a GIF': 'Paste URL of a GIF', - 'Paste URL of a meme image': 'Paste URL of a meme image', - 'Paste the entire original passage that contains your highlight': - 'Paste the entire original passage that contains your highlight', - Photo: 'Photo', - 'Picture Note': 'Picture Note', - 'Pin note': 'Pin note', - 'Plain text description of the query': 'Plain text description of the query', - 'Please login to view bookmarks': 'Please login to view bookmarks', - 'Please select a group': 'Please select a group', - 'Please select at least one relay': 'Please select at least one relay', - 'Please set a start date': 'Please set a start date', - 'Poll with no options': 'Poll with no options', - 'Post published to some relays': 'Post published to some relays', - 'Posts will automatically include expiration tags': - 'Posts will automatically include expiration tags', - 'Posts will automatically include quiet tags': 'Posts will automatically include quiet tags', - 'Posts will be quiet for this many days': 'Posts will be quiet for this many days', - 'Posts will expire after this many months': 'Posts will expire after this many months', - 'Processing...': 'Processing...', - 'Profile event not available': 'Profile event not available', - 'Prompt Citation': 'Prompt Citation', - 'Prompt Citation Settings': 'Prompt Citation Settings', - 'Prompt Conversation Script': 'Prompt Conversation Script', - 'Proof of Work': 'Proof of Work', - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post': - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post', - 'Publish to Relays': 'Publish to Relays', - 'Published By': 'Published By', - 'Published In': 'Published In', - 'Published On': 'Published On', - 'Published in': 'Published in', - 'Published on': 'Published on', - 'Publisher name (optional)': 'Publisher name (optional)', - 'Quiet Tags': 'Quiet Tags', - 'RSS Feed': 'RSS Feed', - 'RSS + Web': 'RSS + Web', - 'RSS feed source': 'RSS feed source', - 'All feed sources': 'All feed sources', - 'RSS feed view mode': 'RSS feed view mode', - 'Article URLs': 'Article URLs', - 'Article URLs subtitle': - 'One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.', - 'Article URLs Nostr manual subtitle': - 'Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.', - 'RSS feed column title': 'RSS & linked articles', - 'RSS feed column subtitle': - 'Feed entries and article cards that include at least one item from your subscribed RSS feeds.', - 'RSS timeline': 'RSS timeline', - 'RSS timeline subtitle': - 'Every item from your subscribed feeds, newest first — classic RSS reader.', - URLs: 'URLs', - RSS: 'RSS', - 'No URL-only items yet': 'No URL-only items yet', - 'Respond to this RSS entry': 'Respond to this RSS entry', - 'RSS read-only thread hint': - 'Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.', - 'RSS feed item label': 'RSS', - 'Web URL item label': 'Web URL', - 'URL thread activity': 'URL thread activity', - 'Suppress Clawstr links in RSS previews': 'Hide clawstr.com in RSS and URL feed', - 'Hide local, media & feed URLs from URL cards': - 'Hide local, media, feed, document & XML links from the feed', - 'RSS articles': 'RSS articles', - 'Web comments': 'Web comments', - 'Web highlights': 'Web highlights', - 'In your bookmarks': 'In your bookmarks', - '{{count}} RSS entries for this URL': '{{count}} RSS entries for this URL', - '{{count}} entries for this article URL': '{{count}} entries for this article URL', - 'No comments yet': 'No comments yet', - 'No highlights yet': 'No highlights yet', - 'Showing {{filtered}} of {{total}} entries': 'Showing {{filtered}} of {{total}} entries', - standardRssFeed_spotifeed: 'Spotify playlist (Spotifeed)', - standardRssFeed_youtube: 'YouTube feed', - standardRssFeed_youtubeChannel: 'YouTube channel feed', - standardRssFeed_youtubePlaylist: 'YouTube playlist feed', - standardRssFeed_feedburner: 'FeedBurner', - standardRssFeed_reddit: 'Reddit RSS', - standardRssFeed_substack: 'Substack', - standardRssFeed_medium: 'Medium', - 'RSS Feed Settings': 'RSS Feed Settings', - 'Follow sets': 'Follow sets', - 'Follow sets settings intro': - 'NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.', - 'New follow set': 'New follow set', - 'Edit follow set': 'Edit follow set', - 'No follow sets yet': 'You have not created any follow sets yet.', - 'Follow set saved': 'Follow set saved', - 'Follow set deleted': 'Follow set deleted', - 'Failed to load follow sets': 'Failed to load follow sets', - members: 'members', - 'Optional display title': 'Optional display title', - 'List id (d tag)': 'List id (d tag)', - 'Follow set d tag hint': - 'Stable identifier for this list. It cannot be changed after the first publish.', - 'People in this list': 'People in this list', - 'Delete follow set?': 'Delete this follow set?', - 'Delete follow set confirm': - 'This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.', - 'Remove feed': 'Remove feed', - 'RSS Feeds': 'RSS Feeds', - 'RSS feeds exported to OPML file': 'RSS feeds exported to OPML file', - 'RSS feeds saved': 'RSS feeds saved', - 'Rate limited. Please wait before trying again.': - 'Rate limited. Please wait before trying again.', - 'Reaction published': 'Reaction published', - 'Reaction removed': 'Reaction removed', - 'Read full article': 'Read full article', - 'Reading group entry': 'Reading group entry', - 'Readings Options': 'Readings Options', - Recipients: 'Recipients', - 'Recipients detected from your message:': 'Recipients detected from your message:', - 'Recommended Relays': 'Recommended Relays', - 'Recommended applications for handling events of kind {{kind}}': - 'Recommended applications for handling events of kind {{kind}}', - 'Reference to the cited Nostr event in kind:pubkey:hex format': - 'Reference to the cited Nostr event in kind:pubkey:hex format', - 'Refresh Cache': 'Refresh Cache', - 'Refreshing posts...': 'Refreshing posts...', - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.': - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.', - Relay: 'Relay', - 'Relay Hint': 'Relay Hint', - 'Relay URL (optional)': 'Relay URL (optional)', - 'Relay blocked successfully': 'Relay blocked successfully', - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.': - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.', - 'Relay set options': 'Relay set options', - 'Remove from favorites': 'Remove from favorites', - Rendered: 'Rendered', - 'Reply published': 'Reply published', - 'Reply published to some relays': 'Reply published to some relays', - 'Reply to Public Message': 'Reply to Public Message', - 'Republish to all active relays': 'Republish to all active relays', - 'Republish to all available relays': 'Republish to all available relays', - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.': - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.', - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.': - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.', - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Respect quiet tags': 'Respect quiet tags', - 'Search (NIP-50)': 'Search (NIP-50)', - 'Search by name or npub…': 'Search by name or npub…', - 'Search calendar, publications, wiki…': 'Search calendar, publications, wiki…', - 'Search for user…': 'Search for user…', - 'Search items...': 'Search items...', - 'Search logs...': 'Search logs...', - 'Search notes, threads, long-form…': 'Search notes, threads, long-form…', - 'Search on GifBuddy': 'Search on GifBuddy', - 'Search on Meme Amigo': 'Search on Meme Amigo', - 'Search posts...': 'Search posts...', - 'Search threads by title, content, tags, npub, author...': - 'Search threads by title, content, tags, npub, author...', - 'Searching all available relays...': 'Searching all available relays...', - 'Searching…': 'Searching…', - 'See reference': 'See reference', - 'Select Group': 'Select Group', - 'Select Media Type': 'Select Media Type', - 'Select group...': 'Select group...', - 'Select relays': 'Select relays', - 'Publish relay cap hint': - 'At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Publish relay cap hint with outbox first': - 'At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Select the group where you want to create this discussion.': - 'Select the group where you want to create this discussion.', - 'Select topic...': 'Select topic...', - 'Selected text': 'Selected text', - 'Send Public Message': 'Send Public Message', - 'Send a Lightning payment to this user': 'Send a Lightning payment to this user', - 'Service worker caches cleared. Please reload the page.': - 'Service worker caches cleared. Please reload the page.', - 'Service worker unregistered and caches cleared. Please reload the page.': - 'Service worker unregistered and caches cleared. Please reload the page.', - 'Service worker unregistered. Please reload the page.': - 'Service worker unregistered. Please reload the page.', - 'Share your thoughts, ask questions, or start a discussion...': - 'Share your thoughts, ask questions, or start a discussion...', - 'Short Video Note': 'Short Video Note', - 'Show RSS Feed': 'Show RSS Feed', - 'Show all discussions in a single list': 'Show all discussions in a single list', - 'Show less': 'Show less', - Since: 'Since', - Small: 'Small', - 'Some relays have temporarily disabled writes.': - 'Some relays have temporarily disabled writes.', - Source: 'Source', - 'Spell definition': 'Spell definition', - 'Spell published': 'Spell published', - 'Start date': 'Start date', - 'Start typing to see a preview...': 'Start typing to see a preview...', - 'Subject (Book Title)': 'Subject (Book Title)', - 'Subject (book title) is required for reading groups': - 'Subject (book title) is required for reading groups', - 'Subject / Topics': 'Subject / Topics', - Subscribe: 'Subscribe', - Subscribed: 'Subscribed', - 'Subscribed to topic': 'Subscribed to topic', - 'Subscribed to topic (local)': 'Subscribed to topic (local)', - 'Subscribing...': 'Subscribing...', - Summary: 'Summary', - 'Supported Event Types': 'Supported Event Types', - 'Take a note': 'Take a note', - 'The full prompt conversation (optional)': 'The full prompt conversation (optional)', - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.': - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.', - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.': - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.', - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.': - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.', - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a Nostr event of kind {{kind}}.': - 'This GIF was found in a Nostr event of kind {{kind}}.', - 'This file could be either audio or video. Please select the correct type:': - 'This file could be either audio or video. Please select the correct type:', - 'This store does not contain replaceable events': - 'This store does not contain replaceable events', - 'This will add additional tags for author and subject to help organize reading group discussions.': - 'This will add additional tags for author and subject to help organize reading group discussions.', - 'Thread Content': 'Thread Content', - 'Thread Title': 'Thread Title', - 'Thread creation timed out. Please try again.': 'Thread creation timed out. Please try again.', - 'Thread published': 'Thread published', - 'Threads are organized by topics. Choose a topic that best fits your discussion.': - 'Threads are organized by topics. Choose a topic that best fits your discussion.', - 'Time-based': 'Time-based', - 'Title is required': 'Title is required', - 'Title must be 100 characters or less': 'Title must be 100 characters or less', - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.': - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.', - Top: 'Top', - Topic: 'Topic', - URL: 'URL', - 'URL of the article cover image (optional)': 'URL of the article cover image (optional)', - 'Unique identifier for this article (required)': - 'Unique identifier for this article (required)', - 'Unmute failed': 'Unmute failed', - 'Unpin note': 'Unpin note', - Unsubscribe: 'Unsubscribe', - 'Unsubscribed from topic': 'Unsubscribed from topic', - 'Unsubscribing...': 'Unsubscribing...', - Until: 'Until', - Untitled: 'Untitled', - Update: 'Update', - 'Updating...': 'Updating...', - 'Upload Audio Comment': 'Upload Audio Comment', - 'Upload Audio Message': 'Upload Audio Message', - 'Upload Media': 'Upload Media', - Upvote: 'Upvote', - 'User unmuted': 'User unmuted', - 'Version number (optional)': 'Version number (optional)', - Video: 'Video', - 'Video Note': 'Video Note', - 'Video file': 'Video file', - 'View Console Logs': 'View Console Logs', - 'View JSON': 'View JSON', - 'View cached items in this store.': 'View cached items in this store.', - 'View definition': 'View definition', - 'View details about cached data in IndexedDB stores. Click on a store to view its items.': - 'View details about cached data in IndexedDB stores. Click on a store to view its items.', - 'View on Alexandria': 'View on Alexandria', - 'View on DecentNewsroom': 'View on DecentNewsroom', - 'View on Wikistr': 'View on Wikistr', - 'View recent console logs for debugging': 'View recent console logs for debugging', - 'Voice Comment': 'Voice Comment', - 'Voice Note': 'Voice Note', - 'Voice note or audio file': 'Voice note or audio file', - Volume: 'Volume', - 'Volume number (optional)': 'Volume number (optional)', - 'Vote published': 'Vote published', - 'Vote removed': 'Vote removed', - 'Website where LLM was accessed (optional)': 'Website where LLM was accessed (optional)', - 'Wiki Article (AsciiDoc)': 'Wiki Article (AsciiDoc)', - 'Wiki Article (Markdown)': 'Wiki Article (Markdown)', - 'You can only delete your own notes': 'You can only delete your own notes', - 'You must be logged in to create a thread': 'You must be logged in to create a thread', - 'You need to add at least one media server in order to upload media files.': - 'You need to add at least one media server in order to upload media files.', - 'You need to login first': 'You need to login first', - 'Your account is blocked from posting to this relay.': - 'Your account is blocked from posting to this relay.', - Zap: 'Zap', - 'Zap failed': 'Zap failed', - created_at: 'created_at', - 'e tag of kind 1040 event (optional)': 'e tag of kind 1040 event (optional)', - 'e.g. meetup, conference': 'e.g. meetup, conference', - 'e.g., 123-145 (optional)': 'e.g., 123-145 (optional)', - 'e.g., GPT-4, Claude, etc. (required)': 'e.g., GPT-4, Claude, etc. (required)', - 'e.g., my-article-title': 'e.g., my-article-title', - entries: 'entries', - 'from Bunker': 'from Bunker', - 'from Extension': 'from Extension', - 'from NIP-05': 'from NIP-05', - general: 'general', - 'https://example.com (required)': 'https://example.com (required)', - 'https://example.com/image.jpg': 'https://example.com/image.jpg', - id: 'id', - items: 'items', - kind: 'kind', - 'kind:pubkey:hex format (required)': 'kind:pubkey:hex format (required)', - 'last updated': 'last updated', - matching: 'matching', - naddr: 'naddr', - nevent: 'nevent', - 'nevent1..., naddr1..., note1..., hex ID, or https://...': - 'nevent1..., naddr1..., note1..., hex ID, or https://...', - 'no notes found': 'no notes found', - of: 'of', - 'on note': 'on note', - optional: 'optional', - pubkey: 'pubkey', - 'sent a public message': 'sent a public message', - 'sent you a public message': 'sent you a public message', - 'sent you a public message (along with {{count}} others)': - 'sent you a public message (along with {{count}} others)', - sig: 'sig', - 'started a discussion in {{topic}}': 'started a discussion in {{topic}}', - tags: 'tags', - thread: 'thread', - threads: 'threads', - 'topic1, topic2, topic3': 'topic1, topic2, topic3', - '{{count}} relay(s) selected': '{{count}} relay(s) selected', - '🔞 NSFW 🔞': '🔞 NSFW 🔞', - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).': - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).', - 'Failed to refresh': 'Failed to refresh', - 'Invalid article link.': 'Invalid article link.', - Likes: 'Likes', - 'Loading…': 'Loading…', - 'Missing pubkey': 'Missing pubkey', - 'No RSS feed list found on relays': 'No RSS feed list found on relays', - 'Pinned posts': 'Pinned posts', - 'Publishing...': 'Publishing...', - 'RSS article': 'RSS article', - 'RSS feed list refreshed': 'RSS feed list refreshed', - 'Save or discard your changes before refreshing from relays': - 'Save or discard your changes before refreshing from relays', - 'Suggested topics': 'Suggested topics', - 'Synthetic event (no author)': 'Synthetic event (no author)', - 'Topic is required': 'Topic is required', - 'Type a topic or pick from the list': 'Type a topic or pick from the list', - profileEditorRefreshCacheHint: 'profileEditorRefreshCacheHint', - startupSessionHydrating: 'startupSessionHydrating' - } -} diff --git a/src/i18n/locales/fr.ts b/src/i18n/locales/fr.ts index 92ce912e..78456cc9 100644 --- a/src/i18n/locales/fr.ts +++ b/src/i18n/locales/fr.ts @@ -1,1846 +1,2010 @@ export default { translation: { - 'Welcome! 🥳': 'Bienvenue ! 🥳', - About: 'À propos', - 'New Note': 'Nouvelle note', - Post: 'Publier', - Home: 'Accueil', - Feed: 'Feed', - 'Favorite Relays': 'Relais favoris', - 'Relay pulse': 'Relay pulse', - 'Relay pulse empty': 'Quiet on your relays in the last hour.', - 'Relay pulse follows': 'Following ({{count}})', - 'Relay pulse others': 'Others ({{count}})', - 'Relay pulse updated': 'Updated {{relative}}', - 'Relay pulse active npubs': 'Active npubs', - 'Relay pulse active npubs hint': - 'Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).', - 'Relay pulse drawer following': 'Following', - 'Relay pulse drawer others': 'Others', - 'Relay pulse drawer no profiles': 'No kind 0 profiles loaded for this sample yet.', - 'See the newest notes from your follows': 'See the newest notes from your follows', - 'All favorite relays': 'Tous les relais favoris', - 'Pinned note': 'Pinned note', - 'Relay settings': 'Paramètres du relais', - Settings: 'Paramètres', - 'Account menu': 'Account menu', - SidebarRelays: 'Relais', - Refresh: 'Rafraîchir', - 'refresh.longPressHardReload': 'Long-press: reload app and restore feed cache', - 'link.expandNostrEmbed': 'Show Nostr preview', - Profile: 'Profil', - Logout: 'Déconnexion', - Following: 'Abonnements', - followings: 'abonnements', - boosted: 'a boosté', - 'Boosted by:': 'Boosted by:', - 'just now': "à l'instant", - 'n minutes ago': 'il y a {{n}} minutes', - 'n m': '{{n}}m', - 'n hours ago': 'il y a {{n}} heures', - 'n h': '{{n}}h', - 'n days ago': 'il y a {{n}} jours', - 'n d': '{{n}}j', - date: '{{timestamp, date}}', - Follow: 'Suivre', - Unfollow: 'Ne plus suivre', - 'Follow failed': 'Échec du suivi', - 'Unfollow failed': "Échec de l'arrêt du suivi", - 'show new notes': 'afficher les nouvelles notes', - 'loading...': 'chargement...', - 'Loading...': 'Chargement...', - 'no more notes': 'plus de notes', - 'calendar entries': 'calendar entries', - 'Loading calendar events...': 'Loading calendar events...', - 'No calendar events found': 'No calendar events found', - 'Calendar events in the next {{count}} months': 'Calendar events in the next {{count}} months', - 'The nostr.band relay appears to be temporarily out of service. Please try again later.': - 'The nostr.band relay appears to be temporarily out of service. Please try again later.', - 'reply to': 'répondre à', - reply: 'répondre', - Reply: 'Répondre', - 'load more older replies': 'charger plus de réponses anciennes', - 'Write something...': 'Écrire quelque chose...', - Cancel: 'Annuler', - Mentions: 'Mentions', - 'Search for event or address…': 'Search for event or address…', - 'Search notes…': 'Search notes…', - 'No notes found': 'No notes found', - 'Failed to post': 'Publication échouée', - 'Post successful': 'Publication réussie', - 'Your post has been published': 'Votre publication a été publiée', - Boost: 'Boost', - 'Boost published': 'Boost publié', - Quote: 'Citer', - 'Copy event ID': "Copier l'ID de l'événement", - 'Copy user ID': "Copier l'ID de l'utilisateur", - 'Send public message': 'Send public message', - 'View raw event': "Voir l'événement brut", - 'Edit this event': 'Edit this event', - 'Clone or fork this event': 'Clone or fork this event', - 'Event kind': 'Event kind', - 'Note content': 'Note content', - Publish: 'Publish', - 'Post published': 'Post published', - 'Edit content and tags, then publish a new signed event.': - 'Edit content and tags, then publish a new signed event.', - 'Log in to publish': 'Log in to publish', - 'Set when you publish': 'set when you publish', - 'id and sig are assigned when you publish': 'id and sig are assigned when you publish', - 'Published to some relays only': 'Published to some relays only', - 'Add field': 'Add field', - 'View full profile': 'View full profile', - Like: 'Aimer', - 'switch to light theme': 'passer au thème clair', - 'switch to dark theme': 'passer au thème sombre', - 'switch to system theme': 'passer au thème système', - Note: 'Note', - note: 'note', - "username's following": 'les abonnements de {{username}}', - "username's used relays": 'les relais utilisés par {{username}}', - "username's muted": '{{username}} en sourdine', - Login: 'Connexion', - downloadDesktopApp: 'Download app', - 'Please log in to view notifications.': 'Please log in to view notifications.', - 'Follows you': 'Vous suit', - 'Relay Settings': 'Paramètres des relais', - 'Relays and Storage Settings': 'Relays and Storage Settings', - 'Relay set name': 'Nom du groupe de relais', - 'Add a new relay set': 'Ajouter un nouveau groupe de relais', - Add: 'Ajouter', - 'n relays': '{{n}} relais', - Rename: 'Renommer', - 'Copy share link': 'Copy share link', - 'Copy address': 'Copy address', - 'Copy payto URI': 'Copy payto URI', - 'Copied payto address': 'Copied payto address', - 'Copied to clipboard': 'Copied to clipboard', - 'Copied {{label}} address': 'Copied {{label}} address', - 'Lightning payment address – copy to pay via your wallet': - 'Lightning payment address – copy to pay via your wallet', - 'Payment address – copy to use in your wallet or app': - 'Payment address – copy to use in your wallet or app', - 'Click to open payment options': 'Click to open payment options', - 'Click to copy address': 'Click to copy address', - 'Open on website': 'Open on website', - 'Raw profile event': 'Raw profile event', - 'Full profile event': 'Full profile event', - 'Event (JSON)': 'Event (JSON)', - 'Save full profile': 'Save full profile', - 'Add tag': 'Add tag', - 'Remove tag': 'Remove tag', - 'Tag name': 'Tag name', - Value: 'Value', - 'Add value to tag': 'Add value to tag', - 'Remove value': 'Remove value', - 'No tags. Click "Add tag" to add one.': 'No tags. Click "Add tag" to add one.', - 'Profile updated': 'Profile updated', - 'Failed to publish profile': 'Failed to publish profile', - 'Invalid profile JSON': 'Invalid profile JSON', - 'Refresh cache': 'Refresh cache', - 'Force-refresh profile and payment info from relays': - 'Force-refresh profile and payment info from relays', - 'Profile and payment cache refreshed': 'Profile and payment cache refreshed', - 'Failed to refresh cache': 'Failed to refresh cache', - 'Raw payment info event': 'Raw payment info event', - 'Payment info': 'Payment info', - 'Edit payment info': 'Edit payment info', - 'Add payment info': 'Add payment info', - 'No payment info event yet. Click "Add payment info" to create one.': - 'No payment info event yet. Click "Add payment info" to create one.', - 'Content (JSON)': 'Content (JSON)', - Tags: 'Tags', - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])': - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])', - 'Payment info updated': 'Payment info updated', - 'Failed to publish payment info': 'Failed to publish payment info', - 'Invalid tags JSON': 'Invalid tags JSON', - 'Payment methods': 'Payment methods', - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).': - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).', - 'Type (e.g. lightning)': 'Type (e.g. lightning)', - 'Authority (e.g. user@domain.com)': 'Authority (e.g. user@domain.com)', - 'Add payment method': 'Add payment method', - Remove: 'Remove', - 'Additional content (JSON)': 'Additional content (JSON)', - 'Show full event JSON': 'Show full event JSON', - 'Tag list': 'Tag list', - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.': - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.', - 'Tag value': 'Tag value', - 'Saving…': 'Saving…', - 'Share with Imwald': 'Partager avec Imwald', - 'Share with Alexandria': 'Partager avec Alexandria', - 'Start video call': 'Start video call', - 'Copy call invite link': 'Copy call invite link', - 'Start call about this': 'Start call about this', - 'Send call invite': 'Send call invite', - 'Read this note aloud': 'Read this note aloud', - 'Read-aloud is not supported in this browser': 'Read-aloud is not supported in this browser', - 'Nothing to read aloud': 'Nothing to read aloud', - 'Read-aloud failed': 'Read-aloud failed', - 'Read aloud': 'Read aloud', - 'Read-aloud idle': 'Idle', - 'Preparing read-aloud…': 'Preparing read-aloud…', - 'Requesting audio…': 'Requesting audio…', - 'Loading audio…': 'Loading audio…', - Playing: 'Playing', - Paused: 'Paused', - 'Read-aloud finished': 'Finished', - 'Read-aloud error': 'Error', - 'TTS endpoint': 'TTS endpoint', - 'Using browser speech synthesis': 'Using browser speech synthesis', - 'Read-aloud section progress': 'Section {{current}} of {{total}}', - 'Request sent': 'Request sent', - 'Response received': 'Response received', - 'Playback started': 'Playback started', - Characters: 'Characters', - Pause: 'Pause', - Play: 'Play', - Stop: 'Stop', - 'Read-aloud sections': 'Read-aloud sections', - 'Read-aloud overall progress': 'Overall progress', - 'Read-aloud section done': 'Section {{index}}: finished', - 'Read-aloud section pending': 'Section {{index}}: not started yet', - 'Read-aloud section fetching': 'Section {{index}}: requesting audio', - 'Read-aloud section preparing audio': 'Section {{index}}: loading audio', - 'Read-aloud section playing': 'Section {{index}}: playing', - 'Read-aloud section paused': 'Section {{index}}: paused', - 'Read-aloud legend fetching': 'Requesting audio for this section from the server…', - 'Read-aloud legend buffering': 'Decoding audio for this section…', - 'Read-aloud legend playing': 'Playing this section.', - 'Read-aloud legend paused': 'Playback paused.', - 'Read-aloud Piper fallback notice': - 'Server voice (Piper) could not be used. Playing with your browser voice instead.', - 'Read-aloud Piper fallback detail label': 'Piper error', - 'Read-aloud Piper status region': 'Piper text-to-speech status', - 'Read-aloud Piper status heading': 'Piper (server voice)', - 'Read-aloud Piper skipped notice': - 'No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.', - 'Read-aloud Piper attempt started': - 'Piper was started at {{time}} (this read-aloud used the server first).', - 'Read-aloud Piper endpoint tried': 'URL used: {{url}}', - 'Join the video call': 'Join the video call', - 'Schedule video call': 'Schedule video call', + // NOTE: Untranslated strings fall back to English. + + "Welcome! 🥳": "Bienvenue ! 🥳", + About: "À propos", + "New Note": "Nouvelle note", + Post: "Publier", + Home: "Accueil", + Feed: "Feed", + "Favorite Relays": "Relais favoris", + "Relay pulse": "Relay pulse", + "Relay pulse empty": "Quiet on your relays in the last hour.", + "Relay pulse follows": "Following ({{count}})", + "Relay pulse others": "Others ({{count}})", + "Relay pulse updated": "Updated {{relative}}", + "Relay pulse active npubs": "Active npubs", + "Relay pulse active npubs hint": "Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).", + "Relay pulse drawer following": "Following", + "Relay pulse drawer others": "Others", + "Relay pulse drawer no profiles": "No kind 0 profiles loaded for this sample yet.", + "See the newest notes from your follows": "See the newest notes from your follows", + "All favorite relays": "Tous les relais favoris", + "Pinned note": "Pinned note", + "Relay settings": "Paramètres du relais", + "Relay auth accepted (NIP-42)": "The relay accepted authentication (NIP-42): {{relay}}{{detailSuffix}}", + "Relay auth rejected (NIP-42)": "The relay rejected authentication (NIP-42): {{relay}} — {{message}}", + "Relay auth error unknown": "Unknown error", + Settings: "Paramètres", + "Account menu": "Account menu", + SidebarRelays: "Relais", + Refresh: "Rafraîchir", + "refresh.longPressHardReload": "Long-press: reload app and restore feed cache", + "link.expandNostrEmbed": "Show Nostr preview", + Profile: "Profil", + Logout: "Déconnexion", + Following: "Abonnements", + followings: "abonnements", + boosted: "a boosté", + "Boosted by:": "Boosted by:", + "just now": "à l'instant", + "n minutes ago": "il y a {{n}} minutes", + "n m": "{{n}}m", + "n hours ago": "il y a {{n}} heures", + "n h": "{{n}}h", + "n days ago": "il y a {{n}} jours", + "n d": "{{n}}j", + date: "{{timestamp, date}}", + Follow: "Suivre", + Unfollow: "Ne plus suivre", + "Follow failed": "Échec du suivi", + "Unfollow failed": "Échec de l'arrêt du suivi", + "show new notes": "afficher les nouvelles notes", + "loading...": "chargement...", + "Loading...": "Chargement...", + "no more notes": "plus de notes", + "calendar entries": "calendar entries", + "Loading calendar events...": "Loading calendar events...", + "No calendar events found": "No calendar events found", + "Calendar events in the next {{count}} months": "Calendar events in the next {{count}} months", + "The nostr.band relay appears to be temporarily out of service. Please try again later.": "The nostr.band relay appears to be temporarily out of service. Please try again later.", + "reply to": "répondre à", + reply: "répondre", + Reply: "Répondre", + "load more older replies": "charger plus de réponses anciennes", + "Write something...": "Écrire quelque chose...", + Cancel: "Annuler", + Mentions: "Mentions", + "Search for event or address…": "Search for event or address…", + "Search notes…": "Search notes…", + "No notes found": "No notes found", + "Failed to post": "Publication échouée", + "Post successful": "Publication réussie", + "Your post has been published": "Votre publication a été publiée", + Boost: "Boost", + "Boost published": "Boost publié", + Quote: "Citer", + "Copy event ID": "Copier l'ID de l'événement", + "Copy user ID": "Copier l'ID de l'utilisateur", + "Send public message": "Send public message", + "View raw event": "Voir l'événement brut", + "Edit this event": "Edit this event", + "Clone or fork this event": "Clone or fork this event", + "Event kind": "Event kind", + "Note content": "Note content", + Publish: "Publish", + "Post published": "Post published", + "Edit content and tags, then publish a new signed event.": "Edit content and tags, then publish a new signed event.", + "Log in to publish": "Log in to publish", + "Set when you publish": "set when you publish", + "id and sig are assigned when you publish": "id and sig are assigned when you publish", + "Published to some relays only": "Published to some relays only", + "Add field": "Add field", + "View full profile": "View full profile", + Like: "Aimer", + "switch to light theme": "passer au thème clair", + "switch to dark theme": "passer au thème sombre", + "switch to system theme": "passer au thème système", + Note: "Note", + note: "note", + "username's following": "les abonnements de {{username}}", + "username's used relays": "les relais utilisés par {{username}}", + "username's muted": "{{username}} en sourdine", + Login: "Connexion", + downloadDesktopApp: "Download app", + "Please log in to view notifications.": "Please log in to view notifications.", + "Follows you": "Vous suit", + "Relay Settings": "Paramètres des relais", + "Relays and Storage Settings": "Relays and Storage Settings", + "Relay set name": "Nom du groupe de relais", + "Add a new relay set": "Ajouter un nouveau groupe de relais", + Add: "Ajouter", + "n relays": "{{n}} relais", + Rename: "Renommer", + "Copy share link": "Copy share link", + "Copy address": "Copy address", + "Copy payto URI": "Copy payto URI", + "Copied payto address": "Copied payto address", + "Copied to clipboard": "Copied to clipboard", + "Copied {{label}} address": "Copied {{label}} address", + "Lightning payment address – copy to pay via your wallet": "Lightning payment address – copy to pay via your wallet", + "Payment address – copy to use in your wallet or app": "Payment address – copy to use in your wallet or app", + "Click to open payment options": "Click to open payment options", + "Click to copy address": "Click to copy address", + "Open on website": "Open on website", + "Raw profile event": "Raw profile event", + "Full profile event": "Full profile event", + "Event (JSON)": "Event (JSON)", + "Save full profile": "Save full profile", + "Add tag": "Add tag", + "Remove tag": "Remove tag", + "Tag name": "Tag name", + Value: "Value", + "Add value to tag": "Add value to tag", + "Remove value": "Remove value", + "No tags. Click \"Add tag\" to add one.": "No tags. Click \"Add tag\" to add one.", + "Profile updated": "Profile updated", + "Failed to publish profile": "Failed to publish profile", + "Invalid profile JSON": "Invalid profile JSON", + "Refresh cache": "Refresh cache", + "Force-refresh profile and payment info from relays": "Force-refresh profile and payment info from relays", + "Profile and payment cache refreshed": "Profile and payment cache refreshed", + "Failed to refresh cache": "Failed to refresh cache", + "Raw payment info event": "Raw payment info event", + "Payment info": "Payment info", + "Edit payment info": "Edit payment info", + "Add payment info": "Add payment info", + "No payment info event yet. Click \"Add payment info\" to create one.": "No payment info event yet. Click \"Add payment info\" to create one.", + "Content (JSON)": "Content (JSON)", + Tags: "Tags", + "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])": "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])", + "Payment info updated": "Payment info updated", + "Failed to publish payment info": "Failed to publish payment info", + "Invalid tags JSON": "Invalid tags JSON", + "Payment methods": "Payment methods", + "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).": "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).", + "Type (e.g. lightning)": "Type (e.g. lightning)", + "Authority (e.g. user@domain.com)": "Authority (e.g. user@domain.com)", + "Add payment method": "Add payment method", + Remove: "Remove", + "Additional content (JSON)": "Additional content (JSON)", + "Show full event JSON": "Show full event JSON", + "Tag list": "Tag list", + "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.": "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.", + "Tag value": "Tag value", + "Saving…": "Saving…", + "Share with Imwald": "Partager avec Imwald", + "Share with Alexandria": "Partager avec Alexandria", + "Start video call": "Start video call", + "Copy call invite link": "Copy call invite link", + "Start call about this": "Start call about this", + "Send call invite": "Send call invite", + "Read this note aloud": "Read this note aloud", + "Read-aloud is not supported in this browser": "Read-aloud is not supported in this browser", + "Nothing to read aloud": "Nothing to read aloud", + "Read-aloud failed": "Read-aloud failed", + "Read aloud": "Read aloud", + "Read-aloud idle": "Idle", + "Preparing read-aloud…": "Preparing read-aloud…", + "Requesting audio…": "Requesting audio…", + "Loading audio…": "Loading audio…", + "Preparing player…": "Preparing player…", + "Starting stream…": "Starting stream…", + "Loading media…": "Loading media…", + "Buffering…": "Buffering…", + Playing: "Playing", + Paused: "Paused", + "Read-aloud finished": "Finished", + "Read-aloud error": "Error", + "TTS endpoint": "TTS endpoint", + "Using browser speech synthesis": "Using browser speech synthesis", + "Read-aloud section progress": "Section {{current}} of {{total}}", + "Request sent": "Request sent", + "Response received": "Response received", + "Playback started": "Playback started", + Characters: "Characters", + Pause: "Pause", + Play: "Play", + Stop: "Stop", + "Read-aloud sections": "Read-aloud sections", + "Read-aloud overall progress": "Overall progress", + "Read-aloud section done": "Section {{index}}: finished", + "Read-aloud section pending": "Section {{index}}: not started yet", + "Read-aloud section fetching": "Section {{index}}: requesting audio", + "Read-aloud section preparing audio": "Section {{index}}: loading audio", + "Read-aloud section playing": "Section {{index}}: playing", + "Read-aloud section paused": "Section {{index}}: paused", + "Read-aloud legend fetching": "Requesting audio for this section from the server…", + "Read-aloud legend buffering": "Decoding audio for this section…", + "Read-aloud legend playing": "Playing this section.", + "Read-aloud legend paused": "Playback paused.", + "Read-aloud Piper fallback notice": "Server voice (Piper) could not be used. Playing with your browser voice instead.", + "Read-aloud Piper fallback detail label": "Piper error", + "Read-aloud Piper status region": "Piper text-to-speech status", + "Read-aloud Piper status heading": "Piper (server voice)", + "Read-aloud Piper skipped notice": "No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.", + "Read-aloud Piper attempt started": "Piper was started at {{time}} (this read-aloud used the server first).", + "Read-aloud Piper endpoint tried": "URL used: {{url}}", + "Join the video call": "Join the video call", + "Schedule video call": "Schedule video call", "You're invited to a scheduled video call.": "You're invited to a scheduled video call.", - 'Create a calendar event and send an invite. The recipient will see the event with a join link.': - 'Create a calendar event and send an invite. The recipient will see the event with a join link.', - 'Schedule a video call': 'Schedule a video call', - 'Create a calendar event and send kind 24 invites to each listed invitee.': - 'Create a calendar event and send kind 24 invites to each listed invitee.', - Invitees: 'Invitees', - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)': - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)', - 'Schedule and send invites': 'Schedule and send invites', - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)': - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)', - 'Scheduled call created and {{count}} invite(s) sent': - 'Scheduled call created and {{count}} invite(s) sent', - 'Join video call': 'Join video call', - 'Scheduled video call': 'Scheduled video call', - 'Video call': 'Video call', - 'Schedule and send invite': 'Schedule and send invite', - 'Scheduling…': 'Scheduling…', - 'Please set a start time': 'Please set a start time', - 'End time must be after start time': 'End time must be after start time', - 'Failed to schedule call': 'Failed to schedule call', - 'Scheduled call created and invite sent': 'Scheduled call created and invite sent', - RSVP: 'RSVP', - 'RSVP: {{status}}': 'RSVP: {{status}}', - Accepted: 'Accepted', - Tentative: 'Tentative', - Declined: 'Declined', - 'You need to log in to RSVP': 'You need to log in to RSVP', - 'RSVP updated': 'RSVP updated', - 'Failed to update RSVP': 'Failed to update RSVP', - Organizer: 'Organizer', - Attendees: 'Attendees', - 'No response': 'No response', - 'Calendar Events': 'Calendar Events', - 'Calendar Event': 'Calendar Event', - 'Schedule in-person meeting': 'Schedule in-person meeting', - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.': - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.', + "Create a calendar event and send an invite. The recipient will see the event with a join link.": "Create a calendar event and send an invite. The recipient will see the event with a join link.", + "Schedule a video call": "Schedule a video call", + "Create a calendar event and send kind 24 invites to each listed invitee.": "Create a calendar event and send kind 24 invites to each listed invitee.", + Invitees: "Invitees", + "Paste nostr:npub1... or nostr:nprofile1... (one or more)": "Paste nostr:npub1... or nostr:nprofile1... (one or more)", + "Schedule and send invites": "Schedule and send invites", + "Add at least one invitee (paste nostr:npub or nostr:nprofile links)": "Add at least one invitee (paste nostr:npub or nostr:nprofile links)", + "Scheduled call created and {{count}} invite(s) sent": "Scheduled call created and {{count}} invite(s) sent", + "Join video call": "Join video call", + "Scheduled video call": "Scheduled video call", + "Video call": "Video call", + "Schedule and send invite": "Schedule and send invite", + "Scheduling…": "Scheduling…", + "Please set a start time": "Please set a start time", + "End time must be after start time": "End time must be after start time", + "Failed to schedule call": "Failed to schedule call", + "Scheduled call created and invite sent": "Scheduled call created and invite sent", + RSVP: "RSVP", + "RSVP: {{status}}": "RSVP: {{status}}", + Accepted: "Accepted", + Tentative: "Tentative", + Declined: "Declined", + "You need to log in to RSVP": "You need to log in to RSVP", + "RSVP updated": "RSVP updated", + "Failed to update RSVP": "Failed to update RSVP", + Organizer: "Organizer", + Attendees: "Attendees", + "No response": "No response", + "Calendar Events": "Calendar Events", + "Calendar Event": "Calendar Event", + "Schedule in-person meeting": "Schedule in-person meeting", + "Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.": "Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.", "You're invited to an in-person meeting.": "You're invited to an in-person meeting.", - 'Meeting created and invite sent': 'Meeting created and invite sent', - 'Failed to create meeting': 'Failed to create meeting', - 'Create and send invite': 'Create and send invite', - 'Creating…': 'Creating…', - 'In-person meeting': 'In-person meeting', - Location: 'Location', - 'Address, venue, or place': 'Address, venue, or place', - Description: 'Description', - 'Optional notes': 'Optional notes', - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.': - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.', - 'Meeting created and {{count}} invite(s) sent': 'Meeting created and {{count}} invite(s) sent', - 'Create and send invites': 'Create and send invites', - Title: 'Title', - Start: 'Start', - End: 'End', - Delete: 'Supprimer', - 'Relay already exists': 'Le relais existe déjà', - 'invalid relay URL': 'URL de relais invalide', - 'Relay URL…': 'wss://… or relay host', - 'Open relay': 'Open relay', - 'Add a new relay': 'Ajouter un nouveau relais', - back: 'retour', - 'Lost in the void': 'Perdu dans le vide', - 'Carry me home': 'Ramène-moi à la maison', - 'no replies': 'aucune réponse', - 'Reply to': 'Répondre à', - Search: 'Recherche', - 'The relays you are connected to do not support search': - 'Les relais auxquels vous êtes connecté ne prennent pas en charge la recherche', - 'Show more...': 'Afficher plus...', - 'All users': 'Tous les utilisateurs', - 'Display replies': 'Afficher les réponses', - Notes: 'Notes', - Replies: 'Réponses', - Gallery: 'Galerie', - Notifications: 'Notifications', - 'no more notifications': 'plus de notifications', - 'Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.': - "L'utilisation de la connexion par clé privée n'est pas sécurisée. Il est recommandé d'utiliser une extension de navigateur pour la connexion, comme alby, nostr-keyx ou nos2x. Si vous devez utiliser une clé privée, veuillez au moins définir un mot de passe pour le chiffrement.", - 'Login with Browser Extension': 'Connexion avec une extension de navigateur', - 'Login with Bunker': 'Connexion avec Bunker', - 'Login with Private Key': 'Connexion avec clé privée', - 'Login with npub (read-only)': 'Connexion avec npub (lecture seule)', - 'reload notes': 'recharger les notes', - 'Logged in Accounts': 'Comptes connectés', - 'Add an Account': 'Ajouter un compte', - 'More options': "Plus d'options", - 'Add client tag': 'Ajouter une étiquette client', - 'Show others this was sent via Imwald': 'Montrer aux autres que cela a été envoyé via Imwald', - 'Are you sure you want to logout?': 'Êtes-vous sûr de vouloir vous déconnecter ?', - 'relay sets': 'groupes de relais', - edit: 'modifier', - Languages: 'Langues', - Theme: 'Thème', - System: 'Système', - Light: 'Clair', - Dark: 'Sombre', - Temporary: 'Temporaire', - 'Choose a relay set': 'Choisissez un groupe de relais', - 'Switch account': 'Changer de compte', - Pictures: 'Images', - 'Picture note': 'Note image', - 'A special note for picture-first clients like Olas': - "Une note spéciale pour les clients axés sur l'image comme Olas", - 'Picture note requires images': 'La note image nécessite des images', - Relays: 'Relais', - Image: 'image', - 'Upload Image': 'Upload Image', - 'Insert emoji': 'Insert emoji', - 'Insert GIF': 'Insert GIF', - 'Insert meme': 'Insert meme', - 'Search GIFs': 'Search GIFs', - 'Search memes': 'Search memes', - 'Choose a GIF': 'Choose a GIF', - 'Choose a meme': 'Choose a meme', - 'Search GifBuddy for more GIFs': 'Search GifBuddy for more GIFs', - 'Add your own GIFs': 'Add your own GIFs', - 'Add your own meme templates': 'Add your own meme templates', - 'Description (optional, for search)': 'Description (optional, for search)', - 'e.g. happy birthday, thumbs up': 'e.g. happy birthday, thumbs up', - 'e.g. drake, distracted boyfriend': 'e.g. drake, distracted boyfriend', - 'Uploading...': 'Uploading...', - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.': - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.', - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).': - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).', - 'Failed to publish meme template for the picker': - 'Failed to publish meme template for the picker', - '{{name}} is not a GIF file': '{{name}} is not a GIF file', - '{{name}} is not a JPEG, PNG, or WebP file': '{{name}} is not a JPEG, PNG, or WebP file', - 'R & W': 'R & W', - Read: 'Lire', - Write: 'Écrire', - 'Pull relay sets': 'Récupérer les groupes de relais', - 'Select the relay sets you want to pull': 'Sélectionnez les groupes de relais à récupérer', - 'No relay sets found': 'Aucun groupe de relais trouvé', - 'Pull n relay sets': 'Récupérer {{n}} groupes de relais', - Pull: 'Récupérer', - 'Select all': 'Tout sélectionner', - 'Relay Sets': 'Groupes de relais', - 'Read & Write Relays': 'Relais lecture & écriture', - 'read relays description': - "Les relais de lecture permettent de consulter vos événements. D'autres utilisateurs y publieront les événements à afficher sur vos relais de lecture.", - 'write relays description': - "Les relais d'écriture servent à publier vos événements. D'autres utilisateurs rechercheront vos événements via ces relais.", - 'read & write relays notice': - "Il est recommandé de maintenir entre 2 et 4 serveurs de lecture et d'écriture.", + "Meeting created and invite sent": "Meeting created and invite sent", + "Failed to create meeting": "Failed to create meeting", + "Create and send invite": "Create and send invite", + "Creating…": "Creating…", + "In-person meeting": "In-person meeting", + Location: "Location", + "Address, venue, or place": "Address, venue, or place", + Description: "Description", + "Optional notes": "Optional notes", + "Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.": "Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.", + "Meeting created and {{count}} invite(s) sent": "Meeting created and {{count}} invite(s) sent", + "Create and send invites": "Create and send invites", + Title: "Title", + Start: "Start", + End: "End", + Delete: "Supprimer", + "Relay already exists": "Le relais existe déjà", + "invalid relay URL": "URL de relais invalide", + "Relay URL…": "wss://… or relay host", + "Open relay": "Open relay", + "Add a new relay": "Ajouter un nouveau relais", + back: "retour", + "Lost in the void": "Perdu dans le vide", + "Carry me home": "Ramène-moi à la maison", + "no replies": "aucune réponse", + "Reply to": "Répondre à", + Search: "Recherche", + "The relays you are connected to do not support search": "Les relais auxquels vous êtes connecté ne prennent pas en charge la recherche", + "Show more...": "Afficher plus...", + "All users": "Tous les utilisateurs", + "Display replies": "Afficher les réponses", + Notes: "Notes", + Replies: "Réponses", + Gallery: "Galerie", + Notifications: "Notifications", + "no more notifications": "plus de notifications", + "Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.": "L'utilisation de la connexion par clé privée n'est pas sécurisée. Il est recommandé d'utiliser une extension de navigateur pour la connexion, comme alby, nostr-keyx ou nos2x. Si vous devez utiliser une clé privée, veuillez au moins définir un mot de passe pour le chiffrement.", + "Login with Browser Extension": "Connexion avec une extension de navigateur", + "Login with Bunker": "Connexion avec Bunker", + "Login with Private Key": "Connexion avec clé privée", + "Login with npub (read-only)": "Connexion avec npub (lecture seule)", + readOnlySession: {"label":"Read-only","labelShort":"R/O","hint":"Browsing without a signing key. Sign in with an extension, nsec, or another method to post, react, and edit."}, + "reload notes": "recharger les notes", + "Logged in Accounts": "Comptes connectés", + "Add an Account": "Ajouter un compte", + "More options": "Plus d'options", + "Add client tag": "Ajouter une étiquette client", + "Show others this was sent via Imwald": "Montrer aux autres que cela a été envoyé via Imwald", + "Are you sure you want to logout?": "Êtes-vous sûr de vouloir vous déconnecter ?", + "relay sets": "groupes de relais", + edit: "modifier", + Languages: "Langues", + Theme: "Thème", + System: "Système", + Light: "Clair", + Dark: "Sombre", + Temporary: "Temporaire", + "Choose a relay set": "Choisissez un groupe de relais", + "Switch account": "Changer de compte", + Pictures: "Images", + "Picture note": "Note image", + "A special note for picture-first clients like Olas": "Une note spéciale pour les clients axés sur l'image comme Olas", + "Picture note requires images": "La note image nécessite des images", + Relays: "Relais", + Image: "image", + "This image could not be loaded.": "This image could not be loaded.", + "Invalid or unsupported image address.": "Invalid or unsupported image address.", + "Open image link": "Open image link", + "Upload Image": "Upload Image", + "Insert emoji": "Insert emoji", + "Insert GIF": "Insert GIF", + "Insert meme": "Insert meme", + "Search GIFs": "Search GIFs", + "Search memes": "Search memes", + "Choose a GIF": "Choose a GIF", + "Choose a meme": "Choose a meme", + "Search GifBuddy for more GIFs": "Search GifBuddy for more GIFs", + "Add your own GIFs": "Add your own GIFs", + "Add your own meme templates": "Add your own meme templates", + "Description (optional, for search)": "Description (optional, for search)", + "e.g. happy birthday, thumbs up": "e.g. happy birthday, thumbs up", + "e.g. drake, distracted boyfriend": "e.g. drake, distracted boyfriend", + "Uploading...": "Uploading...", + "No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.": "No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.", + "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).": "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).", + "Failed to publish meme template for the picker": "Failed to publish meme template for the picker", + "{{name}} is not a GIF file": "{{name}} is not a GIF file", + "{{name}} is not a JPEG, PNG, or WebP file": "{{name}} is not a JPEG, PNG, or WebP file", + "R & W": "R & W", + Read: "Lire", + Write: "Écrire", + "Pull relay sets": "Récupérer les groupes de relais", + "Select the relay sets you want to pull": "Sélectionnez les groupes de relais à récupérer", + "No relay sets found": "Aucun groupe de relais trouvé", + "Pull n relay sets": "Récupérer {{n}} groupes de relais", + Pull: "Récupérer", + "Select all": "Tout sélectionner", + "Relay Sets": "Groupes de relais", + "Read & Write Relays": "Relais lecture & écriture", + "read relays description": "Les relais de lecture permettent de consulter vos événements. D'autres utilisateurs y publieront les événements à afficher sur vos relais de lecture.", + "write relays description": "Les relais d'écriture servent à publier vos événements. D'autres utilisateurs rechercheront vos événements via ces relais.", + "read & write relays notice": "Il est recommandé de maintenir entre 2 et 4 serveurs de lecture et d'écriture.", "Don't have an account yet?": "Vous n'avez pas encore de compte ?", - 'or simply generate a private key': 'ou générez simplement une clé privée', - 'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.': - 'Ceci est une clé privée. Ne la divulguez à personne. Gardez-la en sécurité. Vous ne pourrez pas la récupérer en cas de perte.', - Edit: 'Modifier', - Save: 'Enregistrer', - 'Display Name': "Nom d'affichage", - Bio: 'Biographie', - 'Nostr Address (NIP-05)': 'Adresse Nostr (NIP-05)', - 'Invalid NIP-05 address': 'Adresse NIP-05 invalide', - 'Copy private key': 'Copier la clé privée', - 'Enter the password to decrypt your ncryptsec': - 'Entrez le mot de passe pour décrypter votre ncryptsec', - Back: 'Retour', - 'optional: encrypt nsec': 'facultatif : chiffrer nsec', - password: 'mot de passe', - 'Sign up': "S'inscrire", - 'Save to': 'Enregistrer dans', - 'Enter a name for the new relay set': 'Entrez un nom pour le nouveau groupe de relais', - 'Save to a new relay set': 'Enregistrer dans un nouveau groupe de relais', - Mute: 'Couper le son', - Muted: 'En sourdine', - Unmute: 'Activer le son', - 'Unmute user': "Désactiver la sourdine de l'utilisateur", - Block: 'Block', - Unblock: 'Unblock', - blocked: 'blocked', - 'Append n relays': 'Ajouter {{n}} relais', - Append: 'Ajouter', - 'Select relays to append': 'Sélectionnez les relais à ajouter', - 'calculating...': 'calcul en cours...', - 'Calculate optimal read relays': 'Calculer les relais de lecture optimaux', - 'Login to set': 'Connectez-vous pour définir', - 'Please login to view following feed': 'Veuillez vous connecter pour voir le fil d’abonnements', - 'Follow set': 'Follow set', - 'Follow set feed empty': - 'This NIP-51 list is empty, was not found, or relays could not load it yet.', - 'Send only to r': 'Envoyer uniquement à {{r}}', - 'Send only to these relays': 'Envoyer uniquement à ces relais', - Explore: 'Explorer', - 'Relay reviews': 'Avis sur les relais', - 'Search relays': 'Rechercher des relais', - relayInfoBadgeAuth: 'Auth', - relayInfoBadgeSearch: 'Recherche', - relayInfoBadgePayment: 'Paiement', - Operator: 'Opérateur', - Contact: 'Contact', - Software: 'Logiciel', - Version: 'Version', - 'Random Relays': 'Relais aléatoires', - randomRelaysRefresh: 'Rafraîchir', - 'Explore more': 'Explorer davantage', - 'Payment page': 'Page de paiement', - 'Supported NIPs': 'NIPs supportés', - 'Relay liveliness (NIP-66)': 'Relay liveliness (NIP-66)', - 'Relay monitor (NIP-66)': 'Relay monitor (NIP-66)', - 'Auth required': 'Auth required', - 'Public (no auth)': 'Public (no auth)', - 'Payment required': 'Payment required', - 'No payment': 'No payment', - 'Writes required': 'Writes required', - 'Writes open': 'Writes open', - 'PoW required': 'PoW required', - 'No PoW': 'No PoW', - 'RTT open': 'RTT open', - 'RTT read': 'RTT read', - 'RTT write': 'RTT write', - 'Supported NIPs (from monitor)': 'Supported NIPs (from monitor)', - 'Last reported by monitor': 'Last reported by monitor', - Network: 'Network', - Type: 'Type', - Topics: 'Topics', - 'Open in a': 'Ouvrir dans {{a}}', - 'Cannot handle event of kind k': "Impossible de traiter l'événement de type {{k}}", - 'Unsupported event preview': - 'There isn’t a dedicated card for this event type yet. Here’s a readable preview.', - 'No text content in event': 'No text in this event.', - 'Technical details': 'Technical details', - 'Event kind and time': 'Kind {{kind}} · {{time}}', - 'Event kind label': 'Kind {{kind}}', - 'Note kind label line': 'KIND: {{kind}} · {{description}}', - 'Unknown note declared kind tag': 'Tagged kind: {{value}}', - 'Unknown note tagged pubkey': 'Tagged pubkey', - 'Unknown note tagged content': 'Content', - 'Unknown note reference tags': 'Reference tags (e, p, q, a)', - 'Starred spells': 'Starred spells', - 'Spell star add title': 'Star spell (adds to your Nostr bookmarks)', - 'Spell star remove title': 'Unstar spell (removes from your Nostr bookmarks)', - 'Copy JSON': 'Copy JSON', - Verse: 'Verse', - 'Notification reaction summary': 'reacted to this note.', - 'Notification discussion upvote summary': 'upvoted in this discussion.', - 'Notification discussion downvote summary': 'downvoted in this discussion.', - 'Notification boost summary': 'Boosted this note', - 'Notification boost detail': 'The preview above is the original post.', - 'Notification poll vote summary': 'Voted on the poll above.', - 'Notification poll vote options count': '{{count}} option(s) selected', - 'Imwald synthetic event': 'Imwald synthetic event', - '+ Add a URL to this list': 'Add a URL to this list', - 'Add a web URL': 'Add a web URL', - 'Add web URL to feed description': - 'Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.', - 'Add to feed': 'Add to feed', - 'Open any https page in the side panel to reply, react, and discuss on Nostr.': - 'Open any https page in the side panel to reply, react, and discuss on Nostr.', - 'Enter a valid http(s) URL': 'Enter a valid http(s) URL', - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.': - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.', - 'Open in browser': 'Open in browser', - 'Web page': 'Web page', - Open: 'Open', - 'Sorry! The note cannot be found 😔': 'Désolé ! La note est introuvable 😔', - 'This user has been muted': 'Cet utilisateur a été mis en sourdine', - Wallet: 'Portefeuille', - Sats: 'Sats', - sats: 'sats', - 'Zap to': 'Zap vers', - 'Zap n sats': 'Zap {{n}} sats', - zapComment: 'Commentaire', - 'Default zap amount': 'Montant de zap par défaut', - 'Default zap comment': 'Commentaire de zap par défaut', - 'Lightning Address (or LNURL)': 'Adresse Lightning (ou LNURL)', - 'Quick zap': 'Zap rapide', - 'If enabled, you can zap with a single click. Click and hold for custom amounts': - 'Si activé, vous pouvez zap avec un seul clic. Cliquez et maintenez pour des montants personnalisés', - All: 'Tous', - Reactions: 'Réactions', - Zaps: 'Zaps', - Boosts: 'Boosts', - Badges: 'Badges', - Reports: 'Reports', - 'Enjoying Imwald?': 'Vous appréciez Imwald ?', - 'Your donation helps me maintain Imwald and make it better! 😊': - "Votre don m'aide à maintenir Imwald et à l'améliorer ! 😊", - 'Earlier notifications': 'Notifications antérieures', - 'Temporarily display this note': 'Afficher temporairement cette note', - buttonFollowing: 'Suivi', - 'Are you sure you want to unfollow this user?': - 'Êtes-vous sûr de vouloir arrêter de suivre cet utilisateur ?', - 'Recent Supporters': 'Derniers soutiens', - 'Seen on': 'Vu sur', - 'Temporarily display this reply': 'Afficher temporairement cette réponse', - 'Note not found': 'Note introuvable', - 'Invalid embedded note reference': 'Invalid embedded note reference', - embeddedNoteInvalidEmpty: 'This embedded link is empty.', - embeddedNoteInvalidHex: - 'This is not a valid hex event id (expected exactly 64 hexadecimal characters).', - embeddedNoteInvalidBech32: - 'This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.', - embeddedNoteInvalidWrongKind: - 'This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.', - 'The note was not found on your relays or default relays.': - 'The note was not found on your relays or default relays.', + "or simply generate a private key": "ou générez simplement une clé privée", + "This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.": "Ceci est une clé privée. Ne la divulguez à personne. Gardez-la en sécurité. Vous ne pourrez pas la récupérer en cas de perte.", + Edit: "Modifier", + Save: "Enregistrer", + "Display Name": "Nom d'affichage", + Bio: "Biographie", + "Nostr Address (NIP-05)": "Adresse Nostr (NIP-05)", + "Invalid NIP-05 address": "Adresse NIP-05 invalide", + "Copy private key": "Copier la clé privée", + "Enter the password to decrypt your ncryptsec": "Entrez le mot de passe pour décrypter votre ncryptsec", + Back: "Retour", + "optional: encrypt nsec": "facultatif : chiffrer nsec", + password: "mot de passe", + "Sign up": "S'inscrire", + "Save to": "Enregistrer dans", + "Enter a name for the new relay set": "Entrez un nom pour le nouveau groupe de relais", + "Save to a new relay set": "Enregistrer dans un nouveau groupe de relais", + Mute: "Couper le son", + Muted: "En sourdine", + Unmute: "Activer le son", + "Unmute user": "Désactiver la sourdine de l'utilisateur", + Block: "Block", + Unblock: "Unblock", + blocked: "blocked", + "Append n relays": "Ajouter {{n}} relais", + Append: "Ajouter", + "Select relays to append": "Sélectionnez les relais à ajouter", + "calculating...": "calcul en cours...", + "Calculate optimal read relays": "Calculer les relais de lecture optimaux", + "Login to set": "Connectez-vous pour définir", + "Please login to view following feed": "Veuillez vous connecter pour voir le fil d’abonnements", + "Follow set": "Follow set", + "Follow set feed empty": "This NIP-51 list is empty, was not found, or relays could not load it yet.", + "Send only to r": "Envoyer uniquement à {{r}}", + "Send only to these relays": "Envoyer uniquement à ces relais", + Explore: "Explorer", + "Relay reviews": "Avis sur les relais", + "Search relays": "Rechercher des relais", + relayInfoBadgeAuth: "Auth", + relayInfoBadgeSearch: "Recherche", + relayInfoBadgePayment: "Paiement", + Operator: "Opérateur", + Contact: "Contact", + Software: "Logiciel", + Version: "Version", + "Random Relays": "Relais aléatoires", + randomRelaysRefresh: "Rafraîchir", + "Explore more": "Explorer davantage", + "Payment page": "Page de paiement", + "Supported NIPs": "NIPs supportés", + "Relay liveliness (NIP-66)": "Relay liveliness (NIP-66)", + "Relay monitor (NIP-66)": "Relay monitor (NIP-66)", + "Auth required": "Auth required", + "Public (no auth)": "Public (no auth)", + "Payment required": "Payment required", + "No payment": "No payment", + "Writes required": "Writes required", + "Writes open": "Writes open", + "PoW required": "PoW required", + "No PoW": "No PoW", + "RTT open": "RTT open", + "RTT read": "RTT read", + "RTT write": "RTT write", + "Supported NIPs (from monitor)": "Supported NIPs (from monitor)", + "Last reported by monitor": "Last reported by monitor", + Network: "Network", + Type: "Type", + Topics: "Topics", + "Open in a": "Ouvrir dans {{a}}", + "Cannot handle event of kind k": "Impossible de traiter l'événement de type {{k}}", + "Unsupported event preview": "There isn’t a dedicated card for this event type yet. Here’s a readable preview.", + "No text content in event": "No text in this event.", + "Technical details": "Technical details", + "Event kind and time": "Kind {{kind}} · {{time}}", + "Event kind label": "Kind {{kind}}", + "Note kind label line": "KIND: {{kind}} · {{description}}", + "Unknown note declared kind tag": "Tagged kind: {{value}}", + "Unknown note tagged pubkey": "Tagged pubkey", + "Unknown note tagged content": "Content", + "Unknown note reference tags": "Reference tags (e, p, q, a)", + "Starred spells": "Starred spells", + "Spell star add title": "Star spell (adds to your Nostr bookmarks)", + "Spell star remove title": "Unstar spell (removes from your Nostr bookmarks)", + "Copy JSON": "Copy JSON", + Verse: "Verse", + "Notification reaction summary": "reacted to this note.", + "Notification discussion upvote summary": "upvoted in this discussion.", + "Notification discussion downvote summary": "downvoted in this discussion.", + "Notification boost summary": "Boosted this note", + "Notification boost detail": "The preview above is the original post.", + "Notification poll vote summary": "Voted on the poll above.", + "Notification poll vote options count": "{{count}} option(s) selected", + "Imwald synthetic event": "Imwald synthetic event", + "+ Add a URL to this list": "Add a URL to this list", + "Add a web URL": "Add a web URL", + "Add web URL to feed description": "Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.", + "Add to feed": "Add to feed", + "Open any https page in the side panel to reply, react, and discuss on Nostr.": "Open any https page in the side panel to reply, react, and discuss on Nostr.", + "Enter a valid http(s) URL": "Enter a valid http(s) URL", + "Opened by URL — not from your RSS list. Nostr thread is still tied to this link.": "Opened by URL — not from your RSS list. Nostr thread is still tied to this link.", + "Open in browser": "Open in browser", + "liveEvent.zapStreamPlayer": "Live stream (zap.stream)", + liveStreamEmbedSuppressed: "Inline live stream is hidden because your kind filter excludes NIP-53 streams. Open via njump or another client below.", + "liveEvent.hlsPlaybackUnavailable": "Inline playback failed (the stream may be offline, ended, or blocked). You can still open the hosted watch page below.", + "liveEvent.hideFromCarousel": "Hide from carousel", + "liveEvent.showInCarousel": "Show in carousel", + "liveEvent.hideFromCarouselTitle": "Hide this stream in the live carousel (saved in this browser on this device). Click again to show it.", + "liveEvent.showInCarouselTitle": "Show this stream in the live carousel again.", + "Web page": "Web page", + Open: "Open", + "Sorry! The note cannot be found 😔": "Désolé ! La note est introuvable 😔", + "This user has been muted": "Cet utilisateur a été mis en sourdine", + Wallet: "Portefeuille", + Sats: "Sats", + sats: "sats", + "Zap to": "Zap vers", + "Zap n sats": "Zap {{n}} sats", + zapComment: "Commentaire", + "Default zap amount": "Montant de zap par défaut", + "Default zap comment": "Commentaire de zap par défaut", + "Lightning Address (or LNURL)": "Adresse Lightning (ou LNURL)", + "Quick zap": "Zap rapide", + "If enabled, you can zap with a single click. Click and hold for custom amounts": "Si activé, vous pouvez zap avec un seul clic. Cliquez et maintenez pour des montants personnalisés", + All: "Tous", + Reactions: "Réactions", + Zaps: "Zaps", + Boosts: "Boosts", + Badges: "Badges", + Reports: "Reports", + "Enjoying Imwald?": "Vous appréciez Imwald ?", + "Your donation helps me maintain Imwald and make it better! 😊": "Votre don m'aide à maintenir Imwald et à l'améliorer ! 😊", + "Earlier notifications": "Notifications antérieures", + "Temporarily display this note": "Afficher temporairement cette note", + buttonFollowing: "Suivi", + "Are you sure you want to unfollow this user?": "Êtes-vous sûr de vouloir arrêter de suivre cet utilisateur ?", + "Recent Supporters": "Derniers soutiens", + "Seen on": "Vu sur", + "Active relays": "Active relays", + "Not connected": "Not connected", + "Relay session striked": "Skipped this session (too many connection failures)", + "More relays": "+{{count}} relays", + "Temporarily display this reply": "Afficher temporairement cette réponse", + "Note not found": "Note introuvable", + "Invalid embedded note reference": "Invalid embedded note reference", + embeddedNoteInvalidEmpty: "This embedded link is empty.", + embeddedNoteInvalidHex: "This is not a valid hex event id (expected exactly 64 hexadecimal characters).", + embeddedNoteInvalidBech32: "This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.", + embeddedNoteInvalidWrongKind: "This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.", + "The note was not found on your relays or default relays.": "The note was not found on your relays or default relays.", "Try searching author's relays": "Try searching author's relays", - 'Searching external relays...': 'Searching external relays...', - "This will connect to the author's relays and relay hints": - "This will connect to the author's relays and relay hints", - 'Note could not be found anywhere': 'Note could not be found anywhere', - 'Try external relays': 'Try external relays', - 'Searching...': 'Searching...', - 'Show relays': 'Show relays', - 'No external relay hints available': 'No external relay hints available', - 'External relay search is not available for this link type': - 'External relay search is not available for this link type.', - 'Searched external relays not found': - 'Searched {{count}} external relays; the note was still not found.', - 'no more replies': 'aucune autre réponse', - 'Relay sets': 'Groupes de relais', - 'Search for Relays': 'Search for Relays', - 'Using app default relays': 'Using app default relays', + "Searching external relays...": "Searching external relays...", + "This will connect to the author's relays and relay hints": "This will connect to the author's relays and relay hints", + "Note could not be found anywhere": "Note could not be found anywhere", + "Try external relays": "Try external relays", + "Searching...": "Searching...", + "Show relays": "Show relays", + "No external relay hints available": "No external relay hints available", + "External relay search is not available for this link type": "External relay search is not available for this link type.", + "Searched external relays not found": "Searched {{count}} external relays; the note was still not found.", + "no more replies": "aucune autre réponse", + "Relay sets": "Groupes de relais", + "Search for Relays": "Search for Relays", + "Using app default relays": "Using app default relays", "Following's Favorites": "Following's Favorites", - 'no more relays': 'aucun autre relais', - 'Favorited by': 'Favorisé par', - 'Post settings': 'Paramètres de publication', - 'Publishing feedback': 'Publishing feedback', - 'Publish success toasts': 'Publish success toasts', - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.': - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.', - 'Publish successful': 'Publish successful', - 'Media upload service': 'Service de téléchargement de médias', - 'Choose a relay': 'Choisir un relais', - 'no relays found': 'aucun relais trouvé', - video: 'vidéo', - 'Show n new notes': 'Afficher {{n}} nouvelles notes', - YouTabName: 'Vous', - Bookmark: 'Favori', - 'Remove bookmark': 'Retirer le favori', - 'no bookmarks found': 'Aucun favori trouvé', - 'no more bookmarks': 'Plus de favoris', - Bookmarks: 'Favoris', - 'Follow Packs': 'Follow Packs', - 'Follow Pack': 'Follow Pack', - 'Follow pack by': 'by', - 'In Follow Packs': 'Dans les Follow Packs', - 'Badge details': 'Badge details', - 'Issued by': 'Issued by', - 'Other recipients': 'Other recipients', - 'No other recipients found': 'No other recipients found', - 'Recipients could not be loaded': 'Recipients could not be loaded', - 'View award': 'View award', - 'Awarded on': 'Awarded on', - 'Please log in to follow': 'Please log in to follow', - 'Following All': 'Following All', - 'Followed {{count}} users': 'Followed {{count}} users', - 'All available members are already followed or muted': - 'All available members are already followed or muted', - 'You are already following all members of this pack': - 'You are already following all members of this pack', - 'Failed to follow pack': 'Failed to follow pack', - '{{count}} profiles': '{{count}} profiles', - 'Show more': 'Afficher plus', - General: 'Général', - Autoplay: 'Lecture automatique', - 'Enable video autoplay on this device': - 'Activer la lecture automatique des vidéos sur cet appareil', - 'liveActivities.heading': 'Live now', - 'liveActivities.regionLabel': 'Live spaces and streams', - 'liveActivities.fromFollow': 'From someone you follow', - 'liveActivities.goToSlide': 'Show live item {{n}}', - 'liveActivities.settingsToggle': 'Live activities banner', - 'liveActivities.settingsHint': - 'Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.', - 'Add random relays to every publish': 'Random relays in publish list', - 'Add random relays to every publish description': - 'Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.', - relayType_local: 'Local', - relayType_relay_list: 'Relay list', - relayType_http_relay_list: 'HTTP', - 'HTTP relays': 'HTTP relays', - httpRelaysDescription: - 'HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.', - 'HTTP relays saved': 'HTTP relays saved', - 'Failed to save HTTP relay list': 'Failed to save HTTP relay list', - 'HTTP relays must start with https:// or http://': - 'HTTP relays must start with https:// or http://', - relayType_client_default: 'Client default', - relayType_open_from: 'Current feed', - relayType_favorite: 'Favorite', - relayType_relay_set: 'Relay set', - relayType_contextual: 'Reply/PM', - relayType_randomly_selected: 'Random (optional)', - 'Session relays': 'Session relays', - 'Session relays tab description': - 'Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish).', - 'Session relays preset working': 'Working preset relays', - 'Session relays preset working hint': - 'Preset relays (from app defaults) that have not reached 3 publish failures this session.', - 'Session relays preset striked': 'Striked preset relays', - 'Session relays preset striked hint': - 'Preset relays that have reached 3 publish failures this session and are skipped for the rest of the session.', - 'Session relays scored random': 'Scored random relays', - 'Session relays scored random hint': - 'Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.', - 'Session relays all striked': 'All striked relays (any source)', - 'Session relays clear strike': 'Allow again', - 'Session relays clear strike hint': - 'Remove this relay from the session block list; it will be used again until new connection failures.', - successes: 'successes', - None: 'None', - 'Cache & offline storage': 'Cache & offline storage', - feedStarting: 'Starting feeds and relays… This can take a few seconds after login.', - refreshCacheButtonExplainer: - 'Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.', - 'eventArchive.sectionTitle': 'Notes & feed archive', - 'eventArchive.sectionBlurb': - 'Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.', - 'eventArchive.defaultsMobile': - 'This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).', - 'eventArchive.defaultsElectron': - 'Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.defaultsDesktopWeb': - 'Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.enablePersist': 'Persist feed events to disk', - 'eventArchive.maxMb': 'Max archive size (MB), blank = default for this device', - 'eventArchive.maxEvents': 'Max archived events, blank = default', - 'eventArchive.sessionLru': 'In-memory session cache (event count), blank = default', - 'eventArchive.effectiveSummary': - 'Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.', - 'eventArchive.on': 'on', - 'eventArchive.off': 'off', - 'eventArchive.apply': 'Apply cache settings', - 'eventArchive.appliedToast': 'Cache settings saved. Session memory updated.', - 'Paste or drop media files to upload': - 'Coller ou déposer des fichiers multimédias à télécharger', - Preview: 'Aperçu', - 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'Vous êtes sur le point de publier un événement signé par [{{eventAuthorName}}]. Vous êtes actuellement connecté en tant que [{{currentUsername}}]. Êtes-vous sûr ?', - 'Platinum Sponsors': 'Sponsors Platine', - From: 'De', - 'Comment on': 'Commenter sur', - 'View on njump.me': 'Voir sur njump.me', - 'Hide content from untrusted users': 'Hider le contenu des utilisateurs non fiables', - 'Only show content from your followed users and the users they follow': - 'Afficher uniquement le contenu de vos utilisateurs suivis et des utilisateurs qu’ils suivent', - 'Followed by': 'Suivi par', - 'Mute user privately': 'Mettre l’utilisateur en sourdine en privé', - 'Mute user publicly': 'Mettre l’utilisateur en sourdine publiquement', - Quotes: 'Citations', - 'Lightning Invoice': 'Facture Lightning', - 'Bookmark failed': 'Échec de la mise en favori', - 'Remove bookmark failed': 'Échec de la suppression du favori', - Translation: 'Traduction', - Balance: 'Solde', - characters: 'caractères', - translateApiKeyDescription: - 'Vous pouvez utiliser cette clé API ailleurs qui prend en charge LibreTranslate. L’URL du service est {{serviceUrl}}', - 'Top up': 'Recharger', - 'Will receive: {n} characters': 'Vous recevrez : {{n}} caractères', - 'Top up {n} sats': 'Recharger {{n}} sats', - 'Minimum top up is {n} sats': 'Le rechargement minimum est de {{n}} sats', - Service: 'Service', - 'Reset API key': 'Réinitialiser la clé API', - 'Are you sure you want to reset your API key? This action cannot be undone.': - 'Êtes-vous sûr de vouloir réinitialiser votre clé API ? Cette action ne peut pas être annulée.', - Warning: 'Avertissement', - 'Errors & warnings': 'Errors & warnings', - 'Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.': - 'Votre clé API actuelle deviendra immédiatement invalide, et toutes les applications qui l’utilisent cesseront de fonctionner jusqu’à ce que vous les mettiez à jour avec la nouvelle clé.', - 'Service address': 'Adresse du service', - Pay: 'Payer', - interactions: 'interactions', - notifications: 'notifications', - notificationsViewAsAccount: 'View as', - notificationsViewAsAccountAria: - 'Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.', - notificationsSwitchAccountFailed: - 'Could not switch account. Check your signer, password, or extension and try again.', - 'Show untrusted {type}': 'Afficher les {{type}} non fiables', - 'Hide untrusted {type}': 'Cacher les {{type}} non fiables', - 'Currently hiding {type} from untrusted users.': - 'Actuellement, les {{type}} des utilisateurs non fiables sont masquées.', - 'Currently showing all {type}.': 'Actuellement, tous les {{type}} sont affichés.', - 'Click continue to show all {type}.': 'Cliquez sur continuer pour afficher tous les {{type}}.', - 'Click continue to hide {type} from untrusted users.': - 'Cliquez sur continuer pour masquer les {{type}} des utilisateurs non fiables.', - 'Trusted users include people you follow and people they follow.': - 'Les utilisateurs de confiance incluent les personnes que vous suivez et les personnes qu’elles suivent.', - Continue: 'Continuer', - 'Successfully updated mute list': 'Liste de sourdine mise à jour avec succès', - 'No pubkeys found from {url}': 'Aucun pubkey trouvé à partir de {{url}}', - 'Translating...': 'Traduction en cours...', - Translate: 'Traduire', - 'Show original': 'Afficher l’original', - Website: 'Site Web', - 'Hide untrusted notes': 'Cacher les notes non fiables', - 'Open in another client': 'Ouvrir dans un autre client', - Community: 'Communauté', - Group: 'Groupe', - 'Live event': 'Événement en direct', - Article: 'Article', - Unfavorite: 'Ne plus aimer', - 'Recommended relays': 'Relais recommandés', - 'Show recommended relays panel': 'Show recommended relays panel', - 'Display the right-side panel with recommended relays on desktop': - 'Display the right-side panel with recommended relays on desktop', - 'Blossom server URLs': 'URLs du serveur Blossom', - 'You need to add at least one blossom server in order to upload media files.': - 'Vous devez ajouter au moins un serveur Blossom pour pouvoir télécharger des fichiers multimédias.', - 'Recommended blossom servers': 'Serveurs Blossom recommandés', - 'Enter Blossom server URL': 'Entrer l’URL du serveur Blossom', - Preferred: 'Préféré', - 'Multiple choice (select one or more)': 'Choix multiple (sélectionnez un ou plusieurs)', - Vote: 'Voter', - '{{number}} votes': '{{number}} votes', - 'Total votes': 'Total des votes', - 'Poll has ended': 'Le sondage est terminé', - 'Poll ends at {{time}}': 'Le sondage se termine le {{time}}', - 'Load results': 'Charger les résultats', - 'This is a poll note.': 'Ceci est une note de sondage.', - 'Unlike regular notes, polls are not widely supported and may not display on other clients.': - "Contrairement aux notes régulières, les sondages ne sont pas largement pris en charge et peuvent ne pas s'afficher sur d'autres clients.", - 'Option {{number}}': 'Option {{number}}', - 'Add Option': 'Ajouter une option', - 'Allow multiple choices': 'Autoriser les choix multiples', - 'End Date (optional)': 'Date de fin (optionnel)', - 'Clear end date': 'Effacer la date de fin', - 'Relay URLs (optional, comma-separated)': - 'URLs de relais (optionnel, séparées par des virgules)', - 'Remove poll': 'Supprimer le sondage', - 'Refresh results': 'Rafraîchir les résultats', - '{{votes}} · {{pct}}%': '{{votes}} · {{pct}}%', - 'See results': 'See results', - 'Zap poll (paid votes)': 'Zap poll (paid votes)', - 'Invalid zap poll': 'Invalid zap poll', - 'You voted on this poll (zap receipt)': 'You voted on this poll (zap receipt)', - 'Poll closed {{time}}': 'Poll closed {{time}}', - 'Closes {{time}}': 'Closes {{time}}', - 'Vote size': 'Vote size', - '{{n}} sats (fixed)': '{{n}} sats (fixed)', - '{{min}}–{{max}} sats': '{{min}}–{{max}} sats', - '≥ {{n}} sats': '≥ {{n}} sats', - '≤ {{n}} sats': '≤ {{n}} sats', - 'Loading tally…': 'Loading tally…', - 'Zap poll no votes yet': - 'No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).', - 'Consensus threshold': 'Consensus threshold', - 'Pay to': 'Pay to', - Recipient: 'Recipient', - Option: 'Option', - 'Select option': 'Select option', - 'Select an option': 'Select an option', - 'Vote with zap': 'Vote with zap', - 'Zap sent': 'Zap sent', - 'Zapping…': 'Zapping…', - 'Refresh tally': 'Refresh tally', - '{{n}} zaps': '{{n}} zaps', - Poll: 'Sondage', - Media: 'média', - 'Articles and Publications': 'Articles and Publications', - 'Search articles...': 'Search articles...', - 'Refreshing articles...': 'Refreshing articles...', - 'No articles or publications found': 'No articles or publications found', - 'No articles or publications match your search': - 'No articles or publications match your search', - 'articles and publications': 'articles and publications', - Interests: 'Interests', - Calendar: 'Calendar', - 'No subscribed interests yet.': - 'No subscribed interests yet. Add topics in settings to see them here.', - 'No bookmarked notes with id tags yet.': - 'No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.', - 'No follows or relays to load yet.': 'No follows or relays to load yet.', - 'Nothing to load for this feed.': 'Nothing to load for this feed.', - 'No posts loaded for this feed. Try refreshing.': - 'No posts loaded for this feed. Try refreshing.', - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.': - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.', - 'Per-relay timeline results ({{count}} connections)': - 'Per-relay timeline results ({{count}} connections)', - 'Republish to ...': 'Reposter vers ...', - 'All available relays': 'All available relays', - 'All active relays (monitoring list)': 'All active relays (monitoring list)', - 'Successfully republish to all available relays': - 'Successfully republish to all available relays', - 'Failed to republish to all available relays: {{error}}': - 'Failed to republish to all available relays: {{error}}', - 'Successfully republish to all active relays': 'Successfully republish to all active relays', - 'Failed to republish to all active relays: {{error}}': - 'Failed to republish to all active relays: {{error}}', - 'No active relays in monitoring list': 'No active relays in monitoring list', - 'No relay accepted the event': 'No relay accepted the event', - 'No relays available': 'No relays available', - 'No write relays configured': 'No write relays configured', - 'Relay did not accept the event': 'Relay did not accept the event', - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".': - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".', - 'Successfully republish to your write relays': - 'Republié avec succès vers vos relais d’écriture', - 'Failed to republish to your write relays: {{error}}': - 'Échec du republishing vers vos relais d’écriture : {{error}}', - 'Successfully republish to relay set: {{name}}': - 'Republié avec succès vers le groupe de relais : {{name}}', - 'Failed to republish to relay set: {{name}}. Error: {{error}}': - 'Échec du republishing vers le groupe de relais : {{name}}. Erreur : {{error}}', - 'Successfully republish to relay: {{url}}': 'Republié avec succès vers le relais : {{url}}', - 'Failed to republish to relay: {{url}}. Error: {{error}}': - 'Échec du republishing vers le relais : {{url}}. Erreur : {{error}}', - 'Write relays': 'Relais d’écriture', - 'No more reactions': 'Plus de réactions', - 'No reactions yet': 'Pas encore de réactions', - 'No more zaps': 'Plus de zaps', - 'No zaps yet': 'Pas encore de zaps', - 'No more boosts': 'Plus de boosts', - 'No boosts yet': 'Pas encore de boosts', - 'n more boosts': '{{count}} more boosts', - FollowListNotFoundConfirmation: - 'Liste de suivi non trouvée. Voulez-vous en créer une nouvelle ? Si vous avez suivi des utilisateurs auparavant, veuillez NE PAS confirmer car cette opération vous fera perdre votre liste de suivi précédente.', - MuteListNotFoundConfirmation: - 'Liste de mise en sourdine non trouvée. Voulez-vous en créer une nouvelle ? Si vous avez mis en sourdine des utilisateurs auparavant, veuillez NE PAS confirmer car cette opération vous fera perdre votre liste de mise en sourdine précédente.', - 'Show NSFW content by default': 'Afficher le contenu NSFW par défaut', - 'Custom emoji management': 'Gestion des émojis personnalisés', - 'After changing emojis, you may need to refresh the page': - 'Après avoir modifié les émojis, vous devrez peut-être actualiser la page', - 'Too many read relays': 'Trop de relais de lecture', - 'Too many write relays': "Trop de relais d'écriture", - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.': - "Vous avez {{count}} relais de lecture. La plupart des clients n'utilisent que 2 à 4 relais, en configurer plus est inutile.", - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.': - "Vous avez {{count}} relais d'écriture. La plupart des clients n'utilisent que 2 à 4 relais, en configurer plus est inutile.", - 'Optimize Relay Settings': 'Optimiser les paramètres de relais', - 'Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.': - 'Votre configuration de relais actuelle pourrait ne pas être optimale. Cela pourrait rendre difficile pour les autres de trouver vos publications et pourrait entraîner des notifications incomplètes.', - 'Optimize Now': 'Optimiser maintenant', - 'Maybe Later': 'Peut-être plus tard', - "Don't remind me again": 'Ne plus me rappeler', - Posts: 'Publications', - 'Posts (OPs)': 'Posts (OPs)', - 'Kind 1 replies': 'Kind 1 replies', - Comments: 'Comments', - 'Replies & comments': 'Replies & comments', - Articles: 'Articles', - Highlights: 'Surlignages', - 'A note from': 'A note from', - Polls: 'Sondages', - 'Zap polls': 'Zap polls', - 'Voice Posts': 'Publications vocales', - 'Photo Posts': 'Publications photo', - 'Video Posts': 'Publications vidéo', - 'Git repositories': 'Git repositories', - 'Git issues': 'Git issues', - 'Git releases': 'Git releases', - 'Git Republic repository': 'Git Republic repository', - 'Git Republic issue': 'Git Republic issue', - 'Git Republic release': 'Git Republic release', - 'Git Republic event': 'Git Republic event', - 'Git Republic': 'Git Republic', - 'Open in Git Republic': 'Open in Git Republic', - 'Pre-release': 'Pre-release', - Draft: 'Draft', - 'Repository release': 'Repository release', - 'New Repository Release': 'New Repository Release', - 'Release notes use the editor below (optional).': - 'Release notes use the editor below (optional).', - 'Repository owner (npub or hex)': 'Repository owner (npub or hex)', - 'Repository id (d-tag)': 'Repository id (d-tag)', - 'Git tag name': 'Git tag name', - 'Tag target (40-char commit hash)': 'Tag target (40-character commit hash)', - '40-character hex SHA-1': '40-character hex SHA-1', - 'Release title': 'Release title', - 'Download URL': 'Download URL', - 'Draft release': 'Draft release', - 'Fill repository release fields': 'Fill in all required repository release fields.', - 'Invalid repository owner pubkey': 'Invalid repository owner (use npub or 64-char hex).', - 'Citations require private relays (NIP-65).': - 'Citations require private outbox relays (NIP-65).', - 'Select All': 'Tout sélectionner', - 'Clear All': 'Tout effacer', - 'Set as default filter': 'Définir comme filtre par défaut', - 'Use filter': 'Use filter', - 'See all events': 'See all events', - 'See all events hint': - 'Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.', - 'Use filter hint': 'Only the kinds you select below are requested and shown.', - Apply: 'Appliquer', - Reset: 'Réinitialiser', - 'Share something on this Relay': 'Partager quelque chose sur ce relais', - 'Try deleting this note': 'Essayez de supprimer cette note', - 'Deletion request sent to {{count}} relays': - 'Demande de suppression envoyée à {{count}} relais', - 'Suitable Relays': 'Relais adaptés', - 'People, keywords, or relays': 'Personnes, mots-clés ou relais', - 'Hide content mentioning muted users': - 'Masquer le contenu mentionnant des utilisateurs masqués', - 'This note mentions a user you muted': - 'Cette note mentionne un utilisateur que vous avez masqué', - Filter: 'Filtre', - 'Feed filter': 'Feed filter', - 'Search loaded posts': 'Search loaded posts', - 'Filter loaded posts placeholder': 'Filter by text in content or tags…', - 'Feed filter author': 'Author', - 'Feed filter author everyone': 'From everyone', - 'Feed filter author me': 'Only from me', - 'Feed filter author npub': 'From user (npub or hex)', - 'Feed filter author npub from prefix': 'from:', - 'Feed filter author npub placeholder': 'npub1… or 64-char hex', - 'Feed filter author me needs login': 'Log in to filter by your pubkey', - 'Within the last': 'Within the last', - 'Time unit': 'Time unit', - Minutes: 'Minutes', - Days: 'Days', - Weeks: 'Weeks', - Months: 'Months', - Years: 'Years', - 'Feed filter client-side hint': - 'Filters only apply to posts already loaded; relays are not queried again.', - 'Feed full search': 'Perform full search', - 'Feed full search running': 'Searching…', - 'Feed full search clear': 'Clear', - 'Feed full search active hint': - 'Showing relay search results. Clear to return to the live feed.', - 'Feed full search need constraint': - 'Add search text, an author filter, or a time range before searching relays.', - 'Feed full search invalid feed': 'This feed cannot run a relay search.', - 'Feed full search failed': 'Relay search failed. Try again.', - 'Feed full search empty': 'No matching posts were found on the queried relays.', - 'No loaded posts match your filters.': 'No loaded posts match your filters.', - 'mentioned you in a note': 'vous a mentionné dans une note', - 'quoted your note': 'a cité votre note', - 'quoted this note': 'Quoted this note', - 'highlighted this note': 'Highlighted this note', - 'cited in article': 'Cited in article', - 'Thread backlinks heading': 'Also quoting this note', - 'Thread backlinks primary section': 'Quotes, highlights & citations', - 'Thread backlinks bookmarks section': 'Bookmarks', - 'Thread backlinks lists section': 'Lists & collections', - 'View full note and thread': 'View full note and thread', - 'labeled this note': 'Labeled this note', - 'reported this note': 'Reported this note', - 'bookmarked this note': 'Bookmarked this note', - 'pinned this note': 'Pinned this note', - 'listed this note': 'Listed this note', - 'bookmark set reference': 'Bookmark set includes this note', - 'curated this note': 'Curated this note', - 'badge award for this note': 'Badge award for this note', - 'referenced this note': 'Referenced this note', - 'Report events heading': 'Moderation reports', - 'voted in your poll': 'a voté dans votre sondage', - 'reacted to your note': 'a réagi à votre note', - 'boosted your note': 'a boosté votre note', - 'zapped your note': 'a zappé votre note', - 'zapped you': 'vous a zappé', - zapped: 'zapped', - 'Invalid zap receipt': 'Invalid zap receipt', - 'Zapped note': 'Zapped note', - 'Zapped profile': 'Zapped profile', - 'Zap reply threshold': 'Zap reply threshold', - 'Zaps above this amount will appear as replies in threads': - 'Zaps above this amount will appear as replies in threads', - 'Mark as read': 'Marquer comme lu', - Report: 'Signaler', - 'Successfully report': 'Signalement réussi', - 'Failed to report': 'Échec du signalement', - nudity: 'Nudité', - malware: 'Logiciel malveillant', - profanity: 'Blasphème', - illegal: 'Contenu illégal', - spam: 'Spam', - other: 'Autre', - 'Notification list style': 'Style de liste de notifications', - 'See extra info for each notification': - 'Voir des infos supplémentaires pour chaque notification', - 'See more notifications at a glance': "Voir plus de notifications en un coup d'œil", - Detailed: 'Détaillé', - 'Submit Relay': 'Soumettre un relais', - Homepage: 'Page d’accueil', - 'Proof of Work (difficulty {{minPow}})': 'Preuve de travail (difficulté {{minPow}})', - 'via {{client}}': 'via {{client}}', - 'Auto-load media': 'Auto-chargement des médias', - Always: 'Toujours', - 'Wi-Fi only': 'Wi-Fi uniquement', - Never: 'Jamais', - 'Click to load image': 'Cliquez pour charger l’image', - 'Click to load media': 'Cliquez pour charger les médias', - 'Click to load YouTube video': 'Cliquez pour charger la vidéo YouTube', - '{{count}} reviews': '{{count}} avis', - 'Write a review': 'Écrire un avis', - 'No reviews yet. Be the first to write one!': - 'Pas encore d’avis. Soyez le premier à en écrire un !', - 'View more reviews': 'Voir plus d’avis', - 'Failed to review': 'Échec de l’avis', - 'Write a review and pick a star rating': 'Écrivez un avis et choisissez une note en étoiles', - Submit: 'Soumettre', - 'Reviews for {{relay}}': 'Avis pour {{relay}}', - 'No relays selected': 'Aucun relais sélectionné', - 'Post to': 'Publier sur', - 'Write relays and {{count}} other relays': 'Relais d’écriture et {{count}} autres relais', - '{{count}} relays': '{{count}} relais', - 'Republishing...': 'Republication en cours...', - 'Trending Notes': 'Notes tendance', - 'Trending on Your Favorite Relays': 'Trending on Your Favorite Relays', - 'Trending on the Default Relays': 'Trending on the Default Relays', - 'Latest from your follows': 'Latest from your follows', - 'Latest from our recommended follows': 'Latest from our recommended follows', - 'Follows latest page title': 'Latest from follows', - 'Follows latest page description': - 'Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.', - 'Follows latest nav label': 'Follows latest', - 'Loading follow list…': 'Loading follow list…', - 'Could not load recommended follows': 'Could not load recommended follows', - 'Your follow list is empty': 'Your follow list is empty', - 'Loading recent posts from follows…': 'Loading recent posts from follows…', - 'Loading more…': 'Loading more…', - 'No recent posts from this user in the current fetch': - 'No recent posts from this user in the current fetch', - 'Loading trending notes from your relays...': 'Loading trending notes from your relays...', - Sort: 'Sort', - newest: 'newest', - oldest: 'oldest', - 'most popular': 'most popular', - 'least popular': 'least popular', - 'Connected to': 'Connecté à', - 'Disconnect Wallet': 'Déconnecter le portefeuille', - 'Are you absolutely sure?': 'Êtes-vous absolument sûr ?', - 'You will not be able to send zaps to others.': - 'Vous ne pourrez plus envoyer de zaps aux autres.', - Disconnect: 'Déconnecter', - 'Set up your wallet to send and receive sats!': - 'Configurez votre portefeuille pour envoyer et recevoir des sats !', - 'Set up': 'Configurer', - 'nested events': 'nested events', - 'Loading RSS feeds...': 'Loading RSS feeds...', - 'No RSS feed items available': 'No RSS feed items available', - 'Show or hide the RSS page and sidebar entry': 'Show or hide the RSS page and sidebar entry', - 'Refreshing feeds...': 'Refreshing feeds...', - 'All feeds': 'All feeds', - 'All time': 'All time', - 'Last hour': 'Last hour', - 'Last day': 'Last day', - 'Last week': 'Last week', - 'Last month': 'Last month', - 'Last 24 hours': 'Last 24 hours', - 'Last 48 hours': 'Last 48 hours', - 'Time range': 'Time range', - 'Filter by RSS source': 'Filter by RSS source', - 'No items match your filters': 'No items match your filters', - 'Search...': 'Search...', - '{{count}} feeds': '{{count}} feeds', - 'Toggle filters': 'Toggle filters', - 'Showing {{filtered}} of {{total}} items': 'Showing {{filtered}} of {{total}} items', - Full: 'Full', - Compact: 'Compact', - Expand: 'Expand', - 'help.title': 'Help', - 'help.tabShortcuts': 'Keyboard shortcuts', - 'help.tabOverview': 'App overview', - 'shortcuts.title': 'Keyboard shortcuts', - 'shortcuts.intro': - 'Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.', - 'shortcuts.sectionApp': 'This app', - 'shortcuts.sectionSearch': 'Search bar', - 'shortcuts.sectionStandard': 'Standard', - 'shortcuts.openHelp': 'Show this help', - 'shortcuts.or': 'or', - 'shortcuts.then': 'then', - 'shortcuts.focusPrimary': - 'Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)', - 'shortcuts.focusSecondary': - 'Focus side panel scroll when it is open (desktop; same keys to scroll)', - 'shortcuts.newNote': 'New note / post (after login if needed)', - 'shortcuts.searchSuggest': 'Move through suggestions', - 'shortcuts.searchDismiss': 'Close search dropdown', - 'shortcuts.tabNavigate': 'Move focus to the next or previous control', - 'shortcuts.activate': 'Activate buttons and many controls', - 'shortcuts.closeOverlays': 'Close dialogs, menus, and the search dropdown', - 'shortcuts.scrollWhenFocused': 'Scroll the focused scrollable area', - 'shortcuts.browserBack': 'Browser back (history)', - 'No spells yet. Create one with the button above.': - 'No spells yet. Create one with the button above.', - 'Loading spells from your relays…': 'Loading spells from your relays…', - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.': - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.', - 'Select a spell…': 'Select a spell…', - 'Spells from follows': 'From people you follow ({{count}})', - 'Other spells': 'Other spells ({{count}})', - 'Select a spell to view its feed.': 'Select a spell to view its feed.', - 'Add another row': 'Add another row', - 'Remove this row': 'Remove this row', - 'One kind number per row (e.g. 1 for notes).': 'One kind number per row (e.g. 1 for notes).', - 'One author per row: $me, $contacts, or hex pubkey / npub.': - 'One author per row: $me, $contacts, or hex pubkey / npub.', - 'One hex event id per row.': 'One hex event id per row.', - 'One wss:// URL per row. Leave empty to use your write relays.': - 'One wss:// URL per row. Leave empty to use your write relays.', - 'One topic per row.': 'One topic per row.', - topic: 'topic', - 'Spell form fields': 'Spell form fields', - 'Counting matching events…': 'Counting matching events…', - 'Edit spell': 'Edit spell', - 'Clone spell': 'Clone spell', - 'Spell cloned': 'Spell cloned', - 'Clone spell intro': - 'This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.', - 'Spell updated': 'Spell updated', - 'Relay URL': 'Relay', - Count: 'Count', - 'Edit spell relays': 'Edit relays', - 'COUNT spell relay errors hint': - 'One or more relays failed or returned an error. You can change the relay list in the spell and save again.', - 'COUNT spell total distinct explanation': - 'Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.', - 'Leave empty to use your write relays.': 'Leave empty to use your write relays.', - 'COUNT spell result explanation': - 'Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.', - 'COUNT spell may be capped by limit': - 'This count may equal your spell limit — there could be more matching events on the network.', - 'Spell count failed. Check relays or try again.': - 'Could not complete the count. Check relays or try again.', - 'REQ returns a feed; COUNT returns a number.': - 'REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.', - listImportManualLabel: 'Pre-fill from event', - listImportFromEventHint: - 'Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.', - listImportManualPlaceholder: '64-char hex, nevent1…, or naddr1…', - listImportLoadManual: 'Apply', - listImportContentSkipped: - 'This event has non-empty content (may include encrypted private items). Only public tags were merged.', - listImportUnsupportedEmoji: - 'This list includes emoji tags (NIP-30); those are not added to the spell filter.', - listImportUnsupportedTag: - 'Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.', - listImportBadATag: 'Could not parse address tag: {{preview}}…', - listImportATagNotFound: 'Could not resolve address tag: {{preview}}…', - listImportATagFailed: 'Failed to resolve address tag: {{preview}}…', - listImportEventNotFound: 'No event found for that reference.', - 'REQ tag filters': 'REQ tag filters', - spellFormTagFiltersLabel: 'Tag filters on matching events', - spellCreateIntro: - 'Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.', - spellFormSectionQueryTitle: 'Spell query', - spellFormSectionQueryHint: - 'This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).', - spellFormSectionMetadataTitle: 'Listing & labels (optional)', - spellFormSectionMetadataBadge: 'Not part of the query', - spellFormSectionMetadataHint: - 'Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.', - spellFormCatalogTopicsLabel: 'Topic labels on this spell (t tags)', - spellTopicsMetadataHint: - 'One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).', - spellTagFiltersHint: - 'Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.', - spellTagFiltersEmpty: 'No tag filters yet. Add rows below or apply an event reference above.', - 'Tag filter letter': 'Tag letter', - 'Filter value': 'Value', - 'Add tag filter': 'Add tag filter', - spellPickerSectionYours: 'Your spells', - 'Failed to remove spell from local storage': 'Failed to remove spell from local storage', - Spells: 'Spells', - 'doublePane.secondaryEmpty': 'Open a note, profile, or settings item to show it here.', - 'doublePane.secondaryEmptyHint': 'Your feed and primary pages stay on the left.', - '(empty)': '(empty)', - '12-hour (AM/PM)': '12-hour (AM/PM)', - '24-hour': '24-hour', - 'A new version is available': 'A new version is available', - 'A short description of the article content': 'A short description of the article content', - AM: 'AM', - 'Access via': 'Access via', - 'Accessed On': 'Accessed On', - 'Accessed on': 'Accessed on', - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.': - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.', - 'Add a relay to block': 'Add a relay to block', - 'Add at least one invitee': 'Add at least one invitee', - 'Add client identifier': 'Add client identifier', - 'Add expiration tags by default': 'Add expiration tags by default', - 'Add quiet tags by default': 'Add quiet tags by default', - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above': - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above', - 'Add the source (where this text is from)': 'Add the source (where this text is from)', - 'Add to favorites': 'Add to favorites', - 'Add {{count}} Selected': 'Add {{count}} Selected', - 'Added at': 'Added at', - 'Added {{count}} relay(s)': 'Added {{count}} relay(s)', - 'Adding...': 'Adding...', - 'Adding…': 'Adding…', - 'Advanced Options': 'Advanced Options', - 'All Topics': 'All Topics', - 'All feeds from OPML file are already added': 'All feeds from OPML file are already added', - 'All items deleted successfully': 'All items deleted successfully', - 'Already blocked': 'Already blocked', - 'Already saved': 'Already saved', - 'Application Recommendations': 'Application Recommendations', - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.': - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.', - 'Are you sure you want to delete all items from this store?': - 'Are you sure you want to delete all items from this store?', - 'Are you sure you want to unmute this user? This will restore the follow button.': - 'Are you sure you want to unmute this user? This will restore the follow button.', - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", - 'Article exported as AsciiDoc': 'Article exported as AsciiDoc', - 'Article exported as Markdown': 'Article exported as Markdown', - 'Article title (optional)': 'Article title (optional)', - articleDTagDefaultHint: - 'Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….', - Audio: 'Audio', - Author: 'Author', - 'Author is required for reading groups': 'Author is required for reading groups', - 'Author name (optional)': 'Author name (optional)', - Authors: 'Authors', - 'Block Relay': 'Block Relay', - 'Blocked Relays': 'Blocked Relays', - 'Blocking...': 'Blocking...', - Blossom: 'Blossom', - Book: 'Book', - 'Brief description of the event': 'Brief description of the event', - 'Brief summary (optional)': 'Brief summary (optional)', - 'Brief summary of the article (optional)': 'Brief summary of the article (optional)', - 'Browse Cache': 'Browse Cache', - 'C-Tag': 'C-Tag', - 'Cache Relays': 'Cache Relays', - 'Cache cleared successfully': 'Cache cleared successfully', - 'Cache refreshed successfully': 'Cache refreshed successfully', - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.': - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.', - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)': - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)', - 'Cache relays saved': 'Cache relays saved', - Cancelled: 'Cancelled', - Chapter: 'Chapter', - 'Chapter Title': 'Chapter Title', - 'Chapter title (optional)': 'Chapter title (optional)', - Citation: 'Citation', - 'Citation title (optional)': 'Citation title (optional)', - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.': - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})', - 'Cleanup Duplicates': 'Cleanup Duplicates', - Clear: 'Clear', - 'Clear Cache': 'Clear Cache', - 'Clear Service Worker': 'Clear Service Worker', - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.': - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.', - 'Click update to get the latest features and improvements': - 'Click update to get the latest features and improvements', - Close: 'Close', - 'Comma or space-separated topics (will be added as t-tags)': - 'Comma or space-separated topics (will be added as t-tags)', - Command: 'Command', - Configure: 'Configure', - 'Connect Wallet': 'Connect Wallet', - 'Console Logs': 'Console Logs', - 'Console logs cleared': 'Console logs cleared', - 'Content is required': 'Content is required', - 'Content must be 5000 characters or less': 'Content must be 5000 characters or less', - Controversial: 'Controversial', - 'Copied!': 'Copied!', - 'Copy to clipboard': 'Copy to clipboard', - 'Create Article': 'Create Article', - 'Create Citation': 'Create Citation', - 'Create Highlight': 'Create Highlight', - 'Create New Thread': 'Create New Thread', - 'Create Poll': 'Create Poll', - 'Create Thread': 'Create Thread', - composeModeKind1: 'Short note (kind 1) — turn off other compose types', - 'Create a Spell': 'Create a Spell', - 'Creating...': 'Creating...', - 'D-Tag': 'D-Tag', - 'D-Tag is required for articles': 'D-Tag is required for articles', - DOI: 'DOI', - 'Date-based (all-day)': 'Date-based (all-day)', - 'Default expiration (months)': 'Default expiration (months)', - 'Default quiet period (days)': 'Default quiet period (days)', - 'Delete All': 'Delete All', - 'Delete item': 'Delete item', - 'Deleted {{count}} event(s)': 'Deleted {{count}} event(s)', - 'Deletion request sent': 'Deletion request sent', - 'Description (content)': 'Description (content)', - 'Digital Object Identifier (optional)': 'Digital Object Identifier (optional)', - 'Disable word wrap': 'Disable word wrap', - 'Discovered Relays': 'Discovered Relays', - 'Discovering relays...': 'Discovering relays...', - Discussion: 'Discussion', - Discussions: 'Discussions', - Downvote: 'Downvote', - 'Edited by': 'Edited by', - Editor: 'Editor', - 'Editor name (optional)': 'Editor name (optional)', - 'Enable word wrap': 'Enable word wrap', - 'End date': 'End date', - 'End date must be after start date': 'End date must be after start date', - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.': - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.', - 'Enter a descriptive title for your thread': 'Enter a descriptive title for your thread', - 'Enter the author name': 'Enter the author name', - 'Enter the book title': 'Enter the book title', - 'Enter the specific text you want to highlight in the main content area above': - 'Enter the specific text you want to highlight in the main content area above', - 'Event IDs (ids)': 'Event IDs (ids)', - 'Event appears to be invalid or corrupted': 'Event appears to be invalid or corrupted', - 'Event has no value data': 'Event has no value data', - 'Event is missing required fields: {{fields}}': 'Event is missing required fields: {{fields}}', - 'Event type': 'Event type', - 'Expiration Tags': 'Expiration Tags', - 'Export OPML': 'Export OPML', - 'Export as AsciiDoc': 'Export as AsciiDoc', - 'Export as Markdown': 'Export as Markdown', - 'External Citation': 'External Citation', - 'External Citation Settings': 'External Citation Settings', - 'Failed to add relay. Please try again.': 'Failed to add relay. Please try again.', - 'Failed to add relays': 'Failed to add relays', - 'Failed to block relay. Please try again.': 'Failed to block relay. Please try again.', - 'Failed to cleanup duplicates': 'Failed to cleanup duplicates', - 'Failed to clear cache': 'Failed to clear cache', - 'Failed to copy': 'Failed to copy', - 'Failed to create relay set. Please try again.': - 'Failed to create relay set. Please try again.', - 'Failed to create thread': 'Failed to create thread', - 'Failed to create thread. Please try a different relay.': - 'Failed to create thread. Please try a different relay.', - 'Failed to delete all items': 'Failed to delete all items', - 'Failed to delete item': 'Failed to delete item', - 'Failed to discover relays': 'Failed to discover relays', - 'Failed to export OPML file': 'Failed to export OPML file', - 'Failed to export article': 'Failed to export article', - 'Failed to import OPML file: {{error}}': 'Failed to import OPML file: {{error}}', - 'Failed to load RSS feeds': 'Failed to load RSS feeds', - 'Failed to load store items': 'Failed to load store items', - 'Failed to mute user privately': 'Failed to mute user privately', - 'Failed to mute user publicly': 'Failed to mute user publicly', - 'Failed to pin note': 'Failed to pin note', - 'Failed to publish post': 'Failed to publish post', - 'Failed to publish reply': 'Failed to publish reply', - 'Failed to publish thread': 'Failed to publish thread', - 'Failed to publish to some relays. Please try again or use different relays.': - 'Failed to publish to some relays. Please try again or use different relays.', - 'Failed to save RSS feeds': 'Failed to save RSS feeds', - 'Failed to save cache relays': 'Failed to save cache relays', - 'Failed to save relay list': 'Failed to save relay list', - 'Failed to unregister service worker: ': 'Failed to unregister service worker: ', - 'Failed to unsubscribe from topic': 'Failed to unsubscribe from topic', - Favorite: 'Favorite', - Fetch: 'Fetch', - 'Fetch once, then stop.': 'Fetch once, then stop.', - 'Filter by': 'Filter by', - 'Flat View': 'Flat View', - 'Font size': 'Font size', - 'Full Quote/Context': 'Full Quote/Context', - 'Full-text search query': 'Full-text search query', - Geohash: 'Geohash', - 'Geohash (optional)': 'Geohash (optional)', - 'Global quiet mode': 'Global quiet mode', - 'Group discussions by topic': 'Group discussions by topic', - 'Grouped View': 'Grouped View', - Groups: 'Groups', - 'Handler {{index}}': 'Handler {{index}}', - 'Hardcopy Citation': 'Hardcopy Citation', - 'Hardcopy Citation Settings': 'Hardcopy Citation Settings', - Hide: 'Hide', - 'Hide interactions on all posts': 'Hide interactions on all posts', - 'Hide interactions on posts with quiet tags': 'Hide interactions on posts with quiet tags', - 'High PoW': 'High PoW', - 'Higher values make your thread harder to mine but more unique.': - 'Higher values make your thread harder to mine but more unique.', - Highlight: 'Highlight', - 'Highlight Settings': 'Highlight Settings', - 'How to Create a Highlight (NIP-84)': 'How to Create a Highlight (NIP-84)', - 'Human-readable spell name': 'Human-readable spell name', - 'Image URL': 'Image URL', - 'Import OPML': 'Import OPML', - 'Imported {{count}} feed(s) from OPML file': 'Imported {{count}} feed(s) from OPML file', - 'In-Browser Cache': 'In-Browser Cache', - Insert: 'Insert', - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).': - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).', - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.': - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.', - 'Insert event or address': 'Insert event or address', - 'Insert mention': 'Insert mention', - 'Internal Citation': 'Internal Citation', - 'Internal Citation Settings': 'Internal Citation Settings', - 'Invalid Event': 'Invalid Event', - 'Invalid Lightning Address': 'Invalid Lightning Address', - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.': - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.', - 'Invalid URL': 'Invalid URL', - 'Invalid content JSON': 'Invalid content JSON', - 'Invalid relay URL': 'Invalid relay URL', - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.': - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.', - 'Item deleted successfully': 'Item deleted successfully', - JSON: 'JSON', - 'Join link': 'Join link', - 'Journal/Publication name (optional)': 'Journal/Publication name (optional)', - Json: 'JSON', - Kinds: 'Kinds', - 'Language Model': 'Language Model', - Large: 'Large', - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link': - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link', - 'Lightning payment failed': 'Lightning payment failed', - Limit: 'Limit', - 'Live feed; keeps updating.': 'Live feed; keeps updating.', - 'Loading more...': 'Loading more...', - 'Loading relays...': 'Loading relays...', - 'Location (optional)': 'Location (optional)', - 'Log in to run this spell (it uses $me or $contacts).': - 'Log in to run this spell (it uses $me or $contacts).', - 'Login failed': 'Login failed', - 'Login to configure RSS feeds': 'Login to configure RSS feeds', - 'Long-form Article': 'Long-form Article', - 'Mailbox relays saved': 'Mailbox relays saved', - 'Mark as NSFW': 'Mark as NSFW', - 'Maximum {{max}} invitees': 'Maximum {{max}} invitees', - 'Maximum {{max}} invitees allowed': 'Maximum {{max}} invitees allowed', - Medium: 'Medium', - Mode: 'Mode', - 'Most Zapped': 'Most Zapped', - 'Move to top': 'Move to top', - 'Multiple choice': 'Multiple choice', - 'Mute failed': 'Mute failed', - NSFW: 'NSFW', - Name: 'Name', - 'Name of the language model used': 'Name of the language model used', - 'New External Citation': 'New External Citation', - 'New Hardcopy Citation': 'New Hardcopy Citation', - 'New Highlight': 'New Highlight', - 'New Internal Citation': 'New Internal Citation', - 'New Long-form Article': 'New Long-form Article', - 'New Poll': 'New Poll', - 'New Discussion': 'New Discussion', - 'New Prompt Citation': 'New Prompt Citation', - 'New Public Message': 'New Public Message', - 'New Wiki Article': 'New Wiki Article', - 'New Wiki Article (Markdown)': 'New Wiki Article (Markdown)', - Newest: 'Newest', - 'No JSON available': 'No JSON available', - 'No RSS feeds found in OPML file': 'No RSS feeds found in OPML file', - 'No cached data found.': 'No cached data found.', - 'No console logs captured yet': 'No console logs captured yet', - 'No events found': 'No events found', - 'No feeds configured. Default feed will be used.': - 'No feeds configured. Default feed will be used.', - 'No feeds to export': 'No feeds to export', - 'No groups available. Join some groups first.': 'No groups available. Join some groups first.', - 'No items in this store.': 'No items in this store.', - 'No items match your search.': 'No items match your search.', - 'No logs match the current filters': 'No logs match the current filters', - 'No posts found': 'No posts found', - 'No posts match your search': 'No posts match your search', - 'No relays available. Please configure relays in settings.': - 'No relays available. Please configure relays in settings.', - 'No service workers or caches found for this app': - 'No service workers or caches found for this app', - 'No users found': 'No users found', - 'No valid RSS feed URLs found in OPML file': 'No valid RSS feed URLs found in OPML file', - 'Note pinned': 'Note pinned', - 'Note unpinned': 'Note unpinned', - Oldest: 'Oldest', - 'Open Timestamp': 'Open Timestamp', - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.': - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.', - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.': - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.', - Optional: 'Optional', - 'Optional image for the event': 'Optional image for the event', - 'Optionally, add the full quote/context to show your highlight within it': - 'Optionally, add the full quote/context to show your highlight within it', - PM: 'PM', - 'Page Range': 'Page Range', - Pages: 'Pages', - 'Paste URL of a GIF': 'Paste URL of a GIF', - 'Paste URL of a meme image': 'Paste URL of a meme image', - 'Paste the entire original passage that contains your highlight': - 'Paste the entire original passage that contains your highlight', - Photo: 'Photo', - 'Picture Note': 'Picture Note', - 'Pin note': 'Pin note', - 'Plain text description of the query': 'Plain text description of the query', - 'Please login to view bookmarks': 'Please login to view bookmarks', - 'Please select a group': 'Please select a group', - 'Please select at least one relay': 'Please select at least one relay', - 'Please set a start date': 'Please set a start date', - 'Poll with no options': 'Poll with no options', - 'Post published to some relays': 'Post published to some relays', - 'Posts will automatically include expiration tags': - 'Posts will automatically include expiration tags', - 'Posts will automatically include quiet tags': 'Posts will automatically include quiet tags', - 'Posts will be quiet for this many days': 'Posts will be quiet for this many days', - 'Posts will expire after this many months': 'Posts will expire after this many months', - 'Processing...': 'Processing...', - 'Profile event not available': 'Profile event not available', - 'Prompt Citation': 'Prompt Citation', - 'Prompt Citation Settings': 'Prompt Citation Settings', - 'Prompt Conversation Script': 'Prompt Conversation Script', - 'Proof of Work': 'Proof of Work', - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post': - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post', - 'Publish to Relays': 'Publish to Relays', - 'Published By': 'Published By', - 'Published In': 'Published In', - 'Published On': 'Published On', - 'Published in': 'Published in', - 'Published on': 'Published on', - 'Publisher name (optional)': 'Publisher name (optional)', - 'Quiet Tags': 'Quiet Tags', - 'RSS Feed': 'RSS Feed', - 'RSS + Web': 'RSS + Web', - 'RSS feed source': 'RSS feed source', - 'All feed sources': 'All feed sources', - 'RSS feed view mode': 'RSS feed view mode', - 'Article URLs': 'Article URLs', - 'Article URLs subtitle': - 'One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.', - 'Article URLs Nostr manual subtitle': - 'Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.', - 'RSS feed column title': 'RSS & linked articles', - 'RSS feed column subtitle': - 'Feed entries and article cards that include at least one item from your subscribed RSS feeds.', - 'RSS timeline': 'RSS timeline', - 'RSS timeline subtitle': - 'Every item from your subscribed feeds, newest first — classic RSS reader.', - URLs: 'URLs', - RSS: 'RSS', - 'No URL-only items yet': 'No URL-only items yet', - 'Respond to this RSS entry': 'Respond to this RSS entry', - 'RSS read-only thread hint': - 'Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.', - 'RSS feed item label': 'RSS', - 'Web URL item label': 'Web URL', - 'URL thread activity': 'URL thread activity', - 'Suppress Clawstr links in RSS previews': 'Hide clawstr.com in RSS and URL feed', - 'Hide local, media & feed URLs from URL cards': - 'Hide local, media, feed, document & XML links from the feed', - 'RSS articles': 'RSS articles', - 'Web comments': 'Web comments', - 'Web highlights': 'Web highlights', - 'In your bookmarks': 'In your bookmarks', - '{{count}} RSS entries for this URL': '{{count}} RSS entries for this URL', - '{{count}} entries for this article URL': '{{count}} entries for this article URL', - 'No comments yet': 'No comments yet', - 'No highlights yet': 'No highlights yet', - 'Showing {{filtered}} of {{total}} entries': 'Showing {{filtered}} of {{total}} entries', - standardRssFeed_spotifeed: 'Spotify playlist (Spotifeed)', - standardRssFeed_youtube: 'YouTube feed', - standardRssFeed_youtubeChannel: 'YouTube channel feed', - standardRssFeed_youtubePlaylist: 'YouTube playlist feed', - standardRssFeed_feedburner: 'FeedBurner', - standardRssFeed_reddit: 'Reddit RSS', - standardRssFeed_substack: 'Substack', - standardRssFeed_medium: 'Medium', - 'RSS Feed Settings': 'RSS Feed Settings', - 'Follow sets': 'Follow sets', - 'Follow sets settings intro': - 'NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.', - 'New follow set': 'New follow set', - 'Edit follow set': 'Edit follow set', - 'No follow sets yet': 'You have not created any follow sets yet.', - 'Follow set saved': 'Follow set saved', - 'Follow set deleted': 'Follow set deleted', - 'Failed to load follow sets': 'Failed to load follow sets', - members: 'members', - 'Optional display title': 'Optional display title', - 'List id (d tag)': 'List id (d tag)', - 'Follow set d tag hint': - 'Stable identifier for this list. It cannot be changed after the first publish.', - 'People in this list': 'People in this list', - 'Delete follow set?': 'Delete this follow set?', - 'Delete follow set confirm': - 'This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.', - 'Remove feed': 'Remove feed', - 'RSS Feeds': 'RSS Feeds', - 'RSS feeds exported to OPML file': 'RSS feeds exported to OPML file', - 'RSS feeds saved': 'RSS feeds saved', - 'Rate limited. Please wait before trying again.': - 'Rate limited. Please wait before trying again.', - 'Reaction published': 'Reaction published', - 'Reaction removed': 'Reaction removed', - 'Read full article': 'Read full article', - 'Reading group entry': 'Reading group entry', - 'Readings Options': 'Readings Options', - Recipients: 'Recipients', - 'Recipients detected from your message:': 'Recipients detected from your message:', - 'Recommended Relays': 'Recommended Relays', - 'Recommended applications for handling events of kind {{kind}}': - 'Recommended applications for handling events of kind {{kind}}', - 'Reference to the cited Nostr event in kind:pubkey:hex format': - 'Reference to the cited Nostr event in kind:pubkey:hex format', - 'Refresh Cache': 'Refresh Cache', - 'Refreshing posts...': 'Refreshing posts...', - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.': - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.', - Relay: 'Relay', - 'Relay Hint': 'Relay Hint', - 'Relay URL (optional)': 'Relay URL (optional)', - 'Relay blocked successfully': 'Relay blocked successfully', - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.': - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.', - 'Relay set options': 'Relay set options', - 'Remove from favorites': 'Remove from favorites', - Rendered: 'Rendered', - 'Reply published': 'Reply published', - 'Reply published to some relays': 'Reply published to some relays', - 'Reply to Public Message': 'Reply to Public Message', - 'Republish to all active relays': 'Republish to all active relays', - 'Republish to all available relays': 'Republish to all available relays', - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.': - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.', - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.': - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.', - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Respect quiet tags': 'Respect quiet tags', - 'Search (NIP-50)': 'Search (NIP-50)', - 'Search by name or npub…': 'Search by name or npub…', - 'Search calendar, publications, wiki…': 'Search calendar, publications, wiki…', - 'Search for user…': 'Search for user…', - 'Search items...': 'Search items...', - 'Search logs...': 'Search logs...', - 'Search notes, threads, long-form…': 'Search notes, threads, long-form…', - 'Search on GifBuddy': 'Search on GifBuddy', - 'Search on Meme Amigo': 'Search on Meme Amigo', - 'Search posts...': 'Search posts...', - 'Search threads by title, content, tags, npub, author...': - 'Search threads by title, content, tags, npub, author...', - 'Searching all available relays...': 'Searching all available relays...', - 'Searching…': 'Searching…', - 'See reference': 'See reference', - 'Select Group': 'Select Group', - 'Select Media Type': 'Select Media Type', - 'Select group...': 'Select group...', - 'Select relays': 'Select relays', - 'Publish relay cap hint': - 'At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Publish relay cap hint with outbox first': - 'At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Select the group where you want to create this discussion.': - 'Select the group where you want to create this discussion.', - 'Select topic...': 'Select topic...', - 'Selected text': 'Selected text', - 'Send Public Message': 'Send Public Message', - 'Send a Lightning payment to this user': 'Send a Lightning payment to this user', - 'Service worker caches cleared. Please reload the page.': - 'Service worker caches cleared. Please reload the page.', - 'Service worker unregistered and caches cleared. Please reload the page.': - 'Service worker unregistered and caches cleared. Please reload the page.', - 'Service worker unregistered. Please reload the page.': - 'Service worker unregistered. Please reload the page.', - 'Share your thoughts, ask questions, or start a discussion...': - 'Share your thoughts, ask questions, or start a discussion...', - 'Short Video Note': 'Short Video Note', - 'Show RSS Feed': 'Show RSS Feed', - 'Show all discussions in a single list': 'Show all discussions in a single list', - 'Show less': 'Show less', - Since: 'Since', - Small: 'Small', - 'Some relays have temporarily disabled writes.': - 'Some relays have temporarily disabled writes.', - Source: 'Source', - 'Spell definition': 'Spell definition', - 'Spell published': 'Spell published', - 'Start date': 'Start date', - 'Start typing to see a preview...': 'Start typing to see a preview...', - 'Subject (Book Title)': 'Subject (Book Title)', - 'Subject (book title) is required for reading groups': - 'Subject (book title) is required for reading groups', - 'Subject / Topics': 'Subject / Topics', - Subscribe: 'Subscribe', - Subscribed: 'Subscribed', - 'Subscribed to topic': 'Subscribed to topic', - 'Subscribed to topic (local)': 'Subscribed to topic (local)', - 'Subscribing...': 'Subscribing...', - Summary: 'Summary', - 'Supported Event Types': 'Supported Event Types', - 'Take a note': 'Take a note', - 'The full prompt conversation (optional)': 'The full prompt conversation (optional)', - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.': - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.', - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.': - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.', - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.': - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.', - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a Nostr event of kind {{kind}}.': - 'This GIF was found in a Nostr event of kind {{kind}}.', - 'This file could be either audio or video. Please select the correct type:': - 'This file could be either audio or video. Please select the correct type:', - 'This store does not contain replaceable events': - 'This store does not contain replaceable events', - 'This will add additional tags for author and subject to help organize reading group discussions.': - 'This will add additional tags for author and subject to help organize reading group discussions.', - 'Thread Content': 'Thread Content', - 'Thread Title': 'Thread Title', - 'Thread creation timed out. Please try again.': 'Thread creation timed out. Please try again.', - 'Thread published': 'Thread published', - 'Threads are organized by topics. Choose a topic that best fits your discussion.': - 'Threads are organized by topics. Choose a topic that best fits your discussion.', - 'Time-based': 'Time-based', - 'Title is required': 'Title is required', - 'Title must be 100 characters or less': 'Title must be 100 characters or less', - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.': - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.', - Top: 'Top', - Topic: 'Topic', - URL: 'URL', - 'URL of the article cover image (optional)': 'URL of the article cover image (optional)', - 'Unique identifier for this article (required)': - 'Unique identifier for this article (required)', - 'Unmute failed': 'Unmute failed', - 'Unpin note': 'Unpin note', - Unsubscribe: 'Unsubscribe', - 'Unsubscribed from topic': 'Unsubscribed from topic', - 'Unsubscribing...': 'Unsubscribing...', - Until: 'Until', - Untitled: 'Untitled', - Update: 'Update', - 'Updating...': 'Updating...', - 'Upload Audio Comment': 'Upload Audio Comment', - 'Upload Audio Message': 'Upload Audio Message', - 'Upload Media': 'Upload Media', - Upvote: 'Upvote', - 'User unmuted': 'User unmuted', - 'Version number (optional)': 'Version number (optional)', - Video: 'Video', - 'Video Note': 'Video Note', - 'Video file': 'Video file', - 'View Console Logs': 'View Console Logs', - 'View JSON': 'View JSON', - 'View cached items in this store.': 'View cached items in this store.', - 'View definition': 'View definition', - 'View details about cached data in IndexedDB stores. Click on a store to view its items.': - 'View details about cached data in IndexedDB stores. Click on a store to view its items.', - 'View on Alexandria': 'View on Alexandria', - 'View on DecentNewsroom': 'View on DecentNewsroom', - 'View on Wikistr': 'View on Wikistr', - 'View recent console logs for debugging': 'View recent console logs for debugging', - 'Voice Comment': 'Voice Comment', - 'Voice Note': 'Voice Note', - 'Voice note or audio file': 'Voice note or audio file', - Volume: 'Volume', - 'Volume number (optional)': 'Volume number (optional)', - 'Vote published': 'Vote published', - 'Vote removed': 'Vote removed', - 'Website where LLM was accessed (optional)': 'Website where LLM was accessed (optional)', - 'Wiki Article (AsciiDoc)': 'Wiki Article (AsciiDoc)', - 'Wiki Article (Markdown)': 'Wiki Article (Markdown)', - 'You can only delete your own notes': 'You can only delete your own notes', - 'You must be logged in to create a thread': 'You must be logged in to create a thread', - 'You need to add at least one media server in order to upload media files.': - 'You need to add at least one media server in order to upload media files.', - 'You need to login first': 'You need to login first', - 'Your account is blocked from posting to this relay.': - 'Your account is blocked from posting to this relay.', - Zap: 'Zap', - 'Zap failed': 'Zap failed', - created_at: 'created_at', - 'e tag of kind 1040 event (optional)': 'e tag of kind 1040 event (optional)', - 'e.g. meetup, conference': 'e.g. meetup, conference', - 'e.g., 123-145 (optional)': 'e.g., 123-145 (optional)', - 'e.g., GPT-4, Claude, etc. (required)': 'e.g., GPT-4, Claude, etc. (required)', - 'e.g., my-article-title': 'e.g., my-article-title', - entries: 'entries', - 'from Bunker': 'from Bunker', - 'from Extension': 'from Extension', - 'from NIP-05': 'from NIP-05', - general: 'general', - 'https://example.com (required)': 'https://example.com (required)', - 'https://example.com/image.jpg': 'https://example.com/image.jpg', - id: 'id', - items: 'items', - kind: 'kind', - 'kind:pubkey:hex format (required)': 'kind:pubkey:hex format (required)', - 'last updated': 'last updated', - matching: 'matching', - naddr: 'naddr', - nevent: 'nevent', - 'nevent1..., naddr1..., note1..., hex ID, or https://...': - 'nevent1..., naddr1..., note1..., hex ID, or https://...', - 'no notes found': 'no notes found', - of: 'of', - 'on note': 'on note', - optional: 'optional', - pubkey: 'pubkey', - 'sent a public message': 'sent a public message', - 'sent you a public message': 'sent you a public message', - 'sent you a public message (along with {{count}} others)': - 'sent you a public message (along with {{count}} others)', - sig: 'sig', - 'started a discussion in {{topic}}': 'started a discussion in {{topic}}', - tags: 'tags', - thread: 'thread', - threads: 'threads', - 'topic1, topic2, topic3': 'topic1, topic2, topic3', - '{{count}} relay(s) selected': '{{count}} relay(s) selected', - '🔞 NSFW 🔞': '🔞 NSFW 🔞', - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).': - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).', - 'Failed to refresh': 'Failed to refresh', - 'Invalid article link.': 'Invalid article link.', - Likes: 'Likes', - 'Loading…': 'Loading…', - 'Missing pubkey': 'Missing pubkey', - 'No RSS feed list found on relays': 'No RSS feed list found on relays', - 'Pinned posts': 'Pinned posts', - 'Publishing...': 'Publishing...', - 'RSS article': 'RSS article', - 'RSS feed list refreshed': 'RSS feed list refreshed', - 'Save or discard your changes before refreshing from relays': - 'Save or discard your changes before refreshing from relays', - 'Suggested topics': 'Suggested topics', - 'Synthetic event (no author)': 'Synthetic event (no author)', - 'Topic is required': 'Topic is required', - 'Type a topic or pick from the list': 'Type a topic or pick from the list', - profileEditorRefreshCacheHint: 'profileEditorRefreshCacheHint', - startupSessionHydrating: 'startupSessionHydrating' + "no more relays": "aucun autre relais", + "Favorited by": "Favorisé par", + "Post settings": "Paramètres de publication", + "Publishing feedback": "Publishing feedback", + "Publish success toasts": "Publish success toasts", + "Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.": "Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.", + "Publish successful": "Publish successful", + "Media upload service": "Service de téléchargement de médias", + "Choose a relay": "Choisir un relais", + "no relays found": "aucun relais trouvé", + video: "vidéo", + "Show n new notes": "Afficher {{n}} nouvelles notes", + YouTabName: "Vous", + Bookmark: "Favori", + "Remove bookmark": "Retirer le favori", + "no bookmarks found": "Aucun favori trouvé", + "no more bookmarks": "Plus de favoris", + Bookmarks: "Favoris", + "Follow Packs": "Follow Packs", + "Follow Pack": "Follow Pack", + "Follow pack by": "by", + "In Follow Packs": "Dans les Follow Packs", + "Badge details": "Badge details", + "Issued by": "Issued by", + "Other recipients": "Other recipients", + "No other recipients found": "No other recipients found", + "Recipients could not be loaded": "Recipients could not be loaded", + "View award": "View award", + "Awarded on": "Awarded on", + "Please log in to follow": "Please log in to follow", + "Following All": "Following All", + "Followed {{count}} users": "Followed {{count}} users", + "All available members are already followed or muted": "All available members are already followed or muted", + "You are already following all members of this pack": "You are already following all members of this pack", + "Failed to follow pack": "Failed to follow pack", + "{{count}} profiles": "{{count}} profiles", + "Show more": "Afficher plus", + General: "Général", + Autoplay: "Lecture automatique", + "Enable video autoplay on this device": "Activer la lecture automatique des vidéos sur cet appareil", + "liveActivities.heading": "Live now", + "liveActivities.regionLabel": "Live spaces and streams", + "liveActivities.fromFollow": "From someone you follow", + "liveActivities.goToSlide": "Show live item {{n}}", + "liveActivities.swipeToBrowse": "Swipe left or right on the banner to switch between live activities.", + "liveActivities.viewNoteTitle": "Open this live activity as a note (play in app, links below)", + "liveActivities.openJoinPageTitle": "Open the join page in a new tab (e.g. zap.stream or the room site)", + "liveActivities.settingsToggle": "Live activities banner", + "liveActivities.settingsHint": "Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.", + "Add random relays to every publish": "Random relays in publish list", + "Add random relays to every publish description": "Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.", + relayType_local: "Local", + relayType_relay_list: "Relay list", + relayType_http_relay_list: "HTTP", + "HTTP relays": "HTTP relays", + httpRelaysDescription: "HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.", + "HTTP relays saved": "HTTP relays saved", + "Failed to save HTTP relay list": "Failed to save HTTP relay list", + "HTTP relays must start with https:// or http://": "HTTP relays must start with https:// or http://", + relayType_client_default: "Client default", + relayType_open_from: "Current feed", + relayType_favorite: "Favorite", + relayType_relay_set: "Relay set", + relayType_contextual: "Reply/PM", + relayType_randomly_selected: "Random (optional)", + "Session relays": "Session relays", + "Session relays tab description": "Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish).", + "Session relays preset working": "Working preset relays", + "Session relays preset working hint": "Preset relays (from app defaults) that have not reached 3 publish failures this session.", + "Session relays preset striked": "Striked preset relays", + "Session relays preset striked hint": "Preset relays that have reached 3 publish failures this session and are skipped for the rest of the session.", + "Session relays scored random": "Scored random relays", + "Session relays scored random hint": "Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.", + "Session relays all striked": "All striked relays (any source)", + "Session relays clear strike": "Allow again", + "Session relays clear strike hint": "Remove this relay from the session block list; it will be used again until new connection failures.", + "relaySessionStrikes.bannerWarning": "This relay has {{count}} session strike(s) (limit {{threshold}}) after connection or query failures.", + "relaySessionStrikes.bannerSkipped": "This relay has reached the session failure limit ({{threshold}} strikes) and is skipped for reads and publishes in this tab.", + "relaySessionStrikes.refreshHint": "Use {{refresh}} to clear strikes for this relay and load the feed again.", + successes: "successes", + None: "None", + "Cache & offline storage": "Cache & offline storage", + feedStarting: "Starting feeds and relays… This can take a few seconds after login.", + singleRelayKindFallbackNotice: "This relay returned no events for an open-ended request (no kinds in the filter). The feed below uses your usual kind filter instead.", + refreshCacheButtonExplainer: "Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.", + "eventArchive.sectionTitle": "Notes & feed archive", + "eventArchive.sectionBlurb": "Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.", + "eventArchive.defaultsMobile": "This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).", + "eventArchive.defaultsElectron": "Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.defaultsDesktopWeb": "Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.enablePersist": "Persist feed events to disk", + "eventArchive.maxMb": "Max archive size (MB), blank = default for this device", + "eventArchive.maxEvents": "Max archived events, blank = default", + "eventArchive.sessionLru": "In-memory session cache (event count), blank = default", + "eventArchive.effectiveSummary": "Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.", + "eventArchive.on": "on", + "eventArchive.off": "off", + "eventArchive.apply": "Apply cache settings", + "eventArchive.appliedToast": "Cache settings saved. Session memory updated.", + "Paste or drop media files to upload": "Coller ou déposer des fichiers multimédias à télécharger", + Preview: "Aperçu", + "You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?": "Vous êtes sur le point de publier un événement signé par [{{eventAuthorName}}]. Vous êtes actuellement connecté en tant que [{{currentUsername}}]. Êtes-vous sûr ?", + "Platinum Sponsors": "Sponsors Platine", + From: "De", + "Comment on": "Commenter sur", + "View on njump.me": "Voir sur njump.me", + "Hide content from untrusted users": "Hider le contenu des utilisateurs non fiables", + "Only show content from your followed users and the users they follow": "Afficher uniquement le contenu de vos utilisateurs suivis et des utilisateurs qu’ils suivent", + "Followed by": "Suivi par", + "Mute user privately": "Mettre l’utilisateur en sourdine en privé", + "Mute user publicly": "Mettre l’utilisateur en sourdine publiquement", + Quotes: "Citations", + "Lightning Invoice": "Facture Lightning", + "Bookmark failed": "Échec de la mise en favori", + "Remove bookmark failed": "Échec de la suppression du favori", + "Removed from bookmarks": "Removed from bookmarks", + "Bookmark not in list": "This bookmark is not in your list (already removed or out of sync).", + "Pin not in list": "This pin is not in your list (already removed or out of sync).", + "Failed to remove pin": "Failed to remove pin", + Translation: "Traduction", + Balance: "Solde", + characters: "caractères", + translateApiKeyDescription: "Vous pouvez utiliser cette clé API ailleurs qui prend en charge LibreTranslate. L’URL du service est {{serviceUrl}}", + "Top up": "Recharger", + "Will receive: {n} characters": "Vous recevrez : {{n}} caractères", + "Top up {n} sats": "Recharger {{n}} sats", + "Minimum top up is {n} sats": "Le rechargement minimum est de {{n}} sats", + Service: "Service", + "Reset API key": "Réinitialiser la clé API", + "Are you sure you want to reset your API key? This action cannot be undone.": "Êtes-vous sûr de vouloir réinitialiser votre clé API ? Cette action ne peut pas être annulée.", + Warning: "Avertissement", + "Errors & warnings": "Errors & warnings", + "Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.": "Votre clé API actuelle deviendra immédiatement invalide, et toutes les applications qui l’utilisent cesseront de fonctionner jusqu’à ce que vous les mettiez à jour avec la nouvelle clé.", + "Service address": "Adresse du service", + Pay: "Payer", + interactions: "interactions", + notifications: "notifications", + notificationsViewAsAccount: "View as", + notificationsViewAsAccountAria: "Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.", + notificationsSwitchAccountFailed: "Could not switch account. Check your signer, password, or extension and try again.", + "Show untrusted {type}": "Afficher les {{type}} non fiables", + "Hide untrusted {type}": "Cacher les {{type}} non fiables", + "Currently hiding {type} from untrusted users.": "Actuellement, les {{type}} des utilisateurs non fiables sont masquées.", + "Currently showing all {type}.": "Actuellement, tous les {{type}} sont affichés.", + "Click continue to show all {type}.": "Cliquez sur continuer pour afficher tous les {{type}}.", + "Click continue to hide {type} from untrusted users.": "Cliquez sur continuer pour masquer les {{type}} des utilisateurs non fiables.", + "Trusted users include people you follow and people they follow.": "Les utilisateurs de confiance incluent les personnes que vous suivez et les personnes qu’elles suivent.", + Continue: "Continuer", + "Successfully updated mute list": "Liste de sourdine mise à jour avec succès", + "No pubkeys found from {url}": "Aucun pubkey trouvé à partir de {{url}}", + "Translating...": "Traduction en cours...", + Translate: "Traduire", + "Show original": "Afficher l’original", + Website: "Site Web", + "Hide untrusted notes": "Cacher les notes non fiables", + "Open in another client": "Ouvrir dans un autre client", + Community: "Communauté", + Group: "Groupe", + "Live event": "Événement en direct", + Article: "Article", + Unfavorite: "Ne plus aimer", + "Recommended relays": "Relais recommandés", + "Show recommended relays panel": "Show recommended relays panel", + "Display the right-side panel with recommended relays on desktop": "Display the right-side panel with recommended relays on desktop", + "Blossom server URLs": "URLs du serveur Blossom", + "You need to add at least one blossom server in order to upload media files.": "Vous devez ajouter au moins un serveur Blossom pour pouvoir télécharger des fichiers multimédias.", + "Recommended blossom servers": "Serveurs Blossom recommandés", + "Enter Blossom server URL": "Entrer l’URL du serveur Blossom", + Preferred: "Préféré", + "Multiple choice (select one or more)": "Choix multiple (sélectionnez un ou plusieurs)", + Vote: "Voter", + "{{number}} votes": "{{number}} votes", + "Total votes": "Total des votes", + "Poll has ended": "Le sondage est terminé", + "Poll ends at {{time}}": "Le sondage se termine le {{time}}", + "Load results": "Charger les résultats", + "This is a poll note.": "Ceci est une note de sondage.", + "Unlike regular notes, polls are not widely supported and may not display on other clients.": "Contrairement aux notes régulières, les sondages ne sont pas largement pris en charge et peuvent ne pas s'afficher sur d'autres clients.", + "Option {{number}}": "Option {{number}}", + "Add Option": "Ajouter une option", + "Remove option": "Remove option", + "Close highlight editor": "Close highlight editor", + "Allow multiple choices": "Autoriser les choix multiples", + "End Date (optional)": "Date de fin (optionnel)", + "Clear end date": "Effacer la date de fin", + "Relay URLs (optional, comma-separated)": "URLs de relais (optionnel, séparées par des virgules)", + "Remove poll": "Supprimer le sondage", + "Refresh results": "Rafraîchir les résultats", + "{{votes}} · {{pct}}%": "{{votes}} · {{pct}}%", + "See results": "See results", + "Zap poll (paid votes)": "Zap poll (paid votes)", + "Invalid zap poll": "Invalid zap poll", + "You voted on this poll (zap receipt)": "You voted on this poll (zap receipt)", + "Poll closed {{time}}": "Poll closed {{time}}", + "Closes {{time}}": "Closes {{time}}", + "Vote size": "Vote size", + "{{n}} sats (fixed)": "{{n}} sats (fixed)", + "{{min}}–{{max}} sats": "{{min}}–{{max}} sats", + "≥ {{n}} sats": "≥ {{n}} sats", + "≤ {{n}} sats": "≤ {{n}} sats", + "Loading tally…": "Loading tally…", + "Zap poll no votes yet": "No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).", + "Consensus threshold": "Consensus threshold", + "Pay to": "Pay to", + Recipient: "Recipient", + Option: "Option", + "Select option": "Select option", + "Select an option": "Select an option", + "Vote with zap": "Vote with zap", + "Zap sent": "Zap sent", + "Zapping…": "Zapping…", + "Refresh tally": "Refresh tally", + "{{n}} zaps": "{{n}} zaps", + Poll: "Sondage", + Media: "média", + "Articles and Publications": "Articles and Publications", + "Search articles...": "Search articles...", + "Refreshing articles...": "Refreshing articles...", + "No articles or publications found": "No articles or publications found", + "No articles or publications match your search": "No articles or publications match your search", + "articles and publications": "articles and publications", + Interests: "Interests", + Favorites: "Favorites", + Calendar: "Calendar", + "No subscribed interests yet.": "No subscribed interests yet. Add topics in settings to see them here.", + "No bookmarked notes with id tags yet.": "No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.", + "No follows or relays to load yet.": "No follows or relays to load yet.", + "No favorites yet.": "No favorites yet. Add follows, follow sets, interests, or bookmarks.", + "Added from interests": "Added from interests", + "Added from bookmarks list": "Added from bookmarks list", + "Added from your web bookmarks": "Added from your web bookmarks", + "Added from follows and contact lists": "Added from follows and contact lists", + "Added from follows web bookmarks": "Added from follows web bookmarks", + "Nothing to load for this feed.": "Nothing to load for this feed.", + "No posts loaded for this feed. Try refreshing.": "No posts loaded for this feed. Try refreshing.", + "Looking for more events…": "Looking for more events…", + "Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.": "Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.", + "Per-relay timeline results ({{count}} connections)": "Per-relay timeline results ({{count}} connections)", + "Republish to ...": "Reposter vers ...", + "All available relays": "All available relays", + "All active relays (monitoring list)": "All active relays (monitoring list)", + "Successfully republish to all available relays": "Successfully republish to all available relays", + "Failed to republish to all available relays: {{error}}": "Failed to republish to all available relays: {{error}}", + "Successfully republish to all active relays": "Successfully republish to all active relays", + "Failed to republish to all active relays: {{error}}": "Failed to republish to all active relays: {{error}}", + "No active relays in monitoring list": "No active relays in monitoring list", + "No relay accepted the event": "No relay accepted the event", + "No relays available": "No relays available", + "No write relays configured": "No write relays configured", + "Relay did not accept the event": "Relay did not accept the event", + "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".": "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".", + "Successfully republish to your write relays": "Republié avec succès vers vos relais d’écriture", + "Failed to republish to your write relays: {{error}}": "Échec du republishing vers vos relais d’écriture : {{error}}", + "Successfully republish to relay set: {{name}}": "Republié avec succès vers le groupe de relais : {{name}}", + "Failed to republish to relay set: {{name}}. Error: {{error}}": "Échec du republishing vers le groupe de relais : {{name}}. Erreur : {{error}}", + "Successfully republish to relay: {{url}}": "Republié avec succès vers le relais : {{url}}", + "Failed to republish to relay: {{url}}. Error: {{error}}": "Échec du republishing vers le relais : {{url}}. Erreur : {{error}}", + "Write relays": "Relais d’écriture", + "No more reactions": "Plus de réactions", + "No reactions yet": "Pas encore de réactions", + "No more zaps": "Plus de zaps", + "No zaps yet": "Pas encore de zaps", + "No more boosts": "Plus de boosts", + "No boosts yet": "Pas encore de boosts", + "n more boosts": "{{count}} more boosts", + FollowListNotFoundConfirmation: "Liste de suivi non trouvée. Voulez-vous en créer une nouvelle ? Si vous avez suivi des utilisateurs auparavant, veuillez NE PAS confirmer car cette opération vous fera perdre votre liste de suivi précédente.", + MuteListNotFoundConfirmation: "Liste de mise en sourdine non trouvée. Voulez-vous en créer une nouvelle ? Si vous avez mis en sourdine des utilisateurs auparavant, veuillez NE PAS confirmer car cette opération vous fera perdre votre liste de mise en sourdine précédente.", + "Show NSFW content by default": "Afficher le contenu NSFW par défaut", + "Custom emoji management": "Gestion des émojis personnalisés", + "After changing emojis, you may need to refresh the page": "Après avoir modifié les émojis, vous devrez peut-être actualiser la page", + "Too many read relays": "Trop de relais de lecture", + "Too many write relays": "Trop de relais d'écriture", + "You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.": "Vous avez {{count}} relais de lecture. La plupart des clients n'utilisent que 2 à 4 relais, en configurer plus est inutile.", + "You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.": "Vous avez {{count}} relais d'écriture. La plupart des clients n'utilisent que 2 à 4 relais, en configurer plus est inutile.", + "Optimize Relay Settings": "Optimiser les paramètres de relais", + "Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.": "Votre configuration de relais actuelle pourrait ne pas être optimale. Cela pourrait rendre difficile pour les autres de trouver vos publications et pourrait entraîner des notifications incomplètes.", + "Optimize Now": "Optimiser maintenant", + "Maybe Later": "Peut-être plus tard", + "Don't remind me again": "Ne plus me rappeler", + Posts: "Publications", + "Posts (OPs)": "Posts (OPs)", + "Kind 1 replies": "Kind 1 replies", + Comments: "Comments", + "Replies & comments": "Replies & comments", + Articles: "Articles", + Highlights: "Surlignages", + "A note from": "A note from", + Polls: "Sondages", + "Zap polls": "Zap polls", + "Voice Posts": "Publications vocales", + "Photo Posts": "Publications photo", + "Video Posts": "Publications vidéo", + "Git repositories": "Git repositories", + "Git issues": "Git issues", + "Git releases": "Git releases", + "Git Republic repository": "Git Republic repository", + "Git Republic issue": "Git Republic issue", + "Git Republic release": "Git Republic release", + "Git Republic event": "Git Republic event", + "Git Republic": "Git Republic", + "Open in Git Republic": "Open in Git Republic", + "Pre-release": "Pre-release", + Draft: "Draft", + "Repository release": "Repository release", + "New Repository Release": "New Repository Release", + "Release notes use the editor below (optional).": "Release notes use the editor below (optional).", + "Repository owner (npub or hex)": "Repository owner (npub or hex)", + "Repository id (d-tag)": "Repository id (d-tag)", + "Git tag name": "Git tag name", + "Tag target (40-char commit hash)": "Tag target (40-character commit hash)", + "40-character hex SHA-1": "40-character hex SHA-1", + "Release title": "Release title", + "Download URL": "Download URL", + "Draft release": "Draft release", + "Fill repository release fields": "Fill in all required repository release fields.", + "Invalid repository owner pubkey": "Invalid repository owner (use npub or 64-char hex).", + "Citations require private relays (NIP-65).": "Citations require private outbox relays (NIP-65).", + "Select All": "Tout sélectionner", + "Clear All": "Tout effacer", + "Set as default filter": "Définir comme filtre par défaut", + "Use filter": "Use filter", + "See all events": "See all events", + "See all events hint": "Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.", + "Use filter hint": "Only the kinds you select below are requested and shown.", + "Advanced event lab": "Advanced editor", + "Advanced lab applyError": "Editor is not ready. Try again.", + "Advanced lab cancel undo": "Cancel and Undo Changes", + "Advanced lab undo checkpoint": "Restore checkpoint", + "Advanced lab undo checkpoint hint": "About every 30 seconds this tab saves the editor (kind, body, tags) in session storage, up to 10 versions. Use this after a translation or bulk edit you want to roll back.", + "Advanced lab undo checkpoint none": "No older checkpoint to restore.", + "Advanced lab undo checkpoint restored": "Editor restored to a saved checkpoint.", + "Advanced lab markup label markdown": "Markdown", + "Advanced lab markup label asciidoc": "AsciiDoc", + "Advanced lab preview": "Preview", + "Advanced lab preview empty": "Nothing to preview yet.", + "Advanced lab markup placeholder markdown": "Note body (Markdown)", + "Advanced lab markup placeholder asciidoc": "Note body (AsciiDoc)", + "Advanced lab tags JSON": "Kind, content, and tags (JSON)", + "Advanced lab json placeholder": "{ \"kind\": 1, \"content\": \"…\", \"tags\": [] }", + "Advanced lab grammar language": "Grammar check language", + "Advanced lab translate": "Translate body", + "Advanced lab translation source": "Source language", + "Advanced lab translation source auto": "Detect automatically", + "Advanced lab translation target": "Target language", + "Advanced lab translation languages loading": "Loading languages from translate service…", + "Advanced lab translation languages empty": "Translate service returned no languages (check Docker / LibreTranslate).", + "Advanced lab translation languages error": "Could not load languages from the translate service.", + "Advanced lab translation same source target": "Source and target language must differ.", + "Show original text": "Show original text", + "Showing original note text": "Showing original text for this note.", + "Translate note": "Translate note", + "Translating note…": "Translating note…", + "Note translated": "Translated to {{language}}.", + "Note translation failed": "Translation failed: {{message}}", + "Read-aloud Piper English voice fallback title": "English voice in use", + "Read-aloud Piper English voice fallback detail": "Piper has no voice model for {{language}}. This session uses the English Piper voice instead; pronunciation may not match the written text.", + "Advanced lab translate not configured": "Translation URL is not set (VITE_TRANSLATE_URL).", + "Advanced lab translate done": "Translation inserted into the editor.", + "Advanced lab use translation read aloud": "Use body for read-aloud (this note)", + "Advanced lab read aloud buffer set": "The next read-aloud for this note will use the current body text (translated if you translated first).", + "Composer JSON tab hint": "Edit the draft as JSON (`kind`, `content`, `tags` only). `kind` must match the note type selected above. Other fields are set when you publish.", + "Composer JSON apply": "Apply JSON", + composerJsonKindMismatch: "JSON kind {{got}} does not match the composer (expected {{expected}}). Change the note type or fix `kind` in JSON.", + composerJsonApplySuccess: "Draft updated from JSON.", + "Advanced lab tb markup tools": "Markup helpers", + "Advanced lab tb headings": "Headings", + "Advanced lab tb headings hint": "Inserts at the cursor; adjust spacing if needed.", + "Advanced lab tb heading placeholder": "Title", + "Advanced lab tb h1": "Heading 1 (#)", + "Advanced lab tb h2": "Heading 2 (##)", + "Advanced lab tb h3": "Heading 3 (###)", + "Advanced lab tb h4": "Heading 4 (####)", + "Advanced lab tb h5": "Heading 5 (#####)", + "Advanced lab tb h6": "Heading 6 (######)", + "Advanced lab tb setextH1": "Setext heading 1 (title + ===)", + "Advanced lab tb setextH2": "Setext heading 2 (title + ---)", + "Advanced lab tb horizontalRule": "Horizontal rule (---)", + "Advanced lab tb horizontalRules": "Horizontal rules", + "Advanced lab tb hrDashes": "Dashes (---)", + "Advanced lab tb hrAsterisks": "Asterisks (***)", + "Advanced lab tb hrUnderscores": "Underscores (___)", + "Advanced lab tb inline": "Inline", + "Advanced lab tb bold": "Bold (** **)", + "Advanced lab tb boldUnderscore": "Bold (__ __)", + "Advanced lab tb italic": "Italic (* *)", + "Advanced lab tb italicUnderscore": "Italic (_ _)", + "Advanced lab tb strike": "Strikethrough (~~ ~~)", + "Advanced lab tb inlineCode": "Inline code (` `)", + "Advanced lab tb link": "Link [text](url)", + "Advanced lab tb linkTitled": "Link with title [text](url \"title\")", + "Advanced lab tb image": "Image ![alt](url)", + "Advanced lab tb imageTitled": "Image with title ![alt](url \"title\")", + "Advanced lab tb hardBreak": "Hard line break (two spaces + newline)", + "Advanced lab tb citations": "Citations (NIP-32)", + "Advanced lab tb citationsHint": "Kinds 30–33. Inserts `[[citation::type::nevent…]]` (Markdown & AsciiDoc).", + "Advanced lab citation dialog title": "Insert citation", + "Advanced lab citation dialog hint": "Search for NIP-32 citation events (internal, external, hardcopy, prompt), then pick one.", + "Advanced lab citation search placeholder": "Search kinds 30–33…", + "Advanced lab citation none": "No citation events found", + "Advanced lab citation kindLabel": "Kind {{kind}}", + "Advanced lab citation type inline": "Inline citation", + "Advanced lab citation type quote": "Block quote citation", + "Advanced lab citation type end": "Endnote citation", + "Advanced lab citation type foot": "Footnote call", + "Advanced lab citation type footEnd": "Footnote + end", + "Advanced lab citation type promptInline": "Prompt (inline)", + "Advanced lab citation type promptEnd": "Prompt (end)", + "Advanced lab tb lists": "Lists", + "Advanced lab tb bulletList": "Bullet list (-)", + "Advanced lab tb bulletListStar": "Bullet list (*)", + "Advanced lab tb orderedList": "Numbered list (1.)", + "Advanced lab tb orderedListStart": "Numbered list (custom start, e.g. 4.)", + "Advanced lab tb taskItem": "Task item (- [ ])", + "Advanced lab tb blocks": "Blocks", + "Advanced lab tb blockquote": "Blockquote (>)", + "Advanced lab tb pipeTable": "Pipe table (3×2 starter)", + "Advanced lab tb footnoteRef": "Footnote reference [^1]", + "Advanced lab tb footnoteDef": "Footnote definition [^1]: …", + "Advanced lab tb codeBlock": "Code block", + "Advanced lab tb codeBlockHint": "Pick a language for syntax highlighting in fenced code.", + "Advanced lab tb filterLanguages": "Filter languages…", + "Advanced lab tb math": "Math (KaTeX)", + "Advanced lab tb mathIntro": "Many readers render $…$ / $$…$$ with KaTeX; check your client.", + "Advanced lab tb mathInline": "Inline math ($…$)", + "Advanced lab tb mathDisplay": "Display math ($$…$$)", + "Advanced lab tb mathCommon": "Common formulas", + "Advanced lab tb katexFrac": "Fraction \\frac{a}{b}", + "Advanced lab tb katexSqrt": "Square root \\sqrt{x}", + "Advanced lab tb katexSum": "Sum \\sum_{i=1}^{n}", + "Advanced lab tb katexInt": "Integral \\int_a^b", + "Advanced lab tb katexMatrix": "2×2 matrix (pmatrix)", + "Advanced lab tb katexCases": "Cases (piecewise)", + "Advanced lab tb mathGreek": "Greek & symbols", + "Advanced lab tb greekAlpha": "alpha", + "Advanced lab tb greekBeta": "beta", + "Advanced lab tb greekGamma": "gamma", + "Advanced lab tb greekDelta": "delta", + "Advanced lab tb greekPi": "pi", + "Advanced lab tb greekTheta": "theta", + "Advanced lab tb greekLambda": "lambda", + "Advanced lab tb greekSigma": "sigma", + "Advanced lab tb greekOmega": "omega", + "Advanced lab tb greekInfty": "infinity", + "Advanced lab tb hrTitle": "Horizontal rule", + "Advanced lab tb adocTitles": "Titles", + "Advanced lab tb adocTitlesHint": "Document header: no empty lines inside the header; the first blank line ends it (https://docs.asciidoctor.org/asciidoc/latest/document/header/).", + "Advanced lab tb documentTitle": "Document title", + "Advanced lab tb sectionTitle": "Section title", + "Advanced lab tb adocLevel0": "Document title (=)", + "Advanced lab tb adocLevel0WithHeader": "Minimal header (title, author, revision, description, keywords, first section)", + "Advanced lab tb adocHeaderAuthorLine": "Author Name ", + "Advanced lab tb adocHeaderRevisionLine": "1.0, 2026-04-15: Draft revision", + "Advanced lab tb adocHeaderAttrsBlock": ":description: Short document summary for metadata\n:keywords: keyword-one, keyword-two, keyword-three", + "Advanced lab tb adocSection1": "Section (==)", + "Advanced lab tb adocSection2": "Subsection (===)", + "Advanced lab tb adocSection3": "Subsubsection (====)", + "Advanced lab tb adocSection4": "Level 5 (=====)", + "Advanced lab tb adocSection5": "Level 6 (======)", + "Advanced lab tb adocBold": "Bold (*bold*)", + "Advanced lab tb adocItalic": "Italic (_italic_)", + "Advanced lab tb adocMono": "Monospace (`mono`)", + "Advanced lab tb adocLink": "Link (link:url[text])", + "Advanced lab tb adocImage": "Image (image::url[alt])", + "Advanced lab tb adocUnordered": "Unordered (* item)", + "Advanced lab tb adocOrdered": "Ordered (. item)", + "Advanced lab tb adocLabeled": "Labeled list (term:: def)", + "Advanced lab tb adocBlocks": "Blocks", + "Advanced lab tb adocQuote": "Quote block (____)", + "Advanced lab tb adocLiteral": "Literal block (....)", + "Advanced lab tb adocNote": "NOTE admonition", + "Advanced lab tb adocTip": "TIP admonition", + "Advanced lab tb adocWarning": "WARNING admonition", + "Advanced lab tb adocSource": "Source / listing", + "Advanced lab tb adocSourceHint": "Inserts a [source,lang] block; replace the sample code.", + "Advanced lab tb adocStem": "STEM / LaTeX", + "Advanced lab tb adocStemHint": "Imwald runs Asciidoctor with stem: latexmath; math becomes \\(...\\) / \\[...\\] and is drawn with KaTeX (not MathJax).", + "Advanced lab tb adocStemInline": "Inline stem:[…]", + "Advanced lab tb adocLatexmathInline": "Inline latexmath:[…]", + "Advanced lab tb adocStemBlock": "Display math ([stem] +++ … +++++)", + "Advanced lab tb adocLineBreak": "Hard line break (space + at line end)", + "Advanced lab tb adocSubscript": "Subscript (~text~)", + "Advanced lab tb adocSuperscript": "Superscript (^text^)", + "Advanced lab tb adocPassthrough": "Inline passthrough (+++ … +++)", + "Advanced lab tb adocFootnote": "Footnote (footnote:[…])", + "Advanced lab tb adocImportant": "IMPORTANT admonition", + "Advanced lab tb adocCaution": "CAUTION admonition", + "Advanced lab tb adocExampleBlock": "Example block ([example])", + "Advanced lab tb adocSidebar": "Sidebar (**** … ****)", + "Advanced lab tb adocListing": "Listing block ([listing] + ----)", + "Advanced lab tb adocOpenBlock": "Open block (-- … --)", + "Advanced lab tb adocStructure": "Structure & media", + "Advanced lab tb adocStructureHint": "Tables, IDs/anchors ([#id] before a block—avoids [[wikilink]] syntax), cross-refs, media (Asciidoctor block macros).", + "Advanced lab tb adocTable": "Table (|=== …)", + "Advanced lab tb adocAnchor": "Block or section ID ([#id])", + "Advanced lab tb adocXref": "Cross reference (<>)", + "Advanced lab tb adocVideo": "Video (video::url[])", + "Advanced lab tb adocAudio": "Audio (audio::url[])", + "Advanced lab tb adocOrderedStart": "Ordered list with [start=n]", + "Advanced lab tb adocComment": "Line comment (//)", + "Advanced lab tb adockbd": "Keyboard (kbd:[…])", + "Advanced lab tb adocMenu": "Menu path (menu:…)", + "Advanced lab tb adocBtn": "Button (btn:[…])", + "Advanced lab tb adocHrTitle": "Thematic break (''')", + Apply: "Appliquer", + Reset: "Réinitialiser", + "Share something on this Relay": "Partager quelque chose sur ce relais", + "Try deleting this note": "Essayez de supprimer cette note", + "Deletion request sent to {{count}} relays": "Demande de suppression envoyée à {{count}} relais", + "Suitable Relays": "Relais adaptés", + "People, keywords, or relays": "Personnes, mots-clés ou relais", + "Hide content mentioning muted users": "Masquer le contenu mentionnant des utilisateurs masqués", + "This note mentions a user you muted": "Cette note mentionne un utilisateur que vous avez masqué", + Filter: "Filtre", + "Feed filter": "Feed filter", + "Search loaded posts": "Search loaded posts", + "Filter loaded posts placeholder": "Filter by text in content or tags…", + "Feed filter author": "Author", + "Feed filter author everyone": "From everyone", + "Feed filter author me": "Only from me", + "Feed filter author npub": "From user (npub or hex)", + "Feed filter author npub from prefix": "from:", + "Feed filter author npub placeholder": "npub1… or 64-char hex", + "Feed filter author me needs login": "Log in to filter by your pubkey", + "Within the last": "Within the last", + "Time unit": "Time unit", + Minutes: "Minutes", + Days: "Days", + Weeks: "Weeks", + Months: "Months", + Years: "Years", + "Feed filter client-side hint": "Filters only apply to posts already loaded; relays are not queried again.", + "Feed full search": "Perform full search", + "Feed full search running": "Searching…", + "Feed full search clear": "Clear", + "Feed full search active hint": "Showing relay search results. Clear to return to the live feed.", + "Feed full search need constraint": "Add search text, an author filter, or a time range before searching relays.", + "Feed full search invalid feed": "This feed cannot run a relay search.", + "Feed full search failed": "Relay search failed. Try again.", + "Feed full search empty": "No matching posts were found on the queried relays.", + "No loaded posts match your filters.": "No loaded posts match your filters.", + "mentioned you in a note": "vous a mentionné dans une note", + "quoted your note": "a cité votre note", + "quoted this note": "Quoted this note", + "highlighted this note": "Highlighted this note", + "cited in article": "Cited in article", + "Thread backlinks heading": "Also quoting this note", + "Thread backlinks primary section": "Quotes, highlights & citations", + "Thread backlinks bookmarks section": "Bookmarks", + "Thread backlinks lists section": "Lists & collections", + "View full note and thread": "View full note and thread", + "labeled this note": "Labeled this note", + "reported this note": "Reported this note", + "bookmarked this note": "Bookmarked this note", + "pinned this note": "Pinned this note", + "listed this note": "Listed this note", + "bookmark set reference": "Bookmark set includes this note", + "curated this note": "Curated this note", + "badge award for this note": "Badge award for this note", + "referenced this note": "Referenced this note", + "Report events heading": "Moderation reports", + "voted in your poll": "a voté dans votre sondage", + "reacted to your note": "a réagi à votre note", + "boosted your note": "a boosté votre note", + "zapped your note": "a zappé votre note", + "zapped you": "vous a zappé", + zapped: "zapped", + "Invalid zap receipt": "Invalid zap receipt", + "Zapped note": "Zapped note", + "Zapped profile": "Zapped profile", + "Zap reply threshold": "Zap reply threshold", + "Zaps above this amount will appear as replies in threads": "Zaps above this amount will appear as replies in threads", + "Mark as read": "Marquer comme lu", + Report: "Signaler", + "Successfully report": "Signalement réussi", + "Failed to report": "Échec du signalement", + nudity: "Nudité", + malware: "Logiciel malveillant", + profanity: "Blasphème", + illegal: "Contenu illégal", + spam: "Spam", + other: "Autre", + "Notification list style": "Style de liste de notifications", + "See extra info for each notification": "Voir des infos supplémentaires pour chaque notification", + "See more notifications at a glance": "Voir plus de notifications en un coup d'œil", + Detailed: "Détaillé", + "Submit Relay": "Soumettre un relais", + Homepage: "Page d’accueil", + "Proof of Work (difficulty {{minPow}})": "Preuve de travail (difficulté {{minPow}})", + "via {{client}}": "via {{client}}", + "Auto-load media": "Auto-chargement des médias", + Always: "Toujours", + "Wi-Fi only": "Wi-Fi uniquement", + Never: "Jamais", + "Click to load image": "Cliquez pour charger l’image", + "Click to load media": "Cliquez pour charger les médias", + "Click to load YouTube video": "Cliquez pour charger la vidéo YouTube", + "{{count}} reviews": "{{count}} avis", + "Write a review": "Écrire un avis", + "No reviews yet. Be the first to write one!": "Pas encore d’avis. Soyez le premier à en écrire un !", + "View more reviews": "Voir plus d’avis", + "Failed to review": "Échec de l’avis", + "Write a review and pick a star rating": "Écrivez un avis et choisissez une note en étoiles", + Submit: "Soumettre", + "Reviews for {{relay}}": "Avis pour {{relay}}", + "No relays selected": "Aucun relais sélectionné", + "Post to": "Publier sur", + "Write relays and {{count}} other relays": "Relais d’écriture et {{count}} autres relais", + "{{count}} relays": "{{count}} relais", + "Republishing...": "Republication en cours...", + "Trending Notes": "Notes tendance", + "Trending on Your Favorite Relays": "Trending on Your Favorite Relays", + "Trending on the Default Relays": "Trending on the Default Relays", + "Latest from your follows": "Latest from your follows", + "Latest from our recommended follows": "Latest from our recommended follows", + "Search page title": "Search Nostr", + "Follows latest page title": "Latest from follows", + "Follows latest page description": "Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.", + "Follows latest nav label": "Follows latest", + "Loading follow list…": "Loading follow list…", + "Could not load recommended follows": "Could not load recommended follows", + "Your follow list is empty": "Your follow list is empty", + "Loading recent posts from follows…": "Loading recent posts from follows…", + "Loading more…": "Loading more…", + "No recent posts from this user in the current fetch": "No recent posts from this user in the current fetch", + "Loading trending notes from your relays...": "Loading trending notes from your relays...", + "Trending on Nostr": "Trending on Nostr", + "Home trending slice notice": "This feed includes a trending slice (nostrarchives). Notes that reached you from that relay show “Trending on Nostr” under the card.", + Sort: "Sort", + newest: "newest", + oldest: "oldest", + "most popular": "most popular", + "least popular": "least popular", + "Connected to": "Connecté à", + "Disconnect Wallet": "Déconnecter le portefeuille", + "Are you absolutely sure?": "Êtes-vous absolument sûr ?", + "You will not be able to send zaps to others.": "Vous ne pourrez plus envoyer de zaps aux autres.", + Disconnect: "Déconnecter", + "Set up your wallet to send and receive sats!": "Configurez votre portefeuille pour envoyer et recevoir des sats !", + "Set up": "Configurer", + "nested events": "nested events", + "Loading RSS feeds...": "Loading RSS feeds...", + "No RSS feed items available": "No RSS feed items available", + "Show or hide the RSS page and sidebar entry": "Show or hide the RSS page and sidebar entry", + "Refreshing feeds...": "Refreshing feeds...", + "All feeds": "All feeds", + "All time": "All time", + "Last hour": "Last hour", + "Last day": "Last day", + "Last week": "Last week", + "Last month": "Last month", + "Last 24 hours": "Last 24 hours", + "Last 48 hours": "Last 48 hours", + "Time range": "Time range", + "Filter by RSS source": "Filter by RSS source", + "No items match your filters": "No items match your filters", + "Search...": "Search...", + "{{count}} feeds": "{{count}} feeds", + "Toggle filters": "Toggle filters", + "Showing {{filtered}} of {{total}} items": "Showing {{filtered}} of {{total}} items", + Full: "Full", + Compact: "Compact", + Expand: "Expand", + "help.title": "Help", + "help.tabShortcuts": "Keyboard shortcuts", + "help.tabOverview": "App overview", + "shortcuts.title": "Keyboard shortcuts", + "shortcuts.intro": "Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.", + "shortcuts.sectionApp": "This app", + "shortcuts.sectionSearch": "Search bar", + "shortcuts.sectionStandard": "Standard", + "shortcuts.openHelp": "Show this help", + "shortcuts.or": "or", + "shortcuts.then": "then", + "shortcuts.focusPrimary": "Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)", + "shortcuts.focusSecondary": "Focus side panel scroll when it is open (desktop; same keys to scroll)", + "shortcuts.newNote": "New note / post (after login if needed)", + "shortcuts.searchSuggest": "Move through suggestions", + "shortcuts.searchDismiss": "Close search dropdown", + "shortcuts.tabNavigate": "Move focus to the next or previous control", + "shortcuts.activate": "Activate buttons and many controls", + "shortcuts.closeOverlays": "Close dialogs, menus, and the search dropdown", + "shortcuts.scrollWhenFocused": "Scroll the focused scrollable area", + "shortcuts.browserBack": "Browser back (history)", + "No spells yet. Create one with the button above.": "No spells yet. Create one with the button above.", + "Loading spells from your relays…": "Loading spells from your relays…", + "Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.": "Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.", + "Select a spell…": "Select a spell…", + "Spells from follows": "From people you follow ({{count}})", + "Other spells": "Other spells ({{count}})", + "Select a spell to view its feed.": "Select a spell to view its feed.", + "Add another row": "Add another row", + "Remove this row": "Remove this row", + "One kind number per row (e.g. 1 for notes).": "One kind number per row (e.g. 1 for notes).", + "One author per row: $me, $contacts, or hex pubkey / npub.": "One author per row: $me, $contacts, or hex pubkey / npub.", + "One hex event id per row.": "One hex event id per row.", + "One wss:// URL per row. Leave empty to use your write relays.": "One wss:// URL per row. Leave empty to use your write relays.", + "One topic per row.": "One topic per row.", + topic: "topic", + "Spell form fields": "Spell form fields", + "Counting matching events…": "Counting matching events…", + "Edit spell": "Edit spell", + "Clone spell": "Clone spell", + "Spell cloned": "Spell cloned", + "Clone spell intro": "This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.", + "Spell updated": "Spell updated", + "Relay URL": "Relay", + Count: "Count", + "Edit spell relays": "Edit relays", + "COUNT spell relay errors hint": "One or more relays failed or returned an error. You can change the relay list in the spell and save again.", + "COUNT spell total distinct explanation": "Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.", + "Leave empty to use your write relays.": "Leave empty to use your write relays.", + "COUNT spell result explanation": "Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.", + "COUNT spell may be capped by limit": "This count may equal your spell limit — there could be more matching events on the network.", + "Spell count failed. Check relays or try again.": "Could not complete the count. Check relays or try again.", + "REQ returns a feed; COUNT returns a number.": "REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.", + listImportManualLabel: "Pre-fill from event", + listImportFromEventHint: "Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.", + listImportManualPlaceholder: "64-char hex, nevent1…, or naddr1…", + listImportLoadManual: "Apply", + listImportContentSkipped: "This event has non-empty content (may include encrypted private items). Only public tags were merged.", + listImportUnsupportedEmoji: "This list includes emoji tags (NIP-30); those are not added to the spell filter.", + listImportUnsupportedTag: "Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.", + listImportBadATag: "Could not parse address tag: {{preview}}…", + listImportATagNotFound: "Could not resolve address tag: {{preview}}…", + listImportATagFailed: "Failed to resolve address tag: {{preview}}…", + listImportEventNotFound: "No event found for that reference.", + "REQ tag filters": "REQ tag filters", + spellFormTagFiltersLabel: "Tag filters on matching events", + spellCreateIntro: "Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.", + spellFormSectionQueryTitle: "Spell query", + spellFormSectionQueryHint: "This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).", + spellFormSectionMetadataTitle: "Listing & labels (optional)", + spellFormSectionMetadataBadge: "Not part of the query", + spellFormSectionMetadataHint: "Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.", + spellFormCatalogTopicsLabel: "Topic labels on this spell (t tags)", + spellTopicsMetadataHint: "One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).", + spellTagFiltersHint: "Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.", + spellTagFiltersEmpty: "No tag filters yet. Add rows below or apply an event reference above.", + "Tag filter letter": "Tag letter", + "Filter value": "Value", + "Add tag filter": "Add tag filter", + spellPickerSectionYours: "Your spells", + "Failed to remove spell from local storage": "Failed to remove spell from local storage", + Spells: "Spells", + "doublePane.secondaryEmpty": "Open a note, profile, or settings item to show it here.", + "doublePane.secondaryEmptyHint": "Your feed and primary pages stay on the left.", + "(empty)": "(empty)", + "12-hour (AM/PM)": "12-hour (AM/PM)", + "24-hour": "24-hour", + "A new version is available": "A new version is available", + "A short description of the article content": "A short description of the article content", + AM: "AM", + "Access via": "Access via", + "Accessed On": "Accessed On", + "Accessed on": "Accessed on", + "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.": "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.", + "Add a relay to block": "Add a relay to block", + "Add at least one invitee": "Add at least one invitee", + "Add client identifier": "Add client identifier", + "Add expiration tags by default": "Add expiration tags by default", + "Add quiet tags by default": "Add quiet tags by default", + "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above": "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above", + "Add the source (where this text is from)": "Add the source (where this text is from)", + "Add to favorites": "Add to favorites", + "Add {{count}} Selected": "Add {{count}} Selected", + "Added at": "Added at", + "Added {{count}} relay(s)": "Added {{count}} relay(s)", + "Adding...": "Adding...", + "Adding…": "Adding…", + "Advanced Options": "Advanced Options", + "All Topics": "All Topics", + "All feeds from OPML file are already added": "All feeds from OPML file are already added", + "All items deleted successfully": "All items deleted successfully", + "Already blocked": "Already blocked", + "Already saved": "Already saved", + "Application Recommendations": "Application Recommendations", + "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.": "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.", + "Are you sure you want to delete all items from this store?": "Are you sure you want to delete all items from this store?", + "Are you sure you want to unmute this user? This will restore the follow button.": "Are you sure you want to unmute this user? This will restore the follow button.", + "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", + "Article exported as AsciiDoc": "Article exported as AsciiDoc", + "Article exported as Markdown": "Article exported as Markdown", + "Article title (optional)": "Article title (optional)", + articleDTagDefaultHint: "Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….", + Audio: "Audio", + Author: "Author", + "Author is required for reading groups": "Author is required for reading groups", + "Author name (optional)": "Author name (optional)", + Authors: "Authors", + "Block Relay": "Block Relay", + "Blocked Relays": "Blocked Relays", + "Blocking...": "Blocking...", + Blossom: "Blossom", + Book: "Book", + "Brief description of the event": "Brief description of the event", + "Brief summary (optional)": "Brief summary (optional)", + "Brief summary of the article (optional)": "Brief summary of the article (optional)", + "Browse Cache": "Browse Cache", + "Search cached events...": "Search cached events...", + "No cached events match your search.": "No cached events match your search.", + "Showing first {{count}} cached event matches.": "Showing first {{count}} cached event matches.", + "Open in store": "Open in store", + "Browse cache root description": "View IndexedDB stores, or search all cached Nostr-like events (content, tags, id, pubkey, kind) across stores.", + "Copy event JSON": "Copy event JSON", + "C-Tag": "C-Tag", + "Cache Relays": "Cache Relays", + "Cache cleared successfully": "Cache cleared successfully", + "Cache refreshed successfully": "Cache refreshed successfully", + "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.": "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.", + "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)": "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)", + "Cache relays saved": "Cache relays saved", + Cancelled: "Cancelled", + Chapter: "Chapter", + "Chapter Title": "Chapter Title", + "Chapter title (optional)": "Chapter title (optional)", + Citation: "Citation", + "Citation title (optional)": "Citation title (optional)", + "Clean up duplicate replaceable events? This will keep only the newest version of each event.": "Clean up duplicate replaceable events? This will keep only the newest version of each event.", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}}": "Cleaned up {{deleted}} duplicate entries, kept {{kept}}", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})": "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})", + "Cleanup Duplicates": "Cleanup Duplicates", + Clear: "Clear", + "Clear Cache": "Clear Cache", + "Clear Service Worker": "Clear Service Worker", + "Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.": "Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.", + "Click update to get the latest features and improvements": "Click update to get the latest features and improvements", + Close: "Close", + "Comma or space-separated topics (will be added as t-tags)": "Comma or space-separated topics (will be added as t-tags)", + Command: "Command", + Configure: "Configure", + "Connect Wallet": "Connect Wallet", + "Console Logs": "Console Logs", + "Console logs cleared": "Console logs cleared", + "Content is required": "Content is required", + "Content must be 5000 characters or less": "Content must be 5000 characters or less", + Controversial: "Controversial", + "Copied!": "Copied!", + "Copy to clipboard": "Copy to clipboard", + "Create Article": "Create Article", + "Create Citation": "Create Citation", + "Create Highlight": "Create Highlight", + "Create New Thread": "Create New Thread", + "Create Poll": "Create Poll", + "Create Thread": "Create Thread", + composeModeKind1: "Short note (kind 1) — turn off other compose types", + "Create a Spell": "Create a Spell", + "Creating...": "Creating...", + "D-Tag": "D-Tag", + "D-Tag is required for articles": "D-Tag is required for articles", + DOI: "DOI", + "Date-based (all-day)": "Date-based (all-day)", + "Default expiration (months)": "Default expiration (months)", + "Default quiet period (days)": "Default quiet period (days)", + "Delete All": "Delete All", + "Delete item": "Delete item", + "Deleted {{count}} event(s)": "Deleted {{count}} event(s)", + "Deletion request sent": "Deletion request sent", + "Description (content)": "Description (content)", + "Digital Object Identifier (optional)": "Digital Object Identifier (optional)", + "Disable word wrap": "Disable word wrap", + "Discovered Relays": "Discovered Relays", + "Discovering relays...": "Discovering relays...", + Discussion: "Discussion", + Discussions: "Discussions", + Downvote: "Downvote", + "Edited by": "Edited by", + Editor: "Editor", + "Editor name (optional)": "Editor name (optional)", + "Enable word wrap": "Enable word wrap", + "End date": "End date", + "End date must be after start date": "End date must be after start date", + "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.": "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.", + "Enter a descriptive title for your thread": "Enter a descriptive title for your thread", + "Enter the author name": "Enter the author name", + "Enter the book title": "Enter the book title", + "Enter the specific text you want to highlight in the main content area above": "Enter the specific text you want to highlight in the main content area above", + "Event IDs (ids)": "Event IDs (ids)", + "Event appears to be invalid or corrupted": "Event appears to be invalid or corrupted", + "Event has no value data": "Event has no value data", + "Event is missing required fields: {{fields}}": "Event is missing required fields: {{fields}}", + "Event type": "Event type", + "Expiration Tags": "Expiration Tags", + "Export OPML": "Export OPML", + "Export as AsciiDoc": "Export as AsciiDoc", + "Export as Markdown": "Export as Markdown", + "External Citation": "External Citation", + "External Citation Settings": "External Citation Settings", + "Failed to add relay. Please try again.": "Failed to add relay. Please try again.", + "Failed to add relays": "Failed to add relays", + "Failed to block relay. Please try again.": "Failed to block relay. Please try again.", + "Failed to cleanup duplicates": "Failed to cleanup duplicates", + "Failed to clear cache": "Failed to clear cache", + "Failed to copy": "Failed to copy", + "Failed to create relay set. Please try again.": "Failed to create relay set. Please try again.", + "Failed to create thread": "Failed to create thread", + "Failed to create thread. Please try a different relay.": "Failed to create thread. Please try a different relay.", + "Failed to delete all items": "Failed to delete all items", + "Failed to delete item": "Failed to delete item", + "Failed to discover relays": "Failed to discover relays", + "Failed to export OPML file": "Failed to export OPML file", + "Failed to export article": "Failed to export article", + "Failed to import OPML file: {{error}}": "Failed to import OPML file: {{error}}", + "Failed to load RSS feeds": "Failed to load RSS feeds", + "Failed to load store items": "Failed to load store items", + "Failed to mute user privately": "Failed to mute user privately", + "Failed to mute user publicly": "Failed to mute user publicly", + "Failed to pin note": "Failed to pin note", + "Failed to publish post": "Failed to publish post", + "Failed to publish reply": "Failed to publish reply", + "Failed to publish reaction": "Failed to publish reaction", + "Failed to publish thread": "Failed to publish thread", + "Failed to publish to some relays. Please try again or use different relays.": "Failed to publish to some relays. Please try again or use different relays.", + "Failed to save RSS feeds": "Failed to save RSS feeds", + "Failed to save cache relays": "Failed to save cache relays", + "Failed to save relay list": "Failed to save relay list", + "Failed to unregister service worker: ": "Failed to unregister service worker: ", + "Failed to unsubscribe from topic": "Failed to unsubscribe from topic", + Favorite: "Favorite", + Fetch: "Fetch", + "Fetch once, then stop.": "Fetch once, then stop.", + "Filter by": "Filter by", + "Flat View": "Flat View", + "Font size": "Font size", + "Full Quote/Context": "Full Quote/Context", + "Full-text search query": "Full-text search query", + Geohash: "Geohash", + "Geohash (optional)": "Geohash (optional)", + "Global quiet mode": "Global quiet mode", + "Group discussions by topic": "Group discussions by topic", + "Grouped View": "Grouped View", + Groups: "Groups", + "Handler {{index}}": "Handler {{index}}", + "Hardcopy Citation": "Hardcopy Citation", + "Hardcopy Citation Settings": "Hardcopy Citation Settings", + Hide: "Hide", + "Hide interactions on all posts": "Hide interactions on all posts", + "Hide interactions on posts with quiet tags": "Hide interactions on posts with quiet tags", + "High PoW": "High PoW", + "Higher values make your thread harder to mine but more unique.": "Higher values make your thread harder to mine but more unique.", + Highlight: "Highlight", + "Highlight Settings": "Highlight Settings", + "How to Create a Highlight (NIP-84)": "How to Create a Highlight (NIP-84)", + "Human-readable spell name": "Human-readable spell name", + "Image URL": "Image URL", + "Import OPML": "Import OPML", + "Imported {{count}} feed(s) from OPML file": "Imported {{count}} feed(s) from OPML file", + "In-Browser Cache": "In-Browser Cache", + Insert: "Insert", + "Insert URL into your post and publish to Nostr GIF library (NIP-94).": "Insert URL into your post and publish to Nostr GIF library (NIP-94).", + "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.": "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.", + "Insert event or address": "Insert event or address", + "Insert mention": "Insert mention", + "Internal Citation": "Internal Citation", + "Internal Citation Settings": "Internal Citation Settings", + "Invalid Event": "Invalid Event", + "Invalid Lightning Address": "Invalid Lightning Address", + "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.": "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.", + "Invalid URL": "Invalid URL", + "Invalid content JSON": "Invalid content JSON", + "Invalid relay URL": "Invalid relay URL", + "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.": "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.", + "Item deleted successfully": "Item deleted successfully", + JSON: "JSON", + "Join link": "Join link", + "Journal/Publication name (optional)": "Journal/Publication name (optional)", + Json: "JSON", + Kinds: "Kinds", + "Language Model": "Language Model", + Large: "Large", + "Leave empty for HiveTalk, or paste Zoom / Teams / other link": "Leave empty for HiveTalk, or paste Zoom / Teams / other link", + "Lightning payment failed": "Lightning payment failed", + Limit: "Limit", + "Live feed; keeps updating.": "Live feed; keeps updating.", + "Loading more...": "Loading more...", + "Loading relays...": "Loading relays...", + "Location (optional)": "Location (optional)", + "Log in to run this spell (it uses $me or $contacts).": "Log in to run this spell (it uses $me or $contacts).", + "Login failed": "Login failed", + "nip07.extensionKeyMismatch": "Your browser extension is using a different key on this tab. Switch to the matching key in the extension, or reload the page to apply your extension's current selection.", + "nip07.reloadPage": "Reload page", + "Login to configure RSS feeds": "Login to configure RSS feeds", + "Long-form Article": "Long-form Article", + "Mailbox relays saved": "Mailbox relays saved", + "Mark as NSFW": "Mark as NSFW", + "Maximum {{max}} invitees": "Maximum {{max}} invitees", + "Maximum {{max}} invitees allowed": "Maximum {{max}} invitees allowed", + Medium: "Medium", + Mode: "Mode", + "Most Zapped": "Most Zapped", + "Move to top": "Move to top", + "Multiple choice": "Multiple choice", + "Mute failed": "Mute failed", + NSFW: "NSFW", + Name: "Name", + "Name of the language model used": "Name of the language model used", + "New External Citation": "New External Citation", + "New Hardcopy Citation": "New Hardcopy Citation", + "New Highlight": "New Highlight", + "New Internal Citation": "New Internal Citation", + "New Long-form Article": "New Long-form Article", + "New Poll": "New Poll", + "New Discussion": "New Discussion", + "New Prompt Citation": "New Prompt Citation", + "New Public Message": "New Public Message", + "New Wiki Article": "New Wiki Article", + "New Wiki Article (Markdown)": "New Wiki Article (Markdown)", + Newest: "Newest", + "No JSON available": "No JSON available", + "No RSS feeds found in OPML file": "No RSS feeds found in OPML file", + "No cached data found.": "No cached data found.", + "No console logs captured yet": "No console logs captured yet", + "No events found": "No events found", + "No feeds configured. Default feed will be used.": "No feeds configured. Default feed will be used.", + "No feeds to export": "No feeds to export", + "No groups available. Join some groups first.": "No groups available. Join some groups first.", + "No items in this store.": "No items in this store.", + "No items match your search.": "No items match your search.", + "No logs match the current filters": "No logs match the current filters", + "No posts found": "No posts found", + "No posts match your search": "No posts match your search", + "No relays available. Please configure relays in settings.": "No relays available. Please configure relays in settings.", + "No service workers or caches found for this app": "No service workers or caches found for this app", + "No users found": "No users found", + "No valid RSS feed URLs found in OPML file": "No valid RSS feed URLs found in OPML file", + "Note pinned": "Note pinned", + "Note unpinned": "Note unpinned", + Oldest: "Oldest", + "Open Timestamp": "Open Timestamp", + "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.": "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.", + "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.": "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.", + Optional: "Optional", + "Optional image for the event": "Optional image for the event", + "Optionally, add the full quote/context to show your highlight within it": "Optionally, add the full quote/context to show your highlight within it", + PM: "PM", + "Page Range": "Page Range", + Pages: "Pages", + "Paste URL of a GIF": "Paste URL of a GIF", + "Paste URL of a meme image": "Paste URL of a meme image", + "Paste the entire original passage that contains your highlight": "Paste the entire original passage that contains your highlight", + Photo: "Photo", + "Picture Note": "Picture Note", + "Pin note": "Pin note", + "Plain text description of the query": "Plain text description of the query", + "Please login to view bookmarks": "Please login to view bookmarks", + "Please login to view favorites": "Please login to view favorites", + "Please select a group": "Please select a group", + "Please select at least one relay": "Please select at least one relay", + "Please set a start date": "Please set a start date", + "Poll with no options": "Poll with no options", + "Post published to some relays": "Post published to some relays", + "Posts will automatically include expiration tags": "Posts will automatically include expiration tags", + "Posts will automatically include quiet tags": "Posts will automatically include quiet tags", + "Posts will be quiet for this many days": "Posts will be quiet for this many days", + "Posts will expire after this many months": "Posts will expire after this many months", + "Processing...": "Processing...", + "Profile event not available": "Profile event not available", + "Prompt Citation": "Prompt Citation", + "Prompt Citation Settings": "Prompt Citation Settings", + "Prompt Conversation Script": "Prompt Conversation Script", + "Proof of Work": "Proof of Work", + "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post": "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post", + "Publish to Relays": "Publish to Relays", + "Published By": "Published By", + "Published In": "Published In", + "Published On": "Published On", + "Published in": "Published in", + "Published on": "Published on", + "Publisher name (optional)": "Publisher name (optional)", + "Quiet Tags": "Quiet Tags", + "RSS Feed": "RSS Feed", + "RSS + Web": "RSS + Web", + "RSS feed source": "RSS feed source", + "All feed sources": "All feed sources", + "RSS feed view mode": "RSS feed view mode", + "Article URLs": "Article URLs", + "Article URLs subtitle": "One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.", + "Article URLs Nostr manual subtitle": "Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.", + "RSS feed column title": "RSS & linked articles", + "RSS feed column subtitle": "Feed entries and article cards that include at least one item from your subscribed RSS feeds.", + "RSS timeline": "RSS timeline", + "RSS timeline subtitle": "Every item from your subscribed feeds, newest first — classic RSS reader.", + URLs: "URLs", + RSS: "RSS", + "No URL-only items yet": "No URL-only items yet", + "Respond to this RSS entry": "Respond to this RSS entry", + "RSS read-only thread hint": "Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.", + "RSS feed item label": "RSS", + "Web URL item label": "Web URL", + "URL thread activity": "URL thread activity", + "Suppress Clawstr links in RSS previews": "Hide clawstr.com in RSS and URL feed", + "Hide local, media & feed URLs from URL cards": "Hide local, media, feed, document & XML links from the feed", + "RSS articles": "RSS articles", + "Web comments": "Web comments", + "Web highlights": "Web highlights", + "In your bookmarks": "In your bookmarks", + "{{count}} RSS entries for this URL": "{{count}} RSS entries for this URL", + "{{count}} entries for this article URL": "{{count}} entries for this article URL", + "No comments yet": "No comments yet", + "No highlights yet": "No highlights yet", + "Showing {{filtered}} of {{total}} entries": "Showing {{filtered}} of {{total}} entries", + standardRssFeed_spotifeed: "Spotify playlist (Spotifeed)", + standardRssFeed_youtube: "YouTube feed", + standardRssFeed_youtubeChannel: "YouTube channel feed", + standardRssFeed_youtubePlaylist: "YouTube playlist feed", + standardRssFeed_feedburner: "FeedBurner", + standardRssFeed_reddit: "Reddit RSS", + standardRssFeed_substack: "Substack", + standardRssFeed_medium: "Medium", + "RSS Feed Settings": "RSS Feed Settings", + "Follow sets": "Follow sets", + "Personal Lists": "Personal Lists", + "Personal lists hub intro": "Open mute list, following, bookmarks list, pinned notes, interest topics (kind 10015), your NIP-30 user emoji list (kind 10030), and emoji set packs (kind 30030) on their own pages. Follow sets are below. Web page bookmarks (NIP-B0, kind 39701) are separate—save from an article’s panel or use the Bookmarks spell for a mixed feed.", + "Mute list": "Mute list", + "Following list": "Following list", + "Bookmarks list": "Bookmarks list", + "Pinned notes list": "Pinned notes list", + "Interests list": "Interests list", + "User emoji list": "User emoji list (kind 10030)", + "Emoji sets": "Emoji sets (kind 30030)", + "User emoji list title": "{{username}}'s emoji list", + "User emoji list intro": "NIP-30: inline custom emoji (`emoji` tags) and references to your kind 30030 packs (`a` tags). Publish when you are done editing.", + "User emoji list saved": "Emoji list published", + "User emoji inline section": "Inline emoji", + "User emoji inline empty": "No inline emoji yet. Add a shortcode and image URL below.", + "User emoji inline invalid": "Enter a shortcode and a non-empty image URL.", + "User emoji sets section": "Emoji set references", + "User emoji sets hint": "Add a coordinate in the form 30030:<64-hex pubkey>:, usually one of your own emoji sets from the Emoji sets page.", + "User emoji sets empty": "No emoji set references yet.", + "User emoji set ref invalid": "Invalid coordinate. Use 30030::.", + "User emoji set ref duplicate": "That emoji set is already in the list.", + "Emoji set coordinate": "Emoji set (a tag)", + "Publish changes": "Publish changes", + Shortcode: "Shortcode", + "Emoji sets settings intro": "NIP-30 emoji packs (kind 30030): each set has a `d` tag and `emoji` entries (shortcode + image URL). Publish from the editor dialog.", + "New emoji set": "New emoji set", + "Edit emoji set": "Edit emoji set", + "No emoji sets yet": "You have not created any emoji sets yet.", + "Emoji set saved": "Emoji set saved", + "Emoji set deleted": "Emoji set deleted", + "Failed to load emoji sets": "Failed to load emoji sets", + "emoji entries": "emoji", + "Emoji set d tag hint": "Stable identifier for this pack. It cannot be changed after the first publish.", + "Emoji pack entries": "Emoji in this pack", + "No emoji entries in pack": "No emoji in this pack yet.", + "Delete emoji set?": "Delete this emoji set?", + "Delete emoji set confirm": "This sends a deletion request (kind 5). Relays that accept it will drop the set; others may still show a cached copy.", + "Interests list section subtitle": "Topics you follow for hashtag feeds and the Interests spell. Stored on Nostr as kind 10015 (`t` tags).", + "Interest topic placeholder": "topic or #hashtag", + "Interest list add topic": "Add topic", + "Interest topic invalid": "Enter a valid topic (letters, numbers, hyphens, underscores).", + "No interest topics in list": "No subscribed topics yet. Add one above or subscribe from a hashtag page.", + "username's interest topics": "{{username}}'s interest topics", + "Remove from interest list": "Remove from interest list", + "Personal lists interests spell hint": "For a combined feed of all subscribed topics, use the", + "Interests spell": "Interests spell", + "Personal lists bookmarks spell hint": "For a note feed from NIP-51 bookmarks, use the", + "Bookmarks spell": "Bookmarks spell", + "Pinned notes hint": "Pinned notes: use the note menu (⋯) on a note and choose pin to profile. Pins appear on your profile.", + "Bookmarks list section title": "Bookmarks list", + "Bookmarks list section subtitle": "Events referenced by `e` / `a` tags on your kind 10003 bookmark list (newest first).", + "No entries in bookmark list": "Your bookmark list is empty.", + "View bookmarks as feed in Spells": "View bookmarks as a note feed in Spells", + "Pinned notes list section title": "Pinned notes list", + "Pinned notes list section subtitle": "Events referenced by `e` / `a` tags on your kind 10001 pin list (same order as on your profile).", + "Loading pin list": "Loading pin list…", + "No pinned notes in list": "No pinned notes in your pin list yet.", + "username's bookmarks": "{{username}}'s bookmarks", + "username's pinned notes": "{{username}}'s pinned notes", + "Event not loaded": "Event not loaded", + "No NIP-51 bookmarks or web bookmarks yet.": "No NIP-51 bookmarks or web bookmarks yet.", + "Web bookmarks": "Web bookmarks", + "Web bookmark": "Web bookmark", + "Web bookmarks NIP intro": "Web bookmarks are stored as kind 39701 events, not in your NIP-51 bookmark list.", + "Log in to save web bookmarks": "Log in to save web bookmarks for this page (NIP-B0, kind 39701).", + "Remove web bookmark": "Remove web bookmark", + "No web bookmark for this URL yet": "You have not saved a web bookmark for this URL yet.", + "Page title": "Page title", + "Short description": "Short description", + "Save web bookmark": "Save web bookmark", + "Sign in to publish web bookmark": "Please log in with a signing key to save web bookmarks.", + "Follow sets settings intro": "NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.", + "New follow set": "New follow set", + "Edit follow set": "Edit follow set", + "No follow sets yet": "You have not created any follow sets yet.", + "Follow set saved": "Follow set saved", + "Follow set deleted": "Follow set deleted", + "Failed to load follow sets": "Failed to load follow sets", + members: "members", + "Optional display title": "Optional display title", + "List id (d tag)": "List id (d tag)", + "Follow set d tag hint": "Stable identifier for this list. It cannot be changed after the first publish.", + "People in this list": "People in this list", + "Delete follow set?": "Delete this follow set?", + "Delete follow set confirm": "This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.", + "Clean list": "Clean list", + "Clean this list?": "Clean this list?", + "Clean list confirm": "This will publish a fresh, empty replacement for this list (all entries removed). This cannot be undone.", + "Clean follows list confirm with backup": "Before cleaning your follows (kind 3), the current list snapshot will be published to follows history relays. Then a fresh, empty follows list will be published. Continue?", + "List cleaned": "List cleaned", + "Failed to clean list": "Failed to clean list", + "Remove feed": "Remove feed", + "RSS Feeds": "RSS Feeds", + "RSS feeds exported to OPML file": "RSS feeds exported to OPML file", + "RSS feeds saved": "RSS feeds saved", + "Rate limited. Please wait before trying again.": "Rate limited. Please wait before trying again.", + "Reaction published": "Reaction published", + "Reaction published to some relays": "Reaction published to some relays", + "Reaction removed": "Reaction removed", + "Read full article": "Read full article", + "Reading group entry": "Reading group entry", + "Readings Options": "Readings Options", + Recipients: "Recipients", + "Recipients detected from your message:": "Recipients detected from your message:", + "Recommended Relays": "Recommended Relays", + "Recommended applications for handling events of kind {{kind}}": "Recommended applications for handling events of kind {{kind}}", + "Reference to the cited Nostr event in kind:pubkey:hex format": "Reference to the cited Nostr event in kind:pubkey:hex format", + "Refresh Cache": "Refresh Cache", + "Refreshing posts...": "Refreshing posts...", + "Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.": "Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.", + Relay: "Relay", + "Relay Hint": "Relay Hint", + "Relay URL (optional)": "Relay URL (optional)", + "Relay blocked successfully": "Relay blocked successfully", + "Relay requires authentication for write access. Please try a different relay or contact the relay operator.": "Relay requires authentication for write access. Please try a different relay or contact the relay operator.", + "Relay set options": "Relay set options", + "Remove from favorites": "Remove from favorites", + Rendered: "Rendered", + "Reply published": "Reply published", + "Reply published to some relays": "Reply published to some relays", + "Reply to Public Message": "Reply to Public Message", + "Republish to all active relays": "Republish to all active relays", + "Republish to all available relays": "Republish to all available relays", + "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.": "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.", + "Required: start time or start date. Optional: title, end, location, summary, topics, image.": "Required: start time or start date. Optional: title, end, location, summary, topics, image.", + "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Respect quiet tags": "Respect quiet tags", + "Search (NIP-50)": "Search (NIP-50)", + "Search by name or npub…": "Search by name or npub…", + "Search calendar, publications, wiki…": "Search calendar, publications, wiki…", + "Search for user…": "Search for user…", + "Search items...": "Search items...", + "Search logs...": "Search logs...", + "Search notes, threads, long-form…": "Search notes, threads, long-form…", + "Search on GifBuddy": "Search on GifBuddy", + "Search on Meme Amigo": "Search on Meme Amigo", + "Search posts...": "Search posts...", + "Search threads by title, content, tags, npub, author...": "Search threads by title, content, tags, npub, author...", + "Searching all available relays...": "Searching all available relays...", + "Searching…": "Searching…", + "See reference": "See reference", + "Select Group": "Select Group", + "Select Media Type": "Select Media Type", + "Select group...": "Select group...", + "Select relays": "Select relays", + "Publish relay cap hint": "At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.", + "Publish relay cap hint with outbox first": "At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.", + "Select the group where you want to create this discussion.": "Select the group where you want to create this discussion.", + "Select topic...": "Select topic...", + "Selected text": "Selected text", + "Send Public Message": "Send Public Message", + "Send a Lightning payment to this user": "Send a Lightning payment to this user", + "Service worker caches cleared. Please reload the page.": "Service worker caches cleared. Please reload the page.", + "Service worker unregistered and caches cleared. Please reload the page.": "Service worker unregistered and caches cleared. Please reload the page.", + "Service worker unregistered. Please reload the page.": "Service worker unregistered. Please reload the page.", + "Share your thoughts, ask questions, or start a discussion...": "Share your thoughts, ask questions, or start a discussion...", + "Short Video Note": "Short Video Note", + "Show RSS Feed": "Show RSS Feed", + "Show all discussions in a single list": "Show all discussions in a single list", + "Show less": "Show less", + Since: "Since", + Small: "Small", + "Some relays have temporarily disabled writes.": "Some relays have temporarily disabled writes.", + Source: "Source", + "Spell definition": "Spell definition", + "Spell published": "Spell published", + "Start date": "Start date", + "Start typing to see a preview...": "Start typing to see a preview...", + "Subject (Book Title)": "Subject (Book Title)", + "Subject (book title) is required for reading groups": "Subject (book title) is required for reading groups", + "Subject / Topics": "Subject / Topics", + Subscribe: "Subscribe", + Subscribed: "Subscribed", + "Subscribed to topic": "Subscribed to topic", + "Subscribed to topic (local)": "Subscribed to topic (local)", + "Subscribing...": "Subscribing...", + Summary: "Summary", + "Supported Event Types": "Supported Event Types", + "Take a note": "Take a note", + "The full prompt conversation (optional)": "The full prompt conversation (optional)", + "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.": "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.", + "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.": "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.", + "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.": "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.", + "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a Nostr event of kind {{kind}}.": "This GIF was found in a Nostr event of kind {{kind}}.", + "This file could be either audio or video. Please select the correct type:": "This file could be either audio or video. Please select the correct type:", + "This store does not contain replaceable events": "This store does not contain replaceable events", + "This will add additional tags for author and subject to help organize reading group discussions.": "This will add additional tags for author and subject to help organize reading group discussions.", + "Thread Content": "Thread Content", + "Thread Title": "Thread Title", + "Thread creation timed out. Please try again.": "Thread creation timed out. Please try again.", + "Thread published": "Thread published", + "Threads are organized by topics. Choose a topic that best fits your discussion.": "Threads are organized by topics. Choose a topic that best fits your discussion.", + "Time-based": "Time-based", + "Title is required": "Title is required", + "Title must be 100 characters or less": "Title must be 100 characters or less", + "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.": "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.", + Top: "Top", + Topic: "Topic", + URL: "URL", + "URL of the article cover image (optional)": "URL of the article cover image (optional)", + "Unique identifier for this article (required)": "Unique identifier for this article (required)", + "Unmute failed": "Unmute failed", + "Unpin note": "Unpin note", + Unsubscribe: "Unsubscribe", + "Unsubscribed from topic": "Unsubscribed from topic", + "Unsubscribing...": "Unsubscribing...", + Until: "Until", + Untitled: "Untitled", + Update: "Update", + "Updating...": "Updating...", + "Upload Audio Comment": "Upload Audio Comment", + "Upload Audio Message": "Upload Audio Message", + "Upload Media": "Upload Media", + "Media kind": "Media kind", + "Use image/audio/video note kind for the media URL in the editor": "Use image/audio/video note kind for the media URL in the editor", + "Already publishing as a media note": "Already publishing as a media note", + "No media URL in note — upload or paste a link first": "No media URL in note — upload or paste a link first", + "Cannot infer media type from URL — use Note type → Media Note to upload": "Cannot infer media type from URL — use Note type → Media Note to upload", + "Media kind (disabled): add imeta tags, a media URL, or upload media first": "Media kind (disabled): add imeta tags, a media URL, or upload media first", + Upvote: "Upvote", + "User unmuted": "User unmuted", + "Version number (optional)": "Version number (optional)", + Video: "Video", + "Video Note": "Video Note", + "Video file": "Video file", + "View Console Logs": "View Console Logs", + "View JSON": "View JSON", + "View cached items in this store.": "View cached items in this store.", + "View definition": "View definition", + "View details about cached data in IndexedDB stores. Click on a store to view its items.": "View details about cached data in IndexedDB stores. Click on a store to view its items.", + "View on Alexandria": "View on Alexandria", + "View on DecentNewsroom": "View on DecentNewsroom", + "View on Wikistr": "View on Wikistr", + "View recent console logs for debugging": "View recent console logs for debugging", + "Voice Comment": "Voice Comment", + "Voice Note": "Voice Note", + "Voice note or audio file": "Voice note or audio file", + Volume: "Volume", + "Volume number (optional)": "Volume number (optional)", + "Vote published": "Vote published", + "Vote removed": "Vote removed", + "Website where LLM was accessed (optional)": "Website where LLM was accessed (optional)", + "Wiki Article (AsciiDoc)": "Wiki Article (AsciiDoc)", + "Wiki Article (Markdown)": "Wiki Article (Markdown)", + "You can only delete your own notes": "You can only delete your own notes", + "You must be logged in to create a thread": "You must be logged in to create a thread", + "You need to add at least one media server in order to upload media files.": "You need to add at least one media server in order to upload media files.", + "You need to login first": "You need to login first", + "Your account is blocked from posting to this relay.": "Your account is blocked from posting to this relay.", + Zap: "Zap", + "Zap failed": "Zap failed", + created_at: "created_at", + "e tag of kind 1040 event (optional)": "e tag of kind 1040 event (optional)", + "e.g. meetup, conference": "e.g. meetup, conference", + "e.g., 123-145 (optional)": "e.g., 123-145 (optional)", + "e.g., GPT-4, Claude, etc. (required)": "e.g., GPT-4, Claude, etc. (required)", + "e.g., my-article-title": "e.g., my-article-title", + entries: "entries", + "from Bunker": "from Bunker", + "from Extension": "from Extension", + "from NIP-05": "from NIP-05", + general: "general", + "https://example.com (required)": "https://example.com (required)", + "https://example.com/image.jpg": "https://example.com/image.jpg", + id: "id", + items: "items", + kind: "kind", + "kind:pubkey:hex format (required)": "kind:pubkey:hex format (required)", + "last updated": "last updated", + matching: "matching", + naddr: "naddr", + nevent: "nevent", + "nevent1..., naddr1..., note1..., hex ID, or https://...": "nevent1..., naddr1..., note1..., hex ID, or https://...", + "no notes found": "no notes found", + of: "of", + "on note": "on note", + optional: "optional", + pubkey: "pubkey", + "sent a public message": "sent a public message", + "sent you a public message": "sent you a public message", + "sent you a public message (along with {{count}} others)": "sent you a public message (along with {{count}} others)", + sig: "sig", + "started a discussion in {{topic}}": "started a discussion in {{topic}}", + tags: "tags", + thread: "thread", + threads: "threads", + "topic1, topic2, topic3": "topic1, topic2, topic3", + "{{count}} relay(s) selected": "{{count}} relay(s) selected", + "🔞 NSFW 🔞": "🔞 NSFW 🔞", + "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).": "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).", + "Compressing on your device before upload (large videos can take several minutes)…": "Compressing on your device before upload (large videos can take several minutes)…", + "Failed to refresh": "Failed to refresh", + "Invalid article link.": "Invalid article link.", + Likes: "Likes", + "Loading…": "Loading…", + "Missing pubkey": "Missing pubkey", + "No RSS feed list found on relays": "No RSS feed list found on relays", + "Pinned posts": "Pinned posts", + "Publishing...": "Publishing...", + "RSS article": "RSS article", + "RSS feed list refreshed": "RSS feed list refreshed", + "Save or discard your changes before refreshing from relays": "Save or discard your changes before refreshing from relays", + "Suggested topics": "Suggested topics", + "Synthetic event (no author)": "Synthetic event (no author)", + "Topic is required": "Topic is required", + "Type a topic or pick from the list": "Type a topic or pick from the list", + "Uploading to media server…": "Uploading to media server…", + profileEditorRefreshCacheHint: "profileEditorRefreshCacheHint", + startupSessionHydrating: "startupSessionHydrating", + "AI / LLM prompt citation": "AI / LLM prompt citation", + "AsciiDoc wiki contribution": "AsciiDoc wiki contribution", + "Attach image, audio, or video": "Attach image, audio, or video", + Citations: "Citations", + "Cite from external source": "Cite from external source", + "Cite from private relay": "Cite from private relay", + "Create a voting poll": "Create a voting poll", + "Create custom event": "Create custom event", + "Create event with custom kind": "Create event with custom kind", + "Custom Event": "Custom Event", + "Custom tag…": "Custom tag…", + Dismiss: "Dismiss", + "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.": "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.", + "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).": "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).", + "Failed to rebroadcast entire publication: {{error}}": "Failed to rebroadcast entire publication: {{error}}", + "Feed filter kind": "Feed filter kind", + "Feed filter kind hint": "Feed filter kind hint", + "Feed filter kind invalid": "Feed filter kind invalid", + "Feed filter kind placeholder": "Feed filter kind placeholder", + "Invalid event fields": "Invalid event fields", + "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).": "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).", + "Markdown article (NIP-23)": "Markdown article (NIP-23)", + "Markdown wiki contribution": "Markdown wiki contribution", + "Media Note": "Media Note", + "No publication events found for rebroadcast": "No publication events found for rebroadcast", + "No publication events were accepted by any relay": "No publication events were accepted by any relay", + "Note type": "Note type", + "Offline mode": "Offline mode", + "Only local relays and cached content are available.": "Only local relays and cached content are available.", + "Physical source citation": "Physical source citation", + "Plain text note (kind 1)": "Plain text note (kind 1)", + "Private relay publication": "Private relay publication", + "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).": "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).", + "Public Message": "Public Message", + "Public direct message (kind 4)": "Public direct message (kind 4)", + "Publication Note": "Publication Note", + "Rebroadcast entire publication": "Rebroadcast entire publication", + "Rebroadcast entire publication to ...": "Rebroadcast entire publication to ...", + "Rebroadcasted entire publication": "Rebroadcasted entire publication", + "Rebroadcasting entire publication...": "Rebroadcasting entire publication...", + "Save a quote or passage": "Save a quote or passage", + "Save data": "Save data", + "Set kind, content, and tags, then publish.": "Set kind, content, and tags, then publish.", + "Short Note": "Short Note", + "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.": "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.", + "Slow connection detected": "Slow connection detected", + "Start a discussion thread": "Start a discussion thread", + "This action is only available for publications": "This action is only available for publications", + "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.": "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.", + Thread: "Thread", + "Turn on low-bandwidth mode to reduce data usage.": "Turn on low-bandwidth mode to reduce data usage.", + "Turn on low-bandwidth mode? This will set: {{changes}}.": "Turn on low-bandwidth mode? This will set: {{changes}}.", + "Unsigned experimental kind": "Unsigned experimental kind", + "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.": "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.", + "media loading off": "media loading off", + profileEditorDuplicateSingleton: "profileEditorDuplicateSingleton", + profileEditorEditBannerUrl: "profileEditorEditBannerUrl", + profileEditorEditPictureUrl: "profileEditorEditPictureUrl", + profileEditorImageUrlHint: "profileEditorImageUrlHint", + profileEditorNostrBuildThumbHint: "profileEditorNostrBuildThumbHint", + profileEditorProfileNotLoaded: "profileEditorProfileNotLoaded", + profileEditorTagListHint: "profileEditorTagListHint", + "readOnlySession.hint": "readOnlySession.hint", + "readOnlySession.label": "readOnlySession.label", + "readOnlySession.labelShort": "readOnlySession.labelShort", + "video autoplay off": "video autoplay off", } } diff --git a/src/i18n/locales/hi.ts b/src/i18n/locales/hi.ts deleted file mode 100644 index 08318ea1..00000000 --- a/src/i18n/locales/hi.ts +++ /dev/null @@ -1,1839 +0,0 @@ -export default { - translation: { - 'Welcome! 🥳': 'स्वागत है! 🥳', - About: 'के बारे में', - 'New Note': 'नया नोट', - Post: 'पोस्ट', - Home: 'होम', - Feed: 'Feed', - 'Favorite Relays': 'पसंदीदा रिले', - 'Relay pulse': 'Relay pulse', - 'Relay pulse empty': 'Quiet on your relays in the last hour.', - 'Relay pulse follows': 'Following ({{count}})', - 'Relay pulse others': 'Others ({{count}})', - 'Relay pulse updated': 'Updated {{relative}}', - 'Relay pulse active npubs': 'Active npubs', - 'Relay pulse active npubs hint': - 'Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).', - 'Relay pulse drawer following': 'Following', - 'Relay pulse drawer others': 'Others', - 'Relay pulse drawer no profiles': 'No kind 0 profiles loaded for this sample yet.', - 'See the newest notes from your follows': 'See the newest notes from your follows', - 'All favorite relays': 'सभी पसंदीदा रिले', - 'Pinned note': 'Pinned note', - 'Relay settings': 'रिले सेटिंग्स', - Settings: 'सेटिंग्स', - 'Account menu': 'Account menu', - SidebarRelays: 'रिले', - Refresh: 'रीफ्रेश', - 'refresh.longPressHardReload': 'Long-press: reload app and restore feed cache', - 'link.expandNostrEmbed': 'Show Nostr preview', - Profile: 'प्रोफ़ाइल', - Logout: 'लॉगआउट', - Following: 'फॉलो कर रहे हैं', - followings: 'फॉलोइंग', - boosted: 'बूस्ट किया', - 'Boosted by:': 'Boosted by:', - 'just now': 'अभी', - 'n minutes ago': '{{n}} मिनट पहले', - 'n m': '{{n}}मि', - 'n hours ago': '{{n}} घंटे पहले', - 'n h': '{{n}}घं', - 'n days ago': '{{n}} दिन पहले', - 'n d': '{{n}}दि', - date: '{{timestamp, date}}', - Follow: 'फॉलो करें', - Unfollow: 'अनफॉलो करें', - 'Follow failed': 'फॉलो असफल', - 'Unfollow failed': 'अनफॉलो असफल', - 'show new notes': 'नए नोट्स दिखाएं', - 'loading...': 'लोड हो रहा है...', - 'Loading...': 'लोड हो रहा है...', - 'no more notes': 'कोई और नोट नहीं', - 'calendar entries': 'calendar entries', - 'Loading calendar events...': 'Loading calendar events...', - 'No calendar events found': 'No calendar events found', - 'Calendar events in the next {{count}} months': 'Calendar events in the next {{count}} months', - 'The nostr.band relay appears to be temporarily out of service. Please try again later.': - 'The nostr.band relay appears to be temporarily out of service. Please try again later.', - 'reply to': 'का उत्तर', - reply: 'उत्तर', - Reply: 'उत्तर', - 'load more older replies': 'अधिक पुराने उत्तर लोड करें', - 'Write something...': 'कुछ लिखें...', - Cancel: 'रद्द करें', - Mentions: 'उल्लेख', - 'Search for event or address…': 'Search for event or address…', - 'Search notes…': 'Search notes…', - 'No notes found': 'No notes found', - 'Failed to post': 'पोस्ट असफल', - 'Post successful': 'पोस्ट सफल', - 'Your post has been published': 'आपकी पोस्ट प्रकाशित हो गई है', - Boost: 'बूस्ट', - 'Boost published': 'बूस्ट प्रकाशित', - Quote: 'उद्धरण', - 'Copy event ID': 'इवेंट आईडी कॉपी करें', - 'Copy user ID': 'यूजर आईडी कॉपी करें', - 'Send public message': 'Send public message', - 'View raw event': 'कच्चा इवेंट देखें', - 'Edit this event': 'Edit this event', - 'Clone or fork this event': 'Clone or fork this event', - 'Event kind': 'Event kind', - 'Note content': 'Note content', - Publish: 'Publish', - 'Post published': 'Post published', - 'Edit content and tags, then publish a new signed event.': - 'Edit content and tags, then publish a new signed event.', - 'Log in to publish': 'Log in to publish', - 'Set when you publish': 'set when you publish', - 'id and sig are assigned when you publish': 'id and sig are assigned when you publish', - 'Published to some relays only': 'Published to some relays only', - 'Add field': 'Add field', - 'View full profile': 'View full profile', - Like: 'पसंद', - 'switch to light theme': 'लाइट थीम पर स्विच करें', - 'switch to dark theme': 'डार्क थीम पर स्विच करें', - 'switch to system theme': 'सिस्टम थीम पर स्विच करें', - Note: 'नोट', - note: 'नोट', - "username's following": '{{username}} के फॉलोइंग', - "username's used relays": '{{username}} के उपयोग किए गए रिले', - "username's muted": '{{username}} के म्यूट किए गए', - Login: 'लॉगिन', - downloadDesktopApp: 'Download app', - 'Please log in to view notifications.': 'Please log in to view notifications.', - 'Follows you': 'आपको फॉलो करता है', - 'Relay Settings': 'रिले सेटिंग्स', - 'Relays and Storage Settings': 'Relays and Storage Settings', - 'Relay set name': 'रिले सेट नाम', - 'Add a new relay set': 'नया रिले सेट जोड़ें', - Add: 'जोड़ें', - 'n relays': '{{n}} रिले', - Rename: 'नाम बदलें', - 'Copy share link': 'Copy share link', - 'Copy address': 'Copy address', - 'Copy payto URI': 'Copy payto URI', - 'Copied payto address': 'Copied payto address', - 'Copied to clipboard': 'Copied to clipboard', - 'Copied {{label}} address': 'Copied {{label}} address', - 'Lightning payment address – copy to pay via your wallet': - 'Lightning payment address – copy to pay via your wallet', - 'Payment address – copy to use in your wallet or app': - 'Payment address – copy to use in your wallet or app', - 'Click to open payment options': 'Click to open payment options', - 'Click to copy address': 'Click to copy address', - 'Open on website': 'Open on website', - 'Raw profile event': 'Raw profile event', - 'Full profile event': 'Full profile event', - 'Event (JSON)': 'Event (JSON)', - 'Save full profile': 'Save full profile', - 'Add tag': 'Add tag', - 'Remove tag': 'Remove tag', - 'Tag name': 'Tag name', - Value: 'Value', - 'Add value to tag': 'Add value to tag', - 'Remove value': 'Remove value', - 'No tags. Click "Add tag" to add one.': 'No tags. Click "Add tag" to add one.', - 'Profile updated': 'Profile updated', - 'Failed to publish profile': 'Failed to publish profile', - 'Invalid profile JSON': 'Invalid profile JSON', - 'Refresh cache': 'Refresh cache', - 'Force-refresh profile and payment info from relays': - 'Force-refresh profile and payment info from relays', - 'Profile and payment cache refreshed': 'Profile and payment cache refreshed', - 'Failed to refresh cache': 'Failed to refresh cache', - 'Raw payment info event': 'Raw payment info event', - 'Payment info': 'Payment info', - 'Edit payment info': 'Edit payment info', - 'Add payment info': 'Add payment info', - 'No payment info event yet. Click "Add payment info" to create one.': - 'No payment info event yet. Click "Add payment info" to create one.', - 'Content (JSON)': 'Content (JSON)', - Tags: 'Tags', - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])': - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])', - 'Payment info updated': 'Payment info updated', - 'Failed to publish payment info': 'Failed to publish payment info', - 'Invalid tags JSON': 'Invalid tags JSON', - 'Payment methods': 'Payment methods', - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).': - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).', - 'Type (e.g. lightning)': 'Type (e.g. lightning)', - 'Authority (e.g. user@domain.com)': 'Authority (e.g. user@domain.com)', - 'Add payment method': 'Add payment method', - Remove: 'Remove', - 'Additional content (JSON)': 'Additional content (JSON)', - 'Show full event JSON': 'Show full event JSON', - 'Tag list': 'Tag list', - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.': - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.', - 'Tag value': 'Tag value', - 'Saving…': 'Saving…', - 'Share with Imwald': 'Imwald के साथ शेयर करें', - 'Share with Alexandria': 'Alexandria के साथ शेयर करें', - 'Start video call': 'Start video call', - 'Copy call invite link': 'Copy call invite link', - 'Start call about this': 'Start call about this', - 'Send call invite': 'Send call invite', - 'Read this note aloud': 'Read this note aloud', - 'Read-aloud is not supported in this browser': 'Read-aloud is not supported in this browser', - 'Nothing to read aloud': 'Nothing to read aloud', - 'Read-aloud failed': 'Read-aloud failed', - 'Read aloud': 'Read aloud', - 'Read-aloud idle': 'Idle', - 'Preparing read-aloud…': 'Preparing read-aloud…', - 'Requesting audio…': 'Requesting audio…', - 'Loading audio…': 'Loading audio…', - Playing: 'Playing', - Paused: 'Paused', - 'Read-aloud finished': 'Finished', - 'Read-aloud error': 'Error', - 'TTS endpoint': 'TTS endpoint', - 'Using browser speech synthesis': 'Using browser speech synthesis', - 'Read-aloud section progress': 'Section {{current}} of {{total}}', - 'Request sent': 'Request sent', - 'Response received': 'Response received', - 'Playback started': 'Playback started', - Characters: 'Characters', - Pause: 'Pause', - Play: 'Play', - Stop: 'Stop', - 'Read-aloud sections': 'Read-aloud sections', - 'Read-aloud overall progress': 'Overall progress', - 'Read-aloud section done': 'Section {{index}}: finished', - 'Read-aloud section pending': 'Section {{index}}: not started yet', - 'Read-aloud section fetching': 'Section {{index}}: requesting audio', - 'Read-aloud section preparing audio': 'Section {{index}}: loading audio', - 'Read-aloud section playing': 'Section {{index}}: playing', - 'Read-aloud section paused': 'Section {{index}}: paused', - 'Read-aloud legend fetching': 'Requesting audio for this section from the server…', - 'Read-aloud legend buffering': 'Decoding audio for this section…', - 'Read-aloud legend playing': 'Playing this section.', - 'Read-aloud legend paused': 'Playback paused.', - 'Read-aloud Piper fallback notice': - 'Server voice (Piper) could not be used. Playing with your browser voice instead.', - 'Read-aloud Piper fallback detail label': 'Piper error', - 'Read-aloud Piper status region': 'Piper text-to-speech status', - 'Read-aloud Piper status heading': 'Piper (server voice)', - 'Read-aloud Piper skipped notice': - 'No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.', - 'Read-aloud Piper attempt started': - 'Piper was started at {{time}} (this read-aloud used the server first).', - 'Read-aloud Piper endpoint tried': 'URL used: {{url}}', - 'Join the video call': 'Join the video call', - 'Schedule video call': 'Schedule video call', - "You're invited to a scheduled video call.": "You're invited to a scheduled video call.", - 'Create a calendar event and send an invite. The recipient will see the event with a join link.': - 'Create a calendar event and send an invite. The recipient will see the event with a join link.', - 'Schedule a video call': 'Schedule a video call', - 'Create a calendar event and send kind 24 invites to each listed invitee.': - 'Create a calendar event and send kind 24 invites to each listed invitee.', - Invitees: 'Invitees', - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)': - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)', - 'Schedule and send invites': 'Schedule and send invites', - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)': - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)', - 'Scheduled call created and {{count}} invite(s) sent': - 'Scheduled call created and {{count}} invite(s) sent', - 'Join video call': 'Join video call', - 'Scheduled video call': 'Scheduled video call', - 'Video call': 'Video call', - 'Schedule and send invite': 'Schedule and send invite', - 'Scheduling…': 'Scheduling…', - 'Please set a start time': 'Please set a start time', - 'End time must be after start time': 'End time must be after start time', - 'Failed to schedule call': 'Failed to schedule call', - 'Scheduled call created and invite sent': 'Scheduled call created and invite sent', - RSVP: 'RSVP', - 'RSVP: {{status}}': 'RSVP: {{status}}', - Accepted: 'Accepted', - Tentative: 'Tentative', - Declined: 'Declined', - 'You need to log in to RSVP': 'You need to log in to RSVP', - 'RSVP updated': 'RSVP updated', - 'Failed to update RSVP': 'Failed to update RSVP', - Organizer: 'Organizer', - Attendees: 'Attendees', - 'No response': 'No response', - 'Calendar Events': 'Calendar Events', - 'Calendar Event': 'Calendar Event', - 'Schedule in-person meeting': 'Schedule in-person meeting', - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.': - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.', - "You're invited to an in-person meeting.": "You're invited to an in-person meeting.", - 'Meeting created and invite sent': 'Meeting created and invite sent', - 'Failed to create meeting': 'Failed to create meeting', - 'Create and send invite': 'Create and send invite', - 'Creating…': 'Creating…', - 'In-person meeting': 'In-person meeting', - Location: 'Location', - 'Address, venue, or place': 'Address, venue, or place', - Description: 'Description', - 'Optional notes': 'Optional notes', - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.': - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.', - 'Meeting created and {{count}} invite(s) sent': 'Meeting created and {{count}} invite(s) sent', - 'Create and send invites': 'Create and send invites', - Title: 'Title', - Start: 'Start', - End: 'End', - Delete: 'हटाएं', - 'Relay already exists': 'रिले पहले से मौजूद है', - 'invalid relay URL': 'अमान्य रिले URL', - 'Relay URL…': 'wss://… or relay host', - 'Open relay': 'Open relay', - 'Add a new relay': 'नया रिले जोड़ें', - back: 'वापस', - 'Lost in the void': 'शून्य में खो गया', - 'Carry me home': 'मुझे घर ले चलो', - 'no replies': 'कोई उत्तर नहीं', - 'Reply to': 'का उत्तर दें', - Search: 'खोजें', - 'The relays you are connected to do not support search': - 'आप जिन रिले से जुड़े हैं वे खोज का समर्थन नहीं करते', - 'Show more...': 'और दिखाएं...', - 'All users': 'सभी उपयोगकर्ता', - 'Display replies': 'उत्तर प्रदर्शित करें', - Notes: 'नोट्स', - Replies: 'उत्तर', - Gallery: 'गैलरी', - Notifications: 'सूचनाएं', - 'no more notifications': 'कोई और सूचनाएं नहीं', - 'Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.': - 'प्राइवेट की लॉगिन का उपयोग असुरक्षित है। लॉगिन के लिए ब्राउज़र एक्सटेंशन का उपयोग करने की सिफारिश की जाती है, जैसे alby, nostr-keyx या nos2x। यदि आपको प्राइवेट की का उपयोग करना ही है, तो कम से कम एन्क्रिप्शन के लिए पासवर्ड सेट करें।', - 'Login with Browser Extension': 'ब्राउज़र एक्सटेंशन से लॉगिन करें', - 'Login with Bunker': 'बंकर से लॉगिन करें', - 'Login with Private Key': 'प्राइवेट की से लॉगिन करें', - 'Login with npub (read-only)': 'npub से लॉगिन करें (केवल पढ़ने के लिए)', - 'reload notes': 'नोट्स रीलोड करें', - 'Logged in Accounts': 'लॉग इन अकाउंट', - 'Add an Account': 'अकाउंट जोड़ें', - 'More options': 'अधिक विकल्प', - 'Add client tag': 'क्लाइंट टैग जोड़ें', - 'Show others this was sent via Imwald': - 'दूसरों को दिखाएं कि यह Imwald के माध्यम से भेजा गया था', - 'Are you sure you want to logout?': 'क्या आप वाकई लॉगआउट करना चाहते हैं?', - 'relay sets': 'रिले सेट', - edit: 'संपादित करें', - Languages: 'भाषाएं', - Theme: 'थीम', - System: 'सिस्टम', - Light: 'लाइट', - Dark: 'डार्क', - Temporary: 'अस्थायी', - 'Choose a relay set': 'रिले सेट चुनें', - 'Switch account': 'अकाउंट स्विच करें', - Pictures: 'तस्वीरें', - 'Picture note': 'तस्वीर नोट', - 'A special note for picture-first clients like Olas': - 'Olas जैसे पिक्चर-फर्स्ट क्लाइंट के लिए एक विशेष नोट', - 'Picture note requires images': 'तस्वीर नोट के लिए इमेज आवश्यक है', - Relays: 'रिले', - Image: 'इमेज', - 'Upload Image': 'Upload Image', - 'Insert emoji': 'Insert emoji', - 'Insert GIF': 'Insert GIF', - 'Insert meme': 'Insert meme', - 'Search GIFs': 'Search GIFs', - 'Search memes': 'Search memes', - 'Choose a GIF': 'Choose a GIF', - 'Choose a meme': 'Choose a meme', - 'Search GifBuddy for more GIFs': 'Search GifBuddy for more GIFs', - 'Add your own GIFs': 'Add your own GIFs', - 'Add your own meme templates': 'Add your own meme templates', - 'Description (optional, for search)': 'Description (optional, for search)', - 'e.g. happy birthday, thumbs up': 'e.g. happy birthday, thumbs up', - 'e.g. drake, distracted boyfriend': 'e.g. drake, distracted boyfriend', - 'Uploading...': 'Uploading...', - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.': - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.', - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).': - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).', - 'Failed to publish meme template for the picker': - 'Failed to publish meme template for the picker', - '{{name}} is not a GIF file': '{{name}} is not a GIF file', - '{{name}} is not a JPEG, PNG, or WebP file': '{{name}} is not a JPEG, PNG, or WebP file', - 'R & W': 'R & W', - Read: 'पढ़ें', - Write: 'लिखें', - 'Pull relay sets': 'रिले सेट खींचें', - 'Select the relay sets you want to pull': 'वे रिले सेट चुनें जिन्हें आप खींचना चाहते हैं', - 'No relay sets found': 'कोई रिले सेट नहीं मिला', - 'Pull n relay sets': '{{n}} रिले सेट खींचें', - Pull: 'खींचें', - 'Select all': 'सभी चुनें', - 'Relay Sets': 'रिले सेट', - 'Read & Write Relays': 'रीड और राइट रिले', - 'read relays description': - 'रीड रिले का उपयोग आपके बारे में इवेंट खोजने के लिए किया जाता है। अन्य उपयोगकर्ता आपको दिखाने वाले इवेंट आपके रीड रिले पर प्रकाशित करेंगे।', - 'write relays description': - 'राइट रिले का उपयोग आपके इवेंट प्रकाशित करने के लिए किया जाता है। अन्य उपयोगकर्ता आपके राइट रिले से आपके इवेंट खोजेंगे।', - 'read & write relays notice': - 'रीड और राइट सर्वर की संख्या आदर्श रूप से 2 और 4 के बीच रखी जानी चाहिए।', - "Don't have an account yet?": 'अभी तक कोई अकाउंट नहीं है?', - 'or simply generate a private key': 'या बस एक प्राइवेट की जेनरेट करें', - 'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.': - 'यह एक प्राइवेट की है। इसे किसी के साथ साझा न करें। इसे सुरक्षित रखें। यदि आप इसे खो देते हैं तो आप इसे पुनर्प्राप्त नहीं कर पाएंगे।', - Edit: 'संपादित करें', - Save: 'सेव करें', - 'Display Name': 'प्रदर्शन नाम', - Bio: 'बायो', - 'Nostr Address (NIP-05)': 'Nostr पता (NIP-05)', - 'Invalid NIP-05 address': 'अमान्य NIP-05 पता', - 'Copy private key': 'प्राइवेट की कॉपी करें', - 'Enter the password to decrypt your ncryptsec': - 'अपना ncryptsec डिक्रिप्ट करने के लिए पासवर्ड दर्ज करें', - Back: 'वापस', - 'optional: encrypt nsec': 'वैकल्पिक: nsec एन्क्रिप्ट करें', - password: 'पासवर्ड', - 'Sign up': 'साइन अप', - 'Save to': 'सेव करें', - 'Enter a name for the new relay set': 'नए रिले सेट के लिए नाम दर्ज करें', - 'Save to a new relay set': 'नए रिले सेट में सेव करें', - Mute: 'म्यूट', - Muted: 'म्यूट किया गया', - Unmute: 'अनम्यूट', - 'Unmute user': 'उपयोगकर्ता को अनम्यूट करें', - Block: 'Block', - Unblock: 'Unblock', - blocked: 'blocked', - 'Append n relays': '{{n}} रिले जोड़ें', - Append: 'जोड़ें', - 'Select relays to append': 'जोड़ने के लिए रिले चुनें', - 'calculating...': 'गणना कर रहे हैं...', - 'Calculate optimal read relays': 'इष्टतम रीड रिले की गणना करें', - 'Login to set': 'सेट करने के लिए लॉगिन करें', - 'Please login to view following feed': 'फॉलोइंग फीड देखने के लिए कृपया लॉगिन करें', - 'Follow set': 'Follow set', - 'Follow set feed empty': - 'This NIP-51 list is empty, was not found, or relays could not load it yet.', - 'Send only to r': 'केवल {{r}} को भेजें', - 'Send only to these relays': 'केवल इन रिले को भेजें', - Explore: 'एक्सप्लोर करें', - 'Relay reviews': 'रिले समीक्षाएँ', - 'Search relays': 'रिले खोजें', - relayInfoBadgeAuth: 'प्रमाणीकरण', - relayInfoBadgeSearch: 'खोज', - relayInfoBadgePayment: 'भुगतान', - Operator: 'ऑपरेटर', - Contact: 'संपर्क', - Software: 'सॉफ्टवेयर', - Version: 'संस्करण', - 'Random Relays': 'रैंडम रिले', - randomRelaysRefresh: 'रीफ्रेश', - 'Explore more': 'और एक्सप्लोर करें', - 'Payment page': 'भुगतान पेज', - 'Supported NIPs': 'समर्थित NIPs', - 'Relay liveliness (NIP-66)': 'Relay liveliness (NIP-66)', - 'Relay monitor (NIP-66)': 'Relay monitor (NIP-66)', - 'Auth required': 'Auth required', - 'Public (no auth)': 'Public (no auth)', - 'Payment required': 'Payment required', - 'No payment': 'No payment', - 'Writes required': 'Writes required', - 'Writes open': 'Writes open', - 'PoW required': 'PoW required', - 'No PoW': 'No PoW', - 'RTT open': 'RTT open', - 'RTT read': 'RTT read', - 'RTT write': 'RTT write', - 'Supported NIPs (from monitor)': 'Supported NIPs (from monitor)', - 'Last reported by monitor': 'Last reported by monitor', - Network: 'Network', - Type: 'Type', - Topics: 'Topics', - 'Open in a': '{{a}} में खोलें', - 'Cannot handle event of kind k': 'प्रकार {{k}} के इवेंट को हैंडल नहीं कर सकते', - 'Unsupported event preview': - 'There isn’t a dedicated card for this event type yet. Here’s a readable preview.', - 'No text content in event': 'No text in this event.', - 'Technical details': 'Technical details', - 'Event kind and time': 'Kind {{kind}} · {{time}}', - 'Event kind label': 'Kind {{kind}}', - 'Note kind label line': 'KIND: {{kind}} · {{description}}', - 'Unknown note declared kind tag': 'Tagged kind: {{value}}', - 'Unknown note tagged pubkey': 'Tagged pubkey', - 'Unknown note tagged content': 'Content', - 'Unknown note reference tags': 'Reference tags (e, p, q, a)', - 'Starred spells': 'Starred spells', - 'Spell star add title': 'Star spell (adds to your Nostr bookmarks)', - 'Spell star remove title': 'Unstar spell (removes from your Nostr bookmarks)', - 'Copy JSON': 'Copy JSON', - Verse: 'Verse', - 'Notification reaction summary': 'reacted to this note.', - 'Notification discussion upvote summary': 'upvoted in this discussion.', - 'Notification discussion downvote summary': 'downvoted in this discussion.', - 'Notification boost summary': 'Boosted this note', - 'Notification boost detail': 'The preview above is the original post.', - 'Notification poll vote summary': 'Voted on the poll above.', - 'Notification poll vote options count': '{{count}} option(s) selected', - 'Imwald synthetic event': 'Imwald synthetic event', - '+ Add a URL to this list': 'Add a URL to this list', - 'Add a web URL': 'Add a web URL', - 'Add web URL to feed description': - 'Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.', - 'Add to feed': 'Add to feed', - 'Open any https page in the side panel to reply, react, and discuss on Nostr.': - 'Open any https page in the side panel to reply, react, and discuss on Nostr.', - 'Enter a valid http(s) URL': 'Enter a valid http(s) URL', - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.': - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.', - 'Open in browser': 'Open in browser', - 'Web page': 'Web page', - Open: 'Open', - 'Sorry! The note cannot be found 😔': 'माफ करें! नोट नहीं मिल सका 😔', - 'This user has been muted': 'इस उपयोगकर्ता को म्यूट कर दिया गया है', - Wallet: 'वॉलेट', - Sats: 'सैट्स', - sats: 'सैट्स', - 'Zap to': 'को जैप करें', - 'Zap n sats': '{{n}} सैट्स जैप करें', - zapComment: 'टिप्पणी', - 'Default zap amount': 'डिफ़ॉल्ट जैप राशि', - 'Default zap comment': 'डिफ़ॉल्ट जैप टिप्पणी', - 'Lightning Address (or LNURL)': 'लाइटनिंग पता (या LNURL)', - 'Quick zap': 'त्वरित जैप', - 'If enabled, you can zap with a single click. Click and hold for custom amounts': - 'यदि सक्षम है, तो आप एक क्लिक से जैप कर सकते हैं। कस्टम राशि के लिए क्लिक करके रोकें', - All: 'सभी', - Reactions: 'प्रतिक्रियाएं', - Zaps: 'जैप्स', - Boosts: 'बूस्ट', - Badges: 'Badges', - Reports: 'Reports', - 'Enjoying Imwald?': 'Imwald का आनंद ले रहे हैं?', - 'Your donation helps me maintain Imwald and make it better! 😊': - 'आपका दान मुझे Imwald को बनाए रखने और इसे बेहतर बनाने में मदद करता है! 😊', - 'Earlier notifications': 'पुरानी सूचनाएं', - 'Temporarily display this note': 'इस नोट को अस्थायी रूप से प्रदर्शित करें', - buttonFollowing: 'फॉलो कर रहे हैं', - 'Are you sure you want to unfollow this user?': - 'क्या आप वाकई इस उपयोगकर्ता को अनफॉलो करना चाहते हैं?', - 'Recent Supporters': 'हाल के समर्थक', - 'Seen on': 'पर देखा गया', - 'Temporarily display this reply': 'इस उत्तर को अस्थायी रूप से प्रदर्शित करें', - 'Note not found': 'नोट नहीं मिला', - 'Invalid embedded note reference': 'Invalid embedded note reference', - embeddedNoteInvalidEmpty: 'This embedded link is empty.', - embeddedNoteInvalidHex: - 'This is not a valid hex event id (expected exactly 64 hexadecimal characters).', - embeddedNoteInvalidBech32: - 'This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.', - embeddedNoteInvalidWrongKind: - 'This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.', - 'The note was not found on your relays or default relays.': - 'The note was not found on your relays or default relays.', - "Try searching author's relays": "Try searching author's relays", - 'Searching external relays...': 'Searching external relays...', - "This will connect to the author's relays and relay hints": - "This will connect to the author's relays and relay hints", - 'Note could not be found anywhere': 'Note could not be found anywhere', - 'Try external relays': 'Try external relays', - 'Searching...': 'Searching...', - 'Show relays': 'Show relays', - 'No external relay hints available': 'No external relay hints available', - 'External relay search is not available for this link type': - 'External relay search is not available for this link type.', - 'Searched external relays not found': - 'Searched {{count}} external relays; the note was still not found.', - 'no more replies': 'कोई और उत्तर नहीं', - 'Relay sets': 'रिले सेट', - 'Search for Relays': 'Search for Relays', - 'Using app default relays': 'Using app default relays', - "Following's Favorites": 'फॉलोइंग के पसंदीदा', - 'no more relays': 'कोई और रिले नहीं', - 'Favorited by': 'द्वारा पसंदीदा', - 'Post settings': 'पोस्ट सेटिंग्स', - 'Publishing feedback': 'Publishing feedback', - 'Publish success toasts': 'Publish success toasts', - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.': - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.', - 'Publish successful': 'Publish successful', - 'Media upload service': 'मीडिया अपलोड सेवा', - 'Choose a relay': 'रिले चुनें', - 'no relays found': 'कोई रिले नहीं मिला', - video: 'वीडियो', - 'Show n new notes': '{{n}} नए नोट्स दिखाएं', - YouTabName: 'आप', - Bookmark: 'बुकमार्क', - 'Remove bookmark': 'बुकमार्क हटाएं', - 'no bookmarks found': 'कोई बुकमार्क नहीं मिला', - 'no more bookmarks': 'कोई और बुकमार्क नहीं', - Bookmarks: 'बुकमार्क', - 'Follow Packs': 'Follow Packs', - 'Follow Pack': 'Follow Pack', - 'Follow pack by': 'by', - 'In Follow Packs': 'In Follow Packs', - 'Badge details': 'Badge details', - 'Issued by': 'Issued by', - 'Other recipients': 'Other recipients', - 'No other recipients found': 'No other recipients found', - 'Recipients could not be loaded': 'Recipients could not be loaded', - 'View award': 'View award', - 'Awarded on': 'Awarded on', - 'Please log in to follow': 'Please log in to follow', - 'Following All': 'Following All', - 'Followed {{count}} users': 'Followed {{count}} users', - 'All available members are already followed or muted': - 'All available members are already followed or muted', - 'You are already following all members of this pack': - 'You are already following all members of this pack', - 'Failed to follow pack': 'Failed to follow pack', - '{{count}} profiles': '{{count}} profiles', - 'Show more': 'और दिखाएं', - General: 'सामान्य', - Autoplay: 'ऑटोप्ले', - 'Enable video autoplay on this device': 'इस डिवाइस पर वीडियो ऑटोप्ले सक्षम करें', - 'liveActivities.heading': 'Live now', - 'liveActivities.regionLabel': 'Live spaces and streams', - 'liveActivities.fromFollow': 'From someone you follow', - 'liveActivities.goToSlide': 'Show live item {{n}}', - 'liveActivities.settingsToggle': 'Live activities banner', - 'liveActivities.settingsHint': - 'Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.', - 'Add random relays to every publish': 'Random relays in publish list', - 'Add random relays to every publish description': - 'Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.', - relayType_local: 'Local', - relayType_relay_list: 'Relay list', - relayType_http_relay_list: 'HTTP', - 'HTTP relays': 'HTTP relays', - httpRelaysDescription: - 'HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.', - 'HTTP relays saved': 'HTTP relays saved', - 'Failed to save HTTP relay list': 'Failed to save HTTP relay list', - 'HTTP relays must start with https:// or http://': - 'HTTP relays must start with https:// or http://', - relayType_client_default: 'Client default', - relayType_open_from: 'Current feed', - relayType_favorite: 'Favorite', - relayType_relay_set: 'Relay set', - relayType_contextual: 'Reply/PM', - relayType_randomly_selected: 'Random (optional)', - 'Session relays': 'Session relays', - 'Session relays tab description': - 'Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish).', - 'Session relays preset working': 'Working preset relays', - 'Session relays preset working hint': - 'Preset relays (from app defaults) that have not reached 3 publish failures this session.', - 'Session relays preset striked': 'Striked preset relays', - 'Session relays preset striked hint': - 'Preset relays that have reached 3 publish failures this session and are skipped for the rest of the session.', - 'Session relays scored random': 'Scored random relays', - 'Session relays scored random hint': - 'Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.', - 'Session relays all striked': 'All striked relays (any source)', - 'Session relays clear strike': 'Allow again', - 'Session relays clear strike hint': - 'Remove this relay from the session block list; it will be used again until new connection failures.', - successes: 'successes', - None: 'None', - 'Cache & offline storage': 'Cache & offline storage', - feedStarting: 'Starting feeds and relays… This can take a few seconds after login.', - refreshCacheButtonExplainer: - 'Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.', - 'eventArchive.sectionTitle': 'Notes & feed archive', - 'eventArchive.sectionBlurb': - 'Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.', - 'eventArchive.defaultsMobile': - 'This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).', - 'eventArchive.defaultsElectron': - 'Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.defaultsDesktopWeb': - 'Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.enablePersist': 'Persist feed events to disk', - 'eventArchive.maxMb': 'Max archive size (MB), blank = default for this device', - 'eventArchive.maxEvents': 'Max archived events, blank = default', - 'eventArchive.sessionLru': 'In-memory session cache (event count), blank = default', - 'eventArchive.effectiveSummary': - 'Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.', - 'eventArchive.on': 'on', - 'eventArchive.off': 'off', - 'eventArchive.apply': 'Apply cache settings', - 'eventArchive.appliedToast': 'Cache settings saved. Session memory updated.', - 'Paste or drop media files to upload': 'अपलोड करने के लिए मीडिया फाइलें पेस्ट या ड्रॉप करें', - Preview: 'पूर्वावलोकन', - 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'आप [{{eventAuthorName}}] द्वारा हस्ताक्षरित एक इवेंट प्रकाशित करने वाले हैं। आप वर्तमान में [{{currentUsername}}] के रूप में लॉग इन हैं। क्या आप सुनिश्चित हैं?', - 'Platinum Sponsors': 'प्लेटिनम स्पॉन्सर', - From: 'से', - 'Comment on': 'पर टिप्पणी करें', - 'View on njump.me': 'njump.me पर देखें', - 'Hide content from untrusted users': 'अविश्वसनीय उपयोगकर्ताओं से सामग्री छुपाएं', - 'Only show content from your followed users and the users they follow': - 'केवल आपके द्वारा फॉलो किए गए उपयोगकर्ताओं और उनके द्वारा फॉलो किए गए उपयोगकर्ताओं की सामग्री दिखाएं', - 'Followed by': 'द्वारा फॉलो किया गया', - 'Mute user privately': 'उपयोगकर्ता को निजी रूप से म्यूट करें', - 'Mute user publicly': 'उपयोगकर्ता को सार्वजनिक रूप से म्यूट करें', - Quotes: 'उद्धरण', - 'Lightning Invoice': 'लाइटनिंग इनवॉइस', - 'Bookmark failed': 'बुकमार्क असफल', - 'Remove bookmark failed': 'बुकमार्क हटाना असफल', - Translation: 'अनुवाद', - Balance: 'बैलेंस', - characters: 'अक्षर', - translateApiKeyDescription: - 'आप इस API की को कहीं भी उपयोग कर सकते हैं जो LibreTranslate का समर्थन करता है। सेवा URL है {{serviceUrl}}', - 'Top up': 'टॉप अप', - 'Will receive: {n} characters': 'प्राप्त होंगे: {{n}} अक्षर', - 'Top up {n} sats': '{{n}} सैट्स टॉप अप करें', - 'Minimum top up is {n} sats': 'न्यूनतम टॉप अप {{n}} सैट्स है', - Service: 'सेवा', - 'Reset API key': 'API की रीसेट करें', - 'Are you sure you want to reset your API key? This action cannot be undone.': - 'क्या आप वाकई अपनी API की रीसेट करना चाहते हैं? यह कार्य पूर्ववत नहीं किया जा सकता।', - Warning: 'चेतावनी', - 'Errors & warnings': 'Errors & warnings', - 'Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.': - 'आपकी वर्तमान API की तुरंत अमान्य हो जाएगी, और इसका उपयोग करने वाले सभी एप्लिकेशन तब तक काम करना बंद कर देंगे जब तक आप उन्हें नई की के साथ अपडेट नहीं करते।', - 'Service address': 'सेवा पता', - Pay: 'भुगतान करें', - interactions: 'इंटरैक्शन', - notifications: 'सूचनाएं', - notificationsViewAsAccount: 'View as', - notificationsViewAsAccountAria: - 'Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.', - notificationsSwitchAccountFailed: - 'Could not switch account. Check your signer, password, or extension and try again.', - 'Show untrusted {type}': 'अविश्वसनीय {{type}} दिखाएं', - 'Hide untrusted {type}': 'अविश्वसनीय {{type}} छुपाएं', - 'Currently hiding {type} from untrusted users.': - 'वर्तमान में अविश्वसनीय उपयोगकर्ताओं से {{type}} छुपा रहे हैं।', - 'Currently showing all {type}.': 'वर्तमान में सभी {{type}} दिखा रहे हैं।', - 'Click continue to show all {type}.': 'सभी {{type}} दिखाने के लिए जारी रखें पर क्लिक करें।', - 'Click continue to hide {type} from untrusted users.': - 'अविश्वसनीय उपयोगकर्ताओं से {{type}} छुपाने के लिए जारी रखें पर क्लिक करें।', - 'Trusted users include people you follow and people they follow.': - 'विश्वसनीय उपयोगकर्ताओं में वे लोग शामिल हैं जिन्हें आप फॉलो करते हैं और जिन्हें वे फॉलो करते हैं।', - Continue: 'जारी रखें', - 'Successfully updated mute list': 'म्यूट सूची सफलतापूर्वक अपडेट की गई', - 'No pubkeys found from {url}': '{{url}} से कोई pubkeys नहीं मिली', - 'Translating...': 'अनुवाद कर रहे हैं...', - Translate: 'अनुवाद करें', - 'Show original': 'मूल दिखाएं', - Website: 'वेबसाइट', - 'Hide untrusted notes': 'अविश्वसनीय नोट्स छुपाएं', - 'Open in another client': 'दूसरे क्लाइंट में खोलें', - Community: 'समुदाय', - Group: 'समूह', - 'Live event': 'लाइव इवेंट', - Article: 'लेख', - Unfavorite: 'पसंदीदा से हटाएं', - 'Recommended relays': 'अनुशंसित रिले', - 'Show recommended relays panel': 'Show recommended relays panel', - 'Display the right-side panel with recommended relays on desktop': - 'Display the right-side panel with recommended relays on desktop', - 'Blossom server URLs': 'ब्लॉसम सर्वर URLs', - 'You need to add at least one blossom server in order to upload media files.': - 'मीडिया फाइलें अपलोड करने के लिए आपको कम से कम एक ब्लॉसम सर्वर जोड़ना होगा।', - 'Recommended blossom servers': 'अनुशंसित ब्लॉसम सर्वर', - 'Enter Blossom server URL': 'ब्लॉसम सर्वर URL दर्ज करें', - Preferred: 'प्राथमिकता', - 'Multiple choice (select one or more)': 'बहुविकल्पीय (एक या अधिक चुनें)', - Vote: 'वोट', - '{{number}} votes': '{{number}} वोट', - 'Total votes': 'कुल वोट', - 'Poll has ended': 'पोल समाप्त हो गया', - 'Poll ends at {{time}}': 'पोल {{time}} पर समाप्त होता है', - 'Load results': 'परिणाम लोड करें', - 'This is a poll note.': 'यह एक पोल नोट है।', - 'Unlike regular notes, polls are not widely supported and may not display on other clients.': - 'नियमित नोट्स के विपरीत, पोल व्यापक रूप से समर्थित नहीं हैं और अन्य क्लाइंट पर प्रदर्शित नहीं हो सकते।', - 'Option {{number}}': 'विकल्प {{number}}', - 'Add Option': 'विकल्प जोड़ें', - 'Allow multiple choices': 'एकाधिक विकल्पों की अनुमति दें', - 'End Date (optional)': 'समाप्ति तिथि (वैकल्पिक)', - 'Clear end date': 'समाप्ति तिथि साफ़ करें', - 'Relay URLs (optional, comma-separated)': 'रिले URLs (वैकल्पिक, कॉमा से अलग)', - 'Remove poll': 'पोल हटाएं', - 'Refresh results': 'परिणाम रीफ्रेश करें', - '{{votes}} · {{pct}}%': '{{votes}} · {{pct}}%', - 'See results': 'See results', - 'Zap poll (paid votes)': 'Zap poll (paid votes)', - 'Invalid zap poll': 'Invalid zap poll', - 'You voted on this poll (zap receipt)': 'You voted on this poll (zap receipt)', - 'Poll closed {{time}}': 'Poll closed {{time}}', - 'Closes {{time}}': 'Closes {{time}}', - 'Vote size': 'Vote size', - '{{n}} sats (fixed)': '{{n}} sats (fixed)', - '{{min}}–{{max}} sats': '{{min}}–{{max}} sats', - '≥ {{n}} sats': '≥ {{n}} sats', - '≤ {{n}} sats': '≤ {{n}} sats', - 'Loading tally…': 'Loading tally…', - 'Zap poll no votes yet': - 'No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).', - 'Consensus threshold': 'Consensus threshold', - 'Pay to': 'Pay to', - Recipient: 'Recipient', - Option: 'Option', - 'Select option': 'Select option', - 'Select an option': 'Select an option', - 'Vote with zap': 'Vote with zap', - 'Zap sent': 'Zap sent', - 'Zapping…': 'Zapping…', - 'Refresh tally': 'Refresh tally', - '{{n}} zaps': '{{n}} zaps', - Poll: 'पोल', - Media: 'मीडिया', - 'Articles and Publications': 'Articles and Publications', - 'Search articles...': 'Search articles...', - 'Refreshing articles...': 'Refreshing articles...', - 'No articles or publications found': 'No articles or publications found', - 'No articles or publications match your search': - 'No articles or publications match your search', - 'articles and publications': 'articles and publications', - Interests: 'Interests', - Calendar: 'Calendar', - 'No subscribed interests yet.': - 'No subscribed interests yet. Add topics in settings to see them here.', - 'No bookmarked notes with id tags yet.': - 'No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.', - 'No follows or relays to load yet.': 'No follows or relays to load yet.', - 'Nothing to load for this feed.': 'Nothing to load for this feed.', - 'No posts loaded for this feed. Try refreshing.': - 'No posts loaded for this feed. Try refreshing.', - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.': - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.', - 'Per-relay timeline results ({{count}} connections)': - 'Per-relay timeline results ({{count}} connections)', - 'Republish to ...': 'पुनः प्रकाशित करें...', - 'All available relays': 'All available relays', - 'All active relays (monitoring list)': 'All active relays (monitoring list)', - 'Successfully republish to all available relays': - 'Successfully republish to all available relays', - 'Failed to republish to all available relays: {{error}}': - 'Failed to republish to all available relays: {{error}}', - 'Successfully republish to all active relays': 'Successfully republish to all active relays', - 'Failed to republish to all active relays: {{error}}': - 'Failed to republish to all active relays: {{error}}', - 'No active relays in monitoring list': 'No active relays in monitoring list', - 'No relay accepted the event': 'No relay accepted the event', - 'No relays available': 'No relays available', - 'No write relays configured': 'No write relays configured', - 'Relay did not accept the event': 'Relay did not accept the event', - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".': - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".', - 'Successfully republish to your write relays': 'आपके राइट रिले पर सफलतापूर्वक पुनः प्रकाशित', - 'Failed to republish to your write relays: {{error}}': - 'आपके राइट रिले पर पुनः प्रकाशित करने में असफल: {{error}}', - 'Successfully republish to relay set: {{name}}': - 'रिले सेट में सफलतापूर्वक पुनः प्रकाशित: {{name}}', - 'Failed to republish to relay set: {{name}}. Error: {{error}}': - 'रिले सेट में पुनः प्रकाशित करने में असफल: {{name}}। त्रुटि: {{error}}', - 'Successfully republish to relay: {{url}}': 'रिले पर सफलतापूर्वक पुनः प्रकाशित: {{url}}', - 'Failed to republish to relay: {{url}}. Error: {{error}}': - 'रिले पर पुनः प्रकाशित करने में असफल: {{url}}। त्रुटि: {{error}}', - 'Write relays': 'राइट रिले', - 'No more reactions': 'कोई और प्रतिक्रियाएं नहीं', - 'No reactions yet': 'अभी तक कोई प्रतिक्रियाएं नहीं', - 'No more zaps': 'कोई और जैप्स नहीं', - 'No zaps yet': 'अभी तक कोई जैप्स नहीं', - 'No more boosts': 'और कोई बूस्ट नहीं', - 'No boosts yet': 'अभी तक कोई बूस्ट नहीं', - 'n more boosts': '{{count}} more boosts', - FollowListNotFoundConfirmation: - 'फॉलो सूची नहीं मिली। क्या आप एक नई बनाना चाहते हैं? यदि आपने पहले उपयोगकर्ताओं को फॉलो किया है, तो कृपया पुष्टि न करें क्योंकि इस ऑपरेशन से आपकी पिछली फॉलो सूची नष्ट हो जाएगी।', - MuteListNotFoundConfirmation: - 'म्यूट सूची नहीं मिली। क्या आप एक नई बनाना चाहते हैं? यदि आपने पहले उपयोगकर्ताओं को म्यूट किया है, तो कृपया पुष्टि न करें क्योंकि इस ऑपरेशन से आपकी पिछली म्यूट सूची नष्ट हो जाएगी।', - 'Show NSFW content by default': 'डिफ़ॉल्ट रूप से NSFW सामग्री दिखाएं', - 'Custom emoji management': 'कस्टम इमोजी प्रबंधन', - 'After changing emojis, you may need to refresh the page': - 'इमोजी बदलने के बाद, आपको पेज रीफ्रेश करना पड़ सकता है', - 'Too many read relays': 'बहुत सारे रीड रिले', - 'Too many write relays': 'बहुत सारे राइट रिले', - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'आपके पास {{count}} रीड रिले हैं। अधिकांश क्लाइंट केवल 2-4 रिले का उपयोग करते हैं, अधिक सेट करना अनावश्यक है।', - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'आपके पास {{count}} राइट रिले हैं। अधिकांश क्लाइंट केवल 2-4 रिले का उपयोग करते हैं, अधिक सेट करना अनावश्यक है।', - 'Optimize Relay Settings': 'रिले सेटिंग्स को अनुकूलित करें', - 'Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.': - 'आपकी वर्तमान रिले कॉन्फ़िगरेशन इष्टतम नहीं हो सकती। इससे दूसरों के लिए आपकी पोस्ट ढूंढना मुश्किल हो सकता है और अधूरी सूचनाएं मिल सकती हैं।', - 'Optimize Now': 'अभी अनुकूलित करें', - 'Maybe Later': 'शायद बाद में', - "Don't remind me again": 'मुझे दोबारा याद न दिलाएं', - Posts: 'पोस्ट', - 'Posts (OPs)': 'Posts (OPs)', - 'Kind 1 replies': 'Kind 1 replies', - Comments: 'Comments', - 'Replies & comments': 'Replies & comments', - Articles: 'लेख', - Highlights: 'हाइलाइट्स', - 'A note from': 'A note from', - Polls: 'पोल', - 'Zap polls': 'Zap polls', - 'Voice Posts': 'वॉयस पोस्ट', - 'Photo Posts': 'फोटो पोस्ट', - 'Video Posts': 'वीडियो पोस्ट', - 'Git repositories': 'Git repositories', - 'Git issues': 'Git issues', - 'Git releases': 'Git releases', - 'Git Republic repository': 'Git Republic repository', - 'Git Republic issue': 'Git Republic issue', - 'Git Republic release': 'Git Republic release', - 'Git Republic event': 'Git Republic event', - 'Git Republic': 'Git Republic', - 'Open in Git Republic': 'Open in Git Republic', - 'Pre-release': 'Pre-release', - Draft: 'Draft', - 'Repository release': 'Repository release', - 'New Repository Release': 'New Repository Release', - 'Release notes use the editor below (optional).': - 'Release notes use the editor below (optional).', - 'Repository owner (npub or hex)': 'Repository owner (npub or hex)', - 'Repository id (d-tag)': 'Repository id (d-tag)', - 'Git tag name': 'Git tag name', - 'Tag target (40-char commit hash)': 'Tag target (40-character commit hash)', - '40-character hex SHA-1': '40-character hex SHA-1', - 'Release title': 'Release title', - 'Download URL': 'Download URL', - 'Draft release': 'Draft release', - 'Fill repository release fields': 'Fill in all required repository release fields.', - 'Invalid repository owner pubkey': 'Invalid repository owner (use npub or 64-char hex).', - 'Citations require private relays (NIP-65).': - 'Citations require private outbox relays (NIP-65).', - 'Select All': 'सभी चुनें', - 'Clear All': 'सभी साफ़ करें', - 'Set as default filter': 'डिफ़ॉल्ट फिल्टर के रूप में सेट करें', - 'Use filter': 'Use filter', - 'See all events': 'See all events', - 'See all events hint': - 'Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.', - 'Use filter hint': 'Only the kinds you select below are requested and shown.', - Apply: 'लागू करें', - Reset: 'रीसेट', - 'Share something on this Relay': 'इस रिले पर कुछ साझा करें', - 'Try deleting this note': 'इस नोट को हटाने का प्रयास करें', - 'Deletion request sent to {{count}} relays': '{{count}} रिले को डिलीट अनुरोध भेजा गया', - 'Suitable Relays': 'उपयुक्त रिले', - 'People, keywords, or relays': 'लोग, कीवर्ड या रिले', - 'Hide content mentioning muted users': - 'म्यूट किए गए उपयोगकर्ताओं का उल्लेख करने वाली सामग्री छुपाएं', - 'This note mentions a user you muted': - 'यह नोट एक उपयोगकर्ता का उल्लेख करता है जिसे आपने म्यूट किया है', - Filter: 'फिल्टर', - 'Feed filter': 'Feed filter', - 'Search loaded posts': 'Search loaded posts', - 'Filter loaded posts placeholder': 'Filter by text in content or tags…', - 'Feed filter author': 'Author', - 'Feed filter author everyone': 'From everyone', - 'Feed filter author me': 'Only from me', - 'Feed filter author npub': 'From user (npub or hex)', - 'Feed filter author npub from prefix': 'from:', - 'Feed filter author npub placeholder': 'npub1… or 64-char hex', - 'Feed filter author me needs login': 'Log in to filter by your pubkey', - 'Within the last': 'Within the last', - 'Time unit': 'Time unit', - Minutes: 'Minutes', - Days: 'Days', - Weeks: 'Weeks', - Months: 'Months', - Years: 'Years', - 'Feed filter client-side hint': - 'Filters only apply to posts already loaded; relays are not queried again.', - 'Feed full search': 'Perform full search', - 'Feed full search running': 'Searching…', - 'Feed full search clear': 'Clear', - 'Feed full search active hint': - 'Showing relay search results. Clear to return to the live feed.', - 'Feed full search need constraint': - 'Add search text, an author filter, or a time range before searching relays.', - 'Feed full search invalid feed': 'This feed cannot run a relay search.', - 'Feed full search failed': 'Relay search failed. Try again.', - 'Feed full search empty': 'No matching posts were found on the queried relays.', - 'No loaded posts match your filters.': 'No loaded posts match your filters.', - 'mentioned you in a note': 'ने आपका एक नोट में उल्लेख किया', - 'quoted your note': 'ने आपके नोट को उद्धृत किया', - 'quoted this note': 'Quoted this note', - 'highlighted this note': 'Highlighted this note', - 'cited in article': 'Cited in article', - 'Thread backlinks heading': 'Also quoting this note', - 'Thread backlinks primary section': 'Quotes, highlights & citations', - 'Thread backlinks bookmarks section': 'Bookmarks', - 'Thread backlinks lists section': 'Lists & collections', - 'View full note and thread': 'View full note and thread', - 'labeled this note': 'Labeled this note', - 'reported this note': 'Reported this note', - 'bookmarked this note': 'Bookmarked this note', - 'pinned this note': 'Pinned this note', - 'listed this note': 'Listed this note', - 'bookmark set reference': 'Bookmark set includes this note', - 'curated this note': 'Curated this note', - 'badge award for this note': 'Badge award for this note', - 'referenced this note': 'Referenced this note', - 'Report events heading': 'Moderation reports', - 'voted in your poll': 'ने आपके पोल में वोट किया', - 'reacted to your note': 'ने आपके नोट पर प्रतिक्रिया दी', - 'boosted your note': 'ने आपके नोट को बूस्ट किया', - 'zapped your note': 'ने आपके नोट को जैप किया', - 'zapped you': 'ने आपको जैप किया', - zapped: 'zapped', - 'Invalid zap receipt': 'Invalid zap receipt', - 'Zapped note': 'Zapped note', - 'Zapped profile': 'Zapped profile', - 'Zap reply threshold': 'Zap reply threshold', - 'Zaps above this amount will appear as replies in threads': - 'Zaps above this amount will appear as replies in threads', - 'Mark as read': 'पढ़ा हुआ मार्क करें', - Report: 'रिपोर्ट करें', - 'Successfully report': 'सफलतापूर्वक रिपोर्ट किया गया', - 'Failed to report': 'रिपोर्ट करने में असफल', - nudity: 'नग्नता', - malware: 'मैलवेयर', - profanity: 'अश्लीलता', - illegal: 'अवैध सामग्री', - spam: 'स्पैम', - other: 'अन्य', - 'Notification list style': 'सूचना सूची शैली', - 'See extra info for each notification': 'प्रत्येक सूचना के लिए अतिरिक्त जानकारी देखें', - 'See more notifications at a glance': 'एक नज़र में अधिक सूचनाएं देखें', - Detailed: 'विस्तृत', - 'Submit Relay': 'रिले सबमिट करें', - Homepage: 'होमपेज', - 'Proof of Work (difficulty {{minPow}})': 'कार्य प्रमाण (कठिनाई {{minPow}})', - 'via {{client}}': 'के माध्यम से {{client}}', - 'Auto-load media': 'मीडिया स्वतः लोड करें', - Always: 'हमेशा', - 'Wi-Fi only': 'केवल Wi-Fi', - Never: 'कभी नहीं', - 'Click to load image': 'इमेज लोड करने के लिए क्लिक करें', - 'Click to load media': 'मीडिया लोड करने के लिए क्लिक करें', - 'Click to load YouTube video': 'YouTube वीडियो लोड करने के लिए क्लिक करें', - '{{count}} reviews': '{{count}} समीक्षाएं', - 'Write a review': 'समीक्षा लिखें', - 'No reviews yet. Be the first to write one!': 'अभी तक कोई समीक्षा नहीं। पहले लिखने वाले बनें!', - 'View more reviews': 'और समीक्षाएं देखें', - 'Failed to review': 'समीक्षा असफल', - 'Write a review and pick a star rating': 'एक समीक्षा लिखें और स्टार रेटिंग चुनें', - Submit: 'सबमिट करें', - 'Reviews for {{relay}}': '{{relay}} के लिए समीक्षाएं', - 'No relays selected': 'कोई रिले चयनित नहीं', - 'Post to': 'पोस्ट करें', - 'Write relays and {{count}} other relays': 'राइट रिले और {{count}} अन्य रिले', - '{{count}} relays': '{{count}} रिले', - 'Republishing...': 'पुनः प्रकाशित कर रहे हैं...', - 'Trending Notes': 'ट्रेंडिंग नोट्स', - 'Trending on Your Favorite Relays': 'Trending on Your Favorite Relays', - 'Trending on the Default Relays': 'Trending on the Default Relays', - 'Latest from your follows': 'Latest from your follows', - 'Latest from our recommended follows': 'Latest from our recommended follows', - 'Follows latest page title': 'Latest from follows', - 'Follows latest page description': - 'Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.', - 'Follows latest nav label': 'Follows latest', - 'Loading follow list…': 'Loading follow list…', - 'Could not load recommended follows': 'Could not load recommended follows', - 'Your follow list is empty': 'Your follow list is empty', - 'Loading recent posts from follows…': 'Loading recent posts from follows…', - 'Loading more…': 'Loading more…', - 'No recent posts from this user in the current fetch': - 'No recent posts from this user in the current fetch', - 'Loading trending notes from your relays...': 'Loading trending notes from your relays...', - Sort: 'Sort', - newest: 'newest', - oldest: 'oldest', - 'most popular': 'most popular', - 'least popular': 'least popular', - 'Connected to': 'से कनेक्टेड', - 'Disconnect Wallet': 'वॉलेट डिस्कनेक्ट करें', - 'Are you absolutely sure?': 'क्या आप पूरी तरह से सुनिश्चित हैं?', - 'You will not be able to send zaps to others.': 'आप दूसरों को जैप नहीं भेज पाएंगे।', - Disconnect: 'डिस्कनेक्ट करें', - 'Set up your wallet to send and receive sats!': - 'सैट्स भेजने और प्राप्त करने के लिए अपना वॉलेट सेट करें!', - 'Set up': 'सेट करें', - 'nested events': 'nested events', - 'Loading RSS feeds...': 'Loading RSS feeds...', - 'No RSS feed items available': 'No RSS feed items available', - 'Show or hide the RSS page and sidebar entry': 'Show or hide the RSS page and sidebar entry', - 'Refreshing feeds...': 'Refreshing feeds...', - 'All feeds': 'All feeds', - 'All time': 'All time', - 'Last hour': 'Last hour', - 'Last day': 'Last day', - 'Last week': 'Last week', - 'Last month': 'Last month', - 'Last 24 hours': 'Last 24 hours', - 'Last 48 hours': 'Last 48 hours', - 'Time range': 'Time range', - 'Filter by RSS source': 'Filter by RSS source', - 'No items match your filters': 'No items match your filters', - 'Search...': 'Search...', - '{{count}} feeds': '{{count}} feeds', - 'Toggle filters': 'Toggle filters', - 'Showing {{filtered}} of {{total}} items': 'Showing {{filtered}} of {{total}} items', - Full: 'Full', - Compact: 'संक्षिप्त', - Expand: 'Expand', - 'help.title': 'Help', - 'help.tabShortcuts': 'Keyboard shortcuts', - 'help.tabOverview': 'App overview', - 'shortcuts.title': 'Keyboard shortcuts', - 'shortcuts.intro': - 'Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.', - 'shortcuts.sectionApp': 'This app', - 'shortcuts.sectionSearch': 'Search bar', - 'shortcuts.sectionStandard': 'Standard', - 'shortcuts.openHelp': 'Show this help', - 'shortcuts.or': 'or', - 'shortcuts.then': 'then', - 'shortcuts.focusPrimary': - 'Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)', - 'shortcuts.focusSecondary': - 'Focus side panel scroll when it is open (desktop; same keys to scroll)', - 'shortcuts.newNote': 'New note / post (after login if needed)', - 'shortcuts.searchSuggest': 'Move through suggestions', - 'shortcuts.searchDismiss': 'Close search dropdown', - 'shortcuts.tabNavigate': 'Move focus to the next or previous control', - 'shortcuts.activate': 'Activate buttons and many controls', - 'shortcuts.closeOverlays': 'Close dialogs, menus, and the search dropdown', - 'shortcuts.scrollWhenFocused': 'Scroll the focused scrollable area', - 'shortcuts.browserBack': 'Browser back (history)', - 'No spells yet. Create one with the button above.': - 'No spells yet. Create one with the button above.', - 'Loading spells from your relays…': 'Loading spells from your relays…', - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.': - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.', - 'Select a spell…': 'Select a spell…', - 'Spells from follows': 'From people you follow ({{count}})', - 'Other spells': 'Other spells ({{count}})', - 'Select a spell to view its feed.': 'Select a spell to view its feed.', - 'Add another row': 'Add another row', - 'Remove this row': 'Remove this row', - 'One kind number per row (e.g. 1 for notes).': 'One kind number per row (e.g. 1 for notes).', - 'One author per row: $me, $contacts, or hex pubkey / npub.': - 'One author per row: $me, $contacts, or hex pubkey / npub.', - 'One hex event id per row.': 'One hex event id per row.', - 'One wss:// URL per row. Leave empty to use your write relays.': - 'One wss:// URL per row. Leave empty to use your write relays.', - 'One topic per row.': 'One topic per row.', - topic: 'topic', - 'Spell form fields': 'Spell form fields', - 'Counting matching events…': 'Counting matching events…', - 'Edit spell': 'Edit spell', - 'Clone spell': 'Clone spell', - 'Spell cloned': 'Spell cloned', - 'Clone spell intro': - 'This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.', - 'Spell updated': 'Spell updated', - 'Relay URL': 'Relay', - Count: 'Count', - 'Edit spell relays': 'Edit relays', - 'COUNT spell relay errors hint': - 'One or more relays failed or returned an error. You can change the relay list in the spell and save again.', - 'COUNT spell total distinct explanation': - 'Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.', - 'Leave empty to use your write relays.': 'Leave empty to use your write relays.', - 'COUNT spell result explanation': - 'Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.', - 'COUNT spell may be capped by limit': - 'This count may equal your spell limit — there could be more matching events on the network.', - 'Spell count failed. Check relays or try again.': - 'Could not complete the count. Check relays or try again.', - 'REQ returns a feed; COUNT returns a number.': - 'REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.', - listImportManualLabel: 'Pre-fill from event', - listImportFromEventHint: - 'Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.', - listImportManualPlaceholder: '64-char hex, nevent1…, or naddr1…', - listImportLoadManual: 'Apply', - listImportContentSkipped: - 'This event has non-empty content (may include encrypted private items). Only public tags were merged.', - listImportUnsupportedEmoji: - 'This list includes emoji tags (NIP-30); those are not added to the spell filter.', - listImportUnsupportedTag: - 'Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.', - listImportBadATag: 'Could not parse address tag: {{preview}}…', - listImportATagNotFound: 'Could not resolve address tag: {{preview}}…', - listImportATagFailed: 'Failed to resolve address tag: {{preview}}…', - listImportEventNotFound: 'No event found for that reference.', - 'REQ tag filters': 'REQ tag filters', - spellFormTagFiltersLabel: 'Tag filters on matching events', - spellCreateIntro: - 'Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.', - spellFormSectionQueryTitle: 'Spell query', - spellFormSectionQueryHint: - 'This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).', - spellFormSectionMetadataTitle: 'Listing & labels (optional)', - spellFormSectionMetadataBadge: 'Not part of the query', - spellFormSectionMetadataHint: - 'Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.', - spellFormCatalogTopicsLabel: 'Topic labels on this spell (t tags)', - spellTopicsMetadataHint: - 'One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).', - spellTagFiltersHint: - 'Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.', - spellTagFiltersEmpty: 'No tag filters yet. Add rows below or apply an event reference above.', - 'Tag filter letter': 'Tag letter', - 'Filter value': 'Value', - 'Add tag filter': 'Add tag filter', - spellPickerSectionYours: 'Your spells', - 'Failed to remove spell from local storage': 'Failed to remove spell from local storage', - Spells: 'Spells', - 'doublePane.secondaryEmpty': 'Open a note, profile, or settings item to show it here.', - 'doublePane.secondaryEmptyHint': 'Your feed and primary pages stay on the left.', - '(empty)': '(empty)', - '12-hour (AM/PM)': '12-hour (AM/PM)', - '24-hour': '24-hour', - 'A new version is available': 'A new version is available', - 'A short description of the article content': 'A short description of the article content', - AM: 'AM', - 'Access via': 'Access via', - 'Accessed On': 'Accessed On', - 'Accessed on': 'Accessed on', - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.': - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.', - 'Add a relay to block': 'Add a relay to block', - 'Add at least one invitee': 'Add at least one invitee', - 'Add client identifier': 'Add client identifier', - 'Add expiration tags by default': 'Add expiration tags by default', - 'Add quiet tags by default': 'Add quiet tags by default', - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above': - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above', - 'Add the source (where this text is from)': 'Add the source (where this text is from)', - 'Add to favorites': 'Add to favorites', - 'Add {{count}} Selected': 'Add {{count}} Selected', - 'Added at': 'Added at', - 'Added {{count}} relay(s)': 'Added {{count}} relay(s)', - 'Adding...': 'Adding...', - 'Adding…': 'Adding…', - 'Advanced Options': 'Advanced Options', - 'All Topics': 'All Topics', - 'All feeds from OPML file are already added': 'All feeds from OPML file are already added', - 'All items deleted successfully': 'All items deleted successfully', - 'Already blocked': 'Already blocked', - 'Already saved': 'Already saved', - 'Application Recommendations': 'Application Recommendations', - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.': - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.', - 'Are you sure you want to delete all items from this store?': - 'Are you sure you want to delete all items from this store?', - 'Are you sure you want to unmute this user? This will restore the follow button.': - 'Are you sure you want to unmute this user? This will restore the follow button.', - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", - 'Article exported as AsciiDoc': 'Article exported as AsciiDoc', - 'Article exported as Markdown': 'Article exported as Markdown', - 'Article title (optional)': 'Article title (optional)', - articleDTagDefaultHint: - 'Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….', - Audio: 'Audio', - Author: 'Author', - 'Author is required for reading groups': 'Author is required for reading groups', - 'Author name (optional)': 'Author name (optional)', - Authors: 'Authors', - 'Block Relay': 'Block Relay', - 'Blocked Relays': 'Blocked Relays', - 'Blocking...': 'Blocking...', - Blossom: 'Blossom', - Book: 'Book', - 'Brief description of the event': 'Brief description of the event', - 'Brief summary (optional)': 'Brief summary (optional)', - 'Brief summary of the article (optional)': 'Brief summary of the article (optional)', - 'Browse Cache': 'Browse Cache', - 'C-Tag': 'C-Tag', - 'Cache Relays': 'Cache Relays', - 'Cache cleared successfully': 'Cache cleared successfully', - 'Cache refreshed successfully': 'Cache refreshed successfully', - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.': - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.', - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)': - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)', - 'Cache relays saved': 'Cache relays saved', - Cancelled: 'Cancelled', - Chapter: 'Chapter', - 'Chapter Title': 'Chapter Title', - 'Chapter title (optional)': 'Chapter title (optional)', - Citation: 'Citation', - 'Citation title (optional)': 'Citation title (optional)', - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.': - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})', - 'Cleanup Duplicates': 'Cleanup Duplicates', - Clear: 'Clear', - 'Clear Cache': 'Clear Cache', - 'Clear Service Worker': 'Clear Service Worker', - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.': - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.', - 'Click update to get the latest features and improvements': - 'Click update to get the latest features and improvements', - Close: 'Close', - 'Comma or space-separated topics (will be added as t-tags)': - 'Comma or space-separated topics (will be added as t-tags)', - Command: 'Command', - Configure: 'Configure', - 'Connect Wallet': 'Connect Wallet', - 'Console Logs': 'Console Logs', - 'Console logs cleared': 'Console logs cleared', - 'Content is required': 'Content is required', - 'Content must be 5000 characters or less': 'Content must be 5000 characters or less', - Controversial: 'Controversial', - 'Copied!': 'Copied!', - 'Copy to clipboard': 'Copy to clipboard', - 'Create Article': 'Create Article', - 'Create Citation': 'Create Citation', - 'Create Highlight': 'Create Highlight', - 'Create New Thread': 'Create New Thread', - 'Create Poll': 'Create Poll', - 'Create Thread': 'Create Thread', - composeModeKind1: 'Short note (kind 1) — turn off other compose types', - 'Create a Spell': 'Create a Spell', - 'Creating...': 'Creating...', - 'D-Tag': 'D-Tag', - 'D-Tag is required for articles': 'D-Tag is required for articles', - DOI: 'DOI', - 'Date-based (all-day)': 'Date-based (all-day)', - 'Default expiration (months)': 'Default expiration (months)', - 'Default quiet period (days)': 'Default quiet period (days)', - 'Delete All': 'Delete All', - 'Delete item': 'Delete item', - 'Deleted {{count}} event(s)': 'Deleted {{count}} event(s)', - 'Deletion request sent': 'Deletion request sent', - 'Description (content)': 'Description (content)', - 'Digital Object Identifier (optional)': 'Digital Object Identifier (optional)', - 'Disable word wrap': 'Disable word wrap', - 'Discovered Relays': 'Discovered Relays', - 'Discovering relays...': 'Discovering relays...', - Discussion: 'Discussion', - Discussions: 'Discussions', - Downvote: 'Downvote', - 'Edited by': 'Edited by', - Editor: 'Editor', - 'Editor name (optional)': 'Editor name (optional)', - 'Enable word wrap': 'Enable word wrap', - 'End date': 'End date', - 'End date must be after start date': 'End date must be after start date', - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.': - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.', - 'Enter a descriptive title for your thread': 'Enter a descriptive title for your thread', - 'Enter the author name': 'Enter the author name', - 'Enter the book title': 'Enter the book title', - 'Enter the specific text you want to highlight in the main content area above': - 'Enter the specific text you want to highlight in the main content area above', - 'Event IDs (ids)': 'Event IDs (ids)', - 'Event appears to be invalid or corrupted': 'Event appears to be invalid or corrupted', - 'Event has no value data': 'Event has no value data', - 'Event is missing required fields: {{fields}}': 'Event is missing required fields: {{fields}}', - 'Event type': 'Event type', - 'Expiration Tags': 'Expiration Tags', - 'Export OPML': 'Export OPML', - 'Export as AsciiDoc': 'Export as AsciiDoc', - 'Export as Markdown': 'Export as Markdown', - 'External Citation': 'External Citation', - 'External Citation Settings': 'External Citation Settings', - 'Failed to add relay. Please try again.': 'Failed to add relay. Please try again.', - 'Failed to add relays': 'Failed to add relays', - 'Failed to block relay. Please try again.': 'Failed to block relay. Please try again.', - 'Failed to cleanup duplicates': 'Failed to cleanup duplicates', - 'Failed to clear cache': 'Failed to clear cache', - 'Failed to copy': 'Failed to copy', - 'Failed to create relay set. Please try again.': - 'Failed to create relay set. Please try again.', - 'Failed to create thread': 'Failed to create thread', - 'Failed to create thread. Please try a different relay.': - 'Failed to create thread. Please try a different relay.', - 'Failed to delete all items': 'Failed to delete all items', - 'Failed to delete item': 'Failed to delete item', - 'Failed to discover relays': 'Failed to discover relays', - 'Failed to export OPML file': 'Failed to export OPML file', - 'Failed to export article': 'Failed to export article', - 'Failed to import OPML file: {{error}}': 'Failed to import OPML file: {{error}}', - 'Failed to load RSS feeds': 'Failed to load RSS feeds', - 'Failed to load store items': 'Failed to load store items', - 'Failed to mute user privately': 'Failed to mute user privately', - 'Failed to mute user publicly': 'Failed to mute user publicly', - 'Failed to pin note': 'Failed to pin note', - 'Failed to publish post': 'Failed to publish post', - 'Failed to publish reply': 'Failed to publish reply', - 'Failed to publish thread': 'Failed to publish thread', - 'Failed to publish to some relays. Please try again or use different relays.': - 'Failed to publish to some relays. Please try again or use different relays.', - 'Failed to save RSS feeds': 'Failed to save RSS feeds', - 'Failed to save cache relays': 'Failed to save cache relays', - 'Failed to save relay list': 'Failed to save relay list', - 'Failed to unregister service worker: ': 'Failed to unregister service worker: ', - 'Failed to unsubscribe from topic': 'Failed to unsubscribe from topic', - Favorite: 'Favorite', - Fetch: 'Fetch', - 'Fetch once, then stop.': 'Fetch once, then stop.', - 'Filter by': 'Filter by', - 'Flat View': 'Flat View', - 'Font size': 'Font size', - 'Full Quote/Context': 'Full Quote/Context', - 'Full-text search query': 'Full-text search query', - Geohash: 'Geohash', - 'Geohash (optional)': 'Geohash (optional)', - 'Global quiet mode': 'Global quiet mode', - 'Group discussions by topic': 'Group discussions by topic', - 'Grouped View': 'Grouped View', - Groups: 'Groups', - 'Handler {{index}}': 'Handler {{index}}', - 'Hardcopy Citation': 'Hardcopy Citation', - 'Hardcopy Citation Settings': 'Hardcopy Citation Settings', - Hide: 'Hide', - 'Hide interactions on all posts': 'Hide interactions on all posts', - 'Hide interactions on posts with quiet tags': 'Hide interactions on posts with quiet tags', - 'High PoW': 'High PoW', - 'Higher values make your thread harder to mine but more unique.': - 'Higher values make your thread harder to mine but more unique.', - Highlight: 'Highlight', - 'Highlight Settings': 'Highlight Settings', - 'How to Create a Highlight (NIP-84)': 'How to Create a Highlight (NIP-84)', - 'Human-readable spell name': 'Human-readable spell name', - 'Image URL': 'Image URL', - 'Import OPML': 'Import OPML', - 'Imported {{count}} feed(s) from OPML file': 'Imported {{count}} feed(s) from OPML file', - 'In-Browser Cache': 'In-Browser Cache', - Insert: 'Insert', - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).': - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).', - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.': - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.', - 'Insert event or address': 'Insert event or address', - 'Insert mention': 'Insert mention', - 'Internal Citation': 'Internal Citation', - 'Internal Citation Settings': 'Internal Citation Settings', - 'Invalid Event': 'Invalid Event', - 'Invalid Lightning Address': 'Invalid Lightning Address', - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.': - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.', - 'Invalid URL': 'Invalid URL', - 'Invalid content JSON': 'Invalid content JSON', - 'Invalid relay URL': 'Invalid relay URL', - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.': - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.', - 'Item deleted successfully': 'Item deleted successfully', - JSON: 'JSON', - 'Join link': 'Join link', - 'Journal/Publication name (optional)': 'Journal/Publication name (optional)', - Json: 'JSON', - Kinds: 'Kinds', - 'Language Model': 'Language Model', - Large: 'Large', - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link': - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link', - 'Lightning payment failed': 'Lightning payment failed', - Limit: 'Limit', - 'Live feed; keeps updating.': 'Live feed; keeps updating.', - 'Loading more...': 'Loading more...', - 'Loading relays...': 'Loading relays...', - 'Location (optional)': 'Location (optional)', - 'Log in to run this spell (it uses $me or $contacts).': - 'Log in to run this spell (it uses $me or $contacts).', - 'Login failed': 'Login failed', - 'Login to configure RSS feeds': 'Login to configure RSS feeds', - 'Long-form Article': 'Long-form Article', - 'Mailbox relays saved': 'Mailbox relays saved', - 'Mark as NSFW': 'Mark as NSFW', - 'Maximum {{max}} invitees': 'Maximum {{max}} invitees', - 'Maximum {{max}} invitees allowed': 'Maximum {{max}} invitees allowed', - Medium: 'Medium', - Mode: 'Mode', - 'Most Zapped': 'Most Zapped', - 'Move to top': 'Move to top', - 'Multiple choice': 'Multiple choice', - 'Mute failed': 'Mute failed', - NSFW: 'NSFW', - Name: 'Name', - 'Name of the language model used': 'Name of the language model used', - 'New External Citation': 'New External Citation', - 'New Hardcopy Citation': 'New Hardcopy Citation', - 'New Highlight': 'New Highlight', - 'New Internal Citation': 'New Internal Citation', - 'New Long-form Article': 'New Long-form Article', - 'New Poll': 'New Poll', - 'New Discussion': 'New Discussion', - 'New Prompt Citation': 'New Prompt Citation', - 'New Public Message': 'New Public Message', - 'New Wiki Article': 'New Wiki Article', - 'New Wiki Article (Markdown)': 'New Wiki Article (Markdown)', - Newest: 'Newest', - 'No JSON available': 'No JSON available', - 'No RSS feeds found in OPML file': 'No RSS feeds found in OPML file', - 'No cached data found.': 'No cached data found.', - 'No console logs captured yet': 'No console logs captured yet', - 'No events found': 'No events found', - 'No feeds configured. Default feed will be used.': - 'No feeds configured. Default feed will be used.', - 'No feeds to export': 'No feeds to export', - 'No groups available. Join some groups first.': 'No groups available. Join some groups first.', - 'No items in this store.': 'No items in this store.', - 'No items match your search.': 'No items match your search.', - 'No logs match the current filters': 'No logs match the current filters', - 'No posts found': 'No posts found', - 'No posts match your search': 'No posts match your search', - 'No relays available. Please configure relays in settings.': - 'No relays available. Please configure relays in settings.', - 'No service workers or caches found for this app': - 'No service workers or caches found for this app', - 'No users found': 'No users found', - 'No valid RSS feed URLs found in OPML file': 'No valid RSS feed URLs found in OPML file', - 'Note pinned': 'Note pinned', - 'Note unpinned': 'Note unpinned', - Oldest: 'Oldest', - 'Open Timestamp': 'Open Timestamp', - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.': - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.', - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.': - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.', - Optional: 'Optional', - 'Optional image for the event': 'Optional image for the event', - 'Optionally, add the full quote/context to show your highlight within it': - 'Optionally, add the full quote/context to show your highlight within it', - PM: 'PM', - 'Page Range': 'Page Range', - Pages: 'Pages', - 'Paste URL of a GIF': 'Paste URL of a GIF', - 'Paste URL of a meme image': 'Paste URL of a meme image', - 'Paste the entire original passage that contains your highlight': - 'Paste the entire original passage that contains your highlight', - Photo: 'Photo', - 'Picture Note': 'Picture Note', - 'Pin note': 'Pin note', - 'Plain text description of the query': 'Plain text description of the query', - 'Please login to view bookmarks': 'Please login to view bookmarks', - 'Please select a group': 'Please select a group', - 'Please select at least one relay': 'Please select at least one relay', - 'Please set a start date': 'Please set a start date', - 'Poll with no options': 'Poll with no options', - 'Post published to some relays': 'Post published to some relays', - 'Posts will automatically include expiration tags': - 'Posts will automatically include expiration tags', - 'Posts will automatically include quiet tags': 'Posts will automatically include quiet tags', - 'Posts will be quiet for this many days': 'Posts will be quiet for this many days', - 'Posts will expire after this many months': 'Posts will expire after this many months', - 'Processing...': 'Processing...', - 'Profile event not available': 'Profile event not available', - 'Prompt Citation': 'Prompt Citation', - 'Prompt Citation Settings': 'Prompt Citation Settings', - 'Prompt Conversation Script': 'Prompt Conversation Script', - 'Proof of Work': 'Proof of Work', - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post': - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post', - 'Publish to Relays': 'Publish to Relays', - 'Published By': 'Published By', - 'Published In': 'Published In', - 'Published On': 'Published On', - 'Published in': 'Published in', - 'Published on': 'Published on', - 'Publisher name (optional)': 'Publisher name (optional)', - 'Quiet Tags': 'Quiet Tags', - 'RSS Feed': 'RSS Feed', - 'RSS + Web': 'RSS + Web', - 'RSS feed source': 'RSS feed source', - 'All feed sources': 'All feed sources', - 'RSS feed view mode': 'RSS feed view mode', - 'Article URLs': 'Article URLs', - 'Article URLs subtitle': - 'One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.', - 'Article URLs Nostr manual subtitle': - 'Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.', - 'RSS feed column title': 'RSS & linked articles', - 'RSS feed column subtitle': - 'Feed entries and article cards that include at least one item from your subscribed RSS feeds.', - 'RSS timeline': 'RSS timeline', - 'RSS timeline subtitle': - 'Every item from your subscribed feeds, newest first — classic RSS reader.', - URLs: 'URLs', - RSS: 'RSS', - 'No URL-only items yet': 'No URL-only items yet', - 'Respond to this RSS entry': 'Respond to this RSS entry', - 'RSS read-only thread hint': - 'Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.', - 'RSS feed item label': 'RSS', - 'Web URL item label': 'Web URL', - 'URL thread activity': 'URL thread activity', - 'Suppress Clawstr links in RSS previews': 'Hide clawstr.com in RSS and URL feed', - 'Hide local, media & feed URLs from URL cards': - 'Hide local, media, feed, document & XML links from the feed', - 'RSS articles': 'RSS articles', - 'Web comments': 'Web comments', - 'Web highlights': 'Web highlights', - 'In your bookmarks': 'In your bookmarks', - '{{count}} RSS entries for this URL': '{{count}} RSS entries for this URL', - '{{count}} entries for this article URL': '{{count}} entries for this article URL', - 'No comments yet': 'No comments yet', - 'No highlights yet': 'No highlights yet', - 'Showing {{filtered}} of {{total}} entries': 'Showing {{filtered}} of {{total}} entries', - standardRssFeed_spotifeed: 'Spotify playlist (Spotifeed)', - standardRssFeed_youtube: 'YouTube feed', - standardRssFeed_youtubeChannel: 'YouTube channel feed', - standardRssFeed_youtubePlaylist: 'YouTube playlist feed', - standardRssFeed_feedburner: 'FeedBurner', - standardRssFeed_reddit: 'Reddit RSS', - standardRssFeed_substack: 'Substack', - standardRssFeed_medium: 'Medium', - 'RSS Feed Settings': 'RSS Feed Settings', - 'Follow sets': 'Follow sets', - 'Follow sets settings intro': - 'NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.', - 'New follow set': 'New follow set', - 'Edit follow set': 'Edit follow set', - 'No follow sets yet': 'You have not created any follow sets yet.', - 'Follow set saved': 'Follow set saved', - 'Follow set deleted': 'Follow set deleted', - 'Failed to load follow sets': 'Failed to load follow sets', - members: 'members', - 'Optional display title': 'Optional display title', - 'List id (d tag)': 'List id (d tag)', - 'Follow set d tag hint': - 'Stable identifier for this list. It cannot be changed after the first publish.', - 'People in this list': 'People in this list', - 'Delete follow set?': 'Delete this follow set?', - 'Delete follow set confirm': - 'This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.', - 'Remove feed': 'Remove feed', - 'RSS Feeds': 'RSS Feeds', - 'RSS feeds exported to OPML file': 'RSS feeds exported to OPML file', - 'RSS feeds saved': 'RSS feeds saved', - 'Rate limited. Please wait before trying again.': - 'Rate limited. Please wait before trying again.', - 'Reaction published': 'Reaction published', - 'Reaction removed': 'Reaction removed', - 'Read full article': 'Read full article', - 'Reading group entry': 'Reading group entry', - 'Readings Options': 'Readings Options', - Recipients: 'Recipients', - 'Recipients detected from your message:': 'Recipients detected from your message:', - 'Recommended Relays': 'Recommended Relays', - 'Recommended applications for handling events of kind {{kind}}': - 'Recommended applications for handling events of kind {{kind}}', - 'Reference to the cited Nostr event in kind:pubkey:hex format': - 'Reference to the cited Nostr event in kind:pubkey:hex format', - 'Refresh Cache': 'Refresh Cache', - 'Refreshing posts...': 'Refreshing posts...', - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.': - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.', - Relay: 'Relay', - 'Relay Hint': 'Relay Hint', - 'Relay URL (optional)': 'Relay URL (optional)', - 'Relay blocked successfully': 'Relay blocked successfully', - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.': - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.', - 'Relay set options': 'Relay set options', - 'Remove from favorites': 'Remove from favorites', - Rendered: 'Rendered', - 'Reply published': 'Reply published', - 'Reply published to some relays': 'Reply published to some relays', - 'Reply to Public Message': 'Reply to Public Message', - 'Republish to all active relays': 'Republish to all active relays', - 'Republish to all available relays': 'Republish to all available relays', - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.': - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.', - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.': - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.', - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Respect quiet tags': 'Respect quiet tags', - 'Search (NIP-50)': 'Search (NIP-50)', - 'Search by name or npub…': 'Search by name or npub…', - 'Search calendar, publications, wiki…': 'Search calendar, publications, wiki…', - 'Search for user…': 'Search for user…', - 'Search items...': 'Search items...', - 'Search logs...': 'Search logs...', - 'Search notes, threads, long-form…': 'Search notes, threads, long-form…', - 'Search on GifBuddy': 'Search on GifBuddy', - 'Search on Meme Amigo': 'Search on Meme Amigo', - 'Search posts...': 'Search posts...', - 'Search threads by title, content, tags, npub, author...': - 'Search threads by title, content, tags, npub, author...', - 'Searching all available relays...': 'Searching all available relays...', - 'Searching…': 'Searching…', - 'See reference': 'See reference', - 'Select Group': 'Select Group', - 'Select Media Type': 'Select Media Type', - 'Select group...': 'Select group...', - 'Select relays': 'Select relays', - 'Publish relay cap hint': - 'At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Publish relay cap hint with outbox first': - 'At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Select the group where you want to create this discussion.': - 'Select the group where you want to create this discussion.', - 'Select topic...': 'Select topic...', - 'Selected text': 'Selected text', - 'Send Public Message': 'Send Public Message', - 'Send a Lightning payment to this user': 'Send a Lightning payment to this user', - 'Service worker caches cleared. Please reload the page.': - 'Service worker caches cleared. Please reload the page.', - 'Service worker unregistered and caches cleared. Please reload the page.': - 'Service worker unregistered and caches cleared. Please reload the page.', - 'Service worker unregistered. Please reload the page.': - 'Service worker unregistered. Please reload the page.', - 'Share your thoughts, ask questions, or start a discussion...': - 'Share your thoughts, ask questions, or start a discussion...', - 'Short Video Note': 'Short Video Note', - 'Show RSS Feed': 'Show RSS Feed', - 'Show all discussions in a single list': 'Show all discussions in a single list', - 'Show less': 'Show less', - Since: 'Since', - Small: 'Small', - 'Some relays have temporarily disabled writes.': - 'Some relays have temporarily disabled writes.', - Source: 'Source', - 'Spell definition': 'Spell definition', - 'Spell published': 'Spell published', - 'Start date': 'Start date', - 'Start typing to see a preview...': 'Start typing to see a preview...', - 'Subject (Book Title)': 'Subject (Book Title)', - 'Subject (book title) is required for reading groups': - 'Subject (book title) is required for reading groups', - 'Subject / Topics': 'Subject / Topics', - Subscribe: 'Subscribe', - Subscribed: 'Subscribed', - 'Subscribed to topic': 'Subscribed to topic', - 'Subscribed to topic (local)': 'Subscribed to topic (local)', - 'Subscribing...': 'Subscribing...', - Summary: 'Summary', - 'Supported Event Types': 'Supported Event Types', - 'Take a note': 'Take a note', - 'The full prompt conversation (optional)': 'The full prompt conversation (optional)', - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.': - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.', - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.': - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.', - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.': - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.', - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a Nostr event of kind {{kind}}.': - 'This GIF was found in a Nostr event of kind {{kind}}.', - 'This file could be either audio or video. Please select the correct type:': - 'This file could be either audio or video. Please select the correct type:', - 'This store does not contain replaceable events': - 'This store does not contain replaceable events', - 'This will add additional tags for author and subject to help organize reading group discussions.': - 'This will add additional tags for author and subject to help organize reading group discussions.', - 'Thread Content': 'Thread Content', - 'Thread Title': 'Thread Title', - 'Thread creation timed out. Please try again.': 'Thread creation timed out. Please try again.', - 'Thread published': 'Thread published', - 'Threads are organized by topics. Choose a topic that best fits your discussion.': - 'Threads are organized by topics. Choose a topic that best fits your discussion.', - 'Time-based': 'Time-based', - 'Title is required': 'Title is required', - 'Title must be 100 characters or less': 'Title must be 100 characters or less', - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.': - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.', - Top: 'Top', - Topic: 'Topic', - URL: 'URL', - 'URL of the article cover image (optional)': 'URL of the article cover image (optional)', - 'Unique identifier for this article (required)': - 'Unique identifier for this article (required)', - 'Unmute failed': 'Unmute failed', - 'Unpin note': 'Unpin note', - Unsubscribe: 'Unsubscribe', - 'Unsubscribed from topic': 'Unsubscribed from topic', - 'Unsubscribing...': 'Unsubscribing...', - Until: 'Until', - Untitled: 'Untitled', - Update: 'Update', - 'Updating...': 'Updating...', - 'Upload Audio Comment': 'Upload Audio Comment', - 'Upload Audio Message': 'Upload Audio Message', - 'Upload Media': 'Upload Media', - Upvote: 'Upvote', - 'User unmuted': 'User unmuted', - 'Version number (optional)': 'Version number (optional)', - Video: 'Video', - 'Video Note': 'Video Note', - 'Video file': 'Video file', - 'View Console Logs': 'View Console Logs', - 'View JSON': 'View JSON', - 'View cached items in this store.': 'View cached items in this store.', - 'View definition': 'View definition', - 'View details about cached data in IndexedDB stores. Click on a store to view its items.': - 'View details about cached data in IndexedDB stores. Click on a store to view its items.', - 'View on Alexandria': 'View on Alexandria', - 'View on DecentNewsroom': 'View on DecentNewsroom', - 'View on Wikistr': 'View on Wikistr', - 'View recent console logs for debugging': 'View recent console logs for debugging', - 'Voice Comment': 'Voice Comment', - 'Voice Note': 'Voice Note', - 'Voice note or audio file': 'Voice note or audio file', - Volume: 'Volume', - 'Volume number (optional)': 'Volume number (optional)', - 'Vote published': 'Vote published', - 'Vote removed': 'Vote removed', - 'Website where LLM was accessed (optional)': 'Website where LLM was accessed (optional)', - 'Wiki Article (AsciiDoc)': 'Wiki Article (AsciiDoc)', - 'Wiki Article (Markdown)': 'Wiki Article (Markdown)', - 'You can only delete your own notes': 'You can only delete your own notes', - 'You must be logged in to create a thread': 'You must be logged in to create a thread', - 'You need to add at least one media server in order to upload media files.': - 'You need to add at least one media server in order to upload media files.', - 'You need to login first': 'You need to login first', - 'Your account is blocked from posting to this relay.': - 'Your account is blocked from posting to this relay.', - Zap: 'Zap', - 'Zap failed': 'Zap failed', - created_at: 'created_at', - 'e tag of kind 1040 event (optional)': 'e tag of kind 1040 event (optional)', - 'e.g. meetup, conference': 'e.g. meetup, conference', - 'e.g., 123-145 (optional)': 'e.g., 123-145 (optional)', - 'e.g., GPT-4, Claude, etc. (required)': 'e.g., GPT-4, Claude, etc. (required)', - 'e.g., my-article-title': 'e.g., my-article-title', - entries: 'entries', - 'from Bunker': 'from Bunker', - 'from Extension': 'from Extension', - 'from NIP-05': 'from NIP-05', - general: 'general', - 'https://example.com (required)': 'https://example.com (required)', - 'https://example.com/image.jpg': 'https://example.com/image.jpg', - id: 'id', - items: 'items', - kind: 'kind', - 'kind:pubkey:hex format (required)': 'kind:pubkey:hex format (required)', - 'last updated': 'last updated', - matching: 'matching', - naddr: 'naddr', - nevent: 'nevent', - 'nevent1..., naddr1..., note1..., hex ID, or https://...': - 'nevent1..., naddr1..., note1..., hex ID, or https://...', - 'no notes found': 'no notes found', - of: 'of', - 'on note': 'on note', - optional: 'optional', - pubkey: 'pubkey', - 'sent a public message': 'sent a public message', - 'sent you a public message': 'sent you a public message', - 'sent you a public message (along with {{count}} others)': - 'sent you a public message (along with {{count}} others)', - sig: 'sig', - 'started a discussion in {{topic}}': 'started a discussion in {{topic}}', - tags: 'tags', - thread: 'thread', - threads: 'threads', - 'topic1, topic2, topic3': 'topic1, topic2, topic3', - '{{count}} relay(s) selected': '{{count}} relay(s) selected', - '🔞 NSFW 🔞': '🔞 NSFW 🔞', - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).': - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).', - 'Failed to refresh': 'Failed to refresh', - 'Invalid article link.': 'Invalid article link.', - Likes: 'Likes', - 'Loading…': 'Loading…', - 'Missing pubkey': 'Missing pubkey', - 'No RSS feed list found on relays': 'No RSS feed list found on relays', - 'Pinned posts': 'Pinned posts', - 'Publishing...': 'Publishing...', - 'RSS article': 'RSS article', - 'RSS feed list refreshed': 'RSS feed list refreshed', - 'Save or discard your changes before refreshing from relays': - 'Save or discard your changes before refreshing from relays', - 'Suggested topics': 'Suggested topics', - 'Synthetic event (no author)': 'Synthetic event (no author)', - 'Topic is required': 'Topic is required', - 'Type a topic or pick from the list': 'Type a topic or pick from the list', - profileEditorRefreshCacheHint: 'profileEditorRefreshCacheHint', - startupSessionHydrating: 'startupSessionHydrating' - } -} diff --git a/src/i18n/locales/it.ts b/src/i18n/locales/it.ts deleted file mode 100644 index 1bc305d7..00000000 --- a/src/i18n/locales/it.ts +++ /dev/null @@ -1,1842 +0,0 @@ -export default { - translation: { - 'Welcome! 🥳': 'Benvenuto! 🥳', - About: 'Presentazione', - 'New Note': 'Nuova nota', - Post: 'Pubblica', - Home: 'Inizio', - Feed: 'Feed', - 'Favorite Relays': 'Relay preferiti', - 'Relay pulse': 'Relay pulse', - 'Relay pulse empty': 'Quiet on your relays in the last hour.', - 'Relay pulse follows': 'Following ({{count}})', - 'Relay pulse others': 'Others ({{count}})', - 'Relay pulse updated': 'Updated {{relative}}', - 'Relay pulse active npubs': 'Active npubs', - 'Relay pulse active npubs hint': - 'Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).', - 'Relay pulse drawer following': 'Following', - 'Relay pulse drawer others': 'Others', - 'Relay pulse drawer no profiles': 'No kind 0 profiles loaded for this sample yet.', - 'See the newest notes from your follows': 'See the newest notes from your follows', - 'All favorite relays': 'Tutti i relay preferiti', - 'Pinned note': 'Pinned note', - 'Relay settings': 'Impostazioni Relay', - Settings: 'Impostazioni', - 'Account menu': 'Account menu', - SidebarRelays: 'Relays', - Refresh: 'Aggiorna', - 'refresh.longPressHardReload': 'Long-press: reload app and restore feed cache', - 'link.expandNostrEmbed': 'Show Nostr preview', - Profile: 'Profilo', - Logout: 'Disconnetti', - Following: 'Seguendo', - followings: 'seguiti', - boosted: 'ha boostato', - 'Boosted by:': 'Boosted by:', - 'just now': 'adesso', - 'n minutes ago': '{{n}} minuti fa', - 'n m': '{{n}}m', - 'n hours ago': '{{n}} ore fa', - 'n h': '{{n}}o', - 'n days ago': '{{n}} giorni fa', - 'n d': '{{n}}g', - date: '{{timestamp, data}}', - Follow: 'Segui', - Unfollow: 'Non seguire', - 'Follow failed': 'Segui non riuscito', - 'Unfollow failed': 'Disiscrizione non riuscita', - 'show new notes': 'mostra nuove note', - 'loading...': 'caricando...', - 'Loading...': 'Caricamento in corso...', - 'no more notes': 'basta note', - 'calendar entries': 'calendar entries', - 'Loading calendar events...': 'Loading calendar events...', - 'No calendar events found': 'No calendar events found', - 'Calendar events in the next {{count}} months': 'Calendar events in the next {{count}} months', - 'The nostr.band relay appears to be temporarily out of service. Please try again later.': - 'The nostr.band relay appears to be temporarily out of service. Please try again later.', - 'reply to': 'replica a', - reply: 'replica', - Reply: 'Replica', - 'load more older replies': 'carica risposte più vecchie', - 'Write something...': 'Scrivi qualcosa...', - Cancel: 'Cancella', - Mentions: 'Menziona', - 'Search for event or address…': 'Search for event or address…', - 'Search notes…': 'Search notes…', - 'No notes found': 'No notes found', - 'Failed to post': 'Impossibile pubblicare', - 'Post successful': 'Pubblicazione riuscita', - 'Your post has been published': 'Il tuo post è stato pubblicato', - Boost: 'Boost', - 'Boost published': 'Boost pubblicato', - Quote: 'Quota', - 'Copy event ID': 'Copia ID evento', - 'Copy user ID': 'Copia ID utente', - 'Send public message': 'Send public message', - 'View raw event': 'Vedi evento grezzo', - 'Edit this event': 'Edit this event', - 'Clone or fork this event': 'Clone or fork this event', - 'Event kind': 'Event kind', - 'Note content': 'Note content', - Publish: 'Publish', - 'Post published': 'Post published', - 'Edit content and tags, then publish a new signed event.': - 'Edit content and tags, then publish a new signed event.', - 'Log in to publish': 'Log in to publish', - 'Set when you publish': 'set when you publish', - 'id and sig are assigned when you publish': 'id and sig are assigned when you publish', - 'Published to some relays only': 'Published to some relays only', - 'Add field': 'Add field', - 'View full profile': 'View full profile', - Like: 'Mi piace', - 'switch to light theme': 'passa al tema luminoso', - 'switch to dark theme': 'passa al tema scuro', - 'switch to system theme': 'passa al tema di sistema', - Note: 'Nota', - note: 'nota', - "username's following": '{{username}} seguiti', - "username's used relays": '{{username}} relays usati', - "username's muted": '{{username}} zittiti', - Login: 'Accedi', - downloadDesktopApp: 'Download app', - 'Please log in to view notifications.': 'Please log in to view notifications.', - 'Follows you': 'Ti segue', - 'Relay Settings': 'Impostazioni Relay', - 'Relays and Storage Settings': 'Relays and Storage Settings', - 'Relay set name': 'Imposta nome Relay', - 'Add a new relay set': 'Aggiungi nuovo set di relay', - Add: 'Aggiungi', - 'n relays': '{{n}} relays', - Rename: 'Rinomina', - 'Copy share link': 'Copy share link', - 'Copy address': 'Copy address', - 'Copy payto URI': 'Copy payto URI', - 'Copied payto address': 'Copied payto address', - 'Copied to clipboard': 'Copied to clipboard', - 'Copied {{label}} address': 'Copied {{label}} address', - 'Lightning payment address – copy to pay via your wallet': - 'Lightning payment address – copy to pay via your wallet', - 'Payment address – copy to use in your wallet or app': - 'Payment address – copy to use in your wallet or app', - 'Click to open payment options': 'Click to open payment options', - 'Click to copy address': 'Click to copy address', - 'Open on website': 'Open on website', - 'Raw profile event': 'Raw profile event', - 'Full profile event': 'Full profile event', - 'Event (JSON)': 'Event (JSON)', - 'Save full profile': 'Save full profile', - 'Add tag': 'Add tag', - 'Remove tag': 'Remove tag', - 'Tag name': 'Tag name', - Value: 'Value', - 'Add value to tag': 'Add value to tag', - 'Remove value': 'Remove value', - 'No tags. Click "Add tag" to add one.': 'No tags. Click "Add tag" to add one.', - 'Profile updated': 'Profile updated', - 'Failed to publish profile': 'Failed to publish profile', - 'Invalid profile JSON': 'Invalid profile JSON', - 'Refresh cache': 'Refresh cache', - 'Force-refresh profile and payment info from relays': - 'Force-refresh profile and payment info from relays', - 'Profile and payment cache refreshed': 'Profile and payment cache refreshed', - 'Failed to refresh cache': 'Failed to refresh cache', - 'Raw payment info event': 'Raw payment info event', - 'Payment info': 'Payment info', - 'Edit payment info': 'Edit payment info', - 'Add payment info': 'Add payment info', - 'No payment info event yet. Click "Add payment info" to create one.': - 'No payment info event yet. Click "Add payment info" to create one.', - 'Content (JSON)': 'Content (JSON)', - Tags: 'Tags', - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])': - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])', - 'Payment info updated': 'Payment info updated', - 'Failed to publish payment info': 'Failed to publish payment info', - 'Invalid tags JSON': 'Invalid tags JSON', - 'Payment methods': 'Payment methods', - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).': - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).', - 'Type (e.g. lightning)': 'Type (e.g. lightning)', - 'Authority (e.g. user@domain.com)': 'Authority (e.g. user@domain.com)', - 'Add payment method': 'Add payment method', - Remove: 'Remove', - 'Additional content (JSON)': 'Additional content (JSON)', - 'Show full event JSON': 'Show full event JSON', - 'Tag list': 'Tag list', - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.': - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.', - 'Tag value': 'Tag value', - 'Saving…': 'Saving…', - 'Share with Imwald': 'Condividi con Imwald', - 'Share with Alexandria': 'Condividi con Alexandria', - 'Start video call': 'Start video call', - 'Copy call invite link': 'Copy call invite link', - 'Start call about this': 'Start call about this', - 'Send call invite': 'Send call invite', - 'Read this note aloud': 'Read this note aloud', - 'Read-aloud is not supported in this browser': 'Read-aloud is not supported in this browser', - 'Nothing to read aloud': 'Nothing to read aloud', - 'Read-aloud failed': 'Read-aloud failed', - 'Read aloud': 'Read aloud', - 'Read-aloud idle': 'Idle', - 'Preparing read-aloud…': 'Preparing read-aloud…', - 'Requesting audio…': 'Requesting audio…', - 'Loading audio…': 'Loading audio…', - Playing: 'Playing', - Paused: 'Paused', - 'Read-aloud finished': 'Finished', - 'Read-aloud error': 'Error', - 'TTS endpoint': 'TTS endpoint', - 'Using browser speech synthesis': 'Using browser speech synthesis', - 'Read-aloud section progress': 'Section {{current}} of {{total}}', - 'Request sent': 'Request sent', - 'Response received': 'Response received', - 'Playback started': 'Playback started', - Characters: 'Characters', - Pause: 'Pause', - Play: 'Play', - Stop: 'Stop', - 'Read-aloud sections': 'Read-aloud sections', - 'Read-aloud overall progress': 'Overall progress', - 'Read-aloud section done': 'Section {{index}}: finished', - 'Read-aloud section pending': 'Section {{index}}: not started yet', - 'Read-aloud section fetching': 'Section {{index}}: requesting audio', - 'Read-aloud section preparing audio': 'Section {{index}}: loading audio', - 'Read-aloud section playing': 'Section {{index}}: playing', - 'Read-aloud section paused': 'Section {{index}}: paused', - 'Read-aloud legend fetching': 'Requesting audio for this section from the server…', - 'Read-aloud legend buffering': 'Decoding audio for this section…', - 'Read-aloud legend playing': 'Playing this section.', - 'Read-aloud legend paused': 'Playback paused.', - 'Read-aloud Piper fallback notice': - 'Server voice (Piper) could not be used. Playing with your browser voice instead.', - 'Read-aloud Piper fallback detail label': 'Piper error', - 'Read-aloud Piper status region': 'Piper text-to-speech status', - 'Read-aloud Piper status heading': 'Piper (server voice)', - 'Read-aloud Piper skipped notice': - 'No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.', - 'Read-aloud Piper attempt started': - 'Piper was started at {{time}} (this read-aloud used the server first).', - 'Read-aloud Piper endpoint tried': 'URL used: {{url}}', - 'Join the video call': 'Join the video call', - 'Schedule video call': 'Schedule video call', - "You're invited to a scheduled video call.": "You're invited to a scheduled video call.", - 'Create a calendar event and send an invite. The recipient will see the event with a join link.': - 'Create a calendar event and send an invite. The recipient will see the event with a join link.', - 'Schedule a video call': 'Schedule a video call', - 'Create a calendar event and send kind 24 invites to each listed invitee.': - 'Create a calendar event and send kind 24 invites to each listed invitee.', - Invitees: 'Invitees', - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)': - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)', - 'Schedule and send invites': 'Schedule and send invites', - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)': - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)', - 'Scheduled call created and {{count}} invite(s) sent': - 'Scheduled call created and {{count}} invite(s) sent', - 'Join video call': 'Join video call', - 'Scheduled video call': 'Scheduled video call', - 'Video call': 'Video call', - 'Schedule and send invite': 'Schedule and send invite', - 'Scheduling…': 'Scheduling…', - 'Please set a start time': 'Please set a start time', - 'End time must be after start time': 'End time must be after start time', - 'Failed to schedule call': 'Failed to schedule call', - 'Scheduled call created and invite sent': 'Scheduled call created and invite sent', - RSVP: 'RSVP', - 'RSVP: {{status}}': 'RSVP: {{status}}', - Accepted: 'Accepted', - Tentative: 'Tentative', - Declined: 'Declined', - 'You need to log in to RSVP': 'You need to log in to RSVP', - 'RSVP updated': 'RSVP updated', - 'Failed to update RSVP': 'Failed to update RSVP', - Organizer: 'Organizer', - Attendees: 'Attendees', - 'No response': 'No response', - 'Calendar Events': 'Calendar Events', - 'Calendar Event': 'Calendar Event', - 'Schedule in-person meeting': 'Schedule in-person meeting', - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.': - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.', - "You're invited to an in-person meeting.": "You're invited to an in-person meeting.", - 'Meeting created and invite sent': 'Meeting created and invite sent', - 'Failed to create meeting': 'Failed to create meeting', - 'Create and send invite': 'Create and send invite', - 'Creating…': 'Creating…', - 'In-person meeting': 'In-person meeting', - Location: 'Location', - 'Address, venue, or place': 'Address, venue, or place', - Description: 'Description', - 'Optional notes': 'Optional notes', - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.': - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.', - 'Meeting created and {{count}} invite(s) sent': 'Meeting created and {{count}} invite(s) sent', - 'Create and send invites': 'Create and send invites', - Title: 'Title', - Start: 'Start', - End: 'End', - Delete: 'Cancella', - 'Relay already exists': 'Relay già esistente', - 'invalid relay URL': 'URL relay non valido', - 'Relay URL…': 'wss://… or relay host', - 'Open relay': 'Open relay', - 'Add a new relay': 'Aggiungi un nuovo relay', - back: 'indietro', - 'Lost in the void': 'Perso nel vuoto', - 'Carry me home': 'Portami all inizio', - 'no replies': 'nessuna replica', - 'Reply to': 'Replica a', - Search: 'Ricerca', - 'The relays you are connected to do not support search': - 'I relays a cui siete collegati non supportano la ricerca.', - 'Show more...': 'Mostra di più...', - 'All users': 'Tutti gli utenti', - 'Display replies': 'Visualizza repliche', - Notes: 'Note', - Replies: 'Repliche', - Gallery: 'Galleria', - Notifications: 'Notifiche', - 'no more notifications': 'niente più notifiche', - 'Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.': - "L'accesso con chiave privata non è sicuro. Si consiglia di utilizzare un'estensione del browser per l'accesso, come alby, nostr-keyx o nos2x. Se devi utilizzare una chiave privata, imposta almeno una password per la crittografia.", - 'Login with Browser Extension': 'Accedi con una estensione del Browser', - 'Login with Bunker': 'Accedi con Bunker', - 'Login with Private Key': 'Accedi con la Chiave Privata', - 'Login with npub (read-only)': 'Accedi con npub (solo lettura)', - 'reload notes': 'ricarica note', - 'Logged in Accounts': 'Account collegati', - 'Add an Account': 'Aggiungi un Account', - 'More options': 'Più opzioni', - 'Add client tag': 'Aggiungi etichetta del client', - 'Show others this was sent via Imwald': - 'Mostra agli altri che questo è stato inviato tramite Imwald', - 'Are you sure you want to logout?': 'Sei sicuro di volerti scollegare?', - 'relay sets': 'set di relay', - edit: 'modifica', - Languages: 'Lingue', - Theme: 'Tema', - System: 'Sistema', - Light: 'Luminoso', - Dark: 'Scuro', - Temporary: 'Temporaneo', - 'Choose a relay set': 'Scegli un set di relay', - 'Switch account': 'Cambia account', - Pictures: 'Immagini', - 'Picture note': 'Nota della immagine', - 'A special note for picture-first clients like Olas': - 'Una nota speciale per i client immagine che privilegiano Olas', - 'Picture note requires images': 'La nota illustrativa richiede immagini', - Relays: 'Relays', - Image: 'immagine', - 'Upload Image': 'Upload Image', - 'Insert emoji': 'Insert emoji', - 'Insert GIF': 'Insert GIF', - 'Insert meme': 'Insert meme', - 'Search GIFs': 'Search GIFs', - 'Search memes': 'Search memes', - 'Choose a GIF': 'Choose a GIF', - 'Choose a meme': 'Choose a meme', - 'Search GifBuddy for more GIFs': 'Search GifBuddy for more GIFs', - 'Add your own GIFs': 'Add your own GIFs', - 'Add your own meme templates': 'Add your own meme templates', - 'Description (optional, for search)': 'Description (optional, for search)', - 'e.g. happy birthday, thumbs up': 'e.g. happy birthday, thumbs up', - 'e.g. drake, distracted boyfriend': 'e.g. drake, distracted boyfriend', - 'Uploading...': 'Uploading...', - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.': - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.', - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).': - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).', - 'Failed to publish meme template for the picker': - 'Failed to publish meme template for the picker', - '{{name}} is not a GIF file': '{{name}} is not a GIF file', - '{{name}} is not a JPEG, PNG, or WebP file': '{{name}} is not a JPEG, PNG, or WebP file', - 'R & W': 'L & S', - Read: 'Leggi', - Write: 'Scrivi', - 'Pull relay sets': 'Ottieni set di relay', - 'Select the relay sets you want to pull': 'Selezionare i set di relay che si desidera ottenere', - 'No relay sets found': 'Nessun set di relay trovato', - 'Pull n relay sets': 'Ottieni {{n}} set di relay', - Pull: 'Ottieni', - 'Select all': 'Seleziona tutto', - 'Relay Sets': 'Set di Relay', - 'Read & Write Relays': 'Relay Leggi & Scrivi', - 'read relays description': - 'I relay di lettura vengono utilizzati per cercare eventi che ti interessano. Gli altri utenti pubblicheranno gli eventi che vogliono farvi vedere nei vostri relay di lettura.', - 'write relays description': - 'I relay di scrittura sono utilizzati per pubblicare i tuoi eventi. Gli altri utenti cercheranno i tuoi eventi dai vostri relay di scrittura.', - 'read & write relays notice': - 'Il numero di server di lettura e scrittura dovrebbe essere mantenuto idealmente tra 2 e 4.', - "Don't have an account yet?": 'Non hai ancora un account?', - 'or simply generate a private key': 'o semplicemente genera una chiave privata', - 'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.': - 'Questa è una chiave privata. Non condividetela con nessuno. Conservatela al sicuro. Non sarà possibile recuperarla in caso di smarrimento.', - Edit: 'Modifica', - Save: 'Salva', - 'Display Name': 'Nome Visualizzato', - Bio: 'Bio', - 'Nostr Address (NIP-05)': 'Indirizzo Nostr (NIP-05)', - 'Invalid NIP-05 address': 'Indirizzo NIP-05 non valido', - 'Copy private key': 'Copia la chiave privata', - 'Enter the password to decrypt your ncryptsec': - 'Inserisci la password per decriptare la tua ncryptsec', - Back: 'Indietro', - 'optional: encrypt nsec': 'opzione: cripta nsec', - password: 'password', - 'Sign up': 'Iscriviti', - 'Save to': 'Salva a', - 'Enter a name for the new relay set': 'Inserisci un nome per il nuovo set di relay', - 'Save to a new relay set': 'Salva al nuovo set di relay', - Mute: 'Zittisci', - Muted: 'Zittiti', - Unmute: 'Ridai voce', - 'Unmute user': 'Ridai voce a questo utente', - Block: 'Block', - Unblock: 'Unblock', - blocked: 'blocked', - 'Append n relays': 'Aggiungi {{n}} relays', - Append: 'Aggiungi', - 'Select relays to append': 'Seleziona relay da aggiungere', - 'calculating...': 'calcolando...', - 'Calculate optimal read relays': 'Calcolo ottimale relay di lettura', - 'Login to set': 'Accedi per impostare', - 'Please login to view following feed': 'Per favore accedi per vedere il feed dei seguiti', - 'Follow set': 'Follow set', - 'Follow set feed empty': - 'This NIP-51 list is empty, was not found, or relays could not load it yet.', - 'Send only to r': 'Invia solo a {{r}}', - 'Send only to these relays': 'Invia solo a questi relay', - Explore: 'Esplora', - 'Relay reviews': 'Recensioni relay', - 'Search relays': 'Ricerca relay', - relayInfoBadgeAuth: 'Autorizzazione', - relayInfoBadgeSearch: 'Ricerca', - relayInfoBadgePayment: 'Pagamento', - Operator: 'Operatore', - Contact: 'Contatto', - Software: 'Programma', - Version: 'Versione', - 'Random Relays': 'Relay a caso', - randomRelaysRefresh: 'Aggiorna', - 'Explore more': 'Esplora di più', - 'Payment page': 'Pagina di pagamento', - 'Supported NIPs': 'NIP supportati', - 'Relay liveliness (NIP-66)': 'Relay liveliness (NIP-66)', - 'Relay monitor (NIP-66)': 'Relay monitor (NIP-66)', - 'Auth required': 'Auth required', - 'Public (no auth)': 'Public (no auth)', - 'Payment required': 'Payment required', - 'No payment': 'No payment', - 'Writes required': 'Writes required', - 'Writes open': 'Writes open', - 'PoW required': 'PoW required', - 'No PoW': 'No PoW', - 'RTT open': 'RTT open', - 'RTT read': 'RTT read', - 'RTT write': 'RTT write', - 'Supported NIPs (from monitor)': 'Supported NIPs (from monitor)', - 'Last reported by monitor': 'Last reported by monitor', - Network: 'Network', - Type: 'Type', - Topics: 'Topics', - 'Open in a': 'Apri in {{a}}', - 'Cannot handle event of kind k': 'Impossibile gestire un evento di tipo {{k}}', - 'Unsupported event preview': - 'There isn’t a dedicated card for this event type yet. Here’s a readable preview.', - 'No text content in event': 'No text in this event.', - 'Technical details': 'Technical details', - 'Event kind and time': 'Kind {{kind}} · {{time}}', - 'Event kind label': 'Kind {{kind}}', - 'Note kind label line': 'KIND: {{kind}} · {{description}}', - 'Unknown note declared kind tag': 'Tagged kind: {{value}}', - 'Unknown note tagged pubkey': 'Tagged pubkey', - 'Unknown note tagged content': 'Content', - 'Unknown note reference tags': 'Reference tags (e, p, q, a)', - 'Starred spells': 'Starred spells', - 'Spell star add title': 'Star spell (adds to your Nostr bookmarks)', - 'Spell star remove title': 'Unstar spell (removes from your Nostr bookmarks)', - 'Copy JSON': 'Copy JSON', - Verse: 'Verse', - 'Notification reaction summary': 'reacted to this note.', - 'Notification discussion upvote summary': 'upvoted in this discussion.', - 'Notification discussion downvote summary': 'downvoted in this discussion.', - 'Notification boost summary': 'Boosted this note', - 'Notification boost detail': 'The preview above is the original post.', - 'Notification poll vote summary': 'Voted on the poll above.', - 'Notification poll vote options count': '{{count}} option(s) selected', - 'Imwald synthetic event': 'Imwald synthetic event', - '+ Add a URL to this list': 'Add a URL to this list', - 'Add a web URL': 'Add a web URL', - 'Add web URL to feed description': - 'Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.', - 'Add to feed': 'Add to feed', - 'Open any https page in the side panel to reply, react, and discuss on Nostr.': - 'Open any https page in the side panel to reply, react, and discuss on Nostr.', - 'Enter a valid http(s) URL': 'Enter a valid http(s) URL', - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.': - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.', - 'Open in browser': 'Open in browser', - 'Web page': 'Web page', - Open: 'Open', - 'Sorry! The note cannot be found 😔': 'Spiacente! La nota non può essere trovata 😔', - 'This user has been muted': 'Questo utente è stato zittito', - Wallet: 'Wallet', - Sats: 'Sats', - sats: 'sats', - 'Zap to': 'Zap a', - 'Zap n sats': 'Zap {{n}} sats', - zapComment: 'Commento', - 'Default zap amount': 'Importo zap predefinito', - 'Default zap comment': 'Commento zap predefinito', - 'Lightning Address (or LNURL)': 'Indirizzo Lightning (o LNURL)', - 'Quick zap': 'Zap immediato', - 'If enabled, you can zap with a single click. Click and hold for custom amounts': - 'Se abilitato, è possibile fare zapping con un solo clic. Fare clic e tenere premuto per ottenere importi personalizzati', - All: 'Tutto', - Reactions: 'Reazioni', - Zaps: 'Zaps', - Boosts: 'Boost', - Badges: 'Badges', - Reports: 'Reports', - 'Enjoying Imwald?': 'Ti sta piacendo Imwald?', - 'Your donation helps me maintain Imwald and make it better! 😊': - 'La tua donazione mi aiuta a mantenere Imwald e a migliorarlo! 😊', - 'Earlier notifications': 'Notifiche precedenti', - 'Temporarily display this note': 'Visualizza temporaneamente questa nota', - buttonFollowing: 'Seguendo', - 'Are you sure you want to unfollow this user?': - 'Sei sicuro di voler disiscrivere questo utente?', - 'Recent Supporters': 'Recenti Sostenitori', - 'Seen on': 'Visto su', - 'Temporarily display this reply': 'Mostra temporaneamente questa replica', - 'Note not found': 'Non è stata trovata la nota', - 'Invalid embedded note reference': 'Invalid embedded note reference', - embeddedNoteInvalidEmpty: 'This embedded link is empty.', - embeddedNoteInvalidHex: - 'This is not a valid hex event id (expected exactly 64 hexadecimal characters).', - embeddedNoteInvalidBech32: - 'This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.', - embeddedNoteInvalidWrongKind: - 'This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.', - 'The note was not found on your relays or default relays.': - 'The note was not found on your relays or default relays.', - "Try searching author's relays": "Try searching author's relays", - 'Searching external relays...': 'Searching external relays...', - "This will connect to the author's relays and relay hints": - "This will connect to the author's relays and relay hints", - 'Note could not be found anywhere': 'Note could not be found anywhere', - 'Try external relays': 'Try external relays', - 'Searching...': 'Searching...', - 'Show relays': 'Show relays', - 'No external relay hints available': 'No external relay hints available', - 'External relay search is not available for this link type': - 'External relay search is not available for this link type.', - 'Searched external relays not found': - 'Searched {{count}} external relays; the note was still not found.', - 'no more replies': 'niente più repliche', - 'Relay sets': 'Set di Relay', - 'Search for Relays': 'Search for Relays', - 'Using app default relays': 'Using app default relays', - "Following's Favorites": 'Preferiti dei seguiti', - 'no more relays': 'niente più relay', - 'Favorited by': 'Preferito da', - 'Post settings': 'Impostazioni post', - 'Publishing feedback': 'Publishing feedback', - 'Publish success toasts': 'Publish success toasts', - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.': - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.', - 'Publish successful': 'Publish successful', - 'Media upload service': 'Servizio di caricamento media', - 'Choose a relay': 'Scegli un relay', - 'no relays found': 'Nessun relay trovato', - video: 'video', - 'Show n new notes': 'Mostra {{n}} nuove note', - YouTabName: 'Tu', - Bookmark: 'Segnalibro', - 'Remove bookmark': 'Rimuovi segnalibro', - 'no bookmarks found': 'Nessun segnalibro trovato', - 'no more bookmarks': 'Nessun altro segnalibro', - Bookmarks: 'Segnalibri', - 'Follow Packs': 'Follow Packs', - 'Follow Pack': 'Follow Pack', - 'Follow pack by': 'by', - 'In Follow Packs': 'In Follow Packs', - 'Badge details': 'Badge details', - 'Issued by': 'Issued by', - 'Other recipients': 'Other recipients', - 'No other recipients found': 'No other recipients found', - 'Recipients could not be loaded': 'Recipients could not be loaded', - 'View award': 'View award', - 'Awarded on': 'Awarded on', - 'Please log in to follow': 'Please log in to follow', - 'Following All': 'Following All', - 'Followed {{count}} users': 'Followed {{count}} users', - 'All available members are already followed or muted': - 'All available members are already followed or muted', - 'You are already following all members of this pack': - 'You are already following all members of this pack', - 'Failed to follow pack': 'Failed to follow pack', - '{{count}} profiles': '{{count}} profiles', - 'Show more': 'Mostra di più', - General: 'Generale', - Autoplay: 'Riproduzione automatica', - 'Enable video autoplay on this device': - 'Abilita riproduzione automatica video su questo dispositivo', - 'liveActivities.heading': 'Live now', - 'liveActivities.regionLabel': 'Live spaces and streams', - 'liveActivities.fromFollow': 'From someone you follow', - 'liveActivities.goToSlide': 'Show live item {{n}}', - 'liveActivities.settingsToggle': 'Live activities banner', - 'liveActivities.settingsHint': - 'Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.', - 'Add random relays to every publish': 'Random relays in publish list', - 'Add random relays to every publish description': - 'Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.', - relayType_local: 'Local', - relayType_relay_list: 'Relay list', - relayType_http_relay_list: 'HTTP', - 'HTTP relays': 'HTTP relays', - httpRelaysDescription: - 'HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.', - 'HTTP relays saved': 'HTTP relays saved', - 'Failed to save HTTP relay list': 'Failed to save HTTP relay list', - 'HTTP relays must start with https:// or http://': - 'HTTP relays must start with https:// or http://', - relayType_client_default: 'Client default', - relayType_open_from: 'Current feed', - relayType_favorite: 'Favorite', - relayType_relay_set: 'Relay set', - relayType_contextual: 'Reply/PM', - relayType_randomly_selected: 'Random (optional)', - 'Session relays': 'Session relays', - 'Session relays tab description': - 'Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish).', - 'Session relays preset working': 'Working preset relays', - 'Session relays preset working hint': - 'Preset relays (from app defaults) that have not reached 3 publish failures this session.', - 'Session relays preset striked': 'Striked preset relays', - 'Session relays preset striked hint': - 'Preset relays that have reached 3 publish failures this session and are skipped for the rest of the session.', - 'Session relays scored random': 'Scored random relays', - 'Session relays scored random hint': - 'Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.', - 'Session relays all striked': 'All striked relays (any source)', - 'Session relays clear strike': 'Allow again', - 'Session relays clear strike hint': - 'Remove this relay from the session block list; it will be used again until new connection failures.', - successes: 'successes', - None: 'None', - 'Cache & offline storage': 'Cache & offline storage', - feedStarting: 'Starting feeds and relays… This can take a few seconds after login.', - refreshCacheButtonExplainer: - 'Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.', - 'eventArchive.sectionTitle': 'Notes & feed archive', - 'eventArchive.sectionBlurb': - 'Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.', - 'eventArchive.defaultsMobile': - 'This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).', - 'eventArchive.defaultsElectron': - 'Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.defaultsDesktopWeb': - 'Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.enablePersist': 'Persist feed events to disk', - 'eventArchive.maxMb': 'Max archive size (MB), blank = default for this device', - 'eventArchive.maxEvents': 'Max archived events, blank = default', - 'eventArchive.sessionLru': 'In-memory session cache (event count), blank = default', - 'eventArchive.effectiveSummary': - 'Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.', - 'eventArchive.on': 'on', - 'eventArchive.off': 'off', - 'eventArchive.apply': 'Apply cache settings', - 'eventArchive.appliedToast': 'Cache settings saved. Session memory updated.', - 'Paste or drop media files to upload': 'Incolla o trascina i file multimediali per caricarli', - Preview: 'Anteprima', - 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'Stai per pubblicare un evento firmato da [{{eventAuthorName}}]. Attualmente sei connesso come [{{currentUsername}}]. Sei sicuro?', - 'Platinum Sponsors': 'Sponsor Platino', - From: 'Da', - 'Comment on': 'Commenta su', - 'View on njump.me': 'Visualizza su njump.me', - 'Hide content from untrusted users': 'Nascondi contenuti da utenti non fidati', - 'Only show content from your followed users and the users they follow': - 'Mostra solo contenuti dai tuoi utenti seguiti e dagli utenti che seguono', - 'Followed by': 'Seguito da', - 'Mute user privately': 'Zittisci utente privatamente', - 'Mute user publicly': 'Zittisci utente pubblicamente', - Quotes: 'Citazioni', - 'Lightning Invoice': 'Fattura Lightning', - 'Bookmark failed': 'Impossibile aggiungere segnalibro', - 'Remove bookmark failed': 'Impossibile rimuovere segnalibro', - Translation: 'Traduzione', - Balance: 'Saldo', - characters: 'caratteri', - translateApiKeyDescription: - "Puoi utilizzare questa chiave API ovunque supporti LibreTranslate. L'URL del servizio è {{serviceUrl}}", - 'Top up': 'Torna al saldo', - 'Will receive: {n} characters': 'Riceverai: {{n}} caratteri', - 'Top up {n} sats': 'Ricarica {{n}} sats', - 'Minimum top up is {n} sats': 'La ricarica minima è di {{n}} sats', - Service: 'Servizio', - 'Reset API key': 'Reimposta chiave API', - 'Are you sure you want to reset your API key? This action cannot be undone.': - 'Sei sicuro di voler reimpostare la tua chiave API? Questa azione non può essere annullata.', - Warning: 'Attenzione', - 'Errors & warnings': 'Errors & warnings', - 'Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.': - 'La tua attuale chiave API diventerà immediatamente non valida e tutte le applicazioni che la utilizzano smetteranno di funzionare finché non le aggiornerai con la nuova chiave.', - 'Service address': 'Indirizzo del servizio', - Pay: 'Paga', - interactions: 'interazioni', - notifications: 'notifiche', - notificationsViewAsAccount: 'View as', - notificationsViewAsAccountAria: - 'Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.', - notificationsSwitchAccountFailed: - 'Could not switch account. Check your signer, password, or extension and try again.', - 'Show untrusted {type}': 'Mostra {{type}} non fidati', - 'Hide untrusted {type}': 'Nascondi {{type}} non fidati', - 'Currently hiding {type} from untrusted users.': - 'Attualmente nascondo {{type}} da utenti non fidati.', - 'Currently showing all {type}.': 'Attualmente mostro tutti {{type}}.', - 'Click continue to show all {type}.': 'Clicca su continua per mostrare tutti {{type}}.', - 'Click continue to hide {type} from untrusted users.': - 'Clicca su continua per nascondere {{type}} da utenti non fidati.', - 'Trusted users include people you follow and people they follow.': - 'Gli utenti fidati includono le persone che segui e le persone che seguono loro.', - Continue: 'Continua', - 'Successfully updated mute list': 'Lista di silenziamento aggiornata con successo', - 'No pubkeys found from {url}': 'Nessun pubkey trovato da {{url}}', - 'Translating...': 'Traduzione in corso...', - Translate: 'Traduci', - 'Show original': 'Mostra originale', - Website: 'Sito web', - 'Hide untrusted notes': 'Nascondi note non fidate', - 'Open in another client': 'Apri in un altro client', - Community: 'Comunità', - Group: 'Gruppo', - 'Live event': 'Evento dal vivo', - Article: 'Articolo', - Unfavorite: 'Rimuovi dai preferiti', - 'Recommended relays': 'Relay consigliati', - 'Show recommended relays panel': 'Show recommended relays panel', - 'Display the right-side panel with recommended relays on desktop': - 'Display the right-side panel with recommended relays on desktop', - 'Blossom server URLs': 'URL del server Blossom', - 'You need to add at least one blossom server in order to upload media files.': - 'È necessario aggiungere almeno un server Blossom per caricare file multimediali.', - 'Recommended blossom servers': 'Server Blossom consigliati', - 'Enter Blossom server URL': 'Inserisci URL del server Blossom', - Preferred: 'Preferito', - 'Multiple choice (select one or more)': 'Scelta multipla (seleziona uno o più)', - Vote: 'Vota', - '{{number}} votes': '{{number}} voti', - 'Total votes': 'Voti totali', - 'Poll has ended': 'Il sondaggio è terminato', - 'Poll ends at {{time}}': 'Il sondaggio termina alle {{time}}', - 'Load results': 'Carica risultati', - 'This is a poll note.': 'Questa è una nota sondaggio.', - 'Unlike regular notes, polls are not widely supported and may not display on other clients.': - 'A differenza delle note regolari, i sondaggi non sono ampiamente supportati e potrebbero non essere visualizzati su altri client.', - 'Option {{number}}': 'Opzione {{number}}', - 'Add Option': 'Aggiungi Opzione', - 'Allow multiple choices': 'Consenti scelte multiple', - 'End Date (optional)': 'Data di fine (opzionale)', - 'Clear end date': 'Cancella data di fine', - 'Relay URLs (optional, comma-separated)': 'URL relay (opzionale, separati da virgole)', - 'Remove poll': 'Rimuovi sondaggio', - 'Refresh results': 'Aggiorna risultati', - '{{votes}} · {{pct}}%': '{{votes}} · {{pct}}%', - 'See results': 'See results', - 'Zap poll (paid votes)': 'Zap poll (paid votes)', - 'Invalid zap poll': 'Invalid zap poll', - 'You voted on this poll (zap receipt)': 'You voted on this poll (zap receipt)', - 'Poll closed {{time}}': 'Poll closed {{time}}', - 'Closes {{time}}': 'Closes {{time}}', - 'Vote size': 'Vote size', - '{{n}} sats (fixed)': '{{n}} sats (fixed)', - '{{min}}–{{max}} sats': '{{min}}–{{max}} sats', - '≥ {{n}} sats': '≥ {{n}} sats', - '≤ {{n}} sats': '≤ {{n}} sats', - 'Loading tally…': 'Loading tally…', - 'Zap poll no votes yet': - 'No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).', - 'Consensus threshold': 'Consensus threshold', - 'Pay to': 'Pay to', - Recipient: 'Recipient', - Option: 'Option', - 'Select option': 'Select option', - 'Select an option': 'Select an option', - 'Vote with zap': 'Vote with zap', - 'Zap sent': 'Zap sent', - 'Zapping…': 'Zapping…', - 'Refresh tally': 'Refresh tally', - '{{n}} zaps': '{{n}} zaps', - Poll: 'Sondaggio', - Media: 'media', - 'Articles and Publications': 'Articles and Publications', - 'Search articles...': 'Search articles...', - 'Refreshing articles...': 'Refreshing articles...', - 'No articles or publications found': 'No articles or publications found', - 'No articles or publications match your search': - 'No articles or publications match your search', - 'articles and publications': 'articles and publications', - Interests: 'Interests', - Calendar: 'Calendar', - 'No subscribed interests yet.': - 'No subscribed interests yet. Add topics in settings to see them here.', - 'No bookmarked notes with id tags yet.': - 'No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.', - 'No follows or relays to load yet.': 'No follows or relays to load yet.', - 'Nothing to load for this feed.': 'Nothing to load for this feed.', - 'No posts loaded for this feed. Try refreshing.': - 'No posts loaded for this feed. Try refreshing.', - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.': - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.', - 'Per-relay timeline results ({{count}} connections)': - 'Per-relay timeline results ({{count}} connections)', - 'Republish to ...': 'Ripubblica a...', - 'All available relays': 'All available relays', - 'All active relays (monitoring list)': 'All active relays (monitoring list)', - 'Successfully republish to all available relays': - 'Successfully republish to all available relays', - 'Failed to republish to all available relays: {{error}}': - 'Failed to republish to all available relays: {{error}}', - 'Successfully republish to all active relays': 'Successfully republish to all active relays', - 'Failed to republish to all active relays: {{error}}': - 'Failed to republish to all active relays: {{error}}', - 'No active relays in monitoring list': 'No active relays in monitoring list', - 'No relay accepted the event': 'No relay accepted the event', - 'No relays available': 'No relays available', - 'No write relays configured': 'No write relays configured', - 'Relay did not accept the event': 'Relay did not accept the event', - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".': - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".', - 'Successfully republish to your write relays': - 'Ricondivisione riuscita ai tuoi relay di scrittura', - 'Failed to republish to your write relays: {{error}}': - 'Impossibile ricondividere ai tuoi relay di scrittura: {{error}}', - 'Successfully republish to relay set: {{name}}': - 'Ricondivisione riuscita al set di relay: {{name}}', - 'Failed to republish to relay set: {{name}}. Error: {{error}}': - 'Impossibile ricondividere al set di relay: {{name}}. Errore: {{error}}', - 'Successfully republish to relay: {{url}}': 'Ricondivisione riuscita al relay: {{url}}', - 'Failed to republish to relay: {{url}}. Error: {{error}}': - 'Impossibile ricondividere al relay: {{url}}. Errore: {{error}}', - 'Write relays': 'Relay di scrittura', - 'No more reactions': 'Non ci sono più reazioni', - 'No reactions yet': 'Ancora nessuna reazione', - 'No more zaps': 'Non ci sono più zaps', - 'No zaps yet': 'Ancora nessuno zap', - 'No more boosts': 'Non ci sono più boost', - 'No boosts yet': 'Ancora nessun boost', - 'n more boosts': '{{count}} more boosts', - FollowListNotFoundConfirmation: - 'Elenco seguiti non trovato. Vuoi crearne uno nuovo? Se hai già seguito degli utenti in precedenza, per favore NON confermare poiché questa operazione causerà la perdita del tuo elenco seguiti precedente.', - MuteListNotFoundConfirmation: - 'Elenco utenti silenziati non trovato. Vuoi crearne uno nuovo? Se hai già silenziato degli utenti in precedenza, per favore NON confermare poiché questa operazione causerà la perdita del tuo elenco utenti silenziati precedente.', - 'Show NSFW content by default': 'Mostra contenuti NSFW per impostazione predefinita', - 'Custom emoji management': 'Gestione emoji personalizzate', - 'After changing emojis, you may need to refresh the page': - 'Dopo aver modificato le emoji, potrebbe essere necessario aggiornare la pagina', - 'Too many read relays': 'Troppi relay di lettura', - 'Too many write relays': 'Troppi relay di scrittura', - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'Hai {{count}} relay di lettura. La maggior parte dei client usa solo 2-4 relay, impostarne di più è inutile.', - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'Hai {{count}} relay di scrittura. La maggior parte dei client usa solo 2-4 relay, impostarne di più è inutile.', - 'Optimize Relay Settings': 'Ottimizza impostazioni relay', - 'Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.': - 'La tua configurazione relay attuale potrebbe non essere ottimale. Questo potrebbe rendere difficile per gli altri trovare i tuoi post e potrebbe portare a notifiche incomplete.', - 'Optimize Now': 'Ottimizza ora', - 'Maybe Later': 'Forse più tardi', - "Don't remind me again": 'Non ricordarmelo più', - Posts: 'Post', - 'Posts (OPs)': 'Posts (OPs)', - 'Kind 1 replies': 'Kind 1 replies', - Comments: 'Comments', - 'Replies & comments': 'Replies & comments', - Articles: 'Articoli', - Highlights: 'Evidenziazioni', - 'A note from': 'A note from', - Polls: 'Sondaggi', - 'Zap polls': 'Zap polls', - 'Voice Posts': 'Post vocali', - 'Photo Posts': 'Post foto', - 'Video Posts': 'Post video', - 'Git repositories': 'Git repositories', - 'Git issues': 'Git issues', - 'Git releases': 'Git releases', - 'Git Republic repository': 'Git Republic repository', - 'Git Republic issue': 'Git Republic issue', - 'Git Republic release': 'Git Republic release', - 'Git Republic event': 'Git Republic event', - 'Git Republic': 'Git Republic', - 'Open in Git Republic': 'Open in Git Republic', - 'Pre-release': 'Pre-release', - Draft: 'Draft', - 'Repository release': 'Repository release', - 'New Repository Release': 'New Repository Release', - 'Release notes use the editor below (optional).': - 'Release notes use the editor below (optional).', - 'Repository owner (npub or hex)': 'Repository owner (npub or hex)', - 'Repository id (d-tag)': 'Repository id (d-tag)', - 'Git tag name': 'Git tag name', - 'Tag target (40-char commit hash)': 'Tag target (40-character commit hash)', - '40-character hex SHA-1': '40-character hex SHA-1', - 'Release title': 'Release title', - 'Download URL': 'Download URL', - 'Draft release': 'Draft release', - 'Fill repository release fields': 'Fill in all required repository release fields.', - 'Invalid repository owner pubkey': 'Invalid repository owner (use npub or 64-char hex).', - 'Citations require private relays (NIP-65).': - 'Citations require private outbox relays (NIP-65).', - 'Select All': 'Seleziona tutto', - 'Clear All': 'Cancella tutto', - 'Set as default filter': 'Imposta come filtro predefinito', - 'Use filter': 'Use filter', - 'See all events': 'See all events', - 'See all events hint': - 'Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.', - 'Use filter hint': 'Only the kinds you select below are requested and shown.', - Apply: 'Applica', - Reset: 'Reimposta', - 'Share something on this Relay': 'Condividi qualcosa su questo Relay', - 'Try deleting this note': 'Prova a eliminare questa nota', - 'Deletion request sent to {{count}} relays': - 'Richiesta di eliminazione inviata a {{count}} relays', - 'Suitable Relays': 'Relays adatti', - 'People, keywords, or relays': 'Persone, parole chiave o relays', - 'Hide content mentioning muted users': 'Nascondi contenuto che menziona utenti silenziati', - 'This note mentions a user you muted': 'Questa nota menziona un utente che hai silenziato', - Filter: 'Filtro', - 'Feed filter': 'Feed filter', - 'Search loaded posts': 'Search loaded posts', - 'Filter loaded posts placeholder': 'Filter by text in content or tags…', - 'Feed filter author': 'Author', - 'Feed filter author everyone': 'From everyone', - 'Feed filter author me': 'Only from me', - 'Feed filter author npub': 'From user (npub or hex)', - 'Feed filter author npub from prefix': 'from:', - 'Feed filter author npub placeholder': 'npub1… or 64-char hex', - 'Feed filter author me needs login': 'Log in to filter by your pubkey', - 'Within the last': 'Within the last', - 'Time unit': 'Time unit', - Minutes: 'Minutes', - Days: 'Days', - Weeks: 'Weeks', - Months: 'Months', - Years: 'Years', - 'Feed filter client-side hint': - 'Filters only apply to posts already loaded; relays are not queried again.', - 'Feed full search': 'Perform full search', - 'Feed full search running': 'Searching…', - 'Feed full search clear': 'Clear', - 'Feed full search active hint': - 'Showing relay search results. Clear to return to the live feed.', - 'Feed full search need constraint': - 'Add search text, an author filter, or a time range before searching relays.', - 'Feed full search invalid feed': 'This feed cannot run a relay search.', - 'Feed full search failed': 'Relay search failed. Try again.', - 'Feed full search empty': 'No matching posts were found on the queried relays.', - 'No loaded posts match your filters.': 'No loaded posts match your filters.', - 'mentioned you in a note': 'ti ha menzionato in una nota', - 'quoted your note': 'ha citato la tua nota', - 'quoted this note': 'Quoted this note', - 'highlighted this note': 'Highlighted this note', - 'cited in article': 'Cited in article', - 'Thread backlinks heading': 'Also quoting this note', - 'Thread backlinks primary section': 'Quotes, highlights & citations', - 'Thread backlinks bookmarks section': 'Bookmarks', - 'Thread backlinks lists section': 'Lists & collections', - 'View full note and thread': 'View full note and thread', - 'labeled this note': 'Labeled this note', - 'reported this note': 'Reported this note', - 'bookmarked this note': 'Bookmarked this note', - 'pinned this note': 'Pinned this note', - 'listed this note': 'Listed this note', - 'bookmark set reference': 'Bookmark set includes this note', - 'curated this note': 'Curated this note', - 'badge award for this note': 'Badge award for this note', - 'referenced this note': 'Referenced this note', - 'Report events heading': 'Moderation reports', - 'voted in your poll': 'ha votato nel tuo sondaggio', - 'reacted to your note': 'ha reagito alla tua nota', - 'boosted your note': 'ha boostato la tua nota', - 'zapped your note': 'ha zappato la tua nota', - 'zapped you': 'ti ha zappato', - zapped: 'zapped', - 'Invalid zap receipt': 'Invalid zap receipt', - 'Zapped note': 'Zapped note', - 'Zapped profile': 'Zapped profile', - 'Zap reply threshold': 'Zap reply threshold', - 'Zaps above this amount will appear as replies in threads': - 'Zaps above this amount will appear as replies in threads', - 'Mark as read': 'Segna come letto', - Report: 'Segnala', - 'Successfully report': 'Segnalazione riuscita', - 'Failed to report': 'Segnalazione fallita', - nudity: 'Nudità', - malware: 'Malware', - profanity: 'Blasfemia', - illegal: 'Contenuto illegale', - spam: 'Spam', - other: 'Altro', - 'Notification list style': 'Stile elenco notifiche', - 'See extra info for each notification': 'Visualizza informazioni extra per ogni notifica', - 'See more notifications at a glance': "Visualizza più notifiche a colpo d'occhio", - Detailed: 'Dettagliato', - 'Submit Relay': 'Invia Relay', - Homepage: 'Homepage', - 'Proof of Work (difficulty {{minPow}})': 'Proof of Work (difficoltà {{minPow}})', - 'via {{client}}': 'tramite {{client}}', - 'Auto-load media': 'Caricamento automatico media', - Always: 'Sempre', - 'Wi-Fi only': 'Solo Wi-Fi', - Never: 'Mai', - 'Click to load image': "Clicca per caricare l'immagine", - 'Click to load media': 'Clicca per caricare i media', - 'Click to load YouTube video': 'Clicca per caricare il video di YouTube', - '{{count}} reviews': '{{count}} recensioni', - 'Write a review': 'Scrivi una recensione', - 'No reviews yet. Be the first to write one!': - 'Nessuna recensione ancora. Sii il primo a scriverne una!', - 'View more reviews': 'Visualizza più recensioni', - 'Failed to review': 'Recensione fallita', - 'Write a review and pick a star rating': - 'Scrivi una recensione e scegli una valutazione a stelle', - Submit: 'Invia', - 'Reviews for {{relay}}': 'Recensioni per {{relay}}', - 'No relays selected': 'Nessun relay selezionato', - 'Post to': 'Pubblica su', - 'Write relays and {{count}} other relays': 'Relay di scrittura e {{count}} altri relay', - '{{count}} relays': '{{count}} relay', - 'Republishing...': 'Ricondivisione in corso...', - 'Trending Notes': 'Note di tendenza', - 'Trending on Your Favorite Relays': 'Trending on Your Favorite Relays', - 'Trending on the Default Relays': 'Trending on the Default Relays', - 'Latest from your follows': 'Latest from your follows', - 'Latest from our recommended follows': 'Latest from our recommended follows', - 'Follows latest page title': 'Latest from follows', - 'Follows latest page description': - 'Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.', - 'Follows latest nav label': 'Follows latest', - 'Loading follow list…': 'Loading follow list…', - 'Could not load recommended follows': 'Could not load recommended follows', - 'Your follow list is empty': 'Your follow list is empty', - 'Loading recent posts from follows…': 'Loading recent posts from follows…', - 'Loading more…': 'Loading more…', - 'No recent posts from this user in the current fetch': - 'No recent posts from this user in the current fetch', - 'Loading trending notes from your relays...': 'Loading trending notes from your relays...', - Sort: 'Sort', - newest: 'newest', - oldest: 'oldest', - 'most popular': 'most popular', - 'least popular': 'least popular', - 'Connected to': 'Connesso a', - 'Disconnect Wallet': 'Disconnetti Wallet', - 'Are you absolutely sure?': 'Sei assolutamente sicuro?', - 'You will not be able to send zaps to others.': 'Non sarai in grado di inviare zaps ad altri.', - Disconnect: 'Disconnetti', - 'Set up your wallet to send and receive sats!': - 'Configura il tuo wallet per inviare e ricevere sats!', - 'Set up': 'Configura', - 'nested events': 'nested events', - 'Loading RSS feeds...': 'Loading RSS feeds...', - 'No RSS feed items available': 'No RSS feed items available', - 'Show or hide the RSS page and sidebar entry': 'Show or hide the RSS page and sidebar entry', - 'Refreshing feeds...': 'Refreshing feeds...', - 'All feeds': 'All feeds', - 'All time': 'All time', - 'Last hour': 'Last hour', - 'Last day': 'Last day', - 'Last week': 'Last week', - 'Last month': 'Last month', - 'Last 24 hours': 'Last 24 hours', - 'Last 48 hours': 'Last 48 hours', - 'Time range': 'Time range', - 'Filter by RSS source': 'Filter by RSS source', - 'No items match your filters': 'No items match your filters', - 'Search...': 'Search...', - '{{count}} feeds': '{{count}} feeds', - 'Toggle filters': 'Toggle filters', - 'Showing {{filtered}} of {{total}} items': 'Showing {{filtered}} of {{total}} items', - Full: 'Full', - Compact: 'Compatto', - Expand: 'Expand', - 'help.title': 'Help', - 'help.tabShortcuts': 'Keyboard shortcuts', - 'help.tabOverview': 'App overview', - 'shortcuts.title': 'Keyboard shortcuts', - 'shortcuts.intro': - 'Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.', - 'shortcuts.sectionApp': 'This app', - 'shortcuts.sectionSearch': 'Search bar', - 'shortcuts.sectionStandard': 'Standard', - 'shortcuts.openHelp': 'Show this help', - 'shortcuts.or': 'or', - 'shortcuts.then': 'then', - 'shortcuts.focusPrimary': - 'Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)', - 'shortcuts.focusSecondary': - 'Focus side panel scroll when it is open (desktop; same keys to scroll)', - 'shortcuts.newNote': 'New note / post (after login if needed)', - 'shortcuts.searchSuggest': 'Move through suggestions', - 'shortcuts.searchDismiss': 'Close search dropdown', - 'shortcuts.tabNavigate': 'Move focus to the next or previous control', - 'shortcuts.activate': 'Activate buttons and many controls', - 'shortcuts.closeOverlays': 'Close dialogs, menus, and the search dropdown', - 'shortcuts.scrollWhenFocused': 'Scroll the focused scrollable area', - 'shortcuts.browserBack': 'Browser back (history)', - 'No spells yet. Create one with the button above.': - 'No spells yet. Create one with the button above.', - 'Loading spells from your relays…': 'Loading spells from your relays…', - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.': - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.', - 'Select a spell…': 'Select a spell…', - 'Spells from follows': 'From people you follow ({{count}})', - 'Other spells': 'Other spells ({{count}})', - 'Select a spell to view its feed.': 'Select a spell to view its feed.', - 'Add another row': 'Add another row', - 'Remove this row': 'Remove this row', - 'One kind number per row (e.g. 1 for notes).': 'One kind number per row (e.g. 1 for notes).', - 'One author per row: $me, $contacts, or hex pubkey / npub.': - 'One author per row: $me, $contacts, or hex pubkey / npub.', - 'One hex event id per row.': 'One hex event id per row.', - 'One wss:// URL per row. Leave empty to use your write relays.': - 'One wss:// URL per row. Leave empty to use your write relays.', - 'One topic per row.': 'One topic per row.', - topic: 'topic', - 'Spell form fields': 'Spell form fields', - 'Counting matching events…': 'Counting matching events…', - 'Edit spell': 'Edit spell', - 'Clone spell': 'Clone spell', - 'Spell cloned': 'Spell cloned', - 'Clone spell intro': - 'This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.', - 'Spell updated': 'Spell updated', - 'Relay URL': 'Relay', - Count: 'Count', - 'Edit spell relays': 'Edit relays', - 'COUNT spell relay errors hint': - 'One or more relays failed or returned an error. You can change the relay list in the spell and save again.', - 'COUNT spell total distinct explanation': - 'Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.', - 'Leave empty to use your write relays.': 'Leave empty to use your write relays.', - 'COUNT spell result explanation': - 'Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.', - 'COUNT spell may be capped by limit': - 'This count may equal your spell limit — there could be more matching events on the network.', - 'Spell count failed. Check relays or try again.': - 'Could not complete the count. Check relays or try again.', - 'REQ returns a feed; COUNT returns a number.': - 'REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.', - listImportManualLabel: 'Pre-fill from event', - listImportFromEventHint: - 'Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.', - listImportManualPlaceholder: '64-char hex, nevent1…, or naddr1…', - listImportLoadManual: 'Apply', - listImportContentSkipped: - 'This event has non-empty content (may include encrypted private items). Only public tags were merged.', - listImportUnsupportedEmoji: - 'This list includes emoji tags (NIP-30); those are not added to the spell filter.', - listImportUnsupportedTag: - 'Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.', - listImportBadATag: 'Could not parse address tag: {{preview}}…', - listImportATagNotFound: 'Could not resolve address tag: {{preview}}…', - listImportATagFailed: 'Failed to resolve address tag: {{preview}}…', - listImportEventNotFound: 'No event found for that reference.', - 'REQ tag filters': 'REQ tag filters', - spellFormTagFiltersLabel: 'Tag filters on matching events', - spellCreateIntro: - 'Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.', - spellFormSectionQueryTitle: 'Spell query', - spellFormSectionQueryHint: - 'This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).', - spellFormSectionMetadataTitle: 'Listing & labels (optional)', - spellFormSectionMetadataBadge: 'Not part of the query', - spellFormSectionMetadataHint: - 'Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.', - spellFormCatalogTopicsLabel: 'Topic labels on this spell (t tags)', - spellTopicsMetadataHint: - 'One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).', - spellTagFiltersHint: - 'Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.', - spellTagFiltersEmpty: 'No tag filters yet. Add rows below or apply an event reference above.', - 'Tag filter letter': 'Tag letter', - 'Filter value': 'Value', - 'Add tag filter': 'Add tag filter', - spellPickerSectionYours: 'Your spells', - 'Failed to remove spell from local storage': 'Failed to remove spell from local storage', - Spells: 'Spells', - 'doublePane.secondaryEmpty': 'Open a note, profile, or settings item to show it here.', - 'doublePane.secondaryEmptyHint': 'Your feed and primary pages stay on the left.', - '(empty)': '(empty)', - '12-hour (AM/PM)': '12-hour (AM/PM)', - '24-hour': '24-hour', - 'A new version is available': 'A new version is available', - 'A short description of the article content': 'A short description of the article content', - AM: 'AM', - 'Access via': 'Access via', - 'Accessed On': 'Accessed On', - 'Accessed on': 'Accessed on', - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.': - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.', - 'Add a relay to block': 'Add a relay to block', - 'Add at least one invitee': 'Add at least one invitee', - 'Add client identifier': 'Add client identifier', - 'Add expiration tags by default': 'Add expiration tags by default', - 'Add quiet tags by default': 'Add quiet tags by default', - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above': - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above', - 'Add the source (where this text is from)': 'Add the source (where this text is from)', - 'Add to favorites': 'Add to favorites', - 'Add {{count}} Selected': 'Add {{count}} Selected', - 'Added at': 'Added at', - 'Added {{count}} relay(s)': 'Added {{count}} relay(s)', - 'Adding...': 'Adding...', - 'Adding…': 'Adding…', - 'Advanced Options': 'Advanced Options', - 'All Topics': 'All Topics', - 'All feeds from OPML file are already added': 'All feeds from OPML file are already added', - 'All items deleted successfully': 'All items deleted successfully', - 'Already blocked': 'Already blocked', - 'Already saved': 'Already saved', - 'Application Recommendations': 'Application Recommendations', - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.': - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.', - 'Are you sure you want to delete all items from this store?': - 'Are you sure you want to delete all items from this store?', - 'Are you sure you want to unmute this user? This will restore the follow button.': - 'Are you sure you want to unmute this user? This will restore the follow button.', - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", - 'Article exported as AsciiDoc': 'Article exported as AsciiDoc', - 'Article exported as Markdown': 'Article exported as Markdown', - 'Article title (optional)': 'Article title (optional)', - articleDTagDefaultHint: - 'Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….', - Audio: 'Audio', - Author: 'Author', - 'Author is required for reading groups': 'Author is required for reading groups', - 'Author name (optional)': 'Author name (optional)', - Authors: 'Authors', - 'Block Relay': 'Block Relay', - 'Blocked Relays': 'Blocked Relays', - 'Blocking...': 'Blocking...', - Blossom: 'Blossom', - Book: 'Book', - 'Brief description of the event': 'Brief description of the event', - 'Brief summary (optional)': 'Brief summary (optional)', - 'Brief summary of the article (optional)': 'Brief summary of the article (optional)', - 'Browse Cache': 'Browse Cache', - 'C-Tag': 'C-Tag', - 'Cache Relays': 'Cache Relays', - 'Cache cleared successfully': 'Cache cleared successfully', - 'Cache refreshed successfully': 'Cache refreshed successfully', - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.': - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.', - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)': - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)', - 'Cache relays saved': 'Cache relays saved', - Cancelled: 'Cancelled', - Chapter: 'Chapter', - 'Chapter Title': 'Chapter Title', - 'Chapter title (optional)': 'Chapter title (optional)', - Citation: 'Citation', - 'Citation title (optional)': 'Citation title (optional)', - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.': - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})', - 'Cleanup Duplicates': 'Cleanup Duplicates', - Clear: 'Clear', - 'Clear Cache': 'Clear Cache', - 'Clear Service Worker': 'Clear Service Worker', - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.': - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.', - 'Click update to get the latest features and improvements': - 'Click update to get the latest features and improvements', - Close: 'Close', - 'Comma or space-separated topics (will be added as t-tags)': - 'Comma or space-separated topics (will be added as t-tags)', - Command: 'Command', - Configure: 'Configure', - 'Connect Wallet': 'Connect Wallet', - 'Console Logs': 'Console Logs', - 'Console logs cleared': 'Console logs cleared', - 'Content is required': 'Content is required', - 'Content must be 5000 characters or less': 'Content must be 5000 characters or less', - Controversial: 'Controversial', - 'Copied!': 'Copied!', - 'Copy to clipboard': 'Copy to clipboard', - 'Create Article': 'Create Article', - 'Create Citation': 'Create Citation', - 'Create Highlight': 'Create Highlight', - 'Create New Thread': 'Create New Thread', - 'Create Poll': 'Create Poll', - 'Create Thread': 'Create Thread', - composeModeKind1: 'Short note (kind 1) — turn off other compose types', - 'Create a Spell': 'Create a Spell', - 'Creating...': 'Creating...', - 'D-Tag': 'D-Tag', - 'D-Tag is required for articles': 'D-Tag is required for articles', - DOI: 'DOI', - 'Date-based (all-day)': 'Date-based (all-day)', - 'Default expiration (months)': 'Default expiration (months)', - 'Default quiet period (days)': 'Default quiet period (days)', - 'Delete All': 'Delete All', - 'Delete item': 'Delete item', - 'Deleted {{count}} event(s)': 'Deleted {{count}} event(s)', - 'Deletion request sent': 'Deletion request sent', - 'Description (content)': 'Description (content)', - 'Digital Object Identifier (optional)': 'Digital Object Identifier (optional)', - 'Disable word wrap': 'Disable word wrap', - 'Discovered Relays': 'Discovered Relays', - 'Discovering relays...': 'Discovering relays...', - Discussion: 'Discussion', - Discussions: 'Discussions', - Downvote: 'Downvote', - 'Edited by': 'Edited by', - Editor: 'Editor', - 'Editor name (optional)': 'Editor name (optional)', - 'Enable word wrap': 'Enable word wrap', - 'End date': 'End date', - 'End date must be after start date': 'End date must be after start date', - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.': - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.', - 'Enter a descriptive title for your thread': 'Enter a descriptive title for your thread', - 'Enter the author name': 'Enter the author name', - 'Enter the book title': 'Enter the book title', - 'Enter the specific text you want to highlight in the main content area above': - 'Enter the specific text you want to highlight in the main content area above', - 'Event IDs (ids)': 'Event IDs (ids)', - 'Event appears to be invalid or corrupted': 'Event appears to be invalid or corrupted', - 'Event has no value data': 'Event has no value data', - 'Event is missing required fields: {{fields}}': 'Event is missing required fields: {{fields}}', - 'Event type': 'Event type', - 'Expiration Tags': 'Expiration Tags', - 'Export OPML': 'Export OPML', - 'Export as AsciiDoc': 'Export as AsciiDoc', - 'Export as Markdown': 'Export as Markdown', - 'External Citation': 'External Citation', - 'External Citation Settings': 'External Citation Settings', - 'Failed to add relay. Please try again.': 'Failed to add relay. Please try again.', - 'Failed to add relays': 'Failed to add relays', - 'Failed to block relay. Please try again.': 'Failed to block relay. Please try again.', - 'Failed to cleanup duplicates': 'Failed to cleanup duplicates', - 'Failed to clear cache': 'Failed to clear cache', - 'Failed to copy': 'Failed to copy', - 'Failed to create relay set. Please try again.': - 'Failed to create relay set. Please try again.', - 'Failed to create thread': 'Failed to create thread', - 'Failed to create thread. Please try a different relay.': - 'Failed to create thread. Please try a different relay.', - 'Failed to delete all items': 'Failed to delete all items', - 'Failed to delete item': 'Failed to delete item', - 'Failed to discover relays': 'Failed to discover relays', - 'Failed to export OPML file': 'Failed to export OPML file', - 'Failed to export article': 'Failed to export article', - 'Failed to import OPML file: {{error}}': 'Failed to import OPML file: {{error}}', - 'Failed to load RSS feeds': 'Failed to load RSS feeds', - 'Failed to load store items': 'Failed to load store items', - 'Failed to mute user privately': 'Failed to mute user privately', - 'Failed to mute user publicly': 'Failed to mute user publicly', - 'Failed to pin note': 'Failed to pin note', - 'Failed to publish post': 'Failed to publish post', - 'Failed to publish reply': 'Failed to publish reply', - 'Failed to publish thread': 'Failed to publish thread', - 'Failed to publish to some relays. Please try again or use different relays.': - 'Failed to publish to some relays. Please try again or use different relays.', - 'Failed to save RSS feeds': 'Failed to save RSS feeds', - 'Failed to save cache relays': 'Failed to save cache relays', - 'Failed to save relay list': 'Failed to save relay list', - 'Failed to unregister service worker: ': 'Failed to unregister service worker: ', - 'Failed to unsubscribe from topic': 'Failed to unsubscribe from topic', - Favorite: 'Favorite', - Fetch: 'Fetch', - 'Fetch once, then stop.': 'Fetch once, then stop.', - 'Filter by': 'Filter by', - 'Flat View': 'Flat View', - 'Font size': 'Font size', - 'Full Quote/Context': 'Full Quote/Context', - 'Full-text search query': 'Full-text search query', - Geohash: 'Geohash', - 'Geohash (optional)': 'Geohash (optional)', - 'Global quiet mode': 'Global quiet mode', - 'Group discussions by topic': 'Group discussions by topic', - 'Grouped View': 'Grouped View', - Groups: 'Groups', - 'Handler {{index}}': 'Handler {{index}}', - 'Hardcopy Citation': 'Hardcopy Citation', - 'Hardcopy Citation Settings': 'Hardcopy Citation Settings', - Hide: 'Hide', - 'Hide interactions on all posts': 'Hide interactions on all posts', - 'Hide interactions on posts with quiet tags': 'Hide interactions on posts with quiet tags', - 'High PoW': 'High PoW', - 'Higher values make your thread harder to mine but more unique.': - 'Higher values make your thread harder to mine but more unique.', - Highlight: 'Highlight', - 'Highlight Settings': 'Highlight Settings', - 'How to Create a Highlight (NIP-84)': 'How to Create a Highlight (NIP-84)', - 'Human-readable spell name': 'Human-readable spell name', - 'Image URL': 'Image URL', - 'Import OPML': 'Import OPML', - 'Imported {{count}} feed(s) from OPML file': 'Imported {{count}} feed(s) from OPML file', - 'In-Browser Cache': 'In-Browser Cache', - Insert: 'Insert', - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).': - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).', - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.': - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.', - 'Insert event or address': 'Insert event or address', - 'Insert mention': 'Insert mention', - 'Internal Citation': 'Internal Citation', - 'Internal Citation Settings': 'Internal Citation Settings', - 'Invalid Event': 'Invalid Event', - 'Invalid Lightning Address': 'Invalid Lightning Address', - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.': - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.', - 'Invalid URL': 'Invalid URL', - 'Invalid content JSON': 'Invalid content JSON', - 'Invalid relay URL': 'Invalid relay URL', - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.': - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.', - 'Item deleted successfully': 'Item deleted successfully', - JSON: 'JSON', - 'Join link': 'Join link', - 'Journal/Publication name (optional)': 'Journal/Publication name (optional)', - Json: 'JSON', - Kinds: 'Kinds', - 'Language Model': 'Language Model', - Large: 'Large', - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link': - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link', - 'Lightning payment failed': 'Lightning payment failed', - Limit: 'Limit', - 'Live feed; keeps updating.': 'Live feed; keeps updating.', - 'Loading more...': 'Loading more...', - 'Loading relays...': 'Loading relays...', - 'Location (optional)': 'Location (optional)', - 'Log in to run this spell (it uses $me or $contacts).': - 'Log in to run this spell (it uses $me or $contacts).', - 'Login failed': 'Login failed', - 'Login to configure RSS feeds': 'Login to configure RSS feeds', - 'Long-form Article': 'Long-form Article', - 'Mailbox relays saved': 'Mailbox relays saved', - 'Mark as NSFW': 'Mark as NSFW', - 'Maximum {{max}} invitees': 'Maximum {{max}} invitees', - 'Maximum {{max}} invitees allowed': 'Maximum {{max}} invitees allowed', - Medium: 'Medium', - Mode: 'Mode', - 'Most Zapped': 'Most Zapped', - 'Move to top': 'Move to top', - 'Multiple choice': 'Multiple choice', - 'Mute failed': 'Mute failed', - NSFW: 'NSFW', - Name: 'Name', - 'Name of the language model used': 'Name of the language model used', - 'New External Citation': 'New External Citation', - 'New Hardcopy Citation': 'New Hardcopy Citation', - 'New Highlight': 'New Highlight', - 'New Internal Citation': 'New Internal Citation', - 'New Long-form Article': 'New Long-form Article', - 'New Poll': 'New Poll', - 'New Discussion': 'New Discussion', - 'New Prompt Citation': 'New Prompt Citation', - 'New Public Message': 'New Public Message', - 'New Wiki Article': 'New Wiki Article', - 'New Wiki Article (Markdown)': 'New Wiki Article (Markdown)', - Newest: 'Newest', - 'No JSON available': 'No JSON available', - 'No RSS feeds found in OPML file': 'No RSS feeds found in OPML file', - 'No cached data found.': 'No cached data found.', - 'No console logs captured yet': 'No console logs captured yet', - 'No events found': 'No events found', - 'No feeds configured. Default feed will be used.': - 'No feeds configured. Default feed will be used.', - 'No feeds to export': 'No feeds to export', - 'No groups available. Join some groups first.': 'No groups available. Join some groups first.', - 'No items in this store.': 'No items in this store.', - 'No items match your search.': 'No items match your search.', - 'No logs match the current filters': 'No logs match the current filters', - 'No posts found': 'No posts found', - 'No posts match your search': 'No posts match your search', - 'No relays available. Please configure relays in settings.': - 'No relays available. Please configure relays in settings.', - 'No service workers or caches found for this app': - 'No service workers or caches found for this app', - 'No users found': 'No users found', - 'No valid RSS feed URLs found in OPML file': 'No valid RSS feed URLs found in OPML file', - 'Note pinned': 'Note pinned', - 'Note unpinned': 'Note unpinned', - Oldest: 'Oldest', - 'Open Timestamp': 'Open Timestamp', - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.': - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.', - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.': - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.', - Optional: 'Optional', - 'Optional image for the event': 'Optional image for the event', - 'Optionally, add the full quote/context to show your highlight within it': - 'Optionally, add the full quote/context to show your highlight within it', - PM: 'PM', - 'Page Range': 'Page Range', - Pages: 'Pages', - 'Paste URL of a GIF': 'Paste URL of a GIF', - 'Paste URL of a meme image': 'Paste URL of a meme image', - 'Paste the entire original passage that contains your highlight': - 'Paste the entire original passage that contains your highlight', - Photo: 'Photo', - 'Picture Note': 'Picture Note', - 'Pin note': 'Pin note', - 'Plain text description of the query': 'Plain text description of the query', - 'Please login to view bookmarks': 'Please login to view bookmarks', - 'Please select a group': 'Please select a group', - 'Please select at least one relay': 'Please select at least one relay', - 'Please set a start date': 'Please set a start date', - 'Poll with no options': 'Poll with no options', - 'Post published to some relays': 'Post published to some relays', - 'Posts will automatically include expiration tags': - 'Posts will automatically include expiration tags', - 'Posts will automatically include quiet tags': 'Posts will automatically include quiet tags', - 'Posts will be quiet for this many days': 'Posts will be quiet for this many days', - 'Posts will expire after this many months': 'Posts will expire after this many months', - 'Processing...': 'Processing...', - 'Profile event not available': 'Profile event not available', - 'Prompt Citation': 'Prompt Citation', - 'Prompt Citation Settings': 'Prompt Citation Settings', - 'Prompt Conversation Script': 'Prompt Conversation Script', - 'Proof of Work': 'Proof of Work', - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post': - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post', - 'Publish to Relays': 'Publish to Relays', - 'Published By': 'Published By', - 'Published In': 'Published In', - 'Published On': 'Published On', - 'Published in': 'Published in', - 'Published on': 'Published on', - 'Publisher name (optional)': 'Publisher name (optional)', - 'Quiet Tags': 'Quiet Tags', - 'RSS Feed': 'RSS Feed', - 'RSS + Web': 'RSS + Web', - 'RSS feed source': 'RSS feed source', - 'All feed sources': 'All feed sources', - 'RSS feed view mode': 'RSS feed view mode', - 'Article URLs': 'Article URLs', - 'Article URLs subtitle': - 'One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.', - 'Article URLs Nostr manual subtitle': - 'Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.', - 'RSS feed column title': 'RSS & linked articles', - 'RSS feed column subtitle': - 'Feed entries and article cards that include at least one item from your subscribed RSS feeds.', - 'RSS timeline': 'RSS timeline', - 'RSS timeline subtitle': - 'Every item from your subscribed feeds, newest first — classic RSS reader.', - URLs: 'URLs', - RSS: 'RSS', - 'No URL-only items yet': 'No URL-only items yet', - 'Respond to this RSS entry': 'Respond to this RSS entry', - 'RSS read-only thread hint': - 'Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.', - 'RSS feed item label': 'RSS', - 'Web URL item label': 'Web URL', - 'URL thread activity': 'URL thread activity', - 'Suppress Clawstr links in RSS previews': 'Hide clawstr.com in RSS and URL feed', - 'Hide local, media & feed URLs from URL cards': - 'Hide local, media, feed, document & XML links from the feed', - 'RSS articles': 'RSS articles', - 'Web comments': 'Web comments', - 'Web highlights': 'Web highlights', - 'In your bookmarks': 'In your bookmarks', - '{{count}} RSS entries for this URL': '{{count}} RSS entries for this URL', - '{{count}} entries for this article URL': '{{count}} entries for this article URL', - 'No comments yet': 'No comments yet', - 'No highlights yet': 'No highlights yet', - 'Showing {{filtered}} of {{total}} entries': 'Showing {{filtered}} of {{total}} entries', - standardRssFeed_spotifeed: 'Spotify playlist (Spotifeed)', - standardRssFeed_youtube: 'YouTube feed', - standardRssFeed_youtubeChannel: 'YouTube channel feed', - standardRssFeed_youtubePlaylist: 'YouTube playlist feed', - standardRssFeed_feedburner: 'FeedBurner', - standardRssFeed_reddit: 'Reddit RSS', - standardRssFeed_substack: 'Substack', - standardRssFeed_medium: 'Medium', - 'RSS Feed Settings': 'RSS Feed Settings', - 'Follow sets': 'Follow sets', - 'Follow sets settings intro': - 'NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.', - 'New follow set': 'New follow set', - 'Edit follow set': 'Edit follow set', - 'No follow sets yet': 'You have not created any follow sets yet.', - 'Follow set saved': 'Follow set saved', - 'Follow set deleted': 'Follow set deleted', - 'Failed to load follow sets': 'Failed to load follow sets', - members: 'members', - 'Optional display title': 'Optional display title', - 'List id (d tag)': 'List id (d tag)', - 'Follow set d tag hint': - 'Stable identifier for this list. It cannot be changed after the first publish.', - 'People in this list': 'People in this list', - 'Delete follow set?': 'Delete this follow set?', - 'Delete follow set confirm': - 'This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.', - 'Remove feed': 'Remove feed', - 'RSS Feeds': 'RSS Feeds', - 'RSS feeds exported to OPML file': 'RSS feeds exported to OPML file', - 'RSS feeds saved': 'RSS feeds saved', - 'Rate limited. Please wait before trying again.': - 'Rate limited. Please wait before trying again.', - 'Reaction published': 'Reaction published', - 'Reaction removed': 'Reaction removed', - 'Read full article': 'Read full article', - 'Reading group entry': 'Reading group entry', - 'Readings Options': 'Readings Options', - Recipients: 'Recipients', - 'Recipients detected from your message:': 'Recipients detected from your message:', - 'Recommended Relays': 'Recommended Relays', - 'Recommended applications for handling events of kind {{kind}}': - 'Recommended applications for handling events of kind {{kind}}', - 'Reference to the cited Nostr event in kind:pubkey:hex format': - 'Reference to the cited Nostr event in kind:pubkey:hex format', - 'Refresh Cache': 'Refresh Cache', - 'Refreshing posts...': 'Refreshing posts...', - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.': - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.', - Relay: 'Relay', - 'Relay Hint': 'Relay Hint', - 'Relay URL (optional)': 'Relay URL (optional)', - 'Relay blocked successfully': 'Relay blocked successfully', - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.': - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.', - 'Relay set options': 'Relay set options', - 'Remove from favorites': 'Remove from favorites', - Rendered: 'Rendered', - 'Reply published': 'Reply published', - 'Reply published to some relays': 'Reply published to some relays', - 'Reply to Public Message': 'Reply to Public Message', - 'Republish to all active relays': 'Republish to all active relays', - 'Republish to all available relays': 'Republish to all available relays', - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.': - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.', - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.': - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.', - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Respect quiet tags': 'Respect quiet tags', - 'Search (NIP-50)': 'Search (NIP-50)', - 'Search by name or npub…': 'Search by name or npub…', - 'Search calendar, publications, wiki…': 'Search calendar, publications, wiki…', - 'Search for user…': 'Search for user…', - 'Search items...': 'Search items...', - 'Search logs...': 'Search logs...', - 'Search notes, threads, long-form…': 'Search notes, threads, long-form…', - 'Search on GifBuddy': 'Search on GifBuddy', - 'Search on Meme Amigo': 'Search on Meme Amigo', - 'Search posts...': 'Search posts...', - 'Search threads by title, content, tags, npub, author...': - 'Search threads by title, content, tags, npub, author...', - 'Searching all available relays...': 'Searching all available relays...', - 'Searching…': 'Searching…', - 'See reference': 'See reference', - 'Select Group': 'Select Group', - 'Select Media Type': 'Select Media Type', - 'Select group...': 'Select group...', - 'Select relays': 'Select relays', - 'Publish relay cap hint': - 'At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Publish relay cap hint with outbox first': - 'At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Select the group where you want to create this discussion.': - 'Select the group where you want to create this discussion.', - 'Select topic...': 'Select topic...', - 'Selected text': 'Selected text', - 'Send Public Message': 'Send Public Message', - 'Send a Lightning payment to this user': 'Send a Lightning payment to this user', - 'Service worker caches cleared. Please reload the page.': - 'Service worker caches cleared. Please reload the page.', - 'Service worker unregistered and caches cleared. Please reload the page.': - 'Service worker unregistered and caches cleared. Please reload the page.', - 'Service worker unregistered. Please reload the page.': - 'Service worker unregistered. Please reload the page.', - 'Share your thoughts, ask questions, or start a discussion...': - 'Share your thoughts, ask questions, or start a discussion...', - 'Short Video Note': 'Short Video Note', - 'Show RSS Feed': 'Show RSS Feed', - 'Show all discussions in a single list': 'Show all discussions in a single list', - 'Show less': 'Show less', - Since: 'Since', - Small: 'Small', - 'Some relays have temporarily disabled writes.': - 'Some relays have temporarily disabled writes.', - Source: 'Source', - 'Spell definition': 'Spell definition', - 'Spell published': 'Spell published', - 'Start date': 'Start date', - 'Start typing to see a preview...': 'Start typing to see a preview...', - 'Subject (Book Title)': 'Subject (Book Title)', - 'Subject (book title) is required for reading groups': - 'Subject (book title) is required for reading groups', - 'Subject / Topics': 'Subject / Topics', - Subscribe: 'Subscribe', - Subscribed: 'Subscribed', - 'Subscribed to topic': 'Subscribed to topic', - 'Subscribed to topic (local)': 'Subscribed to topic (local)', - 'Subscribing...': 'Subscribing...', - Summary: 'Summary', - 'Supported Event Types': 'Supported Event Types', - 'Take a note': 'Take a note', - 'The full prompt conversation (optional)': 'The full prompt conversation (optional)', - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.': - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.', - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.': - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.', - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.': - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.', - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a Nostr event of kind {{kind}}.': - 'This GIF was found in a Nostr event of kind {{kind}}.', - 'This file could be either audio or video. Please select the correct type:': - 'This file could be either audio or video. Please select the correct type:', - 'This store does not contain replaceable events': - 'This store does not contain replaceable events', - 'This will add additional tags for author and subject to help organize reading group discussions.': - 'This will add additional tags for author and subject to help organize reading group discussions.', - 'Thread Content': 'Thread Content', - 'Thread Title': 'Thread Title', - 'Thread creation timed out. Please try again.': 'Thread creation timed out. Please try again.', - 'Thread published': 'Thread published', - 'Threads are organized by topics. Choose a topic that best fits your discussion.': - 'Threads are organized by topics. Choose a topic that best fits your discussion.', - 'Time-based': 'Time-based', - 'Title is required': 'Title is required', - 'Title must be 100 characters or less': 'Title must be 100 characters or less', - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.': - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.', - Top: 'Top', - Topic: 'Topic', - URL: 'URL', - 'URL of the article cover image (optional)': 'URL of the article cover image (optional)', - 'Unique identifier for this article (required)': - 'Unique identifier for this article (required)', - 'Unmute failed': 'Unmute failed', - 'Unpin note': 'Unpin note', - Unsubscribe: 'Unsubscribe', - 'Unsubscribed from topic': 'Unsubscribed from topic', - 'Unsubscribing...': 'Unsubscribing...', - Until: 'Until', - Untitled: 'Untitled', - Update: 'Update', - 'Updating...': 'Updating...', - 'Upload Audio Comment': 'Upload Audio Comment', - 'Upload Audio Message': 'Upload Audio Message', - 'Upload Media': 'Upload Media', - Upvote: 'Upvote', - 'User unmuted': 'User unmuted', - 'Version number (optional)': 'Version number (optional)', - Video: 'Video', - 'Video Note': 'Video Note', - 'Video file': 'Video file', - 'View Console Logs': 'View Console Logs', - 'View JSON': 'View JSON', - 'View cached items in this store.': 'View cached items in this store.', - 'View definition': 'View definition', - 'View details about cached data in IndexedDB stores. Click on a store to view its items.': - 'View details about cached data in IndexedDB stores. Click on a store to view its items.', - 'View on Alexandria': 'View on Alexandria', - 'View on DecentNewsroom': 'View on DecentNewsroom', - 'View on Wikistr': 'View on Wikistr', - 'View recent console logs for debugging': 'View recent console logs for debugging', - 'Voice Comment': 'Voice Comment', - 'Voice Note': 'Voice Note', - 'Voice note or audio file': 'Voice note or audio file', - Volume: 'Volume', - 'Volume number (optional)': 'Volume number (optional)', - 'Vote published': 'Vote published', - 'Vote removed': 'Vote removed', - 'Website where LLM was accessed (optional)': 'Website where LLM was accessed (optional)', - 'Wiki Article (AsciiDoc)': 'Wiki Article (AsciiDoc)', - 'Wiki Article (Markdown)': 'Wiki Article (Markdown)', - 'You can only delete your own notes': 'You can only delete your own notes', - 'You must be logged in to create a thread': 'You must be logged in to create a thread', - 'You need to add at least one media server in order to upload media files.': - 'You need to add at least one media server in order to upload media files.', - 'You need to login first': 'You need to login first', - 'Your account is blocked from posting to this relay.': - 'Your account is blocked from posting to this relay.', - Zap: 'Zap', - 'Zap failed': 'Zap failed', - created_at: 'created_at', - 'e tag of kind 1040 event (optional)': 'e tag of kind 1040 event (optional)', - 'e.g. meetup, conference': 'e.g. meetup, conference', - 'e.g., 123-145 (optional)': 'e.g., 123-145 (optional)', - 'e.g., GPT-4, Claude, etc. (required)': 'e.g., GPT-4, Claude, etc. (required)', - 'e.g., my-article-title': 'e.g., my-article-title', - entries: 'entries', - 'from Bunker': 'from Bunker', - 'from Extension': 'from Extension', - 'from NIP-05': 'from NIP-05', - general: 'general', - 'https://example.com (required)': 'https://example.com (required)', - 'https://example.com/image.jpg': 'https://example.com/image.jpg', - id: 'id', - items: 'items', - kind: 'kind', - 'kind:pubkey:hex format (required)': 'kind:pubkey:hex format (required)', - 'last updated': 'last updated', - matching: 'matching', - naddr: 'naddr', - nevent: 'nevent', - 'nevent1..., naddr1..., note1..., hex ID, or https://...': - 'nevent1..., naddr1..., note1..., hex ID, or https://...', - 'no notes found': 'no notes found', - of: 'of', - 'on note': 'on note', - optional: 'optional', - pubkey: 'pubkey', - 'sent a public message': 'sent a public message', - 'sent you a public message': 'sent you a public message', - 'sent you a public message (along with {{count}} others)': - 'sent you a public message (along with {{count}} others)', - sig: 'sig', - 'started a discussion in {{topic}}': 'started a discussion in {{topic}}', - tags: 'tags', - thread: 'thread', - threads: 'threads', - 'topic1, topic2, topic3': 'topic1, topic2, topic3', - '{{count}} relay(s) selected': '{{count}} relay(s) selected', - '🔞 NSFW 🔞': '🔞 NSFW 🔞', - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).': - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).', - 'Failed to refresh': 'Failed to refresh', - 'Invalid article link.': 'Invalid article link.', - Likes: 'Likes', - 'Loading…': 'Loading…', - 'Missing pubkey': 'Missing pubkey', - 'No RSS feed list found on relays': 'No RSS feed list found on relays', - 'Pinned posts': 'Pinned posts', - 'Publishing...': 'Publishing...', - 'RSS article': 'RSS article', - 'RSS feed list refreshed': 'RSS feed list refreshed', - 'Save or discard your changes before refreshing from relays': - 'Save or discard your changes before refreshing from relays', - 'Suggested topics': 'Suggested topics', - 'Synthetic event (no author)': 'Synthetic event (no author)', - 'Topic is required': 'Topic is required', - 'Type a topic or pick from the list': 'Type a topic or pick from the list', - profileEditorRefreshCacheHint: 'profileEditorRefreshCacheHint', - startupSessionHydrating: 'startupSessionHydrating' - } -} diff --git a/src/i18n/locales/ja.ts b/src/i18n/locales/ja.ts deleted file mode 100644 index 7166c82b..00000000 --- a/src/i18n/locales/ja.ts +++ /dev/null @@ -1,1837 +0,0 @@ -export default { - translation: { - 'Welcome! 🥳': 'ようこそ! 🥳', - About: '情報', - 'New Note': '新規ノート', - Post: '投稿', - Home: 'ホーム', - Feed: 'Feed', - 'Favorite Relays': 'お気に入りのリレイ', - 'Relay pulse': 'Relay pulse', - 'Relay pulse empty': 'Quiet on your relays in the last hour.', - 'Relay pulse follows': 'Following ({{count}})', - 'Relay pulse others': 'Others ({{count}})', - 'Relay pulse updated': 'Updated {{relative}}', - 'Relay pulse active npubs': 'Active npubs', - 'Relay pulse active npubs hint': - 'Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).', - 'Relay pulse drawer following': 'Following', - 'Relay pulse drawer others': 'Others', - 'Relay pulse drawer no profiles': 'No kind 0 profiles loaded for this sample yet.', - 'See the newest notes from your follows': 'See the newest notes from your follows', - 'All favorite relays': 'すべてのお気に入りリレイ', - 'Pinned note': 'Pinned note', - 'Relay settings': 'リレイ設定', - Settings: '設定', - 'Account menu': 'Account menu', - SidebarRelays: 'リレイ', - Refresh: '更新', - 'refresh.longPressHardReload': 'Long-press: reload app and restore feed cache', - 'link.expandNostrEmbed': 'Show Nostr preview', - Profile: 'プロフィール', - Logout: 'ログアウト', - Following: 'フォロー中', - followings: 'フォロー', - boosted: 'ブースト済み', - 'Boosted by:': 'Boosted by:', - 'just now': 'たった今', - 'n minutes ago': '{{n}}分前', - 'n m': '{{n}}分', - 'n hours ago': '{{n}}時間前', - 'n h': '{{n}}時', - 'n days ago': '{{n}}日前', - 'n d': '{{n}}日', - date: '{{timestamp, date}}', - Follow: 'フォローする', - Unfollow: 'フォロー解除', - 'Follow failed': 'フォローに失敗しました', - 'Unfollow failed': 'フォロー解除に失敗しました', - 'show new notes': '新しいノートを表示', - 'loading...': '読み込み中...', - 'Loading...': '読み込み中...', - 'no more notes': 'これ以上ノートはありません', - 'calendar entries': 'calendar entries', - 'Loading calendar events...': 'Loading calendar events...', - 'No calendar events found': 'No calendar events found', - 'Calendar events in the next {{count}} months': 'Calendar events in the next {{count}} months', - 'The nostr.band relay appears to be temporarily out of service. Please try again later.': - 'The nostr.band relay appears to be temporarily out of service. Please try again later.', - 'reply to': '返信先', - reply: '返信', - Reply: '返信', - 'load more older replies': 'さらに古い返信を読み込む', - 'Write something...': '何か書いて...', - Cancel: 'キャンセル', - Mentions: '@', - 'Search for event or address…': 'Search for event or address…', - 'Search notes…': 'Search notes…', - 'No notes found': 'No notes found', - 'Failed to post': '投稿に失敗しました', - 'Post successful': '投稿に成功しました', - 'Your post has been published': '投稿が公開されました', - Boost: 'ブースト', - 'Boost published': 'ブーストを公開しました', - Quote: '引用', - 'Copy event ID': 'イベントIDをコピー', - 'Copy user ID': 'ユーザーIDをコピー', - 'Send public message': 'Send public message', - 'View raw event': '生データを表示', - 'Edit this event': 'Edit this event', - 'Clone or fork this event': 'Clone or fork this event', - 'Event kind': 'Event kind', - 'Note content': 'Note content', - Publish: 'Publish', - 'Post published': 'Post published', - 'Edit content and tags, then publish a new signed event.': - 'Edit content and tags, then publish a new signed event.', - 'Log in to publish': 'Log in to publish', - 'Set when you publish': 'set when you publish', - 'id and sig are assigned when you publish': 'id and sig are assigned when you publish', - 'Published to some relays only': 'Published to some relays only', - 'Add field': 'Add field', - 'View full profile': 'View full profile', - Like: 'いいね', - 'switch to light theme': 'ライトテーマに切替', - 'switch to dark theme': 'ダークテーマに切替', - 'switch to system theme': 'システムテーマに切替', - Note: 'ノート', - note: 'ノート', - "username's following": '{{username}} のフォロー', - "username's used relays": '{{username}} の使用リレイ', - "username's muted": '{{username}} はミュート済み', - Login: 'ログイン', - downloadDesktopApp: 'Download app', - 'Please log in to view notifications.': 'Please log in to view notifications.', - 'Follows you': 'あなたをフォローしています', - 'Relay Settings': 'リレイ設定', - 'Relays and Storage Settings': 'Relays and Storage Settings', - 'Relay set name': 'リレイセット名', - 'Add a new relay set': '新しいリレイセットを追加', - Add: '追加', - 'n relays': '{{n}} 個のリレイ', - Rename: '名前変更', - 'Copy share link': 'Copy share link', - 'Copy address': 'Copy address', - 'Copy payto URI': 'Copy payto URI', - 'Copied payto address': 'Copied payto address', - 'Copied to clipboard': 'Copied to clipboard', - 'Copied {{label}} address': 'Copied {{label}} address', - 'Lightning payment address – copy to pay via your wallet': - 'Lightning payment address – copy to pay via your wallet', - 'Payment address – copy to use in your wallet or app': - 'Payment address – copy to use in your wallet or app', - 'Click to open payment options': 'Click to open payment options', - 'Click to copy address': 'Click to copy address', - 'Open on website': 'Open on website', - 'Raw profile event': 'Raw profile event', - 'Full profile event': 'Full profile event', - 'Event (JSON)': 'Event (JSON)', - 'Save full profile': 'Save full profile', - 'Add tag': 'Add tag', - 'Remove tag': 'Remove tag', - 'Tag name': 'Tag name', - Value: 'Value', - 'Add value to tag': 'Add value to tag', - 'Remove value': 'Remove value', - 'No tags. Click "Add tag" to add one.': 'No tags. Click "Add tag" to add one.', - 'Profile updated': 'Profile updated', - 'Failed to publish profile': 'Failed to publish profile', - 'Invalid profile JSON': 'Invalid profile JSON', - 'Refresh cache': 'Refresh cache', - 'Force-refresh profile and payment info from relays': - 'Force-refresh profile and payment info from relays', - 'Profile and payment cache refreshed': 'Profile and payment cache refreshed', - 'Failed to refresh cache': 'Failed to refresh cache', - 'Raw payment info event': 'Raw payment info event', - 'Payment info': 'Payment info', - 'Edit payment info': 'Edit payment info', - 'Add payment info': 'Add payment info', - 'No payment info event yet. Click "Add payment info" to create one.': - 'No payment info event yet. Click "Add payment info" to create one.', - 'Content (JSON)': 'Content (JSON)', - Tags: 'Tags', - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])': - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])', - 'Payment info updated': 'Payment info updated', - 'Failed to publish payment info': 'Failed to publish payment info', - 'Invalid tags JSON': 'Invalid tags JSON', - 'Payment methods': 'Payment methods', - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).': - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).', - 'Type (e.g. lightning)': 'Type (e.g. lightning)', - 'Authority (e.g. user@domain.com)': 'Authority (e.g. user@domain.com)', - 'Add payment method': 'Add payment method', - Remove: 'Remove', - 'Additional content (JSON)': 'Additional content (JSON)', - 'Show full event JSON': 'Show full event JSON', - 'Tag list': 'Tag list', - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.': - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.', - 'Tag value': 'Tag value', - 'Saving…': 'Saving…', - 'Share with Imwald': 'Imwaldで共有', - 'Share with Alexandria': 'Alexandriaで共有', - 'Start video call': 'Start video call', - 'Copy call invite link': 'Copy call invite link', - 'Start call about this': 'Start call about this', - 'Send call invite': 'Send call invite', - 'Read this note aloud': 'Read this note aloud', - 'Read-aloud is not supported in this browser': 'Read-aloud is not supported in this browser', - 'Nothing to read aloud': 'Nothing to read aloud', - 'Read-aloud failed': 'Read-aloud failed', - 'Read aloud': 'Read aloud', - 'Read-aloud idle': 'Idle', - 'Preparing read-aloud…': 'Preparing read-aloud…', - 'Requesting audio…': 'Requesting audio…', - 'Loading audio…': 'Loading audio…', - Playing: 'Playing', - Paused: 'Paused', - 'Read-aloud finished': 'Finished', - 'Read-aloud error': 'Error', - 'TTS endpoint': 'TTS endpoint', - 'Using browser speech synthesis': 'Using browser speech synthesis', - 'Read-aloud section progress': 'Section {{current}} of {{total}}', - 'Request sent': 'Request sent', - 'Response received': 'Response received', - 'Playback started': 'Playback started', - Characters: 'Characters', - Pause: 'Pause', - Play: 'Play', - Stop: 'Stop', - 'Read-aloud sections': 'Read-aloud sections', - 'Read-aloud overall progress': 'Overall progress', - 'Read-aloud section done': 'Section {{index}}: finished', - 'Read-aloud section pending': 'Section {{index}}: not started yet', - 'Read-aloud section fetching': 'Section {{index}}: requesting audio', - 'Read-aloud section preparing audio': 'Section {{index}}: loading audio', - 'Read-aloud section playing': 'Section {{index}}: playing', - 'Read-aloud section paused': 'Section {{index}}: paused', - 'Read-aloud legend fetching': 'Requesting audio for this section from the server…', - 'Read-aloud legend buffering': 'Decoding audio for this section…', - 'Read-aloud legend playing': 'Playing this section.', - 'Read-aloud legend paused': 'Playback paused.', - 'Read-aloud Piper fallback notice': - 'Server voice (Piper) could not be used. Playing with your browser voice instead.', - 'Read-aloud Piper fallback detail label': 'Piper error', - 'Read-aloud Piper status region': 'Piper text-to-speech status', - 'Read-aloud Piper status heading': 'Piper (server voice)', - 'Read-aloud Piper skipped notice': - 'No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.', - 'Read-aloud Piper attempt started': - 'Piper was started at {{time}} (this read-aloud used the server first).', - 'Read-aloud Piper endpoint tried': 'URL used: {{url}}', - 'Join the video call': 'Join the video call', - 'Schedule video call': 'Schedule video call', - "You're invited to a scheduled video call.": "You're invited to a scheduled video call.", - 'Create a calendar event and send an invite. The recipient will see the event with a join link.': - 'Create a calendar event and send an invite. The recipient will see the event with a join link.', - 'Schedule a video call': 'Schedule a video call', - 'Create a calendar event and send kind 24 invites to each listed invitee.': - 'Create a calendar event and send kind 24 invites to each listed invitee.', - Invitees: 'Invitees', - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)': - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)', - 'Schedule and send invites': 'Schedule and send invites', - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)': - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)', - 'Scheduled call created and {{count}} invite(s) sent': - 'Scheduled call created and {{count}} invite(s) sent', - 'Join video call': 'Join video call', - 'Scheduled video call': 'Scheduled video call', - 'Video call': 'Video call', - 'Schedule and send invite': 'Schedule and send invite', - 'Scheduling…': 'Scheduling…', - 'Please set a start time': 'Please set a start time', - 'End time must be after start time': 'End time must be after start time', - 'Failed to schedule call': 'Failed to schedule call', - 'Scheduled call created and invite sent': 'Scheduled call created and invite sent', - RSVP: 'RSVP', - 'RSVP: {{status}}': 'RSVP: {{status}}', - Accepted: 'Accepted', - Tentative: 'Tentative', - Declined: 'Declined', - 'You need to log in to RSVP': 'You need to log in to RSVP', - 'RSVP updated': 'RSVP updated', - 'Failed to update RSVP': 'Failed to update RSVP', - Organizer: 'Organizer', - Attendees: 'Attendees', - 'No response': 'No response', - 'Calendar Events': 'Calendar Events', - 'Calendar Event': 'Calendar Event', - 'Schedule in-person meeting': 'Schedule in-person meeting', - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.': - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.', - "You're invited to an in-person meeting.": "You're invited to an in-person meeting.", - 'Meeting created and invite sent': 'Meeting created and invite sent', - 'Failed to create meeting': 'Failed to create meeting', - 'Create and send invite': 'Create and send invite', - 'Creating…': 'Creating…', - 'In-person meeting': 'In-person meeting', - Location: 'Location', - 'Address, venue, or place': 'Address, venue, or place', - Description: 'Description', - 'Optional notes': 'Optional notes', - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.': - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.', - 'Meeting created and {{count}} invite(s) sent': 'Meeting created and {{count}} invite(s) sent', - 'Create and send invites': 'Create and send invites', - Title: 'Title', - Start: 'Start', - End: 'End', - Delete: '削除', - 'Relay already exists': 'リレイは既に存在します', - 'invalid relay URL': '無効なリレイURL', - 'Relay URL…': 'wss://… or relay host', - 'Open relay': 'Open relay', - 'Add a new relay': '新しいリレイを追加', - back: '戻る', - 'Lost in the void': '虚無の中へ', - 'Carry me home': '家まで送って', - 'no replies': '返信がありません', - 'Reply to': '返信先', - Search: '検索', - 'The relays you are connected to do not support search': - '接続しているリレイは検索をサポートしていません', - 'Show more...': 'さらに表示...', - 'All users': '全ユーザー', - 'Display replies': '返信を表示', - Notes: 'ノート', - Replies: '返信', - Gallery: 'ギャラリー', - Notifications: '通知', - 'no more notifications': 'これ以上通知はありません', - 'Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.': - '秘密鍵でのログインは安全ではありません。alby、nostr-keyx、nos2xなどのブラウザ拡張機能を使用してログインすることをお勧めします。秘密鍵を使用する場合は、少なくとも暗号化のためにパスワードを設定してください。', - 'Login with Browser Extension': 'ブラウザ拡張でログイン', - 'Login with Bunker': 'Bunkerでログイン', - 'Login with Private Key': '秘密鍵でログイン', - 'Login with npub (read-only)': 'npubでログイン(閲覧のみ)', - 'reload notes': 'ノートを再読み込み', - 'Logged in Accounts': 'ログイン中のアカウント', - 'Add an Account': 'アカウントを追加', - 'More options': 'その他のオプション', - 'Add client tag': 'クライアントタグを追加', - 'Show others this was sent via Imwald': 'これがImwald経由で送信されたことを表示', - 'Are you sure you want to logout?': '本当にログアウトしますか?', - 'relay sets': 'リレイセット', - edit: '編集', - Languages: '言語', - Theme: 'テーマ', - System: 'システム', - Light: 'ライト', - Dark: 'ダーク', - Temporary: '一時的', - 'Choose a relay set': 'リレイセットを選択', - 'Switch account': 'アカウント切替', - Pictures: '画像', - 'Picture note': '画像ノート', - 'A special note for picture-first clients like Olas': - 'Olas のような画像優先クライアント向けの特別なノート', - 'Picture note requires images': '画像ノートには画像が必要です', - Relays: 'リレイ', - Image: '画像', - 'Upload Image': 'Upload Image', - 'Insert emoji': 'Insert emoji', - 'Insert GIF': 'Insert GIF', - 'Insert meme': 'Insert meme', - 'Search GIFs': 'Search GIFs', - 'Search memes': 'Search memes', - 'Choose a GIF': 'Choose a GIF', - 'Choose a meme': 'Choose a meme', - 'Search GifBuddy for more GIFs': 'Search GifBuddy for more GIFs', - 'Add your own GIFs': 'Add your own GIFs', - 'Add your own meme templates': 'Add your own meme templates', - 'Description (optional, for search)': 'Description (optional, for search)', - 'e.g. happy birthday, thumbs up': 'e.g. happy birthday, thumbs up', - 'e.g. drake, distracted boyfriend': 'e.g. drake, distracted boyfriend', - 'Uploading...': 'Uploading...', - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.': - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.', - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).': - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).', - 'Failed to publish meme template for the picker': - 'Failed to publish meme template for the picker', - '{{name}} is not a GIF file': '{{name}} is not a GIF file', - '{{name}} is not a JPEG, PNG, or WebP file': '{{name}} is not a JPEG, PNG, or WebP file', - 'R & W': '読&書', - Read: '読む', - Write: '書く', - 'Pull relay sets': 'リレイセットをプル', - 'Select the relay sets you want to pull': 'プルするリレイセットを選択', - 'No relay sets found': 'リレイセットが見つかりません', - 'Pull n relay sets': '{{n}} 個のリレイセットをプル', - Pull: 'プル', - 'Select all': 'すべて選択', - 'Relay Sets': 'リレイセット', - 'Read & Write Relays': '読み&書きリレイ', - 'read relays description': - '読みリレイはあなたに関するイベントを取得するために使用されます。他のユーザーはあなたが見るべきイベントをこのリレイに公開します。', - 'write relays description': - '書きリレイはあなたのイベントを公開するために使用されます。他のユーザーはこのリレイからあなたのイベントを取得します。', - 'read & write relays notice': - '読みリレイと書きリレイは、理想的にはそれぞれ2〜4個に保つべきです。', - "Don't have an account yet?": 'まだアカウントをお持ちでないですか?', - 'or simply generate a private key': 'または単に秘密鍵を生成してください', - 'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.': - 'これは秘密鍵です。誰にも共有せず、安全な場所に保管してください。紛失すると復旧できません。', - Edit: '編集', - Save: '保存', - 'Display Name': '表示名', - Bio: '自己紹介', - 'Nostr Address (NIP-05)': 'Nostrアドレス (NIP-05)', - 'Invalid NIP-05 address': '無効なNIP-05アドレス', - 'Copy private key': '秘密鍵をコピー', - 'Enter the password to decrypt your ncryptsec': 'ncryptsecを復号化するためパスワードを入力', - Back: '戻る', - 'optional: encrypt nsec': '任意:nsecを暗号化', - password: 'パスワード', - 'Sign up': 'サインアップ', - 'Save to': '保存先', - 'Enter a name for the new relay set': '新しいリレイセットの名前を入力', - 'Save to a new relay set': '新しいリレイセットに保存', - Mute: 'ミュート', - Muted: 'ミュート済み', - Unmute: 'ミュート解除', - 'Unmute user': 'ユーザーのミュート解除', - Block: 'Block', - Unblock: 'Unblock', - blocked: 'blocked', - 'Append n relays': '{{n}} 個のリレイを追加', - Append: '追加', - 'Select relays to append': '追加するリレイを選択', - 'calculating...': '計算中...', - 'Calculate optimal read relays': '最適な読みリレイを計算', - 'Login to set': 'セットにログイン', - 'Please login to view following feed': 'フォロー中のフィードを表示するにはログインしてください', - 'Follow set': 'Follow set', - 'Follow set feed empty': - 'This NIP-51 list is empty, was not found, or relays could not load it yet.', - 'Send only to r': '{{r}} にのみ送信', - 'Send only to these relays': 'これらのリレイにのみ送信', - Explore: '探索', - 'Relay reviews': 'リレーレビュー', - 'Search relays': 'リレイを検索', - relayInfoBadgeAuth: '認証', - relayInfoBadgeSearch: '検索', - relayInfoBadgePayment: '支払い', - Operator: '運営者', - Contact: '連絡先', - Software: 'ソフトウェア', - Version: 'バージョン', - 'Random Relays': 'ランダムリレイ', - randomRelaysRefresh: '更新', - 'Explore more': 'もっと探索', - 'Payment page': '支払いページ', - 'Supported NIPs': '対応NIP', - 'Relay liveliness (NIP-66)': 'Relay liveliness (NIP-66)', - 'Relay monitor (NIP-66)': 'Relay monitor (NIP-66)', - 'Auth required': 'Auth required', - 'Public (no auth)': 'Public (no auth)', - 'Payment required': 'Payment required', - 'No payment': 'No payment', - 'Writes required': 'Writes required', - 'Writes open': 'Writes open', - 'PoW required': 'PoW required', - 'No PoW': 'No PoW', - 'RTT open': 'RTT open', - 'RTT read': 'RTT read', - 'RTT write': 'RTT write', - 'Supported NIPs (from monitor)': 'Supported NIPs (from monitor)', - 'Last reported by monitor': 'Last reported by monitor', - Network: 'Network', - Type: 'Type', - Topics: 'Topics', - 'Open in a': '{{a}}で開く', - 'Cannot handle event of kind k': '種類{{k}}のイベントは処理できません', - 'Unsupported event preview': - 'There isn’t a dedicated card for this event type yet. Here’s a readable preview.', - 'No text content in event': 'No text in this event.', - 'Technical details': 'Technical details', - 'Event kind and time': 'Kind {{kind}} · {{time}}', - 'Event kind label': 'Kind {{kind}}', - 'Note kind label line': 'KIND: {{kind}} · {{description}}', - 'Unknown note declared kind tag': 'Tagged kind: {{value}}', - 'Unknown note tagged pubkey': 'Tagged pubkey', - 'Unknown note tagged content': 'Content', - 'Unknown note reference tags': 'Reference tags (e, p, q, a)', - 'Starred spells': 'Starred spells', - 'Spell star add title': 'Star spell (adds to your Nostr bookmarks)', - 'Spell star remove title': 'Unstar spell (removes from your Nostr bookmarks)', - 'Copy JSON': 'Copy JSON', - Verse: 'Verse', - 'Notification reaction summary': 'reacted to this note.', - 'Notification discussion upvote summary': 'upvoted in this discussion.', - 'Notification discussion downvote summary': 'downvoted in this discussion.', - 'Notification boost summary': 'Boosted this note', - 'Notification boost detail': 'The preview above is the original post.', - 'Notification poll vote summary': 'Voted on the poll above.', - 'Notification poll vote options count': '{{count}} option(s) selected', - 'Imwald synthetic event': 'Imwald synthetic event', - '+ Add a URL to this list': 'Add a URL to this list', - 'Add a web URL': 'Add a web URL', - 'Add web URL to feed description': - 'Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.', - 'Add to feed': 'Add to feed', - 'Open any https page in the side panel to reply, react, and discuss on Nostr.': - 'Open any https page in the side panel to reply, react, and discuss on Nostr.', - 'Enter a valid http(s) URL': 'Enter a valid http(s) URL', - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.': - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.', - 'Open in browser': 'Open in browser', - 'Web page': 'Web page', - Open: 'Open', - 'Sorry! The note cannot be found 😔': '申し訳ありません!ノートが見つかりません 😔', - 'This user has been muted': 'このユーザーはミュートされています', - Wallet: 'ウォレット', - Sats: 'サッツ', - sats: 'サッツ', - 'Zap to': 'Zap送信', - 'Zap n sats': '{{n}} サッツをZap', - zapComment: 'コメント', - 'Default zap amount': 'デフォルトのZap金額', - 'Default zap comment': 'デフォルトのZapコメント', - 'Lightning Address (or LNURL)': 'Lightningアドレス(またはLNURL)', - 'Quick zap': 'クイックZap', - 'If enabled, you can zap with a single click. Click and hold for custom amounts': - '有効にすると、1クリックでZapできます。クリックして金額をカスタマイズします', - All: 'すべて', - Reactions: '反応', - Zaps: 'Zap', - Boosts: 'ブースト', - Badges: 'Badges', - Reports: 'Reports', - 'Enjoying Imwald?': 'Imwaldをお楽しみですか?', - 'Your donation helps me maintain Imwald and make it better! 😊': - 'あなたの寄付はImwaldの維持と改善に役立ちます! 😊', - 'Earlier notifications': '以前の通知', - 'Temporarily display this note': 'このノートを一時的に表示', - buttonFollowing: 'フォロー中', - 'Are you sure you want to unfollow this user?': 'このユーザーのフォローを解除しますか?', - 'Recent Supporters': '最近のサポーター', - 'Seen on': '見た', - 'Temporarily display this reply': 'この返信を一時的に表示', - 'Note not found': 'ノートが見つかりません', - 'Invalid embedded note reference': 'Invalid embedded note reference', - embeddedNoteInvalidEmpty: 'This embedded link is empty.', - embeddedNoteInvalidHex: - 'This is not a valid hex event id (expected exactly 64 hexadecimal characters).', - embeddedNoteInvalidBech32: - 'This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.', - embeddedNoteInvalidWrongKind: - 'This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.', - 'The note was not found on your relays or default relays.': - 'The note was not found on your relays or default relays.', - "Try searching author's relays": "Try searching author's relays", - 'Searching external relays...': 'Searching external relays...', - "This will connect to the author's relays and relay hints": - "This will connect to the author's relays and relay hints", - 'Note could not be found anywhere': 'Note could not be found anywhere', - 'Try external relays': 'Try external relays', - 'Searching...': 'Searching...', - 'Show relays': 'Show relays', - 'No external relay hints available': 'No external relay hints available', - 'External relay search is not available for this link type': - 'External relay search is not available for this link type.', - 'Searched external relays not found': - 'Searched {{count}} external relays; the note was still not found.', - 'no more replies': 'これ以上の返信はありません', - 'Relay sets': 'リレイセット', - 'Search for Relays': 'Search for Relays', - 'Using app default relays': 'Using app default relays', - "Following's Favorites": 'フォロー中のお気に入り', - 'no more relays': 'これ以上のリレイはありません', - 'Favorited by': 'お気に入り', - 'Post settings': '投稿設定', - 'Publishing feedback': 'Publishing feedback', - 'Publish success toasts': 'Publish success toasts', - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.': - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.', - 'Publish successful': 'Publish successful', - 'Media upload service': 'メディアアップロードサービス', - 'Choose a relay': 'リレイを選択', - 'no relays found': 'リレイが見つかりません', - video: 'ビデオ', - 'Show n new notes': '新しいノートを{{n}}件表示', - YouTabName: 'あなた', - Bookmark: 'ブックマーク', - 'Remove bookmark': 'ブックマークを削除', - 'no bookmarks found': 'ブックマークが見つかりません', - 'no more bookmarks': 'これ以上ブックマークはありません', - Bookmarks: 'ブックマーク一覧', - 'Follow Packs': 'Follow Packs', - 'Follow Pack': 'Follow Pack', - 'Follow pack by': 'by', - 'In Follow Packs': 'In Follow Packs', - 'Badge details': 'Badge details', - 'Issued by': 'Issued by', - 'Other recipients': 'Other recipients', - 'No other recipients found': 'No other recipients found', - 'Recipients could not be loaded': 'Recipients could not be loaded', - 'View award': 'View award', - 'Awarded on': 'Awarded on', - 'Please log in to follow': 'Please log in to follow', - 'Following All': 'Following All', - 'Followed {{count}} users': 'Followed {{count}} users', - 'All available members are already followed or muted': - 'All available members are already followed or muted', - 'You are already following all members of this pack': - 'You are already following all members of this pack', - 'Failed to follow pack': 'Failed to follow pack', - '{{count}} profiles': '{{count}} profiles', - 'Show more': 'もっと見る', - General: '一般', - Autoplay: '自動再生', - 'Enable video autoplay on this device': 'このデバイスでのビデオ自動再生を有効にする', - 'liveActivities.heading': 'Live now', - 'liveActivities.regionLabel': 'Live spaces and streams', - 'liveActivities.fromFollow': 'From someone you follow', - 'liveActivities.goToSlide': 'Show live item {{n}}', - 'liveActivities.settingsToggle': 'Live activities banner', - 'liveActivities.settingsHint': - 'Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.', - 'Add random relays to every publish': 'Random relays in publish list', - 'Add random relays to every publish description': - 'Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.', - relayType_local: 'Local', - relayType_relay_list: 'Relay list', - relayType_http_relay_list: 'HTTP', - 'HTTP relays': 'HTTP relays', - httpRelaysDescription: - 'HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.', - 'HTTP relays saved': 'HTTP relays saved', - 'Failed to save HTTP relay list': 'Failed to save HTTP relay list', - 'HTTP relays must start with https:// or http://': - 'HTTP relays must start with https:// or http://', - relayType_client_default: 'Client default', - relayType_open_from: 'Current feed', - relayType_favorite: 'Favorite', - relayType_relay_set: 'Relay set', - relayType_contextual: 'Reply/PM', - relayType_randomly_selected: 'Random (optional)', - 'Session relays': 'Session relays', - 'Session relays tab description': - 'Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish).', - 'Session relays preset working': 'Working preset relays', - 'Session relays preset working hint': - 'Preset relays (from app defaults) that have not reached 3 publish failures this session.', - 'Session relays preset striked': 'Striked preset relays', - 'Session relays preset striked hint': - 'Preset relays that have reached 3 publish failures this session and are skipped for the rest of the session.', - 'Session relays scored random': 'Scored random relays', - 'Session relays scored random hint': - 'Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.', - 'Session relays all striked': 'All striked relays (any source)', - 'Session relays clear strike': 'Allow again', - 'Session relays clear strike hint': - 'Remove this relay from the session block list; it will be used again until new connection failures.', - successes: 'successes', - None: 'None', - 'Cache & offline storage': 'Cache & offline storage', - feedStarting: 'Starting feeds and relays… This can take a few seconds after login.', - refreshCacheButtonExplainer: - 'Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.', - 'eventArchive.sectionTitle': 'Notes & feed archive', - 'eventArchive.sectionBlurb': - 'Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.', - 'eventArchive.defaultsMobile': - 'This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).', - 'eventArchive.defaultsElectron': - 'Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.defaultsDesktopWeb': - 'Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.enablePersist': 'Persist feed events to disk', - 'eventArchive.maxMb': 'Max archive size (MB), blank = default for this device', - 'eventArchive.maxEvents': 'Max archived events, blank = default', - 'eventArchive.sessionLru': 'In-memory session cache (event count), blank = default', - 'eventArchive.effectiveSummary': - 'Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.', - 'eventArchive.on': 'on', - 'eventArchive.off': 'off', - 'eventArchive.apply': 'Apply cache settings', - 'eventArchive.appliedToast': 'Cache settings saved. Session memory updated.', - 'Paste or drop media files to upload': 'メディアファイルを貼り付けるかドロップしてアップロード', - Preview: 'プレビュー', - 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'あなたは[{{eventAuthorName}}]によって署名されたイベントを公開しようとしています。現在[{{currentUsername}}]としてログインしています。よろしいですか?', - 'Platinum Sponsors': 'プラチナスポンサー', - From: 'から', - 'Comment on': 'にコメント', - 'View on njump.me': 'njump.meで表示', - 'Hide content from untrusted users': '信頼できないユーザーのコンテンツを非表示', - 'Only show content from your followed users and the users they follow': - 'フォローしているユーザーとそのユーザーがフォローしているユーザーのコンテンツのみを表示', - 'Followed by': 'フォロワー', - 'Mute user privately': 'ユーザーを非公開でミュート', - 'Mute user publicly': 'ユーザーを公開でミュート', - Quotes: '引用', - 'Lightning Invoice': 'ライトニングインボイス', - 'Bookmark failed': 'ブックマークに失敗しました', - 'Remove bookmark failed': 'ブックマークの削除に失敗しました', - Translation: '翻訳', - Balance: '残高', - characters: '文字', - translateApiKeyDescription: - 'このAPIキーは、LibreTranslateをサポートする他の場所でも使用できます。サービスURLは{{serviceUrl}}です', - 'Top up': 'チャージ', - 'Will receive: {n} characters': '受け取る文字数: {{n}} 文字', - 'Top up {n} sats': 'チャージ {{n}} サッツ', - 'Minimum top up is {n} sats': '最低チャージは {{n}} サッツです', - Service: 'サービス', - 'Reset API key': 'APIキーをリセット', - 'Are you sure you want to reset your API key? This action cannot be undone.': - 'APIキーをリセットしますか?この操作は元に戻せません。', - Warning: '警告', - 'Errors & warnings': 'Errors & warnings', - 'Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.': - '現在のAPIキーはすぐに無効になり、それを使用しているアプリケーションは新しいキーで更新するまで動作しなくなります。', - 'Service address': 'サービスアドレス', - Pay: '支払う', - interactions: 'インタラクション', - notifications: '通知', - notificationsViewAsAccount: 'View as', - notificationsViewAsAccountAria: - 'Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.', - notificationsSwitchAccountFailed: - 'Could not switch account. Check your signer, password, or extension and try again.', - 'Show untrusted {type}': '信頼されていない{{type}}を表示', - 'Hide untrusted {type}': '信頼されていない{{type}}を非表示', - 'Currently hiding {type} from untrusted users.': - '現在、信頼されていないユーザーからの{{type}}を非表示にしています。', - 'Currently showing all {type}.': '現在、すべての{{type}}を表示しています。', - 'Click continue to show all {type}.': - 'すべての{{type}}を表示するには続行をクリックしてください。', - 'Click continue to hide {type} from untrusted users.': - '信頼されていないユーザーからの{{type}}を非表示にするには続行をクリックしてください。', - 'Trusted users include people you follow and people they follow.': - '信頼できるユーザーには、あなたがフォローしている人とその人がフォローしている人が含まれます。', - Continue: '続行', - 'Successfully updated mute list': 'ミュートリストの更新に成功しました', - 'No pubkeys found from {url}': 'URL {{url}} からのpubkeyは見つかりませんでした', - 'Translating...': '翻訳中...', - Translate: '翻訳', - 'Show original': '原文を表示', - Website: 'ウェブサイト', - 'Hide untrusted notes': '信頼されていないノートを非表示', - 'Open in another client': '別のクライアントで開く', - Community: 'コミュニティ', - Group: 'グループ', - 'Live event': 'ライブイベント', - Article: '記事', - Unfavorite: 'お気に入り解除', - 'Recommended relays': 'おすすめのリレイ', - 'Show recommended relays panel': 'Show recommended relays panel', - 'Display the right-side panel with recommended relays on desktop': - 'Display the right-side panel with recommended relays on desktop', - 'Blossom server URLs': 'BlossomサーバーURL', - 'You need to add at least one blossom server in order to upload media files.': - 'メディアファイルをアップロードするには、少なくとも1つのBlossomサーバーを追加する必要があります。', - 'Recommended blossom servers': 'おすすめのBlossomサーバー', - 'Enter Blossom server URL': 'BlossomサーバーURLを入力', - Preferred: '優先', - 'Multiple choice (select one or more)': '複数選択(1つ以上選択)', - Vote: '投票', - '{{number}} votes': '{{number}} 票', - 'Total votes': '総票数', - 'Poll has ended': '投票終了', - 'Poll ends at {{time}}': '投票終了時刻:{{time}}', - 'Load results': '結果を読み込み', - 'This is a poll note.': 'これは投票ノートです。', - 'Unlike regular notes, polls are not widely supported and may not display on other clients.': - '通常のノートとは異なり、投票は広くサポートされておらず、他のクライアントでは表示されない場合があります。', - 'Option {{number}}': '選択肢 {{number}}', - 'Add Option': '選択肢を追加', - 'Allow multiple choices': '複数選択を許可', - 'End Date (optional)': '終了日(任意)', - 'Clear end date': '終了日をクリア', - 'Relay URLs (optional, comma-separated)': 'リレーURL(任意、カンマ区切り)', - 'Remove poll': '投票を削除', - 'Refresh results': '結果を更新', - '{{votes}} · {{pct}}%': '{{votes}} · {{pct}}%', - 'See results': 'See results', - 'Zap poll (paid votes)': 'Zap poll (paid votes)', - 'Invalid zap poll': 'Invalid zap poll', - 'You voted on this poll (zap receipt)': 'You voted on this poll (zap receipt)', - 'Poll closed {{time}}': 'Poll closed {{time}}', - 'Closes {{time}}': 'Closes {{time}}', - 'Vote size': 'Vote size', - '{{n}} sats (fixed)': '{{n}} sats (fixed)', - '{{min}}–{{max}} sats': '{{min}}–{{max}} sats', - '≥ {{n}} sats': '≥ {{n}} sats', - '≤ {{n}} sats': '≤ {{n}} sats', - 'Loading tally…': 'Loading tally…', - 'Zap poll no votes yet': - 'No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).', - 'Consensus threshold': 'Consensus threshold', - 'Pay to': 'Pay to', - Recipient: 'Recipient', - Option: 'Option', - 'Select option': 'Select option', - 'Select an option': 'Select an option', - 'Vote with zap': 'Vote with zap', - 'Zap sent': 'Zap sent', - 'Zapping…': 'Zapping…', - 'Refresh tally': 'Refresh tally', - '{{n}} zaps': '{{n}} zaps', - Poll: '投票', - Media: 'メディア', - 'Articles and Publications': 'Articles and Publications', - 'Search articles...': 'Search articles...', - 'Refreshing articles...': 'Refreshing articles...', - 'No articles or publications found': 'No articles or publications found', - 'No articles or publications match your search': - 'No articles or publications match your search', - 'articles and publications': 'articles and publications', - Interests: 'Interests', - Calendar: 'Calendar', - 'No subscribed interests yet.': - 'No subscribed interests yet. Add topics in settings to see them here.', - 'No bookmarked notes with id tags yet.': - 'No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.', - 'No follows or relays to load yet.': 'No follows or relays to load yet.', - 'Nothing to load for this feed.': 'Nothing to load for this feed.', - 'No posts loaded for this feed. Try refreshing.': - 'No posts loaded for this feed. Try refreshing.', - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.': - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.', - 'Per-relay timeline results ({{count}} connections)': - 'Per-relay timeline results ({{count}} connections)', - 'Republish to ...': '再公開先 ...', - 'All available relays': 'All available relays', - 'All active relays (monitoring list)': 'All active relays (monitoring list)', - 'Successfully republish to all available relays': - 'Successfully republish to all available relays', - 'Failed to republish to all available relays: {{error}}': - 'Failed to republish to all available relays: {{error}}', - 'Successfully republish to all active relays': 'Successfully republish to all active relays', - 'Failed to republish to all active relays: {{error}}': - 'Failed to republish to all active relays: {{error}}', - 'No active relays in monitoring list': 'No active relays in monitoring list', - 'No relay accepted the event': 'No relay accepted the event', - 'No relays available': 'No relays available', - 'No write relays configured': 'No write relays configured', - 'Relay did not accept the event': 'Relay did not accept the event', - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".': - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".', - 'Successfully republish to your write relays': '書きリレイへの再公開に成功しました', - 'Failed to republish to your write relays: {{error}}': - '書きリレイへの再公開に失敗しました: {{error}}', - 'Successfully republish to relay set: {{name}}': - 'リレイセット {{name}} への再公開に成功しました', - 'Failed to republish to relay set: {{name}}. Error: {{error}}': - 'リレイセット {{name}} への再公開に失敗しました。エラー: {{error}}', - 'Successfully republish to relay: {{url}}': 'リレイ {{url}} への再公開に成功しました', - 'Failed to republish to relay: {{url}}. Error: {{error}}': - 'リレイ {{url}} への再公開に失敗しました。エラー: {{error}}', - 'Write relays': '書きリレイ', - 'No more reactions': 'これ以上の反応はありません', - 'No reactions yet': 'まだ反応はありません', - 'No more zaps': 'これ以上のZapはありません', - 'No zaps yet': 'まだZapはありません', - 'No more boosts': 'これ以上のブーストはありません', - 'No boosts yet': 'まだブーストはありません', - 'n more boosts': '{{count}} more boosts', - FollowListNotFoundConfirmation: - 'フォローリストが見つかりません。新しいものを作成しますか?以前にユーザーをフォローしたことがある場合は、この操作により前のフォローリストが失われるため、確認しないでください。', - MuteListNotFoundConfirmation: - 'ミュートリストが見つかりません。新しいものを作成しますか?以前にユーザーをミュートしたことがある場合は、この操作により前のミュートリストが失われるため、確認しないでください。', - 'Show NSFW content by default': 'デフォルトでNSFWコンテンツを表示', - 'Custom emoji management': 'カスタム絵文字管理', - 'After changing emojis, you may need to refresh the page': - '絵文字を変更した後、ページを更新する必要がある場合があります', - 'Too many read relays': '読み取りリレイが多すぎます', - 'Too many write relays': '書き込みリレイが多すぎます', - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.': - '{{count}} 個の読み取りリレイがあります。ほとんどのクライアントは2〜4個のリレイのみを使用するため、それ以上設定する必要はありません。', - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.': - '{{count}} 個の書き込みリレイがあります。ほとんどのクライアントは2〜4個のリレイのみを使用するため、それ以上設定する必要はありません。', - 'Optimize Relay Settings': 'リレイ設定を最適化', - 'Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.': - '現在のリレイ設定は最適ではない可能性があります。これにより、他の人があなたの投稿を見つけにくくなり、通知が不完全になる可能性があります。', - 'Optimize Now': '今すぐ最適化', - 'Maybe Later': '後で', - "Don't remind me again": '今後表示しない', - Posts: '投稿', - 'Posts (OPs)': 'Posts (OPs)', - 'Kind 1 replies': 'Kind 1 replies', - Comments: 'Comments', - 'Replies & comments': 'Replies & comments', - Articles: '記事', - Highlights: 'ハイライト', - 'A note from': 'A note from', - Polls: '投票', - 'Zap polls': 'Zap polls', - 'Voice Posts': '音声投稿', - 'Photo Posts': '写真投稿', - 'Video Posts': 'ビデオ投稿', - 'Git repositories': 'Git repositories', - 'Git issues': 'Git issues', - 'Git releases': 'Git releases', - 'Git Republic repository': 'Git Republic repository', - 'Git Republic issue': 'Git Republic issue', - 'Git Republic release': 'Git Republic release', - 'Git Republic event': 'Git Republic event', - 'Git Republic': 'Git Republic', - 'Open in Git Republic': 'Open in Git Republic', - 'Pre-release': 'Pre-release', - Draft: 'Draft', - 'Repository release': 'Repository release', - 'New Repository Release': 'New Repository Release', - 'Release notes use the editor below (optional).': - 'Release notes use the editor below (optional).', - 'Repository owner (npub or hex)': 'Repository owner (npub or hex)', - 'Repository id (d-tag)': 'Repository id (d-tag)', - 'Git tag name': 'Git tag name', - 'Tag target (40-char commit hash)': 'Tag target (40-character commit hash)', - '40-character hex SHA-1': '40-character hex SHA-1', - 'Release title': 'Release title', - 'Download URL': 'Download URL', - 'Draft release': 'Draft release', - 'Fill repository release fields': 'Fill in all required repository release fields.', - 'Invalid repository owner pubkey': 'Invalid repository owner (use npub or 64-char hex).', - 'Citations require private relays (NIP-65).': - 'Citations require private outbox relays (NIP-65).', - 'Select All': 'すべて選択', - 'Clear All': 'すべてクリア', - 'Set as default filter': 'デフォルトフィルターに設定', - 'Use filter': 'Use filter', - 'See all events': 'See all events', - 'See all events hint': - 'Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.', - 'Use filter hint': 'Only the kinds you select below are requested and shown.', - Apply: '適用', - Reset: 'リセット', - 'Share something on this Relay': 'このリレーで何かを共有する', - 'Try deleting this note': 'このノートを削除してみてください', - 'Deletion request sent to {{count}} relays': - '削除リクエストが{{count}}個のリレーに送信されました', - 'Suitable Relays': '適切なリレー', - 'People, keywords, or relays': '人、キーワード、またはリレー', - 'Hide content mentioning muted users': 'ミュートしたユーザーを言及するコンテンツを非表示', - 'This note mentions a user you muted': 'このノートはミュートしたユーザーを言及しています', - Filter: 'フィルター', - 'Feed filter': 'Feed filter', - 'Search loaded posts': 'Search loaded posts', - 'Filter loaded posts placeholder': 'Filter by text in content or tags…', - 'Feed filter author': 'Author', - 'Feed filter author everyone': 'From everyone', - 'Feed filter author me': 'Only from me', - 'Feed filter author npub': 'From user (npub or hex)', - 'Feed filter author npub from prefix': 'from:', - 'Feed filter author npub placeholder': 'npub1… or 64-char hex', - 'Feed filter author me needs login': 'Log in to filter by your pubkey', - 'Within the last': 'Within the last', - 'Time unit': 'Time unit', - Minutes: 'Minutes', - Days: 'Days', - Weeks: 'Weeks', - Months: 'Months', - Years: 'Years', - 'Feed filter client-side hint': - 'Filters only apply to posts already loaded; relays are not queried again.', - 'Feed full search': 'Perform full search', - 'Feed full search running': 'Searching…', - 'Feed full search clear': 'Clear', - 'Feed full search active hint': - 'Showing relay search results. Clear to return to the live feed.', - 'Feed full search need constraint': - 'Add search text, an author filter, or a time range before searching relays.', - 'Feed full search invalid feed': 'This feed cannot run a relay search.', - 'Feed full search failed': 'Relay search failed. Try again.', - 'Feed full search empty': 'No matching posts were found on the queried relays.', - 'No loaded posts match your filters.': 'No loaded posts match your filters.', - 'mentioned you in a note': 'ノートであなたに言及しました', - 'quoted your note': 'あなたのノートを引用しました', - 'quoted this note': 'Quoted this note', - 'highlighted this note': 'Highlighted this note', - 'cited in article': 'Cited in article', - 'Thread backlinks heading': 'Also quoting this note', - 'Thread backlinks primary section': 'Quotes, highlights & citations', - 'Thread backlinks bookmarks section': 'Bookmarks', - 'Thread backlinks lists section': 'Lists & collections', - 'View full note and thread': 'View full note and thread', - 'labeled this note': 'Labeled this note', - 'reported this note': 'Reported this note', - 'bookmarked this note': 'Bookmarked this note', - 'pinned this note': 'Pinned this note', - 'listed this note': 'Listed this note', - 'bookmark set reference': 'Bookmark set includes this note', - 'curated this note': 'Curated this note', - 'badge award for this note': 'Badge award for this note', - 'referenced this note': 'Referenced this note', - 'Report events heading': 'Moderation reports', - 'voted in your poll': 'あなたの投票に投票しました', - 'reacted to your note': 'あなたのノートにリアクションしました', - 'boosted your note': 'あなたのノートをブーストしました', - 'zapped your note': 'あなたのノートにザップしました', - 'zapped you': 'あなたにザップしました', - zapped: 'zapped', - 'Invalid zap receipt': 'Invalid zap receipt', - 'Zapped note': 'Zapped note', - 'Zapped profile': 'Zapped profile', - 'Zap reply threshold': 'Zap reply threshold', - 'Zaps above this amount will appear as replies in threads': - 'Zaps above this amount will appear as replies in threads', - 'Mark as read': '既読にする', - Report: '報告', - 'Successfully report': '報告が成功しました', - 'Failed to report': '報告に失敗しました', - nudity: 'ヌード', - malware: 'マルウェア', - profanity: '冒涜的な内容', - illegal: '違法コンテンツ', - spam: 'スパム', - other: 'その他', - 'Notification list style': '通知リストスタイル', - 'See extra info for each notification': '各通知の詳細情報を表示', - 'See more notifications at a glance': '一目でより多くの通知を確認', - Detailed: '詳細', - 'Submit Relay': 'リレーを提出', - Homepage: 'ホームページ', - 'Proof of Work (difficulty {{minPow}})': 'プルーフオブワーク (難易度 {{minPow}})', - 'via {{client}}': '{{client}} 経由', - 'Auto-load media': 'メディアの自動読み込み', - Always: '常に', - 'Wi-Fi only': 'Wi-Fiのみ', - Never: 'しない', - 'Click to load image': 'クリックして画像を読み込む', - 'Click to load media': 'クリックしてメディアを読み込む', - 'Click to load YouTube video': 'クリックしてYouTubeビデオを読み込む', - '{{count}} reviews': '{{count}}件のレビュー', - 'Write a review': 'レビューを書く', - 'No reviews yet. Be the first to write one!': - 'まだレビューがありません。最初のレビューを書いてみませんか!', - 'View more reviews': 'もっとレビューを見る', - 'Failed to review': 'レビュー失敗', - 'Write a review and pick a star rating': 'レビューを書いて星評価を選択してください', - Submit: '送信', - 'Reviews for {{relay}}': '{{relay}} のレビュー', - 'No relays selected': 'リレーが選択されていません', - 'Post to': '投稿先', - 'Write relays and {{count}} other relays': '書き込みリレーと他の {{count}} 個のリレー', - '{{count}} relays': '{{count}} 個のリレー', - 'Republishing...': '再公開中...', - 'Trending Notes': '注目のノート', - 'Trending on Your Favorite Relays': 'Trending on Your Favorite Relays', - 'Trending on the Default Relays': 'Trending on the Default Relays', - 'Latest from your follows': 'Latest from your follows', - 'Latest from our recommended follows': 'Latest from our recommended follows', - 'Follows latest page title': 'Latest from follows', - 'Follows latest page description': - 'Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.', - 'Follows latest nav label': 'Follows latest', - 'Loading follow list…': 'Loading follow list…', - 'Could not load recommended follows': 'Could not load recommended follows', - 'Your follow list is empty': 'Your follow list is empty', - 'Loading recent posts from follows…': 'Loading recent posts from follows…', - 'Loading more…': 'Loading more…', - 'No recent posts from this user in the current fetch': - 'No recent posts from this user in the current fetch', - 'Loading trending notes from your relays...': 'Loading trending notes from your relays...', - Sort: 'Sort', - newest: 'newest', - oldest: 'oldest', - 'most popular': 'most popular', - 'least popular': 'least popular', - 'Connected to': '接続先', - 'Disconnect Wallet': 'ウォレットの接続を解除', - 'Are you absolutely sure?': '本当に確かですか?', - 'You will not be able to send zaps to others.': '他の人にZapを送信できなくなります。', - Disconnect: '接続解除', - 'Set up your wallet to send and receive sats!': - 'ウォレットを設定してサッツを送受信しましょう!', - 'Set up': '設定する', - 'nested events': 'nested events', - 'Loading RSS feeds...': 'Loading RSS feeds...', - 'No RSS feed items available': 'No RSS feed items available', - 'Show or hide the RSS page and sidebar entry': 'Show or hide the RSS page and sidebar entry', - 'Refreshing feeds...': 'Refreshing feeds...', - 'All feeds': 'All feeds', - 'All time': 'All time', - 'Last hour': 'Last hour', - 'Last day': 'Last day', - 'Last week': 'Last week', - 'Last month': 'Last month', - 'Last 24 hours': 'Last 24 hours', - 'Last 48 hours': 'Last 48 hours', - 'Time range': 'Time range', - 'Filter by RSS source': 'Filter by RSS source', - 'No items match your filters': 'No items match your filters', - 'Search...': 'Search...', - '{{count}} feeds': '{{count}} feeds', - 'Toggle filters': 'Toggle filters', - 'Showing {{filtered}} of {{total}} items': 'Showing {{filtered}} of {{total}} items', - Full: 'Full', - Compact: 'コンパクト', - Expand: 'Expand', - 'help.title': 'Help', - 'help.tabShortcuts': 'Keyboard shortcuts', - 'help.tabOverview': 'App overview', - 'shortcuts.title': 'Keyboard shortcuts', - 'shortcuts.intro': - 'Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.', - 'shortcuts.sectionApp': 'This app', - 'shortcuts.sectionSearch': 'Search bar', - 'shortcuts.sectionStandard': 'Standard', - 'shortcuts.openHelp': 'Show this help', - 'shortcuts.or': 'or', - 'shortcuts.then': 'then', - 'shortcuts.focusPrimary': - 'Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)', - 'shortcuts.focusSecondary': - 'Focus side panel scroll when it is open (desktop; same keys to scroll)', - 'shortcuts.newNote': 'New note / post (after login if needed)', - 'shortcuts.searchSuggest': 'Move through suggestions', - 'shortcuts.searchDismiss': 'Close search dropdown', - 'shortcuts.tabNavigate': 'Move focus to the next or previous control', - 'shortcuts.activate': 'Activate buttons and many controls', - 'shortcuts.closeOverlays': 'Close dialogs, menus, and the search dropdown', - 'shortcuts.scrollWhenFocused': 'Scroll the focused scrollable area', - 'shortcuts.browserBack': 'Browser back (history)', - 'No spells yet. Create one with the button above.': - 'No spells yet. Create one with the button above.', - 'Loading spells from your relays…': 'Loading spells from your relays…', - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.': - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.', - 'Select a spell…': 'Select a spell…', - 'Spells from follows': 'From people you follow ({{count}})', - 'Other spells': 'Other spells ({{count}})', - 'Select a spell to view its feed.': 'Select a spell to view its feed.', - 'Add another row': 'Add another row', - 'Remove this row': 'Remove this row', - 'One kind number per row (e.g. 1 for notes).': 'One kind number per row (e.g. 1 for notes).', - 'One author per row: $me, $contacts, or hex pubkey / npub.': - 'One author per row: $me, $contacts, or hex pubkey / npub.', - 'One hex event id per row.': 'One hex event id per row.', - 'One wss:// URL per row. Leave empty to use your write relays.': - 'One wss:// URL per row. Leave empty to use your write relays.', - 'One topic per row.': 'One topic per row.', - topic: 'topic', - 'Spell form fields': 'Spell form fields', - 'Counting matching events…': 'Counting matching events…', - 'Edit spell': 'Edit spell', - 'Clone spell': 'Clone spell', - 'Spell cloned': 'Spell cloned', - 'Clone spell intro': - 'This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.', - 'Spell updated': 'Spell updated', - 'Relay URL': 'Relay', - Count: 'Count', - 'Edit spell relays': 'Edit relays', - 'COUNT spell relay errors hint': - 'One or more relays failed or returned an error. You can change the relay list in the spell and save again.', - 'COUNT spell total distinct explanation': - 'Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.', - 'Leave empty to use your write relays.': 'Leave empty to use your write relays.', - 'COUNT spell result explanation': - 'Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.', - 'COUNT spell may be capped by limit': - 'This count may equal your spell limit — there could be more matching events on the network.', - 'Spell count failed. Check relays or try again.': - 'Could not complete the count. Check relays or try again.', - 'REQ returns a feed; COUNT returns a number.': - 'REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.', - listImportManualLabel: 'Pre-fill from event', - listImportFromEventHint: - 'Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.', - listImportManualPlaceholder: '64-char hex, nevent1…, or naddr1…', - listImportLoadManual: 'Apply', - listImportContentSkipped: - 'This event has non-empty content (may include encrypted private items). Only public tags were merged.', - listImportUnsupportedEmoji: - 'This list includes emoji tags (NIP-30); those are not added to the spell filter.', - listImportUnsupportedTag: - 'Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.', - listImportBadATag: 'Could not parse address tag: {{preview}}…', - listImportATagNotFound: 'Could not resolve address tag: {{preview}}…', - listImportATagFailed: 'Failed to resolve address tag: {{preview}}…', - listImportEventNotFound: 'No event found for that reference.', - 'REQ tag filters': 'REQ tag filters', - spellFormTagFiltersLabel: 'Tag filters on matching events', - spellCreateIntro: - 'Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.', - spellFormSectionQueryTitle: 'Spell query', - spellFormSectionQueryHint: - 'This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).', - spellFormSectionMetadataTitle: 'Listing & labels (optional)', - spellFormSectionMetadataBadge: 'Not part of the query', - spellFormSectionMetadataHint: - 'Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.', - spellFormCatalogTopicsLabel: 'Topic labels on this spell (t tags)', - spellTopicsMetadataHint: - 'One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).', - spellTagFiltersHint: - 'Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.', - spellTagFiltersEmpty: 'No tag filters yet. Add rows below or apply an event reference above.', - 'Tag filter letter': 'Tag letter', - 'Filter value': 'Value', - 'Add tag filter': 'Add tag filter', - spellPickerSectionYours: 'Your spells', - 'Failed to remove spell from local storage': 'Failed to remove spell from local storage', - Spells: 'Spells', - 'doublePane.secondaryEmpty': 'Open a note, profile, or settings item to show it here.', - 'doublePane.secondaryEmptyHint': 'Your feed and primary pages stay on the left.', - '(empty)': '(empty)', - '12-hour (AM/PM)': '12-hour (AM/PM)', - '24-hour': '24-hour', - 'A new version is available': 'A new version is available', - 'A short description of the article content': 'A short description of the article content', - AM: 'AM', - 'Access via': 'Access via', - 'Accessed On': 'Accessed On', - 'Accessed on': 'Accessed on', - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.': - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.', - 'Add a relay to block': 'Add a relay to block', - 'Add at least one invitee': 'Add at least one invitee', - 'Add client identifier': 'Add client identifier', - 'Add expiration tags by default': 'Add expiration tags by default', - 'Add quiet tags by default': 'Add quiet tags by default', - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above': - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above', - 'Add the source (where this text is from)': 'Add the source (where this text is from)', - 'Add to favorites': 'Add to favorites', - 'Add {{count}} Selected': 'Add {{count}} Selected', - 'Added at': 'Added at', - 'Added {{count}} relay(s)': 'Added {{count}} relay(s)', - 'Adding...': 'Adding...', - 'Adding…': 'Adding…', - 'Advanced Options': 'Advanced Options', - 'All Topics': 'All Topics', - 'All feeds from OPML file are already added': 'All feeds from OPML file are already added', - 'All items deleted successfully': 'All items deleted successfully', - 'Already blocked': 'Already blocked', - 'Already saved': 'Already saved', - 'Application Recommendations': 'Application Recommendations', - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.': - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.', - 'Are you sure you want to delete all items from this store?': - 'Are you sure you want to delete all items from this store?', - 'Are you sure you want to unmute this user? This will restore the follow button.': - 'Are you sure you want to unmute this user? This will restore the follow button.', - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", - 'Article exported as AsciiDoc': 'Article exported as AsciiDoc', - 'Article exported as Markdown': 'Article exported as Markdown', - 'Article title (optional)': 'Article title (optional)', - articleDTagDefaultHint: - 'Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….', - Audio: 'Audio', - Author: 'Author', - 'Author is required for reading groups': 'Author is required for reading groups', - 'Author name (optional)': 'Author name (optional)', - Authors: 'Authors', - 'Block Relay': 'Block Relay', - 'Blocked Relays': 'Blocked Relays', - 'Blocking...': 'Blocking...', - Blossom: 'Blossom', - Book: 'Book', - 'Brief description of the event': 'Brief description of the event', - 'Brief summary (optional)': 'Brief summary (optional)', - 'Brief summary of the article (optional)': 'Brief summary of the article (optional)', - 'Browse Cache': 'Browse Cache', - 'C-Tag': 'C-Tag', - 'Cache Relays': 'Cache Relays', - 'Cache cleared successfully': 'Cache cleared successfully', - 'Cache refreshed successfully': 'Cache refreshed successfully', - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.': - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.', - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)': - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)', - 'Cache relays saved': 'Cache relays saved', - Cancelled: 'Cancelled', - Chapter: 'Chapter', - 'Chapter Title': 'Chapter Title', - 'Chapter title (optional)': 'Chapter title (optional)', - Citation: 'Citation', - 'Citation title (optional)': 'Citation title (optional)', - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.': - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})', - 'Cleanup Duplicates': 'Cleanup Duplicates', - Clear: 'Clear', - 'Clear Cache': 'Clear Cache', - 'Clear Service Worker': 'Clear Service Worker', - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.': - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.', - 'Click update to get the latest features and improvements': - 'Click update to get the latest features and improvements', - Close: 'Close', - 'Comma or space-separated topics (will be added as t-tags)': - 'Comma or space-separated topics (will be added as t-tags)', - Command: 'Command', - Configure: 'Configure', - 'Connect Wallet': 'Connect Wallet', - 'Console Logs': 'Console Logs', - 'Console logs cleared': 'Console logs cleared', - 'Content is required': 'Content is required', - 'Content must be 5000 characters or less': 'Content must be 5000 characters or less', - Controversial: 'Controversial', - 'Copied!': 'Copied!', - 'Copy to clipboard': 'Copy to clipboard', - 'Create Article': 'Create Article', - 'Create Citation': 'Create Citation', - 'Create Highlight': 'Create Highlight', - 'Create New Thread': 'Create New Thread', - 'Create Poll': 'Create Poll', - 'Create Thread': 'Create Thread', - composeModeKind1: 'Short note (kind 1) — turn off other compose types', - 'Create a Spell': 'Create a Spell', - 'Creating...': 'Creating...', - 'D-Tag': 'D-Tag', - 'D-Tag is required for articles': 'D-Tag is required for articles', - DOI: 'DOI', - 'Date-based (all-day)': 'Date-based (all-day)', - 'Default expiration (months)': 'Default expiration (months)', - 'Default quiet period (days)': 'Default quiet period (days)', - 'Delete All': 'Delete All', - 'Delete item': 'Delete item', - 'Deleted {{count}} event(s)': 'Deleted {{count}} event(s)', - 'Deletion request sent': 'Deletion request sent', - 'Description (content)': 'Description (content)', - 'Digital Object Identifier (optional)': 'Digital Object Identifier (optional)', - 'Disable word wrap': 'Disable word wrap', - 'Discovered Relays': 'Discovered Relays', - 'Discovering relays...': 'Discovering relays...', - Discussion: 'Discussion', - Discussions: 'Discussions', - Downvote: 'Downvote', - 'Edited by': 'Edited by', - Editor: 'Editor', - 'Editor name (optional)': 'Editor name (optional)', - 'Enable word wrap': 'Enable word wrap', - 'End date': 'End date', - 'End date must be after start date': 'End date must be after start date', - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.': - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.', - 'Enter a descriptive title for your thread': 'Enter a descriptive title for your thread', - 'Enter the author name': 'Enter the author name', - 'Enter the book title': 'Enter the book title', - 'Enter the specific text you want to highlight in the main content area above': - 'Enter the specific text you want to highlight in the main content area above', - 'Event IDs (ids)': 'Event IDs (ids)', - 'Event appears to be invalid or corrupted': 'Event appears to be invalid or corrupted', - 'Event has no value data': 'Event has no value data', - 'Event is missing required fields: {{fields}}': 'Event is missing required fields: {{fields}}', - 'Event type': 'Event type', - 'Expiration Tags': 'Expiration Tags', - 'Export OPML': 'Export OPML', - 'Export as AsciiDoc': 'Export as AsciiDoc', - 'Export as Markdown': 'Export as Markdown', - 'External Citation': 'External Citation', - 'External Citation Settings': 'External Citation Settings', - 'Failed to add relay. Please try again.': 'Failed to add relay. Please try again.', - 'Failed to add relays': 'Failed to add relays', - 'Failed to block relay. Please try again.': 'Failed to block relay. Please try again.', - 'Failed to cleanup duplicates': 'Failed to cleanup duplicates', - 'Failed to clear cache': 'Failed to clear cache', - 'Failed to copy': 'Failed to copy', - 'Failed to create relay set. Please try again.': - 'Failed to create relay set. Please try again.', - 'Failed to create thread': 'Failed to create thread', - 'Failed to create thread. Please try a different relay.': - 'Failed to create thread. Please try a different relay.', - 'Failed to delete all items': 'Failed to delete all items', - 'Failed to delete item': 'Failed to delete item', - 'Failed to discover relays': 'Failed to discover relays', - 'Failed to export OPML file': 'Failed to export OPML file', - 'Failed to export article': 'Failed to export article', - 'Failed to import OPML file: {{error}}': 'Failed to import OPML file: {{error}}', - 'Failed to load RSS feeds': 'Failed to load RSS feeds', - 'Failed to load store items': 'Failed to load store items', - 'Failed to mute user privately': 'Failed to mute user privately', - 'Failed to mute user publicly': 'Failed to mute user publicly', - 'Failed to pin note': 'Failed to pin note', - 'Failed to publish post': 'Failed to publish post', - 'Failed to publish reply': 'Failed to publish reply', - 'Failed to publish thread': 'Failed to publish thread', - 'Failed to publish to some relays. Please try again or use different relays.': - 'Failed to publish to some relays. Please try again or use different relays.', - 'Failed to save RSS feeds': 'Failed to save RSS feeds', - 'Failed to save cache relays': 'Failed to save cache relays', - 'Failed to save relay list': 'Failed to save relay list', - 'Failed to unregister service worker: ': 'Failed to unregister service worker: ', - 'Failed to unsubscribe from topic': 'Failed to unsubscribe from topic', - Favorite: 'Favorite', - Fetch: 'Fetch', - 'Fetch once, then stop.': 'Fetch once, then stop.', - 'Filter by': 'Filter by', - 'Flat View': 'Flat View', - 'Font size': 'Font size', - 'Full Quote/Context': 'Full Quote/Context', - 'Full-text search query': 'Full-text search query', - Geohash: 'Geohash', - 'Geohash (optional)': 'Geohash (optional)', - 'Global quiet mode': 'Global quiet mode', - 'Group discussions by topic': 'Group discussions by topic', - 'Grouped View': 'Grouped View', - Groups: 'Groups', - 'Handler {{index}}': 'Handler {{index}}', - 'Hardcopy Citation': 'Hardcopy Citation', - 'Hardcopy Citation Settings': 'Hardcopy Citation Settings', - Hide: 'Hide', - 'Hide interactions on all posts': 'Hide interactions on all posts', - 'Hide interactions on posts with quiet tags': 'Hide interactions on posts with quiet tags', - 'High PoW': 'High PoW', - 'Higher values make your thread harder to mine but more unique.': - 'Higher values make your thread harder to mine but more unique.', - Highlight: 'Highlight', - 'Highlight Settings': 'Highlight Settings', - 'How to Create a Highlight (NIP-84)': 'How to Create a Highlight (NIP-84)', - 'Human-readable spell name': 'Human-readable spell name', - 'Image URL': 'Image URL', - 'Import OPML': 'Import OPML', - 'Imported {{count}} feed(s) from OPML file': 'Imported {{count}} feed(s) from OPML file', - 'In-Browser Cache': 'In-Browser Cache', - Insert: 'Insert', - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).': - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).', - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.': - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.', - 'Insert event or address': 'Insert event or address', - 'Insert mention': 'Insert mention', - 'Internal Citation': 'Internal Citation', - 'Internal Citation Settings': 'Internal Citation Settings', - 'Invalid Event': 'Invalid Event', - 'Invalid Lightning Address': 'Invalid Lightning Address', - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.': - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.', - 'Invalid URL': 'Invalid URL', - 'Invalid content JSON': 'Invalid content JSON', - 'Invalid relay URL': 'Invalid relay URL', - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.': - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.', - 'Item deleted successfully': 'Item deleted successfully', - JSON: 'JSON', - 'Join link': 'Join link', - 'Journal/Publication name (optional)': 'Journal/Publication name (optional)', - Json: 'JSON', - Kinds: 'Kinds', - 'Language Model': 'Language Model', - Large: 'Large', - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link': - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link', - 'Lightning payment failed': 'Lightning payment failed', - Limit: 'Limit', - 'Live feed; keeps updating.': 'Live feed; keeps updating.', - 'Loading more...': 'Loading more...', - 'Loading relays...': 'Loading relays...', - 'Location (optional)': 'Location (optional)', - 'Log in to run this spell (it uses $me or $contacts).': - 'Log in to run this spell (it uses $me or $contacts).', - 'Login failed': 'Login failed', - 'Login to configure RSS feeds': 'Login to configure RSS feeds', - 'Long-form Article': 'Long-form Article', - 'Mailbox relays saved': 'Mailbox relays saved', - 'Mark as NSFW': 'Mark as NSFW', - 'Maximum {{max}} invitees': 'Maximum {{max}} invitees', - 'Maximum {{max}} invitees allowed': 'Maximum {{max}} invitees allowed', - Medium: 'Medium', - Mode: 'Mode', - 'Most Zapped': 'Most Zapped', - 'Move to top': 'Move to top', - 'Multiple choice': 'Multiple choice', - 'Mute failed': 'Mute failed', - NSFW: 'NSFW', - Name: 'Name', - 'Name of the language model used': 'Name of the language model used', - 'New External Citation': 'New External Citation', - 'New Hardcopy Citation': 'New Hardcopy Citation', - 'New Highlight': 'New Highlight', - 'New Internal Citation': 'New Internal Citation', - 'New Long-form Article': 'New Long-form Article', - 'New Poll': 'New Poll', - 'New Discussion': 'New Discussion', - 'New Prompt Citation': 'New Prompt Citation', - 'New Public Message': 'New Public Message', - 'New Wiki Article': 'New Wiki Article', - 'New Wiki Article (Markdown)': 'New Wiki Article (Markdown)', - Newest: 'Newest', - 'No JSON available': 'No JSON available', - 'No RSS feeds found in OPML file': 'No RSS feeds found in OPML file', - 'No cached data found.': 'No cached data found.', - 'No console logs captured yet': 'No console logs captured yet', - 'No events found': 'No events found', - 'No feeds configured. Default feed will be used.': - 'No feeds configured. Default feed will be used.', - 'No feeds to export': 'No feeds to export', - 'No groups available. Join some groups first.': 'No groups available. Join some groups first.', - 'No items in this store.': 'No items in this store.', - 'No items match your search.': 'No items match your search.', - 'No logs match the current filters': 'No logs match the current filters', - 'No posts found': 'No posts found', - 'No posts match your search': 'No posts match your search', - 'No relays available. Please configure relays in settings.': - 'No relays available. Please configure relays in settings.', - 'No service workers or caches found for this app': - 'No service workers or caches found for this app', - 'No users found': 'No users found', - 'No valid RSS feed URLs found in OPML file': 'No valid RSS feed URLs found in OPML file', - 'Note pinned': 'Note pinned', - 'Note unpinned': 'Note unpinned', - Oldest: 'Oldest', - 'Open Timestamp': 'Open Timestamp', - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.': - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.', - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.': - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.', - Optional: 'Optional', - 'Optional image for the event': 'Optional image for the event', - 'Optionally, add the full quote/context to show your highlight within it': - 'Optionally, add the full quote/context to show your highlight within it', - PM: 'PM', - 'Page Range': 'Page Range', - Pages: 'Pages', - 'Paste URL of a GIF': 'Paste URL of a GIF', - 'Paste URL of a meme image': 'Paste URL of a meme image', - 'Paste the entire original passage that contains your highlight': - 'Paste the entire original passage that contains your highlight', - Photo: 'Photo', - 'Picture Note': 'Picture Note', - 'Pin note': 'Pin note', - 'Plain text description of the query': 'Plain text description of the query', - 'Please login to view bookmarks': 'Please login to view bookmarks', - 'Please select a group': 'Please select a group', - 'Please select at least one relay': 'Please select at least one relay', - 'Please set a start date': 'Please set a start date', - 'Poll with no options': 'Poll with no options', - 'Post published to some relays': 'Post published to some relays', - 'Posts will automatically include expiration tags': - 'Posts will automatically include expiration tags', - 'Posts will automatically include quiet tags': 'Posts will automatically include quiet tags', - 'Posts will be quiet for this many days': 'Posts will be quiet for this many days', - 'Posts will expire after this many months': 'Posts will expire after this many months', - 'Processing...': 'Processing...', - 'Profile event not available': 'Profile event not available', - 'Prompt Citation': 'Prompt Citation', - 'Prompt Citation Settings': 'Prompt Citation Settings', - 'Prompt Conversation Script': 'Prompt Conversation Script', - 'Proof of Work': 'Proof of Work', - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post': - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post', - 'Publish to Relays': 'Publish to Relays', - 'Published By': 'Published By', - 'Published In': 'Published In', - 'Published On': 'Published On', - 'Published in': 'Published in', - 'Published on': 'Published on', - 'Publisher name (optional)': 'Publisher name (optional)', - 'Quiet Tags': 'Quiet Tags', - 'RSS Feed': 'RSS Feed', - 'RSS + Web': 'RSS + Web', - 'RSS feed source': 'RSS feed source', - 'All feed sources': 'All feed sources', - 'RSS feed view mode': 'RSS feed view mode', - 'Article URLs': 'Article URLs', - 'Article URLs subtitle': - 'One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.', - 'Article URLs Nostr manual subtitle': - 'Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.', - 'RSS feed column title': 'RSS & linked articles', - 'RSS feed column subtitle': - 'Feed entries and article cards that include at least one item from your subscribed RSS feeds.', - 'RSS timeline': 'RSS timeline', - 'RSS timeline subtitle': - 'Every item from your subscribed feeds, newest first — classic RSS reader.', - URLs: 'URLs', - RSS: 'RSS', - 'No URL-only items yet': 'No URL-only items yet', - 'Respond to this RSS entry': 'Respond to this RSS entry', - 'RSS read-only thread hint': - 'Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.', - 'RSS feed item label': 'RSS', - 'Web URL item label': 'Web URL', - 'URL thread activity': 'URL thread activity', - 'Suppress Clawstr links in RSS previews': 'Hide clawstr.com in RSS and URL feed', - 'Hide local, media & feed URLs from URL cards': - 'Hide local, media, feed, document & XML links from the feed', - 'RSS articles': 'RSS articles', - 'Web comments': 'Web comments', - 'Web highlights': 'Web highlights', - 'In your bookmarks': 'In your bookmarks', - '{{count}} RSS entries for this URL': '{{count}} RSS entries for this URL', - '{{count}} entries for this article URL': '{{count}} entries for this article URL', - 'No comments yet': 'No comments yet', - 'No highlights yet': 'No highlights yet', - 'Showing {{filtered}} of {{total}} entries': 'Showing {{filtered}} of {{total}} entries', - standardRssFeed_spotifeed: 'Spotify playlist (Spotifeed)', - standardRssFeed_youtube: 'YouTube feed', - standardRssFeed_youtubeChannel: 'YouTube channel feed', - standardRssFeed_youtubePlaylist: 'YouTube playlist feed', - standardRssFeed_feedburner: 'FeedBurner', - standardRssFeed_reddit: 'Reddit RSS', - standardRssFeed_substack: 'Substack', - standardRssFeed_medium: 'Medium', - 'RSS Feed Settings': 'RSS Feed Settings', - 'Follow sets': 'Follow sets', - 'Follow sets settings intro': - 'NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.', - 'New follow set': 'New follow set', - 'Edit follow set': 'Edit follow set', - 'No follow sets yet': 'You have not created any follow sets yet.', - 'Follow set saved': 'Follow set saved', - 'Follow set deleted': 'Follow set deleted', - 'Failed to load follow sets': 'Failed to load follow sets', - members: 'members', - 'Optional display title': 'Optional display title', - 'List id (d tag)': 'List id (d tag)', - 'Follow set d tag hint': - 'Stable identifier for this list. It cannot be changed after the first publish.', - 'People in this list': 'People in this list', - 'Delete follow set?': 'Delete this follow set?', - 'Delete follow set confirm': - 'This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.', - 'Remove feed': 'Remove feed', - 'RSS Feeds': 'RSS Feeds', - 'RSS feeds exported to OPML file': 'RSS feeds exported to OPML file', - 'RSS feeds saved': 'RSS feeds saved', - 'Rate limited. Please wait before trying again.': - 'Rate limited. Please wait before trying again.', - 'Reaction published': 'Reaction published', - 'Reaction removed': 'Reaction removed', - 'Read full article': 'Read full article', - 'Reading group entry': 'Reading group entry', - 'Readings Options': 'Readings Options', - Recipients: 'Recipients', - 'Recipients detected from your message:': 'Recipients detected from your message:', - 'Recommended Relays': 'Recommended Relays', - 'Recommended applications for handling events of kind {{kind}}': - 'Recommended applications for handling events of kind {{kind}}', - 'Reference to the cited Nostr event in kind:pubkey:hex format': - 'Reference to the cited Nostr event in kind:pubkey:hex format', - 'Refresh Cache': 'Refresh Cache', - 'Refreshing posts...': 'Refreshing posts...', - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.': - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.', - Relay: 'Relay', - 'Relay Hint': 'Relay Hint', - 'Relay URL (optional)': 'Relay URL (optional)', - 'Relay blocked successfully': 'Relay blocked successfully', - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.': - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.', - 'Relay set options': 'Relay set options', - 'Remove from favorites': 'Remove from favorites', - Rendered: 'Rendered', - 'Reply published': 'Reply published', - 'Reply published to some relays': 'Reply published to some relays', - 'Reply to Public Message': 'Reply to Public Message', - 'Republish to all active relays': 'Republish to all active relays', - 'Republish to all available relays': 'Republish to all available relays', - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.': - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.', - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.': - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.', - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Respect quiet tags': 'Respect quiet tags', - 'Search (NIP-50)': 'Search (NIP-50)', - 'Search by name or npub…': 'Search by name or npub…', - 'Search calendar, publications, wiki…': 'Search calendar, publications, wiki…', - 'Search for user…': 'Search for user…', - 'Search items...': 'Search items...', - 'Search logs...': 'Search logs...', - 'Search notes, threads, long-form…': 'Search notes, threads, long-form…', - 'Search on GifBuddy': 'Search on GifBuddy', - 'Search on Meme Amigo': 'Search on Meme Amigo', - 'Search posts...': 'Search posts...', - 'Search threads by title, content, tags, npub, author...': - 'Search threads by title, content, tags, npub, author...', - 'Searching all available relays...': 'Searching all available relays...', - 'Searching…': 'Searching…', - 'See reference': 'See reference', - 'Select Group': 'Select Group', - 'Select Media Type': 'Select Media Type', - 'Select group...': 'Select group...', - 'Select relays': 'Select relays', - 'Publish relay cap hint': - 'At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Publish relay cap hint with outbox first': - 'At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Select the group where you want to create this discussion.': - 'Select the group where you want to create this discussion.', - 'Select topic...': 'Select topic...', - 'Selected text': 'Selected text', - 'Send Public Message': 'Send Public Message', - 'Send a Lightning payment to this user': 'Send a Lightning payment to this user', - 'Service worker caches cleared. Please reload the page.': - 'Service worker caches cleared. Please reload the page.', - 'Service worker unregistered and caches cleared. Please reload the page.': - 'Service worker unregistered and caches cleared. Please reload the page.', - 'Service worker unregistered. Please reload the page.': - 'Service worker unregistered. Please reload the page.', - 'Share your thoughts, ask questions, or start a discussion...': - 'Share your thoughts, ask questions, or start a discussion...', - 'Short Video Note': 'Short Video Note', - 'Show RSS Feed': 'Show RSS Feed', - 'Show all discussions in a single list': 'Show all discussions in a single list', - 'Show less': 'Show less', - Since: 'Since', - Small: 'Small', - 'Some relays have temporarily disabled writes.': - 'Some relays have temporarily disabled writes.', - Source: 'Source', - 'Spell definition': 'Spell definition', - 'Spell published': 'Spell published', - 'Start date': 'Start date', - 'Start typing to see a preview...': 'Start typing to see a preview...', - 'Subject (Book Title)': 'Subject (Book Title)', - 'Subject (book title) is required for reading groups': - 'Subject (book title) is required for reading groups', - 'Subject / Topics': 'Subject / Topics', - Subscribe: 'Subscribe', - Subscribed: 'Subscribed', - 'Subscribed to topic': 'Subscribed to topic', - 'Subscribed to topic (local)': 'Subscribed to topic (local)', - 'Subscribing...': 'Subscribing...', - Summary: 'Summary', - 'Supported Event Types': 'Supported Event Types', - 'Take a note': 'Take a note', - 'The full prompt conversation (optional)': 'The full prompt conversation (optional)', - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.': - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.', - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.': - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.', - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.': - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.', - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a Nostr event of kind {{kind}}.': - 'This GIF was found in a Nostr event of kind {{kind}}.', - 'This file could be either audio or video. Please select the correct type:': - 'This file could be either audio or video. Please select the correct type:', - 'This store does not contain replaceable events': - 'This store does not contain replaceable events', - 'This will add additional tags for author and subject to help organize reading group discussions.': - 'This will add additional tags for author and subject to help organize reading group discussions.', - 'Thread Content': 'Thread Content', - 'Thread Title': 'Thread Title', - 'Thread creation timed out. Please try again.': 'Thread creation timed out. Please try again.', - 'Thread published': 'Thread published', - 'Threads are organized by topics. Choose a topic that best fits your discussion.': - 'Threads are organized by topics. Choose a topic that best fits your discussion.', - 'Time-based': 'Time-based', - 'Title is required': 'Title is required', - 'Title must be 100 characters or less': 'Title must be 100 characters or less', - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.': - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.', - Top: 'Top', - Topic: 'Topic', - URL: 'URL', - 'URL of the article cover image (optional)': 'URL of the article cover image (optional)', - 'Unique identifier for this article (required)': - 'Unique identifier for this article (required)', - 'Unmute failed': 'Unmute failed', - 'Unpin note': 'Unpin note', - Unsubscribe: 'Unsubscribe', - 'Unsubscribed from topic': 'Unsubscribed from topic', - 'Unsubscribing...': 'Unsubscribing...', - Until: 'Until', - Untitled: 'Untitled', - Update: 'Update', - 'Updating...': 'Updating...', - 'Upload Audio Comment': 'Upload Audio Comment', - 'Upload Audio Message': 'Upload Audio Message', - 'Upload Media': 'Upload Media', - Upvote: 'Upvote', - 'User unmuted': 'User unmuted', - 'Version number (optional)': 'Version number (optional)', - Video: 'Video', - 'Video Note': 'Video Note', - 'Video file': 'Video file', - 'View Console Logs': 'View Console Logs', - 'View JSON': 'View JSON', - 'View cached items in this store.': 'View cached items in this store.', - 'View definition': 'View definition', - 'View details about cached data in IndexedDB stores. Click on a store to view its items.': - 'View details about cached data in IndexedDB stores. Click on a store to view its items.', - 'View on Alexandria': 'View on Alexandria', - 'View on DecentNewsroom': 'View on DecentNewsroom', - 'View on Wikistr': 'View on Wikistr', - 'View recent console logs for debugging': 'View recent console logs for debugging', - 'Voice Comment': 'Voice Comment', - 'Voice Note': 'Voice Note', - 'Voice note or audio file': 'Voice note or audio file', - Volume: 'Volume', - 'Volume number (optional)': 'Volume number (optional)', - 'Vote published': 'Vote published', - 'Vote removed': 'Vote removed', - 'Website where LLM was accessed (optional)': 'Website where LLM was accessed (optional)', - 'Wiki Article (AsciiDoc)': 'Wiki Article (AsciiDoc)', - 'Wiki Article (Markdown)': 'Wiki Article (Markdown)', - 'You can only delete your own notes': 'You can only delete your own notes', - 'You must be logged in to create a thread': 'You must be logged in to create a thread', - 'You need to add at least one media server in order to upload media files.': - 'You need to add at least one media server in order to upload media files.', - 'You need to login first': 'You need to login first', - 'Your account is blocked from posting to this relay.': - 'Your account is blocked from posting to this relay.', - Zap: 'Zap', - 'Zap failed': 'Zap failed', - created_at: 'created_at', - 'e tag of kind 1040 event (optional)': 'e tag of kind 1040 event (optional)', - 'e.g. meetup, conference': 'e.g. meetup, conference', - 'e.g., 123-145 (optional)': 'e.g., 123-145 (optional)', - 'e.g., GPT-4, Claude, etc. (required)': 'e.g., GPT-4, Claude, etc. (required)', - 'e.g., my-article-title': 'e.g., my-article-title', - entries: 'entries', - 'from Bunker': 'from Bunker', - 'from Extension': 'from Extension', - 'from NIP-05': 'from NIP-05', - general: 'general', - 'https://example.com (required)': 'https://example.com (required)', - 'https://example.com/image.jpg': 'https://example.com/image.jpg', - id: 'id', - items: 'items', - kind: 'kind', - 'kind:pubkey:hex format (required)': 'kind:pubkey:hex format (required)', - 'last updated': 'last updated', - matching: 'matching', - naddr: 'naddr', - nevent: 'nevent', - 'nevent1..., naddr1..., note1..., hex ID, or https://...': - 'nevent1..., naddr1..., note1..., hex ID, or https://...', - 'no notes found': 'no notes found', - of: 'of', - 'on note': 'on note', - optional: 'optional', - pubkey: 'pubkey', - 'sent a public message': 'sent a public message', - 'sent you a public message': 'sent you a public message', - 'sent you a public message (along with {{count}} others)': - 'sent you a public message (along with {{count}} others)', - sig: 'sig', - 'started a discussion in {{topic}}': 'started a discussion in {{topic}}', - tags: 'tags', - thread: 'thread', - threads: 'threads', - 'topic1, topic2, topic3': 'topic1, topic2, topic3', - '{{count}} relay(s) selected': '{{count}} relay(s) selected', - '🔞 NSFW 🔞': '🔞 NSFW 🔞', - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).': - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).', - 'Failed to refresh': 'Failed to refresh', - 'Invalid article link.': 'Invalid article link.', - Likes: 'Likes', - 'Loading…': 'Loading…', - 'Missing pubkey': 'Missing pubkey', - 'No RSS feed list found on relays': 'No RSS feed list found on relays', - 'Pinned posts': 'Pinned posts', - 'Publishing...': 'Publishing...', - 'RSS article': 'RSS article', - 'RSS feed list refreshed': 'RSS feed list refreshed', - 'Save or discard your changes before refreshing from relays': - 'Save or discard your changes before refreshing from relays', - 'Suggested topics': 'Suggested topics', - 'Synthetic event (no author)': 'Synthetic event (no author)', - 'Topic is required': 'Topic is required', - 'Type a topic or pick from the list': 'Type a topic or pick from the list', - profileEditorRefreshCacheHint: 'profileEditorRefreshCacheHint', - startupSessionHydrating: 'startupSessionHydrating' - } -} diff --git a/src/i18n/locales/ko.ts b/src/i18n/locales/ko.ts deleted file mode 100644 index f5f3c1d3..00000000 --- a/src/i18n/locales/ko.ts +++ /dev/null @@ -1,1835 +0,0 @@ -export default { - translation: { - 'Welcome! 🥳': '환영합니다! 🥳', - About: '정보', - 'New Note': '새 노트 작성', - Post: '노트 게시', - Home: '홈', - Feed: 'Feed', - 'Favorite Relays': '즐겨찾는 릴레이', - 'Relay pulse': 'Relay pulse', - 'Relay pulse empty': 'Quiet on your relays in the last hour.', - 'Relay pulse follows': 'Following ({{count}})', - 'Relay pulse others': 'Others ({{count}})', - 'Relay pulse updated': 'Updated {{relative}}', - 'Relay pulse active npubs': 'Active npubs', - 'Relay pulse active npubs hint': - 'Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).', - 'Relay pulse drawer following': 'Following', - 'Relay pulse drawer others': 'Others', - 'Relay pulse drawer no profiles': 'No kind 0 profiles loaded for this sample yet.', - 'See the newest notes from your follows': 'See the newest notes from your follows', - 'All favorite relays': '모든 즐겨찾는 릴레이', - 'Pinned note': 'Pinned note', - 'Relay settings': '릴레이 설정', - Settings: '설정', - 'Account menu': 'Account menu', - SidebarRelays: '릴레이', - Refresh: '새로고침', - 'refresh.longPressHardReload': 'Long-press: reload app and restore feed cache', - 'link.expandNostrEmbed': 'Show Nostr preview', - Profile: '프로필', - Logout: '로그아웃', - Following: '팔로잉', - followings: '팔로잉', - boosted: '부스트함', - 'Boosted by:': 'Boosted by:', - 'just now': '방금 전', - 'n minutes ago': '{{n}}분 전', - 'n m': '{{n}}분', - 'n hours ago': '{{n}}시간 전', - 'n h': '{{n}}시간', - 'n days ago': '{{n}}일 전', - 'n d': '{{n}}일', - date: '{{timestamp, date}}', - Follow: '팔로우', - Unfollow: '언팔로우', - 'Follow failed': '팔로우 실패', - 'Unfollow failed': '언팔로우 실패', - 'show new notes': '새 노트 보기', - 'loading...': '로딩 중...', - 'Loading...': '로딩 중...', - 'no more notes': '더 이상 노트 없음', - 'calendar entries': 'calendar entries', - 'Loading calendar events...': 'Loading calendar events...', - 'No calendar events found': 'No calendar events found', - 'Calendar events in the next {{count}} months': 'Calendar events in the next {{count}} months', - 'The nostr.band relay appears to be temporarily out of service. Please try again later.': - 'The nostr.band relay appears to be temporarily out of service. Please try again later.', - 'reply to': '답글', - reply: '답글', - Reply: '답글', - 'load more older replies': '이전 답글 더 보기', - 'Write something...': '무엇인가 작성하세요...', - Cancel: '취소', - Mentions: '멘션', - 'Search for event or address…': 'Search for event or address…', - 'Search notes…': 'Search notes…', - 'No notes found': 'No notes found', - 'Failed to post': '게시 실패', - 'Post successful': '게시 성공', - 'Your post has been published': '게시물이 게시되었습니다', - Boost: '부스트', - 'Boost published': '부스트가 게시되었습니다', - Quote: '인용', - 'Copy event ID': '이벤트 ID 복사', - 'Copy user ID': '사용자 ID 복사', - 'Send public message': 'Send public message', - 'View raw event': '원본 이벤트 보기', - 'Edit this event': 'Edit this event', - 'Clone or fork this event': 'Clone or fork this event', - 'Event kind': 'Event kind', - 'Note content': 'Note content', - Publish: 'Publish', - 'Post published': 'Post published', - 'Edit content and tags, then publish a new signed event.': - 'Edit content and tags, then publish a new signed event.', - 'Log in to publish': 'Log in to publish', - 'Set when you publish': 'set when you publish', - 'id and sig are assigned when you publish': 'id and sig are assigned when you publish', - 'Published to some relays only': 'Published to some relays only', - 'Add field': 'Add field', - 'View full profile': 'View full profile', - Like: '좋아요', - 'switch to light theme': '라이트 테마로 전환', - 'switch to dark theme': '다크 테마로 전환', - 'switch to system theme': '시스템 테마로 전환', - Note: '노트', - note: '노트', - "username's following": '{{username}}님의 팔로잉', - "username's used relays": '{{username}}님이 사용하는 릴레이', - "username's muted": '{{username}}님이 차단한 사용자', - Login: '로그인', - downloadDesktopApp: 'Download app', - 'Please log in to view notifications.': 'Please log in to view notifications.', - 'Follows you': '회원님을 팔로우함', - 'Relay Settings': '릴레이 설정', - 'Relays and Storage Settings': 'Relays and Storage Settings', - 'Relay set name': '릴레이 세트 이름', - 'Add a new relay set': '새 릴레이 세트 추가', - Add: '추가', - 'n relays': '{{n}}개의 릴레이', - Rename: '이름 변경', - 'Copy share link': 'Copy share link', - 'Copy address': 'Copy address', - 'Copy payto URI': 'Copy payto URI', - 'Copied payto address': 'Copied payto address', - 'Copied to clipboard': 'Copied to clipboard', - 'Copied {{label}} address': 'Copied {{label}} address', - 'Lightning payment address – copy to pay via your wallet': - 'Lightning payment address – copy to pay via your wallet', - 'Payment address – copy to use in your wallet or app': - 'Payment address – copy to use in your wallet or app', - 'Click to open payment options': 'Click to open payment options', - 'Click to copy address': 'Click to copy address', - 'Open on website': 'Open on website', - 'Raw profile event': 'Raw profile event', - 'Full profile event': 'Full profile event', - 'Event (JSON)': 'Event (JSON)', - 'Save full profile': 'Save full profile', - 'Add tag': 'Add tag', - 'Remove tag': 'Remove tag', - 'Tag name': 'Tag name', - Value: 'Value', - 'Add value to tag': 'Add value to tag', - 'Remove value': 'Remove value', - 'No tags. Click "Add tag" to add one.': 'No tags. Click "Add tag" to add one.', - 'Profile updated': 'Profile updated', - 'Failed to publish profile': 'Failed to publish profile', - 'Invalid profile JSON': 'Invalid profile JSON', - 'Refresh cache': 'Refresh cache', - 'Force-refresh profile and payment info from relays': - 'Force-refresh profile and payment info from relays', - 'Profile and payment cache refreshed': 'Profile and payment cache refreshed', - 'Failed to refresh cache': 'Failed to refresh cache', - 'Raw payment info event': 'Raw payment info event', - 'Payment info': 'Payment info', - 'Edit payment info': 'Edit payment info', - 'Add payment info': 'Add payment info', - 'No payment info event yet. Click "Add payment info" to create one.': - 'No payment info event yet. Click "Add payment info" to create one.', - 'Content (JSON)': 'Content (JSON)', - Tags: 'Tags', - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])': - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])', - 'Payment info updated': 'Payment info updated', - 'Failed to publish payment info': 'Failed to publish payment info', - 'Invalid tags JSON': 'Invalid tags JSON', - 'Payment methods': 'Payment methods', - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).': - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).', - 'Type (e.g. lightning)': 'Type (e.g. lightning)', - 'Authority (e.g. user@domain.com)': 'Authority (e.g. user@domain.com)', - 'Add payment method': 'Add payment method', - Remove: 'Remove', - 'Additional content (JSON)': 'Additional content (JSON)', - 'Show full event JSON': 'Show full event JSON', - 'Tag list': 'Tag list', - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.': - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.', - 'Tag value': 'Tag value', - 'Saving…': 'Saving…', - 'Share with Imwald': 'Imwald로 공유', - 'Share with Alexandria': 'Alexandria로 공유', - 'Start video call': 'Start video call', - 'Copy call invite link': 'Copy call invite link', - 'Start call about this': 'Start call about this', - 'Send call invite': 'Send call invite', - 'Read this note aloud': 'Read this note aloud', - 'Read-aloud is not supported in this browser': 'Read-aloud is not supported in this browser', - 'Nothing to read aloud': 'Nothing to read aloud', - 'Read-aloud failed': 'Read-aloud failed', - 'Read aloud': 'Read aloud', - 'Read-aloud idle': 'Idle', - 'Preparing read-aloud…': 'Preparing read-aloud…', - 'Requesting audio…': 'Requesting audio…', - 'Loading audio…': 'Loading audio…', - Playing: 'Playing', - Paused: 'Paused', - 'Read-aloud finished': 'Finished', - 'Read-aloud error': 'Error', - 'TTS endpoint': 'TTS endpoint', - 'Using browser speech synthesis': 'Using browser speech synthesis', - 'Read-aloud section progress': 'Section {{current}} of {{total}}', - 'Request sent': 'Request sent', - 'Response received': 'Response received', - 'Playback started': 'Playback started', - Characters: 'Characters', - Pause: 'Pause', - Play: 'Play', - Stop: 'Stop', - 'Read-aloud sections': 'Read-aloud sections', - 'Read-aloud overall progress': 'Overall progress', - 'Read-aloud section done': 'Section {{index}}: finished', - 'Read-aloud section pending': 'Section {{index}}: not started yet', - 'Read-aloud section fetching': 'Section {{index}}: requesting audio', - 'Read-aloud section preparing audio': 'Section {{index}}: loading audio', - 'Read-aloud section playing': 'Section {{index}}: playing', - 'Read-aloud section paused': 'Section {{index}}: paused', - 'Read-aloud legend fetching': 'Requesting audio for this section from the server…', - 'Read-aloud legend buffering': 'Decoding audio for this section…', - 'Read-aloud legend playing': 'Playing this section.', - 'Read-aloud legend paused': 'Playback paused.', - 'Read-aloud Piper fallback notice': - 'Server voice (Piper) could not be used. Playing with your browser voice instead.', - 'Read-aloud Piper fallback detail label': 'Piper error', - 'Read-aloud Piper status region': 'Piper text-to-speech status', - 'Read-aloud Piper status heading': 'Piper (server voice)', - 'Read-aloud Piper skipped notice': - 'No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.', - 'Read-aloud Piper attempt started': - 'Piper was started at {{time}} (this read-aloud used the server first).', - 'Read-aloud Piper endpoint tried': 'URL used: {{url}}', - 'Join the video call': 'Join the video call', - 'Schedule video call': 'Schedule video call', - "You're invited to a scheduled video call.": "You're invited to a scheduled video call.", - 'Create a calendar event and send an invite. The recipient will see the event with a join link.': - 'Create a calendar event and send an invite. The recipient will see the event with a join link.', - 'Schedule a video call': 'Schedule a video call', - 'Create a calendar event and send kind 24 invites to each listed invitee.': - 'Create a calendar event and send kind 24 invites to each listed invitee.', - Invitees: 'Invitees', - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)': - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)', - 'Schedule and send invites': 'Schedule and send invites', - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)': - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)', - 'Scheduled call created and {{count}} invite(s) sent': - 'Scheduled call created and {{count}} invite(s) sent', - 'Join video call': 'Join video call', - 'Scheduled video call': 'Scheduled video call', - 'Video call': 'Video call', - 'Schedule and send invite': 'Schedule and send invite', - 'Scheduling…': 'Scheduling…', - 'Please set a start time': 'Please set a start time', - 'End time must be after start time': 'End time must be after start time', - 'Failed to schedule call': 'Failed to schedule call', - 'Scheduled call created and invite sent': 'Scheduled call created and invite sent', - RSVP: 'RSVP', - 'RSVP: {{status}}': 'RSVP: {{status}}', - Accepted: 'Accepted', - Tentative: 'Tentative', - Declined: 'Declined', - 'You need to log in to RSVP': 'You need to log in to RSVP', - 'RSVP updated': 'RSVP updated', - 'Failed to update RSVP': 'Failed to update RSVP', - Organizer: 'Organizer', - Attendees: 'Attendees', - 'No response': 'No response', - 'Calendar Events': 'Calendar Events', - 'Calendar Event': 'Calendar Event', - 'Schedule in-person meeting': 'Schedule in-person meeting', - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.': - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.', - "You're invited to an in-person meeting.": "You're invited to an in-person meeting.", - 'Meeting created and invite sent': 'Meeting created and invite sent', - 'Failed to create meeting': 'Failed to create meeting', - 'Create and send invite': 'Create and send invite', - 'Creating…': 'Creating…', - 'In-person meeting': 'In-person meeting', - Location: 'Location', - 'Address, venue, or place': 'Address, venue, or place', - Description: 'Description', - 'Optional notes': 'Optional notes', - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.': - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.', - 'Meeting created and {{count}} invite(s) sent': 'Meeting created and {{count}} invite(s) sent', - 'Create and send invites': 'Create and send invites', - Title: 'Title', - Start: 'Start', - End: 'End', - Delete: '삭제', - 'Relay already exists': '릴레이가 이미 존재합니다', - 'invalid relay URL': '유효하지 않은 릴레이 주소', - 'Relay URL…': 'wss://… or relay host', - 'Open relay': 'Open relay', - 'Add a new relay': '새 릴레이 추가', - back: '뒤로', - 'Lost in the void': '공허 속에서 길을 잃음', - 'Carry me home': '집으로 데려다줘', - 'no replies': '답글 없음', - 'Reply to': '답글', - Search: '검색', - 'The relays you are connected to do not support search': - '연결된 릴레이가 검색을 지원하지 않습니다', - 'Show more...': '더 보기...', - 'All users': '모든 사용자', - 'Display replies': '답글 표시', - Notes: '노트', - Replies: '답글', - Gallery: '갤러리', - Notifications: '알림', - 'no more notifications': '더 이상 알림 없음', - 'Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.': - '개인 키 로그인은 안전하지 않습니다. alby, nostr-keyx, nos2x와 같은 브라우저 확장 프로그램을 사용하는 것이 좋습니다. 꼭 개인 키를 사용해야 한다면 최소한 암호를 설정하세요.', - 'Login with Browser Extension': '브라우저 확장으로 로그인', - 'Login with Bunker': 'Bunker로 로그인', - 'Login with Private Key': '개인 키로 로그인', - 'Login with npub (read-only)': 'npub으로 로그인 (읽기 전용)', - 'reload notes': '노트 다시 불러오기', - 'Logged in Accounts': '로그인된 계정', - 'Add an Account': '계정 추가', - 'More options': '더 많은 옵션', - 'Add client tag': '클라이언트 태그 추가', - 'Show others this was sent via Imwald': '이 노트가 Imwald을 통해 전송되었음을 표시', - 'Are you sure you want to logout?': '로그아웃 하시겠습니까?', - 'relay sets': '릴레이 세트', - edit: '편집', - Languages: '언어', - Theme: '테마', - System: '시스템', - Light: '라이트', - Dark: '다크', - Temporary: '임시', - 'Choose a relay set': '릴레이 세트 선택', - 'Switch account': '계정 전환', - Pictures: '사진', - 'Picture note': '사진 노트', - 'A special note for picture-first clients like Olas': - 'Olas와 같은 사진 우선 클라이언트에서 표시되는 특별한 노트', - 'Picture note requires images': '사진 노트에는 이미지가 필요합니다', - Relays: '릴레이', - Image: '이미지', - 'Upload Image': 'Upload Image', - 'Insert emoji': 'Insert emoji', - 'Insert GIF': 'Insert GIF', - 'Insert meme': 'Insert meme', - 'Search GIFs': 'Search GIFs', - 'Search memes': 'Search memes', - 'Choose a GIF': 'Choose a GIF', - 'Choose a meme': 'Choose a meme', - 'Search GifBuddy for more GIFs': 'Search GifBuddy for more GIFs', - 'Add your own GIFs': 'Add your own GIFs', - 'Add your own meme templates': 'Add your own meme templates', - 'Description (optional, for search)': 'Description (optional, for search)', - 'e.g. happy birthday, thumbs up': 'e.g. happy birthday, thumbs up', - 'e.g. drake, distracted boyfriend': 'e.g. drake, distracted boyfriend', - 'Uploading...': 'Uploading...', - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.': - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.', - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).': - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).', - 'Failed to publish meme template for the picker': - 'Failed to publish meme template for the picker', - '{{name}} is not a GIF file': '{{name}} is not a GIF file', - '{{name}} is not a JPEG, PNG, or WebP file': '{{name}} is not a JPEG, PNG, or WebP file', - 'R & W': '읽기/쓰기', - Read: '읽기 전용', - Write: '쓰기 전용', - 'Pull relay sets': '릴레이 세트 가져오기', - 'Select the relay sets you want to pull': '가져올 릴레이 세트 선택', - 'No relay sets found': '릴레이 세트를 찾을 수 없음', - 'Pull n relay sets': '{{n}}개의 릴레이 세트 가져오기', - Pull: '가져오기', - 'Select all': '전체 선택', - 'Relay Sets': '릴레이 세트', - 'Read & Write Relays': '읽기/쓰기 릴레이', - 'read relays description': - '읽기 릴레이는 회원님과 관련된 이벤트를 찾는 데 사용됩니다. 다른 사용자는 회원님이 보길 원하는 이벤트를 회원님의 읽기 릴레이에 게시합니다.', - 'write relays description': - '쓰기 릴레이는 회원님의 이벤트를 게시하는 데 사용됩니다. 다른 사용자는 회원님의 쓰기 릴레이에서 회원님이 게시한 이벤트를 찾습니다.', - 'read & write relays notice': '읽기 및 쓰기 릴레이는 각각 2~4개 정도가 적당합니다.', - "Don't have an account yet?": '아직 계정이 없으신가요?', - 'or simply generate a private key': '또는 간단히 개인 키 생성', - 'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.': - '이것은 개인 키입니다. 절대 다른 사람과 공유하지 마세요. 안전하게 보관하세요. 분실 시 복구할 수 없습니다.', - Edit: '편집', - Save: '저장', - 'Display Name': '표시 이름', - Bio: '소개', - 'Nostr Address (NIP-05)': 'Nostr 주소 (NIP-05)', - 'Invalid NIP-05 address': '유효하지 않은 NIP-05 주소', - 'Copy private key': '개인 키 복사', - 'Enter the password to decrypt your ncryptsec': 'ncryptsec를 복호화할 비밀번호 입력', - Back: '뒤로', - 'optional: encrypt nsec': '선택: nsec 암호화', - password: '비밀번호', - 'Sign up': '회원가입', - 'Save to': '저장 위치', - 'Enter a name for the new relay set': '새 릴레이 세트 이름 입력', - 'Save to a new relay set': '새 릴레이 세트에 저장', - Mute: '차단', - Muted: '차단됨', - Unmute: '차단 해제', - 'Unmute user': '사용자 차단 해제', - Block: 'Block', - Unblock: 'Unblock', - blocked: 'blocked', - 'Append n relays': '{{n}}개의 릴레이 추가', - Append: '추가', - 'Select relays to append': '추가할 릴레이 선택', - 'calculating...': '계산 중...', - 'Calculate optimal read relays': '최적의 읽기 릴레이 계산', - 'Login to set': '설정하려면 로그인', - 'Please login to view following feed': '팔로잉 피드를 보려면 로그인하세요', - 'Follow set': 'Follow set', - 'Follow set feed empty': - 'This NIP-51 list is empty, was not found, or relays could not load it yet.', - 'Send only to r': '{{r}}에만 전송', - 'Send only to these relays': '이 릴레이에만 전송', - Explore: '탐색', - 'Relay reviews': '릴레이 리뷰', - 'Search relays': '릴레이 검색', - relayInfoBadgeAuth: '로그인 필요', - relayInfoBadgeSearch: '검색 지원', - relayInfoBadgePayment: '유료', - Operator: '운영자', - Contact: '연락처', - Software: '소프트웨어', - Version: '버전', - 'Random Relays': '무작위 릴레이', - randomRelaysRefresh: '새로고침', - 'Explore more': '더 탐색하기', - 'Payment page': '결제 페이지', - 'Supported NIPs': '지원 NIP', - 'Relay liveliness (NIP-66)': 'Relay liveliness (NIP-66)', - 'Relay monitor (NIP-66)': 'Relay monitor (NIP-66)', - 'Auth required': 'Auth required', - 'Public (no auth)': 'Public (no auth)', - 'Payment required': 'Payment required', - 'No payment': 'No payment', - 'Writes required': 'Writes required', - 'Writes open': 'Writes open', - 'PoW required': 'PoW required', - 'No PoW': 'No PoW', - 'RTT open': 'RTT open', - 'RTT read': 'RTT read', - 'RTT write': 'RTT write', - 'Supported NIPs (from monitor)': 'Supported NIPs (from monitor)', - 'Last reported by monitor': 'Last reported by monitor', - Network: 'Network', - Type: 'Type', - Topics: 'Topics', - 'Open in a': '{{a}}에서 열기', - 'Cannot handle event of kind k': '{{k}} 유형의 이벤트를 처리할 수 없습니다', - 'Unsupported event preview': - 'There isn’t a dedicated card for this event type yet. Here’s a readable preview.', - 'No text content in event': 'No text in this event.', - 'Technical details': 'Technical details', - 'Event kind and time': 'Kind {{kind}} · {{time}}', - 'Event kind label': 'Kind {{kind}}', - 'Note kind label line': 'KIND: {{kind}} · {{description}}', - 'Unknown note declared kind tag': 'Tagged kind: {{value}}', - 'Unknown note tagged pubkey': 'Tagged pubkey', - 'Unknown note tagged content': 'Content', - 'Unknown note reference tags': 'Reference tags (e, p, q, a)', - 'Starred spells': 'Starred spells', - 'Spell star add title': 'Star spell (adds to your Nostr bookmarks)', - 'Spell star remove title': 'Unstar spell (removes from your Nostr bookmarks)', - 'Copy JSON': 'Copy JSON', - Verse: 'Verse', - 'Notification reaction summary': 'reacted to this note.', - 'Notification discussion upvote summary': 'upvoted in this discussion.', - 'Notification discussion downvote summary': 'downvoted in this discussion.', - 'Notification boost summary': 'Boosted this note', - 'Notification boost detail': 'The preview above is the original post.', - 'Notification poll vote summary': 'Voted on the poll above.', - 'Notification poll vote options count': '{{count}} option(s) selected', - 'Imwald synthetic event': 'Imwald synthetic event', - '+ Add a URL to this list': 'Add a URL to this list', - 'Add a web URL': 'Add a web URL', - 'Add web URL to feed description': - 'Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.', - 'Add to feed': 'Add to feed', - 'Open any https page in the side panel to reply, react, and discuss on Nostr.': - 'Open any https page in the side panel to reply, react, and discuss on Nostr.', - 'Enter a valid http(s) URL': 'Enter a valid http(s) URL', - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.': - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.', - 'Open in browser': 'Open in browser', - 'Web page': 'Web page', - Open: 'Open', - 'Sorry! The note cannot be found 😔': '죄송합니다! 해당 노트를 찾을 수 없습니다 😔', - 'This user has been muted': '이 사용자는 차단되었습니다', - Wallet: '지갑', - Sats: '사토시', - sats: '사토시', - 'Zap to': '잽 보내기', - 'Zap n sats': '{{n}} 사토시 잽 보내기', - zapComment: '코멘트', - 'Default zap amount': '기본 잽 금액', - 'Default zap comment': '기본 잽 코멘트', - 'Lightning Address (or LNURL)': '라이트닝 주소(또는 LNURL)', - 'Quick zap': '빠른 잽', - 'If enabled, you can zap with a single click. Click and hold for custom amounts': - '활성화하면 한 번 클릭으로 잽을 보낼 수 있습니다. 길게 누르면 금액을 직접 입력할 수 있습니다.', - All: '전체', - Reactions: '반응', - Zaps: '잽', - Boosts: '부스트', - Badges: 'Badges', - Reports: 'Reports', - 'Enjoying Imwald?': 'Imwald이 마음에 드시나요?', - 'Your donation helps me maintain Imwald and make it better! 😊': - '후원해주시면 Imwald을 더 잘 유지하고 발전시킬 수 있습니다! 😊', - 'Earlier notifications': '이전 알림', - 'Temporarily display this note': '이 노트 임시 표시', - buttonFollowing: '팔로잉 중', - 'Are you sure you want to unfollow this user?': '이 사용자를 언팔로우하시겠습니까?', - 'Recent Supporters': '최근 후원자', - 'Seen on': '출처', - 'Temporarily display this reply': '이 답글 임시 표시', - 'Note not found': '노트를 찾을 수 없음', - 'Invalid embedded note reference': 'Invalid embedded note reference', - embeddedNoteInvalidEmpty: 'This embedded link is empty.', - embeddedNoteInvalidHex: - 'This is not a valid hex event id (expected exactly 64 hexadecimal characters).', - embeddedNoteInvalidBech32: - 'This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.', - embeddedNoteInvalidWrongKind: - 'This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.', - 'The note was not found on your relays or default relays.': - 'The note was not found on your relays or default relays.', - "Try searching author's relays": "Try searching author's relays", - 'Searching external relays...': 'Searching external relays...', - "This will connect to the author's relays and relay hints": - "This will connect to the author's relays and relay hints", - 'Note could not be found anywhere': 'Note could not be found anywhere', - 'Try external relays': 'Try external relays', - 'Searching...': 'Searching...', - 'Show relays': 'Show relays', - 'No external relay hints available': 'No external relay hints available', - 'External relay search is not available for this link type': - 'External relay search is not available for this link type.', - 'Searched external relays not found': - 'Searched {{count}} external relays; the note was still not found.', - 'no more replies': '더 이상 답글 없음', - 'Relay sets': '릴레이 세트', - 'Search for Relays': 'Search for Relays', - 'Using app default relays': 'Using app default relays', - "Following's Favorites": '팔로잉의 즐겨찾기', - 'no more relays': '더 이상 릴레이 없음', - 'Favorited by': '즐겨찾기한 사람', - 'Post settings': '게시 설정', - 'Publishing feedback': 'Publishing feedback', - 'Publish success toasts': 'Publish success toasts', - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.': - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.', - 'Publish successful': 'Publish successful', - 'Media upload service': '미디어 업로드 서비스', - 'Choose a relay': '릴레이 선택', - 'no relays found': '릴레이를 찾을 수 없음', - video: '비디오', - 'Show n new notes': '{{n}}개의 새 노트 보기', - YouTabName: '나와 함께', - Bookmark: '북마크', - 'Remove bookmark': '북마크 제거', - 'no bookmarks found': '북마크 없음', - 'no more bookmarks': '더 이상 북마크 없음', - Bookmarks: '북마크', - 'Follow Packs': 'Follow Packs', - 'Follow Pack': 'Follow Pack', - 'Follow pack by': 'by', - 'In Follow Packs': 'In Follow Packs', - 'Badge details': 'Badge details', - 'Issued by': 'Issued by', - 'Other recipients': 'Other recipients', - 'No other recipients found': 'No other recipients found', - 'Recipients could not be loaded': 'Recipients could not be loaded', - 'View award': 'View award', - 'Awarded on': 'Awarded on', - 'Please log in to follow': 'Please log in to follow', - 'Following All': 'Following All', - 'Followed {{count}} users': 'Followed {{count}} users', - 'All available members are already followed or muted': - 'All available members are already followed or muted', - 'You are already following all members of this pack': - 'You are already following all members of this pack', - 'Failed to follow pack': 'Failed to follow pack', - '{{count}} profiles': '{{count}} profiles', - 'Show more': '더 보기', - General: '일반', - Autoplay: '자동 재생', - 'Enable video autoplay on this device': '이 기기에서 비디오 자동 재생 활성화', - 'liveActivities.heading': 'Live now', - 'liveActivities.regionLabel': 'Live spaces and streams', - 'liveActivities.fromFollow': 'From someone you follow', - 'liveActivities.goToSlide': 'Show live item {{n}}', - 'liveActivities.settingsToggle': 'Live activities banner', - 'liveActivities.settingsHint': - 'Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.', - 'Add random relays to every publish': 'Random relays in publish list', - 'Add random relays to every publish description': - 'Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.', - relayType_local: 'Local', - relayType_relay_list: 'Relay list', - relayType_http_relay_list: 'HTTP', - 'HTTP relays': 'HTTP relays', - httpRelaysDescription: - 'HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.', - 'HTTP relays saved': 'HTTP relays saved', - 'Failed to save HTTP relay list': 'Failed to save HTTP relay list', - 'HTTP relays must start with https:// or http://': - 'HTTP relays must start with https:// or http://', - relayType_client_default: 'Client default', - relayType_open_from: 'Current feed', - relayType_favorite: 'Favorite', - relayType_relay_set: 'Relay set', - relayType_contextual: 'Reply/PM', - relayType_randomly_selected: 'Random (optional)', - 'Session relays': 'Session relays', - 'Session relays tab description': - 'Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish).', - 'Session relays preset working': 'Working preset relays', - 'Session relays preset working hint': - 'Preset relays (from app defaults) that have not reached 3 publish failures this session.', - 'Session relays preset striked': 'Striked preset relays', - 'Session relays preset striked hint': - 'Preset relays that have reached 3 publish failures this session and are skipped for the rest of the session.', - 'Session relays scored random': 'Scored random relays', - 'Session relays scored random hint': - 'Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.', - 'Session relays all striked': 'All striked relays (any source)', - 'Session relays clear strike': 'Allow again', - 'Session relays clear strike hint': - 'Remove this relay from the session block list; it will be used again until new connection failures.', - successes: 'successes', - None: 'None', - 'Cache & offline storage': 'Cache & offline storage', - feedStarting: 'Starting feeds and relays… This can take a few seconds after login.', - refreshCacheButtonExplainer: - 'Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.', - 'eventArchive.sectionTitle': 'Notes & feed archive', - 'eventArchive.sectionBlurb': - 'Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.', - 'eventArchive.defaultsMobile': - 'This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).', - 'eventArchive.defaultsElectron': - 'Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.defaultsDesktopWeb': - 'Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.enablePersist': 'Persist feed events to disk', - 'eventArchive.maxMb': 'Max archive size (MB), blank = default for this device', - 'eventArchive.maxEvents': 'Max archived events, blank = default', - 'eventArchive.sessionLru': 'In-memory session cache (event count), blank = default', - 'eventArchive.effectiveSummary': - 'Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.', - 'eventArchive.on': 'on', - 'eventArchive.off': 'off', - 'eventArchive.apply': 'Apply cache settings', - 'eventArchive.appliedToast': 'Cache settings saved. Session memory updated.', - 'Paste or drop media files to upload': '미디어 파일을 붙여넣거나 드래그하여 업로드', - Preview: '미리보기', - 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - '[{{eventAuthorName}}]가 서명한 이벤트를 게시하려고 합니다. 현재 [{{currentUsername}}]로 로그인되어 있습니다. 계속하시겠습니까?', - 'Platinum Sponsors': '플래티넘 스폰서', - From: '출처', - 'Comment on': '댓글', - 'View on njump.me': 'njump.me에서 보기', - 'Hide content from untrusted users': '신뢰하지 않는 사용자의 콘텐츠 숨기기', - 'Only show content from your followed users and the users they follow': - '내가 팔로우하는 사용자와 그들이 팔로우하는 사용자의 콘텐츠만 표시', - 'Followed by': '팔로워', - 'Mute user privately': '비공개 차단', - 'Mute user publicly': '공개 차단', - Quotes: '인용', - 'Lightning Invoice': '라이트닝 인보이스', - 'Bookmark failed': '북마크 실패', - 'Remove bookmark failed': '북마크 제거 실패', - Translation: '번역', - Balance: '잔액', - characters: '글자', - translateApiKeyDescription: - '이 API 키는 LibreTranslate를 지원하는 모든 곳에서 사용할 수 있습니다. 서비스 주소: {{serviceUrl}}', - 'Top up': '충전', - 'Will receive: {n} characters': '{{n}} 글자를 받게 됩니다', - 'Top up {n} sats': '{{n}} 사토시 충전', - 'Minimum top up is {n} sats': '최소 충전 금액은 {{n}} 사토시입니다', - Service: '서비스', - 'Reset API key': 'API 키 재설정', - 'Are you sure you want to reset your API key? This action cannot be undone.': - 'API 키를 재설정하시겠습니까? 이 작업은 되돌릴 수 없습니다.', - Warning: '경고', - 'Errors & warnings': 'Errors & warnings', - 'Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.': - '현재 API 키는 즉시 무효화되며, 새 키로 업데이트하기 전까지 관련 앱이 작동하지 않습니다.', - 'Service address': '서비스 주소', - Pay: '결제', - interactions: '상호작용', - notifications: '알림', - notificationsViewAsAccount: 'View as', - notificationsViewAsAccountAria: - 'Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.', - notificationsSwitchAccountFailed: - 'Could not switch account. Check your signer, password, or extension and try again.', - 'Show untrusted {type}': '신뢰하지 않는 {{type}} 표시', - 'Hide untrusted {type}': '신뢰하지 않는 {{type}} 숨기기', - 'Currently hiding {type} from untrusted users.': - '현재 신뢰하지 않는 사용자의 {{type}}을(를) 숨기고 있습니다.', - 'Currently showing all {type}.': '현재 모든 {{type}}을(를) 표시하고 있습니다.', - 'Click continue to show all {type}.': '계속을 클릭하면 모든 {{type}}을(를) 표시합니다.', - 'Click continue to hide {type} from untrusted users.': - '계속을 클릭하면 신뢰하지 않는 사용자의 {{type}}을(를) 숨깁니다.', - 'Trusted users include people you follow and people they follow.': - '신뢰하는 사용자는 내가 팔로우하는 사람과 그들이 팔로우하는 사람을 포함합니다.', - Continue: '계속', - 'Successfully updated mute list': '차단 목록이 성공적으로 업데이트되었습니다', - 'No pubkeys found from {url}': '{{url}}에서 pubkey를 찾을 수 없습니다', - 'Translating...': '번역 중...', - Translate: '번역', - 'Show original': '원본 보기', - Website: '웹사이트', - 'Hide untrusted notes': '신뢰하지 않는 노트 숨기기', - 'Open in another client': '다른 클라이언트에서 열기', - Community: '커뮤니티', - Group: '그룹', - 'Live event': '라이브 이벤트', - Article: '기사', - Unfavorite: '즐겨찾기 취소', - 'Recommended relays': '추천 릴레이', - 'Show recommended relays panel': 'Show recommended relays panel', - 'Display the right-side panel with recommended relays on desktop': - 'Display the right-side panel with recommended relays on desktop', - 'Blossom server URLs': 'Blossom 서버 주소', - 'You need to add at least one blossom server in order to upload media files.': - '미디어 파일을 업로드하려면 최소한 하나의 Blossom 서버를 추가해야 합니다.', - 'Recommended blossom servers': '추천 Blossom 서버', - 'Enter Blossom server URL': 'Blossom 서버 URL 입력', - Preferred: '선호', - 'Multiple choice (select one or more)': '다중 선택 (하나 이상 선택)', - Vote: '투표', - '{{number}} votes': '{{number}} 표', - 'Total votes': '총 투표수', - 'Poll has ended': '투표 종료', - 'Poll ends at {{time}}': '투표 종료 시간: {{time}}', - 'Load results': '결과 로드', - 'This is a poll note.': '이것은 투표 노트입니다.', - 'Unlike regular notes, polls are not widely supported and may not display on other clients.': - '일반 노트와 달리 투표는 널리 지원되지 않으며 다른 클라이언트에서 표시되지 않을 수 있습니다.', - 'Option {{number}}': '옵션 {{number}}', - 'Add Option': '옵션 추가', - 'Allow multiple choices': '다중 선택 허용', - 'End Date (optional)': '종료 날짜 (선택사항)', - 'Clear end date': '종료 날짜 지우기', - 'Relay URLs (optional, comma-separated)': '릴레이 URL (선택사항, 쉼표로 구분)', - 'Remove poll': '투표 제거', - 'Refresh results': '결과 새로 고침', - '{{votes}} · {{pct}}%': '{{votes}} · {{pct}}%', - 'See results': 'See results', - 'Zap poll (paid votes)': 'Zap poll (paid votes)', - 'Invalid zap poll': 'Invalid zap poll', - 'You voted on this poll (zap receipt)': 'You voted on this poll (zap receipt)', - 'Poll closed {{time}}': 'Poll closed {{time}}', - 'Closes {{time}}': 'Closes {{time}}', - 'Vote size': 'Vote size', - '{{n}} sats (fixed)': '{{n}} sats (fixed)', - '{{min}}–{{max}} sats': '{{min}}–{{max}} sats', - '≥ {{n}} sats': '≥ {{n}} sats', - '≤ {{n}} sats': '≤ {{n}} sats', - 'Loading tally…': 'Loading tally…', - 'Zap poll no votes yet': - 'No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).', - 'Consensus threshold': 'Consensus threshold', - 'Pay to': 'Pay to', - Recipient: 'Recipient', - Option: 'Option', - 'Select option': 'Select option', - 'Select an option': 'Select an option', - 'Vote with zap': 'Vote with zap', - 'Zap sent': 'Zap sent', - 'Zapping…': 'Zapping…', - 'Refresh tally': 'Refresh tally', - '{{n}} zaps': '{{n}} zaps', - Poll: '투표', - Media: '미디어', - 'Articles and Publications': 'Articles and Publications', - 'Search articles...': 'Search articles...', - 'Refreshing articles...': 'Refreshing articles...', - 'No articles or publications found': 'No articles or publications found', - 'No articles or publications match your search': - 'No articles or publications match your search', - 'articles and publications': 'articles and publications', - Interests: 'Interests', - Calendar: 'Calendar', - 'No subscribed interests yet.': - 'No subscribed interests yet. Add topics in settings to see them here.', - 'No bookmarked notes with id tags yet.': - 'No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.', - 'No follows or relays to load yet.': 'No follows or relays to load yet.', - 'Nothing to load for this feed.': 'Nothing to load for this feed.', - 'No posts loaded for this feed. Try refreshing.': - 'No posts loaded for this feed. Try refreshing.', - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.': - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.', - 'Per-relay timeline results ({{count}} connections)': - 'Per-relay timeline results ({{count}} connections)', - 'Republish to ...': '다시 게시 ...', - 'All available relays': 'All available relays', - 'All active relays (monitoring list)': 'All active relays (monitoring list)', - 'Successfully republish to all available relays': - 'Successfully republish to all available relays', - 'Failed to republish to all available relays: {{error}}': - 'Failed to republish to all available relays: {{error}}', - 'Successfully republish to all active relays': 'Successfully republish to all active relays', - 'Failed to republish to all active relays: {{error}}': - 'Failed to republish to all active relays: {{error}}', - 'No active relays in monitoring list': 'No active relays in monitoring list', - 'No relay accepted the event': 'No relay accepted the event', - 'No relays available': 'No relays available', - 'No write relays configured': 'No write relays configured', - 'Relay did not accept the event': 'Relay did not accept the event', - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".': - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".', - 'Successfully republish to your write relays': '쓰기 릴레이에 성공적으로 다시 게시됨', - 'Failed to republish to your write relays: {{error}}': - '쓰기 릴레이에 다시 게시하지 못함: {{error}}', - 'Successfully republish to relay set: {{name}}': - '릴레이 세트에 성공적으로 다시 게시됨: {{name}}', - 'Failed to republish to relay set: {{name}}. Error: {{error}}': - '릴레이 세트에 다시 게시하지 못함: {{name}}. 오류: {{error}}', - 'Successfully republish to relay: {{url}}': '릴레이에 성공적으로 다시 게시됨: {{url}}', - 'Failed to republish to relay: {{url}}. Error: {{error}}': - '릴레이에 다시 게시하지 못함: {{url}}. 오류: {{error}}', - 'Write relays': '쓰기 릴레이', - 'No more reactions': '더 이상 반응이 없습니다', - 'No reactions yet': '아직 반응이 없습니다', - 'No more zaps': '더 이상 잽이 없습니다', - 'No zaps yet': '아직 잽이 없습니다', - 'No more boosts': '더 이상 부스트가 없습니다', - 'No boosts yet': '아직 부스트가 없습니다', - 'n more boosts': '{{count}} more boosts', - FollowListNotFoundConfirmation: - '팔로우 목록을 찾을 수 없습니다. 새로 만드시겠습니까? 이전에 사용자를 팔로우한 적이 있다면 이 작업으로 인해 이전 팔로우 목록을 잃게 되므로 확인하지 마시기 바랍니다.', - MuteListNotFoundConfirmation: - '음소거 목록을 찾을 수 없습니다. 새로 만드시겠습니까? 이전에 사용자를 음소거한 적이 있다면 이 작업으로 인해 이전 음소거 목록을 잃게 되므로 확인하지 마시기 바랍니다.', - 'Show NSFW content by default': '기본적으로 NSFW 콘텐츠 표시', - 'Custom emoji management': '사용자 정의 이모지 관리', - 'After changing emojis, you may need to refresh the page': - '이모지를 변경한 후 페이지를 새로고침해야 할 수 있습니다', - 'Too many read relays': '읽기 릴레이가 너무 많습니다', - 'Too many write relays': '쓰기 릴레이가 너무 많습니다', - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.': - '{{count}}개의 읽기 릴레이가 있습니다. 대부분의 클라이언트는 2-4개의 릴레이만 사용하므로 더 설정하는 것은 불필요합니다.', - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.': - '{{count}}개의 쓰기 릴레이가 있습니다. 대부분의 클라이언트는 2-4개의 릴레이만 사용하므로 더 설정하는 것은 불필요합니다.', - 'Optimize Relay Settings': '릴레이 설정 최적화', - 'Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.': - '현재 릴레이 설정이 최적이 아닐 수 있습니다. 이로 인해 다른 사람들이 귀하의 게시물을 찾기 어려워지고 알림이 불완전할 수 있습니다.', - 'Optimize Now': '지금 최적화', - 'Maybe Later': '나중에', - "Don't remind me again": '다시 알리지 않기', - Posts: '게시물', - 'Posts (OPs)': 'Posts (OPs)', - 'Kind 1 replies': 'Kind 1 replies', - Comments: 'Comments', - 'Replies & comments': 'Replies & comments', - Articles: '기사', - Highlights: '하이라이트', - 'A note from': 'A note from', - Polls: '투표', - 'Zap polls': 'Zap polls', - 'Voice Posts': '음성 게시물', - 'Photo Posts': '사진 게시물', - 'Video Posts': '비디오 게시물', - 'Git repositories': 'Git repositories', - 'Git issues': 'Git issues', - 'Git releases': 'Git releases', - 'Git Republic repository': 'Git Republic repository', - 'Git Republic issue': 'Git Republic issue', - 'Git Republic release': 'Git Republic release', - 'Git Republic event': 'Git Republic event', - 'Git Republic': 'Git Republic', - 'Open in Git Republic': 'Open in Git Republic', - 'Pre-release': 'Pre-release', - Draft: 'Draft', - 'Repository release': 'Repository release', - 'New Repository Release': 'New Repository Release', - 'Release notes use the editor below (optional).': - 'Release notes use the editor below (optional).', - 'Repository owner (npub or hex)': 'Repository owner (npub or hex)', - 'Repository id (d-tag)': 'Repository id (d-tag)', - 'Git tag name': 'Git tag name', - 'Tag target (40-char commit hash)': 'Tag target (40-character commit hash)', - '40-character hex SHA-1': '40-character hex SHA-1', - 'Release title': 'Release title', - 'Download URL': 'Download URL', - 'Draft release': 'Draft release', - 'Fill repository release fields': 'Fill in all required repository release fields.', - 'Invalid repository owner pubkey': 'Invalid repository owner (use npub or 64-char hex).', - 'Citations require private relays (NIP-65).': - 'Citations require private outbox relays (NIP-65).', - 'Select All': '모두 선택', - 'Clear All': '모두 지우기', - 'Set as default filter': '기본 필터로 설정', - 'Use filter': 'Use filter', - 'See all events': 'See all events', - 'See all events hint': - 'Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.', - 'Use filter hint': 'Only the kinds you select below are requested and shown.', - Apply: '적용', - Reset: '초기화', - 'Share something on this Relay': '이 릴레이에서 무언가를 공유하세요', - 'Try deleting this note': '이 노트를 삭제해 보세요', - 'Deletion request sent to {{count}} relays': - '삭제 요청이 {{count}}개의 릴레이로 전송되었습니다', - 'Suitable Relays': '적합한 릴레이', - 'People, keywords, or relays': '사람, 키워드 또는 릴레이', - 'Hide content mentioning muted users': '뮤트된 사용자를 언급하는 콘텐츠 숨기기', - 'This note mentions a user you muted': '이 노트는 뮤트한 사용자를 언급합니다', - Filter: '필터', - 'Feed filter': 'Feed filter', - 'Search loaded posts': 'Search loaded posts', - 'Filter loaded posts placeholder': 'Filter by text in content or tags…', - 'Feed filter author': 'Author', - 'Feed filter author everyone': 'From everyone', - 'Feed filter author me': 'Only from me', - 'Feed filter author npub': 'From user (npub or hex)', - 'Feed filter author npub from prefix': 'from:', - 'Feed filter author npub placeholder': 'npub1… or 64-char hex', - 'Feed filter author me needs login': 'Log in to filter by your pubkey', - 'Within the last': 'Within the last', - 'Time unit': 'Time unit', - Minutes: 'Minutes', - Days: 'Days', - Weeks: 'Weeks', - Months: 'Months', - Years: 'Years', - 'Feed filter client-side hint': - 'Filters only apply to posts already loaded; relays are not queried again.', - 'Feed full search': 'Perform full search', - 'Feed full search running': 'Searching…', - 'Feed full search clear': 'Clear', - 'Feed full search active hint': - 'Showing relay search results. Clear to return to the live feed.', - 'Feed full search need constraint': - 'Add search text, an author filter, or a time range before searching relays.', - 'Feed full search invalid feed': 'This feed cannot run a relay search.', - 'Feed full search failed': 'Relay search failed. Try again.', - 'Feed full search empty': 'No matching posts were found on the queried relays.', - 'No loaded posts match your filters.': 'No loaded posts match your filters.', - 'mentioned you in a note': '노트에서 당신을 언급했습니다', - 'quoted your note': '당신의 노트를 인용했습니다', - 'quoted this note': 'Quoted this note', - 'highlighted this note': 'Highlighted this note', - 'cited in article': 'Cited in article', - 'Thread backlinks heading': 'Also quoting this note', - 'Thread backlinks primary section': 'Quotes, highlights & citations', - 'Thread backlinks bookmarks section': 'Bookmarks', - 'Thread backlinks lists section': 'Lists & collections', - 'View full note and thread': 'View full note and thread', - 'labeled this note': 'Labeled this note', - 'reported this note': 'Reported this note', - 'bookmarked this note': 'Bookmarked this note', - 'pinned this note': 'Pinned this note', - 'listed this note': 'Listed this note', - 'bookmark set reference': 'Bookmark set includes this note', - 'curated this note': 'Curated this note', - 'badge award for this note': 'Badge award for this note', - 'referenced this note': 'Referenced this note', - 'Report events heading': 'Moderation reports', - 'voted in your poll': '당신의 투표에 참여했습니다', - 'reacted to your note': '당신의 노트에 반응했습니다', - 'boosted your note': '당신의 노트를 부스트했습니다', - 'zapped your note': '당신의 노트를 잽했습니다', - 'zapped you': '당신을 잽했습니다', - zapped: 'zapped', - 'Invalid zap receipt': 'Invalid zap receipt', - 'Zapped note': 'Zapped note', - 'Zapped profile': 'Zapped profile', - 'Zap reply threshold': 'Zap reply threshold', - 'Zaps above this amount will appear as replies in threads': - 'Zaps above this amount will appear as replies in threads', - 'Mark as read': '읽음으로 표시', - Report: '신고', - 'Successfully report': '신고가 성공적으로 완료되었습니다', - 'Failed to report': '신고에 실패했습니다', - nudity: '음란물', - malware: '악성 소프트웨어', - profanity: '욕설', - illegal: '불법 콘텐츠', - spam: '스팸', - other: '기타', - 'Notification list style': '알림 목록 스타일', - 'See extra info for each notification': '각 알림의 추가 정보 보기', - 'See more notifications at a glance': '한눈에 더 많은 알림 보기', - Detailed: '상세', - 'Submit Relay': '릴레이 제출', - Homepage: '홈페이지', - 'Proof of Work (difficulty {{minPow}})': '작업 증명 (난이도 {{minPow}})', - 'via {{client}}': '{{client}} 통해', - 'Auto-load media': '미디어 자동 로드', - Always: '항상', - 'Wi-Fi only': 'Wi-Fi만', - Never: '안함', - 'Click to load image': '이미지 로드하려면 클릭', - 'Click to load media': '미디어 로드하려면 클릭', - 'Click to load YouTube video': 'YouTube 비디오 로드하려면 클릭', - '{{count}} reviews': '{{count}}개 리뷰', - 'Write a review': '리뷰 작성', - 'No reviews yet. Be the first to write one!': - '아직 리뷰가 없습니다. 첫 번째 리뷰를 작성해보세요!', - 'View more reviews': '더 많은 리뷰 보기', - 'Failed to review': '리뷰 실패', - 'Write a review and pick a star rating': '리뷰를 작성하고 별점을 선택하세요', - Submit: '제출', - 'Reviews for {{relay}}': '{{relay}}에 대한 리뷰', - 'No relays selected': '선택된 릴레이가 없습니다', - 'Post to': '게시 대상', - 'Write relays and {{count}} other relays': '쓰기 릴레이 및 기타 {{count}}개 릴레이', - '{{count}} relays': '{{count}}개 릴레이', - 'Republishing...': '다시 게시 중...', - 'Trending Notes': '트렌딩 노트', - 'Trending on Your Favorite Relays': 'Trending on Your Favorite Relays', - 'Trending on the Default Relays': 'Trending on the Default Relays', - 'Latest from your follows': 'Latest from your follows', - 'Latest from our recommended follows': 'Latest from our recommended follows', - 'Follows latest page title': 'Latest from follows', - 'Follows latest page description': - 'Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.', - 'Follows latest nav label': 'Follows latest', - 'Loading follow list…': 'Loading follow list…', - 'Could not load recommended follows': 'Could not load recommended follows', - 'Your follow list is empty': 'Your follow list is empty', - 'Loading recent posts from follows…': 'Loading recent posts from follows…', - 'Loading more…': 'Loading more…', - 'No recent posts from this user in the current fetch': - 'No recent posts from this user in the current fetch', - 'Loading trending notes from your relays...': 'Loading trending notes from your relays...', - Sort: 'Sort', - newest: 'newest', - oldest: 'oldest', - 'most popular': 'most popular', - 'least popular': 'least popular', - 'Connected to': '연결됨', - 'Disconnect Wallet': '지갑 연결 해제', - 'Are you absolutely sure?': '정말 확실합니까?', - 'You will not be able to send zaps to others.': '다른 사람에게 잽을 보낼 수 없습니다.', - Disconnect: '연결 해제', - 'Set up your wallet to send and receive sats!': - '사츠를 보내고 받을 수 있도록 지갑을 설정하세요!', - 'Set up': '설정하기', - 'nested events': 'nested events', - 'Loading RSS feeds...': 'Loading RSS feeds...', - 'No RSS feed items available': 'No RSS feed items available', - 'Show or hide the RSS page and sidebar entry': 'Show or hide the RSS page and sidebar entry', - 'Refreshing feeds...': 'Refreshing feeds...', - 'All feeds': 'All feeds', - 'All time': 'All time', - 'Last hour': 'Last hour', - 'Last day': 'Last day', - 'Last week': 'Last week', - 'Last month': 'Last month', - 'Last 24 hours': 'Last 24 hours', - 'Last 48 hours': 'Last 48 hours', - 'Time range': 'Time range', - 'Filter by RSS source': 'Filter by RSS source', - 'No items match your filters': 'No items match your filters', - 'Search...': 'Search...', - '{{count}} feeds': '{{count}} feeds', - 'Toggle filters': 'Toggle filters', - 'Showing {{filtered}} of {{total}} items': 'Showing {{filtered}} of {{total}} items', - Full: 'Full', - Compact: '간단', - Expand: 'Expand', - 'help.title': 'Help', - 'help.tabShortcuts': 'Keyboard shortcuts', - 'help.tabOverview': 'App overview', - 'shortcuts.title': 'Keyboard shortcuts', - 'shortcuts.intro': - 'Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.', - 'shortcuts.sectionApp': 'This app', - 'shortcuts.sectionSearch': 'Search bar', - 'shortcuts.sectionStandard': 'Standard', - 'shortcuts.openHelp': 'Show this help', - 'shortcuts.or': 'or', - 'shortcuts.then': 'then', - 'shortcuts.focusPrimary': - 'Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)', - 'shortcuts.focusSecondary': - 'Focus side panel scroll when it is open (desktop; same keys to scroll)', - 'shortcuts.newNote': 'New note / post (after login if needed)', - 'shortcuts.searchSuggest': 'Move through suggestions', - 'shortcuts.searchDismiss': 'Close search dropdown', - 'shortcuts.tabNavigate': 'Move focus to the next or previous control', - 'shortcuts.activate': 'Activate buttons and many controls', - 'shortcuts.closeOverlays': 'Close dialogs, menus, and the search dropdown', - 'shortcuts.scrollWhenFocused': 'Scroll the focused scrollable area', - 'shortcuts.browserBack': 'Browser back (history)', - 'No spells yet. Create one with the button above.': - 'No spells yet. Create one with the button above.', - 'Loading spells from your relays…': 'Loading spells from your relays…', - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.': - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.', - 'Select a spell…': 'Select a spell…', - 'Spells from follows': 'From people you follow ({{count}})', - 'Other spells': 'Other spells ({{count}})', - 'Select a spell to view its feed.': 'Select a spell to view its feed.', - 'Add another row': 'Add another row', - 'Remove this row': 'Remove this row', - 'One kind number per row (e.g. 1 for notes).': 'One kind number per row (e.g. 1 for notes).', - 'One author per row: $me, $contacts, or hex pubkey / npub.': - 'One author per row: $me, $contacts, or hex pubkey / npub.', - 'One hex event id per row.': 'One hex event id per row.', - 'One wss:// URL per row. Leave empty to use your write relays.': - 'One wss:// URL per row. Leave empty to use your write relays.', - 'One topic per row.': 'One topic per row.', - topic: 'topic', - 'Spell form fields': 'Spell form fields', - 'Counting matching events…': 'Counting matching events…', - 'Edit spell': 'Edit spell', - 'Clone spell': 'Clone spell', - 'Spell cloned': 'Spell cloned', - 'Clone spell intro': - 'This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.', - 'Spell updated': 'Spell updated', - 'Relay URL': 'Relay', - Count: 'Count', - 'Edit spell relays': 'Edit relays', - 'COUNT spell relay errors hint': - 'One or more relays failed or returned an error. You can change the relay list in the spell and save again.', - 'COUNT spell total distinct explanation': - 'Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.', - 'Leave empty to use your write relays.': 'Leave empty to use your write relays.', - 'COUNT spell result explanation': - 'Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.', - 'COUNT spell may be capped by limit': - 'This count may equal your spell limit — there could be more matching events on the network.', - 'Spell count failed. Check relays or try again.': - 'Could not complete the count. Check relays or try again.', - 'REQ returns a feed; COUNT returns a number.': - 'REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.', - listImportManualLabel: 'Pre-fill from event', - listImportFromEventHint: - 'Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.', - listImportManualPlaceholder: '64-char hex, nevent1…, or naddr1…', - listImportLoadManual: 'Apply', - listImportContentSkipped: - 'This event has non-empty content (may include encrypted private items). Only public tags were merged.', - listImportUnsupportedEmoji: - 'This list includes emoji tags (NIP-30); those are not added to the spell filter.', - listImportUnsupportedTag: - 'Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.', - listImportBadATag: 'Could not parse address tag: {{preview}}…', - listImportATagNotFound: 'Could not resolve address tag: {{preview}}…', - listImportATagFailed: 'Failed to resolve address tag: {{preview}}…', - listImportEventNotFound: 'No event found for that reference.', - 'REQ tag filters': 'REQ tag filters', - spellFormTagFiltersLabel: 'Tag filters on matching events', - spellCreateIntro: - 'Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.', - spellFormSectionQueryTitle: 'Spell query', - spellFormSectionQueryHint: - 'This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).', - spellFormSectionMetadataTitle: 'Listing & labels (optional)', - spellFormSectionMetadataBadge: 'Not part of the query', - spellFormSectionMetadataHint: - 'Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.', - spellFormCatalogTopicsLabel: 'Topic labels on this spell (t tags)', - spellTopicsMetadataHint: - 'One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).', - spellTagFiltersHint: - 'Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.', - spellTagFiltersEmpty: 'No tag filters yet. Add rows below or apply an event reference above.', - 'Tag filter letter': 'Tag letter', - 'Filter value': 'Value', - 'Add tag filter': 'Add tag filter', - spellPickerSectionYours: 'Your spells', - 'Failed to remove spell from local storage': 'Failed to remove spell from local storage', - Spells: 'Spells', - 'doublePane.secondaryEmpty': 'Open a note, profile, or settings item to show it here.', - 'doublePane.secondaryEmptyHint': 'Your feed and primary pages stay on the left.', - '(empty)': '(empty)', - '12-hour (AM/PM)': '12-hour (AM/PM)', - '24-hour': '24-hour', - 'A new version is available': 'A new version is available', - 'A short description of the article content': 'A short description of the article content', - AM: 'AM', - 'Access via': 'Access via', - 'Accessed On': 'Accessed On', - 'Accessed on': 'Accessed on', - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.': - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.', - 'Add a relay to block': 'Add a relay to block', - 'Add at least one invitee': 'Add at least one invitee', - 'Add client identifier': 'Add client identifier', - 'Add expiration tags by default': 'Add expiration tags by default', - 'Add quiet tags by default': 'Add quiet tags by default', - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above': - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above', - 'Add the source (where this text is from)': 'Add the source (where this text is from)', - 'Add to favorites': 'Add to favorites', - 'Add {{count}} Selected': 'Add {{count}} Selected', - 'Added at': 'Added at', - 'Added {{count}} relay(s)': 'Added {{count}} relay(s)', - 'Adding...': 'Adding...', - 'Adding…': 'Adding…', - 'Advanced Options': 'Advanced Options', - 'All Topics': 'All Topics', - 'All feeds from OPML file are already added': 'All feeds from OPML file are already added', - 'All items deleted successfully': 'All items deleted successfully', - 'Already blocked': 'Already blocked', - 'Already saved': 'Already saved', - 'Application Recommendations': 'Application Recommendations', - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.': - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.', - 'Are you sure you want to delete all items from this store?': - 'Are you sure you want to delete all items from this store?', - 'Are you sure you want to unmute this user? This will restore the follow button.': - 'Are you sure you want to unmute this user? This will restore the follow button.', - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", - 'Article exported as AsciiDoc': 'Article exported as AsciiDoc', - 'Article exported as Markdown': 'Article exported as Markdown', - 'Article title (optional)': 'Article title (optional)', - articleDTagDefaultHint: - 'Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….', - Audio: 'Audio', - Author: 'Author', - 'Author is required for reading groups': 'Author is required for reading groups', - 'Author name (optional)': 'Author name (optional)', - Authors: 'Authors', - 'Block Relay': 'Block Relay', - 'Blocked Relays': 'Blocked Relays', - 'Blocking...': 'Blocking...', - Blossom: 'Blossom', - Book: 'Book', - 'Brief description of the event': 'Brief description of the event', - 'Brief summary (optional)': 'Brief summary (optional)', - 'Brief summary of the article (optional)': 'Brief summary of the article (optional)', - 'Browse Cache': 'Browse Cache', - 'C-Tag': 'C-Tag', - 'Cache Relays': 'Cache Relays', - 'Cache cleared successfully': 'Cache cleared successfully', - 'Cache refreshed successfully': 'Cache refreshed successfully', - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.': - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.', - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)': - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)', - 'Cache relays saved': 'Cache relays saved', - Cancelled: 'Cancelled', - Chapter: 'Chapter', - 'Chapter Title': 'Chapter Title', - 'Chapter title (optional)': 'Chapter title (optional)', - Citation: 'Citation', - 'Citation title (optional)': 'Citation title (optional)', - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.': - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})', - 'Cleanup Duplicates': 'Cleanup Duplicates', - Clear: 'Clear', - 'Clear Cache': 'Clear Cache', - 'Clear Service Worker': 'Clear Service Worker', - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.': - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.', - 'Click update to get the latest features and improvements': - 'Click update to get the latest features and improvements', - Close: 'Close', - 'Comma or space-separated topics (will be added as t-tags)': - 'Comma or space-separated topics (will be added as t-tags)', - Command: 'Command', - Configure: 'Configure', - 'Connect Wallet': 'Connect Wallet', - 'Console Logs': 'Console Logs', - 'Console logs cleared': 'Console logs cleared', - 'Content is required': 'Content is required', - 'Content must be 5000 characters or less': 'Content must be 5000 characters or less', - Controversial: 'Controversial', - 'Copied!': 'Copied!', - 'Copy to clipboard': 'Copy to clipboard', - 'Create Article': 'Create Article', - 'Create Citation': 'Create Citation', - 'Create Highlight': 'Create Highlight', - 'Create New Thread': 'Create New Thread', - 'Create Poll': 'Create Poll', - 'Create Thread': 'Create Thread', - composeModeKind1: 'Short note (kind 1) — turn off other compose types', - 'Create a Spell': 'Create a Spell', - 'Creating...': 'Creating...', - 'D-Tag': 'D-Tag', - 'D-Tag is required for articles': 'D-Tag is required for articles', - DOI: 'DOI', - 'Date-based (all-day)': 'Date-based (all-day)', - 'Default expiration (months)': 'Default expiration (months)', - 'Default quiet period (days)': 'Default quiet period (days)', - 'Delete All': 'Delete All', - 'Delete item': 'Delete item', - 'Deleted {{count}} event(s)': 'Deleted {{count}} event(s)', - 'Deletion request sent': 'Deletion request sent', - 'Description (content)': 'Description (content)', - 'Digital Object Identifier (optional)': 'Digital Object Identifier (optional)', - 'Disable word wrap': 'Disable word wrap', - 'Discovered Relays': 'Discovered Relays', - 'Discovering relays...': 'Discovering relays...', - Discussion: 'Discussion', - Discussions: 'Discussions', - Downvote: 'Downvote', - 'Edited by': 'Edited by', - Editor: 'Editor', - 'Editor name (optional)': 'Editor name (optional)', - 'Enable word wrap': 'Enable word wrap', - 'End date': 'End date', - 'End date must be after start date': 'End date must be after start date', - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.': - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.', - 'Enter a descriptive title for your thread': 'Enter a descriptive title for your thread', - 'Enter the author name': 'Enter the author name', - 'Enter the book title': 'Enter the book title', - 'Enter the specific text you want to highlight in the main content area above': - 'Enter the specific text you want to highlight in the main content area above', - 'Event IDs (ids)': 'Event IDs (ids)', - 'Event appears to be invalid or corrupted': 'Event appears to be invalid or corrupted', - 'Event has no value data': 'Event has no value data', - 'Event is missing required fields: {{fields}}': 'Event is missing required fields: {{fields}}', - 'Event type': 'Event type', - 'Expiration Tags': 'Expiration Tags', - 'Export OPML': 'Export OPML', - 'Export as AsciiDoc': 'Export as AsciiDoc', - 'Export as Markdown': 'Export as Markdown', - 'External Citation': 'External Citation', - 'External Citation Settings': 'External Citation Settings', - 'Failed to add relay. Please try again.': 'Failed to add relay. Please try again.', - 'Failed to add relays': 'Failed to add relays', - 'Failed to block relay. Please try again.': 'Failed to block relay. Please try again.', - 'Failed to cleanup duplicates': 'Failed to cleanup duplicates', - 'Failed to clear cache': 'Failed to clear cache', - 'Failed to copy': 'Failed to copy', - 'Failed to create relay set. Please try again.': - 'Failed to create relay set. Please try again.', - 'Failed to create thread': 'Failed to create thread', - 'Failed to create thread. Please try a different relay.': - 'Failed to create thread. Please try a different relay.', - 'Failed to delete all items': 'Failed to delete all items', - 'Failed to delete item': 'Failed to delete item', - 'Failed to discover relays': 'Failed to discover relays', - 'Failed to export OPML file': 'Failed to export OPML file', - 'Failed to export article': 'Failed to export article', - 'Failed to import OPML file: {{error}}': 'Failed to import OPML file: {{error}}', - 'Failed to load RSS feeds': 'Failed to load RSS feeds', - 'Failed to load store items': 'Failed to load store items', - 'Failed to mute user privately': 'Failed to mute user privately', - 'Failed to mute user publicly': 'Failed to mute user publicly', - 'Failed to pin note': 'Failed to pin note', - 'Failed to publish post': 'Failed to publish post', - 'Failed to publish reply': 'Failed to publish reply', - 'Failed to publish thread': 'Failed to publish thread', - 'Failed to publish to some relays. Please try again or use different relays.': - 'Failed to publish to some relays. Please try again or use different relays.', - 'Failed to save RSS feeds': 'Failed to save RSS feeds', - 'Failed to save cache relays': 'Failed to save cache relays', - 'Failed to save relay list': 'Failed to save relay list', - 'Failed to unregister service worker: ': 'Failed to unregister service worker: ', - 'Failed to unsubscribe from topic': 'Failed to unsubscribe from topic', - Favorite: 'Favorite', - Fetch: 'Fetch', - 'Fetch once, then stop.': 'Fetch once, then stop.', - 'Filter by': 'Filter by', - 'Flat View': 'Flat View', - 'Font size': 'Font size', - 'Full Quote/Context': 'Full Quote/Context', - 'Full-text search query': 'Full-text search query', - Geohash: 'Geohash', - 'Geohash (optional)': 'Geohash (optional)', - 'Global quiet mode': 'Global quiet mode', - 'Group discussions by topic': 'Group discussions by topic', - 'Grouped View': 'Grouped View', - Groups: 'Groups', - 'Handler {{index}}': 'Handler {{index}}', - 'Hardcopy Citation': 'Hardcopy Citation', - 'Hardcopy Citation Settings': 'Hardcopy Citation Settings', - Hide: 'Hide', - 'Hide interactions on all posts': 'Hide interactions on all posts', - 'Hide interactions on posts with quiet tags': 'Hide interactions on posts with quiet tags', - 'High PoW': 'High PoW', - 'Higher values make your thread harder to mine but more unique.': - 'Higher values make your thread harder to mine but more unique.', - Highlight: 'Highlight', - 'Highlight Settings': 'Highlight Settings', - 'How to Create a Highlight (NIP-84)': 'How to Create a Highlight (NIP-84)', - 'Human-readable spell name': 'Human-readable spell name', - 'Image URL': 'Image URL', - 'Import OPML': 'Import OPML', - 'Imported {{count}} feed(s) from OPML file': 'Imported {{count}} feed(s) from OPML file', - 'In-Browser Cache': 'In-Browser Cache', - Insert: 'Insert', - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).': - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).', - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.': - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.', - 'Insert event or address': 'Insert event or address', - 'Insert mention': 'Insert mention', - 'Internal Citation': 'Internal Citation', - 'Internal Citation Settings': 'Internal Citation Settings', - 'Invalid Event': 'Invalid Event', - 'Invalid Lightning Address': 'Invalid Lightning Address', - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.': - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.', - 'Invalid URL': 'Invalid URL', - 'Invalid content JSON': 'Invalid content JSON', - 'Invalid relay URL': 'Invalid relay URL', - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.': - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.', - 'Item deleted successfully': 'Item deleted successfully', - JSON: 'JSON', - 'Join link': 'Join link', - 'Journal/Publication name (optional)': 'Journal/Publication name (optional)', - Json: 'JSON', - Kinds: 'Kinds', - 'Language Model': 'Language Model', - Large: 'Large', - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link': - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link', - 'Lightning payment failed': 'Lightning payment failed', - Limit: 'Limit', - 'Live feed; keeps updating.': 'Live feed; keeps updating.', - 'Loading more...': 'Loading more...', - 'Loading relays...': 'Loading relays...', - 'Location (optional)': 'Location (optional)', - 'Log in to run this spell (it uses $me or $contacts).': - 'Log in to run this spell (it uses $me or $contacts).', - 'Login failed': 'Login failed', - 'Login to configure RSS feeds': 'Login to configure RSS feeds', - 'Long-form Article': 'Long-form Article', - 'Mailbox relays saved': 'Mailbox relays saved', - 'Mark as NSFW': 'Mark as NSFW', - 'Maximum {{max}} invitees': 'Maximum {{max}} invitees', - 'Maximum {{max}} invitees allowed': 'Maximum {{max}} invitees allowed', - Medium: 'Medium', - Mode: 'Mode', - 'Most Zapped': 'Most Zapped', - 'Move to top': 'Move to top', - 'Multiple choice': 'Multiple choice', - 'Mute failed': 'Mute failed', - NSFW: 'NSFW', - Name: 'Name', - 'Name of the language model used': 'Name of the language model used', - 'New External Citation': 'New External Citation', - 'New Hardcopy Citation': 'New Hardcopy Citation', - 'New Highlight': 'New Highlight', - 'New Internal Citation': 'New Internal Citation', - 'New Long-form Article': 'New Long-form Article', - 'New Poll': 'New Poll', - 'New Discussion': 'New Discussion', - 'New Prompt Citation': 'New Prompt Citation', - 'New Public Message': 'New Public Message', - 'New Wiki Article': 'New Wiki Article', - 'New Wiki Article (Markdown)': 'New Wiki Article (Markdown)', - Newest: 'Newest', - 'No JSON available': 'No JSON available', - 'No RSS feeds found in OPML file': 'No RSS feeds found in OPML file', - 'No cached data found.': 'No cached data found.', - 'No console logs captured yet': 'No console logs captured yet', - 'No events found': 'No events found', - 'No feeds configured. Default feed will be used.': - 'No feeds configured. Default feed will be used.', - 'No feeds to export': 'No feeds to export', - 'No groups available. Join some groups first.': 'No groups available. Join some groups first.', - 'No items in this store.': 'No items in this store.', - 'No items match your search.': 'No items match your search.', - 'No logs match the current filters': 'No logs match the current filters', - 'No posts found': 'No posts found', - 'No posts match your search': 'No posts match your search', - 'No relays available. Please configure relays in settings.': - 'No relays available. Please configure relays in settings.', - 'No service workers or caches found for this app': - 'No service workers or caches found for this app', - 'No users found': 'No users found', - 'No valid RSS feed URLs found in OPML file': 'No valid RSS feed URLs found in OPML file', - 'Note pinned': 'Note pinned', - 'Note unpinned': 'Note unpinned', - Oldest: 'Oldest', - 'Open Timestamp': 'Open Timestamp', - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.': - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.', - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.': - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.', - Optional: 'Optional', - 'Optional image for the event': 'Optional image for the event', - 'Optionally, add the full quote/context to show your highlight within it': - 'Optionally, add the full quote/context to show your highlight within it', - PM: 'PM', - 'Page Range': 'Page Range', - Pages: 'Pages', - 'Paste URL of a GIF': 'Paste URL of a GIF', - 'Paste URL of a meme image': 'Paste URL of a meme image', - 'Paste the entire original passage that contains your highlight': - 'Paste the entire original passage that contains your highlight', - Photo: 'Photo', - 'Picture Note': 'Picture Note', - 'Pin note': 'Pin note', - 'Plain text description of the query': 'Plain text description of the query', - 'Please login to view bookmarks': 'Please login to view bookmarks', - 'Please select a group': 'Please select a group', - 'Please select at least one relay': 'Please select at least one relay', - 'Please set a start date': 'Please set a start date', - 'Poll with no options': 'Poll with no options', - 'Post published to some relays': 'Post published to some relays', - 'Posts will automatically include expiration tags': - 'Posts will automatically include expiration tags', - 'Posts will automatically include quiet tags': 'Posts will automatically include quiet tags', - 'Posts will be quiet for this many days': 'Posts will be quiet for this many days', - 'Posts will expire after this many months': 'Posts will expire after this many months', - 'Processing...': 'Processing...', - 'Profile event not available': 'Profile event not available', - 'Prompt Citation': 'Prompt Citation', - 'Prompt Citation Settings': 'Prompt Citation Settings', - 'Prompt Conversation Script': 'Prompt Conversation Script', - 'Proof of Work': 'Proof of Work', - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post': - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post', - 'Publish to Relays': 'Publish to Relays', - 'Published By': 'Published By', - 'Published In': 'Published In', - 'Published On': 'Published On', - 'Published in': 'Published in', - 'Published on': 'Published on', - 'Publisher name (optional)': 'Publisher name (optional)', - 'Quiet Tags': 'Quiet Tags', - 'RSS Feed': 'RSS Feed', - 'RSS + Web': 'RSS + Web', - 'RSS feed source': 'RSS feed source', - 'All feed sources': 'All feed sources', - 'RSS feed view mode': 'RSS feed view mode', - 'Article URLs': 'Article URLs', - 'Article URLs subtitle': - 'One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.', - 'Article URLs Nostr manual subtitle': - 'Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.', - 'RSS feed column title': 'RSS & linked articles', - 'RSS feed column subtitle': - 'Feed entries and article cards that include at least one item from your subscribed RSS feeds.', - 'RSS timeline': 'RSS timeline', - 'RSS timeline subtitle': - 'Every item from your subscribed feeds, newest first — classic RSS reader.', - URLs: 'URLs', - RSS: 'RSS', - 'No URL-only items yet': 'No URL-only items yet', - 'Respond to this RSS entry': 'Respond to this RSS entry', - 'RSS read-only thread hint': - 'Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.', - 'RSS feed item label': 'RSS', - 'Web URL item label': 'Web URL', - 'URL thread activity': 'URL thread activity', - 'Suppress Clawstr links in RSS previews': 'Hide clawstr.com in RSS and URL feed', - 'Hide local, media & feed URLs from URL cards': - 'Hide local, media, feed, document & XML links from the feed', - 'RSS articles': 'RSS articles', - 'Web comments': 'Web comments', - 'Web highlights': 'Web highlights', - 'In your bookmarks': 'In your bookmarks', - '{{count}} RSS entries for this URL': '{{count}} RSS entries for this URL', - '{{count}} entries for this article URL': '{{count}} entries for this article URL', - 'No comments yet': 'No comments yet', - 'No highlights yet': 'No highlights yet', - 'Showing {{filtered}} of {{total}} entries': 'Showing {{filtered}} of {{total}} entries', - standardRssFeed_spotifeed: 'Spotify playlist (Spotifeed)', - standardRssFeed_youtube: 'YouTube feed', - standardRssFeed_youtubeChannel: 'YouTube channel feed', - standardRssFeed_youtubePlaylist: 'YouTube playlist feed', - standardRssFeed_feedburner: 'FeedBurner', - standardRssFeed_reddit: 'Reddit RSS', - standardRssFeed_substack: 'Substack', - standardRssFeed_medium: 'Medium', - 'RSS Feed Settings': 'RSS Feed Settings', - 'Follow sets': 'Follow sets', - 'Follow sets settings intro': - 'NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.', - 'New follow set': 'New follow set', - 'Edit follow set': 'Edit follow set', - 'No follow sets yet': 'You have not created any follow sets yet.', - 'Follow set saved': 'Follow set saved', - 'Follow set deleted': 'Follow set deleted', - 'Failed to load follow sets': 'Failed to load follow sets', - members: 'members', - 'Optional display title': 'Optional display title', - 'List id (d tag)': 'List id (d tag)', - 'Follow set d tag hint': - 'Stable identifier for this list. It cannot be changed after the first publish.', - 'People in this list': 'People in this list', - 'Delete follow set?': 'Delete this follow set?', - 'Delete follow set confirm': - 'This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.', - 'Remove feed': 'Remove feed', - 'RSS Feeds': 'RSS Feeds', - 'RSS feeds exported to OPML file': 'RSS feeds exported to OPML file', - 'RSS feeds saved': 'RSS feeds saved', - 'Rate limited. Please wait before trying again.': - 'Rate limited. Please wait before trying again.', - 'Reaction published': 'Reaction published', - 'Reaction removed': 'Reaction removed', - 'Read full article': 'Read full article', - 'Reading group entry': 'Reading group entry', - 'Readings Options': 'Readings Options', - Recipients: 'Recipients', - 'Recipients detected from your message:': 'Recipients detected from your message:', - 'Recommended Relays': 'Recommended Relays', - 'Recommended applications for handling events of kind {{kind}}': - 'Recommended applications for handling events of kind {{kind}}', - 'Reference to the cited Nostr event in kind:pubkey:hex format': - 'Reference to the cited Nostr event in kind:pubkey:hex format', - 'Refresh Cache': 'Refresh Cache', - 'Refreshing posts...': 'Refreshing posts...', - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.': - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.', - Relay: 'Relay', - 'Relay Hint': 'Relay Hint', - 'Relay URL (optional)': 'Relay URL (optional)', - 'Relay blocked successfully': 'Relay blocked successfully', - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.': - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.', - 'Relay set options': 'Relay set options', - 'Remove from favorites': 'Remove from favorites', - Rendered: 'Rendered', - 'Reply published': 'Reply published', - 'Reply published to some relays': 'Reply published to some relays', - 'Reply to Public Message': 'Reply to Public Message', - 'Republish to all active relays': 'Republish to all active relays', - 'Republish to all available relays': 'Republish to all available relays', - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.': - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.', - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.': - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.', - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Respect quiet tags': 'Respect quiet tags', - 'Search (NIP-50)': 'Search (NIP-50)', - 'Search by name or npub…': 'Search by name or npub…', - 'Search calendar, publications, wiki…': 'Search calendar, publications, wiki…', - 'Search for user…': 'Search for user…', - 'Search items...': 'Search items...', - 'Search logs...': 'Search logs...', - 'Search notes, threads, long-form…': 'Search notes, threads, long-form…', - 'Search on GifBuddy': 'Search on GifBuddy', - 'Search on Meme Amigo': 'Search on Meme Amigo', - 'Search posts...': 'Search posts...', - 'Search threads by title, content, tags, npub, author...': - 'Search threads by title, content, tags, npub, author...', - 'Searching all available relays...': 'Searching all available relays...', - 'Searching…': 'Searching…', - 'See reference': 'See reference', - 'Select Group': 'Select Group', - 'Select Media Type': 'Select Media Type', - 'Select group...': 'Select group...', - 'Select relays': 'Select relays', - 'Publish relay cap hint': - 'At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Publish relay cap hint with outbox first': - 'At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Select the group where you want to create this discussion.': - 'Select the group where you want to create this discussion.', - 'Select topic...': 'Select topic...', - 'Selected text': 'Selected text', - 'Send Public Message': 'Send Public Message', - 'Send a Lightning payment to this user': 'Send a Lightning payment to this user', - 'Service worker caches cleared. Please reload the page.': - 'Service worker caches cleared. Please reload the page.', - 'Service worker unregistered and caches cleared. Please reload the page.': - 'Service worker unregistered and caches cleared. Please reload the page.', - 'Service worker unregistered. Please reload the page.': - 'Service worker unregistered. Please reload the page.', - 'Share your thoughts, ask questions, or start a discussion...': - 'Share your thoughts, ask questions, or start a discussion...', - 'Short Video Note': 'Short Video Note', - 'Show RSS Feed': 'Show RSS Feed', - 'Show all discussions in a single list': 'Show all discussions in a single list', - 'Show less': 'Show less', - Since: 'Since', - Small: 'Small', - 'Some relays have temporarily disabled writes.': - 'Some relays have temporarily disabled writes.', - Source: 'Source', - 'Spell definition': 'Spell definition', - 'Spell published': 'Spell published', - 'Start date': 'Start date', - 'Start typing to see a preview...': 'Start typing to see a preview...', - 'Subject (Book Title)': 'Subject (Book Title)', - 'Subject (book title) is required for reading groups': - 'Subject (book title) is required for reading groups', - 'Subject / Topics': 'Subject / Topics', - Subscribe: 'Subscribe', - Subscribed: 'Subscribed', - 'Subscribed to topic': 'Subscribed to topic', - 'Subscribed to topic (local)': 'Subscribed to topic (local)', - 'Subscribing...': 'Subscribing...', - Summary: 'Summary', - 'Supported Event Types': 'Supported Event Types', - 'Take a note': 'Take a note', - 'The full prompt conversation (optional)': 'The full prompt conversation (optional)', - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.': - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.', - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.': - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.', - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.': - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.', - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a Nostr event of kind {{kind}}.': - 'This GIF was found in a Nostr event of kind {{kind}}.', - 'This file could be either audio or video. Please select the correct type:': - 'This file could be either audio or video. Please select the correct type:', - 'This store does not contain replaceable events': - 'This store does not contain replaceable events', - 'This will add additional tags for author and subject to help organize reading group discussions.': - 'This will add additional tags for author and subject to help organize reading group discussions.', - 'Thread Content': 'Thread Content', - 'Thread Title': 'Thread Title', - 'Thread creation timed out. Please try again.': 'Thread creation timed out. Please try again.', - 'Thread published': 'Thread published', - 'Threads are organized by topics. Choose a topic that best fits your discussion.': - 'Threads are organized by topics. Choose a topic that best fits your discussion.', - 'Time-based': 'Time-based', - 'Title is required': 'Title is required', - 'Title must be 100 characters or less': 'Title must be 100 characters or less', - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.': - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.', - Top: 'Top', - Topic: 'Topic', - URL: 'URL', - 'URL of the article cover image (optional)': 'URL of the article cover image (optional)', - 'Unique identifier for this article (required)': - 'Unique identifier for this article (required)', - 'Unmute failed': 'Unmute failed', - 'Unpin note': 'Unpin note', - Unsubscribe: 'Unsubscribe', - 'Unsubscribed from topic': 'Unsubscribed from topic', - 'Unsubscribing...': 'Unsubscribing...', - Until: 'Until', - Untitled: 'Untitled', - Update: 'Update', - 'Updating...': 'Updating...', - 'Upload Audio Comment': 'Upload Audio Comment', - 'Upload Audio Message': 'Upload Audio Message', - 'Upload Media': 'Upload Media', - Upvote: 'Upvote', - 'User unmuted': 'User unmuted', - 'Version number (optional)': 'Version number (optional)', - Video: 'Video', - 'Video Note': 'Video Note', - 'Video file': 'Video file', - 'View Console Logs': 'View Console Logs', - 'View JSON': 'View JSON', - 'View cached items in this store.': 'View cached items in this store.', - 'View definition': 'View definition', - 'View details about cached data in IndexedDB stores. Click on a store to view its items.': - 'View details about cached data in IndexedDB stores. Click on a store to view its items.', - 'View on Alexandria': 'View on Alexandria', - 'View on DecentNewsroom': 'View on DecentNewsroom', - 'View on Wikistr': 'View on Wikistr', - 'View recent console logs for debugging': 'View recent console logs for debugging', - 'Voice Comment': 'Voice Comment', - 'Voice Note': 'Voice Note', - 'Voice note or audio file': 'Voice note or audio file', - Volume: 'Volume', - 'Volume number (optional)': 'Volume number (optional)', - 'Vote published': 'Vote published', - 'Vote removed': 'Vote removed', - 'Website where LLM was accessed (optional)': 'Website where LLM was accessed (optional)', - 'Wiki Article (AsciiDoc)': 'Wiki Article (AsciiDoc)', - 'Wiki Article (Markdown)': 'Wiki Article (Markdown)', - 'You can only delete your own notes': 'You can only delete your own notes', - 'You must be logged in to create a thread': 'You must be logged in to create a thread', - 'You need to add at least one media server in order to upload media files.': - 'You need to add at least one media server in order to upload media files.', - 'You need to login first': 'You need to login first', - 'Your account is blocked from posting to this relay.': - 'Your account is blocked from posting to this relay.', - Zap: 'Zap', - 'Zap failed': 'Zap failed', - created_at: 'created_at', - 'e tag of kind 1040 event (optional)': 'e tag of kind 1040 event (optional)', - 'e.g. meetup, conference': 'e.g. meetup, conference', - 'e.g., 123-145 (optional)': 'e.g., 123-145 (optional)', - 'e.g., GPT-4, Claude, etc. (required)': 'e.g., GPT-4, Claude, etc. (required)', - 'e.g., my-article-title': 'e.g., my-article-title', - entries: 'entries', - 'from Bunker': 'from Bunker', - 'from Extension': 'from Extension', - 'from NIP-05': 'from NIP-05', - general: 'general', - 'https://example.com (required)': 'https://example.com (required)', - 'https://example.com/image.jpg': 'https://example.com/image.jpg', - id: 'id', - items: 'items', - kind: 'kind', - 'kind:pubkey:hex format (required)': 'kind:pubkey:hex format (required)', - 'last updated': 'last updated', - matching: 'matching', - naddr: 'naddr', - nevent: 'nevent', - 'nevent1..., naddr1..., note1..., hex ID, or https://...': - 'nevent1..., naddr1..., note1..., hex ID, or https://...', - 'no notes found': 'no notes found', - of: 'of', - 'on note': 'on note', - optional: 'optional', - pubkey: 'pubkey', - 'sent a public message': 'sent a public message', - 'sent you a public message': 'sent you a public message', - 'sent you a public message (along with {{count}} others)': - 'sent you a public message (along with {{count}} others)', - sig: 'sig', - 'started a discussion in {{topic}}': 'started a discussion in {{topic}}', - tags: 'tags', - thread: 'thread', - threads: 'threads', - 'topic1, topic2, topic3': 'topic1, topic2, topic3', - '{{count}} relay(s) selected': '{{count}} relay(s) selected', - '🔞 NSFW 🔞': '🔞 NSFW 🔞', - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).': - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).', - 'Failed to refresh': 'Failed to refresh', - 'Invalid article link.': 'Invalid article link.', - Likes: 'Likes', - 'Loading…': 'Loading…', - 'Missing pubkey': 'Missing pubkey', - 'No RSS feed list found on relays': 'No RSS feed list found on relays', - 'Pinned posts': 'Pinned posts', - 'Publishing...': 'Publishing...', - 'RSS article': 'RSS article', - 'RSS feed list refreshed': 'RSS feed list refreshed', - 'Save or discard your changes before refreshing from relays': - 'Save or discard your changes before refreshing from relays', - 'Suggested topics': 'Suggested topics', - 'Synthetic event (no author)': 'Synthetic event (no author)', - 'Topic is required': 'Topic is required', - 'Type a topic or pick from the list': 'Type a topic or pick from the list', - profileEditorRefreshCacheHint: 'profileEditorRefreshCacheHint', - startupSessionHydrating: 'startupSessionHydrating' - } -} diff --git a/src/i18n/locales/nl.ts b/src/i18n/locales/nl.ts new file mode 100644 index 00000000..01f091b6 --- /dev/null +++ b/src/i18n/locales/nl.ts @@ -0,0 +1,2010 @@ +export default { + translation: { + // NOTE: Untranslated strings fall back to English. + + "Welcome! 🥳": "Welcome! 🥳", + About: "About", + "New Note": "New Note", + Post: "Post", + Home: "Home", + Feed: "Feed", + "Favorite Relays": "Favorite Relays", + "Relay pulse": "Relay pulse", + "Relay pulse empty": "Quiet on your relays in the last hour.", + "Relay pulse follows": "Following ({{count}})", + "Relay pulse others": "Others ({{count}})", + "Relay pulse updated": "Updated {{relative}}", + "Relay pulse active npubs": "Active npubs", + "Relay pulse active npubs hint": "Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).", + "Relay pulse drawer following": "Following", + "Relay pulse drawer others": "Others", + "Relay pulse drawer no profiles": "No kind 0 profiles loaded for this sample yet.", + "See the newest notes from your follows": "See the newest notes from your follows", + "All favorite relays": "All favorite relays", + "Pinned note": "Pinned note", + "Relay settings": "Relays and Storage Settings", + "Relay auth accepted (NIP-42)": "The relay accepted authentication (NIP-42): {{relay}}{{detailSuffix}}", + "Relay auth rejected (NIP-42)": "The relay rejected authentication (NIP-42): {{relay}} — {{message}}", + "Relay auth error unknown": "Unknown error", + Settings: "Settings", + "Account menu": "Account menu", + SidebarRelays: "Relays", + Refresh: "Refresh", + "refresh.longPressHardReload": "Long-press: reload app and restore feed cache", + "link.expandNostrEmbed": "Show Nostr preview", + Profile: "Profile", + Logout: "Logout", + Following: "Following", + followings: "followings", + boosted: "boosted", + "Boosted by:": "Boosted by:", + "just now": "just now", + "n minutes ago": "{{n}} minutes ago", + "n m": "{{n}}m", + "n hours ago": "{{n}} hours ago", + "n h": "{{n}}h", + "n days ago": "{{n}} days ago", + "n d": "{{n}}d", + date: "{{timestamp, date}}", + Follow: "Follow", + Unfollow: "Unfollow", + "Follow failed": "Follow failed", + "Unfollow failed": "Unfollow failed", + "show new notes": "show new notes", + "loading...": "loading...", + "Loading...": "Loading...", + "no more notes": "no more notes", + "calendar entries": "calendar entries", + "Loading calendar events...": "Loading calendar events...", + "No calendar events found": "No calendar events found", + "Calendar events in the next {{count}} months": "Calendar events in the next {{count}} months", + "The nostr.band relay appears to be temporarily out of service. Please try again later.": "The nostr.band relay appears to be temporarily out of service. Please try again later.", + "reply to": "reply to", + reply: "reply", + Reply: "Reply", + "load more older replies": "load more older replies", + "Write something...": "Write something...", + Cancel: "Cancel", + Mentions: "Mentions", + "Search for event or address…": "Search for event or address…", + "Search notes…": "Search notes…", + "No notes found": "No notes found", + "Failed to post": "Failed to post", + "Post successful": "Post successful", + "Your post has been published": "Your post has been published", + Boost: "Boost", + "Boost published": "Boost published", + Quote: "Quote", + "Copy event ID": "Copy event ID", + "Copy user ID": "Copy user ID", + "Send public message": "Send public message", + "View raw event": "View raw event", + "Edit this event": "Edit this event", + "Clone or fork this event": "Clone or fork this event", + "Event kind": "Event kind", + "Note content": "Note content", + Publish: "Publish", + "Post published": "Post published", + "Edit content and tags, then publish a new signed event.": "Edit content and tags, then publish a new signed event.", + "Log in to publish": "Log in to publish", + "Set when you publish": "set when you publish", + "id and sig are assigned when you publish": "id and sig are assigned when you publish", + "Published to some relays only": "Published to some relays only", + "Add field": "Add field", + "View full profile": "View full profile", + Like: "Like", + "switch to light theme": "switch to light theme", + "switch to dark theme": "switch to dark theme", + "switch to system theme": "switch to system theme", + Note: "Note", + note: "note", + "username's following": "{{username}}'s following", + "username's used relays": "{{username}}'s used relays", + "username's muted": "{{username}}'s muted", + Login: "Login", + downloadDesktopApp: "Download app", + "Please log in to view notifications.": "Please log in to view notifications.", + "Follows you": "Follows you", + "Relay Settings": "Relays and Storage Settings", + "Relays and Storage Settings": "Relays and Storage Settings", + "Relay set name": "Relay set name", + "Add a new relay set": "Add a new relay set", + Add: "Add", + "n relays": "{{n}} relays", + Rename: "Rename", + "Copy share link": "Copy share link", + "Copy address": "Copy address", + "Copy payto URI": "Copy payto URI", + "Copied payto address": "Copied payto address", + "Copied to clipboard": "Copied to clipboard", + "Copied {{label}} address": "Copied {{label}} address", + "Lightning payment address – copy to pay via your wallet": "Lightning payment address – copy to pay via your wallet", + "Payment address – copy to use in your wallet or app": "Payment address – copy to use in your wallet or app", + "Click to open payment options": "Click to open payment options", + "Click to copy address": "Click to copy address", + "Open on website": "Open on website", + "Raw profile event": "Raw profile event", + "Full profile event": "Full profile event", + "Event (JSON)": "Event (JSON)", + "Save full profile": "Save full profile", + "Add tag": "Add tag", + "Remove tag": "Remove tag", + "Tag name": "Tag name", + Value: "Value", + "Add value to tag": "Add value to tag", + "Remove value": "Remove value", + "No tags. Click \"Add tag\" to add one.": "No tags. Click \"Add tag\" to add one.", + "Profile updated": "Profile updated", + "Failed to publish profile": "Failed to publish profile", + "Invalid profile JSON": "Invalid profile JSON", + "Refresh cache": "Refresh cache", + "Force-refresh profile and payment info from relays": "Force-refresh profile and payment info from relays", + "Profile and payment cache refreshed": "Profile and payment cache refreshed", + "Failed to refresh cache": "Failed to refresh cache", + "Raw payment info event": "Raw payment info event", + "Payment info": "Payment info", + "Edit payment info": "Edit payment info", + "Add payment info": "Add payment info", + "No payment info event yet. Click \"Add payment info\" to create one.": "No payment info event yet. Click \"Add payment info\" to create one.", + "Content (JSON)": "Content (JSON)", + Tags: "Tags", + "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])": "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])", + "Payment info updated": "Payment info updated", + "Failed to publish payment info": "Failed to publish payment info", + "Invalid tags JSON": "Invalid tags JSON", + "Payment methods": "Payment methods", + "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).": "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).", + "Type (e.g. lightning)": "Type (e.g. lightning)", + "Authority (e.g. user@domain.com)": "Authority (e.g. user@domain.com)", + "Add payment method": "Add payment method", + Remove: "Remove", + "Additional content (JSON)": "Additional content (JSON)", + "Show full event JSON": "Show full event JSON", + "Tag list": "Tag list", + "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.": "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.", + "Tag value": "Tag value", + "Saving…": "Saving…", + "Share with Imwald": "Share with Imwald", + "Share with Alexandria": "Share with Alexandria", + "Start video call": "Start video call", + "Copy call invite link": "Copy call invite link", + "Start call about this": "Start call about this", + "Send call invite": "Send call invite", + "Read this note aloud": "Read this note aloud", + "Read-aloud is not supported in this browser": "Read-aloud is not supported in this browser", + "Nothing to read aloud": "Nothing to read aloud", + "Read-aloud failed": "Read-aloud failed", + "Read aloud": "Read aloud", + "Read-aloud idle": "Idle", + "Preparing read-aloud…": "Preparing read-aloud…", + "Requesting audio…": "Requesting audio…", + "Loading audio…": "Loading audio…", + "Preparing player…": "Preparing player…", + "Starting stream…": "Starting stream…", + "Loading media…": "Loading media…", + "Buffering…": "Buffering…", + Playing: "Playing", + Paused: "Paused", + "Read-aloud finished": "Finished", + "Read-aloud error": "Error", + "TTS endpoint": "TTS endpoint", + "Using browser speech synthesis": "Using browser speech synthesis", + "Read-aloud section progress": "Section {{current}} of {{total}}", + "Request sent": "Request sent", + "Response received": "Response received", + "Playback started": "Playback started", + Characters: "Characters", + Pause: "Pause", + Play: "Play", + Stop: "Stop", + "Read-aloud sections": "Read-aloud sections", + "Read-aloud overall progress": "Overall progress", + "Read-aloud section done": "Section {{index}}: finished", + "Read-aloud section pending": "Section {{index}}: not started yet", + "Read-aloud section fetching": "Section {{index}}: requesting audio", + "Read-aloud section preparing audio": "Section {{index}}: loading audio", + "Read-aloud section playing": "Section {{index}}: playing", + "Read-aloud section paused": "Section {{index}}: paused", + "Read-aloud legend fetching": "Requesting audio for this section from the server…", + "Read-aloud legend buffering": "Decoding audio for this section…", + "Read-aloud legend playing": "Playing this section.", + "Read-aloud legend paused": "Playback paused.", + "Read-aloud Piper fallback notice": "Server voice (Piper) could not be used. Playing with your browser voice instead.", + "Read-aloud Piper fallback detail label": "Piper error", + "Read-aloud Piper status region": "Piper text-to-speech status", + "Read-aloud Piper status heading": "Piper (server voice)", + "Read-aloud Piper skipped notice": "No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.", + "Read-aloud Piper attempt started": "Piper was started at {{time}} (this read-aloud used the server first).", + "Read-aloud Piper endpoint tried": "URL used: {{url}}", + "Join the video call": "Join the video call", + "Schedule video call": "Schedule video call", + "You're invited to a scheduled video call.": "You're invited to a scheduled video call.", + "Create a calendar event and send an invite. The recipient will see the event with a join link.": "Create a calendar event and send an invite. The recipient will see the event with a join link.", + "Schedule a video call": "Schedule a video call", + "Create a calendar event and send kind 24 invites to each listed invitee.": "Create a calendar event and send kind 24 invites to each listed invitee.", + Invitees: "Invitees", + "Paste nostr:npub1... or nostr:nprofile1... (one or more)": "Paste nostr:npub1... or nostr:nprofile1... (one or more)", + "Schedule and send invites": "Schedule and send invites", + "Add at least one invitee (paste nostr:npub or nostr:nprofile links)": "Add at least one invitee (paste nostr:npub or nostr:nprofile links)", + "Scheduled call created and {{count}} invite(s) sent": "Scheduled call created and {{count}} invite(s) sent", + "Join video call": "Join video call", + "Scheduled video call": "Scheduled video call", + "Video call": "Video call", + "Schedule and send invite": "Schedule and send invite", + "Scheduling…": "Scheduling…", + "Please set a start time": "Please set a start time", + "End time must be after start time": "End time must be after start time", + "Failed to schedule call": "Failed to schedule call", + "Scheduled call created and invite sent": "Scheduled call created and invite sent", + RSVP: "RSVP", + "RSVP: {{status}}": "RSVP: {{status}}", + Accepted: "Accepted", + Tentative: "Tentative", + Declined: "Declined", + "You need to log in to RSVP": "You need to log in to RSVP", + "RSVP updated": "RSVP updated", + "Failed to update RSVP": "Failed to update RSVP", + Organizer: "Organizer", + Attendees: "Attendees", + "No response": "No response", + "Calendar Events": "Calendar Events", + "Calendar Event": "Calendar Event", + "Schedule in-person meeting": "Schedule in-person meeting", + "Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.": "Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.", + "You're invited to an in-person meeting.": "You're invited to an in-person meeting.", + "Meeting created and invite sent": "Meeting created and invite sent", + "Failed to create meeting": "Failed to create meeting", + "Create and send invite": "Create and send invite", + "Creating…": "Creating…", + "In-person meeting": "In-person meeting", + Location: "Location", + "Address, venue, or place": "Address, venue, or place", + Description: "Description", + "Optional notes": "Optional notes", + "Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.": "Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.", + "Meeting created and {{count}} invite(s) sent": "Meeting created and {{count}} invite(s) sent", + "Create and send invites": "Create and send invites", + Title: "Title", + Start: "Start", + End: "End", + Delete: "Delete", + "Relay already exists": "Relay already exists", + "invalid relay URL": "invalid relay URL", + "Relay URL…": "wss://… or relay host", + "Open relay": "Open relay", + "Add a new relay": "Add a new relay", + back: "back", + "Lost in the void": "Lost in the void", + "Carry me home": "Carry me home", + "no replies": "no replies", + "Reply to": "Reply to", + Search: "Search", + "The relays you are connected to do not support search": "The relays you are connected to do not support search", + "Show more...": "Show more...", + "All users": "All users", + "Display replies": "Display replies", + Notes: "Notes", + Replies: "Replies", + Gallery: "Gallery", + Notifications: "Notifications", + "no more notifications": "no more notifications", + "Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.": "Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.", + "Login with Browser Extension": "Login with Browser Extension", + "Login with Bunker": "Login with Bunker", + "Login with Private Key": "Login with Private Key", + "Login with npub (read-only)": "Login with npub (read-only)", + readOnlySession: {"label":"Read-only","labelShort":"R/O","hint":"Browsing without a signing key. Sign in with an extension, nsec, or another method to post, react, and edit."}, + "reload notes": "reload notes", + "Logged in Accounts": "Logged in Accounts", + "Add an Account": "Add an Account", + "More options": "More options", + "Add client tag": "Add client tag", + "Show others this was sent via Imwald": "Show others this was sent via Imwald", + "Are you sure you want to logout?": "Are you sure you want to logout?", + "relay sets": "relay sets", + edit: "edit", + Languages: "Languages", + Theme: "Theme", + System: "System", + Light: "Light", + Dark: "Dark", + Temporary: "Temporary", + "Choose a relay set": "Choose a relay set", + "Switch account": "Switch account", + Pictures: "Pictures", + "Picture note": "Picture note", + "A special note for picture-first clients like Olas": "A special note for picture-first clients like Olas", + "Picture note requires images": "Picture note requires images", + Relays: "Relays", + Image: "Image", + "This image could not be loaded.": "This image could not be loaded.", + "Invalid or unsupported image address.": "Invalid or unsupported image address.", + "Open image link": "Open image link", + "Upload Image": "Upload Image", + "Insert emoji": "Insert emoji", + "Insert GIF": "Insert GIF", + "Insert meme": "Insert meme", + "Search GIFs": "Search GIFs", + "Search memes": "Search memes", + "Choose a GIF": "Choose a GIF", + "Choose a meme": "Choose a meme", + "Search GifBuddy for more GIFs": "Search GifBuddy for more GIFs", + "Add your own GIFs": "Add your own GIFs", + "Add your own meme templates": "Add your own meme templates", + "Description (optional, for search)": "Description (optional, for search)", + "e.g. happy birthday, thumbs up": "e.g. happy birthday, thumbs up", + "e.g. drake, distracted boyfriend": "e.g. drake, distracted boyfriend", + "Uploading...": "Uploading...", + "No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.": "No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.", + "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).": "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).", + "Failed to publish meme template for the picker": "Failed to publish meme template for the picker", + "{{name}} is not a GIF file": "{{name}} is not a GIF file", + "{{name}} is not a JPEG, PNG, or WebP file": "{{name}} is not a JPEG, PNG, or WebP file", + "R & W": "R & W", + Read: "Read", + Write: "Write", + "Pull relay sets": "Pull relay sets", + "Select the relay sets you want to pull": "Select the relay sets you want to pull", + "No relay sets found": "No relay sets found", + "Pull n relay sets": "Pull {{n}} relay sets", + Pull: "Pull", + "Select all": "Select all", + "Relay Sets": "Relay Sets", + "Read & Write Relays": "Read & Write Relays", + "read relays description": "Read relays are used to seek events about you. Other users will publish the events they want you to see to your read relays.", + "write relays description": "Write relays are used to publish your events. Other users will seek your events from your write relays.", + "read & write relays notice": "The number of read and write servers should ideally be kept between 2 and 4.", + "Don't have an account yet?": "Don't have an account yet?", + "or simply generate a private key": "or simply generate a private key", + "This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.": "This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.", + Edit: "Edit", + Save: "Save", + "Display Name": "Display Name", + Bio: "Bio", + "Nostr Address (NIP-05)": "Nostr Address (NIP-05)", + "Invalid NIP-05 address": "Invalid NIP-05 address", + "Copy private key": "Copy private key", + "Enter the password to decrypt your ncryptsec": "Enter the password to decrypt your ncryptsec", + Back: "Back", + "optional: encrypt nsec": "optional: encrypt nsec", + password: "password", + "Sign up": "Sign up", + "Save to": "Save to", + "Enter a name for the new relay set": "Enter a name for the new relay set", + "Save to a new relay set": "Save to a new relay set", + Mute: "Mute", + Muted: "Muted", + Unmute: "Unmute", + "Unmute user": "Unmute user", + Block: "Block", + Unblock: "Unblock", + blocked: "blocked", + "Append n relays": "Append {{n}} relays", + Append: "Append", + "Select relays to append": "Select relays to append", + "calculating...": "calculating...", + "Calculate optimal read relays": "Calculate optimal read relays", + "Login to set": "Login to set", + "Please login to view following feed": "Please login to view following feed", + "Follow set": "Follow set", + "Follow set feed empty": "This NIP-51 list is empty, was not found, or relays could not load it yet.", + "Send only to r": "Send only to {{r}}", + "Send only to these relays": "Send only to these relays", + Explore: "Explore", + "Relay reviews": "Relay reviews", + "Search relays": "Search relays", + relayInfoBadgeAuth: "Auth", + relayInfoBadgeSearch: "Search", + relayInfoBadgePayment: "Payment", + Operator: "Operator", + Contact: "Contact", + Software: "Software", + Version: "Version", + "Random Relays": "Random Relays", + randomRelaysRefresh: "Refresh", + "Explore more": "Explore more", + "Payment page": "Payment page", + "Supported NIPs": "Supported NIPs", + "Relay liveliness (NIP-66)": "Relay liveliness (NIP-66)", + "Relay monitor (NIP-66)": "Relay monitor (NIP-66)", + "Auth required": "Auth required", + "Public (no auth)": "Public (no auth)", + "Payment required": "Payment required", + "No payment": "No payment", + "Writes required": "Writes required", + "Writes open": "Writes open", + "PoW required": "PoW required", + "No PoW": "No PoW", + "RTT open": "RTT open", + "RTT read": "RTT read", + "RTT write": "RTT write", + "Supported NIPs (from monitor)": "Supported NIPs (from monitor)", + "Last reported by monitor": "Last reported by monitor", + Network: "Network", + Type: "Type", + Topics: "Topics", + "Open in a": "Open in {{a}}", + "Cannot handle event of kind k": "Cannot handle event of kind {{k}}", + "Unsupported event preview": "There isn’t a dedicated card for this event type yet. Here’s a readable preview.", + "No text content in event": "No text in this event.", + "Technical details": "Technical details", + "Event kind and time": "Kind {{kind}} · {{time}}", + "Event kind label": "Kind {{kind}}", + "Note kind label line": "KIND: {{kind}} · {{description}}", + "Unknown note declared kind tag": "Tagged kind: {{value}}", + "Unknown note tagged pubkey": "Tagged pubkey", + "Unknown note tagged content": "Content", + "Unknown note reference tags": "Reference tags (e, p, q, a)", + "Starred spells": "Starred spells", + "Spell star add title": "Star spell (adds to your Nostr bookmarks)", + "Spell star remove title": "Unstar spell (removes from your Nostr bookmarks)", + "Copy JSON": "Copy JSON", + Verse: "Verse", + "Notification reaction summary": "reacted to this note.", + "Notification discussion upvote summary": "upvoted in this discussion.", + "Notification discussion downvote summary": "downvoted in this discussion.", + "Notification boost summary": "Boosted this note", + "Notification boost detail": "The preview above is the original post.", + "Notification poll vote summary": "Voted on the poll above.", + "Notification poll vote options count": "{{count}} option(s) selected", + "Imwald synthetic event": "Imwald synthetic event", + "+ Add a URL to this list": "Add a URL to this list", + "Add a web URL": "Add a web URL", + "Add web URL to feed description": "Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.", + "Add to feed": "Add to feed", + "Open any https page in the side panel to reply, react, and discuss on Nostr.": "Open any https page in the side panel to reply, react, and discuss on Nostr.", + "Enter a valid http(s) URL": "Enter a valid http(s) URL", + "Opened by URL — not from your RSS list. Nostr thread is still tied to this link.": "Opened by URL — not from your RSS list. Nostr thread is still tied to this link.", + "Open in browser": "Open in browser", + "liveEvent.zapStreamPlayer": "Live stream (zap.stream)", + liveStreamEmbedSuppressed: "Inline live stream is hidden because your kind filter excludes NIP-53 streams. Open via njump or another client below.", + "liveEvent.hlsPlaybackUnavailable": "Inline playback failed (the stream may be offline, ended, or blocked). You can still open the hosted watch page below.", + "liveEvent.hideFromCarousel": "Hide from carousel", + "liveEvent.showInCarousel": "Show in carousel", + "liveEvent.hideFromCarouselTitle": "Hide this stream in the live carousel (saved in this browser on this device). Click again to show it.", + "liveEvent.showInCarouselTitle": "Show this stream in the live carousel again.", + "Web page": "Web page", + Open: "Open", + "Sorry! The note cannot be found 😔": "Sorry! The note cannot be found 😔", + "This user has been muted": "This user has been muted", + Wallet: "Wallet", + Sats: "Sats", + sats: "sats", + "Zap to": "Zap to", + "Zap n sats": "Zap {{n}} sats", + zapComment: "Comment", + "Default zap amount": "Default zap amount", + "Default zap comment": "Default zap comment", + "Lightning Address (or LNURL)": "Lightning Address (or LNURL)", + "Quick zap": "Quick zap", + "If enabled, you can zap with a single click. Click and hold for custom amounts": "If enabled, you can zap with a single click. Click and hold for custom amounts", + All: "All", + Reactions: "Reactions", + Zaps: "Zaps", + Boosts: "Boosts", + Badges: "Badges", + Reports: "Reports", + "Enjoying Imwald?": "Enjoying Imwald?", + "Your donation helps me maintain Imwald and make it better! 😊": "Your donation helps me maintain Imwald and make it better! 😊", + "Earlier notifications": "Earlier notifications", + "Temporarily display this note": "Temporarily display this note", + buttonFollowing: "Following", + "Are you sure you want to unfollow this user?": "Are you sure you want to unfollow this user?", + "Recent Supporters": "Recent Supporters", + "Seen on": "Seen on", + "Active relays": "Active relays", + "Not connected": "Not connected", + "Relay session striked": "Skipped this session (too many connection failures)", + "More relays": "+{{count}} relays", + "Temporarily display this reply": "Temporarily display this reply", + "Note not found": "Note not found", + "Invalid embedded note reference": "Invalid embedded note reference", + embeddedNoteInvalidEmpty: "This embedded link is empty.", + embeddedNoteInvalidHex: "This is not a valid hex event id (expected exactly 64 hexadecimal characters).", + embeddedNoteInvalidBech32: "This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.", + embeddedNoteInvalidWrongKind: "This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.", + "The note was not found on your relays or default relays.": "The note was not found on your relays or default relays.", + "Try searching author's relays": "Try searching author's relays", + "Searching external relays...": "Searching external relays...", + "This will connect to the author's relays and relay hints": "This will connect to the author's relays and relay hints", + "Note could not be found anywhere": "Note could not be found anywhere", + "Try external relays": "Try external relays", + "Searching...": "Searching...", + "Show relays": "Show relays", + "No external relay hints available": "No external relay hints available", + "External relay search is not available for this link type": "External relay search is not available for this link type.", + "Searched external relays not found": "Searched {{count}} external relays; the note was still not found.", + "no more replies": "no more replies", + "Relay sets": "Relay sets", + "Search for Relays": "Search for Relays", + "Using app default relays": "Using app default relays", + "Following's Favorites": "Following's Favorites", + "no more relays": "no more relays", + "Favorited by": "Favorited by", + "Post settings": "Post settings", + "Publishing feedback": "Publishing feedback", + "Publish success toasts": "Publish success toasts", + "Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.": "Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.", + "Publish successful": "Publish successful", + "Media upload service": "Media upload service", + "Choose a relay": "Choose a relay", + "no relays found": "no relays found", + video: "video", + "Show n new notes": "Show {{n}} new notes", + YouTabName: "You", + Bookmark: "Bookmark", + "Remove bookmark": "Remove bookmark", + "no bookmarks found": "no bookmarks found", + "no more bookmarks": "no more bookmarks", + Bookmarks: "Bookmarks", + "Follow Packs": "Follow Packs", + "Follow Pack": "Follow Pack", + "Follow pack by": "by", + "In Follow Packs": "In Follow Packs", + "Badge details": "Badge details", + "Issued by": "Issued by", + "Other recipients": "Other recipients", + "No other recipients found": "No other recipients found", + "Recipients could not be loaded": "Recipients could not be loaded", + "View award": "View award", + "Awarded on": "Awarded on", + "Please log in to follow": "Please log in to follow", + "Following All": "Following All", + "Followed {{count}} users": "Followed {{count}} users", + "All available members are already followed or muted": "All available members are already followed or muted", + "You are already following all members of this pack": "You are already following all members of this pack", + "Failed to follow pack": "Failed to follow pack", + "{{count}} profiles": "{{count}} profiles", + "Show more": "Show more", + General: "General", + Autoplay: "Autoplay", + "Enable video autoplay on this device": "Enable video autoplay on this device", + "liveActivities.heading": "Live now", + "liveActivities.regionLabel": "Live spaces and streams", + "liveActivities.fromFollow": "From someone you follow", + "liveActivities.goToSlide": "Show live item {{n}}", + "liveActivities.swipeToBrowse": "Swipe left or right on the banner to switch between live activities.", + "liveActivities.viewNoteTitle": "Open this live activity as a note (play in app, links below)", + "liveActivities.openJoinPageTitle": "Open the join page in a new tab (e.g. zap.stream or the room site)", + "liveActivities.settingsToggle": "Live activities banner", + "liveActivities.settingsHint": "Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.", + "Add random relays to every publish": "Random relays in publish list", + "Add random relays to every publish description": "Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.", + relayType_local: "Local", + relayType_relay_list: "Relay list", + relayType_http_relay_list: "HTTP", + "HTTP relays": "HTTP relays", + httpRelaysDescription: "HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.", + "HTTP relays saved": "HTTP relays saved", + "Failed to save HTTP relay list": "Failed to save HTTP relay list", + "HTTP relays must start with https:// or http://": "HTTP relays must start with https:// or http://", + relayType_client_default: "Client default", + relayType_open_from: "Current feed", + relayType_favorite: "Favorite", + relayType_relay_set: "Relay set", + relayType_contextual: "Reply/PM", + relayType_randomly_selected: "Random (optional)", + "Session relays": "Session relays", + "Session relays tab description": "Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish). Striked relays are skipped for reads and publishes until reload.", + "Session relays preset working": "Working preset relays", + "Session relays preset working hint": "Preset relays (from app defaults) that have not reached the session failure threshold (2 failures).", + "Session relays preset striked": "Striked preset relays", + "Session relays preset striked hint": "Preset relays that have reached 2 connection or publish failures this session and are skipped for reads and writes until you reload the app.", + "Session relays scored random": "Scored random relays", + "Session relays scored random hint": "Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.", + "Session relays all striked": "All striked relays (any source)", + "Session relays clear strike": "Allow again", + "Session relays clear strike hint": "Remove this relay from the session block list; it will be used again until new connection failures.", + "relaySessionStrikes.bannerWarning": "This relay has {{count}} session strike(s) (limit {{threshold}}) after connection or query failures.", + "relaySessionStrikes.bannerSkipped": "This relay has reached the session failure limit ({{threshold}} strikes) and is skipped for reads and publishes in this tab.", + "relaySessionStrikes.refreshHint": "Use {{refresh}} to clear strikes for this relay and load the feed again.", + successes: "successes", + None: "None", + "Cache & offline storage": "Cache & offline storage", + feedStarting: "Starting feeds and relays… This can take a few seconds after login.", + singleRelayKindFallbackNotice: "This relay returned no events for an open-ended request (no kinds in the filter). The feed below uses your usual kind filter instead.", + refreshCacheButtonExplainer: "Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.", + "eventArchive.sectionTitle": "Notes & feed archive", + "eventArchive.sectionBlurb": "Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.", + "eventArchive.defaultsMobile": "This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).", + "eventArchive.defaultsElectron": "Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.defaultsDesktopWeb": "Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.enablePersist": "Persist feed events to disk", + "eventArchive.maxMb": "Max archive size (MB), blank = default for this device", + "eventArchive.maxEvents": "Max archived events, blank = default", + "eventArchive.sessionLru": "In-memory session cache (event count), blank = default", + "eventArchive.effectiveSummary": "Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.", + "eventArchive.on": "on", + "eventArchive.off": "off", + "eventArchive.apply": "Apply cache settings", + "eventArchive.appliedToast": "Cache settings saved. Session memory updated.", + "Paste or drop media files to upload": "Paste or drop media files to upload", + Preview: "Preview", + "You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?": "You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?", + "Platinum Sponsors": "Platinum Sponsors", + From: "From", + "Comment on": "Comment on", + "View on njump.me": "View on njump.me", + "Hide content from untrusted users": "Hide content from untrusted users", + "Only show content from your followed users and the users they follow": "Only show content from your followed users and the users they follow", + "Followed by": "Followed by", + "Mute user privately": "Mute user privately", + "Mute user publicly": "Mute user publicly", + Quotes: "Quotes", + "Lightning Invoice": "Lightning Invoice", + "Bookmark failed": "Bookmark failed", + "Remove bookmark failed": "Remove bookmark failed", + "Removed from bookmarks": "Removed from bookmarks", + "Bookmark not in list": "This bookmark is not in your list (already removed or out of sync).", + "Pin not in list": "This pin is not in your list (already removed or out of sync).", + "Failed to remove pin": "Failed to remove pin", + Translation: "Translation", + Balance: "Balance", + characters: "characters", + translateApiKeyDescription: "You can use this API key anywhere else that supports LibreTranslate. The service URL is {{serviceUrl}}", + "Top up": "Top up", + "Will receive: {n} characters": "Will receive: {{n}} characters", + "Top up {n} sats": "Top up {{n}} sats", + "Minimum top up is {n} sats": "Minimum top up is {{n}} sats", + Service: "Service", + "Reset API key": "Reset API key", + "Are you sure you want to reset your API key? This action cannot be undone.": "Are you sure you want to reset your API key? This action cannot be undone.", + Warning: "Warning", + "Errors & warnings": "Errors & warnings", + "Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.": "Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.", + "Service address": "Service address", + Pay: "Pay", + interactions: "interactions", + notifications: "notifications", + notificationsViewAsAccount: "View as", + notificationsViewAsAccountAria: "Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.", + notificationsSwitchAccountFailed: "Could not switch account. Check your signer, password, or extension and try again.", + "Show untrusted {type}": "Show untrusted {{type}}", + "Hide untrusted {type}": "Hide untrusted {{type}}", + "Currently hiding {type} from untrusted users.": "Currently hiding {{type}} from untrusted users.", + "Currently showing all {type}.": "Currently showing all {{type}}.", + "Click continue to show all {type}.": "Click continue to show all {{type}}.", + "Click continue to hide {type} from untrusted users.": "Click continue to hide {{type}} from untrusted users.", + "Trusted users include people you follow and people they follow.": "Trusted users include people you follow and people they follow.", + Continue: "Continue", + "Successfully updated mute list": "Successfully updated mute list", + "No pubkeys found from {url}": "No pubkeys found from {{url}}", + "Translating...": "Translating...", + Translate: "Translate", + "Show original": "Show original", + Website: "Website", + "Hide untrusted notes": "Hide untrusted notes", + "Open in another client": "Open in another client", + Community: "Community", + Group: "Group", + "Live event": "Live event", + Article: "Article", + Unfavorite: "Unfavorite", + "Recommended relays": "Recommended relays", + "Show recommended relays panel": "Show recommended relays panel", + "Display the right-side panel with recommended relays on desktop": "Display the right-side panel with recommended relays on desktop", + "Blossom server URLs": "Blossom server URLs", + "You need to add at least one blossom server in order to upload media files.": "You need to add at least one blossom server in order to upload media files.", + "Recommended blossom servers": "Recommended blossom servers", + "Enter Blossom server URL": "Enter Blossom server URL", + Preferred: "Preferred", + "Multiple choice (select one or more)": "Multiple choice (select one or more)", + Vote: "Vote", + "{{number}} votes": "{{number}} votes", + "Total votes": "Total votes", + "Poll has ended": "Poll has ended", + "Poll ends at {{time}}": "Poll ends at {{time}}", + "Load results": "Load results", + "This is a poll note.": "This is a poll note.", + "Unlike regular notes, polls are not widely supported and may not display on other clients.": "Unlike regular notes, polls are not widely supported and may not display on other clients.", + "Option {{number}}": "Option {{number}}", + "Add Option": "Add Option", + "Remove option": "Remove option", + "Close highlight editor": "Close highlight editor", + "Allow multiple choices": "Allow multiple choices", + "End Date (optional)": "End Date (optional)", + "Clear end date": "Clear end date", + "Relay URLs (optional, comma-separated)": "Relay URLs (optional, comma-separated)", + "Remove poll": "Remove poll", + "Refresh results": "Refresh results", + "{{votes}} · {{pct}}%": "{{votes}} · {{pct}}%", + "See results": "See results", + "Zap poll (paid votes)": "Zap poll (paid votes)", + "Invalid zap poll": "Invalid zap poll", + "You voted on this poll (zap receipt)": "You voted on this poll (zap receipt)", + "Poll closed {{time}}": "Poll closed {{time}}", + "Closes {{time}}": "Closes {{time}}", + "Vote size": "Vote size", + "{{n}} sats (fixed)": "{{n}} sats (fixed)", + "{{min}}–{{max}} sats": "{{min}}–{{max}} sats", + "≥ {{n}} sats": "≥ {{n}} sats", + "≤ {{n}} sats": "≤ {{n}} sats", + "Loading tally…": "Loading tally…", + "Zap poll no votes yet": "No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).", + "Consensus threshold": "Consensus threshold", + "Pay to": "Pay to", + Recipient: "Recipient", + Option: "Option", + "Select option": "Select option", + "Select an option": "Select an option", + "Vote with zap": "Vote with zap", + "Zap sent": "Zap sent", + "Zapping…": "Zapping…", + "Refresh tally": "Refresh tally", + "{{n}} zaps": "{{n}} zaps", + Poll: "Poll", + Media: "Media", + "Articles and Publications": "Articles and Publications", + "Search articles...": "Search articles...", + "Refreshing articles...": "Refreshing articles...", + "No articles or publications found": "No articles or publications found", + "No articles or publications match your search": "No articles or publications match your search", + "articles and publications": "articles and publications", + Interests: "Interests", + Favorites: "Favorites", + Calendar: "Calendar", + "No subscribed interests yet.": "No subscribed interests yet. Add topics in settings to see them here.", + "No bookmarked notes with id tags yet.": "No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.", + "No follows or relays to load yet.": "No follows or relays to load yet.", + "No favorites yet.": "No favorites yet. Add follows, follow sets, interests, or bookmarks.", + "Added from interests": "Added from interests", + "Added from bookmarks list": "Added from bookmarks list", + "Added from your web bookmarks": "Added from your web bookmarks", + "Added from follows and contact lists": "Added from follows and contact lists", + "Added from follows web bookmarks": "Added from follows web bookmarks", + "Nothing to load for this feed.": "Nothing to load for this feed.", + "No posts loaded for this feed. Try refreshing.": "No posts loaded for this feed. Try refreshing.", + "Looking for more events…": "Looking for more events…", + "Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.": "Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.", + "Per-relay timeline results ({{count}} connections)": "Per-relay timeline results ({{count}} connections)", + "Republish to ...": "Republish to ...", + "All available relays": "All available relays", + "All active relays (monitoring list)": "All active relays (monitoring list)", + "Successfully republish to all available relays": "Successfully republish to all available relays", + "Failed to republish to all available relays: {{error}}": "Failed to republish to all available relays: {{error}}", + "Successfully republish to all active relays": "Successfully republish to all active relays", + "Failed to republish to all active relays: {{error}}": "Failed to republish to all active relays: {{error}}", + "No active relays in monitoring list": "No active relays in monitoring list", + "No relay accepted the event": "No relay accepted the event", + "No relays available": "No relays available", + "No write relays configured": "No write relays configured", + "Relay did not accept the event": "Relay did not accept the event", + "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".": "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".", + "Successfully republish to your write relays": "Successfully republish to your write relays", + "Failed to republish to your write relays: {{error}}": "Failed to republish to your write relays: {{error}}", + "Successfully republish to relay set: {{name}}": "Successfully republish to relay set: {{name}}", + "Failed to republish to relay set: {{name}}. Error: {{error}}": "Failed to republish to relay set: {{name}}. Error: {{error}}", + "Successfully republish to relay: {{url}}": "Successfully republish to relay: {{url}}", + "Failed to republish to relay: {{url}}. Error: {{error}}": "Failed to republish to relay: {{url}}. Error: {{error}}", + "Write relays": "Write relays", + "No more reactions": "No more reactions", + "No reactions yet": "No reactions yet", + "No more zaps": "No more zaps", + "No zaps yet": "No zaps yet", + "No more boosts": "No more boosts", + "No boosts yet": "No boosts yet", + "n more boosts": "{{count}} more boosts", + FollowListNotFoundConfirmation: "Follow list not found. Do you want to create a new one? If you have followed users before, please DO NOT confirm as this operation will cause you to lose your previous follow list.", + MuteListNotFoundConfirmation: "Mute list not found. Do you want to create a new one? If you have muted users before, please DO NOT confirm as this operation will cause you to lose your previous mute list.", + "Show NSFW content by default": "Show NSFW content by default", + "Custom emoji management": "Custom emoji management", + "After changing emojis, you may need to refresh the page": "After changing emojis, you may need to refresh the page", + "Too many read relays": "Too many read relays", + "Too many write relays": "Too many write relays", + "You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.": "You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.", + "You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.": "You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.", + "Optimize Relay Settings": "Optimize Relay Settings", + "Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.": "Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.", + "Optimize Now": "Optimize Now", + "Maybe Later": "Maybe Later", + "Don't remind me again": "Don't remind me again", + Posts: "Posts", + "Posts (OPs)": "Posts (OPs)", + "Kind 1 replies": "Kind 1 replies", + Comments: "Comments", + "Replies & comments": "Replies & comments", + Articles: "Articles", + Highlights: "Highlights", + "A note from": "A note from", + Polls: "Polls", + "Zap polls": "Zap polls", + "Voice Posts": "Voice Posts", + "Photo Posts": "Photo Posts", + "Video Posts": "Video Posts", + "Git repositories": "Git repositories", + "Git issues": "Git issues", + "Git releases": "Git releases", + "Git Republic repository": "Git Republic repository", + "Git Republic issue": "Git Republic issue", + "Git Republic release": "Git Republic release", + "Git Republic event": "Git Republic event", + "Git Republic": "Git Republic", + "Open in Git Republic": "Open in Git Republic", + "Pre-release": "Pre-release", + Draft: "Draft", + "Repository release": "Repository release", + "New Repository Release": "New Repository Release", + "Release notes use the editor below (optional).": "Release notes use the editor below (optional).", + "Repository owner (npub or hex)": "Repository owner (npub or hex)", + "Repository id (d-tag)": "Repository id (d-tag)", + "Git tag name": "Git tag name", + "Tag target (40-char commit hash)": "Tag target (40-character commit hash)", + "40-character hex SHA-1": "40-character hex SHA-1", + "Release title": "Release title", + "Download URL": "Download URL", + "Draft release": "Draft release", + "Fill repository release fields": "Fill in all required repository release fields.", + "Invalid repository owner pubkey": "Invalid repository owner (use npub or 64-char hex).", + "Citations require private relays (NIP-65).": "Citations require private outbox relays (NIP-65).", + "Select All": "Select All", + "Clear All": "Clear All", + "Set as default filter": "Set as default filter", + "Use filter": "Use filter", + "See all events": "See all events", + "See all events hint": "Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.", + "Use filter hint": "Only the kinds you select below are requested and shown.", + "Advanced event lab": "Advanced editor", + "Advanced lab applyError": "Editor is not ready. Try again.", + "Advanced lab cancel undo": "Cancel and Undo Changes", + "Advanced lab undo checkpoint": "Restore checkpoint", + "Advanced lab undo checkpoint hint": "About every 30 seconds this tab saves the editor (kind, body, tags) in session storage, up to 10 versions. Use this after a translation or bulk edit you want to roll back.", + "Advanced lab undo checkpoint none": "No older checkpoint to restore.", + "Advanced lab undo checkpoint restored": "Editor restored to a saved checkpoint.", + "Advanced lab markup label markdown": "Markdown", + "Advanced lab markup label asciidoc": "AsciiDoc", + "Advanced lab preview": "Preview", + "Advanced lab preview empty": "Nothing to preview yet.", + "Advanced lab markup placeholder markdown": "Note body (Markdown)", + "Advanced lab markup placeholder asciidoc": "Note body (AsciiDoc)", + "Advanced lab tags JSON": "Kind, content, and tags (JSON)", + "Advanced lab json placeholder": "{ \"kind\": 1, \"content\": \"…\", \"tags\": [] }", + "Advanced lab grammar language": "Grammar check language", + "Advanced lab translate": "Translate body", + "Advanced lab translation source": "Source language", + "Advanced lab translation source auto": "Detect automatically", + "Advanced lab translation target": "Target language", + "Advanced lab translation languages loading": "Loading languages from translate service…", + "Advanced lab translation languages empty": "Translate service returned no languages (check Docker / LibreTranslate).", + "Advanced lab translation languages error": "Could not load languages from the translate service.", + "Advanced lab translation same source target": "Source and target language must differ.", + "Show original text": "Show original text", + "Showing original note text": "Showing original text for this note.", + "Translate note": "Translate note", + "Translating note…": "Translating note…", + "Note translated": "Translated to {{language}}.", + "Note translation failed": "Translation failed: {{message}}", + "Read-aloud Piper English voice fallback title": "English voice in use", + "Read-aloud Piper English voice fallback detail": "Piper has no voice model for {{language}}. This session uses the English Piper voice instead; pronunciation may not match the written text.", + "Advanced lab translate not configured": "Translation URL is not set (VITE_TRANSLATE_URL).", + "Advanced lab translate done": "Translation inserted into the editor.", + "Advanced lab use translation read aloud": "Use body for read-aloud (this note)", + "Advanced lab read aloud buffer set": "The next read-aloud for this note will use the current body text (translated if you translated first).", + "Composer JSON tab hint": "Edit the draft as JSON (`kind`, `content`, `tags` only). `kind` must match the note type selected above. Other fields are set when you publish.", + "Composer JSON apply": "Apply JSON", + composerJsonKindMismatch: "JSON kind {{got}} does not match the composer (expected {{expected}}). Change the note type or fix `kind` in JSON.", + composerJsonApplySuccess: "Draft updated from JSON.", + "Advanced lab tb markup tools": "Markup helpers", + "Advanced lab tb headings": "Headings", + "Advanced lab tb headings hint": "Inserts at the cursor; adjust spacing if needed.", + "Advanced lab tb heading placeholder": "Title", + "Advanced lab tb h1": "Heading 1 (#)", + "Advanced lab tb h2": "Heading 2 (##)", + "Advanced lab tb h3": "Heading 3 (###)", + "Advanced lab tb h4": "Heading 4 (####)", + "Advanced lab tb h5": "Heading 5 (#####)", + "Advanced lab tb h6": "Heading 6 (######)", + "Advanced lab tb setextH1": "Setext heading 1 (title + ===)", + "Advanced lab tb setextH2": "Setext heading 2 (title + ---)", + "Advanced lab tb horizontalRule": "Horizontal rule (---)", + "Advanced lab tb horizontalRules": "Horizontal rules", + "Advanced lab tb hrDashes": "Dashes (---)", + "Advanced lab tb hrAsterisks": "Asterisks (***)", + "Advanced lab tb hrUnderscores": "Underscores (___)", + "Advanced lab tb inline": "Inline", + "Advanced lab tb bold": "Bold (** **)", + "Advanced lab tb boldUnderscore": "Bold (__ __)", + "Advanced lab tb italic": "Italic (* *)", + "Advanced lab tb italicUnderscore": "Italic (_ _)", + "Advanced lab tb strike": "Strikethrough (~~ ~~)", + "Advanced lab tb inlineCode": "Inline code (` `)", + "Advanced lab tb link": "Link [text](url)", + "Advanced lab tb linkTitled": "Link with title [text](url \"title\")", + "Advanced lab tb image": "Image ![alt](url)", + "Advanced lab tb imageTitled": "Image with title ![alt](url \"title\")", + "Advanced lab tb hardBreak": "Hard line break (two spaces + newline)", + "Advanced lab tb citations": "Citations (NIP-32)", + "Advanced lab tb citationsHint": "Kinds 30–33. Inserts `[[citation::type::nevent…]]` (Markdown & AsciiDoc).", + "Advanced lab citation dialog title": "Insert citation", + "Advanced lab citation dialog hint": "Search for NIP-32 citation events (internal, external, hardcopy, prompt), then pick one.", + "Advanced lab citation search placeholder": "Search kinds 30–33…", + "Advanced lab citation none": "No citation events found", + "Advanced lab citation kindLabel": "Kind {{kind}}", + "Advanced lab citation type inline": "Inline citation", + "Advanced lab citation type quote": "Block quote citation", + "Advanced lab citation type end": "Endnote citation", + "Advanced lab citation type foot": "Footnote call", + "Advanced lab citation type footEnd": "Footnote + end", + "Advanced lab citation type promptInline": "Prompt (inline)", + "Advanced lab citation type promptEnd": "Prompt (end)", + "Advanced lab tb lists": "Lists", + "Advanced lab tb bulletList": "Bullet list (-)", + "Advanced lab tb bulletListStar": "Bullet list (*)", + "Advanced lab tb orderedList": "Numbered list (1.)", + "Advanced lab tb orderedListStart": "Numbered list (custom start, e.g. 4.)", + "Advanced lab tb taskItem": "Task item (- [ ])", + "Advanced lab tb blocks": "Blocks", + "Advanced lab tb blockquote": "Blockquote (>)", + "Advanced lab tb pipeTable": "Pipe table (3×2 starter)", + "Advanced lab tb footnoteRef": "Footnote reference [^1]", + "Advanced lab tb footnoteDef": "Footnote definition [^1]: …", + "Advanced lab tb codeBlock": "Code block", + "Advanced lab tb codeBlockHint": "Pick a language for syntax highlighting in fenced code.", + "Advanced lab tb filterLanguages": "Filter languages…", + "Advanced lab tb math": "Math (KaTeX)", + "Advanced lab tb mathIntro": "Many readers render $…$ / $$…$$ with KaTeX; check your client.", + "Advanced lab tb mathInline": "Inline math ($…$)", + "Advanced lab tb mathDisplay": "Display math ($$…$$)", + "Advanced lab tb mathCommon": "Common formulas", + "Advanced lab tb katexFrac": "Fraction \\frac{a}{b}", + "Advanced lab tb katexSqrt": "Square root \\sqrt{x}", + "Advanced lab tb katexSum": "Sum \\sum_{i=1}^{n}", + "Advanced lab tb katexInt": "Integral \\int_a^b", + "Advanced lab tb katexMatrix": "2×2 matrix (pmatrix)", + "Advanced lab tb katexCases": "Cases (piecewise)", + "Advanced lab tb mathGreek": "Greek & symbols", + "Advanced lab tb greekAlpha": "alpha", + "Advanced lab tb greekBeta": "beta", + "Advanced lab tb greekGamma": "gamma", + "Advanced lab tb greekDelta": "delta", + "Advanced lab tb greekPi": "pi", + "Advanced lab tb greekTheta": "theta", + "Advanced lab tb greekLambda": "lambda", + "Advanced lab tb greekSigma": "sigma", + "Advanced lab tb greekOmega": "omega", + "Advanced lab tb greekInfty": "infinity", + "Advanced lab tb hrTitle": "Horizontal rule", + "Advanced lab tb adocTitles": "Titles", + "Advanced lab tb adocTitlesHint": "Document header: no empty lines inside the header; the first blank line ends it (https://docs.asciidoctor.org/asciidoc/latest/document/header/).", + "Advanced lab tb documentTitle": "Document title", + "Advanced lab tb sectionTitle": "Section title", + "Advanced lab tb adocLevel0": "Document title (=)", + "Advanced lab tb adocLevel0WithHeader": "Minimal header (title, author, revision, description, keywords, first section)", + "Advanced lab tb adocHeaderAuthorLine": "Author Name ", + "Advanced lab tb adocHeaderRevisionLine": "1.0, 2026-04-15: Draft revision", + "Advanced lab tb adocHeaderAttrsBlock": ":description: Short document summary for metadata\n:keywords: keyword-one, keyword-two, keyword-three", + "Advanced lab tb adocSection1": "Section (==)", + "Advanced lab tb adocSection2": "Subsection (===)", + "Advanced lab tb adocSection3": "Subsubsection (====)", + "Advanced lab tb adocSection4": "Level 5 (=====)", + "Advanced lab tb adocSection5": "Level 6 (======)", + "Advanced lab tb adocBold": "Bold (*bold*)", + "Advanced lab tb adocItalic": "Italic (_italic_)", + "Advanced lab tb adocMono": "Monospace (`mono`)", + "Advanced lab tb adocLink": "Link (link:url[text])", + "Advanced lab tb adocImage": "Image (image::url[alt])", + "Advanced lab tb adocUnordered": "Unordered (* item)", + "Advanced lab tb adocOrdered": "Ordered (. item)", + "Advanced lab tb adocLabeled": "Labeled list (term:: def)", + "Advanced lab tb adocBlocks": "Blocks", + "Advanced lab tb adocQuote": "Quote block (____)", + "Advanced lab tb adocLiteral": "Literal block (....)", + "Advanced lab tb adocNote": "NOTE admonition", + "Advanced lab tb adocTip": "TIP admonition", + "Advanced lab tb adocWarning": "WARNING admonition", + "Advanced lab tb adocSource": "Source / listing", + "Advanced lab tb adocSourceHint": "Inserts a [source,lang] block; replace the sample code.", + "Advanced lab tb adocStem": "STEM / LaTeX", + "Advanced lab tb adocStemHint": "Imwald runs Asciidoctor with stem: latexmath; math becomes \\(...\\) / \\[...\\] and is drawn with KaTeX (not MathJax).", + "Advanced lab tb adocStemInline": "Inline stem:[…]", + "Advanced lab tb adocLatexmathInline": "Inline latexmath:[…]", + "Advanced lab tb adocStemBlock": "Display math ([stem] +++ … +++++)", + "Advanced lab tb adocLineBreak": "Hard line break (space + at line end)", + "Advanced lab tb adocSubscript": "Subscript (~text~)", + "Advanced lab tb adocSuperscript": "Superscript (^text^)", + "Advanced lab tb adocPassthrough": "Inline passthrough (+++ … +++)", + "Advanced lab tb adocFootnote": "Footnote (footnote:[…])", + "Advanced lab tb adocImportant": "IMPORTANT admonition", + "Advanced lab tb adocCaution": "CAUTION admonition", + "Advanced lab tb adocExampleBlock": "Example block ([example])", + "Advanced lab tb adocSidebar": "Sidebar (**** … ****)", + "Advanced lab tb adocListing": "Listing block ([listing] + ----)", + "Advanced lab tb adocOpenBlock": "Open block (-- … --)", + "Advanced lab tb adocStructure": "Structure & media", + "Advanced lab tb adocStructureHint": "Tables, IDs/anchors ([#id] before a block—avoids [[wikilink]] syntax), cross-refs, media (Asciidoctor block macros).", + "Advanced lab tb adocTable": "Table (|=== …)", + "Advanced lab tb adocAnchor": "Block or section ID ([#id])", + "Advanced lab tb adocXref": "Cross reference (<>)", + "Advanced lab tb adocVideo": "Video (video::url[])", + "Advanced lab tb adocAudio": "Audio (audio::url[])", + "Advanced lab tb adocOrderedStart": "Ordered list with [start=n]", + "Advanced lab tb adocComment": "Line comment (//)", + "Advanced lab tb adockbd": "Keyboard (kbd:[…])", + "Advanced lab tb adocMenu": "Menu path (menu:…)", + "Advanced lab tb adocBtn": "Button (btn:[…])", + "Advanced lab tb adocHrTitle": "Thematic break (''')", + Apply: "Apply", + Reset: "Reset", + "Share something on this Relay": "Share something on this Relay", + "Try deleting this note": "Try deleting this note", + "Deletion request sent to {{count}} relays": "Deletion request sent to {{count}} relays", + "Suitable Relays": "Suitable Relays", + "People, keywords, or relays": "People, keywords, or relays", + "Hide content mentioning muted users": "Hide content mentioning muted users", + "This note mentions a user you muted": "This note mentions a user you muted", + Filter: "Filter", + "Feed filter": "Feed filter", + "Search loaded posts": "Search loaded posts", + "Filter loaded posts placeholder": "Filter by text in content or tags…", + "Feed filter author": "Author", + "Feed filter author everyone": "From everyone", + "Feed filter author me": "Only from me", + "Feed filter author npub": "From user (npub or hex)", + "Feed filter author npub from prefix": "from:", + "Feed filter author npub placeholder": "npub1… or 64-char hex", + "Feed filter author me needs login": "Log in to filter by your pubkey", + "Within the last": "Within the last", + "Time unit": "Time unit", + Minutes: "Minutes", + Days: "Days", + Weeks: "Weeks", + Months: "Months", + Years: "Years", + "Feed filter client-side hint": "Filters only apply to posts already loaded; relays are not queried again.", + "Feed full search": "Perform full search", + "Feed full search running": "Searching…", + "Feed full search clear": "Clear", + "Feed full search active hint": "Showing relay search results. Clear to return to the live feed.", + "Feed full search need constraint": "Add search text, an author filter, or a time range before searching relays.", + "Feed full search invalid feed": "This feed cannot run a relay search.", + "Feed full search failed": "Relay search failed. Try again.", + "Feed full search empty": "No matching posts were found on the queried relays.", + "No loaded posts match your filters.": "No loaded posts match your filters.", + "mentioned you in a note": "mentioned you in a note", + "quoted your note": "quoted your note", + "quoted this note": "Quoted this note", + "highlighted this note": "Highlighted this note", + "cited in article": "Cited in article", + "Thread backlinks heading": "Also quoting this note", + "Thread backlinks primary section": "Quotes, highlights & citations", + "Thread backlinks bookmarks section": "Bookmarks", + "Thread backlinks lists section": "Lists & collections", + "View full note and thread": "View full note and thread", + "labeled this note": "Labeled this note", + "reported this note": "Reported this note", + "bookmarked this note": "Bookmarked this note", + "pinned this note": "Pinned this note", + "listed this note": "Listed this note", + "bookmark set reference": "Bookmark set includes this note", + "curated this note": "Curated this note", + "badge award for this note": "Badge award for this note", + "referenced this note": "Referenced this note", + "Report events heading": "Moderation reports", + "voted in your poll": "voted in your poll", + "reacted to your note": "reacted to your note", + "boosted your note": "boosted your note", + "zapped your note": "zapped your note", + "zapped you": "zapped you", + zapped: "zapped", + "Invalid zap receipt": "Invalid zap receipt", + "Zapped note": "Zapped note", + "Zapped profile": "Zapped profile", + "Zap reply threshold": "Zap reply threshold", + "Zaps above this amount will appear as replies in threads": "Only zap receipts (kind 9735) with at least this many sats are shown in home and relay feeds (with “Zaps” enabled in the kind filter) and listed under notes as zap replies.", + "Mark as read": "Mark as read", + Report: "Report", + "Successfully report": "Successfully reported", + "Failed to report": "Failed to report", + nudity: "Nudity", + malware: "Malware", + profanity: "Profanity", + illegal: "Illegal content", + spam: "Spam", + other: "Other", + "Notification list style": "Notification list style", + "See extra info for each notification": "See extra info for each notification", + "See more notifications at a glance": "See more notifications at a glance", + Detailed: "Detailed", + "Submit Relay": "Submit Relay", + Homepage: "Homepage", + "Proof of Work (difficulty {{minPow}})": "Proof of Work (difficulty {{minPow}})", + "via {{client}}": "via {{client}}", + "Auto-load media": "Auto-load media", + Always: "Always", + "Wi-Fi only": "Wi-Fi only", + Never: "Never", + "Click to load image": "Click to load image", + "Click to load media": "Click to load media", + "Click to load YouTube video": "Click to load YouTube video", + "{{count}} reviews": "{{count}} reviews", + "Write a review": "Write a review", + "No reviews yet. Be the first to write one!": "No reviews yet. Be the first to write one!", + "View more reviews": "View more reviews", + "Failed to review": "Failed to review", + "Write a review and pick a star rating": "Write a review and pick a star rating", + Submit: "Submit", + "Reviews for {{relay}}": "Reviews for {{relay}}", + "No relays selected": "No relays selected", + "Post to": "Post to", + "Write relays and {{count}} other relays": "Write relays and {{count}} other relays", + "{{count}} relays": "{{count}} relays", + "Republishing...": "Republishing...", + "Trending Notes": "Trending Notes", + "Trending on Your Favorite Relays": "Trending on Your Favorite Relays", + "Trending on the Default Relays": "Trending on the Default Relays", + "Latest from your follows": "Latest from your follows", + "Latest from our recommended follows": "Latest from our recommended follows", + "Search page title": "Search Nostr", + "Follows latest page title": "Latest from follows", + "Follows latest page description": "Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.", + "Follows latest nav label": "Follows latest", + "Loading follow list…": "Loading follow list…", + "Could not load recommended follows": "Could not load recommended follows", + "Your follow list is empty": "Your follow list is empty", + "Loading recent posts from follows…": "Loading recent posts from follows…", + "Loading more…": "Loading more…", + "No recent posts from this user in the current fetch": "No recent posts from this user in the current fetch", + "Loading trending notes from your relays...": "Loading trending notes from your relays...", + "Trending on Nostr": "Trending on Nostr", + "Home trending slice notice": "This feed includes a trending slice (nostrarchives). Notes that reached you from that relay show “Trending on Nostr” under the card.", + Sort: "Sort", + newest: "newest", + oldest: "oldest", + "most popular": "most popular", + "least popular": "least popular", + "Connected to": "Connected to", + "Disconnect Wallet": "Disconnect Wallet", + "Are you absolutely sure?": "Are you absolutely sure?", + "You will not be able to send zaps to others.": "You will not be able to send zaps to others.", + Disconnect: "Disconnect", + "Set up your wallet to send and receive sats!": "Set up your wallet to send and receive sats!", + "Set up": "Set up", + "nested events": "nested events", + "Loading RSS feeds...": "Loading RSS feeds...", + "No RSS feed items available": "No RSS feed items available", + "Show or hide the RSS page and sidebar entry": "Show or hide the RSS page and sidebar entry", + "Refreshing feeds...": "Refreshing feeds...", + "All feeds": "All feeds", + "All time": "All time", + "Last hour": "Last hour", + "Last day": "Last day", + "Last week": "Last week", + "Last month": "Last month", + "Last 24 hours": "Last 24 hours", + "Last 48 hours": "Last 48 hours", + "Time range": "Time range", + "Filter by RSS source": "Filter by RSS source", + "No items match your filters": "No items match your filters", + "Search...": "Search...", + "{{count}} feeds": "{{count}} feeds", + "Toggle filters": "Toggle filters", + "Showing {{filtered}} of {{total}} items": "Showing {{filtered}} of {{total}} items", + Full: "Full", + Compact: "Compact", + Expand: "Expand", + "help.title": "Help", + "help.tabShortcuts": "Keyboard shortcuts", + "help.tabOverview": "App overview", + "shortcuts.title": "Keyboard shortcuts", + "shortcuts.intro": "Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.", + "shortcuts.sectionApp": "This app", + "shortcuts.sectionSearch": "Search bar", + "shortcuts.sectionStandard": "Standard", + "shortcuts.openHelp": "Show this help", + "shortcuts.or": "or", + "shortcuts.then": "then", + "shortcuts.focusPrimary": "Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)", + "shortcuts.focusSecondary": "Focus side panel scroll when it is open (desktop; same keys to scroll)", + "shortcuts.newNote": "New note / post (after login if needed)", + "shortcuts.searchSuggest": "Move through suggestions", + "shortcuts.searchDismiss": "Close search dropdown", + "shortcuts.tabNavigate": "Move focus to the next or previous control", + "shortcuts.activate": "Activate buttons and many controls", + "shortcuts.closeOverlays": "Close dialogs, menus, and the search dropdown", + "shortcuts.scrollWhenFocused": "Scroll the focused scrollable area", + "shortcuts.browserBack": "Browser back (history)", + "No spells yet. Create one with the button above.": "No spells yet. Create one with the button above.", + "Loading spells from your relays…": "Loading spells from your relays…", + "Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.": "Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.", + "Select a spell…": "Select a spell…", + "Spells from follows": "From people you follow ({{count}})", + "Other spells": "Other spells ({{count}})", + "Select a spell to view its feed.": "Select a spell to view its feed.", + "Add another row": "Add another row", + "Remove this row": "Remove this row", + "One kind number per row (e.g. 1 for notes).": "One kind number per row (e.g. 1 for notes).", + "One author per row: $me, $contacts, or hex pubkey / npub.": "One author per row: $me, $contacts, or hex pubkey / npub.", + "One hex event id per row.": "One hex event id per row.", + "One wss:// URL per row. Leave empty to use your write relays.": "One wss:// URL per row. Leave empty to use your write relays.", + "One topic per row.": "One topic per row.", + topic: "topic", + "Spell form fields": "Spell form fields", + "Counting matching events…": "Counting matching events…", + "Edit spell": "Edit spell", + "Clone spell": "Clone spell", + "Spell cloned": "Spell cloned", + "Clone spell intro": "This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.", + "Spell updated": "Spell updated", + "Relay URL": "Relay", + Count: "Count", + "Edit spell relays": "Edit relays", + "COUNT spell relay errors hint": "One or more relays failed or returned an error. You can change the relay list in the spell and save again.", + "COUNT spell total distinct explanation": "Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.", + "Leave empty to use your write relays.": "Leave empty to use your write relays.", + "COUNT spell result explanation": "Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.", + "COUNT spell may be capped by limit": "This count may equal your spell limit — there could be more matching events on the network.", + "Spell count failed. Check relays or try again.": "Could not complete the count. Check relays or try again.", + "REQ returns a feed; COUNT returns a number.": "REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.", + listImportManualLabel: "Pre-fill from event", + listImportFromEventHint: "Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.", + listImportManualPlaceholder: "64-char hex, nevent1…, or naddr1…", + listImportLoadManual: "Apply", + listImportContentSkipped: "This event has non-empty content (may include encrypted private items). Only public tags were merged.", + listImportUnsupportedEmoji: "This list includes emoji tags (NIP-30); those are not added to the spell filter.", + listImportUnsupportedTag: "Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.", + listImportBadATag: "Could not parse address tag: {{preview}}…", + listImportATagNotFound: "Could not resolve address tag: {{preview}}…", + listImportATagFailed: "Failed to resolve address tag: {{preview}}…", + listImportEventNotFound: "No event found for that reference.", + "REQ tag filters": "REQ tag filters", + spellFormTagFiltersLabel: "Tag filters on matching events", + spellCreateIntro: "Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.", + spellFormSectionQueryTitle: "Spell query", + spellFormSectionQueryHint: "This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).", + spellFormSectionMetadataTitle: "Listing & labels (optional)", + spellFormSectionMetadataBadge: "Not part of the query", + spellFormSectionMetadataHint: "Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.", + spellFormCatalogTopicsLabel: "Topic labels on this spell (t tags)", + spellTopicsMetadataHint: "One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).", + spellTagFiltersHint: "Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.", + spellTagFiltersEmpty: "No tag filters yet. Add rows below or apply an event reference above.", + "Tag filter letter": "Tag letter", + "Filter value": "Value", + "Add tag filter": "Add tag filter", + spellPickerSectionYours: "Your spells", + "Failed to remove spell from local storage": "Failed to remove spell from local storage", + Spells: "Spells", + "doublePane.secondaryEmpty": "Open a note, profile, or settings item to show it here.", + "doublePane.secondaryEmptyHint": "Your feed and primary pages stay on the left.", + "(empty)": "—", + "12-hour (AM/PM)": "12-hour (AM/PM)", + "24-hour": "24-hour", + "A new version is available": "A new version is available", + "A short description of the article content": "A short description of the article content", + AM: "AM", + "Access via": "Access via", + "Accessed On": "Accessed on", + "Accessed on": "Accessed on", + "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.": "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.", + "Add a relay to block": "Add a relay to block", + "Add at least one invitee": "Add at least one invitee", + "Add client identifier": "Add client identifier", + "Add expiration tags by default": "Add expiration tags by default", + "Add quiet tags by default": "Add quiet tags by default", + "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above": "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above", + "Add the source (where this text is from)": "Add the source (where this text is from)", + "Add to favorites": "Add to favorites", + "Add {{count}} Selected": "Add {{count}} Selected", + "Added at": "Added at", + "Added {{count}} relay(s)": "Added {{count}} relay(s)", + "Adding...": "Adding...", + "Adding…": "Adding…", + "Advanced Options": "Advanced Options", + "All Topics": "All Topics", + "All feeds from OPML file are already added": "All feeds from OPML file are already added", + "All items deleted successfully": "All items deleted successfully", + "Already blocked": "Already blocked", + "Already saved": "Already saved", + "Application Recommendations": "Application Recommendations", + "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.": "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.", + "Are you sure you want to delete all items from this store?": "Are you sure you want to delete all items from this store?", + "Are you sure you want to unmute this user? This will restore the follow button.": "Are you sure you want to unmute this user? This will restore the follow button.", + "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", + "Article exported as AsciiDoc": "Article exported as AsciiDoc", + "Article exported as Markdown": "Article exported as Markdown", + "Article title (optional)": "Article title (optional)", + articleDTagDefaultHint: "Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….", + Audio: "Audio", + Author: "Author", + "Author is required for reading groups": "Author is required for reading groups", + "Author name (optional)": "Author name (optional)", + Authors: "Authors", + "Block Relay": "Block Relay", + "Blocked Relays": "Blocked Relays", + "Blocking...": "Blocking...", + Blossom: "Blossom", + Book: "Book", + "Brief description of the event": "Brief description of the event", + "Brief summary (optional)": "Brief summary (optional)", + "Brief summary of the article (optional)": "Brief summary of the article (optional)", + "Browse Cache": "Browse Cache", + "Search cached events...": "Search cached events...", + "No cached events match your search.": "No cached events match your search.", + "Showing first {{count}} cached event matches.": "Showing first {{count}} cached event matches.", + "Open in store": "Open in store", + "Browse cache root description": "View IndexedDB stores, or search all cached Nostr-like events (content, tags, id, pubkey, kind) across stores.", + "Copy event JSON": "Copy event JSON", + "C-Tag": "C-Tag", + "Cache Relays": "Cache Relays", + "Cache cleared successfully": "Cache cleared successfully", + "Cache refreshed successfully": "Cache refreshed successfully", + "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.": "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.", + "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)": "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)", + "Cache relays saved": "Cache relays saved", + Cancelled: "Cancelled", + Chapter: "Chapter", + "Chapter Title": "Chapter Title", + "Chapter title (optional)": "Chapter title (optional)", + Citation: "Citation", + "Citation title (optional)": "Citation title (optional)", + "Clean up duplicate replaceable events? This will keep only the newest version of each event.": "Clean up duplicate replaceable events? This will keep only the newest version of each event.", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}}": "Cleaned up {{deleted}} duplicate entries, kept {{kept}}", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})": "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})", + "Cleanup Duplicates": "Cleanup Duplicates", + Clear: "Clear", + "Clear Cache": "Clear Cache", + "Clear Service Worker": "Clear Service Worker", + "Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.": "Clear cached data stored in your browser, including IndexedDB events, read-aloud (Piper) audio cache, localStorage settings, and service worker caches.", + "Click update to get the latest features and improvements": "Click update to get the latest features and improvements", + Close: "Close", + "Comma or space-separated topics (will be added as t-tags)": "Comma or space-separated topics (will be added as t-tags)", + Command: "Command", + Configure: "Configure", + "Connect Wallet": "Connect Wallet", + "Console Logs": "Console Logs", + "Console logs cleared": "Console logs cleared", + "Content is required": "Content is required", + "Content must be 5000 characters or less": "Content must be 5000 characters or less", + Controversial: "Controversial", + "Copied!": "Copied!", + "Copy to clipboard": "Copy to clipboard", + "Create Article": "Create Article", + "Create Citation": "Create Citation", + "Create Highlight": "Create Highlight", + "Create New Thread": "Create New Thread", + "Create Poll": "Create Poll", + "Create Thread": "Create Thread", + composeModeKind1: "Short note (kind 1) — turn off other compose types", + "Create a Spell": "Create a Spell", + "Creating...": "Creating...", + "D-Tag": "D-Tag", + "D-Tag is required for articles": "D-Tag is required for articles", + DOI: "DOI", + "Date-based (all-day)": "Date-based (all-day)", + "Default expiration (months)": "Default expiration (months)", + "Default quiet period (days)": "Default quiet period (days)", + "Delete All": "Delete All", + "Delete item": "Delete item", + "Deleted {{count}} event(s)": "Deleted {{count}} event(s)", + "Deletion request sent": "Deletion request sent", + "Description (content)": "Description (content)", + "Digital Object Identifier (optional)": "Digital Object Identifier (optional)", + "Disable word wrap": "Disable word wrap", + "Discovered Relays": "Discovered Relays", + "Discovering relays...": "Discovering relays...", + Discussion: "Discussion", + Discussions: "Discussions", + Downvote: "Downvote", + "Edited by": "Edited by", + Editor: "Editor", + "Editor name (optional)": "Editor name (optional)", + "Enable word wrap": "Enable word wrap", + "End date": "End date", + "End date must be after start date": "End date must be after start date", + "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.": "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.", + "Enter a descriptive title for your thread": "Enter a descriptive title for your thread", + "Enter the author name": "Enter the author name", + "Enter the book title": "Enter the book title", + "Enter the specific text you want to highlight in the main content area above": "Enter the specific text you want to highlight in the main content area above", + "Event IDs (ids)": "Event IDs (ids)", + "Event appears to be invalid or corrupted": "Event appears to be invalid or corrupted", + "Event has no value data": "Event has no value data", + "Event is missing required fields: {{fields}}": "Event is missing required fields: {{fields}}", + "Event type": "Event type", + "Expiration Tags": "Expiration Tags", + "Export OPML": "Export OPML", + "Export as AsciiDoc": "Export as AsciiDoc", + "Export as Markdown": "Export as Markdown", + "External Citation": "External Citation", + "External Citation Settings": "External Citation Settings", + "Failed to add relay. Please try again.": "Failed to add relay. Please try again.", + "Failed to add relays": "Failed to add relays", + "Failed to block relay. Please try again.": "Failed to block relay. Please try again.", + "Failed to cleanup duplicates": "Failed to cleanup duplicates", + "Failed to clear cache": "Failed to clear cache", + "Failed to copy": "Failed to copy", + "Failed to create relay set. Please try again.": "Failed to create relay set. Please try again.", + "Failed to create thread": "Failed to create thread", + "Failed to create thread. Please try a different relay.": "Failed to create thread. Please try a different relay.", + "Failed to delete all items": "Failed to delete all items", + "Failed to delete item": "Failed to delete item", + "Failed to discover relays": "Failed to discover relays", + "Failed to export OPML file": "Failed to export OPML file", + "Failed to export article": "Failed to export article", + "Failed to import OPML file: {{error}}": "Failed to import OPML file: {{error}}", + "Failed to load RSS feeds": "Failed to load RSS feeds", + "Failed to load store items": "Failed to load store items", + "Failed to mute user privately": "Failed to mute user privately", + "Failed to mute user publicly": "Failed to mute user publicly", + "Failed to pin note": "Failed to pin note", + "Failed to publish post": "Failed to publish post", + "Failed to publish reply": "Failed to publish reply", + "Failed to publish reaction": "Failed to publish reaction", + "Failed to publish thread": "Failed to publish thread", + "Failed to publish to some relays. Please try again or use different relays.": "Failed to publish to some relays. Please try again or use different relays.", + "Failed to save RSS feeds": "Failed to save RSS feeds", + "Failed to save cache relays": "Failed to save cache relays", + "Failed to save relay list": "Failed to save relay list", + "Failed to unregister service worker: ": "Failed to unregister service worker: ", + "Failed to unsubscribe from topic": "Failed to unsubscribe from topic", + Favorite: "Favorite", + Fetch: "Fetch", + "Fetch once, then stop.": "Fetch once, then stop.", + "Filter by": "Filter by", + "Flat View": "Flat View", + "Font size": "Font size", + "Full Quote/Context": "Full Quote/Context", + "Full-text search query": "Full-text search query", + Geohash: "Geohash", + "Geohash (optional)": "Geohash (optional)", + "Global quiet mode": "Global quiet mode", + "Group discussions by topic": "Group discussions by topic", + "Grouped View": "Grouped View", + Groups: "Groups", + "Handler {{index}}": "Handler {{index}}", + "Hardcopy Citation": "Hardcopy Citation", + "Hardcopy Citation Settings": "Hardcopy Citation Settings", + Hide: "Hide", + "Hide interactions on all posts": "Hide interactions on all posts", + "Hide interactions on posts with quiet tags": "Hide interactions on posts with quiet tags", + "High PoW": "High PoW", + "Higher values make your thread harder to mine but more unique.": "Higher values make your thread harder to mine but more unique.", + Highlight: "Highlight", + "Highlight Settings": "Highlight Settings", + "How to Create a Highlight (NIP-84)": "How to Create a Highlight (NIP-84)", + "Human-readable spell name": "Human-readable spell name", + "Image URL": "Image URL", + "Import OPML": "Import OPML", + "Imported {{count}} feed(s) from OPML file": "Imported {{count}} feed(s) from OPML file", + "In-Browser Cache": "In-Browser Cache", + Insert: "Insert", + "Insert URL into your post and publish to Nostr GIF library (NIP-94).": "Insert URL into your post and publish to Nostr GIF library (NIP-94).", + "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.": "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.", + "Insert event or address": "Insert event or address", + "Insert mention": "Insert mention", + "Internal Citation": "Internal Citation", + "Internal Citation Settings": "Internal Citation Settings", + "Invalid Event": "Invalid Event", + "Invalid Lightning Address": "Invalid Lightning Address", + "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.": "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.", + "Invalid URL": "Invalid URL", + "Invalid content JSON": "Invalid content JSON", + "Invalid relay URL": "Invalid relay URL", + "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.": "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.", + "Item deleted successfully": "Item deleted successfully", + JSON: "JSON", + "Join link": "Join link", + "Journal/Publication name (optional)": "Journal/Publication name (optional)", + Json: "JSON", + Kinds: "Kinds", + "Language Model": "Language Model", + Large: "Large", + "Leave empty for HiveTalk, or paste Zoom / Teams / other link": "Leave empty for HiveTalk, or paste Zoom / Teams / other link", + "Lightning payment failed": "Lightning payment failed", + Limit: "Limit", + "Live feed; keeps updating.": "Live feed; keeps updating.", + "Loading more...": "Loading more...", + "Loading relays...": "Loading relays...", + "Location (optional)": "Location (optional)", + "Log in to run this spell (it uses $me or $contacts).": "Log in to run this spell (it uses $me or $contacts).", + "Login failed": "Login failed", + "nip07.extensionKeyMismatch": "Your browser extension is using a different key on this tab. Switch to the matching key in the extension, or reload the page to apply your extension's current selection.", + "nip07.reloadPage": "Reload page", + "Login to configure RSS feeds": "Login to configure RSS feeds", + "Long-form Article": "Long-form Article", + "Mailbox relays saved": "Mailbox relays saved", + "Mark as NSFW": "Mark as NSFW", + "Maximum {{max}} invitees": "Maximum {{max}} invitees", + "Maximum {{max}} invitees allowed": "Maximum {{max}} invitees allowed", + Medium: "Medium", + Mode: "Mode", + "Most Zapped": "Most Zapped", + "Move to top": "Move to top", + "Multiple choice": "Multiple choice", + "Mute failed": "Mute failed", + NSFW: "NSFW", + Name: "Name", + "Name of the language model used": "Name of the language model used", + "New External Citation": "New External Citation", + "New Hardcopy Citation": "New Hardcopy Citation", + "New Highlight": "New Highlight", + "New Internal Citation": "New Internal Citation", + "New Long-form Article": "New Long-form Article", + "New Poll": "New Poll", + "New Discussion": "New Discussion", + "New Prompt Citation": "New Prompt Citation", + "New Public Message": "New Public Message", + "New Wiki Article": "New Wiki Article", + "New Wiki Article (Markdown)": "New Wiki Article (Markdown)", + Newest: "Newest", + "No JSON available": "No JSON available", + "No RSS feeds found in OPML file": "No RSS feeds found in OPML file", + "No cached data found.": "No cached data found.", + "No console logs captured yet": "No console logs captured yet", + "No events found": "No events found", + "No feeds configured. Default feed will be used.": "No feeds configured. Default feed will be used.", + "No feeds to export": "No feeds to export", + "No groups available. Join some groups first.": "No groups available. Join some groups first.", + "No items in this store.": "No items in this store.", + "No items match your search.": "No items match your search.", + "No logs match the current filters": "No logs match the current filters", + "No posts found": "No posts found", + "No posts match your search": "No posts match your search", + "No relays available. Please configure relays in settings.": "No relays available. Please configure relays in settings.", + "No service workers or caches found for this app": "No service workers or caches found for this app", + "No users found": "No users found", + "No valid RSS feed URLs found in OPML file": "No valid RSS feed URLs found in OPML file", + "Note pinned": "Note pinned", + "Note unpinned": "Note unpinned", + Oldest: "Oldest", + "Open Timestamp": "Open Timestamp", + "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.": "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.", + "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.": "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.", + Optional: "Optional", + "Optional image for the event": "Optional image for the event", + "Optionally, add the full quote/context to show your highlight within it": "Optionally, add the full quote/context to show your highlight within it", + PM: "PM", + "Page Range": "Page Range", + Pages: "Pages", + "Paste URL of a GIF": "Paste URL of a GIF", + "Paste URL of a meme image": "Paste URL of a meme image", + "Paste the entire original passage that contains your highlight": "Paste the entire original passage that contains your highlight", + Photo: "Photo", + "Picture Note": "Picture Note", + "Pin note": "Pin note", + "Plain text description of the query": "Plain text description of the query", + "Please login to view bookmarks": "Please login to view bookmarks", + "Please login to view favorites": "Please login to view favorites", + "Please select a group": "Please select a group", + "Please select at least one relay": "Please select at least one relay", + "Please set a start date": "Please set a start date", + "Poll with no options": "Poll with no options", + "Post published to some relays": "Post published to some relays", + "Posts will automatically include expiration tags": "Posts will automatically include expiration tags", + "Posts will automatically include quiet tags": "Posts will automatically include quiet tags", + "Posts will be quiet for this many days": "Posts will be quiet for this many days", + "Posts will expire after this many months": "Posts will expire after this many months", + "Processing...": "Processing...", + "Profile event not available": "Profile event not available", + "Prompt Citation": "Prompt Citation", + "Prompt Citation Settings": "Prompt Citation Settings", + "Prompt Conversation Script": "Prompt Conversation Script", + "Proof of Work": "Proof of Work", + "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post": "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post", + "Publish to Relays": "Publish to Relays", + "Published By": "Published By", + "Published In": "Published In", + "Published On": "Published On", + "Published in": "Published in", + "Published on": "Published on", + "Publisher name (optional)": "Publisher name (optional)", + "Quiet Tags": "Quiet Tags", + "RSS Feed": "RSS Feed", + "RSS + Web": "RSS + Web", + "RSS feed source": "RSS feed source", + "All feed sources": "All feed sources", + "RSS feed view mode": "RSS feed view mode", + "Article URLs": "Article URLs", + "Article URLs subtitle": "One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.", + "Article URLs Nostr manual subtitle": "Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.", + "RSS feed column title": "RSS & linked articles", + "RSS feed column subtitle": "Feed entries and article cards that include at least one item from your subscribed RSS feeds.", + "RSS timeline": "RSS timeline", + "RSS timeline subtitle": "Every item from your subscribed feeds, newest first — classic RSS reader.", + URLs: "URLs", + RSS: "RSS", + "No URL-only items yet": "No URL-only items yet", + "Respond to this RSS entry": "Respond to this RSS entry", + "RSS read-only thread hint": "Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.", + "RSS feed item label": "RSS", + "Web URL item label": "Web URL", + "URL thread activity": "URL thread activity", + "Suppress Clawstr links in RSS previews": "Hide clawstr.com in RSS and URL feed", + "Hide local, media & feed URLs from URL cards": "Hide local, media, feed, document & XML links from the feed", + "RSS articles": "RSS articles", + "Web comments": "Web comments", + "Web highlights": "Web highlights", + "In your bookmarks": "In your bookmarks", + "{{count}} RSS entries for this URL": "{{count}} RSS entries for this URL", + "{{count}} entries for this article URL": "{{count}} entries for this article URL", + "No comments yet": "No comments yet", + "No highlights yet": "No highlights yet", + "Showing {{filtered}} of {{total}} entries": "Showing {{filtered}} of {{total}} entries", + standardRssFeed_spotifeed: "Spotify playlist (Spotifeed)", + standardRssFeed_youtube: "YouTube feed", + standardRssFeed_youtubeChannel: "YouTube channel feed", + standardRssFeed_youtubePlaylist: "YouTube playlist feed", + standardRssFeed_feedburner: "FeedBurner", + standardRssFeed_reddit: "Reddit RSS", + standardRssFeed_substack: "Substack", + standardRssFeed_medium: "Medium", + "RSS Feed Settings": "RSS Feed Settings", + "Follow sets": "Follow sets", + "Personal Lists": "Personal Lists", + "Personal lists hub intro": "Open mute list, following, bookmarks list, pinned notes, interest topics (kind 10015), your NIP-30 user emoji list (kind 10030), and emoji set packs (kind 30030) on their own pages. Follow sets are below. Web page bookmarks (NIP-B0, kind 39701) are separate—save from an article’s panel or use the Bookmarks spell for a mixed feed.", + "Mute list": "Mute list", + "Following list": "Following list", + "Bookmarks list": "Bookmarks list", + "Pinned notes list": "Pinned notes list", + "Interests list": "Interests list", + "User emoji list": "User emoji list (kind 10030)", + "Emoji sets": "Emoji sets (kind 30030)", + "User emoji list title": "{{username}}'s emoji list", + "User emoji list intro": "NIP-30: inline custom emoji (`emoji` tags) and references to your kind 30030 packs (`a` tags). Publish when you are done editing.", + "User emoji list saved": "Emoji list published", + "User emoji inline section": "Inline emoji", + "User emoji inline empty": "No inline emoji yet. Add a shortcode and image URL below.", + "User emoji inline invalid": "Enter a shortcode and a non-empty image URL.", + "User emoji sets section": "Emoji set references", + "User emoji sets hint": "Add a coordinate in the form 30030:<64-hex pubkey>:, usually one of your own emoji sets from the Emoji sets page.", + "User emoji sets empty": "No emoji set references yet.", + "User emoji set ref invalid": "Invalid coordinate. Use 30030::.", + "User emoji set ref duplicate": "That emoji set is already in the list.", + "Emoji set coordinate": "Emoji set (a tag)", + "Publish changes": "Publish changes", + Shortcode: "Shortcode", + "Emoji sets settings intro": "NIP-30 emoji packs (kind 30030): each set has a `d` tag and `emoji` entries (shortcode + image URL). Publish from the editor dialog.", + "New emoji set": "New emoji set", + "Edit emoji set": "Edit emoji set", + "No emoji sets yet": "You have not created any emoji sets yet.", + "Emoji set saved": "Emoji set saved", + "Emoji set deleted": "Emoji set deleted", + "Failed to load emoji sets": "Failed to load emoji sets", + "emoji entries": "emoji", + "Emoji set d tag hint": "Stable identifier for this pack. It cannot be changed after the first publish.", + "Emoji pack entries": "Emoji in this pack", + "No emoji entries in pack": "No emoji in this pack yet.", + "Delete emoji set?": "Delete this emoji set?", + "Delete emoji set confirm": "This sends a deletion request (kind 5). Relays that accept it will drop the set; others may still show a cached copy.", + "Interests list section subtitle": "Topics you follow for hashtag feeds and the Interests spell. Stored on Nostr as kind 10015 (`t` tags).", + "Interest topic placeholder": "topic or #hashtag", + "Interest list add topic": "Add topic", + "Interest topic invalid": "Enter a valid topic (letters, numbers, hyphens, underscores).", + "No interest topics in list": "No subscribed topics yet. Add one above or subscribe from a hashtag page.", + "username's interest topics": "{{username}}'s interest topics", + "Remove from interest list": "Remove from interest list", + "Personal lists interests spell hint": "For a combined feed of all subscribed topics, use the", + "Interests spell": "Interests spell", + "Personal lists bookmarks spell hint": "For a note feed from NIP-51 bookmarks, use the", + "Bookmarks spell": "Bookmarks spell", + "Pinned notes hint": "Pinned notes: use the note menu (⋯) on a note and choose pin to profile. Pins appear on your profile.", + "Bookmarks list section title": "Bookmarks list", + "Bookmarks list section subtitle": "Events referenced by `e` / `a` tags on your kind 10003 bookmark list (newest first).", + "No entries in bookmark list": "Your bookmark list is empty.", + "View bookmarks as feed in Spells": "View bookmarks as a note feed in Spells", + "Pinned notes list section title": "Pinned notes list", + "Pinned notes list section subtitle": "Events referenced by `e` / `a` tags on your kind 10001 pin list (same order as on your profile).", + "Loading pin list": "Loading pin list…", + "No pinned notes in list": "No pinned notes in your pin list yet.", + "username's bookmarks": "{{username}}'s bookmarks", + "username's pinned notes": "{{username}}'s pinned notes", + "Event not loaded": "Event not loaded", + "No NIP-51 bookmarks or web bookmarks yet.": "No NIP-51 bookmarks or web bookmarks yet.", + "Web bookmarks": "Web bookmarks", + "Web bookmark": "Web bookmark", + "Web bookmarks NIP intro": "Web bookmarks are stored as kind 39701 events, not in your NIP-51 bookmark list.", + "Log in to save web bookmarks": "Log in to save web bookmarks for this page (NIP-B0, kind 39701).", + "Remove web bookmark": "Remove web bookmark", + "No web bookmark for this URL yet": "You have not saved a web bookmark for this URL yet.", + "Page title": "Page title", + "Short description": "Short description", + "Save web bookmark": "Save web bookmark", + "Sign in to publish web bookmark": "Please log in with a signing key to save web bookmarks.", + "Follow sets settings intro": "NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.", + "New follow set": "New follow set", + "Edit follow set": "Edit follow set", + "No follow sets yet": "You have not created any follow sets yet.", + "Follow set saved": "Follow set saved", + "Follow set deleted": "Follow set deleted", + "Failed to load follow sets": "Failed to load follow sets", + members: "members", + "Optional display title": "Optional display title", + "List id (d tag)": "List id (d tag)", + "Follow set d tag hint": "Stable identifier for this list. It cannot be changed after the first publish.", + "People in this list": "People in this list", + "Delete follow set?": "Delete this follow set?", + "Delete follow set confirm": "This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.", + "Clean list": "Clean list", + "Clean this list?": "Clean this list?", + "Clean list confirm": "This will publish a fresh, empty replacement for this list (all entries removed). This cannot be undone.", + "Clean follows list confirm with backup": "Before cleaning your follows (kind 3), the current list snapshot will be published to follows history relays. Then a fresh, empty follows list will be published. Continue?", + "List cleaned": "List cleaned", + "Failed to clean list": "Failed to clean list", + "Remove feed": "Remove feed", + "RSS Feeds": "RSS Feeds", + "RSS feeds exported to OPML file": "RSS feeds exported to OPML file", + "RSS feeds saved": "RSS feeds saved", + "Rate limited. Please wait before trying again.": "Rate limited. Please wait before trying again.", + "Reaction published": "Reaction published", + "Reaction published to some relays": "Reaction published to some relays", + "Reaction removed": "Reaction removed", + "Read full article": "Read full article", + "Reading group entry": "Reading group entry", + "Readings Options": "Readings Options", + Recipients: "Recipients", + "Recipients detected from your message:": "Recipients detected from your message:", + "Recommended Relays": "Recommended Relays", + "Recommended applications for handling events of kind {{kind}}": "Recommended applications for handling events of kind {{kind}}", + "Reference to the cited Nostr event in kind:pubkey:hex format": "Reference to the cited Nostr event in kind:pubkey:hex format", + "Refresh Cache": "Refresh Cache", + "Refreshing posts...": "Refreshing posts...", + "Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.": "Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.", + Relay: "Relay", + "Relay Hint": "Relay Hint", + "Relay URL (optional)": "Relay URL (optional)", + "Relay blocked successfully": "Relay blocked successfully", + "Relay requires authentication for write access. Please try a different relay or contact the relay operator.": "Relay requires authentication for write access. Please try a different relay or contact the relay operator.", + "Relay set options": "Relay set options", + "Remove from favorites": "Remove from favorites", + Rendered: "Rendered", + "Reply published": "Reply published", + "Reply published to some relays": "Reply published to some relays", + "Reply to Public Message": "Reply to Public Message", + "Republish to all active relays": "Republish to all active relays", + "Republish to all available relays": "Republish to all available relays", + "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.": "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.", + "Required: start time or start date. Optional: title, end, location, summary, topics, image.": "Required: start time or start date. Optional: title, end, location, summary, topics, image.", + "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Respect quiet tags": "Respect quiet tags", + "Search (NIP-50)": "Search (NIP-50)", + "Search by name or npub…": "Search by name or npub…", + "Search calendar, publications, wiki…": "Search calendar, publications, wiki…", + "Search for user…": "Search for user…", + "Search items...": "Search items...", + "Search logs...": "Search logs...", + "Search notes, threads, long-form…": "Search notes, threads, long-form…", + "Search on GifBuddy": "Search on GifBuddy", + "Search on Meme Amigo": "Search on Meme Amigo", + "Search posts...": "Search posts...", + "Search threads by title, content, tags, npub, author...": "Search threads by title, content, tags, npub, author...", + "Searching all available relays...": "Searching all available relays...", + "Searching…": "Searching…", + "See reference": "See reference", + "Select Group": "Select Group", + "Select Media Type": "Select Media Type", + "Select group...": "Select group...", + "Select relays": "Select relays", + "Publish relay cap hint": "At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.", + "Publish relay cap hint with outbox first": "At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.", + "Select the group where you want to create this discussion.": "Select the group where you want to create this discussion.", + "Select topic...": "Select topic...", + "Selected text": "Selected text", + "Send Public Message": "Send Public Message", + "Send a Lightning payment to this user": "Send a Lightning payment to this user", + "Service worker caches cleared. Please reload the page.": "Service worker caches cleared. Please reload the page.", + "Service worker unregistered and caches cleared. Please reload the page.": "Service worker unregistered and caches cleared. Please reload the page.", + "Service worker unregistered. Please reload the page.": "Service worker unregistered. Please reload the page.", + "Share your thoughts, ask questions, or start a discussion...": "Share your thoughts, ask questions, or start a discussion...", + "Short Video Note": "Short Video Note", + "Show RSS Feed": "Show RSS Feed", + "Show all discussions in a single list": "Show all discussions in a single list", + "Show less": "Show less", + Since: "Since", + Small: "Small", + "Some relays have temporarily disabled writes.": "Some relays have temporarily disabled writes.", + Source: "Source", + "Spell definition": "Spell definition", + "Spell published": "Spell published", + "Start date": "Start date", + "Start typing to see a preview...": "Start typing to see a preview...", + "Subject (Book Title)": "Subject (Book Title)", + "Subject (book title) is required for reading groups": "Subject (book title) is required for reading groups", + "Subject / Topics": "Subject / Topics", + Subscribe: "Subscribe", + Subscribed: "Subscribed", + "Subscribed to topic": "Subscribed to topic", + "Subscribed to topic (local)": "Subscribed to topic (local)", + "Subscribing...": "Subscribing...", + Summary: "Summary", + "Supported Event Types": "Supported Event Types", + "Take a note": "Take a note", + "The full prompt conversation (optional)": "The full prompt conversation (optional)", + "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.": "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.", + "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.": "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.", + "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.": "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.", + "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a Nostr event of kind {{kind}}.": "This GIF was found in a Nostr event of kind {{kind}}.", + "This file could be either audio or video. Please select the correct type:": "This file could be either audio or video. Please select the correct type:", + "This store does not contain replaceable events": "This store does not contain replaceable events", + "This will add additional tags for author and subject to help organize reading group discussions.": "This will add additional tags for author and subject to help organize reading group discussions.", + "Thread Content": "Thread Content", + "Thread Title": "Thread Title", + "Thread creation timed out. Please try again.": "Thread creation timed out. Please try again.", + "Thread published": "Thread published", + "Threads are organized by topics. Choose a topic that best fits your discussion.": "Threads are organized by topics. Choose a topic that best fits your discussion.", + "Time-based": "Time-based", + "Title is required": "Title is required", + "Title must be 100 characters or less": "Title must be 100 characters or less", + "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.": "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.", + Top: "Top", + Topic: "Topic", + URL: "URL", + "URL of the article cover image (optional)": "URL of the article cover image (optional)", + "Unique identifier for this article (required)": "Unique identifier for this article (required)", + "Unmute failed": "Unmute failed", + "Unpin note": "Unpin note", + Unsubscribe: "Unsubscribe", + "Unsubscribed from topic": "Unsubscribed from topic", + "Unsubscribing...": "Unsubscribing...", + Until: "Until", + Untitled: "Untitled", + Update: "Update", + "Updating...": "Updating...", + "Upload Audio Comment": "Upload Audio Comment", + "Upload Audio Message": "Upload Audio Message", + "Upload Media": "Upload Media", + "Media kind": "Media kind", + "Use image/audio/video note kind for the media URL in the editor": "Use image/audio/video note kind for the media URL in the editor", + "Already publishing as a media note": "Already publishing as a media note", + "No media URL in note — upload or paste a link first": "No media URL in note — upload or paste a link first", + "Cannot infer media type from URL — use Note type → Media Note to upload": "Cannot infer media type from URL — use Note type → Media Note to upload", + "Media kind (disabled): add imeta tags, a media URL, or upload media first": "Media kind (disabled): add imeta tags, a media URL, or upload media first", + Upvote: "Upvote", + "User unmuted": "User unmuted", + "Version number (optional)": "Version number (optional)", + Video: "Video", + "Video Note": "Video Note", + "Video file": "Video file", + "View Console Logs": "View Console Logs", + "View JSON": "View JSON", + "View cached items in this store.": "View cached items in this store.", + "View definition": "View definition", + "View details about cached data in IndexedDB stores. Click on a store to view its items.": "View IndexedDB stores, or search all cached Nostr-like events (content, tags, id, pubkey, kind) across stores.", + "View on Alexandria": "View on Alexandria", + "View on DecentNewsroom": "View on DecentNewsroom", + "View on Wikistr": "View on Wikistr", + "View recent console logs for debugging": "View recent console logs for debugging", + "Voice Comment": "Voice Comment", + "Voice Note": "Voice Note", + "Voice note or audio file": "Voice note or audio file", + Volume: "Volume", + "Volume number (optional)": "Volume number (optional)", + "Vote published": "Vote published", + "Vote removed": "Vote removed", + "Website where LLM was accessed (optional)": "Website where LLM was accessed (optional)", + "Wiki Article (AsciiDoc)": "Wiki Article (AsciiDoc)", + "Wiki Article (Markdown)": "Wiki Article (Markdown)", + "You can only delete your own notes": "You can only delete your own notes", + "You must be logged in to create a thread": "You must be logged in to create a thread", + "You need to add at least one media server in order to upload media files.": "You need to add at least one media server in order to upload media files.", + "You need to login first": "You need to login first", + "Your account is blocked from posting to this relay.": "Your account is blocked from posting to this relay.", + Zap: "Zap", + "Zap failed": "Zap failed", + created_at: "created_at", + "e tag of kind 1040 event (optional)": "e tag of kind 1040 event (optional)", + "e.g. meetup, conference": "e.g. meetup, conference", + "e.g., 123-145 (optional)": "e.g., 123-145 (optional)", + "e.g., GPT-4, Claude, etc. (required)": "e.g., GPT-4, Claude, etc. (required)", + "e.g., my-article-title": "e.g., my-article-title", + entries: "entries", + "from Bunker": "from Bunker", + "from Extension": "from Extension", + "from NIP-05": "from NIP-05", + general: "general", + "https://example.com (required)": "https://example.com (required)", + "https://example.com/image.jpg": "https://example.com/image.jpg", + id: "id", + items: "items", + kind: "kind", + "kind:pubkey:hex format (required)": "kind:pubkey:hex format (required)", + "last updated": "last updated", + matching: "matching", + naddr: "naddr", + nevent: "nevent", + "nevent1..., naddr1..., note1..., hex ID, or https://...": "nevent1..., naddr1..., note1..., hex ID, or https://...", + "no notes found": "no notes found", + of: "of", + "on note": "on note", + optional: "optional", + pubkey: "pubkey", + "sent a public message": "sent a public message", + "sent you a public message": "sent you a public message", + "sent you a public message (along with {{count}} others)": "sent you a public message (along with {{count}} others)", + sig: "sig", + "started a discussion in {{topic}}": "started a discussion in {{topic}}", + tags: "tags", + thread: "thread", + threads: "threads", + "topic1, topic2, topic3": "topic1, topic2, topic3", + "{{count}} relay(s) selected": "{{count}} relay(s) selected", + "🔞 NSFW 🔞": "🔞 NSFW 🔞", + "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).": "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).", + "Compressing on your device before upload (large videos can take several minutes)…": "Compressing on your device before upload (large videos can take several minutes)…", + "Failed to refresh": "Failed to refresh", + "Invalid article link.": "Invalid article link.", + Likes: "Likes", + "Loading…": "Loading…", + "Missing pubkey": "Missing pubkey", + "No RSS feed list found on relays": "No RSS feed list found on relays", + "Pinned posts": "Pinned posts", + "Publishing...": "Publishing...", + "RSS article": "RSS article", + "RSS feed list refreshed": "RSS feed list refreshed", + "Save or discard your changes before refreshing from relays": "Save or discard your changes before refreshing from relays", + "Suggested topics": "Suggested topics", + "Synthetic event (no author)": "Synthetic event (no author)", + "Topic is required": "Topic is required", + "Type a topic or pick from the list": "Type a topic or pick from the list", + "Uploading to media server…": "Uploading to media server…", + profileEditorRefreshCacheHint: "profileEditorRefreshCacheHint", + startupSessionHydrating: "startupSessionHydrating", + "AI / LLM prompt citation": "AI / LLM prompt citation", + "AsciiDoc wiki contribution": "AsciiDoc wiki contribution", + "Attach image, audio, or video": "Attach image, audio, or video", + Citations: "Citations", + "Cite from external source": "Cite from external source", + "Cite from private relay": "Cite from private relay", + "Create a voting poll": "Create a voting poll", + "Create custom event": "Create custom event", + "Create event with custom kind": "Create event with custom kind", + "Custom Event": "Custom Event", + "Custom tag…": "Custom tag…", + Dismiss: "Dismiss", + "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.": "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.", + "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).": "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).", + "Failed to rebroadcast entire publication: {{error}}": "Failed to rebroadcast entire publication: {{error}}", + "Feed filter kind": "Feed filter kind", + "Feed filter kind hint": "Feed filter kind hint", + "Feed filter kind invalid": "Feed filter kind invalid", + "Feed filter kind placeholder": "Feed filter kind placeholder", + "Invalid event fields": "Invalid event fields", + "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).": "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).", + "Markdown article (NIP-23)": "Markdown article (NIP-23)", + "Markdown wiki contribution": "Markdown wiki contribution", + "Media Note": "Media Note", + "No publication events found for rebroadcast": "No publication events found for rebroadcast", + "No publication events were accepted by any relay": "No publication events were accepted by any relay", + "Note type": "Note type", + "Offline mode": "Offline mode", + "Only local relays and cached content are available.": "Only local relays and cached content are available.", + "Physical source citation": "Physical source citation", + "Plain text note (kind 1)": "Plain text note (kind 1)", + "Private relay publication": "Private relay publication", + "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).": "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).", + "Public Message": "Public Message", + "Public direct message (kind 4)": "Public direct message (kind 4)", + "Publication Note": "Publication Note", + "Rebroadcast entire publication": "Rebroadcast entire publication", + "Rebroadcast entire publication to ...": "Rebroadcast entire publication to ...", + "Rebroadcasted entire publication": "Rebroadcasted entire publication", + "Rebroadcasting entire publication...": "Rebroadcasting entire publication...", + "Save a quote or passage": "Save a quote or passage", + "Save data": "Save data", + "Set kind, content, and tags, then publish.": "Set kind, content, and tags, then publish.", + "Short Note": "Short Note", + "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.": "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.", + "Slow connection detected": "Slow connection detected", + "Start a discussion thread": "Start a discussion thread", + "This action is only available for publications": "This action is only available for publications", + "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.": "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.", + Thread: "Thread", + "Turn on low-bandwidth mode to reduce data usage.": "Turn on low-bandwidth mode to reduce data usage.", + "Turn on low-bandwidth mode? This will set: {{changes}}.": "Turn on low-bandwidth mode? This will set: {{changes}}.", + "Unsigned experimental kind": "Unsigned experimental kind", + "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.": "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.", + "media loading off": "media loading off", + profileEditorDuplicateSingleton: "profileEditorDuplicateSingleton", + profileEditorEditBannerUrl: "profileEditorEditBannerUrl", + profileEditorEditPictureUrl: "profileEditorEditPictureUrl", + profileEditorImageUrlHint: "profileEditorImageUrlHint", + profileEditorNostrBuildThumbHint: "profileEditorNostrBuildThumbHint", + profileEditorProfileNotLoaded: "profileEditorProfileNotLoaded", + profileEditorTagListHint: "profileEditorTagListHint", + "readOnlySession.hint": "readOnlySession.hint", + "readOnlySession.label": "readOnlySession.label", + "readOnlySession.labelShort": "readOnlySession.labelShort", + "video autoplay off": "video autoplay off", + } +} diff --git a/src/i18n/locales/pl.ts b/src/i18n/locales/pl.ts index 3d25e5cb..b6c0fd18 100644 --- a/src/i18n/locales/pl.ts +++ b/src/i18n/locales/pl.ts @@ -1,1840 +1,2010 @@ export default { translation: { - 'Welcome! 🥳': 'Witamy! 🥳', - About: 'O Nas', - 'New Note': 'Nowa Publikacja', - Post: 'Publikuj', - Home: 'Strona Główna', - Feed: 'Feed', - 'Favorite Relays': 'Ulubione transmitery', - 'Relay pulse': 'Relay pulse', - 'Relay pulse empty': 'Quiet on your relays in the last hour.', - 'Relay pulse follows': 'Following ({{count}})', - 'Relay pulse others': 'Others ({{count}})', - 'Relay pulse updated': 'Updated {{relative}}', - 'Relay pulse active npubs': 'Active npubs', - 'Relay pulse active npubs hint': - 'Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).', - 'Relay pulse drawer following': 'Following', - 'Relay pulse drawer others': 'Others', - 'Relay pulse drawer no profiles': 'No kind 0 profiles loaded for this sample yet.', - 'See the newest notes from your follows': 'See the newest notes from your follows', - 'All favorite relays': 'Wszystkie ulubione transmitery', - 'Pinned note': 'Pinned note', - 'Relay settings': 'Ustawienia transmiterów', - Settings: 'Ustawienia', - 'Account menu': 'Account menu', - SidebarRelays: 'Transmitery', - Refresh: 'Odśwież', - 'refresh.longPressHardReload': 'Long-press: reload app and restore feed cache', - 'link.expandNostrEmbed': 'Show Nostr preview', - Profile: 'Twój Profil', - Logout: 'Wyloguj', - Following: 'Obserwowani', - followings: 'niżej wymienionych', - boosted: 'zboostował', - 'Boosted by:': 'Boosted by:', - 'just now': 'teraz', - 'n minutes ago': '{{n}} m', - 'n m': '{{n}}m', - 'n hours ago': '{{n}} g', - 'n h': '{{n}}h', - 'n days ago': '{{n}} d ', - 'n d': '{{n}}d', - date: '{{timestamp, date}}', - Follow: 'Obserwuj', - Unfollow: 'Porzuć', - 'Follow failed': 'Obserwacja nieudana', - 'Unfollow failed': 'Porzucenie obserwacji nieudane', - 'show new notes': 'Pokaż nowe wpisy', - 'loading...': 'ładowanie...', - 'Loading...': 'Ładowanie...', - 'no more notes': 'Koniec wpisów', - 'calendar entries': 'calendar entries', - 'Loading calendar events...': 'Loading calendar events...', - 'No calendar events found': 'No calendar events found', - 'Calendar events in the next {{count}} months': 'Calendar events in the next {{count}} months', - 'The nostr.band relay appears to be temporarily out of service. Please try again later.': - 'The nostr.band relay appears to be temporarily out of service. Please try again later.', - 'reply to': 'Odpowiedź na', - reply: 'odpowiedz', - Reply: 'Skomentuj', - 'load more older replies': 'Pobierz więcej starszych odpowiedzi', - 'Write something...': 'Napisz coś...', - Cancel: 'Anuluj', - Mentions: 'Wzmianki', - 'Search for event or address…': 'Search for event or address…', - 'Search notes…': 'Search notes…', - 'No notes found': 'No notes found', - 'Failed to post': 'Nie udało się opublikować', - 'Post successful': 'Twój wpis został wysłany.', - 'Your post has been published': 'Publikowani są jedynie użytkownicy z białej listy', - Boost: 'Boost', - 'Boost published': 'Opublikowano boost', - Quote: 'Zacytuj', - 'Copy event ID': 'Skopiuj ID wydarzenia', - 'Copy user ID': 'Skopiuj ID użytkownika', - 'Send public message': 'Send public message', - 'View raw event': 'Pokaż szczegóły wpisu', - 'Edit this event': 'Edit this event', - 'Clone or fork this event': 'Clone or fork this event', - 'Event kind': 'Event kind', - 'Note content': 'Note content', - Publish: 'Publish', - 'Post published': 'Post published', - 'Edit content and tags, then publish a new signed event.': - 'Edit content and tags, then publish a new signed event.', - 'Log in to publish': 'Log in to publish', - 'Set when you publish': 'set when you publish', - 'id and sig are assigned when you publish': 'id and sig are assigned when you publish', - 'Published to some relays only': 'Published to some relays only', - 'Add field': 'Add field', - 'View full profile': 'View full profile', - Like: 'Polub', - 'switch to light theme': 'Przełącz na jasny motyw', - 'switch to dark theme': 'Przełącz na ciemny motyw ', - 'switch to system theme': 'Przełącz na motyw systemu (automatyczny)', - Note: 'Cały wpis', - note: 'note', - "username's following": '{{username}} obserwuje:', - "username's used relays": '{{username}} użył transmiterów', - "username's muted": 'Zablokowani przez {{username}} ', - Login: 'Logowanie', - downloadDesktopApp: 'Download app', - 'Please log in to view notifications.': 'Please log in to view notifications.', - 'Follows you': 'Obserwujący', - 'Relay Settings': 'Ustawienia transmiterów', - 'Relays and Storage Settings': 'Relays and Storage Settings', - 'Relay set name': 'Wpisz nazwę grupy', - 'Add a new relay set': 'Utwórz grupę transmiterów', - Add: 'Dodaj', - 'n relays': '{{n}} szt.', - Rename: 'Zmień nazwę', - 'Copy share link': 'Copy share link', - 'Copy address': 'Copy address', - 'Copy payto URI': 'Copy payto URI', - 'Copied payto address': 'Copied payto address', - 'Copied to clipboard': 'Copied to clipboard', - 'Copied {{label}} address': 'Copied {{label}} address', - 'Lightning payment address – copy to pay via your wallet': - 'Lightning payment address – copy to pay via your wallet', - 'Payment address – copy to use in your wallet or app': - 'Payment address – copy to use in your wallet or app', - 'Click to open payment options': 'Click to open payment options', - 'Click to copy address': 'Click to copy address', - 'Open on website': 'Open on website', - 'Raw profile event': 'Raw profile event', - 'Full profile event': 'Full profile event', - 'Event (JSON)': 'Event (JSON)', - 'Save full profile': 'Save full profile', - 'Add tag': 'Add tag', - 'Remove tag': 'Remove tag', - 'Tag name': 'Tag name', - Value: 'Value', - 'Add value to tag': 'Add value to tag', - 'Remove value': 'Remove value', - 'No tags. Click "Add tag" to add one.': 'No tags. Click "Add tag" to add one.', - 'Profile updated': 'Profile updated', - 'Failed to publish profile': 'Failed to publish profile', - 'Invalid profile JSON': 'Invalid profile JSON', - 'Refresh cache': 'Refresh cache', - 'Force-refresh profile and payment info from relays': - 'Force-refresh profile and payment info from relays', - 'Profile and payment cache refreshed': 'Profile and payment cache refreshed', - 'Failed to refresh cache': 'Failed to refresh cache', - 'Raw payment info event': 'Raw payment info event', - 'Payment info': 'Payment info', - 'Edit payment info': 'Edit payment info', - 'Add payment info': 'Add payment info', - 'No payment info event yet. Click "Add payment info" to create one.': - 'No payment info event yet. Click "Add payment info" to create one.', - 'Content (JSON)': 'Content (JSON)', - Tags: 'Tags', - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])': - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])', - 'Payment info updated': 'Payment info updated', - 'Failed to publish payment info': 'Failed to publish payment info', - 'Invalid tags JSON': 'Invalid tags JSON', - 'Payment methods': 'Payment methods', - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).': - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).', - 'Type (e.g. lightning)': 'Type (e.g. lightning)', - 'Authority (e.g. user@domain.com)': 'Authority (e.g. user@domain.com)', - 'Add payment method': 'Add payment method', - Remove: 'Remove', - 'Additional content (JSON)': 'Additional content (JSON)', - 'Show full event JSON': 'Show full event JSON', - 'Tag list': 'Tag list', - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.': - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.', - 'Tag value': 'Tag value', - 'Saving…': 'Saving…', - 'Share with Imwald': 'Udostępnij przez Imwald', - 'Share with Alexandria': 'Udostępnij przez Alexandria', - 'Start video call': 'Start video call', - 'Copy call invite link': 'Copy call invite link', - 'Start call about this': 'Start call about this', - 'Send call invite': 'Send call invite', - 'Read this note aloud': 'Read this note aloud', - 'Read-aloud is not supported in this browser': 'Read-aloud is not supported in this browser', - 'Nothing to read aloud': 'Nothing to read aloud', - 'Read-aloud failed': 'Read-aloud failed', - 'Read aloud': 'Read aloud', - 'Read-aloud idle': 'Idle', - 'Preparing read-aloud…': 'Preparing read-aloud…', - 'Requesting audio…': 'Requesting audio…', - 'Loading audio…': 'Loading audio…', - Playing: 'Playing', - Paused: 'Paused', - 'Read-aloud finished': 'Finished', - 'Read-aloud error': 'Error', - 'TTS endpoint': 'TTS endpoint', - 'Using browser speech synthesis': 'Using browser speech synthesis', - 'Read-aloud section progress': 'Section {{current}} of {{total}}', - 'Request sent': 'Request sent', - 'Response received': 'Response received', - 'Playback started': 'Playback started', - Characters: 'Characters', - Pause: 'Pause', - Play: 'Play', - Stop: 'Stop', - 'Read-aloud sections': 'Read-aloud sections', - 'Read-aloud overall progress': 'Overall progress', - 'Read-aloud section done': 'Section {{index}}: finished', - 'Read-aloud section pending': 'Section {{index}}: not started yet', - 'Read-aloud section fetching': 'Section {{index}}: requesting audio', - 'Read-aloud section preparing audio': 'Section {{index}}: loading audio', - 'Read-aloud section playing': 'Section {{index}}: playing', - 'Read-aloud section paused': 'Section {{index}}: paused', - 'Read-aloud legend fetching': 'Requesting audio for this section from the server…', - 'Read-aloud legend buffering': 'Decoding audio for this section…', - 'Read-aloud legend playing': 'Playing this section.', - 'Read-aloud legend paused': 'Playback paused.', - 'Read-aloud Piper fallback notice': - 'Server voice (Piper) could not be used. Playing with your browser voice instead.', - 'Read-aloud Piper fallback detail label': 'Piper error', - 'Read-aloud Piper status region': 'Piper text-to-speech status', - 'Read-aloud Piper status heading': 'Piper (server voice)', - 'Read-aloud Piper skipped notice': - 'No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.', - 'Read-aloud Piper attempt started': - 'Piper was started at {{time}} (this read-aloud used the server first).', - 'Read-aloud Piper endpoint tried': 'URL used: {{url}}', - 'Join the video call': 'Join the video call', - 'Schedule video call': 'Schedule video call', + // NOTE: Untranslated strings fall back to English. + + "Welcome! 🥳": "Witamy! 🥳", + About: "O Nas", + "New Note": "Nowa Publikacja", + Post: "Publikuj", + Home: "Strona Główna", + Feed: "Feed", + "Favorite Relays": "Ulubione transmitery", + "Relay pulse": "Relay pulse", + "Relay pulse empty": "Quiet on your relays in the last hour.", + "Relay pulse follows": "Following ({{count}})", + "Relay pulse others": "Others ({{count}})", + "Relay pulse updated": "Updated {{relative}}", + "Relay pulse active npubs": "Active npubs", + "Relay pulse active npubs hint": "Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).", + "Relay pulse drawer following": "Following", + "Relay pulse drawer others": "Others", + "Relay pulse drawer no profiles": "No kind 0 profiles loaded for this sample yet.", + "See the newest notes from your follows": "See the newest notes from your follows", + "All favorite relays": "Wszystkie ulubione transmitery", + "Pinned note": "Pinned note", + "Relay settings": "Ustawienia transmiterów", + "Relay auth accepted (NIP-42)": "The relay accepted authentication (NIP-42): {{relay}}{{detailSuffix}}", + "Relay auth rejected (NIP-42)": "The relay rejected authentication (NIP-42): {{relay}} — {{message}}", + "Relay auth error unknown": "Unknown error", + Settings: "Ustawienia", + "Account menu": "Account menu", + SidebarRelays: "Transmitery", + Refresh: "Odśwież", + "refresh.longPressHardReload": "Long-press: reload app and restore feed cache", + "link.expandNostrEmbed": "Show Nostr preview", + Profile: "Twój Profil", + Logout: "Wyloguj", + Following: "Obserwowani", + followings: "niżej wymienionych", + boosted: "zboostował", + "Boosted by:": "Boosted by:", + "just now": "teraz", + "n minutes ago": "{{n}} m", + "n m": "{{n}}m", + "n hours ago": "{{n}} g", + "n h": "{{n}}h", + "n days ago": "{{n}} d ", + "n d": "{{n}}d", + date: "{{timestamp, date}}", + Follow: "Obserwuj", + Unfollow: "Porzuć", + "Follow failed": "Obserwacja nieudana", + "Unfollow failed": "Porzucenie obserwacji nieudane", + "show new notes": "Pokaż nowe wpisy", + "loading...": "ładowanie...", + "Loading...": "Ładowanie...", + "no more notes": "Koniec wpisów", + "calendar entries": "calendar entries", + "Loading calendar events...": "Loading calendar events...", + "No calendar events found": "No calendar events found", + "Calendar events in the next {{count}} months": "Calendar events in the next {{count}} months", + "The nostr.band relay appears to be temporarily out of service. Please try again later.": "The nostr.band relay appears to be temporarily out of service. Please try again later.", + "reply to": "Odpowiedź na", + reply: "odpowiedz", + Reply: "Skomentuj", + "load more older replies": "Pobierz więcej starszych odpowiedzi", + "Write something...": "Napisz coś...", + Cancel: "Anuluj", + Mentions: "Wzmianki", + "Search for event or address…": "Search for event or address…", + "Search notes…": "Search notes…", + "No notes found": "No notes found", + "Failed to post": "Nie udało się opublikować", + "Post successful": "Twój wpis został wysłany.", + "Your post has been published": "Publikowani są jedynie użytkownicy z białej listy", + Boost: "Boost", + "Boost published": "Opublikowano boost", + Quote: "Zacytuj", + "Copy event ID": "Skopiuj ID wydarzenia", + "Copy user ID": "Skopiuj ID użytkownika", + "Send public message": "Send public message", + "View raw event": "Pokaż szczegóły wpisu", + "Edit this event": "Edit this event", + "Clone or fork this event": "Clone or fork this event", + "Event kind": "Event kind", + "Note content": "Note content", + Publish: "Publish", + "Post published": "Post published", + "Edit content and tags, then publish a new signed event.": "Edit content and tags, then publish a new signed event.", + "Log in to publish": "Log in to publish", + "Set when you publish": "set when you publish", + "id and sig are assigned when you publish": "id and sig are assigned when you publish", + "Published to some relays only": "Published to some relays only", + "Add field": "Add field", + "View full profile": "View full profile", + Like: "Polub", + "switch to light theme": "Przełącz na jasny motyw", + "switch to dark theme": "Przełącz na ciemny motyw ", + "switch to system theme": "Przełącz na motyw systemu (automatyczny)", + Note: "Cały wpis", + note: "note", + "username's following": "{{username}} obserwuje:", + "username's used relays": "{{username}} użył transmiterów", + "username's muted": "Zablokowani przez {{username}} ", + Login: "Logowanie", + downloadDesktopApp: "Download app", + "Please log in to view notifications.": "Please log in to view notifications.", + "Follows you": "Obserwujący", + "Relay Settings": "Ustawienia transmiterów", + "Relays and Storage Settings": "Relays and Storage Settings", + "Relay set name": "Wpisz nazwę grupy", + "Add a new relay set": "Utwórz grupę transmiterów", + Add: "Dodaj", + "n relays": "{{n}} szt.", + Rename: "Zmień nazwę", + "Copy share link": "Copy share link", + "Copy address": "Copy address", + "Copy payto URI": "Copy payto URI", + "Copied payto address": "Copied payto address", + "Copied to clipboard": "Copied to clipboard", + "Copied {{label}} address": "Copied {{label}} address", + "Lightning payment address – copy to pay via your wallet": "Lightning payment address – copy to pay via your wallet", + "Payment address – copy to use in your wallet or app": "Payment address – copy to use in your wallet or app", + "Click to open payment options": "Click to open payment options", + "Click to copy address": "Click to copy address", + "Open on website": "Open on website", + "Raw profile event": "Raw profile event", + "Full profile event": "Full profile event", + "Event (JSON)": "Event (JSON)", + "Save full profile": "Save full profile", + "Add tag": "Add tag", + "Remove tag": "Remove tag", + "Tag name": "Tag name", + Value: "Value", + "Add value to tag": "Add value to tag", + "Remove value": "Remove value", + "No tags. Click \"Add tag\" to add one.": "No tags. Click \"Add tag\" to add one.", + "Profile updated": "Profile updated", + "Failed to publish profile": "Failed to publish profile", + "Invalid profile JSON": "Invalid profile JSON", + "Refresh cache": "Refresh cache", + "Force-refresh profile and payment info from relays": "Force-refresh profile and payment info from relays", + "Profile and payment cache refreshed": "Profile and payment cache refreshed", + "Failed to refresh cache": "Failed to refresh cache", + "Raw payment info event": "Raw payment info event", + "Payment info": "Payment info", + "Edit payment info": "Edit payment info", + "Add payment info": "Add payment info", + "No payment info event yet. Click \"Add payment info\" to create one.": "No payment info event yet. Click \"Add payment info\" to create one.", + "Content (JSON)": "Content (JSON)", + Tags: "Tags", + "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])": "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])", + "Payment info updated": "Payment info updated", + "Failed to publish payment info": "Failed to publish payment info", + "Invalid tags JSON": "Invalid tags JSON", + "Payment methods": "Payment methods", + "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).": "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).", + "Type (e.g. lightning)": "Type (e.g. lightning)", + "Authority (e.g. user@domain.com)": "Authority (e.g. user@domain.com)", + "Add payment method": "Add payment method", + Remove: "Remove", + "Additional content (JSON)": "Additional content (JSON)", + "Show full event JSON": "Show full event JSON", + "Tag list": "Tag list", + "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.": "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.", + "Tag value": "Tag value", + "Saving…": "Saving…", + "Share with Imwald": "Udostępnij przez Imwald", + "Share with Alexandria": "Udostępnij przez Alexandria", + "Start video call": "Start video call", + "Copy call invite link": "Copy call invite link", + "Start call about this": "Start call about this", + "Send call invite": "Send call invite", + "Read this note aloud": "Read this note aloud", + "Read-aloud is not supported in this browser": "Read-aloud is not supported in this browser", + "Nothing to read aloud": "Nothing to read aloud", + "Read-aloud failed": "Read-aloud failed", + "Read aloud": "Read aloud", + "Read-aloud idle": "Idle", + "Preparing read-aloud…": "Preparing read-aloud…", + "Requesting audio…": "Requesting audio…", + "Loading audio…": "Loading audio…", + "Preparing player…": "Preparing player…", + "Starting stream…": "Starting stream…", + "Loading media…": "Loading media…", + "Buffering…": "Buffering…", + Playing: "Playing", + Paused: "Paused", + "Read-aloud finished": "Finished", + "Read-aloud error": "Error", + "TTS endpoint": "TTS endpoint", + "Using browser speech synthesis": "Using browser speech synthesis", + "Read-aloud section progress": "Section {{current}} of {{total}}", + "Request sent": "Request sent", + "Response received": "Response received", + "Playback started": "Playback started", + Characters: "Characters", + Pause: "Pause", + Play: "Play", + Stop: "Stop", + "Read-aloud sections": "Read-aloud sections", + "Read-aloud overall progress": "Overall progress", + "Read-aloud section done": "Section {{index}}: finished", + "Read-aloud section pending": "Section {{index}}: not started yet", + "Read-aloud section fetching": "Section {{index}}: requesting audio", + "Read-aloud section preparing audio": "Section {{index}}: loading audio", + "Read-aloud section playing": "Section {{index}}: playing", + "Read-aloud section paused": "Section {{index}}: paused", + "Read-aloud legend fetching": "Requesting audio for this section from the server…", + "Read-aloud legend buffering": "Decoding audio for this section…", + "Read-aloud legend playing": "Playing this section.", + "Read-aloud legend paused": "Playback paused.", + "Read-aloud Piper fallback notice": "Server voice (Piper) could not be used. Playing with your browser voice instead.", + "Read-aloud Piper fallback detail label": "Piper error", + "Read-aloud Piper status region": "Piper text-to-speech status", + "Read-aloud Piper status heading": "Piper (server voice)", + "Read-aloud Piper skipped notice": "No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.", + "Read-aloud Piper attempt started": "Piper was started at {{time}} (this read-aloud used the server first).", + "Read-aloud Piper endpoint tried": "URL used: {{url}}", + "Join the video call": "Join the video call", + "Schedule video call": "Schedule video call", "You're invited to a scheduled video call.": "You're invited to a scheduled video call.", - 'Create a calendar event and send an invite. The recipient will see the event with a join link.': - 'Create a calendar event and send an invite. The recipient will see the event with a join link.', - 'Schedule a video call': 'Schedule a video call', - 'Create a calendar event and send kind 24 invites to each listed invitee.': - 'Create a calendar event and send kind 24 invites to each listed invitee.', - Invitees: 'Invitees', - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)': - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)', - 'Schedule and send invites': 'Schedule and send invites', - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)': - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)', - 'Scheduled call created and {{count}} invite(s) sent': - 'Scheduled call created and {{count}} invite(s) sent', - 'Join video call': 'Join video call', - 'Scheduled video call': 'Scheduled video call', - 'Video call': 'Video call', - 'Schedule and send invite': 'Schedule and send invite', - 'Scheduling…': 'Scheduling…', - 'Please set a start time': 'Please set a start time', - 'End time must be after start time': 'End time must be after start time', - 'Failed to schedule call': 'Failed to schedule call', - 'Scheduled call created and invite sent': 'Scheduled call created and invite sent', - RSVP: 'RSVP', - 'RSVP: {{status}}': 'RSVP: {{status}}', - Accepted: 'Accepted', - Tentative: 'Tentative', - Declined: 'Declined', - 'You need to log in to RSVP': 'You need to log in to RSVP', - 'RSVP updated': 'RSVP updated', - 'Failed to update RSVP': 'Failed to update RSVP', - Organizer: 'Organizer', - Attendees: 'Attendees', - 'No response': 'No response', - 'Calendar Events': 'Calendar Events', - 'Calendar Event': 'Calendar Event', - 'Schedule in-person meeting': 'Schedule in-person meeting', - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.': - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.', + "Create a calendar event and send an invite. The recipient will see the event with a join link.": "Create a calendar event and send an invite. The recipient will see the event with a join link.", + "Schedule a video call": "Schedule a video call", + "Create a calendar event and send kind 24 invites to each listed invitee.": "Create a calendar event and send kind 24 invites to each listed invitee.", + Invitees: "Invitees", + "Paste nostr:npub1... or nostr:nprofile1... (one or more)": "Paste nostr:npub1... or nostr:nprofile1... (one or more)", + "Schedule and send invites": "Schedule and send invites", + "Add at least one invitee (paste nostr:npub or nostr:nprofile links)": "Add at least one invitee (paste nostr:npub or nostr:nprofile links)", + "Scheduled call created and {{count}} invite(s) sent": "Scheduled call created and {{count}} invite(s) sent", + "Join video call": "Join video call", + "Scheduled video call": "Scheduled video call", + "Video call": "Video call", + "Schedule and send invite": "Schedule and send invite", + "Scheduling…": "Scheduling…", + "Please set a start time": "Please set a start time", + "End time must be after start time": "End time must be after start time", + "Failed to schedule call": "Failed to schedule call", + "Scheduled call created and invite sent": "Scheduled call created and invite sent", + RSVP: "RSVP", + "RSVP: {{status}}": "RSVP: {{status}}", + Accepted: "Accepted", + Tentative: "Tentative", + Declined: "Declined", + "You need to log in to RSVP": "You need to log in to RSVP", + "RSVP updated": "RSVP updated", + "Failed to update RSVP": "Failed to update RSVP", + Organizer: "Organizer", + Attendees: "Attendees", + "No response": "No response", + "Calendar Events": "Calendar Events", + "Calendar Event": "Calendar Event", + "Schedule in-person meeting": "Schedule in-person meeting", + "Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.": "Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.", "You're invited to an in-person meeting.": "You're invited to an in-person meeting.", - 'Meeting created and invite sent': 'Meeting created and invite sent', - 'Failed to create meeting': 'Failed to create meeting', - 'Create and send invite': 'Create and send invite', - 'Creating…': 'Creating…', - 'In-person meeting': 'In-person meeting', - Location: 'Location', - 'Address, venue, or place': 'Address, venue, or place', - Description: 'Description', - 'Optional notes': 'Optional notes', - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.': - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.', - 'Meeting created and {{count}} invite(s) sent': 'Meeting created and {{count}} invite(s) sent', - 'Create and send invites': 'Create and send invites', - Title: 'Title', - Start: 'Start', - End: 'End', - Delete: 'Usuń', - 'Relay already exists': 'Transmiter już istnieje', - 'invalid relay URL': 'Nieprawidłowy URL transmitera', - 'Relay URL…': 'wss://… or relay host', - 'Open relay': 'Open relay', - 'Add a new relay': 'Dodaj nowy transmiter', - back: 'z powrotem', - 'Lost in the void': 'Zagubiony w przestrzeni', - 'Carry me home': 'Na stronę główną', - 'no replies': 'Brak komentarzy', - 'Reply to': 'Odpowiedz do', - Search: 'Wyszukaj', - 'The relays you are connected to do not support search': - 'Podłączone transmitery nie obsługują wyszukiwania', - 'Show more...': 'Więcej...', - 'All users': 'Wszyscy użytkownicy', - 'Display replies': 'Wyświetl komentarze', - Notes: 'Wpisy', - Replies: 'Komentarze', - Gallery: 'Galeria', - Notifications: 'Powiadomienia', - 'no more notifications': 'Koniec powiadomień', - 'Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.': - 'Logowanie za pomocą prywatnego klucza jest niebezpieczne. Zaleca się korzystanie z rozszerzenia przeglądarki, takiego jak alby, nostr-keyx lub nos2x. Jeśli musisz użyć prywatnego klucza, ustaw co najmniej hasło do szyfrowania.', - 'Login with Browser Extension': 'Logowanie z rozszerzeniem przeglądarki', - 'Login with Bunker': 'Logowanie z bunkrem', - 'Login with Private Key': 'Logowanie z prywatnym kluczem (nsec)', - 'Login with npub (read-only)': 'Logowanie z npub (tylko odczyt)', - 'reload notes': 'Odśwież', - 'Logged in Accounts': 'Zalogowane konta', - 'Add an Account': 'Dodaj Konto', - 'More options': 'Więcej opcji', - 'Add client tag': 'Dodaj tag klienta', - 'Show others this was sent via Imwald': 'Pokaż innym, że zostało to wysłane przez Imwald', - 'Are you sure you want to logout?': 'Czy na pewno chcesz się wylogować?', - 'relay sets': 'Zestawy transmiterów', - edit: 'edytuj', - Languages: 'Języki', - Theme: 'Wygląd', - System: 'Domyślny', - Light: 'Jasny', - Dark: 'Ciemny', - Temporary: 'Tymczasowe', - 'Choose a relay set': 'Wybierz zestaw transmiterów', - 'Switch account': 'Zmień konto', - Pictures: 'Zdjęcia', - 'Picture note': 'Wpis Graficzny', - 'A special note for picture-first clients like Olas': - 'Publikacja ze zdjęciami i opisem dla klientów takich jak Olas', - 'Picture note requires images': 'Wpis graficzny wymaga obrazów', - Relays: 'Transmitery', - Image: 'grafika', - 'Upload Image': 'Upload Image', - 'Insert emoji': 'Insert emoji', - 'Insert GIF': 'Insert GIF', - 'Insert meme': 'Insert meme', - 'Search GIFs': 'Search GIFs', - 'Search memes': 'Search memes', - 'Choose a GIF': 'Choose a GIF', - 'Choose a meme': 'Choose a meme', - 'Search GifBuddy for more GIFs': 'Search GifBuddy for more GIFs', - 'Add your own GIFs': 'Add your own GIFs', - 'Add your own meme templates': 'Add your own meme templates', - 'Description (optional, for search)': 'Description (optional, for search)', - 'e.g. happy birthday, thumbs up': 'e.g. happy birthday, thumbs up', - 'e.g. drake, distracted boyfriend': 'e.g. drake, distracted boyfriend', - 'Uploading...': 'Uploading...', - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.': - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.', - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).': - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).', - 'Failed to publish meme template for the picker': - 'Failed to publish meme template for the picker', - '{{name}} is not a GIF file': '{{name}} is not a GIF file', - '{{name}} is not a JPEG, PNG, or WebP file': '{{name}} is not a JPEG, PNG, or WebP file', - 'R & W': 'O & Z', - Read: 'Odczyt', - Write: 'Zapis', - 'Pull relay sets': 'Pobierz zestaw transmiterów', - 'Select the relay sets you want to pull': 'Wybierz zestaw transmiterów do pobrania', - 'No relay sets found': 'Nie znaleziono zestawu transmiterów', - 'Pull n relay sets': 'Pobierz {{n}} zestawów transmiterów', - Pull: 'Pobierz', - 'Select all': 'Wszystkie', - 'Relay Sets': 'Grupy transmiterów', - 'Read & Write Relays': 'Transmitery zapisu i odczytu', - 'read relays description': - 'Transmitery odczytu służą do wyszukiwania zdarzeń dotyczących użytkownika. Inni użytkownicy będą publikować wpisy, które chcą, abyś zobaczył, w transmiterach odczytu.', - 'write relays description': - 'Transmitery zapisu służą do publikowania wydarzeń. Inni użytkownicy będą wyszukiwać zdarzenia z transmiterów zapisu.', - 'read & write relays notice': 'Liczba serwerów odczytu i zapisu powinna wynosić od 2 do 4.', - "Don't have an account yet?": 'Nie masz jeszcze konta?', - 'or simply generate a private key': 'lub wygeneruj klucz prywatny nowego konta', - 'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.': - 'Jest to klucz prywatny. Nie należy go nikomu udostępniać. Przechowuj go w bezpiecznym miejscu. W przypadku jego utraty nie będzie można go odzyskać.', - Edit: 'Edytuj', - Save: 'Zapisz', - 'Display Name': 'Twoja nazwa użytkownika', - Bio: 'O mnie', - 'Nostr Address (NIP-05)': 'Adres Nostr (NIP-05)', - 'Invalid NIP-05 address': 'Nieprawidłowy adres NIP-05', - 'Copy private key': 'Kopiuj klucz prywatny', - 'Enter the password to decrypt your ncryptsec': 'Wprowadź hasło, aby odszyfrować ncryptsec', - Back: 'Wróć', - 'optional: encrypt nsec': 'opcjonalnie: encrypt nsec', - password: 'hasło', - 'Sign up': 'Zarejestruj się', - 'Save to': 'Zapisz do', - 'Enter a name for the new relay set': 'Wpisz nazwę nowegej grupy transmiterów', - 'Save to a new relay set': 'Zapisz do nowego zestawu transmiterów', - Mute: 'Zablokuj', - Muted: 'Zablokowani', - Unmute: 'Przywróć', - 'Unmute user': 'Przywróć użytkownika ', - Block: 'Block', - Unblock: 'Unblock', - blocked: 'blocked', - 'Append n relays': 'Dodaj {{n}} transmiterów', - Append: 'Dodaj', - 'Select relays to append': 'Wybierz transmitery do dodania', - 'calculating...': 'obliczanie...', - 'Calculate optimal read relays': 'Obliczanie optymalnego odczytu transmiterów', - 'Login to set': 'Zaloguj się', - 'Please login to view following feed': 'Zaloguj się, aby wyświetlić poniższy wpis', - 'Follow set': 'Follow set', - 'Follow set feed empty': - 'This NIP-51 list is empty, was not found, or relays could not load it yet.', - 'Send only to r': 'Wyślij tylko do {{r}}', - 'Send only to these relays': 'Wyślij tylko do tych transmiterów', - Explore: 'Transmitery', - 'Relay reviews': 'Opinie o relayach', - 'Search relays': 'Wyszukaj transmiter', - relayInfoBadgeAuth: '✔️', - relayInfoBadgeSearch: 'Wyszukiwarka', - relayInfoBadgePayment: 'Płatności', - Operator: 'Operator', - Contact: 'Kontakt', - Software: 'Software', - Version: 'Wersja', - 'Random Relays': 'Losowo wybrane', - randomRelaysRefresh: 'Odśwież', - 'Explore more': 'Zobacz więcej', - 'Payment page': 'Strona płatności', - 'Supported NIPs': 'Obsługiwane NIP-y', - 'Relay liveliness (NIP-66)': 'Relay liveliness (NIP-66)', - 'Relay monitor (NIP-66)': 'Relay monitor (NIP-66)', - 'Auth required': 'Auth required', - 'Public (no auth)': 'Public (no auth)', - 'Payment required': 'Payment required', - 'No payment': 'No payment', - 'Writes required': 'Writes required', - 'Writes open': 'Writes open', - 'PoW required': 'PoW required', - 'No PoW': 'No PoW', - 'RTT open': 'RTT open', - 'RTT read': 'RTT read', - 'RTT write': 'RTT write', - 'Supported NIPs (from monitor)': 'Supported NIPs (from monitor)', - 'Last reported by monitor': 'Last reported by monitor', - Network: 'Network', - Type: 'Type', - Topics: 'Topics', - 'Open in a': 'Otwórz w {{a}}', - 'Cannot handle event of kind k': 'Nie można obsłużyć zdarzenia typu {{k}}', - 'Unsupported event preview': - 'There isn’t a dedicated card for this event type yet. Here’s a readable preview.', - 'No text content in event': 'No text in this event.', - 'Technical details': 'Technical details', - 'Event kind and time': 'Kind {{kind}} · {{time}}', - 'Event kind label': 'Kind {{kind}}', - 'Note kind label line': 'KIND: {{kind}} · {{description}}', - 'Unknown note declared kind tag': 'Tagged kind: {{value}}', - 'Unknown note tagged pubkey': 'Tagged pubkey', - 'Unknown note tagged content': 'Content', - 'Unknown note reference tags': 'Reference tags (e, p, q, a)', - 'Starred spells': 'Starred spells', - 'Spell star add title': 'Star spell (adds to your Nostr bookmarks)', - 'Spell star remove title': 'Unstar spell (removes from your Nostr bookmarks)', - 'Copy JSON': 'Copy JSON', - Verse: 'Verse', - 'Notification reaction summary': 'reacted to this note.', - 'Notification discussion upvote summary': 'upvoted in this discussion.', - 'Notification discussion downvote summary': 'downvoted in this discussion.', - 'Notification boost summary': 'Boosted this note', - 'Notification boost detail': 'The preview above is the original post.', - 'Notification poll vote summary': 'Voted on the poll above.', - 'Notification poll vote options count': '{{count}} option(s) selected', - 'Imwald synthetic event': 'Imwald synthetic event', - '+ Add a URL to this list': 'Add a URL to this list', - 'Add a web URL': 'Add a web URL', - 'Add web URL to feed description': - 'Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.', - 'Add to feed': 'Add to feed', - 'Open any https page in the side panel to reply, react, and discuss on Nostr.': - 'Open any https page in the side panel to reply, react, and discuss on Nostr.', - 'Enter a valid http(s) URL': 'Enter a valid http(s) URL', - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.': - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.', - 'Open in browser': 'Open in browser', - 'Web page': 'Web page', - Open: 'Open', - 'Sorry! The note cannot be found 😔': 'Sorry! The note cannot be found 😔', - 'This user has been muted': 'Ten użytkownik został wyciszony', - Wallet: 'Portfel', - Sats: 'satsów', - sats: 'satsów', - 'Zap to': 'Zap dla użytkownika ', - 'Zap n sats': 'Zap {{n}} satsów', - zapComment: 'Komentarz do zapa', - 'Default zap amount': 'Standardowa kwota zapa', - 'Default zap comment': 'Standardowy komentarz do zapa', - 'Lightning Address (or LNURL)': 'Lightning Adres (lub LNURL)', - 'Quick zap': 'Szybki zap', - 'If enabled, you can zap with a single click. Click and hold for custom amounts': - 'Jeśli włączysz tę opcję, będzie można wysyłać zapa jednym kliknięciem. Naciśnij i przytrzymaj, aby wprowadzić inną kwotę', - All: 'Wszystkie', - Reactions: 'Odzewy', - Zaps: 'Zapy', - Boosts: 'Boosty', - Badges: 'Badges', - Reports: 'Reports', - 'Enjoying Imwald?': 'Podoba ci się Imwald?', - 'Your donation helps me maintain Imwald and make it better! 😊': - 'Twoja darowizna pomoże mi utrzymać i ulepszać Imwald! 😊', - 'Earlier notifications': 'Wcześniejsze powiadomienia', - 'Temporarily display this note': 'Tymczas wyświetl ten wpis', - buttonFollowing: 'Obserwujesz', - 'Are you sure you want to unfollow this user?': - 'Czy na pewno chcesz przestać obserwować tego użytkownika?', - 'Recent Supporters': 'Ostatni wspierający', - 'Seen on': 'Widziany na', - 'Temporarily display this reply': 'Tymczasowo wyświetl tę odpowiedź', - 'Note not found': 'Nie znaleziono wpisu', - 'Invalid embedded note reference': 'Invalid embedded note reference', - embeddedNoteInvalidEmpty: 'This embedded link is empty.', - embeddedNoteInvalidHex: - 'This is not a valid hex event id (expected exactly 64 hexadecimal characters).', - embeddedNoteInvalidBech32: - 'This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.', - embeddedNoteInvalidWrongKind: - 'This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.', - 'The note was not found on your relays or default relays.': - 'The note was not found on your relays or default relays.', + "Meeting created and invite sent": "Meeting created and invite sent", + "Failed to create meeting": "Failed to create meeting", + "Create and send invite": "Create and send invite", + "Creating…": "Creating…", + "In-person meeting": "In-person meeting", + Location: "Location", + "Address, venue, or place": "Address, venue, or place", + Description: "Description", + "Optional notes": "Optional notes", + "Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.": "Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.", + "Meeting created and {{count}} invite(s) sent": "Meeting created and {{count}} invite(s) sent", + "Create and send invites": "Create and send invites", + Title: "Title", + Start: "Start", + End: "End", + Delete: "Usuń", + "Relay already exists": "Transmiter już istnieje", + "invalid relay URL": "Nieprawidłowy URL transmitera", + "Relay URL…": "wss://… or relay host", + "Open relay": "Open relay", + "Add a new relay": "Dodaj nowy transmiter", + back: "z powrotem", + "Lost in the void": "Zagubiony w przestrzeni", + "Carry me home": "Na stronę główną", + "no replies": "Brak komentarzy", + "Reply to": "Odpowiedz do", + Search: "Wyszukaj", + "The relays you are connected to do not support search": "Podłączone transmitery nie obsługują wyszukiwania", + "Show more...": "Więcej...", + "All users": "Wszyscy użytkownicy", + "Display replies": "Wyświetl komentarze", + Notes: "Wpisy", + Replies: "Komentarze", + Gallery: "Galeria", + Notifications: "Powiadomienia", + "no more notifications": "Koniec powiadomień", + "Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.": "Logowanie za pomocą prywatnego klucza jest niebezpieczne. Zaleca się korzystanie z rozszerzenia przeglądarki, takiego jak alby, nostr-keyx lub nos2x. Jeśli musisz użyć prywatnego klucza, ustaw co najmniej hasło do szyfrowania.", + "Login with Browser Extension": "Logowanie z rozszerzeniem przeglądarki", + "Login with Bunker": "Logowanie z bunkrem", + "Login with Private Key": "Logowanie z prywatnym kluczem (nsec)", + "Login with npub (read-only)": "Logowanie z npub (tylko odczyt)", + readOnlySession: {"label":"Read-only","labelShort":"R/O","hint":"Browsing without a signing key. Sign in with an extension, nsec, or another method to post, react, and edit."}, + "reload notes": "Odśwież", + "Logged in Accounts": "Zalogowane konta", + "Add an Account": "Dodaj Konto", + "More options": "Więcej opcji", + "Add client tag": "Dodaj tag klienta", + "Show others this was sent via Imwald": "Pokaż innym, że zostało to wysłane przez Imwald", + "Are you sure you want to logout?": "Czy na pewno chcesz się wylogować?", + "relay sets": "Zestawy transmiterów", + edit: "edytuj", + Languages: "Języki", + Theme: "Wygląd", + System: "Domyślny", + Light: "Jasny", + Dark: "Ciemny", + Temporary: "Tymczasowe", + "Choose a relay set": "Wybierz zestaw transmiterów", + "Switch account": "Zmień konto", + Pictures: "Zdjęcia", + "Picture note": "Wpis Graficzny", + "A special note for picture-first clients like Olas": "Publikacja ze zdjęciami i opisem dla klientów takich jak Olas", + "Picture note requires images": "Wpis graficzny wymaga obrazów", + Relays: "Transmitery", + Image: "grafika", + "This image could not be loaded.": "This image could not be loaded.", + "Invalid or unsupported image address.": "Invalid or unsupported image address.", + "Open image link": "Open image link", + "Upload Image": "Upload Image", + "Insert emoji": "Insert emoji", + "Insert GIF": "Insert GIF", + "Insert meme": "Insert meme", + "Search GIFs": "Search GIFs", + "Search memes": "Search memes", + "Choose a GIF": "Choose a GIF", + "Choose a meme": "Choose a meme", + "Search GifBuddy for more GIFs": "Search GifBuddy for more GIFs", + "Add your own GIFs": "Add your own GIFs", + "Add your own meme templates": "Add your own meme templates", + "Description (optional, for search)": "Description (optional, for search)", + "e.g. happy birthday, thumbs up": "e.g. happy birthday, thumbs up", + "e.g. drake, distracted boyfriend": "e.g. drake, distracted boyfriend", + "Uploading...": "Uploading...", + "No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.": "No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.", + "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).": "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).", + "Failed to publish meme template for the picker": "Failed to publish meme template for the picker", + "{{name}} is not a GIF file": "{{name}} is not a GIF file", + "{{name}} is not a JPEG, PNG, or WebP file": "{{name}} is not a JPEG, PNG, or WebP file", + "R & W": "O & Z", + Read: "Odczyt", + Write: "Zapis", + "Pull relay sets": "Pobierz zestaw transmiterów", + "Select the relay sets you want to pull": "Wybierz zestaw transmiterów do pobrania", + "No relay sets found": "Nie znaleziono zestawu transmiterów", + "Pull n relay sets": "Pobierz {{n}} zestawów transmiterów", + Pull: "Pobierz", + "Select all": "Wszystkie", + "Relay Sets": "Grupy transmiterów", + "Read & Write Relays": "Transmitery zapisu i odczytu", + "read relays description": "Transmitery odczytu służą do wyszukiwania zdarzeń dotyczących użytkownika. Inni użytkownicy będą publikować wpisy, które chcą, abyś zobaczył, w transmiterach odczytu.", + "write relays description": "Transmitery zapisu służą do publikowania wydarzeń. Inni użytkownicy będą wyszukiwać zdarzenia z transmiterów zapisu.", + "read & write relays notice": "Liczba serwerów odczytu i zapisu powinna wynosić od 2 do 4.", + "Don't have an account yet?": "Nie masz jeszcze konta?", + "or simply generate a private key": "lub wygeneruj klucz prywatny nowego konta", + "This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.": "Jest to klucz prywatny. Nie należy go nikomu udostępniać. Przechowuj go w bezpiecznym miejscu. W przypadku jego utraty nie będzie można go odzyskać.", + Edit: "Edytuj", + Save: "Zapisz", + "Display Name": "Twoja nazwa użytkownika", + Bio: "O mnie", + "Nostr Address (NIP-05)": "Adres Nostr (NIP-05)", + "Invalid NIP-05 address": "Nieprawidłowy adres NIP-05", + "Copy private key": "Kopiuj klucz prywatny", + "Enter the password to decrypt your ncryptsec": "Wprowadź hasło, aby odszyfrować ncryptsec", + Back: "Wróć", + "optional: encrypt nsec": "opcjonalnie: encrypt nsec", + password: "hasło", + "Sign up": "Zarejestruj się", + "Save to": "Zapisz do", + "Enter a name for the new relay set": "Wpisz nazwę nowegej grupy transmiterów", + "Save to a new relay set": "Zapisz do nowego zestawu transmiterów", + Mute: "Zablokuj", + Muted: "Zablokowani", + Unmute: "Przywróć", + "Unmute user": "Przywróć użytkownika ", + Block: "Block", + Unblock: "Unblock", + blocked: "blocked", + "Append n relays": "Dodaj {{n}} transmiterów", + Append: "Dodaj", + "Select relays to append": "Wybierz transmitery do dodania", + "calculating...": "obliczanie...", + "Calculate optimal read relays": "Obliczanie optymalnego odczytu transmiterów", + "Login to set": "Zaloguj się", + "Please login to view following feed": "Zaloguj się, aby wyświetlić poniższy wpis", + "Follow set": "Follow set", + "Follow set feed empty": "This NIP-51 list is empty, was not found, or relays could not load it yet.", + "Send only to r": "Wyślij tylko do {{r}}", + "Send only to these relays": "Wyślij tylko do tych transmiterów", + Explore: "Transmitery", + "Relay reviews": "Opinie o relayach", + "Search relays": "Wyszukaj transmiter", + relayInfoBadgeAuth: "✔️", + relayInfoBadgeSearch: "Wyszukiwarka", + relayInfoBadgePayment: "Płatności", + Operator: "Operator", + Contact: "Kontakt", + Software: "Software", + Version: "Wersja", + "Random Relays": "Losowo wybrane", + randomRelaysRefresh: "Odśwież", + "Explore more": "Zobacz więcej", + "Payment page": "Strona płatności", + "Supported NIPs": "Obsługiwane NIP-y", + "Relay liveliness (NIP-66)": "Relay liveliness (NIP-66)", + "Relay monitor (NIP-66)": "Relay monitor (NIP-66)", + "Auth required": "Auth required", + "Public (no auth)": "Public (no auth)", + "Payment required": "Payment required", + "No payment": "No payment", + "Writes required": "Writes required", + "Writes open": "Writes open", + "PoW required": "PoW required", + "No PoW": "No PoW", + "RTT open": "RTT open", + "RTT read": "RTT read", + "RTT write": "RTT write", + "Supported NIPs (from monitor)": "Supported NIPs (from monitor)", + "Last reported by monitor": "Last reported by monitor", + Network: "Network", + Type: "Type", + Topics: "Topics", + "Open in a": "Otwórz w {{a}}", + "Cannot handle event of kind k": "Nie można obsłużyć zdarzenia typu {{k}}", + "Unsupported event preview": "There isn’t a dedicated card for this event type yet. Here’s a readable preview.", + "No text content in event": "No text in this event.", + "Technical details": "Technical details", + "Event kind and time": "Kind {{kind}} · {{time}}", + "Event kind label": "Kind {{kind}}", + "Note kind label line": "KIND: {{kind}} · {{description}}", + "Unknown note declared kind tag": "Tagged kind: {{value}}", + "Unknown note tagged pubkey": "Tagged pubkey", + "Unknown note tagged content": "Content", + "Unknown note reference tags": "Reference tags (e, p, q, a)", + "Starred spells": "Starred spells", + "Spell star add title": "Star spell (adds to your Nostr bookmarks)", + "Spell star remove title": "Unstar spell (removes from your Nostr bookmarks)", + "Copy JSON": "Copy JSON", + Verse: "Verse", + "Notification reaction summary": "reacted to this note.", + "Notification discussion upvote summary": "upvoted in this discussion.", + "Notification discussion downvote summary": "downvoted in this discussion.", + "Notification boost summary": "Boosted this note", + "Notification boost detail": "The preview above is the original post.", + "Notification poll vote summary": "Voted on the poll above.", + "Notification poll vote options count": "{{count}} option(s) selected", + "Imwald synthetic event": "Imwald synthetic event", + "+ Add a URL to this list": "Add a URL to this list", + "Add a web URL": "Add a web URL", + "Add web URL to feed description": "Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.", + "Add to feed": "Add to feed", + "Open any https page in the side panel to reply, react, and discuss on Nostr.": "Open any https page in the side panel to reply, react, and discuss on Nostr.", + "Enter a valid http(s) URL": "Enter a valid http(s) URL", + "Opened by URL — not from your RSS list. Nostr thread is still tied to this link.": "Opened by URL — not from your RSS list. Nostr thread is still tied to this link.", + "Open in browser": "Open in browser", + "liveEvent.zapStreamPlayer": "Live stream (zap.stream)", + liveStreamEmbedSuppressed: "Inline live stream is hidden because your kind filter excludes NIP-53 streams. Open via njump or another client below.", + "liveEvent.hlsPlaybackUnavailable": "Inline playback failed (the stream may be offline, ended, or blocked). You can still open the hosted watch page below.", + "liveEvent.hideFromCarousel": "Hide from carousel", + "liveEvent.showInCarousel": "Show in carousel", + "liveEvent.hideFromCarouselTitle": "Hide this stream in the live carousel (saved in this browser on this device). Click again to show it.", + "liveEvent.showInCarouselTitle": "Show this stream in the live carousel again.", + "Web page": "Web page", + Open: "Open", + "Sorry! The note cannot be found 😔": "Sorry! The note cannot be found 😔", + "This user has been muted": "Ten użytkownik został wyciszony", + Wallet: "Portfel", + Sats: "satsów", + sats: "satsów", + "Zap to": "Zap dla użytkownika ", + "Zap n sats": "Zap {{n}} satsów", + zapComment: "Komentarz do zapa", + "Default zap amount": "Standardowa kwota zapa", + "Default zap comment": "Standardowy komentarz do zapa", + "Lightning Address (or LNURL)": "Lightning Adres (lub LNURL)", + "Quick zap": "Szybki zap", + "If enabled, you can zap with a single click. Click and hold for custom amounts": "Jeśli włączysz tę opcję, będzie można wysyłać zapa jednym kliknięciem. Naciśnij i przytrzymaj, aby wprowadzić inną kwotę", + All: "Wszystkie", + Reactions: "Odzewy", + Zaps: "Zapy", + Boosts: "Boosty", + Badges: "Badges", + Reports: "Reports", + "Enjoying Imwald?": "Podoba ci się Imwald?", + "Your donation helps me maintain Imwald and make it better! 😊": "Twoja darowizna pomoże mi utrzymać i ulepszać Imwald! 😊", + "Earlier notifications": "Wcześniejsze powiadomienia", + "Temporarily display this note": "Tymczas wyświetl ten wpis", + buttonFollowing: "Obserwujesz", + "Are you sure you want to unfollow this user?": "Czy na pewno chcesz przestać obserwować tego użytkownika?", + "Recent Supporters": "Ostatni wspierający", + "Seen on": "Widziany na", + "Active relays": "Active relays", + "Not connected": "Not connected", + "Relay session striked": "Skipped this session (too many connection failures)", + "More relays": "+{{count}} relays", + "Temporarily display this reply": "Tymczasowo wyświetl tę odpowiedź", + "Note not found": "Nie znaleziono wpisu", + "Invalid embedded note reference": "Invalid embedded note reference", + embeddedNoteInvalidEmpty: "This embedded link is empty.", + embeddedNoteInvalidHex: "This is not a valid hex event id (expected exactly 64 hexadecimal characters).", + embeddedNoteInvalidBech32: "This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.", + embeddedNoteInvalidWrongKind: "This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.", + "The note was not found on your relays or default relays.": "The note was not found on your relays or default relays.", "Try searching author's relays": "Try searching author's relays", - 'Searching external relays...': 'Searching external relays...', - "This will connect to the author's relays and relay hints": - "This will connect to the author's relays and relay hints", - 'Note could not be found anywhere': 'Note could not be found anywhere', - 'Try external relays': 'Try external relays', - 'Searching...': 'Searching...', - 'Show relays': 'Show relays', - 'No external relay hints available': 'No external relay hints available', - 'External relay search is not available for this link type': - 'External relay search is not available for this link type.', - 'Searched external relays not found': - 'Searched {{count}} external relays; the note was still not found.', - 'no more replies': 'brak kolejnych odpowiedzi', - 'Relay sets': 'Zestawy transmiterów', - 'Search for Relays': 'Search for Relays', - 'Using app default relays': 'Using app default relays', - "Following's Favorites": 'Ulubione transmitery obserwowanych', - 'no more relays': 'brak kolejnych transmiterów', - 'Favorited by': 'Ulubione przez', - 'Post settings': 'Ustawienia publikacji', - 'Publishing feedback': 'Publishing feedback', - 'Publish success toasts': 'Publish success toasts', - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.': - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.', - 'Publish successful': 'Publish successful', - 'Media upload service': 'Usługa przesyłania mediów', - 'Choose a relay': 'Wybierz transmiter', - 'no relays found': 'Nie znaleziono transmiterów', - video: 'wideo', - 'Show n new notes': 'Pokaż {{n}} nowych wpisów', - YouTabName: 'Ty', - Bookmark: 'Zakładka', - 'Remove bookmark': 'Usuń zakładkę', - 'no bookmarks found': 'Nie znaleziono zakładek', - 'no more bookmarks': 'Koniec zakładek', - Bookmarks: 'Zakładki', - 'Follow Packs': 'Follow Packs', - 'Follow Pack': 'Follow Pack', - 'Follow pack by': 'by', - 'In Follow Packs': 'In Follow Packs', - 'Badge details': 'Badge details', - 'Issued by': 'Issued by', - 'Other recipients': 'Other recipients', - 'No other recipients found': 'No other recipients found', - 'Recipients could not be loaded': 'Recipients could not be loaded', - 'View award': 'View award', - 'Awarded on': 'Awarded on', - 'Please log in to follow': 'Please log in to follow', - 'Following All': 'Following All', - 'Followed {{count}} users': 'Followed {{count}} users', - 'All available members are already followed or muted': - 'All available members are already followed or muted', - 'You are already following all members of this pack': - 'You are already following all members of this pack', - 'Failed to follow pack': 'Failed to follow pack', - '{{count}} profiles': '{{count}} profiles', - 'Show more': 'Pokaż więcej', - General: 'Ogólne', - Autoplay: 'Autoodtwarzanie', - 'Enable video autoplay on this device': - 'Włącz automatyczne odtwarzanie wideo na tym urządzeniu', - 'liveActivities.heading': 'Live now', - 'liveActivities.regionLabel': 'Live spaces and streams', - 'liveActivities.fromFollow': 'From someone you follow', - 'liveActivities.goToSlide': 'Show live item {{n}}', - 'liveActivities.settingsToggle': 'Live activities banner', - 'liveActivities.settingsHint': - 'Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.', - 'Add random relays to every publish': 'Random relays in publish list', - 'Add random relays to every publish description': - 'Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.', - relayType_local: 'Local', - relayType_relay_list: 'Relay list', - relayType_http_relay_list: 'HTTP', - 'HTTP relays': 'HTTP relays', - httpRelaysDescription: - 'HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.', - 'HTTP relays saved': 'HTTP relays saved', - 'Failed to save HTTP relay list': 'Failed to save HTTP relay list', - 'HTTP relays must start with https:// or http://': - 'HTTP relays must start with https:// or http://', - relayType_client_default: 'Client default', - relayType_open_from: 'Current feed', - relayType_favorite: 'Favorite', - relayType_relay_set: 'Relay set', - relayType_contextual: 'Reply/PM', - relayType_randomly_selected: 'Random (optional)', - 'Session relays': 'Session relays', - 'Session relays tab description': - 'Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish).', - 'Session relays preset working': 'Working preset relays', - 'Session relays preset working hint': - 'Preset relays (from app defaults) that have not reached 3 publish failures this session.', - 'Session relays preset striked': 'Striked preset relays', - 'Session relays preset striked hint': - 'Preset relays that have reached 3 publish failures this session and are skipped for the rest of the session.', - 'Session relays scored random': 'Scored random relays', - 'Session relays scored random hint': - 'Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.', - 'Session relays all striked': 'All striked relays (any source)', - 'Session relays clear strike': 'Allow again', - 'Session relays clear strike hint': - 'Remove this relay from the session block list; it will be used again until new connection failures.', - successes: 'successes', - None: 'None', - 'Cache & offline storage': 'Cache & offline storage', - feedStarting: 'Starting feeds and relays… This can take a few seconds after login.', - refreshCacheButtonExplainer: - 'Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.', - 'eventArchive.sectionTitle': 'Notes & feed archive', - 'eventArchive.sectionBlurb': - 'Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.', - 'eventArchive.defaultsMobile': - 'This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).', - 'eventArchive.defaultsElectron': - 'Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.defaultsDesktopWeb': - 'Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.enablePersist': 'Persist feed events to disk', - 'eventArchive.maxMb': 'Max archive size (MB), blank = default for this device', - 'eventArchive.maxEvents': 'Max archived events, blank = default', - 'eventArchive.sessionLru': 'In-memory session cache (event count), blank = default', - 'eventArchive.effectiveSummary': - 'Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.', - 'eventArchive.on': 'on', - 'eventArchive.off': 'off', - 'eventArchive.apply': 'Apply cache settings', - 'eventArchive.appliedToast': 'Cache settings saved. Session memory updated.', - 'Paste or drop media files to upload': 'Wklej lub upuść pliki multimedialne, aby przesłać', - Preview: 'Podgląd', - 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'Zaraz opublikujesz zdarzenie podpisane przez [{{eventAuthorName}}]. Obecnie jesteś zalogowany jako [{{currentUsername}}]. Czy jesteś pewien?', - 'Platinum Sponsors': 'Sponsorzy Platynowi', - From: 'Od', - 'Comment on': 'Komentarz do', - 'View on njump.me': 'Zobacz na njump.me', - 'Hide content from untrusted users': 'Ukryj treści od nieznanych użytkowników', - 'Only show content from your followed users and the users they follow': - 'Pokaż tylko treści od użytkowników, których obserwujesz i ich obserwowanych', - 'Followed by': 'Obserwowany przez', - 'Mute user privately': 'Zablokuj użytkownika prywatnie', - 'Mute user publicly': 'Zablokuj użytkownika publicznie', - Quotes: 'Cytaty', - 'Lightning Invoice': 'Faktura Lightning', - 'Bookmark failed': 'Nie udało się dodać zakładki', - 'Remove bookmark failed': 'Nie udało się usunąć zakładki', - Translation: 'Tłumaczenie', - Balance: 'Saldo', - characters: 'znaków', - translateApiKeyDescription: - 'Ten klucz API możesz używać wszędzie tam, gdzie obsługiwane jest LibreTranslate. Adres usługi to {{serviceUrl}}', - 'Top up': 'Doładuj', - 'Will receive: {n} characters': 'Otrzymasz: {{n}} znaków', - 'Top up {n} sats': 'Doładuj {{n}} satsów', - 'Minimum top up is {n} sats': 'Minimalne doładowanie to {{n}} satsów', - Service: 'Usługa', - 'Reset API key': 'Zresetuj klucz API', - 'Are you sure you want to reset your API key? This action cannot be undone.': - 'Czy na pewno chcesz zresetować swój klucz API? Ta akcja jest nieodwracalna.', - Warning: 'Ostrzeżenie', - 'Errors & warnings': 'Errors & warnings', - 'Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.': - 'Twój obecny klucz API stanie się nieaktywny natychmiast, a wszystkie aplikacje korzystające z niego przestaną działać, dopóki nie zaktualizujesz ich nowym kluczem.', - 'Service address': 'Adres usługi', - Pay: 'Zapłać', - interactions: 'Interakcje', - notifications: 'Powiadomienia', - notificationsViewAsAccount: 'View as', - notificationsViewAsAccountAria: - 'Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.', - notificationsSwitchAccountFailed: - 'Could not switch account. Check your signer, password, or extension and try again.', - 'Show untrusted {type}': 'Pokaż nieznane {{type}}', - 'Hide untrusted {type}': 'Ukryj nieznane {{type}}', - 'Currently hiding {type} from untrusted users.': - 'Obecnie ukrywasz {{type}} od nieznanych użytkowników.', - 'Currently showing all {type}.': 'Obecnie wyświetlasz wszystkie {{type}}.', - 'Click continue to show all {type}.': 'Kliknij kontynuuj, aby wyświetlić wszystkie {{type}}.', - 'Click continue to hide {type} from untrusted users.': - 'Kliknij kontynuuj, aby ukryć {{type}} od nieznanych użytkowników.', - 'Trusted users include people you follow and people they follow.': - 'Zaufani użytkownicy to osoby, które obserwujesz i osoby, które oni obserwują.', - Continue: 'Kontynuuj', - 'Successfully updated mute list': 'Sukces aktualizacji listy zablokowanych użytkowników', - 'No pubkeys found from {url}': 'Nie znaleziono kluczy publicznych z {{url}}', - 'Translating...': 'Tłumaczenie...', - Translate: 'Przetłumacz', - 'Show original': 'Pokaż oryginał', - Website: 'Strona internetowa', - 'Hide untrusted notes': 'Ukryj wpisy od nieznanych użytkowników', - 'Open in another client': 'Otwórz w innym kliencie', - Community: 'Społeczność', - Group: 'Grupa', - 'Live event': 'Wydarzenie na żywo', - Article: 'Artykuł', - Unfavorite: 'Usuń z ulubionych', - 'Recommended relays': 'Rekomendowane transmitery', - 'Show recommended relays panel': 'Show recommended relays panel', - 'Display the right-side panel with recommended relays on desktop': - 'Display the right-side panel with recommended relays on desktop', - 'Blossom server URLs': 'Adresy serwerów Blossom', - 'You need to add at least one blossom server in order to upload media files.': - 'Musisz dodać przynajmniej jeden serwer Blossom, aby móc przesyłać pliki multimedialne.', - 'Recommended blossom servers': 'Zalecane serwery Blossom', - 'Enter Blossom server URL': 'Wprowadź adres URL serwera Blossom', - Preferred: 'Preferowany', - 'Multiple choice (select one or more)': 'Wielokrotny wybór (wybierz jeden lub więcej)', - Vote: 'Głosuj', - '{{number}} votes': '{{number}} głosów', - 'Total votes': 'Łączna liczba głosów', - 'Poll has ended': 'Ankieta zakończona', - 'Poll ends at {{time}}': 'Ankieta kończy się o {{time}}', - 'Load results': 'Załaduj wyniki', - 'This is a poll note.': 'To jest notatka ankiety.', - 'Unlike regular notes, polls are not widely supported and may not display on other clients.': - 'W przeciwieństwie do zwykłych notatek, ankiety nie są szeroko obsługiwane i mogą nie wyświetlać się w innych klientach.', - 'Option {{number}}': 'Opcja {{number}}', - 'Add Option': 'Dodaj opcję', - 'Allow multiple choices': 'Zezwól na wielokrotny wybór', - 'End Date (optional)': 'Data zakończenia (opcjonalna)', - 'Clear end date': 'Wyczyść datę zakończenia', - 'Relay URLs (optional, comma-separated)': - 'Adresy URL transmiterów (opcjonalne, oddzielone przecinkami)', - 'Remove poll': 'Usuń ankietę', - 'Refresh results': 'Odśwież wyniki', - '{{votes}} · {{pct}}%': '{{votes}} · {{pct}}%', - 'See results': 'See results', - 'Zap poll (paid votes)': 'Zap poll (paid votes)', - 'Invalid zap poll': 'Invalid zap poll', - 'You voted on this poll (zap receipt)': 'You voted on this poll (zap receipt)', - 'Poll closed {{time}}': 'Poll closed {{time}}', - 'Closes {{time}}': 'Closes {{time}}', - 'Vote size': 'Vote size', - '{{n}} sats (fixed)': '{{n}} sats (fixed)', - '{{min}}–{{max}} sats': '{{min}}–{{max}} sats', - '≥ {{n}} sats': '≥ {{n}} sats', - '≤ {{n}} sats': '≤ {{n}} sats', - 'Loading tally…': 'Loading tally…', - 'Zap poll no votes yet': - 'No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).', - 'Consensus threshold': 'Consensus threshold', - 'Pay to': 'Pay to', - Recipient: 'Recipient', - Option: 'Option', - 'Select option': 'Select option', - 'Select an option': 'Select an option', - 'Vote with zap': 'Vote with zap', - 'Zap sent': 'Zap sent', - 'Zapping…': 'Zapping…', - 'Refresh tally': 'Refresh tally', - '{{n}} zaps': '{{n}} zaps', - Poll: 'Ankieta', - Media: 'media', - 'Articles and Publications': 'Articles and Publications', - 'Search articles...': 'Search articles...', - 'Refreshing articles...': 'Refreshing articles...', - 'No articles or publications found': 'No articles or publications found', - 'No articles or publications match your search': - 'No articles or publications match your search', - 'articles and publications': 'articles and publications', - Interests: 'Interests', - Calendar: 'Calendar', - 'No subscribed interests yet.': - 'No subscribed interests yet. Add topics in settings to see them here.', - 'No bookmarked notes with id tags yet.': - 'No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.', - 'No follows or relays to load yet.': 'No follows or relays to load yet.', - 'Nothing to load for this feed.': 'Nothing to load for this feed.', - 'No posts loaded for this feed. Try refreshing.': - 'No posts loaded for this feed. Try refreshing.', - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.': - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.', - 'Per-relay timeline results ({{count}} connections)': - 'Per-relay timeline results ({{count}} connections)', - 'Republish to ...': 'Przekaż ponownie do ...', - 'All available relays': 'All available relays', - 'All active relays (monitoring list)': 'All active relays (monitoring list)', - 'Successfully republish to all available relays': - 'Successfully republish to all available relays', - 'Failed to republish to all available relays: {{error}}': - 'Failed to republish to all available relays: {{error}}', - 'Successfully republish to all active relays': 'Successfully republish to all active relays', - 'Failed to republish to all active relays: {{error}}': - 'Failed to republish to all active relays: {{error}}', - 'No active relays in monitoring list': 'No active relays in monitoring list', - 'No relay accepted the event': 'No relay accepted the event', - 'No relays available': 'No relays available', - 'No write relays configured': 'No write relays configured', - 'Relay did not accept the event': 'Relay did not accept the event', - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".': - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".', - 'Successfully republish to your write relays': - 'Pomyślnie ponownie opublikowano na twoich transmiterach zapisu', - 'Failed to republish to your write relays: {{error}}': - 'Nie udało się ponownie opublikować na twoich transmiterach zapisu: {{error}}', - 'Successfully republish to relay set: {{name}}': - 'Pomyślnie ponownie opublikowano do zestawu transmiterów: {{name}}', - 'Failed to republish to relay set: {{name}}. Error: {{error}}': - 'Nie udało się ponownie opublikować do zestawu transmiterów: {{name}}. Błąd: {{error}}', - 'Successfully republish to relay: {{url}}': - 'Pomyślnie ponownie opublikowano do transmitera: {{url}}', - 'Failed to republish to relay: {{url}}. Error: {{error}}': - 'Nie udało się ponownie opublikować do transmitera: {{url}}. Błąd: {{error}}', - 'Write relays': 'Transmitery zapisu', - 'No more reactions': 'Brak kolejnych reakcji', - 'No reactions yet': 'Brak reakcji', - 'No more zaps': 'Brak kolejnych zapów', - 'No zaps yet': 'Brak zapów', - 'No more boosts': 'Brak kolejnych boostów', - 'No boosts yet': 'Brak boostów', - 'n more boosts': '{{count}} more boosts', - FollowListNotFoundConfirmation: - 'Lista obserwowanych nie została znaleziona. Czy chcesz utworzyć nową? Jeśli wcześniej obserwowałeś użytkowników, proszę NIE potwierdzaj, ponieważ ta operacja spowoduje utratę poprzedniej listy obserwowanych.', - MuteListNotFoundConfirmation: - 'Lista wyciszonych nie została znaleziona. Czy chcesz utworzyć nową? Jeśli wcześniej wyciszałeś użytkowników, proszę NIE potwierdzaj, ponieważ ta operacja spowoduje utratę poprzedniej listy wyciszonych.', - 'Show NSFW content by default': 'Domyślnie pokazuj treści NSFW', - 'Custom emoji management': 'Zarządzanie niestandardowymi emoji', - 'After changing emojis, you may need to refresh the page': - 'Po zmianie emoji może być konieczne odświeżenie strony', - 'Too many read relays': 'Too many read relays', - 'Too many write relays': 'Too many write relays', - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.', - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.', - 'Optimize Relay Settings': 'Optymalizuj ustawienia transmiterów', - 'Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.': - 'Twoja obecna konfiguracja transmiterów może nie być optymalna. To może utrudnić innym znalezienie Twoich postów i może skutkować niekompletnymi powiadomieniami.', - 'Optimize Now': 'Optymalizuj teraz', - 'Maybe Later': 'Może później', - "Don't remind me again": 'Nie przypominaj mi więcej', - Posts: 'Posty', - 'Posts (OPs)': 'Posts (OPs)', - 'Kind 1 replies': 'Kind 1 replies', - Comments: 'Comments', - 'Replies & comments': 'Replies & comments', - Articles: 'Artykuły', - Highlights: 'Wyróżnienia', - 'A note from': 'A note from', - Polls: 'Ankiety', - 'Zap polls': 'Zap polls', - 'Voice Posts': 'Posty głosowe', - 'Photo Posts': 'Posty ze zdjęciami', - 'Video Posts': 'Posty wideo', - 'Git repositories': 'Git repositories', - 'Git issues': 'Git issues', - 'Git releases': 'Git releases', - 'Git Republic repository': 'Git Republic repository', - 'Git Republic issue': 'Git Republic issue', - 'Git Republic release': 'Git Republic release', - 'Git Republic event': 'Git Republic event', - 'Git Republic': 'Git Republic', - 'Open in Git Republic': 'Open in Git Republic', - 'Pre-release': 'Pre-release', - Draft: 'Draft', - 'Repository release': 'Repository release', - 'New Repository Release': 'New Repository Release', - 'Release notes use the editor below (optional).': - 'Release notes use the editor below (optional).', - 'Repository owner (npub or hex)': 'Repository owner (npub or hex)', - 'Repository id (d-tag)': 'Repository id (d-tag)', - 'Git tag name': 'Git tag name', - 'Tag target (40-char commit hash)': 'Tag target (40-character commit hash)', - '40-character hex SHA-1': '40-character hex SHA-1', - 'Release title': 'Release title', - 'Download URL': 'Download URL', - 'Draft release': 'Draft release', - 'Fill repository release fields': 'Fill in all required repository release fields.', - 'Invalid repository owner pubkey': 'Invalid repository owner (use npub or 64-char hex).', - 'Citations require private relays (NIP-65).': - 'Citations require private outbox relays (NIP-65).', - 'Select All': 'Zaznacz wszystko', - 'Clear All': 'Wyczyść wszystko', - 'Set as default filter': 'Ustaw jako domyślny filtr', - 'Use filter': 'Use filter', - 'See all events': 'See all events', - 'See all events hint': - 'Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.', - 'Use filter hint': 'Only the kinds you select below are requested and shown.', - Apply: 'Zastosuj', - Reset: 'Resetuj', - 'Share something on this Relay': 'Udostępnij coś na tym transmiterze', - 'Try deleting this note': 'Spróbuj usunąć ten wpis', - 'Deletion request sent to {{count}} relays': - 'Żądanie usunięcia wysłano do {{count}} transmiterów', - 'Suitable Relays': 'Odpowiednie transmitery', - 'People, keywords, or relays': 'Osoby, słowa kluczowe lub transmitery', - 'Hide content mentioning muted users': 'Ukryj treści wspominające wyciszonych użytkowników', - 'This note mentions a user you muted': 'Ten wpis wspomina użytkownika, którego wyciszyłeś', - Filter: 'Filtr', - 'Feed filter': 'Feed filter', - 'Search loaded posts': 'Search loaded posts', - 'Filter loaded posts placeholder': 'Filter by text in content or tags…', - 'Feed filter author': 'Author', - 'Feed filter author everyone': 'From everyone', - 'Feed filter author me': 'Only from me', - 'Feed filter author npub': 'From user (npub or hex)', - 'Feed filter author npub from prefix': 'from:', - 'Feed filter author npub placeholder': 'npub1… or 64-char hex', - 'Feed filter author me needs login': 'Log in to filter by your pubkey', - 'Within the last': 'Within the last', - 'Time unit': 'Time unit', - Minutes: 'Minutes', - Days: 'Days', - Weeks: 'Weeks', - Months: 'Months', - Years: 'Years', - 'Feed filter client-side hint': - 'Filters only apply to posts already loaded; relays are not queried again.', - 'Feed full search': 'Perform full search', - 'Feed full search running': 'Searching…', - 'Feed full search clear': 'Clear', - 'Feed full search active hint': - 'Showing relay search results. Clear to return to the live feed.', - 'Feed full search need constraint': - 'Add search text, an author filter, or a time range before searching relays.', - 'Feed full search invalid feed': 'This feed cannot run a relay search.', - 'Feed full search failed': 'Relay search failed. Try again.', - 'Feed full search empty': 'No matching posts were found on the queried relays.', - 'No loaded posts match your filters.': 'No loaded posts match your filters.', - 'mentioned you in a note': 'wspomniał o tobie w notatce', - 'quoted your note': 'zacytował twoją notatkę', - 'quoted this note': 'Quoted this note', - 'highlighted this note': 'Highlighted this note', - 'cited in article': 'Cited in article', - 'Thread backlinks heading': 'Also quoting this note', - 'Thread backlinks primary section': 'Quotes, highlights & citations', - 'Thread backlinks bookmarks section': 'Bookmarks', - 'Thread backlinks lists section': 'Lists & collections', - 'View full note and thread': 'View full note and thread', - 'labeled this note': 'Labeled this note', - 'reported this note': 'Reported this note', - 'bookmarked this note': 'Bookmarked this note', - 'pinned this note': 'Pinned this note', - 'listed this note': 'Listed this note', - 'bookmark set reference': 'Bookmark set includes this note', - 'curated this note': 'Curated this note', - 'badge award for this note': 'Badge award for this note', - 'referenced this note': 'Referenced this note', - 'Report events heading': 'Moderation reports', - 'voted in your poll': 'zagłosował w twojej ankiecie', - 'reacted to your note': 'zareagował na twoją notatkę', - 'boosted your note': 'zboostował twoją notatkę', - 'zapped your note': 'zappował twoją notatkę', - 'zapped you': 'zappował cię', - zapped: 'zapped', - 'Invalid zap receipt': 'Invalid zap receipt', - 'Zapped note': 'Zapped note', - 'Zapped profile': 'Zapped profile', - 'Zap reply threshold': 'Zap reply threshold', - 'Zaps above this amount will appear as replies in threads': - 'Zaps above this amount will appear as replies in threads', - 'Mark as read': 'Oznacz jako przeczytane', - Report: 'Zgłoś', - 'Successfully report': 'Pomyślnie zgłoszono', - 'Failed to report': 'Nie udało się zgłosić', - nudity: 'Nagość', - malware: 'Złośliwe oprogramowanie', - profanity: 'Wulgaryzmy', - illegal: 'Nielegalna treść', - spam: 'Spam', - other: 'Inne', - 'Notification list style': 'Styl listy powiadomień', - 'See extra info for each notification': 'Zobacz dodatkowe informacje dla każdego powiadomienia', - 'See more notifications at a glance': 'Zobacz więcej powiadomień na pierwszy rzut oka', - Detailed: 'Szczegółowy', - 'Submit Relay': 'Prześlij transmiter', - Homepage: 'Strona główna', - 'Proof of Work (difficulty {{minPow}})': 'Dowód pracy (trudność {{minPow}})', - 'via {{client}}': 'przez {{client}}', - 'Auto-load media': 'Automatyczne ładowanie mediów', - Always: 'Zawsze', - 'Wi-Fi only': 'Tylko Wi-Fi', - Never: 'Nigdy', - 'Click to load image': 'Kliknij, aby załadować obraz', - 'Click to load media': 'Kliknij, aby załadować media', - 'Click to load YouTube video': 'Kliknij, aby załadować wideo z YouTube', - '{{count}} reviews': '{{count}} opinii', - 'Write a review': 'Napisz opinię', - 'No reviews yet. Be the first to write one!': - 'Jeszcze brak opinii. Bądź pierwszym, który napisze!', - 'View more reviews': 'Zobacz więcej opinii', - 'Failed to review': 'Błąd opinii', - 'Write a review and pick a star rating': 'Napisz opinię i wybierz ocenę gwiazdkową', - Submit: 'Prześlij', - 'Reviews for {{relay}}': 'Opinie o {{relay}}', - 'No relays selected': 'Nie wybrano przekaźników', - 'Post to': 'Opublikuj na', - 'Write relays and {{count}} other relays': 'Przekaźniki zapisu i {{count}} innych przekaźników', - '{{count}} relays': '{{count}} przekaźników', - 'Republishing...': 'Ponowne publikowanie...', - 'Trending Notes': 'Popularne wpisy', - 'Trending on Your Favorite Relays': 'Trending on Your Favorite Relays', - 'Trending on the Default Relays': 'Trending on the Default Relays', - 'Latest from your follows': 'Latest from your follows', - 'Latest from our recommended follows': 'Latest from our recommended follows', - 'Follows latest page title': 'Latest from follows', - 'Follows latest page description': - 'Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.', - 'Follows latest nav label': 'Follows latest', - 'Loading follow list…': 'Loading follow list…', - 'Could not load recommended follows': 'Could not load recommended follows', - 'Your follow list is empty': 'Your follow list is empty', - 'Loading recent posts from follows…': 'Loading recent posts from follows…', - 'Loading more…': 'Loading more…', - 'No recent posts from this user in the current fetch': - 'No recent posts from this user in the current fetch', - 'Loading trending notes from your relays...': 'Loading trending notes from your relays...', - Sort: 'Sort', - newest: 'newest', - oldest: 'oldest', - 'most popular': 'most popular', - 'least popular': 'least popular', - 'Connected to': 'Połączono z', - 'Disconnect Wallet': 'Odłącz portfel', - 'Are you absolutely sure?': 'Czy jesteś całkowicie pewien?', - 'You will not be able to send zaps to others.': 'Nie będziesz mógł wysyłać zapów innym.', - Disconnect: 'Odłącz', - 'Set up your wallet to send and receive sats!': - 'Skonfiguruj swój portfel, aby wysyłać i odbierać satsy!', - 'Set up': 'Skonfiguruj', - 'nested events': 'nested events', - 'Loading RSS feeds...': 'Loading RSS feeds...', - 'No RSS feed items available': 'No RSS feed items available', - 'Show or hide the RSS page and sidebar entry': 'Show or hide the RSS page and sidebar entry', - 'Refreshing feeds...': 'Refreshing feeds...', - 'All feeds': 'All feeds', - 'All time': 'All time', - 'Last hour': 'Last hour', - 'Last day': 'Last day', - 'Last week': 'Last week', - 'Last month': 'Last month', - 'Last 24 hours': 'Last 24 hours', - 'Last 48 hours': 'Last 48 hours', - 'Time range': 'Time range', - 'Filter by RSS source': 'Filter by RSS source', - 'No items match your filters': 'No items match your filters', - 'Search...': 'Search...', - '{{count}} feeds': '{{count}} feeds', - 'Toggle filters': 'Toggle filters', - 'Showing {{filtered}} of {{total}} items': 'Showing {{filtered}} of {{total}} items', - Full: 'Full', - Compact: 'Zwięzły', - Expand: 'Expand', - 'help.title': 'Help', - 'help.tabShortcuts': 'Keyboard shortcuts', - 'help.tabOverview': 'App overview', - 'shortcuts.title': 'Keyboard shortcuts', - 'shortcuts.intro': - 'Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.', - 'shortcuts.sectionApp': 'This app', - 'shortcuts.sectionSearch': 'Search bar', - 'shortcuts.sectionStandard': 'Standard', - 'shortcuts.openHelp': 'Show this help', - 'shortcuts.or': 'or', - 'shortcuts.then': 'then', - 'shortcuts.focusPrimary': - 'Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)', - 'shortcuts.focusSecondary': - 'Focus side panel scroll when it is open (desktop; same keys to scroll)', - 'shortcuts.newNote': 'New note / post (after login if needed)', - 'shortcuts.searchSuggest': 'Move through suggestions', - 'shortcuts.searchDismiss': 'Close search dropdown', - 'shortcuts.tabNavigate': 'Move focus to the next or previous control', - 'shortcuts.activate': 'Activate buttons and many controls', - 'shortcuts.closeOverlays': 'Close dialogs, menus, and the search dropdown', - 'shortcuts.scrollWhenFocused': 'Scroll the focused scrollable area', - 'shortcuts.browserBack': 'Browser back (history)', - 'No spells yet. Create one with the button above.': - 'No spells yet. Create one with the button above.', - 'Loading spells from your relays…': 'Loading spells from your relays…', - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.': - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.', - 'Select a spell…': 'Select a spell…', - 'Spells from follows': 'From people you follow ({{count}})', - 'Other spells': 'Other spells ({{count}})', - 'Select a spell to view its feed.': 'Select a spell to view its feed.', - 'Add another row': 'Add another row', - 'Remove this row': 'Remove this row', - 'One kind number per row (e.g. 1 for notes).': 'One kind number per row (e.g. 1 for notes).', - 'One author per row: $me, $contacts, or hex pubkey / npub.': - 'One author per row: $me, $contacts, or hex pubkey / npub.', - 'One hex event id per row.': 'One hex event id per row.', - 'One wss:// URL per row. Leave empty to use your write relays.': - 'One wss:// URL per row. Leave empty to use your write relays.', - 'One topic per row.': 'One topic per row.', - topic: 'topic', - 'Spell form fields': 'Spell form fields', - 'Counting matching events…': 'Counting matching events…', - 'Edit spell': 'Edit spell', - 'Clone spell': 'Clone spell', - 'Spell cloned': 'Spell cloned', - 'Clone spell intro': - 'This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.', - 'Spell updated': 'Spell updated', - 'Relay URL': 'Relay', - Count: 'Count', - 'Edit spell relays': 'Edit relays', - 'COUNT spell relay errors hint': - 'One or more relays failed or returned an error. You can change the relay list in the spell and save again.', - 'COUNT spell total distinct explanation': - 'Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.', - 'Leave empty to use your write relays.': 'Leave empty to use your write relays.', - 'COUNT spell result explanation': - 'Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.', - 'COUNT spell may be capped by limit': - 'This count may equal your spell limit — there could be more matching events on the network.', - 'Spell count failed. Check relays or try again.': - 'Could not complete the count. Check relays or try again.', - 'REQ returns a feed; COUNT returns a number.': - 'REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.', - listImportManualLabel: 'Pre-fill from event', - listImportFromEventHint: - 'Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.', - listImportManualPlaceholder: '64-char hex, nevent1…, or naddr1…', - listImportLoadManual: 'Apply', - listImportContentSkipped: - 'This event has non-empty content (may include encrypted private items). Only public tags were merged.', - listImportUnsupportedEmoji: - 'This list includes emoji tags (NIP-30); those are not added to the spell filter.', - listImportUnsupportedTag: - 'Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.', - listImportBadATag: 'Could not parse address tag: {{preview}}…', - listImportATagNotFound: 'Could not resolve address tag: {{preview}}…', - listImportATagFailed: 'Failed to resolve address tag: {{preview}}…', - listImportEventNotFound: 'No event found for that reference.', - 'REQ tag filters': 'REQ tag filters', - spellFormTagFiltersLabel: 'Tag filters on matching events', - spellCreateIntro: - 'Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.', - spellFormSectionQueryTitle: 'Spell query', - spellFormSectionQueryHint: - 'This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).', - spellFormSectionMetadataTitle: 'Listing & labels (optional)', - spellFormSectionMetadataBadge: 'Not part of the query', - spellFormSectionMetadataHint: - 'Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.', - spellFormCatalogTopicsLabel: 'Topic labels on this spell (t tags)', - spellTopicsMetadataHint: - 'One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).', - spellTagFiltersHint: - 'Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.', - spellTagFiltersEmpty: 'No tag filters yet. Add rows below or apply an event reference above.', - 'Tag filter letter': 'Tag letter', - 'Filter value': 'Value', - 'Add tag filter': 'Add tag filter', - spellPickerSectionYours: 'Your spells', - 'Failed to remove spell from local storage': 'Failed to remove spell from local storage', - Spells: 'Spells', - 'doublePane.secondaryEmpty': 'Open a note, profile, or settings item to show it here.', - 'doublePane.secondaryEmptyHint': 'Your feed and primary pages stay on the left.', - '(empty)': '(empty)', - '12-hour (AM/PM)': '12-hour (AM/PM)', - '24-hour': '24-hour', - 'A new version is available': 'A new version is available', - 'A short description of the article content': 'A short description of the article content', - AM: 'AM', - 'Access via': 'Access via', - 'Accessed On': 'Accessed On', - 'Accessed on': 'Accessed on', - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.': - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.', - 'Add a relay to block': 'Add a relay to block', - 'Add at least one invitee': 'Add at least one invitee', - 'Add client identifier': 'Add client identifier', - 'Add expiration tags by default': 'Add expiration tags by default', - 'Add quiet tags by default': 'Add quiet tags by default', - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above': - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above', - 'Add the source (where this text is from)': 'Add the source (where this text is from)', - 'Add to favorites': 'Add to favorites', - 'Add {{count}} Selected': 'Add {{count}} Selected', - 'Added at': 'Added at', - 'Added {{count}} relay(s)': 'Added {{count}} relay(s)', - 'Adding...': 'Adding...', - 'Adding…': 'Adding…', - 'Advanced Options': 'Advanced Options', - 'All Topics': 'All Topics', - 'All feeds from OPML file are already added': 'All feeds from OPML file are already added', - 'All items deleted successfully': 'All items deleted successfully', - 'Already blocked': 'Already blocked', - 'Already saved': 'Already saved', - 'Application Recommendations': 'Application Recommendations', - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.': - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.', - 'Are you sure you want to delete all items from this store?': - 'Are you sure you want to delete all items from this store?', - 'Are you sure you want to unmute this user? This will restore the follow button.': - 'Are you sure you want to unmute this user? This will restore the follow button.', - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", - 'Article exported as AsciiDoc': 'Article exported as AsciiDoc', - 'Article exported as Markdown': 'Article exported as Markdown', - 'Article title (optional)': 'Article title (optional)', - articleDTagDefaultHint: - 'Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….', - Audio: 'Audio', - Author: 'Author', - 'Author is required for reading groups': 'Author is required for reading groups', - 'Author name (optional)': 'Author name (optional)', - Authors: 'Authors', - 'Block Relay': 'Block Relay', - 'Blocked Relays': 'Blocked Relays', - 'Blocking...': 'Blocking...', - Blossom: 'Blossom', - Book: 'Book', - 'Brief description of the event': 'Brief description of the event', - 'Brief summary (optional)': 'Brief summary (optional)', - 'Brief summary of the article (optional)': 'Brief summary of the article (optional)', - 'Browse Cache': 'Browse Cache', - 'C-Tag': 'C-Tag', - 'Cache Relays': 'Cache Relays', - 'Cache cleared successfully': 'Cache cleared successfully', - 'Cache refreshed successfully': 'Cache refreshed successfully', - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.': - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.', - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)': - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)', - 'Cache relays saved': 'Cache relays saved', - Cancelled: 'Cancelled', - Chapter: 'Chapter', - 'Chapter Title': 'Chapter Title', - 'Chapter title (optional)': 'Chapter title (optional)', - Citation: 'Citation', - 'Citation title (optional)': 'Citation title (optional)', - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.': - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})', - 'Cleanup Duplicates': 'Cleanup Duplicates', - Clear: 'Clear', - 'Clear Cache': 'Clear Cache', - 'Clear Service Worker': 'Clear Service Worker', - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.': - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.', - 'Click update to get the latest features and improvements': - 'Click update to get the latest features and improvements', - Close: 'Close', - 'Comma or space-separated topics (will be added as t-tags)': - 'Comma or space-separated topics (will be added as t-tags)', - Command: 'Command', - Configure: 'Configure', - 'Connect Wallet': 'Connect Wallet', - 'Console Logs': 'Console Logs', - 'Console logs cleared': 'Console logs cleared', - 'Content is required': 'Content is required', - 'Content must be 5000 characters or less': 'Content must be 5000 characters or less', - Controversial: 'Controversial', - 'Copied!': 'Copied!', - 'Copy to clipboard': 'Copy to clipboard', - 'Create Article': 'Create Article', - 'Create Citation': 'Create Citation', - 'Create Highlight': 'Create Highlight', - 'Create New Thread': 'Create New Thread', - 'Create Poll': 'Create Poll', - 'Create Thread': 'Create Thread', - composeModeKind1: 'Short note (kind 1) — turn off other compose types', - 'Create a Spell': 'Create a Spell', - 'Creating...': 'Creating...', - 'D-Tag': 'D-Tag', - 'D-Tag is required for articles': 'D-Tag is required for articles', - DOI: 'DOI', - 'Date-based (all-day)': 'Date-based (all-day)', - 'Default expiration (months)': 'Default expiration (months)', - 'Default quiet period (days)': 'Default quiet period (days)', - 'Delete All': 'Delete All', - 'Delete item': 'Delete item', - 'Deleted {{count}} event(s)': 'Deleted {{count}} event(s)', - 'Deletion request sent': 'Deletion request sent', - 'Description (content)': 'Description (content)', - 'Digital Object Identifier (optional)': 'Digital Object Identifier (optional)', - 'Disable word wrap': 'Disable word wrap', - 'Discovered Relays': 'Discovered Relays', - 'Discovering relays...': 'Discovering relays...', - Discussion: 'Discussion', - Discussions: 'Discussions', - Downvote: 'Downvote', - 'Edited by': 'Edited by', - Editor: 'Editor', - 'Editor name (optional)': 'Editor name (optional)', - 'Enable word wrap': 'Enable word wrap', - 'End date': 'End date', - 'End date must be after start date': 'End date must be after start date', - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.': - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.', - 'Enter a descriptive title for your thread': 'Enter a descriptive title for your thread', - 'Enter the author name': 'Enter the author name', - 'Enter the book title': 'Enter the book title', - 'Enter the specific text you want to highlight in the main content area above': - 'Enter the specific text you want to highlight in the main content area above', - 'Event IDs (ids)': 'Event IDs (ids)', - 'Event appears to be invalid or corrupted': 'Event appears to be invalid or corrupted', - 'Event has no value data': 'Event has no value data', - 'Event is missing required fields: {{fields}}': 'Event is missing required fields: {{fields}}', - 'Event type': 'Event type', - 'Expiration Tags': 'Expiration Tags', - 'Export OPML': 'Export OPML', - 'Export as AsciiDoc': 'Export as AsciiDoc', - 'Export as Markdown': 'Export as Markdown', - 'External Citation': 'External Citation', - 'External Citation Settings': 'External Citation Settings', - 'Failed to add relay. Please try again.': 'Failed to add relay. Please try again.', - 'Failed to add relays': 'Failed to add relays', - 'Failed to block relay. Please try again.': 'Failed to block relay. Please try again.', - 'Failed to cleanup duplicates': 'Failed to cleanup duplicates', - 'Failed to clear cache': 'Failed to clear cache', - 'Failed to copy': 'Failed to copy', - 'Failed to create relay set. Please try again.': - 'Failed to create relay set. Please try again.', - 'Failed to create thread': 'Failed to create thread', - 'Failed to create thread. Please try a different relay.': - 'Failed to create thread. Please try a different relay.', - 'Failed to delete all items': 'Failed to delete all items', - 'Failed to delete item': 'Failed to delete item', - 'Failed to discover relays': 'Failed to discover relays', - 'Failed to export OPML file': 'Failed to export OPML file', - 'Failed to export article': 'Failed to export article', - 'Failed to import OPML file: {{error}}': 'Failed to import OPML file: {{error}}', - 'Failed to load RSS feeds': 'Failed to load RSS feeds', - 'Failed to load store items': 'Failed to load store items', - 'Failed to mute user privately': 'Failed to mute user privately', - 'Failed to mute user publicly': 'Failed to mute user publicly', - 'Failed to pin note': 'Failed to pin note', - 'Failed to publish post': 'Failed to publish post', - 'Failed to publish reply': 'Failed to publish reply', - 'Failed to publish thread': 'Failed to publish thread', - 'Failed to publish to some relays. Please try again or use different relays.': - 'Failed to publish to some relays. Please try again or use different relays.', - 'Failed to save RSS feeds': 'Failed to save RSS feeds', - 'Failed to save cache relays': 'Failed to save cache relays', - 'Failed to save relay list': 'Failed to save relay list', - 'Failed to unregister service worker: ': 'Failed to unregister service worker: ', - 'Failed to unsubscribe from topic': 'Failed to unsubscribe from topic', - Favorite: 'Favorite', - Fetch: 'Fetch', - 'Fetch once, then stop.': 'Fetch once, then stop.', - 'Filter by': 'Filter by', - 'Flat View': 'Flat View', - 'Font size': 'Font size', - 'Full Quote/Context': 'Full Quote/Context', - 'Full-text search query': 'Full-text search query', - Geohash: 'Geohash', - 'Geohash (optional)': 'Geohash (optional)', - 'Global quiet mode': 'Global quiet mode', - 'Group discussions by topic': 'Group discussions by topic', - 'Grouped View': 'Grouped View', - Groups: 'Groups', - 'Handler {{index}}': 'Handler {{index}}', - 'Hardcopy Citation': 'Hardcopy Citation', - 'Hardcopy Citation Settings': 'Hardcopy Citation Settings', - Hide: 'Hide', - 'Hide interactions on all posts': 'Hide interactions on all posts', - 'Hide interactions on posts with quiet tags': 'Hide interactions on posts with quiet tags', - 'High PoW': 'High PoW', - 'Higher values make your thread harder to mine but more unique.': - 'Higher values make your thread harder to mine but more unique.', - Highlight: 'Highlight', - 'Highlight Settings': 'Highlight Settings', - 'How to Create a Highlight (NIP-84)': 'How to Create a Highlight (NIP-84)', - 'Human-readable spell name': 'Human-readable spell name', - 'Image URL': 'Image URL', - 'Import OPML': 'Import OPML', - 'Imported {{count}} feed(s) from OPML file': 'Imported {{count}} feed(s) from OPML file', - 'In-Browser Cache': 'In-Browser Cache', - Insert: 'Insert', - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).': - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).', - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.': - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.', - 'Insert event or address': 'Insert event or address', - 'Insert mention': 'Insert mention', - 'Internal Citation': 'Internal Citation', - 'Internal Citation Settings': 'Internal Citation Settings', - 'Invalid Event': 'Invalid Event', - 'Invalid Lightning Address': 'Invalid Lightning Address', - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.': - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.', - 'Invalid URL': 'Invalid URL', - 'Invalid content JSON': 'Invalid content JSON', - 'Invalid relay URL': 'Invalid relay URL', - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.': - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.', - 'Item deleted successfully': 'Item deleted successfully', - JSON: 'JSON', - 'Join link': 'Join link', - 'Journal/Publication name (optional)': 'Journal/Publication name (optional)', - Json: 'JSON', - Kinds: 'Kinds', - 'Language Model': 'Language Model', - Large: 'Large', - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link': - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link', - 'Lightning payment failed': 'Lightning payment failed', - Limit: 'Limit', - 'Live feed; keeps updating.': 'Live feed; keeps updating.', - 'Loading more...': 'Loading more...', - 'Loading relays...': 'Loading relays...', - 'Location (optional)': 'Location (optional)', - 'Log in to run this spell (it uses $me or $contacts).': - 'Log in to run this spell (it uses $me or $contacts).', - 'Login failed': 'Login failed', - 'Login to configure RSS feeds': 'Login to configure RSS feeds', - 'Long-form Article': 'Long-form Article', - 'Mailbox relays saved': 'Mailbox relays saved', - 'Mark as NSFW': 'Mark as NSFW', - 'Maximum {{max}} invitees': 'Maximum {{max}} invitees', - 'Maximum {{max}} invitees allowed': 'Maximum {{max}} invitees allowed', - Medium: 'Medium', - Mode: 'Mode', - 'Most Zapped': 'Most Zapped', - 'Move to top': 'Move to top', - 'Multiple choice': 'Multiple choice', - 'Mute failed': 'Mute failed', - NSFW: 'NSFW', - Name: 'Name', - 'Name of the language model used': 'Name of the language model used', - 'New External Citation': 'New External Citation', - 'New Hardcopy Citation': 'New Hardcopy Citation', - 'New Highlight': 'New Highlight', - 'New Internal Citation': 'New Internal Citation', - 'New Long-form Article': 'New Long-form Article', - 'New Poll': 'New Poll', - 'New Discussion': 'New Discussion', - 'New Prompt Citation': 'New Prompt Citation', - 'New Public Message': 'New Public Message', - 'New Wiki Article': 'New Wiki Article', - 'New Wiki Article (Markdown)': 'New Wiki Article (Markdown)', - Newest: 'Newest', - 'No JSON available': 'No JSON available', - 'No RSS feeds found in OPML file': 'No RSS feeds found in OPML file', - 'No cached data found.': 'No cached data found.', - 'No console logs captured yet': 'No console logs captured yet', - 'No events found': 'No events found', - 'No feeds configured. Default feed will be used.': - 'No feeds configured. Default feed will be used.', - 'No feeds to export': 'No feeds to export', - 'No groups available. Join some groups first.': 'No groups available. Join some groups first.', - 'No items in this store.': 'No items in this store.', - 'No items match your search.': 'No items match your search.', - 'No logs match the current filters': 'No logs match the current filters', - 'No posts found': 'No posts found', - 'No posts match your search': 'No posts match your search', - 'No relays available. Please configure relays in settings.': - 'No relays available. Please configure relays in settings.', - 'No service workers or caches found for this app': - 'No service workers or caches found for this app', - 'No users found': 'No users found', - 'No valid RSS feed URLs found in OPML file': 'No valid RSS feed URLs found in OPML file', - 'Note pinned': 'Note pinned', - 'Note unpinned': 'Note unpinned', - Oldest: 'Oldest', - 'Open Timestamp': 'Open Timestamp', - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.': - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.', - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.': - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.', - Optional: 'Optional', - 'Optional image for the event': 'Optional image for the event', - 'Optionally, add the full quote/context to show your highlight within it': - 'Optionally, add the full quote/context to show your highlight within it', - PM: 'PM', - 'Page Range': 'Page Range', - Pages: 'Pages', - 'Paste URL of a GIF': 'Paste URL of a GIF', - 'Paste URL of a meme image': 'Paste URL of a meme image', - 'Paste the entire original passage that contains your highlight': - 'Paste the entire original passage that contains your highlight', - Photo: 'Photo', - 'Picture Note': 'Picture Note', - 'Pin note': 'Pin note', - 'Plain text description of the query': 'Plain text description of the query', - 'Please login to view bookmarks': 'Please login to view bookmarks', - 'Please select a group': 'Please select a group', - 'Please select at least one relay': 'Please select at least one relay', - 'Please set a start date': 'Please set a start date', - 'Poll with no options': 'Poll with no options', - 'Post published to some relays': 'Post published to some relays', - 'Posts will automatically include expiration tags': - 'Posts will automatically include expiration tags', - 'Posts will automatically include quiet tags': 'Posts will automatically include quiet tags', - 'Posts will be quiet for this many days': 'Posts will be quiet for this many days', - 'Posts will expire after this many months': 'Posts will expire after this many months', - 'Processing...': 'Processing...', - 'Profile event not available': 'Profile event not available', - 'Prompt Citation': 'Prompt Citation', - 'Prompt Citation Settings': 'Prompt Citation Settings', - 'Prompt Conversation Script': 'Prompt Conversation Script', - 'Proof of Work': 'Proof of Work', - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post': - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post', - 'Publish to Relays': 'Publish to Relays', - 'Published By': 'Published By', - 'Published In': 'Published In', - 'Published On': 'Published On', - 'Published in': 'Published in', - 'Published on': 'Published on', - 'Publisher name (optional)': 'Publisher name (optional)', - 'Quiet Tags': 'Quiet Tags', - 'RSS Feed': 'RSS Feed', - 'RSS + Web': 'RSS + Web', - 'RSS feed source': 'RSS feed source', - 'All feed sources': 'All feed sources', - 'RSS feed view mode': 'RSS feed view mode', - 'Article URLs': 'Article URLs', - 'Article URLs subtitle': - 'One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.', - 'Article URLs Nostr manual subtitle': - 'Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.', - 'RSS feed column title': 'RSS & linked articles', - 'RSS feed column subtitle': - 'Feed entries and article cards that include at least one item from your subscribed RSS feeds.', - 'RSS timeline': 'RSS timeline', - 'RSS timeline subtitle': - 'Every item from your subscribed feeds, newest first — classic RSS reader.', - URLs: 'URLs', - RSS: 'RSS', - 'No URL-only items yet': 'No URL-only items yet', - 'Respond to this RSS entry': 'Respond to this RSS entry', - 'RSS read-only thread hint': - 'Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.', - 'RSS feed item label': 'RSS', - 'Web URL item label': 'Web URL', - 'URL thread activity': 'URL thread activity', - 'Suppress Clawstr links in RSS previews': 'Hide clawstr.com in RSS and URL feed', - 'Hide local, media & feed URLs from URL cards': - 'Hide local, media, feed, document & XML links from the feed', - 'RSS articles': 'RSS articles', - 'Web comments': 'Web comments', - 'Web highlights': 'Web highlights', - 'In your bookmarks': 'In your bookmarks', - '{{count}} RSS entries for this URL': '{{count}} RSS entries for this URL', - '{{count}} entries for this article URL': '{{count}} entries for this article URL', - 'No comments yet': 'No comments yet', - 'No highlights yet': 'No highlights yet', - 'Showing {{filtered}} of {{total}} entries': 'Showing {{filtered}} of {{total}} entries', - standardRssFeed_spotifeed: 'Spotify playlist (Spotifeed)', - standardRssFeed_youtube: 'YouTube feed', - standardRssFeed_youtubeChannel: 'YouTube channel feed', - standardRssFeed_youtubePlaylist: 'YouTube playlist feed', - standardRssFeed_feedburner: 'FeedBurner', - standardRssFeed_reddit: 'Reddit RSS', - standardRssFeed_substack: 'Substack', - standardRssFeed_medium: 'Medium', - 'RSS Feed Settings': 'RSS Feed Settings', - 'Follow sets': 'Follow sets', - 'Follow sets settings intro': - 'NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.', - 'New follow set': 'New follow set', - 'Edit follow set': 'Edit follow set', - 'No follow sets yet': 'You have not created any follow sets yet.', - 'Follow set saved': 'Follow set saved', - 'Follow set deleted': 'Follow set deleted', - 'Failed to load follow sets': 'Failed to load follow sets', - members: 'members', - 'Optional display title': 'Optional display title', - 'List id (d tag)': 'List id (d tag)', - 'Follow set d tag hint': - 'Stable identifier for this list. It cannot be changed after the first publish.', - 'People in this list': 'People in this list', - 'Delete follow set?': 'Delete this follow set?', - 'Delete follow set confirm': - 'This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.', - 'Remove feed': 'Remove feed', - 'RSS Feeds': 'RSS Feeds', - 'RSS feeds exported to OPML file': 'RSS feeds exported to OPML file', - 'RSS feeds saved': 'RSS feeds saved', - 'Rate limited. Please wait before trying again.': - 'Rate limited. Please wait before trying again.', - 'Reaction published': 'Reaction published', - 'Reaction removed': 'Reaction removed', - 'Read full article': 'Read full article', - 'Reading group entry': 'Reading group entry', - 'Readings Options': 'Readings Options', - Recipients: 'Recipients', - 'Recipients detected from your message:': 'Recipients detected from your message:', - 'Recommended Relays': 'Recommended Relays', - 'Recommended applications for handling events of kind {{kind}}': - 'Recommended applications for handling events of kind {{kind}}', - 'Reference to the cited Nostr event in kind:pubkey:hex format': - 'Reference to the cited Nostr event in kind:pubkey:hex format', - 'Refresh Cache': 'Refresh Cache', - 'Refreshing posts...': 'Refreshing posts...', - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.': - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.', - Relay: 'Relay', - 'Relay Hint': 'Relay Hint', - 'Relay URL (optional)': 'Relay URL (optional)', - 'Relay blocked successfully': 'Relay blocked successfully', - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.': - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.', - 'Relay set options': 'Relay set options', - 'Remove from favorites': 'Remove from favorites', - Rendered: 'Rendered', - 'Reply published': 'Reply published', - 'Reply published to some relays': 'Reply published to some relays', - 'Reply to Public Message': 'Reply to Public Message', - 'Republish to all active relays': 'Republish to all active relays', - 'Republish to all available relays': 'Republish to all available relays', - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.': - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.', - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.': - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.', - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Respect quiet tags': 'Respect quiet tags', - 'Search (NIP-50)': 'Search (NIP-50)', - 'Search by name or npub…': 'Search by name or npub…', - 'Search calendar, publications, wiki…': 'Search calendar, publications, wiki…', - 'Search for user…': 'Search for user…', - 'Search items...': 'Search items...', - 'Search logs...': 'Search logs...', - 'Search notes, threads, long-form…': 'Search notes, threads, long-form…', - 'Search on GifBuddy': 'Search on GifBuddy', - 'Search on Meme Amigo': 'Search on Meme Amigo', - 'Search posts...': 'Search posts...', - 'Search threads by title, content, tags, npub, author...': - 'Search threads by title, content, tags, npub, author...', - 'Searching all available relays...': 'Searching all available relays...', - 'Searching…': 'Searching…', - 'See reference': 'See reference', - 'Select Group': 'Select Group', - 'Select Media Type': 'Select Media Type', - 'Select group...': 'Select group...', - 'Select relays': 'Select relays', - 'Publish relay cap hint': - 'At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Publish relay cap hint with outbox first': - 'At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Select the group where you want to create this discussion.': - 'Select the group where you want to create this discussion.', - 'Select topic...': 'Select topic...', - 'Selected text': 'Selected text', - 'Send Public Message': 'Send Public Message', - 'Send a Lightning payment to this user': 'Send a Lightning payment to this user', - 'Service worker caches cleared. Please reload the page.': - 'Service worker caches cleared. Please reload the page.', - 'Service worker unregistered and caches cleared. Please reload the page.': - 'Service worker unregistered and caches cleared. Please reload the page.', - 'Service worker unregistered. Please reload the page.': - 'Service worker unregistered. Please reload the page.', - 'Share your thoughts, ask questions, or start a discussion...': - 'Share your thoughts, ask questions, or start a discussion...', - 'Short Video Note': 'Short Video Note', - 'Show RSS Feed': 'Show RSS Feed', - 'Show all discussions in a single list': 'Show all discussions in a single list', - 'Show less': 'Show less', - Since: 'Since', - Small: 'Small', - 'Some relays have temporarily disabled writes.': - 'Some relays have temporarily disabled writes.', - Source: 'Source', - 'Spell definition': 'Spell definition', - 'Spell published': 'Spell published', - 'Start date': 'Start date', - 'Start typing to see a preview...': 'Start typing to see a preview...', - 'Subject (Book Title)': 'Subject (Book Title)', - 'Subject (book title) is required for reading groups': - 'Subject (book title) is required for reading groups', - 'Subject / Topics': 'Subject / Topics', - Subscribe: 'Subscribe', - Subscribed: 'Subscribed', - 'Subscribed to topic': 'Subscribed to topic', - 'Subscribed to topic (local)': 'Subscribed to topic (local)', - 'Subscribing...': 'Subscribing...', - Summary: 'Summary', - 'Supported Event Types': 'Supported Event Types', - 'Take a note': 'Take a note', - 'The full prompt conversation (optional)': 'The full prompt conversation (optional)', - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.': - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.', - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.': - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.', - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.': - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.', - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a Nostr event of kind {{kind}}.': - 'This GIF was found in a Nostr event of kind {{kind}}.', - 'This file could be either audio or video. Please select the correct type:': - 'This file could be either audio or video. Please select the correct type:', - 'This store does not contain replaceable events': - 'This store does not contain replaceable events', - 'This will add additional tags for author and subject to help organize reading group discussions.': - 'This will add additional tags for author and subject to help organize reading group discussions.', - 'Thread Content': 'Thread Content', - 'Thread Title': 'Thread Title', - 'Thread creation timed out. Please try again.': 'Thread creation timed out. Please try again.', - 'Thread published': 'Thread published', - 'Threads are organized by topics. Choose a topic that best fits your discussion.': - 'Threads are organized by topics. Choose a topic that best fits your discussion.', - 'Time-based': 'Time-based', - 'Title is required': 'Title is required', - 'Title must be 100 characters or less': 'Title must be 100 characters or less', - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.': - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.', - Top: 'Top', - Topic: 'Topic', - URL: 'URL', - 'URL of the article cover image (optional)': 'URL of the article cover image (optional)', - 'Unique identifier for this article (required)': - 'Unique identifier for this article (required)', - 'Unmute failed': 'Unmute failed', - 'Unpin note': 'Unpin note', - Unsubscribe: 'Unsubscribe', - 'Unsubscribed from topic': 'Unsubscribed from topic', - 'Unsubscribing...': 'Unsubscribing...', - Until: 'Until', - Untitled: 'Untitled', - Update: 'Update', - 'Updating...': 'Updating...', - 'Upload Audio Comment': 'Upload Audio Comment', - 'Upload Audio Message': 'Upload Audio Message', - 'Upload Media': 'Upload Media', - Upvote: 'Upvote', - 'User unmuted': 'User unmuted', - 'Version number (optional)': 'Version number (optional)', - Video: 'Video', - 'Video Note': 'Video Note', - 'Video file': 'Video file', - 'View Console Logs': 'View Console Logs', - 'View JSON': 'View JSON', - 'View cached items in this store.': 'View cached items in this store.', - 'View definition': 'View definition', - 'View details about cached data in IndexedDB stores. Click on a store to view its items.': - 'View details about cached data in IndexedDB stores. Click on a store to view its items.', - 'View on Alexandria': 'View on Alexandria', - 'View on DecentNewsroom': 'View on DecentNewsroom', - 'View on Wikistr': 'View on Wikistr', - 'View recent console logs for debugging': 'View recent console logs for debugging', - 'Voice Comment': 'Voice Comment', - 'Voice Note': 'Voice Note', - 'Voice note or audio file': 'Voice note or audio file', - Volume: 'Volume', - 'Volume number (optional)': 'Volume number (optional)', - 'Vote published': 'Vote published', - 'Vote removed': 'Vote removed', - 'Website where LLM was accessed (optional)': 'Website where LLM was accessed (optional)', - 'Wiki Article (AsciiDoc)': 'Wiki Article (AsciiDoc)', - 'Wiki Article (Markdown)': 'Wiki Article (Markdown)', - 'You can only delete your own notes': 'You can only delete your own notes', - 'You must be logged in to create a thread': 'You must be logged in to create a thread', - 'You need to add at least one media server in order to upload media files.': - 'You need to add at least one media server in order to upload media files.', - 'You need to login first': 'You need to login first', - 'Your account is blocked from posting to this relay.': - 'Your account is blocked from posting to this relay.', - Zap: 'Zap', - 'Zap failed': 'Zap failed', - created_at: 'created_at', - 'e tag of kind 1040 event (optional)': 'e tag of kind 1040 event (optional)', - 'e.g. meetup, conference': 'e.g. meetup, conference', - 'e.g., 123-145 (optional)': 'e.g., 123-145 (optional)', - 'e.g., GPT-4, Claude, etc. (required)': 'e.g., GPT-4, Claude, etc. (required)', - 'e.g., my-article-title': 'e.g., my-article-title', - entries: 'entries', - 'from Bunker': 'from Bunker', - 'from Extension': 'from Extension', - 'from NIP-05': 'from NIP-05', - general: 'general', - 'https://example.com (required)': 'https://example.com (required)', - 'https://example.com/image.jpg': 'https://example.com/image.jpg', - id: 'id', - items: 'items', - kind: 'kind', - 'kind:pubkey:hex format (required)': 'kind:pubkey:hex format (required)', - 'last updated': 'last updated', - matching: 'matching', - naddr: 'naddr', - nevent: 'nevent', - 'nevent1..., naddr1..., note1..., hex ID, or https://...': - 'nevent1..., naddr1..., note1..., hex ID, or https://...', - 'no notes found': 'no notes found', - of: 'of', - 'on note': 'on note', - optional: 'optional', - pubkey: 'pubkey', - 'sent a public message': 'sent a public message', - 'sent you a public message': 'sent you a public message', - 'sent you a public message (along with {{count}} others)': - 'sent you a public message (along with {{count}} others)', - sig: 'sig', - 'started a discussion in {{topic}}': 'started a discussion in {{topic}}', - tags: 'tags', - thread: 'thread', - threads: 'threads', - 'topic1, topic2, topic3': 'topic1, topic2, topic3', - '{{count}} relay(s) selected': '{{count}} relay(s) selected', - '🔞 NSFW 🔞': '🔞 NSFW 🔞', - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).': - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).', - 'Failed to refresh': 'Failed to refresh', - 'Invalid article link.': 'Invalid article link.', - Likes: 'Likes', - 'Loading…': 'Loading…', - 'Missing pubkey': 'Missing pubkey', - 'No RSS feed list found on relays': 'No RSS feed list found on relays', - 'Pinned posts': 'Pinned posts', - 'Publishing...': 'Publishing...', - 'RSS article': 'RSS article', - 'RSS feed list refreshed': 'RSS feed list refreshed', - 'Save or discard your changes before refreshing from relays': - 'Save or discard your changes before refreshing from relays', - 'Suggested topics': 'Suggested topics', - 'Synthetic event (no author)': 'Synthetic event (no author)', - 'Topic is required': 'Topic is required', - 'Type a topic or pick from the list': 'Type a topic or pick from the list', - profileEditorRefreshCacheHint: 'profileEditorRefreshCacheHint', - startupSessionHydrating: 'startupSessionHydrating' + "Searching external relays...": "Searching external relays...", + "This will connect to the author's relays and relay hints": "This will connect to the author's relays and relay hints", + "Note could not be found anywhere": "Note could not be found anywhere", + "Try external relays": "Try external relays", + "Searching...": "Searching...", + "Show relays": "Show relays", + "No external relay hints available": "No external relay hints available", + "External relay search is not available for this link type": "External relay search is not available for this link type.", + "Searched external relays not found": "Searched {{count}} external relays; the note was still not found.", + "no more replies": "brak kolejnych odpowiedzi", + "Relay sets": "Zestawy transmiterów", + "Search for Relays": "Search for Relays", + "Using app default relays": "Using app default relays", + "Following's Favorites": "Ulubione transmitery obserwowanych", + "no more relays": "brak kolejnych transmiterów", + "Favorited by": "Ulubione przez", + "Post settings": "Ustawienia publikacji", + "Publishing feedback": "Publishing feedback", + "Publish success toasts": "Publish success toasts", + "Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.": "Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.", + "Publish successful": "Publish successful", + "Media upload service": "Usługa przesyłania mediów", + "Choose a relay": "Wybierz transmiter", + "no relays found": "Nie znaleziono transmiterów", + video: "wideo", + "Show n new notes": "Pokaż {{n}} nowych wpisów", + YouTabName: "Ty", + Bookmark: "Zakładka", + "Remove bookmark": "Usuń zakładkę", + "no bookmarks found": "Nie znaleziono zakładek", + "no more bookmarks": "Koniec zakładek", + Bookmarks: "Zakładki", + "Follow Packs": "Follow Packs", + "Follow Pack": "Follow Pack", + "Follow pack by": "by", + "In Follow Packs": "In Follow Packs", + "Badge details": "Badge details", + "Issued by": "Issued by", + "Other recipients": "Other recipients", + "No other recipients found": "No other recipients found", + "Recipients could not be loaded": "Recipients could not be loaded", + "View award": "View award", + "Awarded on": "Awarded on", + "Please log in to follow": "Please log in to follow", + "Following All": "Following All", + "Followed {{count}} users": "Followed {{count}} users", + "All available members are already followed or muted": "All available members are already followed or muted", + "You are already following all members of this pack": "You are already following all members of this pack", + "Failed to follow pack": "Failed to follow pack", + "{{count}} profiles": "{{count}} profiles", + "Show more": "Pokaż więcej", + General: "Ogólne", + Autoplay: "Autoodtwarzanie", + "Enable video autoplay on this device": "Włącz automatyczne odtwarzanie wideo na tym urządzeniu", + "liveActivities.heading": "Live now", + "liveActivities.regionLabel": "Live spaces and streams", + "liveActivities.fromFollow": "From someone you follow", + "liveActivities.goToSlide": "Show live item {{n}}", + "liveActivities.swipeToBrowse": "Swipe left or right on the banner to switch between live activities.", + "liveActivities.viewNoteTitle": "Open this live activity as a note (play in app, links below)", + "liveActivities.openJoinPageTitle": "Open the join page in a new tab (e.g. zap.stream or the room site)", + "liveActivities.settingsToggle": "Live activities banner", + "liveActivities.settingsHint": "Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.", + "Add random relays to every publish": "Random relays in publish list", + "Add random relays to every publish description": "Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.", + relayType_local: "Local", + relayType_relay_list: "Relay list", + relayType_http_relay_list: "HTTP", + "HTTP relays": "HTTP relays", + httpRelaysDescription: "HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.", + "HTTP relays saved": "HTTP relays saved", + "Failed to save HTTP relay list": "Failed to save HTTP relay list", + "HTTP relays must start with https:// or http://": "HTTP relays must start with https:// or http://", + relayType_client_default: "Client default", + relayType_open_from: "Current feed", + relayType_favorite: "Favorite", + relayType_relay_set: "Relay set", + relayType_contextual: "Reply/PM", + relayType_randomly_selected: "Random (optional)", + "Session relays": "Session relays", + "Session relays tab description": "Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish).", + "Session relays preset working": "Working preset relays", + "Session relays preset working hint": "Preset relays (from app defaults) that have not reached 3 publish failures this session.", + "Session relays preset striked": "Striked preset relays", + "Session relays preset striked hint": "Preset relays that have reached 3 publish failures this session and are skipped for the rest of the session.", + "Session relays scored random": "Scored random relays", + "Session relays scored random hint": "Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.", + "Session relays all striked": "All striked relays (any source)", + "Session relays clear strike": "Allow again", + "Session relays clear strike hint": "Remove this relay from the session block list; it will be used again until new connection failures.", + "relaySessionStrikes.bannerWarning": "This relay has {{count}} session strike(s) (limit {{threshold}}) after connection or query failures.", + "relaySessionStrikes.bannerSkipped": "This relay has reached the session failure limit ({{threshold}} strikes) and is skipped for reads and publishes in this tab.", + "relaySessionStrikes.refreshHint": "Use {{refresh}} to clear strikes for this relay and load the feed again.", + successes: "successes", + None: "None", + "Cache & offline storage": "Cache & offline storage", + feedStarting: "Starting feeds and relays… This can take a few seconds after login.", + singleRelayKindFallbackNotice: "This relay returned no events for an open-ended request (no kinds in the filter). The feed below uses your usual kind filter instead.", + refreshCacheButtonExplainer: "Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.", + "eventArchive.sectionTitle": "Notes & feed archive", + "eventArchive.sectionBlurb": "Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.", + "eventArchive.defaultsMobile": "This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).", + "eventArchive.defaultsElectron": "Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.defaultsDesktopWeb": "Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.enablePersist": "Persist feed events to disk", + "eventArchive.maxMb": "Max archive size (MB), blank = default for this device", + "eventArchive.maxEvents": "Max archived events, blank = default", + "eventArchive.sessionLru": "In-memory session cache (event count), blank = default", + "eventArchive.effectiveSummary": "Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.", + "eventArchive.on": "on", + "eventArchive.off": "off", + "eventArchive.apply": "Apply cache settings", + "eventArchive.appliedToast": "Cache settings saved. Session memory updated.", + "Paste or drop media files to upload": "Wklej lub upuść pliki multimedialne, aby przesłać", + Preview: "Podgląd", + "You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?": "Zaraz opublikujesz zdarzenie podpisane przez [{{eventAuthorName}}]. Obecnie jesteś zalogowany jako [{{currentUsername}}]. Czy jesteś pewien?", + "Platinum Sponsors": "Sponsorzy Platynowi", + From: "Od", + "Comment on": "Komentarz do", + "View on njump.me": "Zobacz na njump.me", + "Hide content from untrusted users": "Ukryj treści od nieznanych użytkowników", + "Only show content from your followed users and the users they follow": "Pokaż tylko treści od użytkowników, których obserwujesz i ich obserwowanych", + "Followed by": "Obserwowany przez", + "Mute user privately": "Zablokuj użytkownika prywatnie", + "Mute user publicly": "Zablokuj użytkownika publicznie", + Quotes: "Cytaty", + "Lightning Invoice": "Faktura Lightning", + "Bookmark failed": "Nie udało się dodać zakładki", + "Remove bookmark failed": "Nie udało się usunąć zakładki", + "Removed from bookmarks": "Removed from bookmarks", + "Bookmark not in list": "This bookmark is not in your list (already removed or out of sync).", + "Pin not in list": "This pin is not in your list (already removed or out of sync).", + "Failed to remove pin": "Failed to remove pin", + Translation: "Tłumaczenie", + Balance: "Saldo", + characters: "znaków", + translateApiKeyDescription: "Ten klucz API możesz używać wszędzie tam, gdzie obsługiwane jest LibreTranslate. Adres usługi to {{serviceUrl}}", + "Top up": "Doładuj", + "Will receive: {n} characters": "Otrzymasz: {{n}} znaków", + "Top up {n} sats": "Doładuj {{n}} satsów", + "Minimum top up is {n} sats": "Minimalne doładowanie to {{n}} satsów", + Service: "Usługa", + "Reset API key": "Zresetuj klucz API", + "Are you sure you want to reset your API key? This action cannot be undone.": "Czy na pewno chcesz zresetować swój klucz API? Ta akcja jest nieodwracalna.", + Warning: "Ostrzeżenie", + "Errors & warnings": "Errors & warnings", + "Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.": "Twój obecny klucz API stanie się nieaktywny natychmiast, a wszystkie aplikacje korzystające z niego przestaną działać, dopóki nie zaktualizujesz ich nowym kluczem.", + "Service address": "Adres usługi", + Pay: "Zapłać", + interactions: "Interakcje", + notifications: "Powiadomienia", + notificationsViewAsAccount: "View as", + notificationsViewAsAccountAria: "Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.", + notificationsSwitchAccountFailed: "Could not switch account. Check your signer, password, or extension and try again.", + "Show untrusted {type}": "Pokaż nieznane {{type}}", + "Hide untrusted {type}": "Ukryj nieznane {{type}}", + "Currently hiding {type} from untrusted users.": "Obecnie ukrywasz {{type}} od nieznanych użytkowników.", + "Currently showing all {type}.": "Obecnie wyświetlasz wszystkie {{type}}.", + "Click continue to show all {type}.": "Kliknij kontynuuj, aby wyświetlić wszystkie {{type}}.", + "Click continue to hide {type} from untrusted users.": "Kliknij kontynuuj, aby ukryć {{type}} od nieznanych użytkowników.", + "Trusted users include people you follow and people they follow.": "Zaufani użytkownicy to osoby, które obserwujesz i osoby, które oni obserwują.", + Continue: "Kontynuuj", + "Successfully updated mute list": "Sukces aktualizacji listy zablokowanych użytkowników", + "No pubkeys found from {url}": "Nie znaleziono kluczy publicznych z {{url}}", + "Translating...": "Tłumaczenie...", + Translate: "Przetłumacz", + "Show original": "Pokaż oryginał", + Website: "Strona internetowa", + "Hide untrusted notes": "Ukryj wpisy od nieznanych użytkowników", + "Open in another client": "Otwórz w innym kliencie", + Community: "Społeczność", + Group: "Grupa", + "Live event": "Wydarzenie na żywo", + Article: "Artykuł", + Unfavorite: "Usuń z ulubionych", + "Recommended relays": "Rekomendowane transmitery", + "Show recommended relays panel": "Show recommended relays panel", + "Display the right-side panel with recommended relays on desktop": "Display the right-side panel with recommended relays on desktop", + "Blossom server URLs": "Adresy serwerów Blossom", + "You need to add at least one blossom server in order to upload media files.": "Musisz dodać przynajmniej jeden serwer Blossom, aby móc przesyłać pliki multimedialne.", + "Recommended blossom servers": "Zalecane serwery Blossom", + "Enter Blossom server URL": "Wprowadź adres URL serwera Blossom", + Preferred: "Preferowany", + "Multiple choice (select one or more)": "Wielokrotny wybór (wybierz jeden lub więcej)", + Vote: "Głosuj", + "{{number}} votes": "{{number}} głosów", + "Total votes": "Łączna liczba głosów", + "Poll has ended": "Ankieta zakończona", + "Poll ends at {{time}}": "Ankieta kończy się o {{time}}", + "Load results": "Załaduj wyniki", + "This is a poll note.": "To jest notatka ankiety.", + "Unlike regular notes, polls are not widely supported and may not display on other clients.": "W przeciwieństwie do zwykłych notatek, ankiety nie są szeroko obsługiwane i mogą nie wyświetlać się w innych klientach.", + "Option {{number}}": "Opcja {{number}}", + "Add Option": "Dodaj opcję", + "Remove option": "Remove option", + "Close highlight editor": "Close highlight editor", + "Allow multiple choices": "Zezwól na wielokrotny wybór", + "End Date (optional)": "Data zakończenia (opcjonalna)", + "Clear end date": "Wyczyść datę zakończenia", + "Relay URLs (optional, comma-separated)": "Adresy URL transmiterów (opcjonalne, oddzielone przecinkami)", + "Remove poll": "Usuń ankietę", + "Refresh results": "Odśwież wyniki", + "{{votes}} · {{pct}}%": "{{votes}} · {{pct}}%", + "See results": "See results", + "Zap poll (paid votes)": "Zap poll (paid votes)", + "Invalid zap poll": "Invalid zap poll", + "You voted on this poll (zap receipt)": "You voted on this poll (zap receipt)", + "Poll closed {{time}}": "Poll closed {{time}}", + "Closes {{time}}": "Closes {{time}}", + "Vote size": "Vote size", + "{{n}} sats (fixed)": "{{n}} sats (fixed)", + "{{min}}–{{max}} sats": "{{min}}–{{max}} sats", + "≥ {{n}} sats": "≥ {{n}} sats", + "≤ {{n}} sats": "≤ {{n}} sats", + "Loading tally…": "Loading tally…", + "Zap poll no votes yet": "No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).", + "Consensus threshold": "Consensus threshold", + "Pay to": "Pay to", + Recipient: "Recipient", + Option: "Option", + "Select option": "Select option", + "Select an option": "Select an option", + "Vote with zap": "Vote with zap", + "Zap sent": "Zap sent", + "Zapping…": "Zapping…", + "Refresh tally": "Refresh tally", + "{{n}} zaps": "{{n}} zaps", + Poll: "Ankieta", + Media: "media", + "Articles and Publications": "Articles and Publications", + "Search articles...": "Search articles...", + "Refreshing articles...": "Refreshing articles...", + "No articles or publications found": "No articles or publications found", + "No articles or publications match your search": "No articles or publications match your search", + "articles and publications": "articles and publications", + Interests: "Interests", + Favorites: "Favorites", + Calendar: "Calendar", + "No subscribed interests yet.": "No subscribed interests yet. Add topics in settings to see them here.", + "No bookmarked notes with id tags yet.": "No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.", + "No follows or relays to load yet.": "No follows or relays to load yet.", + "No favorites yet.": "No favorites yet. Add follows, follow sets, interests, or bookmarks.", + "Added from interests": "Added from interests", + "Added from bookmarks list": "Added from bookmarks list", + "Added from your web bookmarks": "Added from your web bookmarks", + "Added from follows and contact lists": "Added from follows and contact lists", + "Added from follows web bookmarks": "Added from follows web bookmarks", + "Nothing to load for this feed.": "Nothing to load for this feed.", + "No posts loaded for this feed. Try refreshing.": "No posts loaded for this feed. Try refreshing.", + "Looking for more events…": "Looking for more events…", + "Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.": "Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.", + "Per-relay timeline results ({{count}} connections)": "Per-relay timeline results ({{count}} connections)", + "Republish to ...": "Przekaż ponownie do ...", + "All available relays": "All available relays", + "All active relays (monitoring list)": "All active relays (monitoring list)", + "Successfully republish to all available relays": "Successfully republish to all available relays", + "Failed to republish to all available relays: {{error}}": "Failed to republish to all available relays: {{error}}", + "Successfully republish to all active relays": "Successfully republish to all active relays", + "Failed to republish to all active relays: {{error}}": "Failed to republish to all active relays: {{error}}", + "No active relays in monitoring list": "No active relays in monitoring list", + "No relay accepted the event": "No relay accepted the event", + "No relays available": "No relays available", + "No write relays configured": "No write relays configured", + "Relay did not accept the event": "Relay did not accept the event", + "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".": "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".", + "Successfully republish to your write relays": "Pomyślnie ponownie opublikowano na twoich transmiterach zapisu", + "Failed to republish to your write relays: {{error}}": "Nie udało się ponownie opublikować na twoich transmiterach zapisu: {{error}}", + "Successfully republish to relay set: {{name}}": "Pomyślnie ponownie opublikowano do zestawu transmiterów: {{name}}", + "Failed to republish to relay set: {{name}}. Error: {{error}}": "Nie udało się ponownie opublikować do zestawu transmiterów: {{name}}. Błąd: {{error}}", + "Successfully republish to relay: {{url}}": "Pomyślnie ponownie opublikowano do transmitera: {{url}}", + "Failed to republish to relay: {{url}}. Error: {{error}}": "Nie udało się ponownie opublikować do transmitera: {{url}}. Błąd: {{error}}", + "Write relays": "Transmitery zapisu", + "No more reactions": "Brak kolejnych reakcji", + "No reactions yet": "Brak reakcji", + "No more zaps": "Brak kolejnych zapów", + "No zaps yet": "Brak zapów", + "No more boosts": "Brak kolejnych boostów", + "No boosts yet": "Brak boostów", + "n more boosts": "{{count}} more boosts", + FollowListNotFoundConfirmation: "Lista obserwowanych nie została znaleziona. Czy chcesz utworzyć nową? Jeśli wcześniej obserwowałeś użytkowników, proszę NIE potwierdzaj, ponieważ ta operacja spowoduje utratę poprzedniej listy obserwowanych.", + MuteListNotFoundConfirmation: "Lista wyciszonych nie została znaleziona. Czy chcesz utworzyć nową? Jeśli wcześniej wyciszałeś użytkowników, proszę NIE potwierdzaj, ponieważ ta operacja spowoduje utratę poprzedniej listy wyciszonych.", + "Show NSFW content by default": "Domyślnie pokazuj treści NSFW", + "Custom emoji management": "Zarządzanie niestandardowymi emoji", + "After changing emojis, you may need to refresh the page": "Po zmianie emoji może być konieczne odświeżenie strony", + "Too many read relays": "Too many read relays", + "Too many write relays": "Too many write relays", + "You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.": "You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.", + "You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.": "You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.", + "Optimize Relay Settings": "Optymalizuj ustawienia transmiterów", + "Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.": "Twoja obecna konfiguracja transmiterów może nie być optymalna. To może utrudnić innym znalezienie Twoich postów i może skutkować niekompletnymi powiadomieniami.", + "Optimize Now": "Optymalizuj teraz", + "Maybe Later": "Może później", + "Don't remind me again": "Nie przypominaj mi więcej", + Posts: "Posty", + "Posts (OPs)": "Posts (OPs)", + "Kind 1 replies": "Kind 1 replies", + Comments: "Comments", + "Replies & comments": "Replies & comments", + Articles: "Artykuły", + Highlights: "Wyróżnienia", + "A note from": "A note from", + Polls: "Ankiety", + "Zap polls": "Zap polls", + "Voice Posts": "Posty głosowe", + "Photo Posts": "Posty ze zdjęciami", + "Video Posts": "Posty wideo", + "Git repositories": "Git repositories", + "Git issues": "Git issues", + "Git releases": "Git releases", + "Git Republic repository": "Git Republic repository", + "Git Republic issue": "Git Republic issue", + "Git Republic release": "Git Republic release", + "Git Republic event": "Git Republic event", + "Git Republic": "Git Republic", + "Open in Git Republic": "Open in Git Republic", + "Pre-release": "Pre-release", + Draft: "Draft", + "Repository release": "Repository release", + "New Repository Release": "New Repository Release", + "Release notes use the editor below (optional).": "Release notes use the editor below (optional).", + "Repository owner (npub or hex)": "Repository owner (npub or hex)", + "Repository id (d-tag)": "Repository id (d-tag)", + "Git tag name": "Git tag name", + "Tag target (40-char commit hash)": "Tag target (40-character commit hash)", + "40-character hex SHA-1": "40-character hex SHA-1", + "Release title": "Release title", + "Download URL": "Download URL", + "Draft release": "Draft release", + "Fill repository release fields": "Fill in all required repository release fields.", + "Invalid repository owner pubkey": "Invalid repository owner (use npub or 64-char hex).", + "Citations require private relays (NIP-65).": "Citations require private outbox relays (NIP-65).", + "Select All": "Zaznacz wszystko", + "Clear All": "Wyczyść wszystko", + "Set as default filter": "Ustaw jako domyślny filtr", + "Use filter": "Use filter", + "See all events": "See all events", + "See all events hint": "Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.", + "Use filter hint": "Only the kinds you select below are requested and shown.", + "Advanced event lab": "Advanced editor", + "Advanced lab applyError": "Editor is not ready. Try again.", + "Advanced lab cancel undo": "Cancel and Undo Changes", + "Advanced lab undo checkpoint": "Restore checkpoint", + "Advanced lab undo checkpoint hint": "About every 30 seconds this tab saves the editor (kind, body, tags) in session storage, up to 10 versions. Use this after a translation or bulk edit you want to roll back.", + "Advanced lab undo checkpoint none": "No older checkpoint to restore.", + "Advanced lab undo checkpoint restored": "Editor restored to a saved checkpoint.", + "Advanced lab markup label markdown": "Markdown", + "Advanced lab markup label asciidoc": "AsciiDoc", + "Advanced lab preview": "Preview", + "Advanced lab preview empty": "Nothing to preview yet.", + "Advanced lab markup placeholder markdown": "Note body (Markdown)", + "Advanced lab markup placeholder asciidoc": "Note body (AsciiDoc)", + "Advanced lab tags JSON": "Kind, content, and tags (JSON)", + "Advanced lab json placeholder": "{ \"kind\": 1, \"content\": \"…\", \"tags\": [] }", + "Advanced lab grammar language": "Grammar check language", + "Advanced lab translate": "Translate body", + "Advanced lab translation source": "Source language", + "Advanced lab translation source auto": "Detect automatically", + "Advanced lab translation target": "Target language", + "Advanced lab translation languages loading": "Loading languages from translate service…", + "Advanced lab translation languages empty": "Translate service returned no languages (check Docker / LibreTranslate).", + "Advanced lab translation languages error": "Could not load languages from the translate service.", + "Advanced lab translation same source target": "Source and target language must differ.", + "Show original text": "Show original text", + "Showing original note text": "Showing original text for this note.", + "Translate note": "Translate note", + "Translating note…": "Translating note…", + "Note translated": "Translated to {{language}}.", + "Note translation failed": "Translation failed: {{message}}", + "Read-aloud Piper English voice fallback title": "English voice in use", + "Read-aloud Piper English voice fallback detail": "Piper has no voice model for {{language}}. This session uses the English Piper voice instead; pronunciation may not match the written text.", + "Advanced lab translate not configured": "Translation URL is not set (VITE_TRANSLATE_URL).", + "Advanced lab translate done": "Translation inserted into the editor.", + "Advanced lab use translation read aloud": "Use body for read-aloud (this note)", + "Advanced lab read aloud buffer set": "The next read-aloud for this note will use the current body text (translated if you translated first).", + "Composer JSON tab hint": "Edit the draft as JSON (`kind`, `content`, `tags` only). `kind` must match the note type selected above. Other fields are set when you publish.", + "Composer JSON apply": "Apply JSON", + composerJsonKindMismatch: "JSON kind {{got}} does not match the composer (expected {{expected}}). Change the note type or fix `kind` in JSON.", + composerJsonApplySuccess: "Draft updated from JSON.", + "Advanced lab tb markup tools": "Markup helpers", + "Advanced lab tb headings": "Headings", + "Advanced lab tb headings hint": "Inserts at the cursor; adjust spacing if needed.", + "Advanced lab tb heading placeholder": "Title", + "Advanced lab tb h1": "Heading 1 (#)", + "Advanced lab tb h2": "Heading 2 (##)", + "Advanced lab tb h3": "Heading 3 (###)", + "Advanced lab tb h4": "Heading 4 (####)", + "Advanced lab tb h5": "Heading 5 (#####)", + "Advanced lab tb h6": "Heading 6 (######)", + "Advanced lab tb setextH1": "Setext heading 1 (title + ===)", + "Advanced lab tb setextH2": "Setext heading 2 (title + ---)", + "Advanced lab tb horizontalRule": "Horizontal rule (---)", + "Advanced lab tb horizontalRules": "Horizontal rules", + "Advanced lab tb hrDashes": "Dashes (---)", + "Advanced lab tb hrAsterisks": "Asterisks (***)", + "Advanced lab tb hrUnderscores": "Underscores (___)", + "Advanced lab tb inline": "Inline", + "Advanced lab tb bold": "Bold (** **)", + "Advanced lab tb boldUnderscore": "Bold (__ __)", + "Advanced lab tb italic": "Italic (* *)", + "Advanced lab tb italicUnderscore": "Italic (_ _)", + "Advanced lab tb strike": "Strikethrough (~~ ~~)", + "Advanced lab tb inlineCode": "Inline code (` `)", + "Advanced lab tb link": "Link [text](url)", + "Advanced lab tb linkTitled": "Link with title [text](url \"title\")", + "Advanced lab tb image": "Image ![alt](url)", + "Advanced lab tb imageTitled": "Image with title ![alt](url \"title\")", + "Advanced lab tb hardBreak": "Hard line break (two spaces + newline)", + "Advanced lab tb citations": "Citations (NIP-32)", + "Advanced lab tb citationsHint": "Kinds 30–33. Inserts `[[citation::type::nevent…]]` (Markdown & AsciiDoc).", + "Advanced lab citation dialog title": "Insert citation", + "Advanced lab citation dialog hint": "Search for NIP-32 citation events (internal, external, hardcopy, prompt), then pick one.", + "Advanced lab citation search placeholder": "Search kinds 30–33…", + "Advanced lab citation none": "No citation events found", + "Advanced lab citation kindLabel": "Kind {{kind}}", + "Advanced lab citation type inline": "Inline citation", + "Advanced lab citation type quote": "Block quote citation", + "Advanced lab citation type end": "Endnote citation", + "Advanced lab citation type foot": "Footnote call", + "Advanced lab citation type footEnd": "Footnote + end", + "Advanced lab citation type promptInline": "Prompt (inline)", + "Advanced lab citation type promptEnd": "Prompt (end)", + "Advanced lab tb lists": "Lists", + "Advanced lab tb bulletList": "Bullet list (-)", + "Advanced lab tb bulletListStar": "Bullet list (*)", + "Advanced lab tb orderedList": "Numbered list (1.)", + "Advanced lab tb orderedListStart": "Numbered list (custom start, e.g. 4.)", + "Advanced lab tb taskItem": "Task item (- [ ])", + "Advanced lab tb blocks": "Blocks", + "Advanced lab tb blockquote": "Blockquote (>)", + "Advanced lab tb pipeTable": "Pipe table (3×2 starter)", + "Advanced lab tb footnoteRef": "Footnote reference [^1]", + "Advanced lab tb footnoteDef": "Footnote definition [^1]: …", + "Advanced lab tb codeBlock": "Code block", + "Advanced lab tb codeBlockHint": "Pick a language for syntax highlighting in fenced code.", + "Advanced lab tb filterLanguages": "Filter languages…", + "Advanced lab tb math": "Math (KaTeX)", + "Advanced lab tb mathIntro": "Many readers render $…$ / $$…$$ with KaTeX; check your client.", + "Advanced lab tb mathInline": "Inline math ($…$)", + "Advanced lab tb mathDisplay": "Display math ($$…$$)", + "Advanced lab tb mathCommon": "Common formulas", + "Advanced lab tb katexFrac": "Fraction \\frac{a}{b}", + "Advanced lab tb katexSqrt": "Square root \\sqrt{x}", + "Advanced lab tb katexSum": "Sum \\sum_{i=1}^{n}", + "Advanced lab tb katexInt": "Integral \\int_a^b", + "Advanced lab tb katexMatrix": "2×2 matrix (pmatrix)", + "Advanced lab tb katexCases": "Cases (piecewise)", + "Advanced lab tb mathGreek": "Greek & symbols", + "Advanced lab tb greekAlpha": "alpha", + "Advanced lab tb greekBeta": "beta", + "Advanced lab tb greekGamma": "gamma", + "Advanced lab tb greekDelta": "delta", + "Advanced lab tb greekPi": "pi", + "Advanced lab tb greekTheta": "theta", + "Advanced lab tb greekLambda": "lambda", + "Advanced lab tb greekSigma": "sigma", + "Advanced lab tb greekOmega": "omega", + "Advanced lab tb greekInfty": "infinity", + "Advanced lab tb hrTitle": "Horizontal rule", + "Advanced lab tb adocTitles": "Titles", + "Advanced lab tb adocTitlesHint": "Document header: no empty lines inside the header; the first blank line ends it (https://docs.asciidoctor.org/asciidoc/latest/document/header/).", + "Advanced lab tb documentTitle": "Document title", + "Advanced lab tb sectionTitle": "Section title", + "Advanced lab tb adocLevel0": "Document title (=)", + "Advanced lab tb adocLevel0WithHeader": "Minimal header (title, author, revision, description, keywords, first section)", + "Advanced lab tb adocHeaderAuthorLine": "Author Name ", + "Advanced lab tb adocHeaderRevisionLine": "1.0, 2026-04-15: Draft revision", + "Advanced lab tb adocHeaderAttrsBlock": ":description: Short document summary for metadata\n:keywords: keyword-one, keyword-two, keyword-three", + "Advanced lab tb adocSection1": "Section (==)", + "Advanced lab tb adocSection2": "Subsection (===)", + "Advanced lab tb adocSection3": "Subsubsection (====)", + "Advanced lab tb adocSection4": "Level 5 (=====)", + "Advanced lab tb adocSection5": "Level 6 (======)", + "Advanced lab tb adocBold": "Bold (*bold*)", + "Advanced lab tb adocItalic": "Italic (_italic_)", + "Advanced lab tb adocMono": "Monospace (`mono`)", + "Advanced lab tb adocLink": "Link (link:url[text])", + "Advanced lab tb adocImage": "Image (image::url[alt])", + "Advanced lab tb adocUnordered": "Unordered (* item)", + "Advanced lab tb adocOrdered": "Ordered (. item)", + "Advanced lab tb adocLabeled": "Labeled list (term:: def)", + "Advanced lab tb adocBlocks": "Blocks", + "Advanced lab tb adocQuote": "Quote block (____)", + "Advanced lab tb adocLiteral": "Literal block (....)", + "Advanced lab tb adocNote": "NOTE admonition", + "Advanced lab tb adocTip": "TIP admonition", + "Advanced lab tb adocWarning": "WARNING admonition", + "Advanced lab tb adocSource": "Source / listing", + "Advanced lab tb adocSourceHint": "Inserts a [source,lang] block; replace the sample code.", + "Advanced lab tb adocStem": "STEM / LaTeX", + "Advanced lab tb adocStemHint": "Imwald runs Asciidoctor with stem: latexmath; math becomes \\(...\\) / \\[...\\] and is drawn with KaTeX (not MathJax).", + "Advanced lab tb adocStemInline": "Inline stem:[…]", + "Advanced lab tb adocLatexmathInline": "Inline latexmath:[…]", + "Advanced lab tb adocStemBlock": "Display math ([stem] +++ … +++++)", + "Advanced lab tb adocLineBreak": "Hard line break (space + at line end)", + "Advanced lab tb adocSubscript": "Subscript (~text~)", + "Advanced lab tb adocSuperscript": "Superscript (^text^)", + "Advanced lab tb adocPassthrough": "Inline passthrough (+++ … +++)", + "Advanced lab tb adocFootnote": "Footnote (footnote:[…])", + "Advanced lab tb adocImportant": "IMPORTANT admonition", + "Advanced lab tb adocCaution": "CAUTION admonition", + "Advanced lab tb adocExampleBlock": "Example block ([example])", + "Advanced lab tb adocSidebar": "Sidebar (**** … ****)", + "Advanced lab tb adocListing": "Listing block ([listing] + ----)", + "Advanced lab tb adocOpenBlock": "Open block (-- … --)", + "Advanced lab tb adocStructure": "Structure & media", + "Advanced lab tb adocStructureHint": "Tables, IDs/anchors ([#id] before a block—avoids [[wikilink]] syntax), cross-refs, media (Asciidoctor block macros).", + "Advanced lab tb adocTable": "Table (|=== …)", + "Advanced lab tb adocAnchor": "Block or section ID ([#id])", + "Advanced lab tb adocXref": "Cross reference (<>)", + "Advanced lab tb adocVideo": "Video (video::url[])", + "Advanced lab tb adocAudio": "Audio (audio::url[])", + "Advanced lab tb adocOrderedStart": "Ordered list with [start=n]", + "Advanced lab tb adocComment": "Line comment (//)", + "Advanced lab tb adockbd": "Keyboard (kbd:[…])", + "Advanced lab tb adocMenu": "Menu path (menu:…)", + "Advanced lab tb adocBtn": "Button (btn:[…])", + "Advanced lab tb adocHrTitle": "Thematic break (''')", + Apply: "Zastosuj", + Reset: "Resetuj", + "Share something on this Relay": "Udostępnij coś na tym transmiterze", + "Try deleting this note": "Spróbuj usunąć ten wpis", + "Deletion request sent to {{count}} relays": "Żądanie usunięcia wysłano do {{count}} transmiterów", + "Suitable Relays": "Odpowiednie transmitery", + "People, keywords, or relays": "Osoby, słowa kluczowe lub transmitery", + "Hide content mentioning muted users": "Ukryj treści wspominające wyciszonych użytkowników", + "This note mentions a user you muted": "Ten wpis wspomina użytkownika, którego wyciszyłeś", + Filter: "Filtr", + "Feed filter": "Feed filter", + "Search loaded posts": "Search loaded posts", + "Filter loaded posts placeholder": "Filter by text in content or tags…", + "Feed filter author": "Author", + "Feed filter author everyone": "From everyone", + "Feed filter author me": "Only from me", + "Feed filter author npub": "From user (npub or hex)", + "Feed filter author npub from prefix": "from:", + "Feed filter author npub placeholder": "npub1… or 64-char hex", + "Feed filter author me needs login": "Log in to filter by your pubkey", + "Within the last": "Within the last", + "Time unit": "Time unit", + Minutes: "Minutes", + Days: "Days", + Weeks: "Weeks", + Months: "Months", + Years: "Years", + "Feed filter client-side hint": "Filters only apply to posts already loaded; relays are not queried again.", + "Feed full search": "Perform full search", + "Feed full search running": "Searching…", + "Feed full search clear": "Clear", + "Feed full search active hint": "Showing relay search results. Clear to return to the live feed.", + "Feed full search need constraint": "Add search text, an author filter, or a time range before searching relays.", + "Feed full search invalid feed": "This feed cannot run a relay search.", + "Feed full search failed": "Relay search failed. Try again.", + "Feed full search empty": "No matching posts were found on the queried relays.", + "No loaded posts match your filters.": "No loaded posts match your filters.", + "mentioned you in a note": "wspomniał o tobie w notatce", + "quoted your note": "zacytował twoją notatkę", + "quoted this note": "Quoted this note", + "highlighted this note": "Highlighted this note", + "cited in article": "Cited in article", + "Thread backlinks heading": "Also quoting this note", + "Thread backlinks primary section": "Quotes, highlights & citations", + "Thread backlinks bookmarks section": "Bookmarks", + "Thread backlinks lists section": "Lists & collections", + "View full note and thread": "View full note and thread", + "labeled this note": "Labeled this note", + "reported this note": "Reported this note", + "bookmarked this note": "Bookmarked this note", + "pinned this note": "Pinned this note", + "listed this note": "Listed this note", + "bookmark set reference": "Bookmark set includes this note", + "curated this note": "Curated this note", + "badge award for this note": "Badge award for this note", + "referenced this note": "Referenced this note", + "Report events heading": "Moderation reports", + "voted in your poll": "zagłosował w twojej ankiecie", + "reacted to your note": "zareagował na twoją notatkę", + "boosted your note": "zboostował twoją notatkę", + "zapped your note": "zappował twoją notatkę", + "zapped you": "zappował cię", + zapped: "zapped", + "Invalid zap receipt": "Invalid zap receipt", + "Zapped note": "Zapped note", + "Zapped profile": "Zapped profile", + "Zap reply threshold": "Zap reply threshold", + "Zaps above this amount will appear as replies in threads": "Zaps above this amount will appear as replies in threads", + "Mark as read": "Oznacz jako przeczytane", + Report: "Zgłoś", + "Successfully report": "Pomyślnie zgłoszono", + "Failed to report": "Nie udało się zgłosić", + nudity: "Nagość", + malware: "Złośliwe oprogramowanie", + profanity: "Wulgaryzmy", + illegal: "Nielegalna treść", + spam: "Spam", + other: "Inne", + "Notification list style": "Styl listy powiadomień", + "See extra info for each notification": "Zobacz dodatkowe informacje dla każdego powiadomienia", + "See more notifications at a glance": "Zobacz więcej powiadomień na pierwszy rzut oka", + Detailed: "Szczegółowy", + "Submit Relay": "Prześlij transmiter", + Homepage: "Strona główna", + "Proof of Work (difficulty {{minPow}})": "Dowód pracy (trudność {{minPow}})", + "via {{client}}": "przez {{client}}", + "Auto-load media": "Automatyczne ładowanie mediów", + Always: "Zawsze", + "Wi-Fi only": "Tylko Wi-Fi", + Never: "Nigdy", + "Click to load image": "Kliknij, aby załadować obraz", + "Click to load media": "Kliknij, aby załadować media", + "Click to load YouTube video": "Kliknij, aby załadować wideo z YouTube", + "{{count}} reviews": "{{count}} opinii", + "Write a review": "Napisz opinię", + "No reviews yet. Be the first to write one!": "Jeszcze brak opinii. Bądź pierwszym, który napisze!", + "View more reviews": "Zobacz więcej opinii", + "Failed to review": "Błąd opinii", + "Write a review and pick a star rating": "Napisz opinię i wybierz ocenę gwiazdkową", + Submit: "Prześlij", + "Reviews for {{relay}}": "Opinie o {{relay}}", + "No relays selected": "Nie wybrano przekaźników", + "Post to": "Opublikuj na", + "Write relays and {{count}} other relays": "Przekaźniki zapisu i {{count}} innych przekaźników", + "{{count}} relays": "{{count}} przekaźników", + "Republishing...": "Ponowne publikowanie...", + "Trending Notes": "Popularne wpisy", + "Trending on Your Favorite Relays": "Trending on Your Favorite Relays", + "Trending on the Default Relays": "Trending on the Default Relays", + "Latest from your follows": "Latest from your follows", + "Latest from our recommended follows": "Latest from our recommended follows", + "Search page title": "Search Nostr", + "Follows latest page title": "Latest from follows", + "Follows latest page description": "Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.", + "Follows latest nav label": "Follows latest", + "Loading follow list…": "Loading follow list…", + "Could not load recommended follows": "Could not load recommended follows", + "Your follow list is empty": "Your follow list is empty", + "Loading recent posts from follows…": "Loading recent posts from follows…", + "Loading more…": "Loading more…", + "No recent posts from this user in the current fetch": "No recent posts from this user in the current fetch", + "Loading trending notes from your relays...": "Loading trending notes from your relays...", + "Trending on Nostr": "Trending on Nostr", + "Home trending slice notice": "This feed includes a trending slice (nostrarchives). Notes that reached you from that relay show “Trending on Nostr” under the card.", + Sort: "Sort", + newest: "newest", + oldest: "oldest", + "most popular": "most popular", + "least popular": "least popular", + "Connected to": "Połączono z", + "Disconnect Wallet": "Odłącz portfel", + "Are you absolutely sure?": "Czy jesteś całkowicie pewien?", + "You will not be able to send zaps to others.": "Nie będziesz mógł wysyłać zapów innym.", + Disconnect: "Odłącz", + "Set up your wallet to send and receive sats!": "Skonfiguruj swój portfel, aby wysyłać i odbierać satsy!", + "Set up": "Skonfiguruj", + "nested events": "nested events", + "Loading RSS feeds...": "Loading RSS feeds...", + "No RSS feed items available": "No RSS feed items available", + "Show or hide the RSS page and sidebar entry": "Show or hide the RSS page and sidebar entry", + "Refreshing feeds...": "Refreshing feeds...", + "All feeds": "All feeds", + "All time": "All time", + "Last hour": "Last hour", + "Last day": "Last day", + "Last week": "Last week", + "Last month": "Last month", + "Last 24 hours": "Last 24 hours", + "Last 48 hours": "Last 48 hours", + "Time range": "Time range", + "Filter by RSS source": "Filter by RSS source", + "No items match your filters": "No items match your filters", + "Search...": "Search...", + "{{count}} feeds": "{{count}} feeds", + "Toggle filters": "Toggle filters", + "Showing {{filtered}} of {{total}} items": "Showing {{filtered}} of {{total}} items", + Full: "Full", + Compact: "Zwięzły", + Expand: "Expand", + "help.title": "Help", + "help.tabShortcuts": "Keyboard shortcuts", + "help.tabOverview": "App overview", + "shortcuts.title": "Keyboard shortcuts", + "shortcuts.intro": "Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.", + "shortcuts.sectionApp": "This app", + "shortcuts.sectionSearch": "Search bar", + "shortcuts.sectionStandard": "Standard", + "shortcuts.openHelp": "Show this help", + "shortcuts.or": "or", + "shortcuts.then": "then", + "shortcuts.focusPrimary": "Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)", + "shortcuts.focusSecondary": "Focus side panel scroll when it is open (desktop; same keys to scroll)", + "shortcuts.newNote": "New note / post (after login if needed)", + "shortcuts.searchSuggest": "Move through suggestions", + "shortcuts.searchDismiss": "Close search dropdown", + "shortcuts.tabNavigate": "Move focus to the next or previous control", + "shortcuts.activate": "Activate buttons and many controls", + "shortcuts.closeOverlays": "Close dialogs, menus, and the search dropdown", + "shortcuts.scrollWhenFocused": "Scroll the focused scrollable area", + "shortcuts.browserBack": "Browser back (history)", + "No spells yet. Create one with the button above.": "No spells yet. Create one with the button above.", + "Loading spells from your relays…": "Loading spells from your relays…", + "Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.": "Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.", + "Select a spell…": "Select a spell…", + "Spells from follows": "From people you follow ({{count}})", + "Other spells": "Other spells ({{count}})", + "Select a spell to view its feed.": "Select a spell to view its feed.", + "Add another row": "Add another row", + "Remove this row": "Remove this row", + "One kind number per row (e.g. 1 for notes).": "One kind number per row (e.g. 1 for notes).", + "One author per row: $me, $contacts, or hex pubkey / npub.": "One author per row: $me, $contacts, or hex pubkey / npub.", + "One hex event id per row.": "One hex event id per row.", + "One wss:// URL per row. Leave empty to use your write relays.": "One wss:// URL per row. Leave empty to use your write relays.", + "One topic per row.": "One topic per row.", + topic: "topic", + "Spell form fields": "Spell form fields", + "Counting matching events…": "Counting matching events…", + "Edit spell": "Edit spell", + "Clone spell": "Clone spell", + "Spell cloned": "Spell cloned", + "Clone spell intro": "This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.", + "Spell updated": "Spell updated", + "Relay URL": "Relay", + Count: "Count", + "Edit spell relays": "Edit relays", + "COUNT spell relay errors hint": "One or more relays failed or returned an error. You can change the relay list in the spell and save again.", + "COUNT spell total distinct explanation": "Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.", + "Leave empty to use your write relays.": "Leave empty to use your write relays.", + "COUNT spell result explanation": "Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.", + "COUNT spell may be capped by limit": "This count may equal your spell limit — there could be more matching events on the network.", + "Spell count failed. Check relays or try again.": "Could not complete the count. Check relays or try again.", + "REQ returns a feed; COUNT returns a number.": "REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.", + listImportManualLabel: "Pre-fill from event", + listImportFromEventHint: "Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.", + listImportManualPlaceholder: "64-char hex, nevent1…, or naddr1…", + listImportLoadManual: "Apply", + listImportContentSkipped: "This event has non-empty content (may include encrypted private items). Only public tags were merged.", + listImportUnsupportedEmoji: "This list includes emoji tags (NIP-30); those are not added to the spell filter.", + listImportUnsupportedTag: "Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.", + listImportBadATag: "Could not parse address tag: {{preview}}…", + listImportATagNotFound: "Could not resolve address tag: {{preview}}…", + listImportATagFailed: "Failed to resolve address tag: {{preview}}…", + listImportEventNotFound: "No event found for that reference.", + "REQ tag filters": "REQ tag filters", + spellFormTagFiltersLabel: "Tag filters on matching events", + spellCreateIntro: "Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.", + spellFormSectionQueryTitle: "Spell query", + spellFormSectionQueryHint: "This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).", + spellFormSectionMetadataTitle: "Listing & labels (optional)", + spellFormSectionMetadataBadge: "Not part of the query", + spellFormSectionMetadataHint: "Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.", + spellFormCatalogTopicsLabel: "Topic labels on this spell (t tags)", + spellTopicsMetadataHint: "One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).", + spellTagFiltersHint: "Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.", + spellTagFiltersEmpty: "No tag filters yet. Add rows below or apply an event reference above.", + "Tag filter letter": "Tag letter", + "Filter value": "Value", + "Add tag filter": "Add tag filter", + spellPickerSectionYours: "Your spells", + "Failed to remove spell from local storage": "Failed to remove spell from local storage", + Spells: "Spells", + "doublePane.secondaryEmpty": "Open a note, profile, or settings item to show it here.", + "doublePane.secondaryEmptyHint": "Your feed and primary pages stay on the left.", + "(empty)": "(empty)", + "12-hour (AM/PM)": "12-hour (AM/PM)", + "24-hour": "24-hour", + "A new version is available": "A new version is available", + "A short description of the article content": "A short description of the article content", + AM: "AM", + "Access via": "Access via", + "Accessed On": "Accessed On", + "Accessed on": "Accessed on", + "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.": "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.", + "Add a relay to block": "Add a relay to block", + "Add at least one invitee": "Add at least one invitee", + "Add client identifier": "Add client identifier", + "Add expiration tags by default": "Add expiration tags by default", + "Add quiet tags by default": "Add quiet tags by default", + "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above": "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above", + "Add the source (where this text is from)": "Add the source (where this text is from)", + "Add to favorites": "Add to favorites", + "Add {{count}} Selected": "Add {{count}} Selected", + "Added at": "Added at", + "Added {{count}} relay(s)": "Added {{count}} relay(s)", + "Adding...": "Adding...", + "Adding…": "Adding…", + "Advanced Options": "Advanced Options", + "All Topics": "All Topics", + "All feeds from OPML file are already added": "All feeds from OPML file are already added", + "All items deleted successfully": "All items deleted successfully", + "Already blocked": "Already blocked", + "Already saved": "Already saved", + "Application Recommendations": "Application Recommendations", + "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.": "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.", + "Are you sure you want to delete all items from this store?": "Are you sure you want to delete all items from this store?", + "Are you sure you want to unmute this user? This will restore the follow button.": "Are you sure you want to unmute this user? This will restore the follow button.", + "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", + "Article exported as AsciiDoc": "Article exported as AsciiDoc", + "Article exported as Markdown": "Article exported as Markdown", + "Article title (optional)": "Article title (optional)", + articleDTagDefaultHint: "Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….", + Audio: "Audio", + Author: "Author", + "Author is required for reading groups": "Author is required for reading groups", + "Author name (optional)": "Author name (optional)", + Authors: "Authors", + "Block Relay": "Block Relay", + "Blocked Relays": "Blocked Relays", + "Blocking...": "Blocking...", + Blossom: "Blossom", + Book: "Book", + "Brief description of the event": "Brief description of the event", + "Brief summary (optional)": "Brief summary (optional)", + "Brief summary of the article (optional)": "Brief summary of the article (optional)", + "Browse Cache": "Browse Cache", + "Search cached events...": "Search cached events...", + "No cached events match your search.": "No cached events match your search.", + "Showing first {{count}} cached event matches.": "Showing first {{count}} cached event matches.", + "Open in store": "Open in store", + "Browse cache root description": "View IndexedDB stores, or search all cached Nostr-like events (content, tags, id, pubkey, kind) across stores.", + "Copy event JSON": "Copy event JSON", + "C-Tag": "C-Tag", + "Cache Relays": "Cache Relays", + "Cache cleared successfully": "Cache cleared successfully", + "Cache refreshed successfully": "Cache refreshed successfully", + "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.": "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.", + "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)": "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)", + "Cache relays saved": "Cache relays saved", + Cancelled: "Cancelled", + Chapter: "Chapter", + "Chapter Title": "Chapter Title", + "Chapter title (optional)": "Chapter title (optional)", + Citation: "Citation", + "Citation title (optional)": "Citation title (optional)", + "Clean up duplicate replaceable events? This will keep only the newest version of each event.": "Clean up duplicate replaceable events? This will keep only the newest version of each event.", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}}": "Cleaned up {{deleted}} duplicate entries, kept {{kept}}", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})": "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})", + "Cleanup Duplicates": "Cleanup Duplicates", + Clear: "Clear", + "Clear Cache": "Clear Cache", + "Clear Service Worker": "Clear Service Worker", + "Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.": "Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.", + "Click update to get the latest features and improvements": "Click update to get the latest features and improvements", + Close: "Close", + "Comma or space-separated topics (will be added as t-tags)": "Comma or space-separated topics (will be added as t-tags)", + Command: "Command", + Configure: "Configure", + "Connect Wallet": "Connect Wallet", + "Console Logs": "Console Logs", + "Console logs cleared": "Console logs cleared", + "Content is required": "Content is required", + "Content must be 5000 characters or less": "Content must be 5000 characters or less", + Controversial: "Controversial", + "Copied!": "Copied!", + "Copy to clipboard": "Copy to clipboard", + "Create Article": "Create Article", + "Create Citation": "Create Citation", + "Create Highlight": "Create Highlight", + "Create New Thread": "Create New Thread", + "Create Poll": "Create Poll", + "Create Thread": "Create Thread", + composeModeKind1: "Short note (kind 1) — turn off other compose types", + "Create a Spell": "Create a Spell", + "Creating...": "Creating...", + "D-Tag": "D-Tag", + "D-Tag is required for articles": "D-Tag is required for articles", + DOI: "DOI", + "Date-based (all-day)": "Date-based (all-day)", + "Default expiration (months)": "Default expiration (months)", + "Default quiet period (days)": "Default quiet period (days)", + "Delete All": "Delete All", + "Delete item": "Delete item", + "Deleted {{count}} event(s)": "Deleted {{count}} event(s)", + "Deletion request sent": "Deletion request sent", + "Description (content)": "Description (content)", + "Digital Object Identifier (optional)": "Digital Object Identifier (optional)", + "Disable word wrap": "Disable word wrap", + "Discovered Relays": "Discovered Relays", + "Discovering relays...": "Discovering relays...", + Discussion: "Discussion", + Discussions: "Discussions", + Downvote: "Downvote", + "Edited by": "Edited by", + Editor: "Editor", + "Editor name (optional)": "Editor name (optional)", + "Enable word wrap": "Enable word wrap", + "End date": "End date", + "End date must be after start date": "End date must be after start date", + "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.": "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.", + "Enter a descriptive title for your thread": "Enter a descriptive title for your thread", + "Enter the author name": "Enter the author name", + "Enter the book title": "Enter the book title", + "Enter the specific text you want to highlight in the main content area above": "Enter the specific text you want to highlight in the main content area above", + "Event IDs (ids)": "Event IDs (ids)", + "Event appears to be invalid or corrupted": "Event appears to be invalid or corrupted", + "Event has no value data": "Event has no value data", + "Event is missing required fields: {{fields}}": "Event is missing required fields: {{fields}}", + "Event type": "Event type", + "Expiration Tags": "Expiration Tags", + "Export OPML": "Export OPML", + "Export as AsciiDoc": "Export as AsciiDoc", + "Export as Markdown": "Export as Markdown", + "External Citation": "External Citation", + "External Citation Settings": "External Citation Settings", + "Failed to add relay. Please try again.": "Failed to add relay. Please try again.", + "Failed to add relays": "Failed to add relays", + "Failed to block relay. Please try again.": "Failed to block relay. Please try again.", + "Failed to cleanup duplicates": "Failed to cleanup duplicates", + "Failed to clear cache": "Failed to clear cache", + "Failed to copy": "Failed to copy", + "Failed to create relay set. Please try again.": "Failed to create relay set. Please try again.", + "Failed to create thread": "Failed to create thread", + "Failed to create thread. Please try a different relay.": "Failed to create thread. Please try a different relay.", + "Failed to delete all items": "Failed to delete all items", + "Failed to delete item": "Failed to delete item", + "Failed to discover relays": "Failed to discover relays", + "Failed to export OPML file": "Failed to export OPML file", + "Failed to export article": "Failed to export article", + "Failed to import OPML file: {{error}}": "Failed to import OPML file: {{error}}", + "Failed to load RSS feeds": "Failed to load RSS feeds", + "Failed to load store items": "Failed to load store items", + "Failed to mute user privately": "Failed to mute user privately", + "Failed to mute user publicly": "Failed to mute user publicly", + "Failed to pin note": "Failed to pin note", + "Failed to publish post": "Failed to publish post", + "Failed to publish reply": "Failed to publish reply", + "Failed to publish reaction": "Failed to publish reaction", + "Failed to publish thread": "Failed to publish thread", + "Failed to publish to some relays. Please try again or use different relays.": "Failed to publish to some relays. Please try again or use different relays.", + "Failed to save RSS feeds": "Failed to save RSS feeds", + "Failed to save cache relays": "Failed to save cache relays", + "Failed to save relay list": "Failed to save relay list", + "Failed to unregister service worker: ": "Failed to unregister service worker: ", + "Failed to unsubscribe from topic": "Failed to unsubscribe from topic", + Favorite: "Favorite", + Fetch: "Fetch", + "Fetch once, then stop.": "Fetch once, then stop.", + "Filter by": "Filter by", + "Flat View": "Flat View", + "Font size": "Font size", + "Full Quote/Context": "Full Quote/Context", + "Full-text search query": "Full-text search query", + Geohash: "Geohash", + "Geohash (optional)": "Geohash (optional)", + "Global quiet mode": "Global quiet mode", + "Group discussions by topic": "Group discussions by topic", + "Grouped View": "Grouped View", + Groups: "Groups", + "Handler {{index}}": "Handler {{index}}", + "Hardcopy Citation": "Hardcopy Citation", + "Hardcopy Citation Settings": "Hardcopy Citation Settings", + Hide: "Hide", + "Hide interactions on all posts": "Hide interactions on all posts", + "Hide interactions on posts with quiet tags": "Hide interactions on posts with quiet tags", + "High PoW": "High PoW", + "Higher values make your thread harder to mine but more unique.": "Higher values make your thread harder to mine but more unique.", + Highlight: "Highlight", + "Highlight Settings": "Highlight Settings", + "How to Create a Highlight (NIP-84)": "How to Create a Highlight (NIP-84)", + "Human-readable spell name": "Human-readable spell name", + "Image URL": "Image URL", + "Import OPML": "Import OPML", + "Imported {{count}} feed(s) from OPML file": "Imported {{count}} feed(s) from OPML file", + "In-Browser Cache": "In-Browser Cache", + Insert: "Insert", + "Insert URL into your post and publish to Nostr GIF library (NIP-94).": "Insert URL into your post and publish to Nostr GIF library (NIP-94).", + "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.": "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.", + "Insert event or address": "Insert event or address", + "Insert mention": "Insert mention", + "Internal Citation": "Internal Citation", + "Internal Citation Settings": "Internal Citation Settings", + "Invalid Event": "Invalid Event", + "Invalid Lightning Address": "Invalid Lightning Address", + "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.": "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.", + "Invalid URL": "Invalid URL", + "Invalid content JSON": "Invalid content JSON", + "Invalid relay URL": "Invalid relay URL", + "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.": "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.", + "Item deleted successfully": "Item deleted successfully", + JSON: "JSON", + "Join link": "Join link", + "Journal/Publication name (optional)": "Journal/Publication name (optional)", + Json: "JSON", + Kinds: "Kinds", + "Language Model": "Language Model", + Large: "Large", + "Leave empty for HiveTalk, or paste Zoom / Teams / other link": "Leave empty for HiveTalk, or paste Zoom / Teams / other link", + "Lightning payment failed": "Lightning payment failed", + Limit: "Limit", + "Live feed; keeps updating.": "Live feed; keeps updating.", + "Loading more...": "Loading more...", + "Loading relays...": "Loading relays...", + "Location (optional)": "Location (optional)", + "Log in to run this spell (it uses $me or $contacts).": "Log in to run this spell (it uses $me or $contacts).", + "Login failed": "Login failed", + "nip07.extensionKeyMismatch": "Your browser extension is using a different key on this tab. Switch to the matching key in the extension, or reload the page to apply your extension's current selection.", + "nip07.reloadPage": "Reload page", + "Login to configure RSS feeds": "Login to configure RSS feeds", + "Long-form Article": "Long-form Article", + "Mailbox relays saved": "Mailbox relays saved", + "Mark as NSFW": "Mark as NSFW", + "Maximum {{max}} invitees": "Maximum {{max}} invitees", + "Maximum {{max}} invitees allowed": "Maximum {{max}} invitees allowed", + Medium: "Medium", + Mode: "Mode", + "Most Zapped": "Most Zapped", + "Move to top": "Move to top", + "Multiple choice": "Multiple choice", + "Mute failed": "Mute failed", + NSFW: "NSFW", + Name: "Name", + "Name of the language model used": "Name of the language model used", + "New External Citation": "New External Citation", + "New Hardcopy Citation": "New Hardcopy Citation", + "New Highlight": "New Highlight", + "New Internal Citation": "New Internal Citation", + "New Long-form Article": "New Long-form Article", + "New Poll": "New Poll", + "New Discussion": "New Discussion", + "New Prompt Citation": "New Prompt Citation", + "New Public Message": "New Public Message", + "New Wiki Article": "New Wiki Article", + "New Wiki Article (Markdown)": "New Wiki Article (Markdown)", + Newest: "Newest", + "No JSON available": "No JSON available", + "No RSS feeds found in OPML file": "No RSS feeds found in OPML file", + "No cached data found.": "No cached data found.", + "No console logs captured yet": "No console logs captured yet", + "No events found": "No events found", + "No feeds configured. Default feed will be used.": "No feeds configured. Default feed will be used.", + "No feeds to export": "No feeds to export", + "No groups available. Join some groups first.": "No groups available. Join some groups first.", + "No items in this store.": "No items in this store.", + "No items match your search.": "No items match your search.", + "No logs match the current filters": "No logs match the current filters", + "No posts found": "No posts found", + "No posts match your search": "No posts match your search", + "No relays available. Please configure relays in settings.": "No relays available. Please configure relays in settings.", + "No service workers or caches found for this app": "No service workers or caches found for this app", + "No users found": "No users found", + "No valid RSS feed URLs found in OPML file": "No valid RSS feed URLs found in OPML file", + "Note pinned": "Note pinned", + "Note unpinned": "Note unpinned", + Oldest: "Oldest", + "Open Timestamp": "Open Timestamp", + "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.": "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.", + "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.": "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.", + Optional: "Optional", + "Optional image for the event": "Optional image for the event", + "Optionally, add the full quote/context to show your highlight within it": "Optionally, add the full quote/context to show your highlight within it", + PM: "PM", + "Page Range": "Page Range", + Pages: "Pages", + "Paste URL of a GIF": "Paste URL of a GIF", + "Paste URL of a meme image": "Paste URL of a meme image", + "Paste the entire original passage that contains your highlight": "Paste the entire original passage that contains your highlight", + Photo: "Photo", + "Picture Note": "Picture Note", + "Pin note": "Pin note", + "Plain text description of the query": "Plain text description of the query", + "Please login to view bookmarks": "Please login to view bookmarks", + "Please login to view favorites": "Please login to view favorites", + "Please select a group": "Please select a group", + "Please select at least one relay": "Please select at least one relay", + "Please set a start date": "Please set a start date", + "Poll with no options": "Poll with no options", + "Post published to some relays": "Post published to some relays", + "Posts will automatically include expiration tags": "Posts will automatically include expiration tags", + "Posts will automatically include quiet tags": "Posts will automatically include quiet tags", + "Posts will be quiet for this many days": "Posts will be quiet for this many days", + "Posts will expire after this many months": "Posts will expire after this many months", + "Processing...": "Processing...", + "Profile event not available": "Profile event not available", + "Prompt Citation": "Prompt Citation", + "Prompt Citation Settings": "Prompt Citation Settings", + "Prompt Conversation Script": "Prompt Conversation Script", + "Proof of Work": "Proof of Work", + "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post": "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post", + "Publish to Relays": "Publish to Relays", + "Published By": "Published By", + "Published In": "Published In", + "Published On": "Published On", + "Published in": "Published in", + "Published on": "Published on", + "Publisher name (optional)": "Publisher name (optional)", + "Quiet Tags": "Quiet Tags", + "RSS Feed": "RSS Feed", + "RSS + Web": "RSS + Web", + "RSS feed source": "RSS feed source", + "All feed sources": "All feed sources", + "RSS feed view mode": "RSS feed view mode", + "Article URLs": "Article URLs", + "Article URLs subtitle": "One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.", + "Article URLs Nostr manual subtitle": "Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.", + "RSS feed column title": "RSS & linked articles", + "RSS feed column subtitle": "Feed entries and article cards that include at least one item from your subscribed RSS feeds.", + "RSS timeline": "RSS timeline", + "RSS timeline subtitle": "Every item from your subscribed feeds, newest first — classic RSS reader.", + URLs: "URLs", + RSS: "RSS", + "No URL-only items yet": "No URL-only items yet", + "Respond to this RSS entry": "Respond to this RSS entry", + "RSS read-only thread hint": "Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.", + "RSS feed item label": "RSS", + "Web URL item label": "Web URL", + "URL thread activity": "URL thread activity", + "Suppress Clawstr links in RSS previews": "Hide clawstr.com in RSS and URL feed", + "Hide local, media & feed URLs from URL cards": "Hide local, media, feed, document & XML links from the feed", + "RSS articles": "RSS articles", + "Web comments": "Web comments", + "Web highlights": "Web highlights", + "In your bookmarks": "In your bookmarks", + "{{count}} RSS entries for this URL": "{{count}} RSS entries for this URL", + "{{count}} entries for this article URL": "{{count}} entries for this article URL", + "No comments yet": "No comments yet", + "No highlights yet": "No highlights yet", + "Showing {{filtered}} of {{total}} entries": "Showing {{filtered}} of {{total}} entries", + standardRssFeed_spotifeed: "Spotify playlist (Spotifeed)", + standardRssFeed_youtube: "YouTube feed", + standardRssFeed_youtubeChannel: "YouTube channel feed", + standardRssFeed_youtubePlaylist: "YouTube playlist feed", + standardRssFeed_feedburner: "FeedBurner", + standardRssFeed_reddit: "Reddit RSS", + standardRssFeed_substack: "Substack", + standardRssFeed_medium: "Medium", + "RSS Feed Settings": "RSS Feed Settings", + "Follow sets": "Follow sets", + "Personal Lists": "Personal Lists", + "Personal lists hub intro": "Open mute list, following, bookmarks list, pinned notes, interest topics (kind 10015), your NIP-30 user emoji list (kind 10030), and emoji set packs (kind 30030) on their own pages. Follow sets are below. Web page bookmarks (NIP-B0, kind 39701) are separate—save from an article’s panel or use the Bookmarks spell for a mixed feed.", + "Mute list": "Mute list", + "Following list": "Following list", + "Bookmarks list": "Bookmarks list", + "Pinned notes list": "Pinned notes list", + "Interests list": "Interests list", + "User emoji list": "User emoji list (kind 10030)", + "Emoji sets": "Emoji sets (kind 30030)", + "User emoji list title": "{{username}}'s emoji list", + "User emoji list intro": "NIP-30: inline custom emoji (`emoji` tags) and references to your kind 30030 packs (`a` tags). Publish when you are done editing.", + "User emoji list saved": "Emoji list published", + "User emoji inline section": "Inline emoji", + "User emoji inline empty": "No inline emoji yet. Add a shortcode and image URL below.", + "User emoji inline invalid": "Enter a shortcode and a non-empty image URL.", + "User emoji sets section": "Emoji set references", + "User emoji sets hint": "Add a coordinate in the form 30030:<64-hex pubkey>:, usually one of your own emoji sets from the Emoji sets page.", + "User emoji sets empty": "No emoji set references yet.", + "User emoji set ref invalid": "Invalid coordinate. Use 30030::.", + "User emoji set ref duplicate": "That emoji set is already in the list.", + "Emoji set coordinate": "Emoji set (a tag)", + "Publish changes": "Publish changes", + Shortcode: "Shortcode", + "Emoji sets settings intro": "NIP-30 emoji packs (kind 30030): each set has a `d` tag and `emoji` entries (shortcode + image URL). Publish from the editor dialog.", + "New emoji set": "New emoji set", + "Edit emoji set": "Edit emoji set", + "No emoji sets yet": "You have not created any emoji sets yet.", + "Emoji set saved": "Emoji set saved", + "Emoji set deleted": "Emoji set deleted", + "Failed to load emoji sets": "Failed to load emoji sets", + "emoji entries": "emoji", + "Emoji set d tag hint": "Stable identifier for this pack. It cannot be changed after the first publish.", + "Emoji pack entries": "Emoji in this pack", + "No emoji entries in pack": "No emoji in this pack yet.", + "Delete emoji set?": "Delete this emoji set?", + "Delete emoji set confirm": "This sends a deletion request (kind 5). Relays that accept it will drop the set; others may still show a cached copy.", + "Interests list section subtitle": "Topics you follow for hashtag feeds and the Interests spell. Stored on Nostr as kind 10015 (`t` tags).", + "Interest topic placeholder": "topic or #hashtag", + "Interest list add topic": "Add topic", + "Interest topic invalid": "Enter a valid topic (letters, numbers, hyphens, underscores).", + "No interest topics in list": "No subscribed topics yet. Add one above or subscribe from a hashtag page.", + "username's interest topics": "{{username}}'s interest topics", + "Remove from interest list": "Remove from interest list", + "Personal lists interests spell hint": "For a combined feed of all subscribed topics, use the", + "Interests spell": "Interests spell", + "Personal lists bookmarks spell hint": "For a note feed from NIP-51 bookmarks, use the", + "Bookmarks spell": "Bookmarks spell", + "Pinned notes hint": "Pinned notes: use the note menu (⋯) on a note and choose pin to profile. Pins appear on your profile.", + "Bookmarks list section title": "Bookmarks list", + "Bookmarks list section subtitle": "Events referenced by `e` / `a` tags on your kind 10003 bookmark list (newest first).", + "No entries in bookmark list": "Your bookmark list is empty.", + "View bookmarks as feed in Spells": "View bookmarks as a note feed in Spells", + "Pinned notes list section title": "Pinned notes list", + "Pinned notes list section subtitle": "Events referenced by `e` / `a` tags on your kind 10001 pin list (same order as on your profile).", + "Loading pin list": "Loading pin list…", + "No pinned notes in list": "No pinned notes in your pin list yet.", + "username's bookmarks": "{{username}}'s bookmarks", + "username's pinned notes": "{{username}}'s pinned notes", + "Event not loaded": "Event not loaded", + "No NIP-51 bookmarks or web bookmarks yet.": "No NIP-51 bookmarks or web bookmarks yet.", + "Web bookmarks": "Web bookmarks", + "Web bookmark": "Web bookmark", + "Web bookmarks NIP intro": "Web bookmarks are stored as kind 39701 events, not in your NIP-51 bookmark list.", + "Log in to save web bookmarks": "Log in to save web bookmarks for this page (NIP-B0, kind 39701).", + "Remove web bookmark": "Remove web bookmark", + "No web bookmark for this URL yet": "You have not saved a web bookmark for this URL yet.", + "Page title": "Page title", + "Short description": "Short description", + "Save web bookmark": "Save web bookmark", + "Sign in to publish web bookmark": "Please log in with a signing key to save web bookmarks.", + "Follow sets settings intro": "NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.", + "New follow set": "New follow set", + "Edit follow set": "Edit follow set", + "No follow sets yet": "You have not created any follow sets yet.", + "Follow set saved": "Follow set saved", + "Follow set deleted": "Follow set deleted", + "Failed to load follow sets": "Failed to load follow sets", + members: "members", + "Optional display title": "Optional display title", + "List id (d tag)": "List id (d tag)", + "Follow set d tag hint": "Stable identifier for this list. It cannot be changed after the first publish.", + "People in this list": "People in this list", + "Delete follow set?": "Delete this follow set?", + "Delete follow set confirm": "This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.", + "Clean list": "Clean list", + "Clean this list?": "Clean this list?", + "Clean list confirm": "This will publish a fresh, empty replacement for this list (all entries removed). This cannot be undone.", + "Clean follows list confirm with backup": "Before cleaning your follows (kind 3), the current list snapshot will be published to follows history relays. Then a fresh, empty follows list will be published. Continue?", + "List cleaned": "List cleaned", + "Failed to clean list": "Failed to clean list", + "Remove feed": "Remove feed", + "RSS Feeds": "RSS Feeds", + "RSS feeds exported to OPML file": "RSS feeds exported to OPML file", + "RSS feeds saved": "RSS feeds saved", + "Rate limited. Please wait before trying again.": "Rate limited. Please wait before trying again.", + "Reaction published": "Reaction published", + "Reaction published to some relays": "Reaction published to some relays", + "Reaction removed": "Reaction removed", + "Read full article": "Read full article", + "Reading group entry": "Reading group entry", + "Readings Options": "Readings Options", + Recipients: "Recipients", + "Recipients detected from your message:": "Recipients detected from your message:", + "Recommended Relays": "Recommended Relays", + "Recommended applications for handling events of kind {{kind}}": "Recommended applications for handling events of kind {{kind}}", + "Reference to the cited Nostr event in kind:pubkey:hex format": "Reference to the cited Nostr event in kind:pubkey:hex format", + "Refresh Cache": "Refresh Cache", + "Refreshing posts...": "Refreshing posts...", + "Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.": "Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.", + Relay: "Relay", + "Relay Hint": "Relay Hint", + "Relay URL (optional)": "Relay URL (optional)", + "Relay blocked successfully": "Relay blocked successfully", + "Relay requires authentication for write access. Please try a different relay or contact the relay operator.": "Relay requires authentication for write access. Please try a different relay or contact the relay operator.", + "Relay set options": "Relay set options", + "Remove from favorites": "Remove from favorites", + Rendered: "Rendered", + "Reply published": "Reply published", + "Reply published to some relays": "Reply published to some relays", + "Reply to Public Message": "Reply to Public Message", + "Republish to all active relays": "Republish to all active relays", + "Republish to all available relays": "Republish to all available relays", + "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.": "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.", + "Required: start time or start date. Optional: title, end, location, summary, topics, image.": "Required: start time or start date. Optional: title, end, location, summary, topics, image.", + "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Respect quiet tags": "Respect quiet tags", + "Search (NIP-50)": "Search (NIP-50)", + "Search by name or npub…": "Search by name or npub…", + "Search calendar, publications, wiki…": "Search calendar, publications, wiki…", + "Search for user…": "Search for user…", + "Search items...": "Search items...", + "Search logs...": "Search logs...", + "Search notes, threads, long-form…": "Search notes, threads, long-form…", + "Search on GifBuddy": "Search on GifBuddy", + "Search on Meme Amigo": "Search on Meme Amigo", + "Search posts...": "Search posts...", + "Search threads by title, content, tags, npub, author...": "Search threads by title, content, tags, npub, author...", + "Searching all available relays...": "Searching all available relays...", + "Searching…": "Searching…", + "See reference": "See reference", + "Select Group": "Select Group", + "Select Media Type": "Select Media Type", + "Select group...": "Select group...", + "Select relays": "Select relays", + "Publish relay cap hint": "At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.", + "Publish relay cap hint with outbox first": "At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.", + "Select the group where you want to create this discussion.": "Select the group where you want to create this discussion.", + "Select topic...": "Select topic...", + "Selected text": "Selected text", + "Send Public Message": "Send Public Message", + "Send a Lightning payment to this user": "Send a Lightning payment to this user", + "Service worker caches cleared. Please reload the page.": "Service worker caches cleared. Please reload the page.", + "Service worker unregistered and caches cleared. Please reload the page.": "Service worker unregistered and caches cleared. Please reload the page.", + "Service worker unregistered. Please reload the page.": "Service worker unregistered. Please reload the page.", + "Share your thoughts, ask questions, or start a discussion...": "Share your thoughts, ask questions, or start a discussion...", + "Short Video Note": "Short Video Note", + "Show RSS Feed": "Show RSS Feed", + "Show all discussions in a single list": "Show all discussions in a single list", + "Show less": "Show less", + Since: "Since", + Small: "Small", + "Some relays have temporarily disabled writes.": "Some relays have temporarily disabled writes.", + Source: "Source", + "Spell definition": "Spell definition", + "Spell published": "Spell published", + "Start date": "Start date", + "Start typing to see a preview...": "Start typing to see a preview...", + "Subject (Book Title)": "Subject (Book Title)", + "Subject (book title) is required for reading groups": "Subject (book title) is required for reading groups", + "Subject / Topics": "Subject / Topics", + Subscribe: "Subscribe", + Subscribed: "Subscribed", + "Subscribed to topic": "Subscribed to topic", + "Subscribed to topic (local)": "Subscribed to topic (local)", + "Subscribing...": "Subscribing...", + Summary: "Summary", + "Supported Event Types": "Supported Event Types", + "Take a note": "Take a note", + "The full prompt conversation (optional)": "The full prompt conversation (optional)", + "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.": "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.", + "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.": "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.", + "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.": "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.", + "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a Nostr event of kind {{kind}}.": "This GIF was found in a Nostr event of kind {{kind}}.", + "This file could be either audio or video. Please select the correct type:": "This file could be either audio or video. Please select the correct type:", + "This store does not contain replaceable events": "This store does not contain replaceable events", + "This will add additional tags for author and subject to help organize reading group discussions.": "This will add additional tags for author and subject to help organize reading group discussions.", + "Thread Content": "Thread Content", + "Thread Title": "Thread Title", + "Thread creation timed out. Please try again.": "Thread creation timed out. Please try again.", + "Thread published": "Thread published", + "Threads are organized by topics. Choose a topic that best fits your discussion.": "Threads are organized by topics. Choose a topic that best fits your discussion.", + "Time-based": "Time-based", + "Title is required": "Title is required", + "Title must be 100 characters or less": "Title must be 100 characters or less", + "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.": "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.", + Top: "Top", + Topic: "Topic", + URL: "URL", + "URL of the article cover image (optional)": "URL of the article cover image (optional)", + "Unique identifier for this article (required)": "Unique identifier for this article (required)", + "Unmute failed": "Unmute failed", + "Unpin note": "Unpin note", + Unsubscribe: "Unsubscribe", + "Unsubscribed from topic": "Unsubscribed from topic", + "Unsubscribing...": "Unsubscribing...", + Until: "Until", + Untitled: "Untitled", + Update: "Update", + "Updating...": "Updating...", + "Upload Audio Comment": "Upload Audio Comment", + "Upload Audio Message": "Upload Audio Message", + "Upload Media": "Upload Media", + "Media kind": "Media kind", + "Use image/audio/video note kind for the media URL in the editor": "Use image/audio/video note kind for the media URL in the editor", + "Already publishing as a media note": "Already publishing as a media note", + "No media URL in note — upload or paste a link first": "No media URL in note — upload or paste a link first", + "Cannot infer media type from URL — use Note type → Media Note to upload": "Cannot infer media type from URL — use Note type → Media Note to upload", + "Media kind (disabled): add imeta tags, a media URL, or upload media first": "Media kind (disabled): add imeta tags, a media URL, or upload media first", + Upvote: "Upvote", + "User unmuted": "User unmuted", + "Version number (optional)": "Version number (optional)", + Video: "Video", + "Video Note": "Video Note", + "Video file": "Video file", + "View Console Logs": "View Console Logs", + "View JSON": "View JSON", + "View cached items in this store.": "View cached items in this store.", + "View definition": "View definition", + "View details about cached data in IndexedDB stores. Click on a store to view its items.": "View details about cached data in IndexedDB stores. Click on a store to view its items.", + "View on Alexandria": "View on Alexandria", + "View on DecentNewsroom": "View on DecentNewsroom", + "View on Wikistr": "View on Wikistr", + "View recent console logs for debugging": "View recent console logs for debugging", + "Voice Comment": "Voice Comment", + "Voice Note": "Voice Note", + "Voice note or audio file": "Voice note or audio file", + Volume: "Volume", + "Volume number (optional)": "Volume number (optional)", + "Vote published": "Vote published", + "Vote removed": "Vote removed", + "Website where LLM was accessed (optional)": "Website where LLM was accessed (optional)", + "Wiki Article (AsciiDoc)": "Wiki Article (AsciiDoc)", + "Wiki Article (Markdown)": "Wiki Article (Markdown)", + "You can only delete your own notes": "You can only delete your own notes", + "You must be logged in to create a thread": "You must be logged in to create a thread", + "You need to add at least one media server in order to upload media files.": "You need to add at least one media server in order to upload media files.", + "You need to login first": "You need to login first", + "Your account is blocked from posting to this relay.": "Your account is blocked from posting to this relay.", + Zap: "Zap", + "Zap failed": "Zap failed", + created_at: "created_at", + "e tag of kind 1040 event (optional)": "e tag of kind 1040 event (optional)", + "e.g. meetup, conference": "e.g. meetup, conference", + "e.g., 123-145 (optional)": "e.g., 123-145 (optional)", + "e.g., GPT-4, Claude, etc. (required)": "e.g., GPT-4, Claude, etc. (required)", + "e.g., my-article-title": "e.g., my-article-title", + entries: "entries", + "from Bunker": "from Bunker", + "from Extension": "from Extension", + "from NIP-05": "from NIP-05", + general: "general", + "https://example.com (required)": "https://example.com (required)", + "https://example.com/image.jpg": "https://example.com/image.jpg", + id: "id", + items: "items", + kind: "kind", + "kind:pubkey:hex format (required)": "kind:pubkey:hex format (required)", + "last updated": "last updated", + matching: "matching", + naddr: "naddr", + nevent: "nevent", + "nevent1..., naddr1..., note1..., hex ID, or https://...": "nevent1..., naddr1..., note1..., hex ID, or https://...", + "no notes found": "no notes found", + of: "of", + "on note": "on note", + optional: "optional", + pubkey: "pubkey", + "sent a public message": "sent a public message", + "sent you a public message": "sent you a public message", + "sent you a public message (along with {{count}} others)": "sent you a public message (along with {{count}} others)", + sig: "sig", + "started a discussion in {{topic}}": "started a discussion in {{topic}}", + tags: "tags", + thread: "thread", + threads: "threads", + "topic1, topic2, topic3": "topic1, topic2, topic3", + "{{count}} relay(s) selected": "{{count}} relay(s) selected", + "🔞 NSFW 🔞": "🔞 NSFW 🔞", + "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).": "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).", + "Compressing on your device before upload (large videos can take several minutes)…": "Compressing on your device before upload (large videos can take several minutes)…", + "Failed to refresh": "Failed to refresh", + "Invalid article link.": "Invalid article link.", + Likes: "Likes", + "Loading…": "Loading…", + "Missing pubkey": "Missing pubkey", + "No RSS feed list found on relays": "No RSS feed list found on relays", + "Pinned posts": "Pinned posts", + "Publishing...": "Publishing...", + "RSS article": "RSS article", + "RSS feed list refreshed": "RSS feed list refreshed", + "Save or discard your changes before refreshing from relays": "Save or discard your changes before refreshing from relays", + "Suggested topics": "Suggested topics", + "Synthetic event (no author)": "Synthetic event (no author)", + "Topic is required": "Topic is required", + "Type a topic or pick from the list": "Type a topic or pick from the list", + "Uploading to media server…": "Uploading to media server…", + profileEditorRefreshCacheHint: "profileEditorRefreshCacheHint", + startupSessionHydrating: "startupSessionHydrating", + "AI / LLM prompt citation": "AI / LLM prompt citation", + "AsciiDoc wiki contribution": "AsciiDoc wiki contribution", + "Attach image, audio, or video": "Attach image, audio, or video", + Citations: "Citations", + "Cite from external source": "Cite from external source", + "Cite from private relay": "Cite from private relay", + "Create a voting poll": "Create a voting poll", + "Create custom event": "Create custom event", + "Create event with custom kind": "Create event with custom kind", + "Custom Event": "Custom Event", + "Custom tag…": "Custom tag…", + Dismiss: "Dismiss", + "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.": "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.", + "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).": "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).", + "Failed to rebroadcast entire publication: {{error}}": "Failed to rebroadcast entire publication: {{error}}", + "Feed filter kind": "Feed filter kind", + "Feed filter kind hint": "Feed filter kind hint", + "Feed filter kind invalid": "Feed filter kind invalid", + "Feed filter kind placeholder": "Feed filter kind placeholder", + "Invalid event fields": "Invalid event fields", + "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).": "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).", + "Markdown article (NIP-23)": "Markdown article (NIP-23)", + "Markdown wiki contribution": "Markdown wiki contribution", + "Media Note": "Media Note", + "No publication events found for rebroadcast": "No publication events found for rebroadcast", + "No publication events were accepted by any relay": "No publication events were accepted by any relay", + "Note type": "Note type", + "Offline mode": "Offline mode", + "Only local relays and cached content are available.": "Only local relays and cached content are available.", + "Physical source citation": "Physical source citation", + "Plain text note (kind 1)": "Plain text note (kind 1)", + "Private relay publication": "Private relay publication", + "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).": "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).", + "Public Message": "Public Message", + "Public direct message (kind 4)": "Public direct message (kind 4)", + "Publication Note": "Publication Note", + "Rebroadcast entire publication": "Rebroadcast entire publication", + "Rebroadcast entire publication to ...": "Rebroadcast entire publication to ...", + "Rebroadcasted entire publication": "Rebroadcasted entire publication", + "Rebroadcasting entire publication...": "Rebroadcasting entire publication...", + "Save a quote or passage": "Save a quote or passage", + "Save data": "Save data", + "Set kind, content, and tags, then publish.": "Set kind, content, and tags, then publish.", + "Short Note": "Short Note", + "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.": "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.", + "Slow connection detected": "Slow connection detected", + "Start a discussion thread": "Start a discussion thread", + "This action is only available for publications": "This action is only available for publications", + "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.": "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.", + Thread: "Thread", + "Turn on low-bandwidth mode to reduce data usage.": "Turn on low-bandwidth mode to reduce data usage.", + "Turn on low-bandwidth mode? This will set: {{changes}}.": "Turn on low-bandwidth mode? This will set: {{changes}}.", + "Unsigned experimental kind": "Unsigned experimental kind", + "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.": "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.", + "media loading off": "media loading off", + profileEditorDuplicateSingleton: "profileEditorDuplicateSingleton", + profileEditorEditBannerUrl: "profileEditorEditBannerUrl", + profileEditorEditPictureUrl: "profileEditorEditPictureUrl", + profileEditorImageUrlHint: "profileEditorImageUrlHint", + profileEditorNostrBuildThumbHint: "profileEditorNostrBuildThumbHint", + profileEditorProfileNotLoaded: "profileEditorProfileNotLoaded", + profileEditorTagListHint: "profileEditorTagListHint", + "readOnlySession.hint": "readOnlySession.hint", + "readOnlySession.label": "readOnlySession.label", + "readOnlySession.labelShort": "readOnlySession.labelShort", + "video autoplay off": "video autoplay off", } } diff --git a/src/i18n/locales/pt-BR.ts b/src/i18n/locales/pt-BR.ts deleted file mode 100644 index 9b2b468d..00000000 --- a/src/i18n/locales/pt-BR.ts +++ /dev/null @@ -1,1839 +0,0 @@ -export default { - translation: { - 'Welcome! 🥳': 'Bem-vindo! 🥳', - About: 'Sobre', - 'New Note': 'Nova nota', - Post: 'Postar', - Home: 'Início', - Feed: 'Feed', - 'Favorite Relays': 'Relays favoritos', - 'Relay pulse': 'Relay pulse', - 'Relay pulse empty': 'Quiet on your relays in the last hour.', - 'Relay pulse follows': 'Following ({{count}})', - 'Relay pulse others': 'Others ({{count}})', - 'Relay pulse updated': 'Updated {{relative}}', - 'Relay pulse active npubs': 'Active npubs', - 'Relay pulse active npubs hint': - 'Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).', - 'Relay pulse drawer following': 'Following', - 'Relay pulse drawer others': 'Others', - 'Relay pulse drawer no profiles': 'No kind 0 profiles loaded for this sample yet.', - 'See the newest notes from your follows': 'See the newest notes from your follows', - 'All favorite relays': 'Todos os relays favoritos', - 'Pinned note': 'Pinned note', - 'Relay settings': 'Configurações de relay', - Settings: 'Configurações', - 'Account menu': 'Account menu', - SidebarRelays: 'Relays', - Refresh: 'Atualizar', - 'refresh.longPressHardReload': 'Long-press: reload app and restore feed cache', - 'link.expandNostrEmbed': 'Show Nostr preview', - Profile: 'Perfil', - Logout: 'Sair', - Following: 'Seguindo', - followings: 'Seguidos', - boosted: 'deu boost', - 'Boosted by:': 'Boosted by:', - 'just now': 'agora mesmo', - 'n minutes ago': '{{n}} minutos atrás', - 'n m': '{{n}}m', - 'n hours ago': '{{n}} horas atrás', - 'n h': '{{n}}h', - 'n days ago': '{{n}} dias atrás', - 'n d': '{{n}}d', - date: '{{timestamp, date}}', - Follow: 'Seguir', - Unfollow: 'Deixar de seguir', - 'Follow failed': 'Falha ao seguir', - 'Unfollow failed': 'Falha ao deixar de seguir', - 'show new notes': 'Ver novas notas', - 'loading...': 'Carregando...', - 'Loading...': 'Carregando...', - 'no more notes': 'Não há mais notas', - 'calendar entries': 'calendar entries', - 'Loading calendar events...': 'Loading calendar events...', - 'No calendar events found': 'No calendar events found', - 'Calendar events in the next {{count}} months': 'Calendar events in the next {{count}} months', - 'The nostr.band relay appears to be temporarily out of service. Please try again later.': - 'The nostr.band relay appears to be temporarily out of service. Please try again later.', - 'reply to': 'Respondendo a', - reply: 'Responder', - Reply: 'Responder', - 'load more older replies': 'Carregar mais respostas antigas', - 'Write something...': 'Escreva algo...', - Cancel: 'Cancelar', - Mentions: 'Menções', - 'Search for event or address…': 'Search for event or address…', - 'Search notes…': 'Search notes…', - 'No notes found': 'No notes found', - 'Failed to post': 'Falha ao postar', - 'Post successful': 'Nota publicada com sucesso', - 'Your post has been published': 'Sua nota foi publicada', - Boost: 'Boost', - 'Boost published': 'Boost publicado', - Quote: 'Citar', - 'Copy event ID': 'Copiar ID do evento', - 'Copy user ID': 'Copiar ID do usuário', - 'Send public message': 'Send public message', - 'View raw event': 'Ver evento bruto', - 'Edit this event': 'Edit this event', - 'Clone or fork this event': 'Clone or fork this event', - 'Event kind': 'Event kind', - 'Note content': 'Note content', - Publish: 'Publish', - 'Post published': 'Post published', - 'Edit content and tags, then publish a new signed event.': - 'Edit content and tags, then publish a new signed event.', - 'Log in to publish': 'Log in to publish', - 'Set when you publish': 'set when you publish', - 'id and sig are assigned when you publish': 'id and sig are assigned when you publish', - 'Published to some relays only': 'Published to some relays only', - 'Add field': 'Add field', - 'View full profile': 'View full profile', - Like: 'Curtir', - 'switch to light theme': 'Alternar para tema claro', - 'switch to dark theme': 'Alternar para tema escuro', - 'switch to system theme': 'Alternar para tema do sistema', - Note: 'Nota', - note: 'nota', - "username's following": 'seguindo {{username}}', - "username's used relays": 'relays usados por {{username}}', - "username's muted": '{{username}} silenciado', - Login: 'Entrar', - downloadDesktopApp: 'Download app', - 'Please log in to view notifications.': 'Please log in to view notifications.', - 'Follows you': 'Segue você', - 'Relay Settings': 'Configurações de relay', - 'Relays and Storage Settings': 'Relays and Storage Settings', - 'Relay set name': 'Nome do conjunto de relay', - 'Add a new relay set': 'Adicionar um novo conjunto de relay', - Add: 'Adicionar', - 'n relays': '{{n}} relays', - Rename: 'Renomear', - 'Copy share link': 'Copy share link', - 'Copy address': 'Copy address', - 'Copy payto URI': 'Copy payto URI', - 'Copied payto address': 'Copied payto address', - 'Copied to clipboard': 'Copied to clipboard', - 'Copied {{label}} address': 'Copied {{label}} address', - 'Lightning payment address – copy to pay via your wallet': - 'Lightning payment address – copy to pay via your wallet', - 'Payment address – copy to use in your wallet or app': - 'Payment address – copy to use in your wallet or app', - 'Click to open payment options': 'Click to open payment options', - 'Click to copy address': 'Click to copy address', - 'Open on website': 'Open on website', - 'Raw profile event': 'Raw profile event', - 'Full profile event': 'Full profile event', - 'Event (JSON)': 'Event (JSON)', - 'Save full profile': 'Save full profile', - 'Add tag': 'Add tag', - 'Remove tag': 'Remove tag', - 'Tag name': 'Tag name', - Value: 'Value', - 'Add value to tag': 'Add value to tag', - 'Remove value': 'Remove value', - 'No tags. Click "Add tag" to add one.': 'No tags. Click "Add tag" to add one.', - 'Profile updated': 'Profile updated', - 'Failed to publish profile': 'Failed to publish profile', - 'Invalid profile JSON': 'Invalid profile JSON', - 'Refresh cache': 'Refresh cache', - 'Force-refresh profile and payment info from relays': - 'Force-refresh profile and payment info from relays', - 'Profile and payment cache refreshed': 'Profile and payment cache refreshed', - 'Failed to refresh cache': 'Failed to refresh cache', - 'Raw payment info event': 'Raw payment info event', - 'Payment info': 'Payment info', - 'Edit payment info': 'Edit payment info', - 'Add payment info': 'Add payment info', - 'No payment info event yet. Click "Add payment info" to create one.': - 'No payment info event yet. Click "Add payment info" to create one.', - 'Content (JSON)': 'Content (JSON)', - Tags: 'Tags', - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])': - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])', - 'Payment info updated': 'Payment info updated', - 'Failed to publish payment info': 'Failed to publish payment info', - 'Invalid tags JSON': 'Invalid tags JSON', - 'Payment methods': 'Payment methods', - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).': - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).', - 'Type (e.g. lightning)': 'Type (e.g. lightning)', - 'Authority (e.g. user@domain.com)': 'Authority (e.g. user@domain.com)', - 'Add payment method': 'Add payment method', - Remove: 'Remove', - 'Additional content (JSON)': 'Additional content (JSON)', - 'Show full event JSON': 'Show full event JSON', - 'Tag list': 'Tag list', - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.': - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.', - 'Tag value': 'Tag value', - 'Saving…': 'Saving…', - 'Share with Imwald': 'Compartilhar com Imwald', - 'Share with Alexandria': 'Compartilhar com Alexandria', - 'Start video call': 'Start video call', - 'Copy call invite link': 'Copy call invite link', - 'Start call about this': 'Start call about this', - 'Send call invite': 'Send call invite', - 'Read this note aloud': 'Read this note aloud', - 'Read-aloud is not supported in this browser': 'Read-aloud is not supported in this browser', - 'Nothing to read aloud': 'Nothing to read aloud', - 'Read-aloud failed': 'Read-aloud failed', - 'Read aloud': 'Read aloud', - 'Read-aloud idle': 'Idle', - 'Preparing read-aloud…': 'Preparing read-aloud…', - 'Requesting audio…': 'Requesting audio…', - 'Loading audio…': 'Loading audio…', - Playing: 'Playing', - Paused: 'Paused', - 'Read-aloud finished': 'Finished', - 'Read-aloud error': 'Error', - 'TTS endpoint': 'TTS endpoint', - 'Using browser speech synthesis': 'Using browser speech synthesis', - 'Read-aloud section progress': 'Section {{current}} of {{total}}', - 'Request sent': 'Request sent', - 'Response received': 'Response received', - 'Playback started': 'Playback started', - Characters: 'Characters', - Pause: 'Pause', - Play: 'Play', - Stop: 'Stop', - 'Read-aloud sections': 'Read-aloud sections', - 'Read-aloud overall progress': 'Overall progress', - 'Read-aloud section done': 'Section {{index}}: finished', - 'Read-aloud section pending': 'Section {{index}}: not started yet', - 'Read-aloud section fetching': 'Section {{index}}: requesting audio', - 'Read-aloud section preparing audio': 'Section {{index}}: loading audio', - 'Read-aloud section playing': 'Section {{index}}: playing', - 'Read-aloud section paused': 'Section {{index}}: paused', - 'Read-aloud legend fetching': 'Requesting audio for this section from the server…', - 'Read-aloud legend buffering': 'Decoding audio for this section…', - 'Read-aloud legend playing': 'Playing this section.', - 'Read-aloud legend paused': 'Playback paused.', - 'Read-aloud Piper fallback notice': - 'Server voice (Piper) could not be used. Playing with your browser voice instead.', - 'Read-aloud Piper fallback detail label': 'Piper error', - 'Read-aloud Piper status region': 'Piper text-to-speech status', - 'Read-aloud Piper status heading': 'Piper (server voice)', - 'Read-aloud Piper skipped notice': - 'No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.', - 'Read-aloud Piper attempt started': - 'Piper was started at {{time}} (this read-aloud used the server first).', - 'Read-aloud Piper endpoint tried': 'URL used: {{url}}', - 'Join the video call': 'Join the video call', - 'Schedule video call': 'Schedule video call', - "You're invited to a scheduled video call.": "You're invited to a scheduled video call.", - 'Create a calendar event and send an invite. The recipient will see the event with a join link.': - 'Create a calendar event and send an invite. The recipient will see the event with a join link.', - 'Schedule a video call': 'Schedule a video call', - 'Create a calendar event and send kind 24 invites to each listed invitee.': - 'Create a calendar event and send kind 24 invites to each listed invitee.', - Invitees: 'Invitees', - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)': - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)', - 'Schedule and send invites': 'Schedule and send invites', - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)': - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)', - 'Scheduled call created and {{count}} invite(s) sent': - 'Scheduled call created and {{count}} invite(s) sent', - 'Join video call': 'Join video call', - 'Scheduled video call': 'Scheduled video call', - 'Video call': 'Video call', - 'Schedule and send invite': 'Schedule and send invite', - 'Scheduling…': 'Scheduling…', - 'Please set a start time': 'Please set a start time', - 'End time must be after start time': 'End time must be after start time', - 'Failed to schedule call': 'Failed to schedule call', - 'Scheduled call created and invite sent': 'Scheduled call created and invite sent', - RSVP: 'RSVP', - 'RSVP: {{status}}': 'RSVP: {{status}}', - Accepted: 'Accepted', - Tentative: 'Tentative', - Declined: 'Declined', - 'You need to log in to RSVP': 'You need to log in to RSVP', - 'RSVP updated': 'RSVP updated', - 'Failed to update RSVP': 'Failed to update RSVP', - Organizer: 'Organizer', - Attendees: 'Attendees', - 'No response': 'No response', - 'Calendar Events': 'Calendar Events', - 'Calendar Event': 'Calendar Event', - 'Schedule in-person meeting': 'Schedule in-person meeting', - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.': - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.', - "You're invited to an in-person meeting.": "You're invited to an in-person meeting.", - 'Meeting created and invite sent': 'Meeting created and invite sent', - 'Failed to create meeting': 'Failed to create meeting', - 'Create and send invite': 'Create and send invite', - 'Creating…': 'Creating…', - 'In-person meeting': 'In-person meeting', - Location: 'Location', - 'Address, venue, or place': 'Address, venue, or place', - Description: 'Description', - 'Optional notes': 'Optional notes', - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.': - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.', - 'Meeting created and {{count}} invite(s) sent': 'Meeting created and {{count}} invite(s) sent', - 'Create and send invites': 'Create and send invites', - Title: 'Title', - Start: 'Start', - End: 'End', - Delete: 'Excluir', - 'Relay already exists': 'Relay já existe', - 'invalid relay URL': 'URL de relay inválida', - 'Relay URL…': 'wss://… or relay host', - 'Open relay': 'Open relay', - 'Add a new relay': 'Adicionar um novo relay', - back: 'voltar', - 'Lost in the void': 'Perdido no vazio', - 'Carry me home': 'Me leve para casa', - 'no replies': 'Sem respostas', - 'Reply to': 'Responder a', - Search: 'Pesquisar', - 'The relays you are connected to do not support search': - 'Os relays aos quais você está conectado não suportam pesquisa', - 'Show more...': 'Mostrar mais...', - 'All users': 'Todos os usuários', - 'Display replies': 'Exibir respostas', - Notes: 'Notas', - Replies: 'Respostas', - Gallery: 'Galeria', - Notifications: 'Notificações', - 'no more notifications': 'não há mais notificações', - 'Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.': - 'O uso de login com chave privada é inseguro. Recomenda-se usar uma extensão do navegador para login, como alby, nostr-keyx ou nos2x. Se você precisar usar uma chave privada, defina uma senha para criptografia no mínimo.', - 'Login with Browser Extension': 'Entrar com extensão do navegador', - 'Login with Bunker': 'Entrar com Bunker', - 'Login with Private Key': 'Entrar com chave privada', - 'Login with npub (read-only)': 'Entrar com npub (somente leitura)', - 'reload notes': 'Recarregar notas', - 'Logged in Accounts': 'Contas conectadas', - 'Add an Account': 'Acessar conta', - 'More options': 'Mais opções', - 'Add client tag': 'Adicionar tag de cliente', - 'Show others this was sent via Imwald': 'Mostrar aos outros que isso foi enviado via Imwald', - 'Are you sure you want to logout?': 'Tem certeza de que deseja sair?', - 'relay sets': 'Conjuntos de relay', - edit: 'Editar', - Languages: 'Idiomas', - Theme: 'Tema', - System: 'Sistema', - Light: 'Claro', - Dark: 'Escuro', - Temporary: 'Temporário', - 'Choose a relay set': 'Escolha um conjunto de relay', - 'Switch account': 'Trocar de conta', - Pictures: 'Imagens', - 'Picture note': 'Nota de imagem', - 'A special note for picture-first clients like Olas': - 'Uma nota especial para clientes que priorizam imagens, como Olas', - 'Picture note requires images': 'Nota de imagem requer imagens', - Relays: 'Relays', - Image: 'imagem', - 'Upload Image': 'Upload Image', - 'Insert emoji': 'Insert emoji', - 'Insert GIF': 'Insert GIF', - 'Insert meme': 'Insert meme', - 'Search GIFs': 'Search GIFs', - 'Search memes': 'Search memes', - 'Choose a GIF': 'Choose a GIF', - 'Choose a meme': 'Choose a meme', - 'Search GifBuddy for more GIFs': 'Search GifBuddy for more GIFs', - 'Add your own GIFs': 'Add your own GIFs', - 'Add your own meme templates': 'Add your own meme templates', - 'Description (optional, for search)': 'Description (optional, for search)', - 'e.g. happy birthday, thumbs up': 'e.g. happy birthday, thumbs up', - 'e.g. drake, distracted boyfriend': 'e.g. drake, distracted boyfriend', - 'Uploading...': 'Uploading...', - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.': - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.', - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).': - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).', - 'Failed to publish meme template for the picker': - 'Failed to publish meme template for the picker', - '{{name}} is not a GIF file': '{{name}} is not a GIF file', - '{{name}} is not a JPEG, PNG, or WebP file': '{{name}} is not a JPEG, PNG, or WebP file', - 'R & W': 'Leitura & Escrita', - Read: 'Leitura', - Write: 'Escrita', - 'Pull relay sets': 'Receber conjuntos de relay', - 'Select the relay sets you want to pull': 'Selecione os conjuntos de relay que deseja receber', - 'No relay sets found': 'Nenhum conjunto de relay encontrado', - 'Pull n relay sets': 'Receber {{n}} conjuntos de relay', - Pull: 'Receber', - 'Select all': 'Selecionar todos', - 'Relay Sets': 'Conjuntos de relay', - 'Read & Write Relays': 'Relays de Leitura & Escrita', - 'read relays description': - 'Relays de leitura são usados para buscar eventos sobre você. Outros usuários publicarão os eventos que deseja ver nesses relays.', - 'write relays description': - 'Relays de escrita são usados para publicar seus eventos. Outros usuários buscarão seus eventos nesses relays.', - 'read & write relays notice': - 'O número de servidores de leitura e escrita deve ser mantido entre 2 e 4, idealmente.', - "Don't have an account yet?": 'Não tem uma conta ainda?', - 'or simply generate a private key': 'ou simplesmente gere uma chave privada', - 'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.': - 'Esta é uma chave privada. Não a compartilhe com ninguém. Mantenha-a segura, pois não poderá recuperá-la se perdê-la.', - Edit: 'Editar', - Save: 'Salvar', - 'Display Name': 'Nome de exibição', - Bio: 'Biografia', - 'Nostr Address (NIP-05)': 'Endereço Nostr (NIP-05)', - 'Invalid NIP-05 address': 'Endereço NIP-05 inválido', - 'Copy private key': 'Copiar chave privada', - 'Enter the password to decrypt your ncryptsec': - 'Digite a senha para descriptografar seu ncryptsec', - Back: 'Voltar', - 'optional: encrypt nsec': 'opcional: criptografar nsec', - password: 'Senha', - 'Sign up': 'Criar conta', - 'Save to': 'Salvar em', - 'Enter a name for the new relay set': 'Digite um nome para o novo conjunto de relay', - 'Save to a new relay set': 'Salvar em um novo conjunto de relay', - Mute: 'Silenciar', - Muted: 'Silenciados', - Unmute: 'Silenciado', - 'Unmute user': 'Usuário silenciado', - Block: 'Block', - Unblock: 'Unblock', - blocked: 'blocked', - 'Append n relays': 'Adicionar {{n}} relays', - Append: 'Adicionar', - 'Select relays to append': 'Selecione os relays para adicionar', - 'calculating...': 'Calculando...', - 'Calculate optimal read relays': 'Calcular relays de leitura ideais', - 'Login to set': 'Entrar no conjunto', - 'Please login to view following feed': 'Por favor, faça login para ver o feed de seguidores', - 'Follow set': 'Follow set', - 'Follow set feed empty': - 'This NIP-51 list is empty, was not found, or relays could not load it yet.', - 'Send only to r': 'Enviar apenas para {{r}}', - 'Send only to these relays': 'Enviar apenas para estes relays', - Explore: 'Explorar', - 'Relay reviews': 'Avaliações de relays', - 'Search relays': 'Pesquisar relays', - relayInfoBadgeAuth: 'Auth', - relayInfoBadgeSearch: 'Pesquisar', - relayInfoBadgePayment: 'Pagamento', - Operator: 'Operador', - Contact: 'Contato', - Software: 'Software', - Version: 'Versão', - 'Random Relays': 'Relays aleatórios', - randomRelaysRefresh: 'Atualizar', - 'Explore more': 'Explorar mais', - 'Payment page': 'Página de pagamento', - 'Supported NIPs': 'NIPs Suportados', - 'Relay liveliness (NIP-66)': 'Relay liveliness (NIP-66)', - 'Relay monitor (NIP-66)': 'Relay monitor (NIP-66)', - 'Auth required': 'Auth required', - 'Public (no auth)': 'Public (no auth)', - 'Payment required': 'Payment required', - 'No payment': 'No payment', - 'Writes required': 'Writes required', - 'Writes open': 'Writes open', - 'PoW required': 'PoW required', - 'No PoW': 'No PoW', - 'RTT open': 'RTT open', - 'RTT read': 'RTT read', - 'RTT write': 'RTT write', - 'Supported NIPs (from monitor)': 'Supported NIPs (from monitor)', - 'Last reported by monitor': 'Last reported by monitor', - Network: 'Network', - Type: 'Type', - Topics: 'Topics', - 'Open in a': 'Abrir em {{a}}', - 'Cannot handle event of kind k': 'Não é possível lidar com o evento do tipo {{k}}', - 'Unsupported event preview': - 'There isn’t a dedicated card for this event type yet. Here’s a readable preview.', - 'No text content in event': 'No text in this event.', - 'Technical details': 'Technical details', - 'Event kind and time': 'Kind {{kind}} · {{time}}', - 'Event kind label': 'Kind {{kind}}', - 'Note kind label line': 'KIND: {{kind}} · {{description}}', - 'Unknown note declared kind tag': 'Tagged kind: {{value}}', - 'Unknown note tagged pubkey': 'Tagged pubkey', - 'Unknown note tagged content': 'Content', - 'Unknown note reference tags': 'Reference tags (e, p, q, a)', - 'Starred spells': 'Starred spells', - 'Spell star add title': 'Star spell (adds to your Nostr bookmarks)', - 'Spell star remove title': 'Unstar spell (removes from your Nostr bookmarks)', - 'Copy JSON': 'Copy JSON', - Verse: 'Verse', - 'Notification reaction summary': 'reacted to this note.', - 'Notification discussion upvote summary': 'upvoted in this discussion.', - 'Notification discussion downvote summary': 'downvoted in this discussion.', - 'Notification boost summary': 'Boosted this note', - 'Notification boost detail': 'The preview above is the original post.', - 'Notification poll vote summary': 'Voted on the poll above.', - 'Notification poll vote options count': '{{count}} option(s) selected', - 'Imwald synthetic event': 'Imwald synthetic event', - '+ Add a URL to this list': 'Add a URL to this list', - 'Add a web URL': 'Add a web URL', - 'Add web URL to feed description': - 'Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.', - 'Add to feed': 'Add to feed', - 'Open any https page in the side panel to reply, react, and discuss on Nostr.': - 'Open any https page in the side panel to reply, react, and discuss on Nostr.', - 'Enter a valid http(s) URL': 'Enter a valid http(s) URL', - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.': - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.', - 'Open in browser': 'Open in browser', - 'Web page': 'Web page', - Open: 'Open', - 'Sorry! The note cannot be found 😔': 'Desculpe! A nota não pode ser encontrada 😔', - 'This user has been muted': 'Este usuário foi silenciado', - Wallet: 'Carteira', - Sats: 'Sats', - sats: 'sats', - 'Zap to': 'Zap para', - 'Zap n sats': 'Zap {{n}} sats', - zapComment: 'Comentário', - 'Default zap amount': 'Valor padrão do zap', - 'Default zap comment': 'Comentário padrão do zap', - 'Lightning Address (or LNURL)': 'Endereço Lightning (ou LNURL)', - 'Quick zap': 'Zap rápido', - 'If enabled, you can zap with a single click. Click and hold for custom amounts': - 'Se ativado, você pode zapear com um único clique. Clique e segure para quantias personalizadas', - All: 'Tudo', - Reactions: 'Reações', - Zaps: 'Zaps', - Boosts: 'Boosts', - Badges: 'Badges', - Reports: 'Reports', - 'Enjoying Imwald?': 'Gostando do Imwald?', - 'Your donation helps me maintain Imwald and make it better! 😊': - 'Sua doação me ajuda a manter o Imwald e torná-lo melhor! 😊', - 'Earlier notifications': 'Notificações anteriores', - 'Temporarily display this note': 'Exibir esta nota temporariamente', - buttonFollowing: 'Seguindo', - 'Are you sure you want to unfollow this user?': - 'Tem certeza de que deseja deixar de seguir este usuário?', - 'Recent Supporters': 'Apoiadores recentes', - 'Seen on': 'Visto em', - 'Temporarily display this reply': 'Exibir temporariamente esta resposta', - 'Note not found': 'Nota não encontrada', - 'Invalid embedded note reference': 'Invalid embedded note reference', - embeddedNoteInvalidEmpty: 'This embedded link is empty.', - embeddedNoteInvalidHex: - 'This is not a valid hex event id (expected exactly 64 hexadecimal characters).', - embeddedNoteInvalidBech32: - 'This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.', - embeddedNoteInvalidWrongKind: - 'This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.', - 'The note was not found on your relays or default relays.': - 'The note was not found on your relays or default relays.', - "Try searching author's relays": "Try searching author's relays", - 'Searching external relays...': 'Searching external relays...', - "This will connect to the author's relays and relay hints": - "This will connect to the author's relays and relay hints", - 'Note could not be found anywhere': 'Note could not be found anywhere', - 'Try external relays': 'Try external relays', - 'Searching...': 'Searching...', - 'Show relays': 'Show relays', - 'No external relay hints available': 'No external relay hints available', - 'External relay search is not available for this link type': - 'External relay search is not available for this link type.', - 'Searched external relays not found': - 'Searched {{count}} external relays; the note was still not found.', - 'no more replies': 'não há mais respostas', - 'Relay sets': 'Conjuntos de relay', - 'Search for Relays': 'Search for Relays', - 'Using app default relays': 'Using app default relays', - "Following's Favorites": 'Favoritos de quem você segue', - 'no more relays': 'não há mais relays', - 'Favorited by': 'Favoritado por', - 'Post settings': 'Ajustes de publicação', - 'Publishing feedback': 'Publishing feedback', - 'Publish success toasts': 'Publish success toasts', - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.': - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.', - 'Publish successful': 'Publish successful', - 'Media upload service': 'Serviço de upload de mídia', - 'Choose a relay': 'Escolher um relay', - 'no relays found': 'nenhum relay encontrado', - video: 'vídeo', - 'Show n new notes': 'Ver {{n}} novas notas', - YouTabName: 'Você', - Bookmark: 'Favorito', - 'Remove bookmark': 'Remover favorito', - 'no bookmarks found': 'Nenhum favorito encontrado', - 'no more bookmarks': 'Sem mais favoritos', - Bookmarks: 'Favoritos', - 'Follow Packs': 'Follow Packs', - 'Follow Pack': 'Follow Pack', - 'Follow pack by': 'by', - 'In Follow Packs': 'In Follow Packs', - 'Badge details': 'Badge details', - 'Issued by': 'Issued by', - 'Other recipients': 'Other recipients', - 'No other recipients found': 'No other recipients found', - 'Recipients could not be loaded': 'Recipients could not be loaded', - 'View award': 'View award', - 'Awarded on': 'Awarded on', - 'Please log in to follow': 'Please log in to follow', - 'Following All': 'Following All', - 'Followed {{count}} users': 'Followed {{count}} users', - 'All available members are already followed or muted': - 'All available members are already followed or muted', - 'You are already following all members of this pack': - 'You are already following all members of this pack', - 'Failed to follow pack': 'Failed to follow pack', - '{{count}} profiles': '{{count}} profiles', - 'Show more': 'Mostrar mais', - General: 'Geral', - Autoplay: 'Reprodução automática', - 'Enable video autoplay on this device': - 'Habilitar reprodução automática de vídeo neste dispositivo', - 'liveActivities.heading': 'Live now', - 'liveActivities.regionLabel': 'Live spaces and streams', - 'liveActivities.fromFollow': 'From someone you follow', - 'liveActivities.goToSlide': 'Show live item {{n}}', - 'liveActivities.settingsToggle': 'Live activities banner', - 'liveActivities.settingsHint': - 'Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.', - 'Add random relays to every publish': 'Random relays in publish list', - 'Add random relays to every publish description': - 'Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.', - relayType_local: 'Local', - relayType_relay_list: 'Relay list', - relayType_http_relay_list: 'HTTP', - 'HTTP relays': 'HTTP relays', - httpRelaysDescription: - 'HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.', - 'HTTP relays saved': 'HTTP relays saved', - 'Failed to save HTTP relay list': 'Failed to save HTTP relay list', - 'HTTP relays must start with https:// or http://': - 'HTTP relays must start with https:// or http://', - relayType_client_default: 'Client default', - relayType_open_from: 'Current feed', - relayType_favorite: 'Favorite', - relayType_relay_set: 'Relay set', - relayType_contextual: 'Reply/PM', - relayType_randomly_selected: 'Random (optional)', - 'Session relays': 'Session relays', - 'Session relays tab description': - 'Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish).', - 'Session relays preset working': 'Working preset relays', - 'Session relays preset working hint': - 'Preset relays (from app defaults) that have not reached 3 publish failures this session.', - 'Session relays preset striked': 'Striked preset relays', - 'Session relays preset striked hint': - 'Preset relays that have reached 3 publish failures this session and are skipped for the rest of the session.', - 'Session relays scored random': 'Scored random relays', - 'Session relays scored random hint': - 'Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.', - 'Session relays all striked': 'All striked relays (any source)', - 'Session relays clear strike': 'Allow again', - 'Session relays clear strike hint': - 'Remove this relay from the session block list; it will be used again until new connection failures.', - successes: 'successes', - None: 'None', - 'Cache & offline storage': 'Cache & offline storage', - feedStarting: 'Starting feeds and relays… This can take a few seconds after login.', - refreshCacheButtonExplainer: - 'Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.', - 'eventArchive.sectionTitle': 'Notes & feed archive', - 'eventArchive.sectionBlurb': - 'Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.', - 'eventArchive.defaultsMobile': - 'This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).', - 'eventArchive.defaultsElectron': - 'Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.defaultsDesktopWeb': - 'Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.enablePersist': 'Persist feed events to disk', - 'eventArchive.maxMb': 'Max archive size (MB), blank = default for this device', - 'eventArchive.maxEvents': 'Max archived events, blank = default', - 'eventArchive.sessionLru': 'In-memory session cache (event count), blank = default', - 'eventArchive.effectiveSummary': - 'Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.', - 'eventArchive.on': 'on', - 'eventArchive.off': 'off', - 'eventArchive.apply': 'Apply cache settings', - 'eventArchive.appliedToast': 'Cache settings saved. Session memory updated.', - 'Paste or drop media files to upload': 'Cole ou arraste arquivos de mídia para fazer upload', - Preview: 'Pré-visualização', - 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'Você está prestes a publicar um evento assinado por [{{eventAuthorName}}]. Você está atualmente logado como [{{currentUsername}}]. Tem certeza?', - 'Platinum Sponsors': 'Patrocinadores Platinum', - From: 'Fonte', - 'Comment on': 'Comentando', - 'View on njump.me': 'Ver em njump.me', - 'Hide content from untrusted users': 'Ocultar conteúdo de usuários não confiáveis', - 'Only show content from your followed users and the users they follow': - 'Mostrar apenas conteúdo dos usuários que você segue e dos usuários que eles seguem', - 'Followed by': 'Seguido por', - 'Mute user privately': 'Silenciar usuário privadamente', - 'Mute user publicly': 'Silenciar usuário publicamente', - Quotes: 'Citações', - 'Lightning Invoice': 'Fatura Lightning', - 'Bookmark failed': 'Falha ao favoritar', - 'Remove bookmark failed': 'Falha ao remover favorito', - Translation: 'Tradução', - Balance: 'Saldo', - characters: 'caracteres', - translateApiKeyDescription: - 'Esta chave API pode ser usada em qualquer outro lugar que suporte LibreTranslate. O URL do serviço é {{serviceUrl}}', - 'Top up': 'Carregar saldo', - 'Will receive: {n} characters': 'Receberá: {{n}} caracteres', - 'Top up {n} sats': 'Carregar {{n}} sats', - 'Minimum top up is {n} sats': 'Carregamento mínimo é {{n}} sats', - Service: 'Serviço', - 'Reset API key': 'Redefinir chave API', - 'Are you sure you want to reset your API key? This action cannot be undone.': - 'Tem certeza de que deseja redefinir sua chave API? Esta ação não pode ser desfeita.', - Warning: 'Aviso', - 'Errors & warnings': 'Errors & warnings', - 'Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.': - 'Sua chave API atual se tornará inválida imediatamente, e qualquer aplicativo que a utilize deixará de funcionar até que você os atualize com a nova chave.', - 'Service address': 'Endereço do serviço', - Pay: 'Pagar', - interactions: 'interações', - notifications: 'notificações', - notificationsViewAsAccount: 'View as', - notificationsViewAsAccountAria: - 'Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.', - notificationsSwitchAccountFailed: - 'Could not switch account. Check your signer, password, or extension and try again.', - 'Show untrusted {type}': 'Mostrar {{type}} não confiáveis', - 'Hide untrusted {type}': 'Ocultar {{type}} não confiáveis', - 'Currently hiding {type} from untrusted users.': - 'Atualmente ocultando {{type}} de usuários não confiáveis.', - 'Currently showing all {type}.': 'Atualmente mostrando todas as {{type}}.', - 'Click continue to show all {type}.': 'Clique em continuar para mostrar todas as {{type}}.', - 'Click continue to hide {type} from untrusted users.': - 'Clique em continuar para ocultar {{type}} de usuários não confiáveis.', - 'Trusted users include people you follow and people they follow.': - 'Usuários confiáveis incluem pessoas que você segue e pessoas que elas seguem.', - Continue: 'Continuar', - 'Successfully updated mute list': 'Lista de silenciados atualizada com sucesso', - 'No pubkeys found from {url}': 'Nenhum pubkey encontrado em {{url}}', - 'Translating...': 'Traduzindo...', - Translate: 'Traduzir', - 'Show original': 'Mostrar original', - Website: 'Website', - 'Hide untrusted notes': 'Ocultar notas não confiáveis', - 'Open in another client': 'Abrir em outro cliente', - Community: 'Comunidade', - Group: 'Grupo', - 'Live event': 'Evento ao vivo', - Article: 'Artigo', - Unfavorite: 'Desfavoritar', - 'Recommended relays': 'Relays recomendados', - 'Show recommended relays panel': 'Show recommended relays panel', - 'Display the right-side panel with recommended relays on desktop': - 'Display the right-side panel with recommended relays on desktop', - 'Blossom server URLs': 'URLs do servidor Blossom', - 'You need to add at least one blossom server in order to upload media files.': - 'Você precisa adicionar pelo menos um servidor Blossom para poder carregar arquivos de mídia.', - 'Recommended blossom servers': 'Servidores Blossom recomendados', - 'Enter Blossom server URL': 'Inserir URL do servidor Blossom', - Preferred: 'Preferido', - 'Multiple choice (select one or more)': 'Múltipla escolha (selecione um ou mais)', - Vote: 'Votar', - '{{number}} votes': '{{number}} votos', - 'Total votes': 'Total de votos', - 'Poll has ended': 'A enquete terminou', - 'Poll ends at {{time}}': 'A enquete termina em {{time}}', - 'Load results': 'Carregar resultados', - 'This is a poll note.': 'Esta é uma nota de enquete.', - 'Unlike regular notes, polls are not widely supported and may not display on other clients.': - 'Ao contrário das notas regulares, as enquetes não são amplamente suportadas e podem não ser exibidas em outros clientes.', - 'Option {{number}}': 'Opção {{number}}', - 'Add Option': 'Adicionar Opção', - 'Allow multiple choices': 'Permitir múltiplas escolhas', - 'End Date (optional)': 'Data de término (opcional)', - 'Clear end date': 'Limpar data de término', - 'Relay URLs (optional, comma-separated)': 'URLs de relay (opcional, separadas por vírgulas)', - 'Remove poll': 'Remover enquete', - 'Refresh results': 'Atualizar resultados', - '{{votes}} · {{pct}}%': '{{votes}} · {{pct}}%', - 'See results': 'See results', - 'Zap poll (paid votes)': 'Zap poll (paid votes)', - 'Invalid zap poll': 'Invalid zap poll', - 'You voted on this poll (zap receipt)': 'You voted on this poll (zap receipt)', - 'Poll closed {{time}}': 'Poll closed {{time}}', - 'Closes {{time}}': 'Closes {{time}}', - 'Vote size': 'Vote size', - '{{n}} sats (fixed)': '{{n}} sats (fixed)', - '{{min}}–{{max}} sats': '{{min}}–{{max}} sats', - '≥ {{n}} sats': '≥ {{n}} sats', - '≤ {{n}} sats': '≤ {{n}} sats', - 'Loading tally…': 'Loading tally…', - 'Zap poll no votes yet': - 'No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).', - 'Consensus threshold': 'Consensus threshold', - 'Pay to': 'Pay to', - Recipient: 'Recipient', - Option: 'Option', - 'Select option': 'Select option', - 'Select an option': 'Select an option', - 'Vote with zap': 'Vote with zap', - 'Zap sent': 'Zap sent', - 'Zapping…': 'Zapping…', - 'Refresh tally': 'Refresh tally', - '{{n}} zaps': '{{n}} zaps', - Poll: 'Enquete', - Media: 'Mídia', - 'Articles and Publications': 'Articles and Publications', - 'Search articles...': 'Search articles...', - 'Refreshing articles...': 'Refreshing articles...', - 'No articles or publications found': 'No articles or publications found', - 'No articles or publications match your search': - 'No articles or publications match your search', - 'articles and publications': 'articles and publications', - Interests: 'Interests', - Calendar: 'Calendar', - 'No subscribed interests yet.': - 'No subscribed interests yet. Add topics in settings to see them here.', - 'No bookmarked notes with id tags yet.': - 'No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.', - 'No follows or relays to load yet.': 'No follows or relays to load yet.', - 'Nothing to load for this feed.': 'Nothing to load for this feed.', - 'No posts loaded for this feed. Try refreshing.': - 'No posts loaded for this feed. Try refreshing.', - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.': - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.', - 'Per-relay timeline results ({{count}} connections)': - 'Per-relay timeline results ({{count}} connections)', - 'Republish to ...': 'Republicar em ...', - 'All available relays': 'All available relays', - 'All active relays (monitoring list)': 'All active relays (monitoring list)', - 'Successfully republish to all available relays': - 'Successfully republish to all available relays', - 'Failed to republish to all available relays: {{error}}': - 'Failed to republish to all available relays: {{error}}', - 'Successfully republish to all active relays': 'Successfully republish to all active relays', - 'Failed to republish to all active relays: {{error}}': - 'Failed to republish to all active relays: {{error}}', - 'No active relays in monitoring list': 'No active relays in monitoring list', - 'No relay accepted the event': 'No relay accepted the event', - 'No relays available': 'No relays available', - 'No write relays configured': 'No write relays configured', - 'Relay did not accept the event': 'Relay did not accept the event', - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".': - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".', - 'Successfully republish to your write relays': 'Successfully republish to your write relays', - 'Failed to republish to your write relays: {{error}}': - 'Failed to republish to your write relays: {{error}}', - 'Successfully republish to relay set: {{name}}': - 'Successfully republish to relay set: {{name}}', - 'Failed to republish to relay set: {{name}}. Error: {{error}}': - 'Failed to republish to relay set: {{name}}. Error: {{error}}', - 'Successfully republish to relay: {{url}}': 'Successfully republish to relay: {{url}}', - 'Failed to republish to relay: {{url}}. Error: {{error}}': - 'Failed to republish to relay: {{url}}. Error: {{error}}', - 'Write relays': 'Relays de escrita', - 'No more reactions': 'Sem mais reações', - 'No reactions yet': 'Ainda sem reações', - 'No more zaps': 'Sem mais zaps', - 'No zaps yet': 'Ainda sem zaps', - 'No more boosts': 'Sem mais boosts', - 'No boosts yet': 'Ainda sem boosts', - 'n more boosts': '{{count}} more boosts', - FollowListNotFoundConfirmation: - 'Lista de seguindo não encontrada. Deseja criar uma nova? Se você seguiu usuários antes, por favor NÃO confirme, pois esta operação fará você perder sua lista de seguindo anterior.', - MuteListNotFoundConfirmation: - 'Lista de silenciados não encontrada. Deseja criar uma nova? Se você silenciou usuários antes, por favor NÃO confirme, pois esta operação fará você perder sua lista de silenciados anterior.', - 'Show NSFW content by default': 'Mostrar conteúdo NSFW por padrão', - 'Custom emoji management': 'Gerenciamento de emojis personalizados', - 'After changing emojis, you may need to refresh the page': - 'Após alterar os emojis, você pode precisar atualizar a página', - 'Too many read relays': 'Muitos relays de leitura', - 'Too many write relays': 'Muitos relays de escrita', - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'Você tem {{count}} relays de leitura. A maioria dos clientes usa apenas 2-4 relays, configurar mais é desnecessário.', - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'Você tem {{count}} relays de escrita. A maioria dos clientes usa apenas 2-4 relays, configurar mais é desnecessário.', - 'Optimize Relay Settings': 'Otimizar configurações de relay', - 'Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.': - 'Sua configuração atual de relay pode não ser ideal. Isso pode tornar difícil para outros encontrarem suas postagens e pode resultar em notificações incompletas.', - 'Optimize Now': 'Otimizar agora', - 'Maybe Later': 'Talvez mais tarde', - "Don't remind me again": 'Não me lembrar novamente', - Posts: 'Notas', - 'Posts (OPs)': 'Posts (OPs)', - 'Kind 1 replies': 'Kind 1 replies', - Comments: 'Comments', - 'Replies & comments': 'Replies & comments', - Articles: 'Artigos', - Highlights: 'Marcações', - 'A note from': 'A note from', - Polls: 'Enquetes', - 'Zap polls': 'Zap polls', - 'Voice Posts': 'Áudios', - 'Photo Posts': 'Fotos', - 'Video Posts': 'Vídeos', - 'Git repositories': 'Git repositories', - 'Git issues': 'Git issues', - 'Git releases': 'Git releases', - 'Git Republic repository': 'Git Republic repository', - 'Git Republic issue': 'Git Republic issue', - 'Git Republic release': 'Git Republic release', - 'Git Republic event': 'Git Republic event', - 'Git Republic': 'Git Republic', - 'Open in Git Republic': 'Open in Git Republic', - 'Pre-release': 'Pre-release', - Draft: 'Draft', - 'Repository release': 'Repository release', - 'New Repository Release': 'New Repository Release', - 'Release notes use the editor below (optional).': - 'Release notes use the editor below (optional).', - 'Repository owner (npub or hex)': 'Repository owner (npub or hex)', - 'Repository id (d-tag)': 'Repository id (d-tag)', - 'Git tag name': 'Git tag name', - 'Tag target (40-char commit hash)': 'Tag target (40-character commit hash)', - '40-character hex SHA-1': '40-character hex SHA-1', - 'Release title': 'Release title', - 'Download URL': 'Download URL', - 'Draft release': 'Draft release', - 'Fill repository release fields': 'Fill in all required repository release fields.', - 'Invalid repository owner pubkey': 'Invalid repository owner (use npub or 64-char hex).', - 'Citations require private relays (NIP-65).': - 'Citations require private outbox relays (NIP-65).', - 'Select All': 'Selecionar tudo', - 'Clear All': 'Limpar tudo', - 'Set as default filter': 'Definir como filtro padrão', - 'Use filter': 'Use filter', - 'See all events': 'See all events', - 'See all events hint': - 'Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.', - 'Use filter hint': 'Only the kinds you select below are requested and shown.', - Apply: 'Aplicar', - Reset: 'Redefinir', - 'Share something on this Relay': 'Compartilhe algo neste Relay', - 'Try deleting this note': 'Solicitar exclusão desta nota', - 'Deletion request sent to {{count}} relays': 'Pedido de exclusão enviado para {{count}} relays', - 'Suitable Relays': 'Relays adequados', - 'People, keywords, or relays': 'Pessoas, palavras-chave ou relays', - 'Hide content mentioning muted users': 'Ocultar conteúdo que menciona usuários silenciados', - 'This note mentions a user you muted': 'Esta nota menciona um usuário que você silenciou', - Filter: 'Filtro', - 'Feed filter': 'Feed filter', - 'Search loaded posts': 'Search loaded posts', - 'Filter loaded posts placeholder': 'Filter by text in content or tags…', - 'Feed filter author': 'Author', - 'Feed filter author everyone': 'From everyone', - 'Feed filter author me': 'Only from me', - 'Feed filter author npub': 'From user (npub or hex)', - 'Feed filter author npub from prefix': 'from:', - 'Feed filter author npub placeholder': 'npub1… or 64-char hex', - 'Feed filter author me needs login': 'Log in to filter by your pubkey', - 'Within the last': 'Within the last', - 'Time unit': 'Time unit', - Minutes: 'Minutes', - Days: 'Days', - Weeks: 'Weeks', - Months: 'Months', - Years: 'Years', - 'Feed filter client-side hint': - 'Filters only apply to posts already loaded; relays are not queried again.', - 'Feed full search': 'Perform full search', - 'Feed full search running': 'Searching…', - 'Feed full search clear': 'Clear', - 'Feed full search active hint': - 'Showing relay search results. Clear to return to the live feed.', - 'Feed full search need constraint': - 'Add search text, an author filter, or a time range before searching relays.', - 'Feed full search invalid feed': 'This feed cannot run a relay search.', - 'Feed full search failed': 'Relay search failed. Try again.', - 'Feed full search empty': 'No matching posts were found on the queried relays.', - 'No loaded posts match your filters.': 'No loaded posts match your filters.', - 'mentioned you in a note': 'mencionou você em uma nota', - 'quoted your note': 'citou sua nota', - 'quoted this note': 'Quoted this note', - 'highlighted this note': 'Highlighted this note', - 'cited in article': 'Cited in article', - 'Thread backlinks heading': 'Also quoting this note', - 'Thread backlinks primary section': 'Quotes, highlights & citations', - 'Thread backlinks bookmarks section': 'Bookmarks', - 'Thread backlinks lists section': 'Lists & collections', - 'View full note and thread': 'View full note and thread', - 'labeled this note': 'Labeled this note', - 'reported this note': 'Reported this note', - 'bookmarked this note': 'Bookmarked this note', - 'pinned this note': 'Pinned this note', - 'listed this note': 'Listed this note', - 'bookmark set reference': 'Bookmark set includes this note', - 'curated this note': 'Curated this note', - 'badge award for this note': 'Badge award for this note', - 'referenced this note': 'Referenced this note', - 'Report events heading': 'Moderation reports', - 'voted in your poll': 'votou na sua enquete', - 'reacted to your note': 'reagiu à sua nota', - 'boosted your note': 'deu boost na sua nota', - 'zapped your note': 'zappeou sua nota', - 'zapped you': 'zappeou você', - zapped: 'zapped', - 'Invalid zap receipt': 'Invalid zap receipt', - 'Zapped note': 'Zapped note', - 'Zapped profile': 'Zapped profile', - 'Zap reply threshold': 'Zap reply threshold', - 'Zaps above this amount will appear as replies in threads': - 'Zaps above this amount will appear as replies in threads', - 'Mark as read': 'Marcar como lida', - Report: 'Denunciar', - 'Successfully report': 'Denúncia enviada com sucesso', - 'Failed to report': 'Falha ao enviar denúncia', - nudity: 'Nudez', - malware: 'Malware', - profanity: 'Blasfêmia', - illegal: 'Conteúdo ilegal', - spam: 'Spam', - other: 'Outro', - 'Notification list style': 'Estilo da lista de notificações', - 'See extra info for each notification': 'Ver informações extras para cada notificação', - 'See more notifications at a glance': 'Ver mais notificações rapidamente', - Detailed: 'Detalhado', - 'Submit Relay': 'Enviar Relay', - Homepage: 'Página inicial', - 'Proof of Work (difficulty {{minPow}})': 'Prova de Trabalho (dificuldade {{minPow}})', - 'via {{client}}': 'via {{client}}', - 'Auto-load media': 'Carregamento automático de mídia', - Always: 'Sempre', - 'Wi-Fi only': 'Apenas Wi-Fi', - Never: 'Nunca', - 'Click to load image': 'Carregar imagem', - 'Click to load media': 'Carregar mídia', - 'Click to load YouTube video': 'Carregar vídeo do YouTube', - '{{count}} reviews': '{{count}} avaliações', - 'Write a review': 'Escrever uma avaliação', - 'No reviews yet. Be the first to write one!': - 'Ainda não há avaliações. Seja o primeiro a escrever uma!', - 'View more reviews': 'Ver mais avaliações', - 'Failed to review': 'Falha ao avaliar', - 'Write a review and pick a star rating': - 'Escreva uma avaliação e escolha uma classificação por estrelas', - Submit: 'Enviar', - 'Reviews for {{relay}}': 'Avaliações para {{relay}}', - 'No relays selected': 'Nenhum relay selecionado', - 'Post to': 'Postar em', - 'Write relays and {{count}} other relays': 'Relays de escrita e {{count}} outros relays', - '{{count}} relays': '{{count}} relays', - 'Republishing...': 'Republicando...', - 'Trending Notes': 'Notas em tendência', - 'Trending on Your Favorite Relays': 'Trending on Your Favorite Relays', - 'Trending on the Default Relays': 'Trending on the Default Relays', - 'Latest from your follows': 'Latest from your follows', - 'Latest from our recommended follows': 'Latest from our recommended follows', - 'Follows latest page title': 'Latest from follows', - 'Follows latest page description': - 'Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.', - 'Follows latest nav label': 'Follows latest', - 'Loading follow list…': 'Loading follow list…', - 'Could not load recommended follows': 'Could not load recommended follows', - 'Your follow list is empty': 'Your follow list is empty', - 'Loading recent posts from follows…': 'Loading recent posts from follows…', - 'Loading more…': 'Loading more…', - 'No recent posts from this user in the current fetch': - 'No recent posts from this user in the current fetch', - 'Loading trending notes from your relays...': 'Loading trending notes from your relays...', - Sort: 'Sort', - newest: 'newest', - oldest: 'oldest', - 'most popular': 'most popular', - 'least popular': 'least popular', - 'Connected to': 'Conectado a', - 'Disconnect Wallet': 'Desconectar carteira', - 'Are you absolutely sure?': 'Você tem certeza absoluta?', - 'You will not be able to send zaps to others.': 'Você não poderá enviar zaps para outros.', - Disconnect: 'Desconectar', - 'Set up your wallet to send and receive sats!': - 'Configure sua carteira para enviar e receber sats!', - 'Set up': 'Configurar', - 'nested events': 'nested events', - 'Loading RSS feeds...': 'Loading RSS feeds...', - 'No RSS feed items available': 'No RSS feed items available', - 'Show or hide the RSS page and sidebar entry': 'Show or hide the RSS page and sidebar entry', - 'Refreshing feeds...': 'Refreshing feeds...', - 'All feeds': 'All feeds', - 'All time': 'All time', - 'Last hour': 'Last hour', - 'Last day': 'Last day', - 'Last week': 'Last week', - 'Last month': 'Last month', - 'Last 24 hours': 'Last 24 hours', - 'Last 48 hours': 'Last 48 hours', - 'Time range': 'Time range', - 'Filter by RSS source': 'Filter by RSS source', - 'No items match your filters': 'No items match your filters', - 'Search...': 'Search...', - '{{count}} feeds': '{{count}} feeds', - 'Toggle filters': 'Toggle filters', - 'Showing {{filtered}} of {{total}} items': 'Showing {{filtered}} of {{total}} items', - Full: 'Full', - Compact: 'Compacto', - Expand: 'Expand', - 'help.title': 'Help', - 'help.tabShortcuts': 'Keyboard shortcuts', - 'help.tabOverview': 'App overview', - 'shortcuts.title': 'Keyboard shortcuts', - 'shortcuts.intro': - 'Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.', - 'shortcuts.sectionApp': 'This app', - 'shortcuts.sectionSearch': 'Search bar', - 'shortcuts.sectionStandard': 'Standard', - 'shortcuts.openHelp': 'Show this help', - 'shortcuts.or': 'or', - 'shortcuts.then': 'then', - 'shortcuts.focusPrimary': - 'Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)', - 'shortcuts.focusSecondary': - 'Focus side panel scroll when it is open (desktop; same keys to scroll)', - 'shortcuts.newNote': 'New note / post (after login if needed)', - 'shortcuts.searchSuggest': 'Move through suggestions', - 'shortcuts.searchDismiss': 'Close search dropdown', - 'shortcuts.tabNavigate': 'Move focus to the next or previous control', - 'shortcuts.activate': 'Activate buttons and many controls', - 'shortcuts.closeOverlays': 'Close dialogs, menus, and the search dropdown', - 'shortcuts.scrollWhenFocused': 'Scroll the focused scrollable area', - 'shortcuts.browserBack': 'Browser back (history)', - 'No spells yet. Create one with the button above.': - 'No spells yet. Create one with the button above.', - 'Loading spells from your relays…': 'Loading spells from your relays…', - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.': - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.', - 'Select a spell…': 'Select a spell…', - 'Spells from follows': 'From people you follow ({{count}})', - 'Other spells': 'Other spells ({{count}})', - 'Select a spell to view its feed.': 'Select a spell to view its feed.', - 'Add another row': 'Add another row', - 'Remove this row': 'Remove this row', - 'One kind number per row (e.g. 1 for notes).': 'One kind number per row (e.g. 1 for notes).', - 'One author per row: $me, $contacts, or hex pubkey / npub.': - 'One author per row: $me, $contacts, or hex pubkey / npub.', - 'One hex event id per row.': 'One hex event id per row.', - 'One wss:// URL per row. Leave empty to use your write relays.': - 'One wss:// URL per row. Leave empty to use your write relays.', - 'One topic per row.': 'One topic per row.', - topic: 'topic', - 'Spell form fields': 'Spell form fields', - 'Counting matching events…': 'Counting matching events…', - 'Edit spell': 'Edit spell', - 'Clone spell': 'Clone spell', - 'Spell cloned': 'Spell cloned', - 'Clone spell intro': - 'This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.', - 'Spell updated': 'Spell updated', - 'Relay URL': 'Relay', - Count: 'Count', - 'Edit spell relays': 'Edit relays', - 'COUNT spell relay errors hint': - 'One or more relays failed or returned an error. You can change the relay list in the spell and save again.', - 'COUNT spell total distinct explanation': - 'Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.', - 'Leave empty to use your write relays.': 'Leave empty to use your write relays.', - 'COUNT spell result explanation': - 'Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.', - 'COUNT spell may be capped by limit': - 'This count may equal your spell limit — there could be more matching events on the network.', - 'Spell count failed. Check relays or try again.': - 'Could not complete the count. Check relays or try again.', - 'REQ returns a feed; COUNT returns a number.': - 'REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.', - listImportManualLabel: 'Pre-fill from event', - listImportFromEventHint: - 'Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.', - listImportManualPlaceholder: '64-char hex, nevent1…, or naddr1…', - listImportLoadManual: 'Apply', - listImportContentSkipped: - 'This event has non-empty content (may include encrypted private items). Only public tags were merged.', - listImportUnsupportedEmoji: - 'This list includes emoji tags (NIP-30); those are not added to the spell filter.', - listImportUnsupportedTag: - 'Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.', - listImportBadATag: 'Could not parse address tag: {{preview}}…', - listImportATagNotFound: 'Could not resolve address tag: {{preview}}…', - listImportATagFailed: 'Failed to resolve address tag: {{preview}}…', - listImportEventNotFound: 'No event found for that reference.', - 'REQ tag filters': 'REQ tag filters', - spellFormTagFiltersLabel: 'Tag filters on matching events', - spellCreateIntro: - 'Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.', - spellFormSectionQueryTitle: 'Spell query', - spellFormSectionQueryHint: - 'This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).', - spellFormSectionMetadataTitle: 'Listing & labels (optional)', - spellFormSectionMetadataBadge: 'Not part of the query', - spellFormSectionMetadataHint: - 'Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.', - spellFormCatalogTopicsLabel: 'Topic labels on this spell (t tags)', - spellTopicsMetadataHint: - 'One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).', - spellTagFiltersHint: - 'Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.', - spellTagFiltersEmpty: 'No tag filters yet. Add rows below or apply an event reference above.', - 'Tag filter letter': 'Tag letter', - 'Filter value': 'Value', - 'Add tag filter': 'Add tag filter', - spellPickerSectionYours: 'Your spells', - 'Failed to remove spell from local storage': 'Failed to remove spell from local storage', - Spells: 'Spells', - 'doublePane.secondaryEmpty': 'Open a note, profile, or settings item to show it here.', - 'doublePane.secondaryEmptyHint': 'Your feed and primary pages stay on the left.', - '(empty)': '(empty)', - '12-hour (AM/PM)': '12-hour (AM/PM)', - '24-hour': '24-hour', - 'A new version is available': 'A new version is available', - 'A short description of the article content': 'A short description of the article content', - AM: 'AM', - 'Access via': 'Access via', - 'Accessed On': 'Accessed On', - 'Accessed on': 'Accessed on', - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.': - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.', - 'Add a relay to block': 'Add a relay to block', - 'Add at least one invitee': 'Add at least one invitee', - 'Add client identifier': 'Add client identifier', - 'Add expiration tags by default': 'Add expiration tags by default', - 'Add quiet tags by default': 'Add quiet tags by default', - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above': - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above', - 'Add the source (where this text is from)': 'Add the source (where this text is from)', - 'Add to favorites': 'Add to favorites', - 'Add {{count}} Selected': 'Add {{count}} Selected', - 'Added at': 'Added at', - 'Added {{count}} relay(s)': 'Added {{count}} relay(s)', - 'Adding...': 'Adding...', - 'Adding…': 'Adding…', - 'Advanced Options': 'Advanced Options', - 'All Topics': 'All Topics', - 'All feeds from OPML file are already added': 'All feeds from OPML file are already added', - 'All items deleted successfully': 'All items deleted successfully', - 'Already blocked': 'Already blocked', - 'Already saved': 'Already saved', - 'Application Recommendations': 'Application Recommendations', - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.': - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.', - 'Are you sure you want to delete all items from this store?': - 'Are you sure you want to delete all items from this store?', - 'Are you sure you want to unmute this user? This will restore the follow button.': - 'Are you sure you want to unmute this user? This will restore the follow button.', - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", - 'Article exported as AsciiDoc': 'Article exported as AsciiDoc', - 'Article exported as Markdown': 'Article exported as Markdown', - 'Article title (optional)': 'Article title (optional)', - articleDTagDefaultHint: - 'Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….', - Audio: 'Audio', - Author: 'Author', - 'Author is required for reading groups': 'Author is required for reading groups', - 'Author name (optional)': 'Author name (optional)', - Authors: 'Authors', - 'Block Relay': 'Block Relay', - 'Blocked Relays': 'Blocked Relays', - 'Blocking...': 'Blocking...', - Blossom: 'Blossom', - Book: 'Book', - 'Brief description of the event': 'Brief description of the event', - 'Brief summary (optional)': 'Brief summary (optional)', - 'Brief summary of the article (optional)': 'Brief summary of the article (optional)', - 'Browse Cache': 'Browse Cache', - 'C-Tag': 'C-Tag', - 'Cache Relays': 'Cache Relays', - 'Cache cleared successfully': 'Cache cleared successfully', - 'Cache refreshed successfully': 'Cache refreshed successfully', - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.': - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.', - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)': - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)', - 'Cache relays saved': 'Cache relays saved', - Cancelled: 'Cancelled', - Chapter: 'Chapter', - 'Chapter Title': 'Chapter Title', - 'Chapter title (optional)': 'Chapter title (optional)', - Citation: 'Citation', - 'Citation title (optional)': 'Citation title (optional)', - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.': - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})', - 'Cleanup Duplicates': 'Cleanup Duplicates', - Clear: 'Clear', - 'Clear Cache': 'Clear Cache', - 'Clear Service Worker': 'Clear Service Worker', - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.': - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.', - 'Click update to get the latest features and improvements': - 'Click update to get the latest features and improvements', - Close: 'Close', - 'Comma or space-separated topics (will be added as t-tags)': - 'Comma or space-separated topics (will be added as t-tags)', - Command: 'Command', - Configure: 'Configure', - 'Connect Wallet': 'Connect Wallet', - 'Console Logs': 'Console Logs', - 'Console logs cleared': 'Console logs cleared', - 'Content is required': 'Content is required', - 'Content must be 5000 characters or less': 'Content must be 5000 characters or less', - Controversial: 'Controversial', - 'Copied!': 'Copied!', - 'Copy to clipboard': 'Copy to clipboard', - 'Create Article': 'Create Article', - 'Create Citation': 'Create Citation', - 'Create Highlight': 'Create Highlight', - 'Create New Thread': 'Create New Thread', - 'Create Poll': 'Create Poll', - 'Create Thread': 'Create Thread', - composeModeKind1: 'Short note (kind 1) — turn off other compose types', - 'Create a Spell': 'Create a Spell', - 'Creating...': 'Creating...', - 'D-Tag': 'D-Tag', - 'D-Tag is required for articles': 'D-Tag is required for articles', - DOI: 'DOI', - 'Date-based (all-day)': 'Date-based (all-day)', - 'Default expiration (months)': 'Default expiration (months)', - 'Default quiet period (days)': 'Default quiet period (days)', - 'Delete All': 'Delete All', - 'Delete item': 'Delete item', - 'Deleted {{count}} event(s)': 'Deleted {{count}} event(s)', - 'Deletion request sent': 'Deletion request sent', - 'Description (content)': 'Description (content)', - 'Digital Object Identifier (optional)': 'Digital Object Identifier (optional)', - 'Disable word wrap': 'Disable word wrap', - 'Discovered Relays': 'Discovered Relays', - 'Discovering relays...': 'Discovering relays...', - Discussion: 'Discussion', - Discussions: 'Discussions', - Downvote: 'Downvote', - 'Edited by': 'Edited by', - Editor: 'Editor', - 'Editor name (optional)': 'Editor name (optional)', - 'Enable word wrap': 'Enable word wrap', - 'End date': 'End date', - 'End date must be after start date': 'End date must be after start date', - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.': - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.', - 'Enter a descriptive title for your thread': 'Enter a descriptive title for your thread', - 'Enter the author name': 'Enter the author name', - 'Enter the book title': 'Enter the book title', - 'Enter the specific text you want to highlight in the main content area above': - 'Enter the specific text you want to highlight in the main content area above', - 'Event IDs (ids)': 'Event IDs (ids)', - 'Event appears to be invalid or corrupted': 'Event appears to be invalid or corrupted', - 'Event has no value data': 'Event has no value data', - 'Event is missing required fields: {{fields}}': 'Event is missing required fields: {{fields}}', - 'Event type': 'Event type', - 'Expiration Tags': 'Expiration Tags', - 'Export OPML': 'Export OPML', - 'Export as AsciiDoc': 'Export as AsciiDoc', - 'Export as Markdown': 'Export as Markdown', - 'External Citation': 'External Citation', - 'External Citation Settings': 'External Citation Settings', - 'Failed to add relay. Please try again.': 'Failed to add relay. Please try again.', - 'Failed to add relays': 'Failed to add relays', - 'Failed to block relay. Please try again.': 'Failed to block relay. Please try again.', - 'Failed to cleanup duplicates': 'Failed to cleanup duplicates', - 'Failed to clear cache': 'Failed to clear cache', - 'Failed to copy': 'Failed to copy', - 'Failed to create relay set. Please try again.': - 'Failed to create relay set. Please try again.', - 'Failed to create thread': 'Failed to create thread', - 'Failed to create thread. Please try a different relay.': - 'Failed to create thread. Please try a different relay.', - 'Failed to delete all items': 'Failed to delete all items', - 'Failed to delete item': 'Failed to delete item', - 'Failed to discover relays': 'Failed to discover relays', - 'Failed to export OPML file': 'Failed to export OPML file', - 'Failed to export article': 'Failed to export article', - 'Failed to import OPML file: {{error}}': 'Failed to import OPML file: {{error}}', - 'Failed to load RSS feeds': 'Failed to load RSS feeds', - 'Failed to load store items': 'Failed to load store items', - 'Failed to mute user privately': 'Failed to mute user privately', - 'Failed to mute user publicly': 'Failed to mute user publicly', - 'Failed to pin note': 'Failed to pin note', - 'Failed to publish post': 'Failed to publish post', - 'Failed to publish reply': 'Failed to publish reply', - 'Failed to publish thread': 'Failed to publish thread', - 'Failed to publish to some relays. Please try again or use different relays.': - 'Failed to publish to some relays. Please try again or use different relays.', - 'Failed to save RSS feeds': 'Failed to save RSS feeds', - 'Failed to save cache relays': 'Failed to save cache relays', - 'Failed to save relay list': 'Failed to save relay list', - 'Failed to unregister service worker: ': 'Failed to unregister service worker: ', - 'Failed to unsubscribe from topic': 'Failed to unsubscribe from topic', - Favorite: 'Favorite', - Fetch: 'Fetch', - 'Fetch once, then stop.': 'Fetch once, then stop.', - 'Filter by': 'Filter by', - 'Flat View': 'Flat View', - 'Font size': 'Font size', - 'Full Quote/Context': 'Full Quote/Context', - 'Full-text search query': 'Full-text search query', - Geohash: 'Geohash', - 'Geohash (optional)': 'Geohash (optional)', - 'Global quiet mode': 'Global quiet mode', - 'Group discussions by topic': 'Group discussions by topic', - 'Grouped View': 'Grouped View', - Groups: 'Groups', - 'Handler {{index}}': 'Handler {{index}}', - 'Hardcopy Citation': 'Hardcopy Citation', - 'Hardcopy Citation Settings': 'Hardcopy Citation Settings', - Hide: 'Hide', - 'Hide interactions on all posts': 'Hide interactions on all posts', - 'Hide interactions on posts with quiet tags': 'Hide interactions on posts with quiet tags', - 'High PoW': 'High PoW', - 'Higher values make your thread harder to mine but more unique.': - 'Higher values make your thread harder to mine but more unique.', - Highlight: 'Highlight', - 'Highlight Settings': 'Highlight Settings', - 'How to Create a Highlight (NIP-84)': 'How to Create a Highlight (NIP-84)', - 'Human-readable spell name': 'Human-readable spell name', - 'Image URL': 'Image URL', - 'Import OPML': 'Import OPML', - 'Imported {{count}} feed(s) from OPML file': 'Imported {{count}} feed(s) from OPML file', - 'In-Browser Cache': 'In-Browser Cache', - Insert: 'Insert', - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).': - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).', - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.': - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.', - 'Insert event or address': 'Insert event or address', - 'Insert mention': 'Insert mention', - 'Internal Citation': 'Internal Citation', - 'Internal Citation Settings': 'Internal Citation Settings', - 'Invalid Event': 'Invalid Event', - 'Invalid Lightning Address': 'Invalid Lightning Address', - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.': - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.', - 'Invalid URL': 'Invalid URL', - 'Invalid content JSON': 'Invalid content JSON', - 'Invalid relay URL': 'Invalid relay URL', - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.': - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.', - 'Item deleted successfully': 'Item deleted successfully', - JSON: 'JSON', - 'Join link': 'Join link', - 'Journal/Publication name (optional)': 'Journal/Publication name (optional)', - Json: 'JSON', - Kinds: 'Kinds', - 'Language Model': 'Language Model', - Large: 'Large', - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link': - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link', - 'Lightning payment failed': 'Lightning payment failed', - Limit: 'Limit', - 'Live feed; keeps updating.': 'Live feed; keeps updating.', - 'Loading more...': 'Loading more...', - 'Loading relays...': 'Loading relays...', - 'Location (optional)': 'Location (optional)', - 'Log in to run this spell (it uses $me or $contacts).': - 'Log in to run this spell (it uses $me or $contacts).', - 'Login failed': 'Login failed', - 'Login to configure RSS feeds': 'Login to configure RSS feeds', - 'Long-form Article': 'Long-form Article', - 'Mailbox relays saved': 'Mailbox relays saved', - 'Mark as NSFW': 'Mark as NSFW', - 'Maximum {{max}} invitees': 'Maximum {{max}} invitees', - 'Maximum {{max}} invitees allowed': 'Maximum {{max}} invitees allowed', - Medium: 'Medium', - Mode: 'Mode', - 'Most Zapped': 'Most Zapped', - 'Move to top': 'Move to top', - 'Multiple choice': 'Multiple choice', - 'Mute failed': 'Mute failed', - NSFW: 'NSFW', - Name: 'Name', - 'Name of the language model used': 'Name of the language model used', - 'New External Citation': 'New External Citation', - 'New Hardcopy Citation': 'New Hardcopy Citation', - 'New Highlight': 'New Highlight', - 'New Internal Citation': 'New Internal Citation', - 'New Long-form Article': 'New Long-form Article', - 'New Poll': 'New Poll', - 'New Discussion': 'New Discussion', - 'New Prompt Citation': 'New Prompt Citation', - 'New Public Message': 'New Public Message', - 'New Wiki Article': 'New Wiki Article', - 'New Wiki Article (Markdown)': 'New Wiki Article (Markdown)', - Newest: 'Newest', - 'No JSON available': 'No JSON available', - 'No RSS feeds found in OPML file': 'No RSS feeds found in OPML file', - 'No cached data found.': 'No cached data found.', - 'No console logs captured yet': 'No console logs captured yet', - 'No events found': 'No events found', - 'No feeds configured. Default feed will be used.': - 'No feeds configured. Default feed will be used.', - 'No feeds to export': 'No feeds to export', - 'No groups available. Join some groups first.': 'No groups available. Join some groups first.', - 'No items in this store.': 'No items in this store.', - 'No items match your search.': 'No items match your search.', - 'No logs match the current filters': 'No logs match the current filters', - 'No posts found': 'No posts found', - 'No posts match your search': 'No posts match your search', - 'No relays available. Please configure relays in settings.': - 'No relays available. Please configure relays in settings.', - 'No service workers or caches found for this app': - 'No service workers or caches found for this app', - 'No users found': 'No users found', - 'No valid RSS feed URLs found in OPML file': 'No valid RSS feed URLs found in OPML file', - 'Note pinned': 'Note pinned', - 'Note unpinned': 'Note unpinned', - Oldest: 'Oldest', - 'Open Timestamp': 'Open Timestamp', - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.': - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.', - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.': - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.', - Optional: 'Optional', - 'Optional image for the event': 'Optional image for the event', - 'Optionally, add the full quote/context to show your highlight within it': - 'Optionally, add the full quote/context to show your highlight within it', - PM: 'PM', - 'Page Range': 'Page Range', - Pages: 'Pages', - 'Paste URL of a GIF': 'Paste URL of a GIF', - 'Paste URL of a meme image': 'Paste URL of a meme image', - 'Paste the entire original passage that contains your highlight': - 'Paste the entire original passage that contains your highlight', - Photo: 'Photo', - 'Picture Note': 'Picture Note', - 'Pin note': 'Pin note', - 'Plain text description of the query': 'Plain text description of the query', - 'Please login to view bookmarks': 'Please login to view bookmarks', - 'Please select a group': 'Please select a group', - 'Please select at least one relay': 'Please select at least one relay', - 'Please set a start date': 'Please set a start date', - 'Poll with no options': 'Poll with no options', - 'Post published to some relays': 'Post published to some relays', - 'Posts will automatically include expiration tags': - 'Posts will automatically include expiration tags', - 'Posts will automatically include quiet tags': 'Posts will automatically include quiet tags', - 'Posts will be quiet for this many days': 'Posts will be quiet for this many days', - 'Posts will expire after this many months': 'Posts will expire after this many months', - 'Processing...': 'Processing...', - 'Profile event not available': 'Profile event not available', - 'Prompt Citation': 'Prompt Citation', - 'Prompt Citation Settings': 'Prompt Citation Settings', - 'Prompt Conversation Script': 'Prompt Conversation Script', - 'Proof of Work': 'Proof of Work', - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post': - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post', - 'Publish to Relays': 'Publish to Relays', - 'Published By': 'Published By', - 'Published In': 'Published In', - 'Published On': 'Published On', - 'Published in': 'Published in', - 'Published on': 'Published on', - 'Publisher name (optional)': 'Publisher name (optional)', - 'Quiet Tags': 'Quiet Tags', - 'RSS Feed': 'RSS Feed', - 'RSS + Web': 'RSS + Web', - 'RSS feed source': 'RSS feed source', - 'All feed sources': 'All feed sources', - 'RSS feed view mode': 'RSS feed view mode', - 'Article URLs': 'Article URLs', - 'Article URLs subtitle': - 'One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.', - 'Article URLs Nostr manual subtitle': - 'Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.', - 'RSS feed column title': 'RSS & linked articles', - 'RSS feed column subtitle': - 'Feed entries and article cards that include at least one item from your subscribed RSS feeds.', - 'RSS timeline': 'RSS timeline', - 'RSS timeline subtitle': - 'Every item from your subscribed feeds, newest first — classic RSS reader.', - URLs: 'URLs', - RSS: 'RSS', - 'No URL-only items yet': 'No URL-only items yet', - 'Respond to this RSS entry': 'Respond to this RSS entry', - 'RSS read-only thread hint': - 'Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.', - 'RSS feed item label': 'RSS', - 'Web URL item label': 'Web URL', - 'URL thread activity': 'URL thread activity', - 'Suppress Clawstr links in RSS previews': 'Hide clawstr.com in RSS and URL feed', - 'Hide local, media & feed URLs from URL cards': - 'Hide local, media, feed, document & XML links from the feed', - 'RSS articles': 'RSS articles', - 'Web comments': 'Web comments', - 'Web highlights': 'Web highlights', - 'In your bookmarks': 'In your bookmarks', - '{{count}} RSS entries for this URL': '{{count}} RSS entries for this URL', - '{{count}} entries for this article URL': '{{count}} entries for this article URL', - 'No comments yet': 'No comments yet', - 'No highlights yet': 'No highlights yet', - 'Showing {{filtered}} of {{total}} entries': 'Showing {{filtered}} of {{total}} entries', - standardRssFeed_spotifeed: 'Spotify playlist (Spotifeed)', - standardRssFeed_youtube: 'YouTube feed', - standardRssFeed_youtubeChannel: 'YouTube channel feed', - standardRssFeed_youtubePlaylist: 'YouTube playlist feed', - standardRssFeed_feedburner: 'FeedBurner', - standardRssFeed_reddit: 'Reddit RSS', - standardRssFeed_substack: 'Substack', - standardRssFeed_medium: 'Medium', - 'RSS Feed Settings': 'RSS Feed Settings', - 'Follow sets': 'Follow sets', - 'Follow sets settings intro': - 'NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.', - 'New follow set': 'New follow set', - 'Edit follow set': 'Edit follow set', - 'No follow sets yet': 'You have not created any follow sets yet.', - 'Follow set saved': 'Follow set saved', - 'Follow set deleted': 'Follow set deleted', - 'Failed to load follow sets': 'Failed to load follow sets', - members: 'members', - 'Optional display title': 'Optional display title', - 'List id (d tag)': 'List id (d tag)', - 'Follow set d tag hint': - 'Stable identifier for this list. It cannot be changed after the first publish.', - 'People in this list': 'People in this list', - 'Delete follow set?': 'Delete this follow set?', - 'Delete follow set confirm': - 'This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.', - 'Remove feed': 'Remove feed', - 'RSS Feeds': 'RSS Feeds', - 'RSS feeds exported to OPML file': 'RSS feeds exported to OPML file', - 'RSS feeds saved': 'RSS feeds saved', - 'Rate limited. Please wait before trying again.': - 'Rate limited. Please wait before trying again.', - 'Reaction published': 'Reaction published', - 'Reaction removed': 'Reaction removed', - 'Read full article': 'Read full article', - 'Reading group entry': 'Reading group entry', - 'Readings Options': 'Readings Options', - Recipients: 'Recipients', - 'Recipients detected from your message:': 'Recipients detected from your message:', - 'Recommended Relays': 'Recommended Relays', - 'Recommended applications for handling events of kind {{kind}}': - 'Recommended applications for handling events of kind {{kind}}', - 'Reference to the cited Nostr event in kind:pubkey:hex format': - 'Reference to the cited Nostr event in kind:pubkey:hex format', - 'Refresh Cache': 'Refresh Cache', - 'Refreshing posts...': 'Refreshing posts...', - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.': - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.', - Relay: 'Relay', - 'Relay Hint': 'Relay Hint', - 'Relay URL (optional)': 'Relay URL (optional)', - 'Relay blocked successfully': 'Relay blocked successfully', - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.': - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.', - 'Relay set options': 'Relay set options', - 'Remove from favorites': 'Remove from favorites', - Rendered: 'Rendered', - 'Reply published': 'Reply published', - 'Reply published to some relays': 'Reply published to some relays', - 'Reply to Public Message': 'Reply to Public Message', - 'Republish to all active relays': 'Republish to all active relays', - 'Republish to all available relays': 'Republish to all available relays', - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.': - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.', - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.': - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.', - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Respect quiet tags': 'Respect quiet tags', - 'Search (NIP-50)': 'Search (NIP-50)', - 'Search by name or npub…': 'Search by name or npub…', - 'Search calendar, publications, wiki…': 'Search calendar, publications, wiki…', - 'Search for user…': 'Search for user…', - 'Search items...': 'Search items...', - 'Search logs...': 'Search logs...', - 'Search notes, threads, long-form…': 'Search notes, threads, long-form…', - 'Search on GifBuddy': 'Search on GifBuddy', - 'Search on Meme Amigo': 'Search on Meme Amigo', - 'Search posts...': 'Search posts...', - 'Search threads by title, content, tags, npub, author...': - 'Search threads by title, content, tags, npub, author...', - 'Searching all available relays...': 'Searching all available relays...', - 'Searching…': 'Searching…', - 'See reference': 'See reference', - 'Select Group': 'Select Group', - 'Select Media Type': 'Select Media Type', - 'Select group...': 'Select group...', - 'Select relays': 'Select relays', - 'Publish relay cap hint': - 'At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Publish relay cap hint with outbox first': - 'At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Select the group where you want to create this discussion.': - 'Select the group where you want to create this discussion.', - 'Select topic...': 'Select topic...', - 'Selected text': 'Selected text', - 'Send Public Message': 'Send Public Message', - 'Send a Lightning payment to this user': 'Send a Lightning payment to this user', - 'Service worker caches cleared. Please reload the page.': - 'Service worker caches cleared. Please reload the page.', - 'Service worker unregistered and caches cleared. Please reload the page.': - 'Service worker unregistered and caches cleared. Please reload the page.', - 'Service worker unregistered. Please reload the page.': - 'Service worker unregistered. Please reload the page.', - 'Share your thoughts, ask questions, or start a discussion...': - 'Share your thoughts, ask questions, or start a discussion...', - 'Short Video Note': 'Short Video Note', - 'Show RSS Feed': 'Show RSS Feed', - 'Show all discussions in a single list': 'Show all discussions in a single list', - 'Show less': 'Show less', - Since: 'Since', - Small: 'Small', - 'Some relays have temporarily disabled writes.': - 'Some relays have temporarily disabled writes.', - Source: 'Source', - 'Spell definition': 'Spell definition', - 'Spell published': 'Spell published', - 'Start date': 'Start date', - 'Start typing to see a preview...': 'Start typing to see a preview...', - 'Subject (Book Title)': 'Subject (Book Title)', - 'Subject (book title) is required for reading groups': - 'Subject (book title) is required for reading groups', - 'Subject / Topics': 'Subject / Topics', - Subscribe: 'Subscribe', - Subscribed: 'Subscribed', - 'Subscribed to topic': 'Subscribed to topic', - 'Subscribed to topic (local)': 'Subscribed to topic (local)', - 'Subscribing...': 'Subscribing...', - Summary: 'Summary', - 'Supported Event Types': 'Supported Event Types', - 'Take a note': 'Take a note', - 'The full prompt conversation (optional)': 'The full prompt conversation (optional)', - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.': - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.', - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.': - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.', - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.': - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.', - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a Nostr event of kind {{kind}}.': - 'This GIF was found in a Nostr event of kind {{kind}}.', - 'This file could be either audio or video. Please select the correct type:': - 'This file could be either audio or video. Please select the correct type:', - 'This store does not contain replaceable events': - 'This store does not contain replaceable events', - 'This will add additional tags for author and subject to help organize reading group discussions.': - 'This will add additional tags for author and subject to help organize reading group discussions.', - 'Thread Content': 'Thread Content', - 'Thread Title': 'Thread Title', - 'Thread creation timed out. Please try again.': 'Thread creation timed out. Please try again.', - 'Thread published': 'Thread published', - 'Threads are organized by topics. Choose a topic that best fits your discussion.': - 'Threads are organized by topics. Choose a topic that best fits your discussion.', - 'Time-based': 'Time-based', - 'Title is required': 'Title is required', - 'Title must be 100 characters or less': 'Title must be 100 characters or less', - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.': - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.', - Top: 'Top', - Topic: 'Topic', - URL: 'URL', - 'URL of the article cover image (optional)': 'URL of the article cover image (optional)', - 'Unique identifier for this article (required)': - 'Unique identifier for this article (required)', - 'Unmute failed': 'Unmute failed', - 'Unpin note': 'Unpin note', - Unsubscribe: 'Unsubscribe', - 'Unsubscribed from topic': 'Unsubscribed from topic', - 'Unsubscribing...': 'Unsubscribing...', - Until: 'Until', - Untitled: 'Untitled', - Update: 'Update', - 'Updating...': 'Updating...', - 'Upload Audio Comment': 'Upload Audio Comment', - 'Upload Audio Message': 'Upload Audio Message', - 'Upload Media': 'Upload Media', - Upvote: 'Upvote', - 'User unmuted': 'User unmuted', - 'Version number (optional)': 'Version number (optional)', - Video: 'Video', - 'Video Note': 'Video Note', - 'Video file': 'Video file', - 'View Console Logs': 'View Console Logs', - 'View JSON': 'View JSON', - 'View cached items in this store.': 'View cached items in this store.', - 'View definition': 'View definition', - 'View details about cached data in IndexedDB stores. Click on a store to view its items.': - 'View details about cached data in IndexedDB stores. Click on a store to view its items.', - 'View on Alexandria': 'View on Alexandria', - 'View on DecentNewsroom': 'View on DecentNewsroom', - 'View on Wikistr': 'View on Wikistr', - 'View recent console logs for debugging': 'View recent console logs for debugging', - 'Voice Comment': 'Voice Comment', - 'Voice Note': 'Voice Note', - 'Voice note or audio file': 'Voice note or audio file', - Volume: 'Volume', - 'Volume number (optional)': 'Volume number (optional)', - 'Vote published': 'Vote published', - 'Vote removed': 'Vote removed', - 'Website where LLM was accessed (optional)': 'Website where LLM was accessed (optional)', - 'Wiki Article (AsciiDoc)': 'Wiki Article (AsciiDoc)', - 'Wiki Article (Markdown)': 'Wiki Article (Markdown)', - 'You can only delete your own notes': 'You can only delete your own notes', - 'You must be logged in to create a thread': 'You must be logged in to create a thread', - 'You need to add at least one media server in order to upload media files.': - 'You need to add at least one media server in order to upload media files.', - 'You need to login first': 'You need to login first', - 'Your account is blocked from posting to this relay.': - 'Your account is blocked from posting to this relay.', - Zap: 'Zap', - 'Zap failed': 'Zap failed', - created_at: 'created_at', - 'e tag of kind 1040 event (optional)': 'e tag of kind 1040 event (optional)', - 'e.g. meetup, conference': 'e.g. meetup, conference', - 'e.g., 123-145 (optional)': 'e.g., 123-145 (optional)', - 'e.g., GPT-4, Claude, etc. (required)': 'e.g., GPT-4, Claude, etc. (required)', - 'e.g., my-article-title': 'e.g., my-article-title', - entries: 'entries', - 'from Bunker': 'from Bunker', - 'from Extension': 'from Extension', - 'from NIP-05': 'from NIP-05', - general: 'general', - 'https://example.com (required)': 'https://example.com (required)', - 'https://example.com/image.jpg': 'https://example.com/image.jpg', - id: 'id', - items: 'items', - kind: 'kind', - 'kind:pubkey:hex format (required)': 'kind:pubkey:hex format (required)', - 'last updated': 'last updated', - matching: 'matching', - naddr: 'naddr', - nevent: 'nevent', - 'nevent1..., naddr1..., note1..., hex ID, or https://...': - 'nevent1..., naddr1..., note1..., hex ID, or https://...', - 'no notes found': 'no notes found', - of: 'of', - 'on note': 'on note', - optional: 'optional', - pubkey: 'pubkey', - 'sent a public message': 'sent a public message', - 'sent you a public message': 'sent you a public message', - 'sent you a public message (along with {{count}} others)': - 'sent you a public message (along with {{count}} others)', - sig: 'sig', - 'started a discussion in {{topic}}': 'started a discussion in {{topic}}', - tags: 'tags', - thread: 'thread', - threads: 'threads', - 'topic1, topic2, topic3': 'topic1, topic2, topic3', - '{{count}} relay(s) selected': '{{count}} relay(s) selected', - '🔞 NSFW 🔞': '🔞 NSFW 🔞', - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).': - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).', - 'Failed to refresh': 'Failed to refresh', - 'Invalid article link.': 'Invalid article link.', - Likes: 'Likes', - 'Loading…': 'Loading…', - 'Missing pubkey': 'Missing pubkey', - 'No RSS feed list found on relays': 'No RSS feed list found on relays', - 'Pinned posts': 'Pinned posts', - 'Publishing...': 'Publishing...', - 'RSS article': 'RSS article', - 'RSS feed list refreshed': 'RSS feed list refreshed', - 'Save or discard your changes before refreshing from relays': - 'Save or discard your changes before refreshing from relays', - 'Suggested topics': 'Suggested topics', - 'Synthetic event (no author)': 'Synthetic event (no author)', - 'Topic is required': 'Topic is required', - 'Type a topic or pick from the list': 'Type a topic or pick from the list', - profileEditorRefreshCacheHint: 'profileEditorRefreshCacheHint', - startupSessionHydrating: 'startupSessionHydrating' - } -} diff --git a/src/i18n/locales/pt-PT.ts b/src/i18n/locales/pt-PT.ts deleted file mode 100644 index c9b71195..00000000 --- a/src/i18n/locales/pt-PT.ts +++ /dev/null @@ -1,1841 +0,0 @@ -export default { - translation: { - 'Welcome! 🥳': 'Bem-vindo! 🥳', - About: 'Sobre', - 'New Note': 'Nova Nota', - Post: 'Postar', - Home: 'Início', - Feed: 'Feed', - 'Favorite Relays': 'Relés Favoritos', - 'Relay pulse': 'Relay pulse', - 'Relay pulse empty': 'Quiet on your relays in the last hour.', - 'Relay pulse follows': 'Following ({{count}})', - 'Relay pulse others': 'Others ({{count}})', - 'Relay pulse updated': 'Updated {{relative}}', - 'Relay pulse active npubs': 'Active npubs', - 'Relay pulse active npubs hint': - 'Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).', - 'Relay pulse drawer following': 'Following', - 'Relay pulse drawer others': 'Others', - 'Relay pulse drawer no profiles': 'No kind 0 profiles loaded for this sample yet.', - 'See the newest notes from your follows': 'See the newest notes from your follows', - 'All favorite relays': 'Todos os relés favoritos', - 'Pinned note': 'Pinned note', - 'Relay settings': 'Configurações de Relé', - Settings: 'Configurações', - 'Account menu': 'Account menu', - SidebarRelays: 'Relés', - Refresh: 'Atualizar', - 'refresh.longPressHardReload': 'Long-press: reload app and restore feed cache', - 'link.expandNostrEmbed': 'Show Nostr preview', - Profile: 'Perfil', - Logout: 'Sair', - Following: 'Seguindo', - followings: 'seguidos', - boosted: 'deu boost', - 'Boosted by:': 'Boosted by:', - 'just now': 'agora mesmo', - 'n minutes ago': '{{n}} minutos atrás', - 'n m': '{{n}}m', - 'n hours ago': '{{n}} horas atrás', - 'n h': '{{n}}h', - 'n days ago': '{{n}} dias atrás', - 'n d': '{{n}}d', - date: '{{timestamp, date}}', - Follow: 'Seguir', - Unfollow: 'Deixar de Seguir', - 'Follow failed': 'Falha ao Seguir', - 'Unfollow failed': 'Falha ao Deixar de Seguir', - 'show new notes': 'mostrar novas notas', - 'loading...': 'carregando...', - 'Loading...': 'Carregando...', - 'no more notes': 'não há mais notas', - 'calendar entries': 'calendar entries', - 'Loading calendar events...': 'Loading calendar events...', - 'No calendar events found': 'No calendar events found', - 'Calendar events in the next {{count}} months': 'Calendar events in the next {{count}} months', - 'The nostr.band relay appears to be temporarily out of service. Please try again later.': - 'The nostr.band relay appears to be temporarily out of service. Please try again later.', - 'reply to': 'responder a', - reply: 'responder', - Reply: 'Responder', - 'load more older replies': 'carregar mais respostas antigas', - 'Write something...': 'Escreva algo...', - Cancel: 'Cancelar', - Mentions: 'Menções', - 'Search for event or address…': 'Search for event or address…', - 'Search notes…': 'Search notes…', - 'No notes found': 'No notes found', - 'Failed to post': 'Falha ao postar', - 'Post successful': 'Postagem bem-sucedida', - 'Your post has been published': 'Sua postagem foi publicada', - Boost: 'Boost', - 'Boost published': 'Boost publicado', - Quote: 'Citar', - 'Copy event ID': 'Copiar ID do evento', - 'Copy user ID': 'Copiar ID do usuário', - 'Send public message': 'Send public message', - 'View raw event': 'Ver evento bruto', - 'Edit this event': 'Edit this event', - 'Clone or fork this event': 'Clone or fork this event', - 'Event kind': 'Event kind', - 'Note content': 'Note content', - Publish: 'Publish', - 'Post published': 'Post published', - 'Edit content and tags, then publish a new signed event.': - 'Edit content and tags, then publish a new signed event.', - 'Log in to publish': 'Log in to publish', - 'Set when you publish': 'set when you publish', - 'id and sig are assigned when you publish': 'id and sig are assigned when you publish', - 'Published to some relays only': 'Published to some relays only', - 'Add field': 'Add field', - 'View full profile': 'View full profile', - Like: 'Curtir', - 'switch to light theme': 'alternar para tema claro', - 'switch to dark theme': 'alternar para tema escuro', - 'switch to system theme': 'alternar para tema do sistema', - Note: 'Nota', - note: 'nota', - "username's following": 'seguindo de {{username}}', - "username's used relays": 'relés usados por {{username}}', - "username's muted": '{{username}} silenciado', - Login: 'Entrar', - downloadDesktopApp: 'Download app', - 'Please log in to view notifications.': 'Please log in to view notifications.', - 'Follows you': 'Segue você', - 'Relay Settings': 'Configurações de Relé', - 'Relays and Storage Settings': 'Relays and Storage Settings', - 'Relay set name': 'Nome do conjunto de relé', - 'Add a new relay set': 'Adicionar um novo conjunto de relé', - Add: 'Adicionar', - 'n relays': '{{n}} relés', - Rename: 'Renomear', - 'Copy share link': 'Copy share link', - 'Copy address': 'Copy address', - 'Copy payto URI': 'Copy payto URI', - 'Copied payto address': 'Copied payto address', - 'Copied to clipboard': 'Copied to clipboard', - 'Copied {{label}} address': 'Copied {{label}} address', - 'Lightning payment address – copy to pay via your wallet': - 'Lightning payment address – copy to pay via your wallet', - 'Payment address – copy to use in your wallet or app': - 'Payment address – copy to use in your wallet or app', - 'Click to open payment options': 'Click to open payment options', - 'Click to copy address': 'Click to copy address', - 'Open on website': 'Open on website', - 'Raw profile event': 'Raw profile event', - 'Full profile event': 'Full profile event', - 'Event (JSON)': 'Event (JSON)', - 'Save full profile': 'Save full profile', - 'Add tag': 'Add tag', - 'Remove tag': 'Remove tag', - 'Tag name': 'Tag name', - Value: 'Value', - 'Add value to tag': 'Add value to tag', - 'Remove value': 'Remove value', - 'No tags. Click "Add tag" to add one.': 'No tags. Click "Add tag" to add one.', - 'Profile updated': 'Profile updated', - 'Failed to publish profile': 'Failed to publish profile', - 'Invalid profile JSON': 'Invalid profile JSON', - 'Refresh cache': 'Refresh cache', - 'Force-refresh profile and payment info from relays': - 'Force-refresh profile and payment info from relays', - 'Profile and payment cache refreshed': 'Profile and payment cache refreshed', - 'Failed to refresh cache': 'Failed to refresh cache', - 'Raw payment info event': 'Raw payment info event', - 'Payment info': 'Payment info', - 'Edit payment info': 'Edit payment info', - 'Add payment info': 'Add payment info', - 'No payment info event yet. Click "Add payment info" to create one.': - 'No payment info event yet. Click "Add payment info" to create one.', - 'Content (JSON)': 'Content (JSON)', - Tags: 'Tags', - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])': - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])', - 'Payment info updated': 'Payment info updated', - 'Failed to publish payment info': 'Failed to publish payment info', - 'Invalid tags JSON': 'Invalid tags JSON', - 'Payment methods': 'Payment methods', - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).': - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).', - 'Type (e.g. lightning)': 'Type (e.g. lightning)', - 'Authority (e.g. user@domain.com)': 'Authority (e.g. user@domain.com)', - 'Add payment method': 'Add payment method', - Remove: 'Remove', - 'Additional content (JSON)': 'Additional content (JSON)', - 'Show full event JSON': 'Show full event JSON', - 'Tag list': 'Tag list', - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.': - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.', - 'Tag value': 'Tag value', - 'Saving…': 'Saving…', - 'Share with Imwald': 'Compartilhar com Imwald', - 'Share with Alexandria': 'Compartilhar com Alexandria', - 'Start video call': 'Start video call', - 'Copy call invite link': 'Copy call invite link', - 'Start call about this': 'Start call about this', - 'Send call invite': 'Send call invite', - 'Read this note aloud': 'Read this note aloud', - 'Read-aloud is not supported in this browser': 'Read-aloud is not supported in this browser', - 'Nothing to read aloud': 'Nothing to read aloud', - 'Read-aloud failed': 'Read-aloud failed', - 'Read aloud': 'Read aloud', - 'Read-aloud idle': 'Idle', - 'Preparing read-aloud…': 'Preparing read-aloud…', - 'Requesting audio…': 'Requesting audio…', - 'Loading audio…': 'Loading audio…', - Playing: 'Playing', - Paused: 'Paused', - 'Read-aloud finished': 'Finished', - 'Read-aloud error': 'Error', - 'TTS endpoint': 'TTS endpoint', - 'Using browser speech synthesis': 'Using browser speech synthesis', - 'Read-aloud section progress': 'Section {{current}} of {{total}}', - 'Request sent': 'Request sent', - 'Response received': 'Response received', - 'Playback started': 'Playback started', - Characters: 'Characters', - Pause: 'Pause', - Play: 'Play', - Stop: 'Stop', - 'Read-aloud sections': 'Read-aloud sections', - 'Read-aloud overall progress': 'Overall progress', - 'Read-aloud section done': 'Section {{index}}: finished', - 'Read-aloud section pending': 'Section {{index}}: not started yet', - 'Read-aloud section fetching': 'Section {{index}}: requesting audio', - 'Read-aloud section preparing audio': 'Section {{index}}: loading audio', - 'Read-aloud section playing': 'Section {{index}}: playing', - 'Read-aloud section paused': 'Section {{index}}: paused', - 'Read-aloud legend fetching': 'Requesting audio for this section from the server…', - 'Read-aloud legend buffering': 'Decoding audio for this section…', - 'Read-aloud legend playing': 'Playing this section.', - 'Read-aloud legend paused': 'Playback paused.', - 'Read-aloud Piper fallback notice': - 'Server voice (Piper) could not be used. Playing with your browser voice instead.', - 'Read-aloud Piper fallback detail label': 'Piper error', - 'Read-aloud Piper status region': 'Piper text-to-speech status', - 'Read-aloud Piper status heading': 'Piper (server voice)', - 'Read-aloud Piper skipped notice': - 'No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.', - 'Read-aloud Piper attempt started': - 'Piper was started at {{time}} (this read-aloud used the server first).', - 'Read-aloud Piper endpoint tried': 'URL used: {{url}}', - 'Join the video call': 'Join the video call', - 'Schedule video call': 'Schedule video call', - "You're invited to a scheduled video call.": "You're invited to a scheduled video call.", - 'Create a calendar event and send an invite. The recipient will see the event with a join link.': - 'Create a calendar event and send an invite. The recipient will see the event with a join link.', - 'Schedule a video call': 'Schedule a video call', - 'Create a calendar event and send kind 24 invites to each listed invitee.': - 'Create a calendar event and send kind 24 invites to each listed invitee.', - Invitees: 'Invitees', - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)': - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)', - 'Schedule and send invites': 'Schedule and send invites', - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)': - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)', - 'Scheduled call created and {{count}} invite(s) sent': - 'Scheduled call created and {{count}} invite(s) sent', - 'Join video call': 'Join video call', - 'Scheduled video call': 'Scheduled video call', - 'Video call': 'Video call', - 'Schedule and send invite': 'Schedule and send invite', - 'Scheduling…': 'Scheduling…', - 'Please set a start time': 'Please set a start time', - 'End time must be after start time': 'End time must be after start time', - 'Failed to schedule call': 'Failed to schedule call', - 'Scheduled call created and invite sent': 'Scheduled call created and invite sent', - RSVP: 'RSVP', - 'RSVP: {{status}}': 'RSVP: {{status}}', - Accepted: 'Accepted', - Tentative: 'Tentative', - Declined: 'Declined', - 'You need to log in to RSVP': 'You need to log in to RSVP', - 'RSVP updated': 'RSVP updated', - 'Failed to update RSVP': 'Failed to update RSVP', - Organizer: 'Organizer', - Attendees: 'Attendees', - 'No response': 'No response', - 'Calendar Events': 'Calendar Events', - 'Calendar Event': 'Calendar Event', - 'Schedule in-person meeting': 'Schedule in-person meeting', - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.': - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.', - "You're invited to an in-person meeting.": "You're invited to an in-person meeting.", - 'Meeting created and invite sent': 'Meeting created and invite sent', - 'Failed to create meeting': 'Failed to create meeting', - 'Create and send invite': 'Create and send invite', - 'Creating…': 'Creating…', - 'In-person meeting': 'In-person meeting', - Location: 'Location', - 'Address, venue, or place': 'Address, venue, or place', - Description: 'Description', - 'Optional notes': 'Optional notes', - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.': - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.', - 'Meeting created and {{count}} invite(s) sent': 'Meeting created and {{count}} invite(s) sent', - 'Create and send invites': 'Create and send invites', - Title: 'Title', - Start: 'Start', - End: 'End', - Delete: 'Excluir', - 'Relay already exists': 'Relé já existe', - 'invalid relay URL': 'URL de relé inválida', - 'Relay URL…': 'wss://… or relay host', - 'Open relay': 'Open relay', - 'Add a new relay': 'Adicionar um novo relé', - back: 'voltar', - 'Lost in the void': 'Perdido no vazio', - 'Carry me home': 'Me leve para casa', - 'no replies': 'sem respostas', - 'Reply to': 'Responder a', - Search: 'Pesquisar', - 'The relays you are connected to do not support search': - 'Os relés aos quais você está conectado não suportam pesquisa', - 'Show more...': 'Mostrar mais...', - 'All users': 'Todos os usuários', - 'Display replies': 'Exibir respostas', - Notes: 'Notas', - Replies: 'Respostas', - Gallery: 'Galeria', - Notifications: 'Notificações', - 'no more notifications': 'não há mais notificações', - 'Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.': - 'Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.', - 'Login with Browser Extension': 'Entrar com Extensão do Navegador', - 'Login with Bunker': 'Entrar com Bunker', - 'Login with Private Key': 'Entrar com Chave Privada', - 'Login with npub (read-only)': 'Entrar com npub (só leitura)', - 'reload notes': 'recarregar notas', - 'Logged in Accounts': 'Contas Conectadas', - 'Add an Account': 'Adicionar uma Conta', - 'More options': 'Mais opções', - 'Add client tag': 'Adicionar tag de cliente', - 'Show others this was sent via Imwald': 'Mostrar aos outros que isso foi enviado via Imwald', - 'Are you sure you want to logout?': 'Tem certeza de que deseja sair?', - 'relay sets': 'conjuntos de relé', - edit: 'editar', - Languages: 'Idiomas', - Theme: 'Tema', - System: 'Sistema', - Light: 'Claro', - Dark: 'Escuro', - Temporary: 'Temporário', - 'Choose a relay set': 'Escolha um conjunto de relé', - 'Switch account': 'Trocar de Conta', - Pictures: 'Imagens', - 'Picture note': 'Nota de Imagem', - 'A special note for picture-first clients like Olas': - 'Uma nota especial para clientes que priorizam imagens, como Olas', - 'Picture note requires images': 'Nota de imagem requer imagens', - Relays: 'Relés', - Image: 'imagem', - 'Upload Image': 'Upload Image', - 'Insert emoji': 'Insert emoji', - 'Insert GIF': 'Insert GIF', - 'Insert meme': 'Insert meme', - 'Search GIFs': 'Search GIFs', - 'Search memes': 'Search memes', - 'Choose a GIF': 'Choose a GIF', - 'Choose a meme': 'Choose a meme', - 'Search GifBuddy for more GIFs': 'Search GifBuddy for more GIFs', - 'Add your own GIFs': 'Add your own GIFs', - 'Add your own meme templates': 'Add your own meme templates', - 'Description (optional, for search)': 'Description (optional, for search)', - 'e.g. happy birthday, thumbs up': 'e.g. happy birthday, thumbs up', - 'e.g. drake, distracted boyfriend': 'e.g. drake, distracted boyfriend', - 'Uploading...': 'Uploading...', - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.': - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.', - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).': - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).', - 'Failed to publish meme template for the picker': - 'Failed to publish meme template for the picker', - '{{name}} is not a GIF file': '{{name}} is not a GIF file', - '{{name}} is not a JPEG, PNG, or WebP file': '{{name}} is not a JPEG, PNG, or WebP file', - 'R & W': 'Leitura & Escrita', - Read: 'Ler', - Write: 'Escrever', - 'Pull relay sets': 'Receber conjuntos de relé', - 'Select the relay sets you want to pull': 'Selecione os conjuntos de relé que deseja receber', - 'No relay sets found': 'Nenhum conjunto de relé encontrado', - 'Pull n relay sets': 'Receber {{n}} conjuntos de relé', - Pull: 'Receber', - 'Select all': 'Selecionar todos', - 'Relay Sets': 'Conjuntos de relé', - 'Read & Write Relays': 'Relés de Leitura & Escrita', - 'read relays description': - 'Relés de leitura são usados para buscar eventos sobre você. Outros usuários publicarão os eventos que deseja ver nesses relés.', - 'write relays description': - 'Relés de escrita são usados para publicar seus eventos. Outros usuários buscarão seus eventos nesses relés.', - 'read & write relays notice': - 'O número de servidores de leitura e escrita deve ser mantido entre 2 e 4, idealmente.', - "Don't have an account yet?": 'Não tem uma conta ainda?', - 'or simply generate a private key': 'ou simplesmente gere uma chave privada', - 'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.': - 'Esta é uma chave privada. Não a compartilhe com ninguém. Mantenha-a segura, pois não poderá recuperá-la se perdê-la.', - Edit: 'Editar', - Save: 'Salvar', - 'Display Name': 'Nome de Exibição', - Bio: 'Biografia', - 'Nostr Address (NIP-05)': 'Endereço Nostr (NIP-05)', - 'Invalid NIP-05 address': 'Endereço NIP-05 inválido', - 'Copy private key': 'Copiar chave privada', - 'Enter the password to decrypt your ncryptsec': - 'Digite a senha para descriptografar seu ncryptsec', - Back: 'Voltar', - 'optional: encrypt nsec': 'opcional: criptografar nsec', - password: 'senha', - 'Sign up': 'Registrar-se', - 'Save to': 'Salvar em', - 'Enter a name for the new relay set': 'Digite um nome para o novo conjunto de relé', - 'Save to a new relay set': 'Salvar em um novo conjunto de relé', - Mute: 'Silenciar', - Muted: 'Silenciado', - Unmute: 'Ativar som', - 'Unmute user': 'Ativar som do usuário', - Block: 'Block', - Unblock: 'Unblock', - blocked: 'blocked', - 'Append n relays': 'Adicionar {{n}} relés', - Append: 'Adicionar', - 'Select relays to append': 'Selecione os relés para adicionar', - 'calculating...': 'calculando...', - 'Calculate optimal read relays': 'Calcular relés de leitura ideais', - 'Login to set': 'Entrar no conjunto', - 'Please login to view following feed': 'Por favor, faça login para ver o feed de seguidores', - 'Follow set': 'Follow set', - 'Follow set feed empty': - 'This NIP-51 list is empty, was not found, or relays could not load it yet.', - 'Send only to r': 'Enviar apenas para {{r}}', - 'Send only to these relays': 'Enviar apenas para estes relés', - Explore: 'Explorar', - 'Relay reviews': 'Avaliações de relays', - 'Search relays': 'Pesquisar relés', - relayInfoBadgeAuth: 'Auth', - relayInfoBadgeSearch: 'Pesquisar', - relayInfoBadgePayment: 'Pagamento', - Operator: 'Operador', - Contact: 'Contato', - Software: 'Software', - Version: 'Versão', - 'Random Relays': 'Relés Aleatórios', - randomRelaysRefresh: 'Atualizar', - 'Explore more': 'Explorar mais', - 'Payment page': 'Página de Pagamento', - 'Supported NIPs': 'NIPs Suportados', - 'Relay liveliness (NIP-66)': 'Relay liveliness (NIP-66)', - 'Relay monitor (NIP-66)': 'Relay monitor (NIP-66)', - 'Auth required': 'Auth required', - 'Public (no auth)': 'Public (no auth)', - 'Payment required': 'Payment required', - 'No payment': 'No payment', - 'Writes required': 'Writes required', - 'Writes open': 'Writes open', - 'PoW required': 'PoW required', - 'No PoW': 'No PoW', - 'RTT open': 'RTT open', - 'RTT read': 'RTT read', - 'RTT write': 'RTT write', - 'Supported NIPs (from monitor)': 'Supported NIPs (from monitor)', - 'Last reported by monitor': 'Last reported by monitor', - Network: 'Network', - Type: 'Type', - Topics: 'Topics', - 'Open in a': 'Abrir em {{a}}', - 'Cannot handle event of kind k': 'Não é possível lidar com o evento do tipo {{k}}', - 'Unsupported event preview': - 'There isn’t a dedicated card for this event type yet. Here’s a readable preview.', - 'No text content in event': 'No text in this event.', - 'Technical details': 'Technical details', - 'Event kind and time': 'Kind {{kind}} · {{time}}', - 'Event kind label': 'Kind {{kind}}', - 'Note kind label line': 'KIND: {{kind}} · {{description}}', - 'Unknown note declared kind tag': 'Tagged kind: {{value}}', - 'Unknown note tagged pubkey': 'Tagged pubkey', - 'Unknown note tagged content': 'Content', - 'Unknown note reference tags': 'Reference tags (e, p, q, a)', - 'Starred spells': 'Starred spells', - 'Spell star add title': 'Star spell (adds to your Nostr bookmarks)', - 'Spell star remove title': 'Unstar spell (removes from your Nostr bookmarks)', - 'Copy JSON': 'Copy JSON', - Verse: 'Verse', - 'Notification reaction summary': 'reacted to this note.', - 'Notification discussion upvote summary': 'upvoted in this discussion.', - 'Notification discussion downvote summary': 'downvoted in this discussion.', - 'Notification boost summary': 'Boosted this note', - 'Notification boost detail': 'The preview above is the original post.', - 'Notification poll vote summary': 'Voted on the poll above.', - 'Notification poll vote options count': '{{count}} option(s) selected', - 'Imwald synthetic event': 'Imwald synthetic event', - '+ Add a URL to this list': 'Add a URL to this list', - 'Add a web URL': 'Add a web URL', - 'Add web URL to feed description': - 'Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.', - 'Add to feed': 'Add to feed', - 'Open any https page in the side panel to reply, react, and discuss on Nostr.': - 'Open any https page in the side panel to reply, react, and discuss on Nostr.', - 'Enter a valid http(s) URL': 'Enter a valid http(s) URL', - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.': - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.', - 'Open in browser': 'Open in browser', - 'Web page': 'Web page', - Open: 'Open', - 'Sorry! The note cannot be found 😔': 'Desculpe! A nota não pode ser encontrada 😔', - 'This user has been muted': 'Este usuário foi silenciado', - Wallet: 'Carteira', - Sats: 'Sats', - sats: 'sats', - 'Zap to': 'Zap para', - 'Zap n sats': 'Zap {{n}} sats', - zapComment: 'Comentário', - 'Default zap amount': 'Valor padrão do zap', - 'Default zap comment': 'Comentário padrão do zap', - 'Lightning Address (or LNURL)': 'Endereço Lightning (ou LNURL)', - 'Quick zap': 'Zap Rápido', - 'If enabled, you can zap with a single click. Click and hold for custom amounts': - 'Se ativado, você pode zapar com um único clique. Clique e segure para quantias personalizadas', - All: 'Tudo', - Reactions: 'Reações', - Zaps: 'Zaps', - Boosts: 'Boosts', - Badges: 'Badges', - Reports: 'Reports', - 'Enjoying Imwald?': 'Gostando do Imwald?', - 'Your donation helps me maintain Imwald and make it better! 😊': - 'Sua doação me ajuda a manter o Imwald e torná-lo melhor! 😊', - 'Earlier notifications': 'Notificações anteriores', - 'Temporarily display this note': 'Exibir esta nota temporariamente', - buttonFollowing: 'Seguindo', - 'Are you sure you want to unfollow this user?': - 'Tem certeza de que deseja deixar de seguir este usuário?', - 'Recent Supporters': 'Apoiadores Recentes', - 'Seen on': 'Visto em', - 'Temporarily display this reply': 'Exibir temporariamente esta resposta', - 'Note not found': 'Nota não encontrada', - 'Invalid embedded note reference': 'Invalid embedded note reference', - embeddedNoteInvalidEmpty: 'This embedded link is empty.', - embeddedNoteInvalidHex: - 'This is not a valid hex event id (expected exactly 64 hexadecimal characters).', - embeddedNoteInvalidBech32: - 'This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.', - embeddedNoteInvalidWrongKind: - 'This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.', - 'The note was not found on your relays or default relays.': - 'The note was not found on your relays or default relays.', - "Try searching author's relays": "Try searching author's relays", - 'Searching external relays...': 'Searching external relays...', - "This will connect to the author's relays and relay hints": - "This will connect to the author's relays and relay hints", - 'Note could not be found anywhere': 'Note could not be found anywhere', - 'Try external relays': 'Try external relays', - 'Searching...': 'Searching...', - 'Show relays': 'Show relays', - 'No external relay hints available': 'No external relay hints available', - 'External relay search is not available for this link type': - 'External relay search is not available for this link type.', - 'Searched external relays not found': - 'Searched {{count}} external relays; the note was still not found.', - 'no more replies': 'não há mais respostas', - 'Relay sets': 'Conjuntos de Relé', - 'Search for Relays': 'Search for Relays', - 'Using app default relays': 'Using app default relays', - "Following's Favorites": 'Favoritos de quem você segue', - 'no more relays': 'não há mais relés', - 'Favorited by': 'Favoritado por', - 'Post settings': 'Configurações de Postagem', - 'Publishing feedback': 'Publishing feedback', - 'Publish success toasts': 'Publish success toasts', - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.': - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.', - 'Publish successful': 'Publish successful', - 'Media upload service': 'Serviço de Upload de Mídia', - 'Choose a relay': 'Escolher um Relé', - 'no relays found': 'nenhum relé encontrado', - video: 'vídeo', - 'Show n new notes': 'Mostrar {{n}} novas notas', - YouTabName: 'Você', - Bookmark: 'Favorito', - 'Remove bookmark': 'Remover favorito', - 'no bookmarks found': 'Nenhum favorito encontrado', - 'no more bookmarks': 'Sem mais favoritos', - Bookmarks: 'Favoritos', - 'Follow Packs': 'Follow Packs', - 'Follow Pack': 'Follow Pack', - 'Follow pack by': 'by', - 'In Follow Packs': 'In Follow Packs', - 'Badge details': 'Badge details', - 'Issued by': 'Issued by', - 'Other recipients': 'Other recipients', - 'No other recipients found': 'No other recipients found', - 'Recipients could not be loaded': 'Recipients could not be loaded', - 'View award': 'View award', - 'Awarded on': 'Awarded on', - 'Please log in to follow': 'Please log in to follow', - 'Following All': 'Following All', - 'Followed {{count}} users': 'Followed {{count}} users', - 'All available members are already followed or muted': - 'All available members are already followed or muted', - 'You are already following all members of this pack': - 'You are already following all members of this pack', - 'Failed to follow pack': 'Failed to follow pack', - '{{count}} profiles': '{{count}} profiles', - 'Show more': 'Mostrar mais', - General: 'Geral', - Autoplay: 'Reprodução Automática', - 'Enable video autoplay on this device': - 'Habilitar reprodução automática de vídeo neste dispositivo', - 'liveActivities.heading': 'Live now', - 'liveActivities.regionLabel': 'Live spaces and streams', - 'liveActivities.fromFollow': 'From someone you follow', - 'liveActivities.goToSlide': 'Show live item {{n}}', - 'liveActivities.settingsToggle': 'Live activities banner', - 'liveActivities.settingsHint': - 'Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.', - 'Add random relays to every publish': 'Random relays in publish list', - 'Add random relays to every publish description': - 'Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.', - relayType_local: 'Local', - relayType_relay_list: 'Relay list', - relayType_http_relay_list: 'HTTP', - 'HTTP relays': 'HTTP relays', - httpRelaysDescription: - 'HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.', - 'HTTP relays saved': 'HTTP relays saved', - 'Failed to save HTTP relay list': 'Failed to save HTTP relay list', - 'HTTP relays must start with https:// or http://': - 'HTTP relays must start with https:// or http://', - relayType_client_default: 'Client default', - relayType_open_from: 'Current feed', - relayType_favorite: 'Favorite', - relayType_relay_set: 'Relay set', - relayType_contextual: 'Reply/PM', - relayType_randomly_selected: 'Random (optional)', - 'Session relays': 'Session relays', - 'Session relays tab description': - 'Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish).', - 'Session relays preset working': 'Working preset relays', - 'Session relays preset working hint': - 'Preset relays (from app defaults) that have not reached 3 publish failures this session.', - 'Session relays preset striked': 'Striked preset relays', - 'Session relays preset striked hint': - 'Preset relays that have reached 3 publish failures this session and are skipped for the rest of the session.', - 'Session relays scored random': 'Scored random relays', - 'Session relays scored random hint': - 'Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.', - 'Session relays all striked': 'All striked relays (any source)', - 'Session relays clear strike': 'Allow again', - 'Session relays clear strike hint': - 'Remove this relay from the session block list; it will be used again until new connection failures.', - successes: 'successes', - None: 'None', - 'Cache & offline storage': 'Cache & offline storage', - feedStarting: 'Starting feeds and relays… This can take a few seconds after login.', - refreshCacheButtonExplainer: - 'Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.', - 'eventArchive.sectionTitle': 'Notes & feed archive', - 'eventArchive.sectionBlurb': - 'Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.', - 'eventArchive.defaultsMobile': - 'This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).', - 'eventArchive.defaultsElectron': - 'Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.defaultsDesktopWeb': - 'Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.enablePersist': 'Persist feed events to disk', - 'eventArchive.maxMb': 'Max archive size (MB), blank = default for this device', - 'eventArchive.maxEvents': 'Max archived events, blank = default', - 'eventArchive.sessionLru': 'In-memory session cache (event count), blank = default', - 'eventArchive.effectiveSummary': - 'Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.', - 'eventArchive.on': 'on', - 'eventArchive.off': 'off', - 'eventArchive.apply': 'Apply cache settings', - 'eventArchive.appliedToast': 'Cache settings saved. Session memory updated.', - 'Paste or drop media files to upload': 'Cole ou solte arquivos de mídia para fazer upload', - Preview: 'Pré-visualização', - 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'Você está prestes a publicar um evento assinado por [{{eventAuthorName}}]. Você está atualmente logado como [{{currentUsername}}]. Tem certeza?', - 'Platinum Sponsors': 'Patrocinadores Platinum', - From: 'De', - 'Comment on': 'Comentar em', - 'View on njump.me': 'Ver em njump.me', - 'Hide content from untrusted users': 'Esconder conteúdo de usuários não confiáveis', - 'Only show content from your followed users and the users they follow': - 'Mostrar apenas conteúdo dos usuários que você segue e dos usuários que eles seguem', - 'Followed by': 'Seguido por', - 'Mute user privately': 'Silenciar usuário privadamente', - 'Mute user publicly': 'Silenciar usuário publicamente', - Quotes: 'Citações', - 'Lightning Invoice': 'Fatura Lightning', - 'Bookmark failed': 'Falha ao favoritar', - 'Remove bookmark failed': 'Falha ao remover favorito', - Translation: 'Tradução', - Balance: 'Saldo', - characters: 'caracteres', - translateApiKeyDescription: - 'Esta chave API pode ser usada em qualquer outro lugar que suporte LibreTranslate. O URL do serviço é {{serviceUrl}}', - 'Top up': 'Carregar', - 'Will receive: {n} characters': 'Receberá: {{n}} caracteres', - 'Top up {n} sats': 'Carregar {{n}} sats', - 'Minimum top up is {n} sats': 'O carregamento mínimo é de {{n}} sats', - Service: 'Serviço', - 'Reset API key': 'Redefinir chave API', - 'Are you sure you want to reset your API key? This action cannot be undone.': - 'Tem certeza de que deseja redefinir sua chave API? Esta ação não pode ser desfeita.', - Warning: 'Aviso', - 'Errors & warnings': 'Errors & warnings', - 'Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.': - 'Sua chave API atual se tornará inválida imediatamente, e qualquer aplicativo que a utilize deixará de funcionar até que você os atualize com a nova chave.', - 'Service address': 'Endereço do serviço', - Pay: 'Pagar', - interactions: 'interações', - notifications: 'notificações', - notificationsViewAsAccount: 'View as', - notificationsViewAsAccountAria: - 'Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.', - notificationsSwitchAccountFailed: - 'Could not switch account. Check your signer, password, or extension and try again.', - 'Show untrusted {type}': 'Mostrar {{type}} não confiáveis', - 'Hide untrusted {type}': 'Esconder {{type}} não confiáveis', - 'Currently hiding {type} from untrusted users.': - 'Atualmente escondendo {{type}} de usuários não confiáveis.', - 'Currently showing all {type}.': 'Atualmente mostrando todos os {{type}}.', - 'Click continue to show all {type}.': 'Clique em continuar para mostrar todos os {{type}}.', - 'Click continue to hide {type} from untrusted users.': - 'Clique em continuar para esconder {{type}} de usuários não confiáveis.', - 'Trusted users include people you follow and people they follow.': - 'Usuários confiáveis incluem pessoas que você segue e pessoas que elas seguem.', - Continue: 'Continuar', - 'Successfully updated mute list': 'Lista de silenciados atualizada com sucesso', - 'No pubkeys found from {url}': 'Nenhum pubkey encontrado em {{url}}', - 'Translating...': 'Traduzindo...', - Translate: 'Traduzir', - 'Show original': 'Mostrar original', - Website: 'Website', - 'Hide untrusted notes': 'Esconder notas não confiáveis', - 'Open in another client': 'Abrir em outro cliente', - Community: 'Comunidade', - Group: 'Grupo', - 'Live event': 'Evento ao vivo', - Article: 'Artigo', - Unfavorite: 'Desfavoritar', - 'Recommended relays': 'Relés recomendados', - 'Show recommended relays panel': 'Show recommended relays panel', - 'Display the right-side panel with recommended relays on desktop': - 'Display the right-side panel with recommended relays on desktop', - 'Blossom server URLs': 'URLs do servidor Blossom', - 'You need to add at least one blossom server in order to upload media files.': - 'Você precisa adicionar pelo menos um servidor Blossom para poder carregar arquivos de mídia.', - 'Recommended blossom servers': 'Servidores Blossom recomendados', - 'Enter Blossom server URL': 'Inserir URL do servidor Blossom', - Preferred: 'Preferido', - 'Multiple choice (select one or more)': 'Múltipla escolha (selecione um ou mais)', - Vote: 'Votar', - '{{number}} votes': '{{number}} votos', - 'Total votes': 'Total de votos', - 'Poll has ended': 'A sondagem terminou', - 'Poll ends at {{time}}': 'A sondagem termina em {{time}}', - 'Load results': 'Carregar resultados', - 'This is a poll note.': 'Esta é uma nota de sondagem.', - 'Unlike regular notes, polls are not widely supported and may not display on other clients.': - 'Ao contrário das notas regulares, as sondagens não são amplamente suportadas e podem não ser exibidas noutros clientes.', - 'Option {{number}}': 'Opção {{number}}', - 'Add Option': 'Adicionar Opção', - 'Allow multiple choices': 'Permitir múltiplas escolhas', - 'End Date (optional)': 'Data de fim (opcional)', - 'Clear end date': 'Limpar data de fim', - 'Relay URLs (optional, comma-separated)': 'URLs de relay (opcional, separadas por vírgulas)', - 'Remove poll': 'Remover sondagem', - 'Refresh results': 'Atualizar resultados', - '{{votes}} · {{pct}}%': '{{votes}} · {{pct}}%', - 'See results': 'See results', - 'Zap poll (paid votes)': 'Zap poll (paid votes)', - 'Invalid zap poll': 'Invalid zap poll', - 'You voted on this poll (zap receipt)': 'You voted on this poll (zap receipt)', - 'Poll closed {{time}}': 'Poll closed {{time}}', - 'Closes {{time}}': 'Closes {{time}}', - 'Vote size': 'Vote size', - '{{n}} sats (fixed)': '{{n}} sats (fixed)', - '{{min}}–{{max}} sats': '{{min}}–{{max}} sats', - '≥ {{n}} sats': '≥ {{n}} sats', - '≤ {{n}} sats': '≤ {{n}} sats', - 'Loading tally…': 'Loading tally…', - 'Zap poll no votes yet': - 'No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).', - 'Consensus threshold': 'Consensus threshold', - 'Pay to': 'Pay to', - Recipient: 'Recipient', - Option: 'Option', - 'Select option': 'Select option', - 'Select an option': 'Select an option', - 'Vote with zap': 'Vote with zap', - 'Zap sent': 'Zap sent', - 'Zapping…': 'Zapping…', - 'Refresh tally': 'Refresh tally', - '{{n}} zaps': '{{n}} zaps', - Poll: 'Sondagem', - Media: 'mídia', - 'Articles and Publications': 'Articles and Publications', - 'Search articles...': 'Search articles...', - 'Refreshing articles...': 'Refreshing articles...', - 'No articles or publications found': 'No articles or publications found', - 'No articles or publications match your search': - 'No articles or publications match your search', - 'articles and publications': 'articles and publications', - Interests: 'Interests', - Calendar: 'Calendar', - 'No subscribed interests yet.': - 'No subscribed interests yet. Add topics in settings to see them here.', - 'No bookmarked notes with id tags yet.': - 'No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.', - 'No follows or relays to load yet.': 'No follows or relays to load yet.', - 'Nothing to load for this feed.': 'Nothing to load for this feed.', - 'No posts loaded for this feed. Try refreshing.': - 'No posts loaded for this feed. Try refreshing.', - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.': - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.', - 'Per-relay timeline results ({{count}} connections)': - 'Per-relay timeline results ({{count}} connections)', - 'Republish to ...': 'Transmitir para...', - 'All available relays': 'All available relays', - 'All active relays (monitoring list)': 'All active relays (monitoring list)', - 'Successfully republish to all available relays': - 'Successfully republish to all available relays', - 'Failed to republish to all available relays: {{error}}': - 'Failed to republish to all available relays: {{error}}', - 'Successfully republish to all active relays': 'Successfully republish to all active relays', - 'Failed to republish to all active relays: {{error}}': - 'Failed to republish to all active relays: {{error}}', - 'No active relays in monitoring list': 'No active relays in monitoring list', - 'No relay accepted the event': 'No relay accepted the event', - 'No relays available': 'No relays available', - 'No write relays configured': 'No write relays configured', - 'Relay did not accept the event': 'Relay did not accept the event', - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".': - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".', - 'Successfully republish to your write relays': - 'Transmitido com sucesso para seus relays de escrita', - 'Failed to republish to your write relays: {{error}}': - 'Falha ao transmitir para seus relays de escrita: {{error}}', - 'Successfully republish to relay set: {{name}}': - 'Transmitido com sucesso para o conjunto de relé: {{name}}', - 'Failed to republish to relay set: {{name}}. Error: {{error}}': - 'Falha ao transmitir para o conjunto de relé: {{name}}. Erro: {{error}}', - 'Successfully republish to relay: {{url}}': 'Transmitido com sucesso para o relé: {{url}}', - 'Failed to republish to relay: {{url}}. Error: {{error}}': - 'Falha ao transmitir para o relé: {{url}}. Erro: {{error}}', - 'Write relays': 'Relés de escrita', - 'No more reactions': 'Sem mais reações', - 'No reactions yet': 'Ainda sem reações', - 'No more zaps': 'Sem mais zaps', - 'No zaps yet': 'Ainda sem zaps', - 'No more boosts': 'Sem mais boosts', - 'No boosts yet': 'Ainda sem boosts', - 'n more boosts': '{{count}} more boosts', - FollowListNotFoundConfirmation: - 'Lista de seguir não encontrada. Deseja criar uma nova? Se seguiu utilizadores anteriormente, por favor NÃO confirme, pois esta operação fará com que perca a sua lista de seguir anterior.', - MuteListNotFoundConfirmation: - 'Lista de silenciados não encontrada. Deseja criar uma nova? Se silenciou utilizadores anteriormente, por favor NÃO confirme, pois esta operação fará com que perca a sua lista de silenciados anterior.', - 'Show NSFW content by default': 'Mostrar conteúdo NSFW por padrão', - 'Custom emoji management': 'Gestão de emojis personalizados', - 'After changing emojis, you may need to refresh the page': - 'Após alterar os emojis, poderá ser necessário actualizar a página', - 'Too many read relays': 'Demasiados relays de leitura', - 'Too many write relays': 'Demasiados relays de escrita', - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'Tem {{count}} relays de leitura. A maioria dos clientes usa apenas 2-4 relays, configurar mais é desnecessário.', - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'Tem {{count}} relays de escrita. A maioria dos clientes usa apenas 2-4 relays, configurar mais é desnecessário.', - 'Optimize Relay Settings': 'Optimizar definições de relay', - 'Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.': - 'A sua configuração actual de relay pode não ser ideal. Isto pode tornar difícil para outros encontrarem as suas publicações e pode resultar em notificações incompletas.', - 'Optimize Now': 'Optimizar agora', - 'Maybe Later': 'Talvez mais tarde', - "Don't remind me again": 'Não me relembrar novamente', - Posts: 'Publicações', - 'Posts (OPs)': 'Posts (OPs)', - 'Kind 1 replies': 'Kind 1 replies', - Comments: 'Comments', - 'Replies & comments': 'Replies & comments', - Articles: 'Artigos', - Highlights: 'Destaques', - 'A note from': 'A note from', - Polls: 'Inquéritos', - 'Zap polls': 'Zap polls', - 'Voice Posts': 'Áudios', - 'Photo Posts': 'Fotos', - 'Video Posts': 'Vídeos', - 'Git repositories': 'Git repositories', - 'Git issues': 'Git issues', - 'Git releases': 'Git releases', - 'Git Republic repository': 'Git Republic repository', - 'Git Republic issue': 'Git Republic issue', - 'Git Republic release': 'Git Republic release', - 'Git Republic event': 'Git Republic event', - 'Git Republic': 'Git Republic', - 'Open in Git Republic': 'Open in Git Republic', - 'Pre-release': 'Pre-release', - Draft: 'Draft', - 'Repository release': 'Repository release', - 'New Repository Release': 'New Repository Release', - 'Release notes use the editor below (optional).': - 'Release notes use the editor below (optional).', - 'Repository owner (npub or hex)': 'Repository owner (npub or hex)', - 'Repository id (d-tag)': 'Repository id (d-tag)', - 'Git tag name': 'Git tag name', - 'Tag target (40-char commit hash)': 'Tag target (40-character commit hash)', - '40-character hex SHA-1': '40-character hex SHA-1', - 'Release title': 'Release title', - 'Download URL': 'Download URL', - 'Draft release': 'Draft release', - 'Fill repository release fields': 'Fill in all required repository release fields.', - 'Invalid repository owner pubkey': 'Invalid repository owner (use npub or 64-char hex).', - 'Citations require private relays (NIP-65).': - 'Citations require private outbox relays (NIP-65).', - 'Select All': 'Seleccionar tudo', - 'Clear All': 'Limpar tudo', - 'Set as default filter': 'Definir como filtro predefinido', - 'Use filter': 'Use filter', - 'See all events': 'See all events', - 'See all events hint': - 'Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.', - 'Use filter hint': 'Only the kinds you select below are requested and shown.', - Apply: 'Aplicar', - Reset: 'Repor', - 'Share something on this Relay': 'Partilhe algo neste Relay', - 'Try deleting this note': 'Tente eliminar esta nota', - 'Deletion request sent to {{count}} relays': - 'Pedido de eliminação enviado para {{count}} relays', - 'Suitable Relays': 'Relays adequados', - 'People, keywords, or relays': 'Pessoas, palavras-chave ou relays', - 'Hide content mentioning muted users': 'Ocultar conteúdo que menciona utilizadores silenciados', - 'This note mentions a user you muted': 'Esta nota menciona um utilizador que silenciou', - Filter: 'Filtro', - 'Feed filter': 'Feed filter', - 'Search loaded posts': 'Search loaded posts', - 'Filter loaded posts placeholder': 'Filter by text in content or tags…', - 'Feed filter author': 'Author', - 'Feed filter author everyone': 'From everyone', - 'Feed filter author me': 'Only from me', - 'Feed filter author npub': 'From user (npub or hex)', - 'Feed filter author npub from prefix': 'from:', - 'Feed filter author npub placeholder': 'npub1… or 64-char hex', - 'Feed filter author me needs login': 'Log in to filter by your pubkey', - 'Within the last': 'Within the last', - 'Time unit': 'Time unit', - Minutes: 'Minutes', - Days: 'Days', - Weeks: 'Weeks', - Months: 'Months', - Years: 'Years', - 'Feed filter client-side hint': - 'Filters only apply to posts already loaded; relays are not queried again.', - 'Feed full search': 'Perform full search', - 'Feed full search running': 'Searching…', - 'Feed full search clear': 'Clear', - 'Feed full search active hint': - 'Showing relay search results. Clear to return to the live feed.', - 'Feed full search need constraint': - 'Add search text, an author filter, or a time range before searching relays.', - 'Feed full search invalid feed': 'This feed cannot run a relay search.', - 'Feed full search failed': 'Relay search failed. Try again.', - 'Feed full search empty': 'No matching posts were found on the queried relays.', - 'No loaded posts match your filters.': 'No loaded posts match your filters.', - 'mentioned you in a note': 'mencionou-o numa nota', - 'quoted your note': 'citou a sua nota', - 'quoted this note': 'Quoted this note', - 'highlighted this note': 'Highlighted this note', - 'cited in article': 'Cited in article', - 'Thread backlinks heading': 'Also quoting this note', - 'Thread backlinks primary section': 'Quotes, highlights & citations', - 'Thread backlinks bookmarks section': 'Bookmarks', - 'Thread backlinks lists section': 'Lists & collections', - 'View full note and thread': 'View full note and thread', - 'labeled this note': 'Labeled this note', - 'reported this note': 'Reported this note', - 'bookmarked this note': 'Bookmarked this note', - 'pinned this note': 'Pinned this note', - 'listed this note': 'Listed this note', - 'bookmark set reference': 'Bookmark set includes this note', - 'curated this note': 'Curated this note', - 'badge award for this note': 'Badge award for this note', - 'referenced this note': 'Referenced this note', - 'Report events heading': 'Moderation reports', - 'voted in your poll': 'votou na sua sondagem', - 'reacted to your note': 'reagiu à sua nota', - 'boosted your note': 'deu boost na sua nota', - 'zapped your note': 'zappeou a sua nota', - 'zapped you': 'zappeou-o', - zapped: 'zapped', - 'Invalid zap receipt': 'Invalid zap receipt', - 'Zapped note': 'Zapped note', - 'Zapped profile': 'Zapped profile', - 'Zap reply threshold': 'Zap reply threshold', - 'Zaps above this amount will appear as replies in threads': - 'Zaps above this amount will appear as replies in threads', - 'Mark as read': 'Marcar como lida', - Report: 'Denunciar', - 'Successfully report': 'Denúncia enviada com sucesso', - 'Failed to report': 'Falha ao enviar denúncia', - nudity: 'Nudez', - malware: 'Malware', - profanity: 'Blasfémia', - illegal: 'Conteúdo ilegal', - spam: 'Spam', - other: 'Outro', - 'Notification list style': 'Estilo da lista de notificações', - 'See extra info for each notification': 'Ver informações extra para cada notificação', - 'See more notifications at a glance': 'Ver mais notificações rapidamente', - Detailed: 'Detalhado', - 'Submit Relay': 'Enviar Relay', - Homepage: 'Página inicial', - 'Proof of Work (difficulty {{minPow}})': 'Prova de Trabalho (dificuldade {{minPow}})', - 'via {{client}}': 'via {{client}}', - 'Auto-load media': 'Carregamento automático de multimédia', - Always: 'Sempre', - 'Wi-Fi only': 'Apenas Wi-Fi', - Never: 'Nunca', - 'Click to load image': 'Clique para carregar a imagem', - 'Click to load media': 'Clique para carregar a mídia', - 'Click to load YouTube video': 'Clique para carregar o vídeo do YouTube', - '{{count}} reviews': '{{count}} avaliações', - 'Write a review': 'Escrever uma avaliação', - 'No reviews yet. Be the first to write one!': - 'Ainda não há avaliações. Seja o primeiro a escrever uma!', - 'View more reviews': 'Ver mais avaliações', - 'Failed to review': 'Falha ao avaliar', - 'Write a review and pick a star rating': - 'Escreva uma avaliação e escolha uma classificação por estrelas', - Submit: 'Enviar', - 'Reviews for {{relay}}': 'Avaliações para {{relay}}', - 'No relays selected': 'Nenhum relay selecionado', - 'Post to': 'Publicar para', - 'Write relays and {{count}} other relays': 'Relays de escrita e {{count}} outros relays', - '{{count}} relays': '{{count}} relays', - 'Republishing...': 'Republicando...', - 'Trending Notes': 'Notas em Tendência', - 'Trending on Your Favorite Relays': 'Trending on Your Favorite Relays', - 'Trending on the Default Relays': 'Trending on the Default Relays', - 'Latest from your follows': 'Latest from your follows', - 'Latest from our recommended follows': 'Latest from our recommended follows', - 'Follows latest page title': 'Latest from follows', - 'Follows latest page description': - 'Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.', - 'Follows latest nav label': 'Follows latest', - 'Loading follow list…': 'Loading follow list…', - 'Could not load recommended follows': 'Could not load recommended follows', - 'Your follow list is empty': 'Your follow list is empty', - 'Loading recent posts from follows…': 'Loading recent posts from follows…', - 'Loading more…': 'Loading more…', - 'No recent posts from this user in the current fetch': - 'No recent posts from this user in the current fetch', - 'Loading trending notes from your relays...': 'Loading trending notes from your relays...', - Sort: 'Sort', - newest: 'newest', - oldest: 'oldest', - 'most popular': 'most popular', - 'least popular': 'least popular', - 'Connected to': 'Conectado a', - 'Disconnect Wallet': 'Desconectar Carteira', - 'Are you absolutely sure?': 'Tem certeza absoluta?', - 'You will not be able to send zaps to others.': 'Você não poderá enviar zaps para outros.', - Disconnect: 'Desconectar', - 'Set up your wallet to send and receive sats!': - 'Configure a sua carteira para enviar e receber sats!', - 'Set up': 'Configurar', - 'nested events': 'nested events', - 'Loading RSS feeds...': 'Loading RSS feeds...', - 'No RSS feed items available': 'No RSS feed items available', - 'Show or hide the RSS page and sidebar entry': 'Show or hide the RSS page and sidebar entry', - 'Refreshing feeds...': 'Refreshing feeds...', - 'All feeds': 'All feeds', - 'All time': 'All time', - 'Last hour': 'Last hour', - 'Last day': 'Last day', - 'Last week': 'Last week', - 'Last month': 'Last month', - 'Last 24 hours': 'Last 24 hours', - 'Last 48 hours': 'Last 48 hours', - 'Time range': 'Time range', - 'Filter by RSS source': 'Filter by RSS source', - 'No items match your filters': 'No items match your filters', - 'Search...': 'Search...', - '{{count}} feeds': '{{count}} feeds', - 'Toggle filters': 'Toggle filters', - 'Showing {{filtered}} of {{total}} items': 'Showing {{filtered}} of {{total}} items', - Full: 'Full', - Compact: 'Compacto', - Expand: 'Expand', - 'help.title': 'Help', - 'help.tabShortcuts': 'Keyboard shortcuts', - 'help.tabOverview': 'App overview', - 'shortcuts.title': 'Keyboard shortcuts', - 'shortcuts.intro': - 'Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.', - 'shortcuts.sectionApp': 'This app', - 'shortcuts.sectionSearch': 'Search bar', - 'shortcuts.sectionStandard': 'Standard', - 'shortcuts.openHelp': 'Show this help', - 'shortcuts.or': 'or', - 'shortcuts.then': 'then', - 'shortcuts.focusPrimary': - 'Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)', - 'shortcuts.focusSecondary': - 'Focus side panel scroll when it is open (desktop; same keys to scroll)', - 'shortcuts.newNote': 'New note / post (after login if needed)', - 'shortcuts.searchSuggest': 'Move through suggestions', - 'shortcuts.searchDismiss': 'Close search dropdown', - 'shortcuts.tabNavigate': 'Move focus to the next or previous control', - 'shortcuts.activate': 'Activate buttons and many controls', - 'shortcuts.closeOverlays': 'Close dialogs, menus, and the search dropdown', - 'shortcuts.scrollWhenFocused': 'Scroll the focused scrollable area', - 'shortcuts.browserBack': 'Browser back (history)', - 'No spells yet. Create one with the button above.': - 'No spells yet. Create one with the button above.', - 'Loading spells from your relays…': 'Loading spells from your relays…', - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.': - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.', - 'Select a spell…': 'Select a spell…', - 'Spells from follows': 'From people you follow ({{count}})', - 'Other spells': 'Other spells ({{count}})', - 'Select a spell to view its feed.': 'Select a spell to view its feed.', - 'Add another row': 'Add another row', - 'Remove this row': 'Remove this row', - 'One kind number per row (e.g. 1 for notes).': 'One kind number per row (e.g. 1 for notes).', - 'One author per row: $me, $contacts, or hex pubkey / npub.': - 'One author per row: $me, $contacts, or hex pubkey / npub.', - 'One hex event id per row.': 'One hex event id per row.', - 'One wss:// URL per row. Leave empty to use your write relays.': - 'One wss:// URL per row. Leave empty to use your write relays.', - 'One topic per row.': 'One topic per row.', - topic: 'topic', - 'Spell form fields': 'Spell form fields', - 'Counting matching events…': 'Counting matching events…', - 'Edit spell': 'Edit spell', - 'Clone spell': 'Clone spell', - 'Spell cloned': 'Spell cloned', - 'Clone spell intro': - 'This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.', - 'Spell updated': 'Spell updated', - 'Relay URL': 'Relay', - Count: 'Count', - 'Edit spell relays': 'Edit relays', - 'COUNT spell relay errors hint': - 'One or more relays failed or returned an error. You can change the relay list in the spell and save again.', - 'COUNT spell total distinct explanation': - 'Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.', - 'Leave empty to use your write relays.': 'Leave empty to use your write relays.', - 'COUNT spell result explanation': - 'Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.', - 'COUNT spell may be capped by limit': - 'This count may equal your spell limit — there could be more matching events on the network.', - 'Spell count failed. Check relays or try again.': - 'Could not complete the count. Check relays or try again.', - 'REQ returns a feed; COUNT returns a number.': - 'REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.', - listImportManualLabel: 'Pre-fill from event', - listImportFromEventHint: - 'Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.', - listImportManualPlaceholder: '64-char hex, nevent1…, or naddr1…', - listImportLoadManual: 'Apply', - listImportContentSkipped: - 'This event has non-empty content (may include encrypted private items). Only public tags were merged.', - listImportUnsupportedEmoji: - 'This list includes emoji tags (NIP-30); those are not added to the spell filter.', - listImportUnsupportedTag: - 'Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.', - listImportBadATag: 'Could not parse address tag: {{preview}}…', - listImportATagNotFound: 'Could not resolve address tag: {{preview}}…', - listImportATagFailed: 'Failed to resolve address tag: {{preview}}…', - listImportEventNotFound: 'No event found for that reference.', - 'REQ tag filters': 'REQ tag filters', - spellFormTagFiltersLabel: 'Tag filters on matching events', - spellCreateIntro: - 'Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.', - spellFormSectionQueryTitle: 'Spell query', - spellFormSectionQueryHint: - 'This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).', - spellFormSectionMetadataTitle: 'Listing & labels (optional)', - spellFormSectionMetadataBadge: 'Not part of the query', - spellFormSectionMetadataHint: - 'Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.', - spellFormCatalogTopicsLabel: 'Topic labels on this spell (t tags)', - spellTopicsMetadataHint: - 'One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).', - spellTagFiltersHint: - 'Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.', - spellTagFiltersEmpty: 'No tag filters yet. Add rows below or apply an event reference above.', - 'Tag filter letter': 'Tag letter', - 'Filter value': 'Value', - 'Add tag filter': 'Add tag filter', - spellPickerSectionYours: 'Your spells', - 'Failed to remove spell from local storage': 'Failed to remove spell from local storage', - Spells: 'Spells', - 'doublePane.secondaryEmpty': 'Open a note, profile, or settings item to show it here.', - 'doublePane.secondaryEmptyHint': 'Your feed and primary pages stay on the left.', - '(empty)': '(empty)', - '12-hour (AM/PM)': '12-hour (AM/PM)', - '24-hour': '24-hour', - 'A new version is available': 'A new version is available', - 'A short description of the article content': 'A short description of the article content', - AM: 'AM', - 'Access via': 'Access via', - 'Accessed On': 'Accessed On', - 'Accessed on': 'Accessed on', - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.': - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.', - 'Add a relay to block': 'Add a relay to block', - 'Add at least one invitee': 'Add at least one invitee', - 'Add client identifier': 'Add client identifier', - 'Add expiration tags by default': 'Add expiration tags by default', - 'Add quiet tags by default': 'Add quiet tags by default', - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above': - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above', - 'Add the source (where this text is from)': 'Add the source (where this text is from)', - 'Add to favorites': 'Add to favorites', - 'Add {{count}} Selected': 'Add {{count}} Selected', - 'Added at': 'Added at', - 'Added {{count}} relay(s)': 'Added {{count}} relay(s)', - 'Adding...': 'Adding...', - 'Adding…': 'Adding…', - 'Advanced Options': 'Advanced Options', - 'All Topics': 'All Topics', - 'All feeds from OPML file are already added': 'All feeds from OPML file are already added', - 'All items deleted successfully': 'All items deleted successfully', - 'Already blocked': 'Already blocked', - 'Already saved': 'Already saved', - 'Application Recommendations': 'Application Recommendations', - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.': - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.', - 'Are you sure you want to delete all items from this store?': - 'Are you sure you want to delete all items from this store?', - 'Are you sure you want to unmute this user? This will restore the follow button.': - 'Are you sure you want to unmute this user? This will restore the follow button.', - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", - 'Article exported as AsciiDoc': 'Article exported as AsciiDoc', - 'Article exported as Markdown': 'Article exported as Markdown', - 'Article title (optional)': 'Article title (optional)', - articleDTagDefaultHint: - 'Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….', - Audio: 'Audio', - Author: 'Author', - 'Author is required for reading groups': 'Author is required for reading groups', - 'Author name (optional)': 'Author name (optional)', - Authors: 'Authors', - 'Block Relay': 'Block Relay', - 'Blocked Relays': 'Blocked Relays', - 'Blocking...': 'Blocking...', - Blossom: 'Blossom', - Book: 'Book', - 'Brief description of the event': 'Brief description of the event', - 'Brief summary (optional)': 'Brief summary (optional)', - 'Brief summary of the article (optional)': 'Brief summary of the article (optional)', - 'Browse Cache': 'Browse Cache', - 'C-Tag': 'C-Tag', - 'Cache Relays': 'Cache Relays', - 'Cache cleared successfully': 'Cache cleared successfully', - 'Cache refreshed successfully': 'Cache refreshed successfully', - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.': - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.', - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)': - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)', - 'Cache relays saved': 'Cache relays saved', - Cancelled: 'Cancelled', - Chapter: 'Chapter', - 'Chapter Title': 'Chapter Title', - 'Chapter title (optional)': 'Chapter title (optional)', - Citation: 'Citation', - 'Citation title (optional)': 'Citation title (optional)', - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.': - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})', - 'Cleanup Duplicates': 'Cleanup Duplicates', - Clear: 'Clear', - 'Clear Cache': 'Clear Cache', - 'Clear Service Worker': 'Clear Service Worker', - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.': - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.', - 'Click update to get the latest features and improvements': - 'Click update to get the latest features and improvements', - Close: 'Close', - 'Comma or space-separated topics (will be added as t-tags)': - 'Comma or space-separated topics (will be added as t-tags)', - Command: 'Command', - Configure: 'Configure', - 'Connect Wallet': 'Connect Wallet', - 'Console Logs': 'Console Logs', - 'Console logs cleared': 'Console logs cleared', - 'Content is required': 'Content is required', - 'Content must be 5000 characters or less': 'Content must be 5000 characters or less', - Controversial: 'Controversial', - 'Copied!': 'Copied!', - 'Copy to clipboard': 'Copy to clipboard', - 'Create Article': 'Create Article', - 'Create Citation': 'Create Citation', - 'Create Highlight': 'Create Highlight', - 'Create New Thread': 'Create New Thread', - 'Create Poll': 'Create Poll', - 'Create Thread': 'Create Thread', - composeModeKind1: 'Short note (kind 1) — turn off other compose types', - 'Create a Spell': 'Create a Spell', - 'Creating...': 'Creating...', - 'D-Tag': 'D-Tag', - 'D-Tag is required for articles': 'D-Tag is required for articles', - DOI: 'DOI', - 'Date-based (all-day)': 'Date-based (all-day)', - 'Default expiration (months)': 'Default expiration (months)', - 'Default quiet period (days)': 'Default quiet period (days)', - 'Delete All': 'Delete All', - 'Delete item': 'Delete item', - 'Deleted {{count}} event(s)': 'Deleted {{count}} event(s)', - 'Deletion request sent': 'Deletion request sent', - 'Description (content)': 'Description (content)', - 'Digital Object Identifier (optional)': 'Digital Object Identifier (optional)', - 'Disable word wrap': 'Disable word wrap', - 'Discovered Relays': 'Discovered Relays', - 'Discovering relays...': 'Discovering relays...', - Discussion: 'Discussion', - Discussions: 'Discussions', - Downvote: 'Downvote', - 'Edited by': 'Edited by', - Editor: 'Editor', - 'Editor name (optional)': 'Editor name (optional)', - 'Enable word wrap': 'Enable word wrap', - 'End date': 'End date', - 'End date must be after start date': 'End date must be after start date', - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.': - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.', - 'Enter a descriptive title for your thread': 'Enter a descriptive title for your thread', - 'Enter the author name': 'Enter the author name', - 'Enter the book title': 'Enter the book title', - 'Enter the specific text you want to highlight in the main content area above': - 'Enter the specific text you want to highlight in the main content area above', - 'Event IDs (ids)': 'Event IDs (ids)', - 'Event appears to be invalid or corrupted': 'Event appears to be invalid or corrupted', - 'Event has no value data': 'Event has no value data', - 'Event is missing required fields: {{fields}}': 'Event is missing required fields: {{fields}}', - 'Event type': 'Event type', - 'Expiration Tags': 'Expiration Tags', - 'Export OPML': 'Export OPML', - 'Export as AsciiDoc': 'Export as AsciiDoc', - 'Export as Markdown': 'Export as Markdown', - 'External Citation': 'External Citation', - 'External Citation Settings': 'External Citation Settings', - 'Failed to add relay. Please try again.': 'Failed to add relay. Please try again.', - 'Failed to add relays': 'Failed to add relays', - 'Failed to block relay. Please try again.': 'Failed to block relay. Please try again.', - 'Failed to cleanup duplicates': 'Failed to cleanup duplicates', - 'Failed to clear cache': 'Failed to clear cache', - 'Failed to copy': 'Failed to copy', - 'Failed to create relay set. Please try again.': - 'Failed to create relay set. Please try again.', - 'Failed to create thread': 'Failed to create thread', - 'Failed to create thread. Please try a different relay.': - 'Failed to create thread. Please try a different relay.', - 'Failed to delete all items': 'Failed to delete all items', - 'Failed to delete item': 'Failed to delete item', - 'Failed to discover relays': 'Failed to discover relays', - 'Failed to export OPML file': 'Failed to export OPML file', - 'Failed to export article': 'Failed to export article', - 'Failed to import OPML file: {{error}}': 'Failed to import OPML file: {{error}}', - 'Failed to load RSS feeds': 'Failed to load RSS feeds', - 'Failed to load store items': 'Failed to load store items', - 'Failed to mute user privately': 'Failed to mute user privately', - 'Failed to mute user publicly': 'Failed to mute user publicly', - 'Failed to pin note': 'Failed to pin note', - 'Failed to publish post': 'Failed to publish post', - 'Failed to publish reply': 'Failed to publish reply', - 'Failed to publish thread': 'Failed to publish thread', - 'Failed to publish to some relays. Please try again or use different relays.': - 'Failed to publish to some relays. Please try again or use different relays.', - 'Failed to save RSS feeds': 'Failed to save RSS feeds', - 'Failed to save cache relays': 'Failed to save cache relays', - 'Failed to save relay list': 'Failed to save relay list', - 'Failed to unregister service worker: ': 'Failed to unregister service worker: ', - 'Failed to unsubscribe from topic': 'Failed to unsubscribe from topic', - Favorite: 'Favorite', - Fetch: 'Fetch', - 'Fetch once, then stop.': 'Fetch once, then stop.', - 'Filter by': 'Filter by', - 'Flat View': 'Flat View', - 'Font size': 'Font size', - 'Full Quote/Context': 'Full Quote/Context', - 'Full-text search query': 'Full-text search query', - Geohash: 'Geohash', - 'Geohash (optional)': 'Geohash (optional)', - 'Global quiet mode': 'Global quiet mode', - 'Group discussions by topic': 'Group discussions by topic', - 'Grouped View': 'Grouped View', - Groups: 'Groups', - 'Handler {{index}}': 'Handler {{index}}', - 'Hardcopy Citation': 'Hardcopy Citation', - 'Hardcopy Citation Settings': 'Hardcopy Citation Settings', - Hide: 'Hide', - 'Hide interactions on all posts': 'Hide interactions on all posts', - 'Hide interactions on posts with quiet tags': 'Hide interactions on posts with quiet tags', - 'High PoW': 'High PoW', - 'Higher values make your thread harder to mine but more unique.': - 'Higher values make your thread harder to mine but more unique.', - Highlight: 'Highlight', - 'Highlight Settings': 'Highlight Settings', - 'How to Create a Highlight (NIP-84)': 'How to Create a Highlight (NIP-84)', - 'Human-readable spell name': 'Human-readable spell name', - 'Image URL': 'Image URL', - 'Import OPML': 'Import OPML', - 'Imported {{count}} feed(s) from OPML file': 'Imported {{count}} feed(s) from OPML file', - 'In-Browser Cache': 'In-Browser Cache', - Insert: 'Insert', - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).': - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).', - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.': - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.', - 'Insert event or address': 'Insert event or address', - 'Insert mention': 'Insert mention', - 'Internal Citation': 'Internal Citation', - 'Internal Citation Settings': 'Internal Citation Settings', - 'Invalid Event': 'Invalid Event', - 'Invalid Lightning Address': 'Invalid Lightning Address', - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.': - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.', - 'Invalid URL': 'Invalid URL', - 'Invalid content JSON': 'Invalid content JSON', - 'Invalid relay URL': 'Invalid relay URL', - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.': - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.', - 'Item deleted successfully': 'Item deleted successfully', - JSON: 'JSON', - 'Join link': 'Join link', - 'Journal/Publication name (optional)': 'Journal/Publication name (optional)', - Json: 'JSON', - Kinds: 'Kinds', - 'Language Model': 'Language Model', - Large: 'Large', - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link': - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link', - 'Lightning payment failed': 'Lightning payment failed', - Limit: 'Limit', - 'Live feed; keeps updating.': 'Live feed; keeps updating.', - 'Loading more...': 'Loading more...', - 'Loading relays...': 'Loading relays...', - 'Location (optional)': 'Location (optional)', - 'Log in to run this spell (it uses $me or $contacts).': - 'Log in to run this spell (it uses $me or $contacts).', - 'Login failed': 'Login failed', - 'Login to configure RSS feeds': 'Login to configure RSS feeds', - 'Long-form Article': 'Long-form Article', - 'Mailbox relays saved': 'Mailbox relays saved', - 'Mark as NSFW': 'Mark as NSFW', - 'Maximum {{max}} invitees': 'Maximum {{max}} invitees', - 'Maximum {{max}} invitees allowed': 'Maximum {{max}} invitees allowed', - Medium: 'Medium', - Mode: 'Mode', - 'Most Zapped': 'Most Zapped', - 'Move to top': 'Move to top', - 'Multiple choice': 'Multiple choice', - 'Mute failed': 'Mute failed', - NSFW: 'NSFW', - Name: 'Name', - 'Name of the language model used': 'Name of the language model used', - 'New External Citation': 'New External Citation', - 'New Hardcopy Citation': 'New Hardcopy Citation', - 'New Highlight': 'New Highlight', - 'New Internal Citation': 'New Internal Citation', - 'New Long-form Article': 'New Long-form Article', - 'New Poll': 'New Poll', - 'New Discussion': 'New Discussion', - 'New Prompt Citation': 'New Prompt Citation', - 'New Public Message': 'New Public Message', - 'New Wiki Article': 'New Wiki Article', - 'New Wiki Article (Markdown)': 'New Wiki Article (Markdown)', - Newest: 'Newest', - 'No JSON available': 'No JSON available', - 'No RSS feeds found in OPML file': 'No RSS feeds found in OPML file', - 'No cached data found.': 'No cached data found.', - 'No console logs captured yet': 'No console logs captured yet', - 'No events found': 'No events found', - 'No feeds configured. Default feed will be used.': - 'No feeds configured. Default feed will be used.', - 'No feeds to export': 'No feeds to export', - 'No groups available. Join some groups first.': 'No groups available. Join some groups first.', - 'No items in this store.': 'No items in this store.', - 'No items match your search.': 'No items match your search.', - 'No logs match the current filters': 'No logs match the current filters', - 'No posts found': 'No posts found', - 'No posts match your search': 'No posts match your search', - 'No relays available. Please configure relays in settings.': - 'No relays available. Please configure relays in settings.', - 'No service workers or caches found for this app': - 'No service workers or caches found for this app', - 'No users found': 'No users found', - 'No valid RSS feed URLs found in OPML file': 'No valid RSS feed URLs found in OPML file', - 'Note pinned': 'Note pinned', - 'Note unpinned': 'Note unpinned', - Oldest: 'Oldest', - 'Open Timestamp': 'Open Timestamp', - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.': - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.', - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.': - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.', - Optional: 'Optional', - 'Optional image for the event': 'Optional image for the event', - 'Optionally, add the full quote/context to show your highlight within it': - 'Optionally, add the full quote/context to show your highlight within it', - PM: 'PM', - 'Page Range': 'Page Range', - Pages: 'Pages', - 'Paste URL of a GIF': 'Paste URL of a GIF', - 'Paste URL of a meme image': 'Paste URL of a meme image', - 'Paste the entire original passage that contains your highlight': - 'Paste the entire original passage that contains your highlight', - Photo: 'Photo', - 'Picture Note': 'Picture Note', - 'Pin note': 'Pin note', - 'Plain text description of the query': 'Plain text description of the query', - 'Please login to view bookmarks': 'Please login to view bookmarks', - 'Please select a group': 'Please select a group', - 'Please select at least one relay': 'Please select at least one relay', - 'Please set a start date': 'Please set a start date', - 'Poll with no options': 'Poll with no options', - 'Post published to some relays': 'Post published to some relays', - 'Posts will automatically include expiration tags': - 'Posts will automatically include expiration tags', - 'Posts will automatically include quiet tags': 'Posts will automatically include quiet tags', - 'Posts will be quiet for this many days': 'Posts will be quiet for this many days', - 'Posts will expire after this many months': 'Posts will expire after this many months', - 'Processing...': 'Processing...', - 'Profile event not available': 'Profile event not available', - 'Prompt Citation': 'Prompt Citation', - 'Prompt Citation Settings': 'Prompt Citation Settings', - 'Prompt Conversation Script': 'Prompt Conversation Script', - 'Proof of Work': 'Proof of Work', - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post': - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post', - 'Publish to Relays': 'Publish to Relays', - 'Published By': 'Published By', - 'Published In': 'Published In', - 'Published On': 'Published On', - 'Published in': 'Published in', - 'Published on': 'Published on', - 'Publisher name (optional)': 'Publisher name (optional)', - 'Quiet Tags': 'Quiet Tags', - 'RSS Feed': 'RSS Feed', - 'RSS + Web': 'RSS + Web', - 'RSS feed source': 'RSS feed source', - 'All feed sources': 'All feed sources', - 'RSS feed view mode': 'RSS feed view mode', - 'Article URLs': 'Article URLs', - 'Article URLs subtitle': - 'One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.', - 'Article URLs Nostr manual subtitle': - 'Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.', - 'RSS feed column title': 'RSS & linked articles', - 'RSS feed column subtitle': - 'Feed entries and article cards that include at least one item from your subscribed RSS feeds.', - 'RSS timeline': 'RSS timeline', - 'RSS timeline subtitle': - 'Every item from your subscribed feeds, newest first — classic RSS reader.', - URLs: 'URLs', - RSS: 'RSS', - 'No URL-only items yet': 'No URL-only items yet', - 'Respond to this RSS entry': 'Respond to this RSS entry', - 'RSS read-only thread hint': - 'Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.', - 'RSS feed item label': 'RSS', - 'Web URL item label': 'Web URL', - 'URL thread activity': 'URL thread activity', - 'Suppress Clawstr links in RSS previews': 'Hide clawstr.com in RSS and URL feed', - 'Hide local, media & feed URLs from URL cards': - 'Hide local, media, feed, document & XML links from the feed', - 'RSS articles': 'RSS articles', - 'Web comments': 'Web comments', - 'Web highlights': 'Web highlights', - 'In your bookmarks': 'In your bookmarks', - '{{count}} RSS entries for this URL': '{{count}} RSS entries for this URL', - '{{count}} entries for this article URL': '{{count}} entries for this article URL', - 'No comments yet': 'No comments yet', - 'No highlights yet': 'No highlights yet', - 'Showing {{filtered}} of {{total}} entries': 'Showing {{filtered}} of {{total}} entries', - standardRssFeed_spotifeed: 'Spotify playlist (Spotifeed)', - standardRssFeed_youtube: 'YouTube feed', - standardRssFeed_youtubeChannel: 'YouTube channel feed', - standardRssFeed_youtubePlaylist: 'YouTube playlist feed', - standardRssFeed_feedburner: 'FeedBurner', - standardRssFeed_reddit: 'Reddit RSS', - standardRssFeed_substack: 'Substack', - standardRssFeed_medium: 'Medium', - 'RSS Feed Settings': 'RSS Feed Settings', - 'Follow sets': 'Follow sets', - 'Follow sets settings intro': - 'NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.', - 'New follow set': 'New follow set', - 'Edit follow set': 'Edit follow set', - 'No follow sets yet': 'You have not created any follow sets yet.', - 'Follow set saved': 'Follow set saved', - 'Follow set deleted': 'Follow set deleted', - 'Failed to load follow sets': 'Failed to load follow sets', - members: 'members', - 'Optional display title': 'Optional display title', - 'List id (d tag)': 'List id (d tag)', - 'Follow set d tag hint': - 'Stable identifier for this list. It cannot be changed after the first publish.', - 'People in this list': 'People in this list', - 'Delete follow set?': 'Delete this follow set?', - 'Delete follow set confirm': - 'This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.', - 'Remove feed': 'Remove feed', - 'RSS Feeds': 'RSS Feeds', - 'RSS feeds exported to OPML file': 'RSS feeds exported to OPML file', - 'RSS feeds saved': 'RSS feeds saved', - 'Rate limited. Please wait before trying again.': - 'Rate limited. Please wait before trying again.', - 'Reaction published': 'Reaction published', - 'Reaction removed': 'Reaction removed', - 'Read full article': 'Read full article', - 'Reading group entry': 'Reading group entry', - 'Readings Options': 'Readings Options', - Recipients: 'Recipients', - 'Recipients detected from your message:': 'Recipients detected from your message:', - 'Recommended Relays': 'Recommended Relays', - 'Recommended applications for handling events of kind {{kind}}': - 'Recommended applications for handling events of kind {{kind}}', - 'Reference to the cited Nostr event in kind:pubkey:hex format': - 'Reference to the cited Nostr event in kind:pubkey:hex format', - 'Refresh Cache': 'Refresh Cache', - 'Refreshing posts...': 'Refreshing posts...', - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.': - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.', - Relay: 'Relay', - 'Relay Hint': 'Relay Hint', - 'Relay URL (optional)': 'Relay URL (optional)', - 'Relay blocked successfully': 'Relay blocked successfully', - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.': - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.', - 'Relay set options': 'Relay set options', - 'Remove from favorites': 'Remove from favorites', - Rendered: 'Rendered', - 'Reply published': 'Reply published', - 'Reply published to some relays': 'Reply published to some relays', - 'Reply to Public Message': 'Reply to Public Message', - 'Republish to all active relays': 'Republish to all active relays', - 'Republish to all available relays': 'Republish to all available relays', - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.': - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.', - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.': - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.', - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Respect quiet tags': 'Respect quiet tags', - 'Search (NIP-50)': 'Search (NIP-50)', - 'Search by name or npub…': 'Search by name or npub…', - 'Search calendar, publications, wiki…': 'Search calendar, publications, wiki…', - 'Search for user…': 'Search for user…', - 'Search items...': 'Search items...', - 'Search logs...': 'Search logs...', - 'Search notes, threads, long-form…': 'Search notes, threads, long-form…', - 'Search on GifBuddy': 'Search on GifBuddy', - 'Search on Meme Amigo': 'Search on Meme Amigo', - 'Search posts...': 'Search posts...', - 'Search threads by title, content, tags, npub, author...': - 'Search threads by title, content, tags, npub, author...', - 'Searching all available relays...': 'Searching all available relays...', - 'Searching…': 'Searching…', - 'See reference': 'See reference', - 'Select Group': 'Select Group', - 'Select Media Type': 'Select Media Type', - 'Select group...': 'Select group...', - 'Select relays': 'Select relays', - 'Publish relay cap hint': - 'At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Publish relay cap hint with outbox first': - 'At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Select the group where you want to create this discussion.': - 'Select the group where you want to create this discussion.', - 'Select topic...': 'Select topic...', - 'Selected text': 'Selected text', - 'Send Public Message': 'Send Public Message', - 'Send a Lightning payment to this user': 'Send a Lightning payment to this user', - 'Service worker caches cleared. Please reload the page.': - 'Service worker caches cleared. Please reload the page.', - 'Service worker unregistered and caches cleared. Please reload the page.': - 'Service worker unregistered and caches cleared. Please reload the page.', - 'Service worker unregistered. Please reload the page.': - 'Service worker unregistered. Please reload the page.', - 'Share your thoughts, ask questions, or start a discussion...': - 'Share your thoughts, ask questions, or start a discussion...', - 'Short Video Note': 'Short Video Note', - 'Show RSS Feed': 'Show RSS Feed', - 'Show all discussions in a single list': 'Show all discussions in a single list', - 'Show less': 'Show less', - Since: 'Since', - Small: 'Small', - 'Some relays have temporarily disabled writes.': - 'Some relays have temporarily disabled writes.', - Source: 'Source', - 'Spell definition': 'Spell definition', - 'Spell published': 'Spell published', - 'Start date': 'Start date', - 'Start typing to see a preview...': 'Start typing to see a preview...', - 'Subject (Book Title)': 'Subject (Book Title)', - 'Subject (book title) is required for reading groups': - 'Subject (book title) is required for reading groups', - 'Subject / Topics': 'Subject / Topics', - Subscribe: 'Subscribe', - Subscribed: 'Subscribed', - 'Subscribed to topic': 'Subscribed to topic', - 'Subscribed to topic (local)': 'Subscribed to topic (local)', - 'Subscribing...': 'Subscribing...', - Summary: 'Summary', - 'Supported Event Types': 'Supported Event Types', - 'Take a note': 'Take a note', - 'The full prompt conversation (optional)': 'The full prompt conversation (optional)', - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.': - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.', - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.': - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.', - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.': - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.', - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a Nostr event of kind {{kind}}.': - 'This GIF was found in a Nostr event of kind {{kind}}.', - 'This file could be either audio or video. Please select the correct type:': - 'This file could be either audio or video. Please select the correct type:', - 'This store does not contain replaceable events': - 'This store does not contain replaceable events', - 'This will add additional tags for author and subject to help organize reading group discussions.': - 'This will add additional tags for author and subject to help organize reading group discussions.', - 'Thread Content': 'Thread Content', - 'Thread Title': 'Thread Title', - 'Thread creation timed out. Please try again.': 'Thread creation timed out. Please try again.', - 'Thread published': 'Thread published', - 'Threads are organized by topics. Choose a topic that best fits your discussion.': - 'Threads are organized by topics. Choose a topic that best fits your discussion.', - 'Time-based': 'Time-based', - 'Title is required': 'Title is required', - 'Title must be 100 characters or less': 'Title must be 100 characters or less', - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.': - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.', - Top: 'Top', - Topic: 'Topic', - URL: 'URL', - 'URL of the article cover image (optional)': 'URL of the article cover image (optional)', - 'Unique identifier for this article (required)': - 'Unique identifier for this article (required)', - 'Unmute failed': 'Unmute failed', - 'Unpin note': 'Unpin note', - Unsubscribe: 'Unsubscribe', - 'Unsubscribed from topic': 'Unsubscribed from topic', - 'Unsubscribing...': 'Unsubscribing...', - Until: 'Until', - Untitled: 'Untitled', - Update: 'Update', - 'Updating...': 'Updating...', - 'Upload Audio Comment': 'Upload Audio Comment', - 'Upload Audio Message': 'Upload Audio Message', - 'Upload Media': 'Upload Media', - Upvote: 'Upvote', - 'User unmuted': 'User unmuted', - 'Version number (optional)': 'Version number (optional)', - Video: 'Video', - 'Video Note': 'Video Note', - 'Video file': 'Video file', - 'View Console Logs': 'View Console Logs', - 'View JSON': 'View JSON', - 'View cached items in this store.': 'View cached items in this store.', - 'View definition': 'View definition', - 'View details about cached data in IndexedDB stores. Click on a store to view its items.': - 'View details about cached data in IndexedDB stores. Click on a store to view its items.', - 'View on Alexandria': 'View on Alexandria', - 'View on DecentNewsroom': 'View on DecentNewsroom', - 'View on Wikistr': 'View on Wikistr', - 'View recent console logs for debugging': 'View recent console logs for debugging', - 'Voice Comment': 'Voice Comment', - 'Voice Note': 'Voice Note', - 'Voice note or audio file': 'Voice note or audio file', - Volume: 'Volume', - 'Volume number (optional)': 'Volume number (optional)', - 'Vote published': 'Vote published', - 'Vote removed': 'Vote removed', - 'Website where LLM was accessed (optional)': 'Website where LLM was accessed (optional)', - 'Wiki Article (AsciiDoc)': 'Wiki Article (AsciiDoc)', - 'Wiki Article (Markdown)': 'Wiki Article (Markdown)', - 'You can only delete your own notes': 'You can only delete your own notes', - 'You must be logged in to create a thread': 'You must be logged in to create a thread', - 'You need to add at least one media server in order to upload media files.': - 'You need to add at least one media server in order to upload media files.', - 'You need to login first': 'You need to login first', - 'Your account is blocked from posting to this relay.': - 'Your account is blocked from posting to this relay.', - Zap: 'Zap', - 'Zap failed': 'Zap failed', - created_at: 'created_at', - 'e tag of kind 1040 event (optional)': 'e tag of kind 1040 event (optional)', - 'e.g. meetup, conference': 'e.g. meetup, conference', - 'e.g., 123-145 (optional)': 'e.g., 123-145 (optional)', - 'e.g., GPT-4, Claude, etc. (required)': 'e.g., GPT-4, Claude, etc. (required)', - 'e.g., my-article-title': 'e.g., my-article-title', - entries: 'entries', - 'from Bunker': 'from Bunker', - 'from Extension': 'from Extension', - 'from NIP-05': 'from NIP-05', - general: 'general', - 'https://example.com (required)': 'https://example.com (required)', - 'https://example.com/image.jpg': 'https://example.com/image.jpg', - id: 'id', - items: 'items', - kind: 'kind', - 'kind:pubkey:hex format (required)': 'kind:pubkey:hex format (required)', - 'last updated': 'last updated', - matching: 'matching', - naddr: 'naddr', - nevent: 'nevent', - 'nevent1..., naddr1..., note1..., hex ID, or https://...': - 'nevent1..., naddr1..., note1..., hex ID, or https://...', - 'no notes found': 'no notes found', - of: 'of', - 'on note': 'on note', - optional: 'optional', - pubkey: 'pubkey', - 'sent a public message': 'sent a public message', - 'sent you a public message': 'sent you a public message', - 'sent you a public message (along with {{count}} others)': - 'sent you a public message (along with {{count}} others)', - sig: 'sig', - 'started a discussion in {{topic}}': 'started a discussion in {{topic}}', - tags: 'tags', - thread: 'thread', - threads: 'threads', - 'topic1, topic2, topic3': 'topic1, topic2, topic3', - '{{count}} relay(s) selected': '{{count}} relay(s) selected', - '🔞 NSFW 🔞': '🔞 NSFW 🔞', - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).': - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).', - 'Failed to refresh': 'Failed to refresh', - 'Invalid article link.': 'Invalid article link.', - Likes: 'Likes', - 'Loading…': 'Loading…', - 'Missing pubkey': 'Missing pubkey', - 'No RSS feed list found on relays': 'No RSS feed list found on relays', - 'Pinned posts': 'Pinned posts', - 'Publishing...': 'Publishing...', - 'RSS article': 'RSS article', - 'RSS feed list refreshed': 'RSS feed list refreshed', - 'Save or discard your changes before refreshing from relays': - 'Save or discard your changes before refreshing from relays', - 'Suggested topics': 'Suggested topics', - 'Synthetic event (no author)': 'Synthetic event (no author)', - 'Topic is required': 'Topic is required', - 'Type a topic or pick from the list': 'Type a topic or pick from the list', - profileEditorRefreshCacheHint: 'profileEditorRefreshCacheHint', - startupSessionHydrating: 'startupSessionHydrating' - } -} diff --git a/src/i18n/locales/ru.ts b/src/i18n/locales/ru.ts index 9e6b7afc..a8ac8fba 100644 --- a/src/i18n/locales/ru.ts +++ b/src/i18n/locales/ru.ts @@ -1,1842 +1,2010 @@ export default { translation: { - 'Welcome! 🥳': 'Добро пожаловать! 🥳', - About: 'О нас', - 'New Note': 'Новая заметка', - Post: 'Опубликовать', - Home: 'Главная', - Feed: 'Feed', - 'Favorite Relays': 'Избранные ретрансляторы', - 'Relay pulse': 'Relay pulse', - 'Relay pulse empty': 'Quiet on your relays in the last hour.', - 'Relay pulse follows': 'Following ({{count}})', - 'Relay pulse others': 'Others ({{count}})', - 'Relay pulse updated': 'Updated {{relative}}', - 'Relay pulse active npubs': 'Active npubs', - 'Relay pulse active npubs hint': - 'Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).', - 'Relay pulse drawer following': 'Following', - 'Relay pulse drawer others': 'Others', - 'Relay pulse drawer no profiles': 'No kind 0 profiles loaded for this sample yet.', - 'See the newest notes from your follows': 'See the newest notes from your follows', - 'All favorite relays': 'Все избранные ретрансляторы', - 'Pinned note': 'Pinned note', - 'Relay settings': 'Настройки ретрансляции', - Settings: 'Настройки', - 'Account menu': 'Account menu', - SidebarRelays: 'Ретрансляторы', - Refresh: 'Обновить', - 'refresh.longPressHardReload': 'Long-press: reload app and restore feed cache', - 'link.expandNostrEmbed': 'Show Nostr preview', - Profile: 'Профиль', - Logout: 'Выйти', - Following: 'Подписки', - followings: 'подписки', - boosted: 'сделал буст', - 'Boosted by:': 'Boosted by:', - 'just now': 'только что', - 'n minutes ago': '{{n}} минут назад', - 'n m': '{{n}}м', - 'n hours ago': '{{n}} часов назад', - 'n h': '{{n}}ч', - 'n days ago': '{{n}} дней назад', - 'n d': '{{n}}д', - date: '{{timestamp, date}}', - Follow: 'Подписаться', - Unfollow: 'Отписаться', - 'Follow failed': 'Ошибка подписки', - 'Unfollow failed': 'Ошибка отписки', - 'show new notes': 'показать новые заметки', - 'loading...': 'загрузка...', - 'Loading...': 'Загрузка...', - 'no more notes': 'больше нет заметок', - 'calendar entries': 'calendar entries', - 'Loading calendar events...': 'Loading calendar events...', - 'No calendar events found': 'No calendar events found', - 'Calendar events in the next {{count}} months': 'Calendar events in the next {{count}} months', - 'The nostr.band relay appears to be temporarily out of service. Please try again later.': - 'The nostr.band relay appears to be temporarily out of service. Please try again later.', - 'reply to': 'ответить', - reply: 'ответить', - Reply: 'Ответить', - 'load more older replies': 'загрузить больше старых ответов', - 'Write something...': 'Напишите что-нибудь...', - Cancel: 'Отмена', - Mentions: 'Упоминания', - 'Search for event or address…': 'Search for event or address…', - 'Search notes…': 'Search notes…', - 'No notes found': 'No notes found', - 'Failed to post': 'Ошибка публикации', - 'Post successful': 'Успешно опубликовано', - 'Your post has been published': 'Ваш пост опубликован', - Boost: 'Буст', - 'Boost published': 'Буст опубликован', - Quote: 'Цитировать', - 'Copy event ID': 'Копировать ID события', - 'Copy user ID': 'Копировать ID пользователя', - 'Send public message': 'Send public message', - 'View raw event': 'Посмотреть исходное событие', - 'Edit this event': 'Edit this event', - 'Clone or fork this event': 'Clone or fork this event', - 'Event kind': 'Event kind', - 'Note content': 'Note content', - Publish: 'Publish', - 'Post published': 'Post published', - 'Edit content and tags, then publish a new signed event.': - 'Edit content and tags, then publish a new signed event.', - 'Log in to publish': 'Log in to publish', - 'Set when you publish': 'set when you publish', - 'id and sig are assigned when you publish': 'id and sig are assigned when you publish', - 'Published to some relays only': 'Published to some relays only', - 'Add field': 'Add field', - 'View full profile': 'View full profile', - Like: 'Нравится', - 'switch to light theme': 'переключить на светлую тему', - 'switch to dark theme': 'переключить на тёмную тему', - 'switch to system theme': 'переключить на системную тему', - Note: 'Заметка', - note: 'заметка', - "username's following": 'Подписки пользователя {{username}}', - "username's used relays": 'Ретрансляторы пользователя {{username}}', - "username's muted": '{{username}} заблокирован', - Login: 'Войти', - downloadDesktopApp: 'Download app', - 'Please log in to view notifications.': 'Please log in to view notifications.', - 'Follows you': 'Подписан на вас', - 'Relay Settings': 'Настройки ретрансляторов', - 'Relays and Storage Settings': 'Relays and Storage Settings', - 'Relay set name': 'Имя набора ретрансляторов', - 'Add a new relay set': 'Добавить новый набор ретрансляторов', - Add: 'Добавить', - 'n relays': '{{n}} ретрансляторов', - Rename: 'Переименовать', - 'Copy share link': 'Copy share link', - 'Copy address': 'Copy address', - 'Copy payto URI': 'Copy payto URI', - 'Copied payto address': 'Copied payto address', - 'Copied to clipboard': 'Copied to clipboard', - 'Copied {{label}} address': 'Copied {{label}} address', - 'Lightning payment address – copy to pay via your wallet': - 'Lightning payment address – copy to pay via your wallet', - 'Payment address – copy to use in your wallet or app': - 'Payment address – copy to use in your wallet or app', - 'Click to open payment options': 'Click to open payment options', - 'Click to copy address': 'Click to copy address', - 'Open on website': 'Open on website', - 'Raw profile event': 'Raw profile event', - 'Full profile event': 'Full profile event', - 'Event (JSON)': 'Event (JSON)', - 'Save full profile': 'Save full profile', - 'Add tag': 'Add tag', - 'Remove tag': 'Remove tag', - 'Tag name': 'Tag name', - Value: 'Value', - 'Add value to tag': 'Add value to tag', - 'Remove value': 'Remove value', - 'No tags. Click "Add tag" to add one.': 'No tags. Click "Add tag" to add one.', - 'Profile updated': 'Profile updated', - 'Failed to publish profile': 'Failed to publish profile', - 'Invalid profile JSON': 'Invalid profile JSON', - 'Refresh cache': 'Refresh cache', - 'Force-refresh profile and payment info from relays': - 'Force-refresh profile and payment info from relays', - 'Profile and payment cache refreshed': 'Profile and payment cache refreshed', - 'Failed to refresh cache': 'Failed to refresh cache', - 'Raw payment info event': 'Raw payment info event', - 'Payment info': 'Payment info', - 'Edit payment info': 'Edit payment info', - 'Add payment info': 'Add payment info', - 'No payment info event yet. Click "Add payment info" to create one.': - 'No payment info event yet. Click "Add payment info" to create one.', - 'Content (JSON)': 'Content (JSON)', - Tags: 'Tags', - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])': - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])', - 'Payment info updated': 'Payment info updated', - 'Failed to publish payment info': 'Failed to publish payment info', - 'Invalid tags JSON': 'Invalid tags JSON', - 'Payment methods': 'Payment methods', - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).': - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).', - 'Type (e.g. lightning)': 'Type (e.g. lightning)', - 'Authority (e.g. user@domain.com)': 'Authority (e.g. user@domain.com)', - 'Add payment method': 'Add payment method', - Remove: 'Remove', - 'Additional content (JSON)': 'Additional content (JSON)', - 'Show full event JSON': 'Show full event JSON', - 'Tag list': 'Tag list', - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.': - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.', - 'Tag value': 'Tag value', - 'Saving…': 'Saving…', - 'Share with Imwald': 'Поделиться через Imwald', - 'Share with Alexandria': 'Поделиться через Alexandria', - 'Start video call': 'Start video call', - 'Copy call invite link': 'Copy call invite link', - 'Start call about this': 'Start call about this', - 'Send call invite': 'Send call invite', - 'Read this note aloud': 'Read this note aloud', - 'Read-aloud is not supported in this browser': 'Read-aloud is not supported in this browser', - 'Nothing to read aloud': 'Nothing to read aloud', - 'Read-aloud failed': 'Read-aloud failed', - 'Read aloud': 'Read aloud', - 'Read-aloud idle': 'Idle', - 'Preparing read-aloud…': 'Preparing read-aloud…', - 'Requesting audio…': 'Requesting audio…', - 'Loading audio…': 'Loading audio…', - Playing: 'Playing', - Paused: 'Paused', - 'Read-aloud finished': 'Finished', - 'Read-aloud error': 'Error', - 'TTS endpoint': 'TTS endpoint', - 'Using browser speech synthesis': 'Using browser speech synthesis', - 'Read-aloud section progress': 'Section {{current}} of {{total}}', - 'Request sent': 'Request sent', - 'Response received': 'Response received', - 'Playback started': 'Playback started', - Characters: 'Characters', - Pause: 'Pause', - Play: 'Play', - Stop: 'Stop', - 'Read-aloud sections': 'Read-aloud sections', - 'Read-aloud overall progress': 'Overall progress', - 'Read-aloud section done': 'Section {{index}}: finished', - 'Read-aloud section pending': 'Section {{index}}: not started yet', - 'Read-aloud section fetching': 'Section {{index}}: requesting audio', - 'Read-aloud section preparing audio': 'Section {{index}}: loading audio', - 'Read-aloud section playing': 'Section {{index}}: playing', - 'Read-aloud section paused': 'Section {{index}}: paused', - 'Read-aloud legend fetching': 'Requesting audio for this section from the server…', - 'Read-aloud legend buffering': 'Decoding audio for this section…', - 'Read-aloud legend playing': 'Playing this section.', - 'Read-aloud legend paused': 'Playback paused.', - 'Read-aloud Piper fallback notice': - 'Server voice (Piper) could not be used. Playing with your browser voice instead.', - 'Read-aloud Piper fallback detail label': 'Piper error', - 'Read-aloud Piper status region': 'Piper text-to-speech status', - 'Read-aloud Piper status heading': 'Piper (server voice)', - 'Read-aloud Piper skipped notice': - 'No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.', - 'Read-aloud Piper attempt started': - 'Piper was started at {{time}} (this read-aloud used the server first).', - 'Read-aloud Piper endpoint tried': 'URL used: {{url}}', - 'Join the video call': 'Join the video call', - 'Schedule video call': 'Schedule video call', + // NOTE: Untranslated strings fall back to English. + + "Welcome! 🥳": "Добро пожаловать! 🥳", + About: "О нас", + "New Note": "Новая заметка", + Post: "Опубликовать", + Home: "Главная", + Feed: "Feed", + "Favorite Relays": "Избранные ретрансляторы", + "Relay pulse": "Relay pulse", + "Relay pulse empty": "Quiet on your relays in the last hour.", + "Relay pulse follows": "Following ({{count}})", + "Relay pulse others": "Others ({{count}})", + "Relay pulse updated": "Updated {{relative}}", + "Relay pulse active npubs": "Active npubs", + "Relay pulse active npubs hint": "Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).", + "Relay pulse drawer following": "Following", + "Relay pulse drawer others": "Others", + "Relay pulse drawer no profiles": "No kind 0 profiles loaded for this sample yet.", + "See the newest notes from your follows": "See the newest notes from your follows", + "All favorite relays": "Все избранные ретрансляторы", + "Pinned note": "Pinned note", + "Relay settings": "Настройки ретрансляции", + "Relay auth accepted (NIP-42)": "The relay accepted authentication (NIP-42): {{relay}}{{detailSuffix}}", + "Relay auth rejected (NIP-42)": "The relay rejected authentication (NIP-42): {{relay}} — {{message}}", + "Relay auth error unknown": "Unknown error", + Settings: "Настройки", + "Account menu": "Account menu", + SidebarRelays: "Ретрансляторы", + Refresh: "Обновить", + "refresh.longPressHardReload": "Long-press: reload app and restore feed cache", + "link.expandNostrEmbed": "Show Nostr preview", + Profile: "Профиль", + Logout: "Выйти", + Following: "Подписки", + followings: "подписки", + boosted: "сделал буст", + "Boosted by:": "Boosted by:", + "just now": "только что", + "n minutes ago": "{{n}} минут назад", + "n m": "{{n}}м", + "n hours ago": "{{n}} часов назад", + "n h": "{{n}}ч", + "n days ago": "{{n}} дней назад", + "n d": "{{n}}д", + date: "{{timestamp, date}}", + Follow: "Подписаться", + Unfollow: "Отписаться", + "Follow failed": "Ошибка подписки", + "Unfollow failed": "Ошибка отписки", + "show new notes": "показать новые заметки", + "loading...": "загрузка...", + "Loading...": "Загрузка...", + "no more notes": "больше нет заметок", + "calendar entries": "calendar entries", + "Loading calendar events...": "Loading calendar events...", + "No calendar events found": "No calendar events found", + "Calendar events in the next {{count}} months": "Calendar events in the next {{count}} months", + "The nostr.band relay appears to be temporarily out of service. Please try again later.": "The nostr.band relay appears to be temporarily out of service. Please try again later.", + "reply to": "ответить", + reply: "ответить", + Reply: "Ответить", + "load more older replies": "загрузить больше старых ответов", + "Write something...": "Напишите что-нибудь...", + Cancel: "Отмена", + Mentions: "Упоминания", + "Search for event or address…": "Search for event or address…", + "Search notes…": "Search notes…", + "No notes found": "No notes found", + "Failed to post": "Ошибка публикации", + "Post successful": "Успешно опубликовано", + "Your post has been published": "Ваш пост опубликован", + Boost: "Буст", + "Boost published": "Буст опубликован", + Quote: "Цитировать", + "Copy event ID": "Копировать ID события", + "Copy user ID": "Копировать ID пользователя", + "Send public message": "Send public message", + "View raw event": "Посмотреть исходное событие", + "Edit this event": "Edit this event", + "Clone or fork this event": "Clone or fork this event", + "Event kind": "Event kind", + "Note content": "Note content", + Publish: "Publish", + "Post published": "Post published", + "Edit content and tags, then publish a new signed event.": "Edit content and tags, then publish a new signed event.", + "Log in to publish": "Log in to publish", + "Set when you publish": "set when you publish", + "id and sig are assigned when you publish": "id and sig are assigned when you publish", + "Published to some relays only": "Published to some relays only", + "Add field": "Add field", + "View full profile": "View full profile", + Like: "Нравится", + "switch to light theme": "переключить на светлую тему", + "switch to dark theme": "переключить на тёмную тему", + "switch to system theme": "переключить на системную тему", + Note: "Заметка", + note: "заметка", + "username's following": "Подписки пользователя {{username}}", + "username's used relays": "Ретрансляторы пользователя {{username}}", + "username's muted": "{{username}} заблокирован", + Login: "Войти", + downloadDesktopApp: "Download app", + "Please log in to view notifications.": "Please log in to view notifications.", + "Follows you": "Подписан на вас", + "Relay Settings": "Настройки ретрансляторов", + "Relays and Storage Settings": "Relays and Storage Settings", + "Relay set name": "Имя набора ретрансляторов", + "Add a new relay set": "Добавить новый набор ретрансляторов", + Add: "Добавить", + "n relays": "{{n}} ретрансляторов", + Rename: "Переименовать", + "Copy share link": "Copy share link", + "Copy address": "Copy address", + "Copy payto URI": "Copy payto URI", + "Copied payto address": "Copied payto address", + "Copied to clipboard": "Copied to clipboard", + "Copied {{label}} address": "Copied {{label}} address", + "Lightning payment address – copy to pay via your wallet": "Lightning payment address – copy to pay via your wallet", + "Payment address – copy to use in your wallet or app": "Payment address – copy to use in your wallet or app", + "Click to open payment options": "Click to open payment options", + "Click to copy address": "Click to copy address", + "Open on website": "Open on website", + "Raw profile event": "Raw profile event", + "Full profile event": "Full profile event", + "Event (JSON)": "Event (JSON)", + "Save full profile": "Save full profile", + "Add tag": "Add tag", + "Remove tag": "Remove tag", + "Tag name": "Tag name", + Value: "Value", + "Add value to tag": "Add value to tag", + "Remove value": "Remove value", + "No tags. Click \"Add tag\" to add one.": "No tags. Click \"Add tag\" to add one.", + "Profile updated": "Profile updated", + "Failed to publish profile": "Failed to publish profile", + "Invalid profile JSON": "Invalid profile JSON", + "Refresh cache": "Refresh cache", + "Force-refresh profile and payment info from relays": "Force-refresh profile and payment info from relays", + "Profile and payment cache refreshed": "Profile and payment cache refreshed", + "Failed to refresh cache": "Failed to refresh cache", + "Raw payment info event": "Raw payment info event", + "Payment info": "Payment info", + "Edit payment info": "Edit payment info", + "Add payment info": "Add payment info", + "No payment info event yet. Click \"Add payment info\" to create one.": "No payment info event yet. Click \"Add payment info\" to create one.", + "Content (JSON)": "Content (JSON)", + Tags: "Tags", + "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])": "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])", + "Payment info updated": "Payment info updated", + "Failed to publish payment info": "Failed to publish payment info", + "Invalid tags JSON": "Invalid tags JSON", + "Payment methods": "Payment methods", + "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).": "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).", + "Type (e.g. lightning)": "Type (e.g. lightning)", + "Authority (e.g. user@domain.com)": "Authority (e.g. user@domain.com)", + "Add payment method": "Add payment method", + Remove: "Remove", + "Additional content (JSON)": "Additional content (JSON)", + "Show full event JSON": "Show full event JSON", + "Tag list": "Tag list", + "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.": "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.", + "Tag value": "Tag value", + "Saving…": "Saving…", + "Share with Imwald": "Поделиться через Imwald", + "Share with Alexandria": "Поделиться через Alexandria", + "Start video call": "Start video call", + "Copy call invite link": "Copy call invite link", + "Start call about this": "Start call about this", + "Send call invite": "Send call invite", + "Read this note aloud": "Read this note aloud", + "Read-aloud is not supported in this browser": "Read-aloud is not supported in this browser", + "Nothing to read aloud": "Nothing to read aloud", + "Read-aloud failed": "Read-aloud failed", + "Read aloud": "Read aloud", + "Read-aloud idle": "Idle", + "Preparing read-aloud…": "Preparing read-aloud…", + "Requesting audio…": "Requesting audio…", + "Loading audio…": "Loading audio…", + "Preparing player…": "Preparing player…", + "Starting stream…": "Starting stream…", + "Loading media…": "Loading media…", + "Buffering…": "Buffering…", + Playing: "Playing", + Paused: "Paused", + "Read-aloud finished": "Finished", + "Read-aloud error": "Error", + "TTS endpoint": "TTS endpoint", + "Using browser speech synthesis": "Using browser speech synthesis", + "Read-aloud section progress": "Section {{current}} of {{total}}", + "Request sent": "Request sent", + "Response received": "Response received", + "Playback started": "Playback started", + Characters: "Characters", + Pause: "Pause", + Play: "Play", + Stop: "Stop", + "Read-aloud sections": "Read-aloud sections", + "Read-aloud overall progress": "Overall progress", + "Read-aloud section done": "Section {{index}}: finished", + "Read-aloud section pending": "Section {{index}}: not started yet", + "Read-aloud section fetching": "Section {{index}}: requesting audio", + "Read-aloud section preparing audio": "Section {{index}}: loading audio", + "Read-aloud section playing": "Section {{index}}: playing", + "Read-aloud section paused": "Section {{index}}: paused", + "Read-aloud legend fetching": "Requesting audio for this section from the server…", + "Read-aloud legend buffering": "Decoding audio for this section…", + "Read-aloud legend playing": "Playing this section.", + "Read-aloud legend paused": "Playback paused.", + "Read-aloud Piper fallback notice": "Server voice (Piper) could not be used. Playing with your browser voice instead.", + "Read-aloud Piper fallback detail label": "Piper error", + "Read-aloud Piper status region": "Piper text-to-speech status", + "Read-aloud Piper status heading": "Piper (server voice)", + "Read-aloud Piper skipped notice": "No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.", + "Read-aloud Piper attempt started": "Piper was started at {{time}} (this read-aloud used the server first).", + "Read-aloud Piper endpoint tried": "URL used: {{url}}", + "Join the video call": "Join the video call", + "Schedule video call": "Schedule video call", "You're invited to a scheduled video call.": "You're invited to a scheduled video call.", - 'Create a calendar event and send an invite. The recipient will see the event with a join link.': - 'Create a calendar event and send an invite. The recipient will see the event with a join link.', - 'Schedule a video call': 'Schedule a video call', - 'Create a calendar event and send kind 24 invites to each listed invitee.': - 'Create a calendar event and send kind 24 invites to each listed invitee.', - Invitees: 'Invitees', - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)': - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)', - 'Schedule and send invites': 'Schedule and send invites', - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)': - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)', - 'Scheduled call created and {{count}} invite(s) sent': - 'Scheduled call created and {{count}} invite(s) sent', - 'Join video call': 'Join video call', - 'Scheduled video call': 'Scheduled video call', - 'Video call': 'Video call', - 'Schedule and send invite': 'Schedule and send invite', - 'Scheduling…': 'Scheduling…', - 'Please set a start time': 'Please set a start time', - 'End time must be after start time': 'End time must be after start time', - 'Failed to schedule call': 'Failed to schedule call', - 'Scheduled call created and invite sent': 'Scheduled call created and invite sent', - RSVP: 'RSVP', - 'RSVP: {{status}}': 'RSVP: {{status}}', - Accepted: 'Accepted', - Tentative: 'Tentative', - Declined: 'Declined', - 'You need to log in to RSVP': 'You need to log in to RSVP', - 'RSVP updated': 'RSVP updated', - 'Failed to update RSVP': 'Failed to update RSVP', - Organizer: 'Organizer', - Attendees: 'Attendees', - 'No response': 'No response', - 'Calendar Events': 'Calendar Events', - 'Calendar Event': 'Calendar Event', - 'Schedule in-person meeting': 'Schedule in-person meeting', - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.': - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.', + "Create a calendar event and send an invite. The recipient will see the event with a join link.": "Create a calendar event and send an invite. The recipient will see the event with a join link.", + "Schedule a video call": "Schedule a video call", + "Create a calendar event and send kind 24 invites to each listed invitee.": "Create a calendar event and send kind 24 invites to each listed invitee.", + Invitees: "Invitees", + "Paste nostr:npub1... or nostr:nprofile1... (one or more)": "Paste nostr:npub1... or nostr:nprofile1... (one or more)", + "Schedule and send invites": "Schedule and send invites", + "Add at least one invitee (paste nostr:npub or nostr:nprofile links)": "Add at least one invitee (paste nostr:npub or nostr:nprofile links)", + "Scheduled call created and {{count}} invite(s) sent": "Scheduled call created and {{count}} invite(s) sent", + "Join video call": "Join video call", + "Scheduled video call": "Scheduled video call", + "Video call": "Video call", + "Schedule and send invite": "Schedule and send invite", + "Scheduling…": "Scheduling…", + "Please set a start time": "Please set a start time", + "End time must be after start time": "End time must be after start time", + "Failed to schedule call": "Failed to schedule call", + "Scheduled call created and invite sent": "Scheduled call created and invite sent", + RSVP: "RSVP", + "RSVP: {{status}}": "RSVP: {{status}}", + Accepted: "Accepted", + Tentative: "Tentative", + Declined: "Declined", + "You need to log in to RSVP": "You need to log in to RSVP", + "RSVP updated": "RSVP updated", + "Failed to update RSVP": "Failed to update RSVP", + Organizer: "Organizer", + Attendees: "Attendees", + "No response": "No response", + "Calendar Events": "Calendar Events", + "Calendar Event": "Calendar Event", + "Schedule in-person meeting": "Schedule in-person meeting", + "Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.": "Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.", "You're invited to an in-person meeting.": "You're invited to an in-person meeting.", - 'Meeting created and invite sent': 'Meeting created and invite sent', - 'Failed to create meeting': 'Failed to create meeting', - 'Create and send invite': 'Create and send invite', - 'Creating…': 'Creating…', - 'In-person meeting': 'In-person meeting', - Location: 'Location', - 'Address, venue, or place': 'Address, venue, or place', - Description: 'Description', - 'Optional notes': 'Optional notes', - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.': - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.', - 'Meeting created and {{count}} invite(s) sent': 'Meeting created and {{count}} invite(s) sent', - 'Create and send invites': 'Create and send invites', - Title: 'Title', - Start: 'Start', - End: 'End', - Delete: 'Удалить', - 'Relay already exists': 'Ретранслятор уже существует', - 'invalid relay URL': 'неверный URL ретранслятора', - 'Relay URL…': 'wss://… or relay host', - 'Open relay': 'Open relay', - 'Add a new relay': 'Добавить новый ретранслятор', - back: 'назад', - 'Lost in the void': 'Потерялся в пустоте', - 'Carry me home': 'Отведи меня домой', - 'no replies': 'нет ответов', - 'Reply to': 'Ответить', - Search: 'Поиск', - 'The relays you are connected to do not support search': - 'Подключённые ретрансляторы не поддерживают поиск', - 'Show more...': 'Показать больше...', - 'All users': 'Все пользователи', - 'Display replies': 'Показать ответы', - Notes: 'Заметки', - Replies: 'Ответы', - Gallery: 'Галерея', - Notifications: 'Уведомления', - 'no more notifications': 'нет новых уведомлений', - 'Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.': - 'Использование входа с приватным ключом небезопасно. Рекомендуется использовать расширение браузера для входа, такое как alby, nostr-keyx или nos2x. Если вы всё же хотите использовать приватный ключ, установите хотя бы пароль для шифрования.', - 'Login with Browser Extension': 'Войти через расширение браузера', - 'Login with Bunker': 'Войти через Bunker', - 'Login with Private Key': 'Войти с приватным ключом', - 'Login with npub (read-only)': 'Войти по npub (только чтение)', - 'reload notes': 'перезагрузить заметки', - 'Logged in Accounts': 'Вошедшие аккаунты', - 'Add an Account': 'Добавить аккаунт', - 'More options': 'Больше опций', - 'Add client tag': 'Добавить тег клиента', - 'Show others this was sent via Imwald': - 'Показать другим, что сообщение отправлено через Imwald', - 'Are you sure you want to logout?': 'Вы уверены, что хотите выйти?', - 'relay sets': 'наборы ретрансляторов', - edit: 'редактировать', - Languages: 'Языки', - Theme: 'Тема', - System: 'Система', - Light: 'Светлая', - Dark: 'Тёмная', - Temporary: 'Временная', - 'Choose a relay set': 'Выберите набор ретрансляторов', - 'Switch account': 'Сменить аккаунт', - Pictures: 'Изображения', - 'Picture note': 'Заметка с изображением', - 'A special note for picture-first clients like Olas': - 'Особенная заметка для клиентов с приоритетом изображений, таких как Olas', - 'Picture note requires images': 'Заметка с изображением требует наличия изображений', - Relays: 'Ретрансляторы', - Image: 'изображение', - 'Upload Image': 'Upload Image', - 'Insert emoji': 'Insert emoji', - 'Insert GIF': 'Insert GIF', - 'Insert meme': 'Insert meme', - 'Search GIFs': 'Search GIFs', - 'Search memes': 'Search memes', - 'Choose a GIF': 'Choose a GIF', - 'Choose a meme': 'Choose a meme', - 'Search GifBuddy for more GIFs': 'Search GifBuddy for more GIFs', - 'Add your own GIFs': 'Add your own GIFs', - 'Add your own meme templates': 'Add your own meme templates', - 'Description (optional, for search)': 'Description (optional, for search)', - 'e.g. happy birthday, thumbs up': 'e.g. happy birthday, thumbs up', - 'e.g. drake, distracted boyfriend': 'e.g. drake, distracted boyfriend', - 'Uploading...': 'Uploading...', - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.': - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.', - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).': - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).', - 'Failed to publish meme template for the picker': - 'Failed to publish meme template for the picker', - '{{name}} is not a GIF file': '{{name}} is not a GIF file', - '{{name}} is not a JPEG, PNG, or WebP file': '{{name}} is not a JPEG, PNG, or WebP file', - 'R & W': 'Чтение & Запись', - Read: 'Читать', - Write: 'Писать', - 'Pull relay sets': 'Получить наборы ретрансляторов', - 'Select the relay sets you want to pull': 'Выберите наборы ретрансляторов для получения', - 'No relay sets found': 'Наборы ретрансляторов не найдены', - 'Pull n relay sets': 'Получить {{n}} наборов ретрансляторов', - Pull: 'Получить', - 'Select all': 'Выбрать все', - 'Relay Sets': 'Наборы ретрансляторов', - 'Read & Write Relays': 'Ретрансляторы для чтения и записи', - 'read relays description': - 'Ретрансляторы для чтения используются для получения событий о вас. Другие пользователи публикуют события, которые вы должны увидеть, через ваши ретрансляторы для чтения.', - 'write relays description': - 'Ретрансляторы для записи используются для публикации ваших событий. Другие пользователи получают ваши события через ретрансляторы для записи.', - 'read & write relays notice': - 'Количество серверов для чтения и записи должно быть оптимально от 2 до 4.', - "Don't have an account yet?": 'Ещё нет аккаунта?', - 'or simply generate a private key': 'или просто сгенерируйте приватный ключ', - 'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.': - 'Это приватный ключ. Не делитесь им с другими. Храните его в надёжном месте – восстановить его будет невозможно.', - Edit: 'Редактировать', - Save: 'Сохранить', - 'Display Name': 'Отображаемое имя', - Bio: 'О себе', - 'Nostr Address (NIP-05)': 'Адрес Nostr (NIP-05)', - 'Invalid NIP-05 address': 'Неверный адрес NIP-05', - 'Copy private key': 'Скопировать приватный ключ', - 'Enter the password to decrypt your ncryptsec': - 'Введите пароль для расшифровки вашего ncryptsec', - Back: 'Назад', - 'optional: encrypt nsec': 'необязательно: зашифровать nsec', - password: 'пароль', - 'Sign up': 'Зарегистрироваться', - 'Save to': 'Сохранить в', - 'Enter a name for the new relay set': 'Введите имя нового набора ретрансляторов', - 'Save to a new relay set': 'Сохранить в новый набор ретрансляторов', - Mute: 'Заглушить', - Muted: 'Заглушено', - Unmute: 'Отменить заглушку', - 'Unmute user': 'Снять заглушку с пользователя', - Block: 'Block', - Unblock: 'Unblock', - blocked: 'blocked', - 'Append n relays': 'Добавить {{n}} ретрансляторов', - Append: 'Добавить', - 'Select relays to append': 'Выберите ретрансляторы для добавления', - 'calculating...': 'вычисление...', - 'Calculate optimal read relays': 'Рассчитать оптимальные ретрансляторы для чтения', - 'Login to set': 'Войти в набор', - 'Please login to view following feed': 'Войдите, чтобы увидеть ленту подписок', - 'Follow set': 'Follow set', - 'Follow set feed empty': - 'This NIP-51 list is empty, was not found, or relays could not load it yet.', - 'Send only to r': 'Отправить только на {{r}}', - 'Send only to these relays': 'Отправить только на эти ретрансляторы', - Explore: 'Обзор', - 'Relay reviews': 'Отзывы о ретрансляторах', - 'Search relays': 'Поиск ретрансляторов', - relayInfoBadgeAuth: 'Авторизация', - relayInfoBadgeSearch: 'Поиск', - relayInfoBadgePayment: 'Платежи', - Operator: 'Оператор', - Contact: 'Контакты', - Software: 'Программное обеспечение', - Version: 'Версия', - 'Random Relays': 'Случайные ретрансляторы', - randomRelaysRefresh: 'Обновить', - 'Explore more': 'Исследовать больше', - 'Payment page': 'Страница оплаты', - 'Supported NIPs': 'Поддерживаемые NIP', - 'Relay liveliness (NIP-66)': 'Relay liveliness (NIP-66)', - 'Relay monitor (NIP-66)': 'Relay monitor (NIP-66)', - 'Auth required': 'Auth required', - 'Public (no auth)': 'Public (no auth)', - 'Payment required': 'Payment required', - 'No payment': 'No payment', - 'Writes required': 'Writes required', - 'Writes open': 'Writes open', - 'PoW required': 'PoW required', - 'No PoW': 'No PoW', - 'RTT open': 'RTT open', - 'RTT read': 'RTT read', - 'RTT write': 'RTT write', - 'Supported NIPs (from monitor)': 'Supported NIPs (from monitor)', - 'Last reported by monitor': 'Last reported by monitor', - Network: 'Network', - Type: 'Type', - Topics: 'Topics', - 'Open in a': 'Открыть в {{a}}', - 'Cannot handle event of kind k': 'Невозможно обработать событие типа {{k}}', - 'Unsupported event preview': - 'There isn’t a dedicated card for this event type yet. Here’s a readable preview.', - 'No text content in event': 'No text in this event.', - 'Technical details': 'Technical details', - 'Event kind and time': 'Kind {{kind}} · {{time}}', - 'Event kind label': 'Kind {{kind}}', - 'Note kind label line': 'KIND: {{kind}} · {{description}}', - 'Unknown note declared kind tag': 'Tagged kind: {{value}}', - 'Unknown note tagged pubkey': 'Tagged pubkey', - 'Unknown note tagged content': 'Content', - 'Unknown note reference tags': 'Reference tags (e, p, q, a)', - 'Starred spells': 'Starred spells', - 'Spell star add title': 'Star spell (adds to your Nostr bookmarks)', - 'Spell star remove title': 'Unstar spell (removes from your Nostr bookmarks)', - 'Copy JSON': 'Copy JSON', - Verse: 'Verse', - 'Notification reaction summary': 'reacted to this note.', - 'Notification discussion upvote summary': 'upvoted in this discussion.', - 'Notification discussion downvote summary': 'downvoted in this discussion.', - 'Notification boost summary': 'Boosted this note', - 'Notification boost detail': 'The preview above is the original post.', - 'Notification poll vote summary': 'Voted on the poll above.', - 'Notification poll vote options count': '{{count}} option(s) selected', - 'Imwald synthetic event': 'Imwald synthetic event', - '+ Add a URL to this list': 'Add a URL to this list', - 'Add a web URL': 'Add a web URL', - 'Add web URL to feed description': - 'Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.', - 'Add to feed': 'Add to feed', - 'Open any https page in the side panel to reply, react, and discuss on Nostr.': - 'Open any https page in the side panel to reply, react, and discuss on Nostr.', - 'Enter a valid http(s) URL': 'Enter a valid http(s) URL', - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.': - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.', - 'Open in browser': 'Open in browser', - 'Web page': 'Web page', - Open: 'Open', - 'Sorry! The note cannot be found 😔': 'Извините! Заметка не найдена 😔', - 'This user has been muted': 'Этот пользователь заглушен', - Wallet: 'Кошелёк', - Sats: 'Сатс', - sats: 'сатс', - 'Zap to': 'Зап отправить', - 'Zap n sats': 'Зап {{n}} сатс', - zapComment: 'Комментарий', - 'Default zap amount': 'Стандартная сумма для зап', - 'Default zap comment': 'Стандартный комментарий для зап', - 'Lightning Address (or LNURL)': 'Lightning-адрес (или LNURL)', - 'Quick zap': 'Быстрый зап', - 'If enabled, you can zap with a single click. Click and hold for custom amounts': - 'Если включено, вы можете отправить зап одним нажатием. Нажмите и удерживайте для выбора суммы', - All: 'Все', - Reactions: 'Реакции', - Zaps: 'Запы', - Boosts: 'Бусты', - Badges: 'Badges', - Reports: 'Reports', - 'Enjoying Imwald?': 'Нравится Imwald?', - 'Your donation helps me maintain Imwald and make it better! 😊': - 'Ваше пожертвование помогает поддерживать и улучшать Imwald! 😊', - 'Earlier notifications': 'Ранние уведомления', - 'Temporarily display this note': 'Временно отобразить эту заметку', - buttonFollowing: 'Подписан', - 'Are you sure you want to unfollow this user?': - 'Вы уверены, что хотите отписаться от этого пользователя?', - 'Recent Supporters': 'Недавние спонсоры', - 'Seen on': 'Просмотрено на', - 'Temporarily display this reply': 'Временно отобразить этот ответ', - 'Note not found': 'Заметка не найдена', - 'Invalid embedded note reference': 'Invalid embedded note reference', - embeddedNoteInvalidEmpty: 'This embedded link is empty.', - embeddedNoteInvalidHex: - 'This is not a valid hex event id (expected exactly 64 hexadecimal characters).', - embeddedNoteInvalidBech32: - 'This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.', - embeddedNoteInvalidWrongKind: - 'This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.', - 'The note was not found on your relays or default relays.': - 'The note was not found on your relays or default relays.', + "Meeting created and invite sent": "Meeting created and invite sent", + "Failed to create meeting": "Failed to create meeting", + "Create and send invite": "Create and send invite", + "Creating…": "Creating…", + "In-person meeting": "In-person meeting", + Location: "Location", + "Address, venue, or place": "Address, venue, or place", + Description: "Description", + "Optional notes": "Optional notes", + "Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.": "Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.", + "Meeting created and {{count}} invite(s) sent": "Meeting created and {{count}} invite(s) sent", + "Create and send invites": "Create and send invites", + Title: "Title", + Start: "Start", + End: "End", + Delete: "Удалить", + "Relay already exists": "Ретранслятор уже существует", + "invalid relay URL": "неверный URL ретранслятора", + "Relay URL…": "wss://… or relay host", + "Open relay": "Open relay", + "Add a new relay": "Добавить новый ретранслятор", + back: "назад", + "Lost in the void": "Потерялся в пустоте", + "Carry me home": "Отведи меня домой", + "no replies": "нет ответов", + "Reply to": "Ответить", + Search: "Поиск", + "The relays you are connected to do not support search": "Подключённые ретрансляторы не поддерживают поиск", + "Show more...": "Показать больше...", + "All users": "Все пользователи", + "Display replies": "Показать ответы", + Notes: "Заметки", + Replies: "Ответы", + Gallery: "Галерея", + Notifications: "Уведомления", + "no more notifications": "нет новых уведомлений", + "Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.": "Использование входа с приватным ключом небезопасно. Рекомендуется использовать расширение браузера для входа, такое как alby, nostr-keyx или nos2x. Если вы всё же хотите использовать приватный ключ, установите хотя бы пароль для шифрования.", + "Login with Browser Extension": "Войти через расширение браузера", + "Login with Bunker": "Войти через Bunker", + "Login with Private Key": "Войти с приватным ключом", + "Login with npub (read-only)": "Войти по npub (только чтение)", + readOnlySession: {"label":"Read-only","labelShort":"R/O","hint":"Browsing without a signing key. Sign in with an extension, nsec, or another method to post, react, and edit."}, + "reload notes": "перезагрузить заметки", + "Logged in Accounts": "Вошедшие аккаунты", + "Add an Account": "Добавить аккаунт", + "More options": "Больше опций", + "Add client tag": "Добавить тег клиента", + "Show others this was sent via Imwald": "Показать другим, что сообщение отправлено через Imwald", + "Are you sure you want to logout?": "Вы уверены, что хотите выйти?", + "relay sets": "наборы ретрансляторов", + edit: "редактировать", + Languages: "Языки", + Theme: "Тема", + System: "Система", + Light: "Светлая", + Dark: "Тёмная", + Temporary: "Временная", + "Choose a relay set": "Выберите набор ретрансляторов", + "Switch account": "Сменить аккаунт", + Pictures: "Изображения", + "Picture note": "Заметка с изображением", + "A special note for picture-first clients like Olas": "Особенная заметка для клиентов с приоритетом изображений, таких как Olas", + "Picture note requires images": "Заметка с изображением требует наличия изображений", + Relays: "Ретрансляторы", + Image: "изображение", + "This image could not be loaded.": "This image could not be loaded.", + "Invalid or unsupported image address.": "Invalid or unsupported image address.", + "Open image link": "Open image link", + "Upload Image": "Upload Image", + "Insert emoji": "Insert emoji", + "Insert GIF": "Insert GIF", + "Insert meme": "Insert meme", + "Search GIFs": "Search GIFs", + "Search memes": "Search memes", + "Choose a GIF": "Choose a GIF", + "Choose a meme": "Choose a meme", + "Search GifBuddy for more GIFs": "Search GifBuddy for more GIFs", + "Add your own GIFs": "Add your own GIFs", + "Add your own meme templates": "Add your own meme templates", + "Description (optional, for search)": "Description (optional, for search)", + "e.g. happy birthday, thumbs up": "e.g. happy birthday, thumbs up", + "e.g. drake, distracted boyfriend": "e.g. drake, distracted boyfriend", + "Uploading...": "Uploading...", + "No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.": "No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.", + "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).": "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).", + "Failed to publish meme template for the picker": "Failed to publish meme template for the picker", + "{{name}} is not a GIF file": "{{name}} is not a GIF file", + "{{name}} is not a JPEG, PNG, or WebP file": "{{name}} is not a JPEG, PNG, or WebP file", + "R & W": "Чтение & Запись", + Read: "Читать", + Write: "Писать", + "Pull relay sets": "Получить наборы ретрансляторов", + "Select the relay sets you want to pull": "Выберите наборы ретрансляторов для получения", + "No relay sets found": "Наборы ретрансляторов не найдены", + "Pull n relay sets": "Получить {{n}} наборов ретрансляторов", + Pull: "Получить", + "Select all": "Выбрать все", + "Relay Sets": "Наборы ретрансляторов", + "Read & Write Relays": "Ретрансляторы для чтения и записи", + "read relays description": "Ретрансляторы для чтения используются для получения событий о вас. Другие пользователи публикуют события, которые вы должны увидеть, через ваши ретрансляторы для чтения.", + "write relays description": "Ретрансляторы для записи используются для публикации ваших событий. Другие пользователи получают ваши события через ретрансляторы для записи.", + "read & write relays notice": "Количество серверов для чтения и записи должно быть оптимально от 2 до 4.", + "Don't have an account yet?": "Ещё нет аккаунта?", + "or simply generate a private key": "или просто сгенерируйте приватный ключ", + "This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.": "Это приватный ключ. Не делитесь им с другими. Храните его в надёжном месте – восстановить его будет невозможно.", + Edit: "Редактировать", + Save: "Сохранить", + "Display Name": "Отображаемое имя", + Bio: "О себе", + "Nostr Address (NIP-05)": "Адрес Nostr (NIP-05)", + "Invalid NIP-05 address": "Неверный адрес NIP-05", + "Copy private key": "Скопировать приватный ключ", + "Enter the password to decrypt your ncryptsec": "Введите пароль для расшифровки вашего ncryptsec", + Back: "Назад", + "optional: encrypt nsec": "необязательно: зашифровать nsec", + password: "пароль", + "Sign up": "Зарегистрироваться", + "Save to": "Сохранить в", + "Enter a name for the new relay set": "Введите имя нового набора ретрансляторов", + "Save to a new relay set": "Сохранить в новый набор ретрансляторов", + Mute: "Заглушить", + Muted: "Заглушено", + Unmute: "Отменить заглушку", + "Unmute user": "Снять заглушку с пользователя", + Block: "Block", + Unblock: "Unblock", + blocked: "blocked", + "Append n relays": "Добавить {{n}} ретрансляторов", + Append: "Добавить", + "Select relays to append": "Выберите ретрансляторы для добавления", + "calculating...": "вычисление...", + "Calculate optimal read relays": "Рассчитать оптимальные ретрансляторы для чтения", + "Login to set": "Войти в набор", + "Please login to view following feed": "Войдите, чтобы увидеть ленту подписок", + "Follow set": "Follow set", + "Follow set feed empty": "This NIP-51 list is empty, was not found, or relays could not load it yet.", + "Send only to r": "Отправить только на {{r}}", + "Send only to these relays": "Отправить только на эти ретрансляторы", + Explore: "Обзор", + "Relay reviews": "Отзывы о ретрансляторах", + "Search relays": "Поиск ретрансляторов", + relayInfoBadgeAuth: "Авторизация", + relayInfoBadgeSearch: "Поиск", + relayInfoBadgePayment: "Платежи", + Operator: "Оператор", + Contact: "Контакты", + Software: "Программное обеспечение", + Version: "Версия", + "Random Relays": "Случайные ретрансляторы", + randomRelaysRefresh: "Обновить", + "Explore more": "Исследовать больше", + "Payment page": "Страница оплаты", + "Supported NIPs": "Поддерживаемые NIP", + "Relay liveliness (NIP-66)": "Relay liveliness (NIP-66)", + "Relay monitor (NIP-66)": "Relay monitor (NIP-66)", + "Auth required": "Auth required", + "Public (no auth)": "Public (no auth)", + "Payment required": "Payment required", + "No payment": "No payment", + "Writes required": "Writes required", + "Writes open": "Writes open", + "PoW required": "PoW required", + "No PoW": "No PoW", + "RTT open": "RTT open", + "RTT read": "RTT read", + "RTT write": "RTT write", + "Supported NIPs (from monitor)": "Supported NIPs (from monitor)", + "Last reported by monitor": "Last reported by monitor", + Network: "Network", + Type: "Type", + Topics: "Topics", + "Open in a": "Открыть в {{a}}", + "Cannot handle event of kind k": "Невозможно обработать событие типа {{k}}", + "Unsupported event preview": "There isn’t a dedicated card for this event type yet. Here’s a readable preview.", + "No text content in event": "No text in this event.", + "Technical details": "Technical details", + "Event kind and time": "Kind {{kind}} · {{time}}", + "Event kind label": "Kind {{kind}}", + "Note kind label line": "KIND: {{kind}} · {{description}}", + "Unknown note declared kind tag": "Tagged kind: {{value}}", + "Unknown note tagged pubkey": "Tagged pubkey", + "Unknown note tagged content": "Content", + "Unknown note reference tags": "Reference tags (e, p, q, a)", + "Starred spells": "Starred spells", + "Spell star add title": "Star spell (adds to your Nostr bookmarks)", + "Spell star remove title": "Unstar spell (removes from your Nostr bookmarks)", + "Copy JSON": "Copy JSON", + Verse: "Verse", + "Notification reaction summary": "reacted to this note.", + "Notification discussion upvote summary": "upvoted in this discussion.", + "Notification discussion downvote summary": "downvoted in this discussion.", + "Notification boost summary": "Boosted this note", + "Notification boost detail": "The preview above is the original post.", + "Notification poll vote summary": "Voted on the poll above.", + "Notification poll vote options count": "{{count}} option(s) selected", + "Imwald synthetic event": "Imwald synthetic event", + "+ Add a URL to this list": "Add a URL to this list", + "Add a web URL": "Add a web URL", + "Add web URL to feed description": "Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.", + "Add to feed": "Add to feed", + "Open any https page in the side panel to reply, react, and discuss on Nostr.": "Open any https page in the side panel to reply, react, and discuss on Nostr.", + "Enter a valid http(s) URL": "Enter a valid http(s) URL", + "Opened by URL — not from your RSS list. Nostr thread is still tied to this link.": "Opened by URL — not from your RSS list. Nostr thread is still tied to this link.", + "Open in browser": "Open in browser", + "liveEvent.zapStreamPlayer": "Live stream (zap.stream)", + liveStreamEmbedSuppressed: "Inline live stream is hidden because your kind filter excludes NIP-53 streams. Open via njump or another client below.", + "liveEvent.hlsPlaybackUnavailable": "Inline playback failed (the stream may be offline, ended, or blocked). You can still open the hosted watch page below.", + "liveEvent.hideFromCarousel": "Hide from carousel", + "liveEvent.showInCarousel": "Show in carousel", + "liveEvent.hideFromCarouselTitle": "Hide this stream in the live carousel (saved in this browser on this device). Click again to show it.", + "liveEvent.showInCarouselTitle": "Show this stream in the live carousel again.", + "Web page": "Web page", + Open: "Open", + "Sorry! The note cannot be found 😔": "Извините! Заметка не найдена 😔", + "This user has been muted": "Этот пользователь заглушен", + Wallet: "Кошелёк", + Sats: "Сатс", + sats: "сатс", + "Zap to": "Зап отправить", + "Zap n sats": "Зап {{n}} сатс", + zapComment: "Комментарий", + "Default zap amount": "Стандартная сумма для зап", + "Default zap comment": "Стандартный комментарий для зап", + "Lightning Address (or LNURL)": "Lightning-адрес (или LNURL)", + "Quick zap": "Быстрый зап", + "If enabled, you can zap with a single click. Click and hold for custom amounts": "Если включено, вы можете отправить зап одним нажатием. Нажмите и удерживайте для выбора суммы", + All: "Все", + Reactions: "Реакции", + Zaps: "Запы", + Boosts: "Бусты", + Badges: "Badges", + Reports: "Reports", + "Enjoying Imwald?": "Нравится Imwald?", + "Your donation helps me maintain Imwald and make it better! 😊": "Ваше пожертвование помогает поддерживать и улучшать Imwald! 😊", + "Earlier notifications": "Ранние уведомления", + "Temporarily display this note": "Временно отобразить эту заметку", + buttonFollowing: "Подписан", + "Are you sure you want to unfollow this user?": "Вы уверены, что хотите отписаться от этого пользователя?", + "Recent Supporters": "Недавние спонсоры", + "Seen on": "Просмотрено на", + "Active relays": "Active relays", + "Not connected": "Not connected", + "Relay session striked": "Skipped this session (too many connection failures)", + "More relays": "+{{count}} relays", + "Temporarily display this reply": "Временно отобразить этот ответ", + "Note not found": "Заметка не найдена", + "Invalid embedded note reference": "Invalid embedded note reference", + embeddedNoteInvalidEmpty: "This embedded link is empty.", + embeddedNoteInvalidHex: "This is not a valid hex event id (expected exactly 64 hexadecimal characters).", + embeddedNoteInvalidBech32: "This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.", + embeddedNoteInvalidWrongKind: "This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.", + "The note was not found on your relays or default relays.": "The note was not found on your relays or default relays.", "Try searching author's relays": "Try searching author's relays", - 'Searching external relays...': 'Searching external relays...', - "This will connect to the author's relays and relay hints": - "This will connect to the author's relays and relay hints", - 'Note could not be found anywhere': 'Note could not be found anywhere', - 'Try external relays': 'Try external relays', - 'Searching...': 'Searching...', - 'Show relays': 'Show relays', - 'No external relay hints available': 'No external relay hints available', - 'External relay search is not available for this link type': - 'External relay search is not available for this link type.', - 'Searched external relays not found': - 'Searched {{count}} external relays; the note was still not found.', - 'no more replies': 'больше нет ответов', - 'Relay sets': 'Наборы ретрансляторов', - 'Search for Relays': 'Search for Relays', - 'Using app default relays': 'Using app default relays', - "Following's Favorites": 'Избранные ретрансляторы подписчиков', - 'no more relays': 'больше нет ретрансляторов', - 'Favorited by': 'Избранные у', - 'Post settings': 'Настройки публикации', - 'Publishing feedback': 'Publishing feedback', - 'Publish success toasts': 'Publish success toasts', - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.': - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.', - 'Publish successful': 'Publish successful', - 'Media upload service': 'Служба загрузки медиафайлов', - 'Choose a relay': 'Выберите ретранслятор', - 'no relays found': 'ретрансляторы не найдены', - video: 'видео', - 'Show n new notes': 'Показать {{n}} новых заметок', - YouTabName: 'Вы', - Bookmark: 'Закладка', - 'Remove bookmark': 'Удалить закладку', - 'no bookmarks found': 'Закладки не найдены', - 'no more bookmarks': 'Больше нет закладок', - Bookmarks: 'Закладки', - 'Follow Packs': 'Follow Packs', - 'Follow Pack': 'Follow Pack', - 'Follow pack by': 'by', - 'In Follow Packs': 'In Follow Packs', - 'Badge details': 'Badge details', - 'Issued by': 'Issued by', - 'Other recipients': 'Other recipients', - 'No other recipients found': 'No other recipients found', - 'Recipients could not be loaded': 'Recipients could not be loaded', - 'View award': 'View award', - 'Awarded on': 'Awarded on', - 'Please log in to follow': 'Please log in to follow', - 'Following All': 'Following All', - 'Followed {{count}} users': 'Followed {{count}} users', - 'All available members are already followed or muted': - 'All available members are already followed or muted', - 'You are already following all members of this pack': - 'You are already following all members of this pack', - 'Failed to follow pack': 'Failed to follow pack', - '{{count}} profiles': '{{count}} profiles', - 'Show more': 'Показать больше', - General: 'Общие', - Autoplay: 'Автовоспроизведение', - 'Enable video autoplay on this device': 'Включить автовоспроизведение видео на этом устройстве', - 'liveActivities.heading': 'Live now', - 'liveActivities.regionLabel': 'Live spaces and streams', - 'liveActivities.fromFollow': 'From someone you follow', - 'liveActivities.goToSlide': 'Show live item {{n}}', - 'liveActivities.settingsToggle': 'Live activities banner', - 'liveActivities.settingsHint': - 'Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.', - 'Add random relays to every publish': 'Random relays in publish list', - 'Add random relays to every publish description': - 'Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.', - relayType_local: 'Local', - relayType_relay_list: 'Relay list', - relayType_http_relay_list: 'HTTP', - 'HTTP relays': 'HTTP relays', - httpRelaysDescription: - 'HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.', - 'HTTP relays saved': 'HTTP relays saved', - 'Failed to save HTTP relay list': 'Failed to save HTTP relay list', - 'HTTP relays must start with https:// or http://': - 'HTTP relays must start with https:// or http://', - relayType_client_default: 'Client default', - relayType_open_from: 'Current feed', - relayType_favorite: 'Favorite', - relayType_relay_set: 'Relay set', - relayType_contextual: 'Reply/PM', - relayType_randomly_selected: 'Random (optional)', - 'Session relays': 'Session relays', - 'Session relays tab description': - 'Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish).', - 'Session relays preset working': 'Working preset relays', - 'Session relays preset working hint': - 'Preset relays (from app defaults) that have not reached 3 publish failures this session.', - 'Session relays preset striked': 'Striked preset relays', - 'Session relays preset striked hint': - 'Preset relays that have reached 3 publish failures this session and are skipped for the rest of the session.', - 'Session relays scored random': 'Scored random relays', - 'Session relays scored random hint': - 'Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.', - 'Session relays all striked': 'All striked relays (any source)', - 'Session relays clear strike': 'Allow again', - 'Session relays clear strike hint': - 'Remove this relay from the session block list; it will be used again until new connection failures.', - successes: 'successes', - None: 'None', - 'Cache & offline storage': 'Cache & offline storage', - feedStarting: 'Starting feeds and relays… This can take a few seconds after login.', - refreshCacheButtonExplainer: - 'Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.', - 'eventArchive.sectionTitle': 'Notes & feed archive', - 'eventArchive.sectionBlurb': - 'Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.', - 'eventArchive.defaultsMobile': - 'This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).', - 'eventArchive.defaultsElectron': - 'Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.defaultsDesktopWeb': - 'Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.enablePersist': 'Persist feed events to disk', - 'eventArchive.maxMb': 'Max archive size (MB), blank = default for this device', - 'eventArchive.maxEvents': 'Max archived events, blank = default', - 'eventArchive.sessionLru': 'In-memory session cache (event count), blank = default', - 'eventArchive.effectiveSummary': - 'Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.', - 'eventArchive.on': 'on', - 'eventArchive.off': 'off', - 'eventArchive.apply': 'Apply cache settings', - 'eventArchive.appliedToast': 'Cache settings saved. Session memory updated.', - 'Paste or drop media files to upload': 'Вставьте или перетащите медиафайлы для загрузки', - Preview: 'Предварительный просмотр', - 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'Вы собираетесь опубликовать событие, подписанное [{{eventAuthorName}}]. Вы в данный момент вошли как [{{currentUsername}}]. Вы уверены?', - 'Platinum Sponsors': 'Платиновые спонсоры', - From: 'От', - 'Comment on': 'Прокомментировать', - 'View on njump.me': 'Посмотреть на njump.me', - 'Hide content from untrusted users': 'Скрыть контент от недоверенных пользователей', - 'Only show content from your followed users and the users they follow': - 'Показывать только контент от пользователей, на которых вы подписаны, и от пользователей, на которых они подписаны', - 'Followed by': 'Подписан на', - 'Mute user privately': 'Заглушить пользователя приватно', - 'Mute user publicly': 'Заглушить пользователя публично', - Quotes: 'Цитаты', - 'Lightning Invoice': 'Lightning-счет', - 'Bookmark failed': 'Не удалось добавить закладку', - 'Remove bookmark failed': 'Не удалось удалить закладку', - Translation: 'Перевод', - Balance: 'Баланс', - characters: 'символов', - translateApiKeyDescription: - 'Вы можете использовать этот API-ключ в любом другом месте, которое поддерживает LibreTranslate. URL сервиса: {{serviceUrl}}', - 'Top up': 'Пополнить', - 'Will receive: {n} characters': 'Получите: {{n}} символов', - 'Top up {n} sats': 'Пополнить на {{n}} сатс', - 'Minimum top up is {n} sats': 'Минимальное пополнение составляет {{n}} сатс', - Service: 'Сервис', - 'Reset API key': 'Сбросить API-ключ', - 'Are you sure you want to reset your API key? This action cannot be undone.': - 'Вы уверены, что хотите сбросить ваш API-ключ? Это действие не может быть отменено.', - Warning: 'Предупреждение', - 'Errors & warnings': 'Errors & warnings', - 'Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.': - 'Ваш текущий API-ключ станет недействительным немедленно, и любые приложения, использующие его, перестанут работать, пока вы не обновите их новым ключом.', - 'Service address': 'Адрес сервиса', - Pay: 'Оплатить', - interactions: 'взаимодействия', - notifications: 'уведомления', - notificationsViewAsAccount: 'View as', - notificationsViewAsAccountAria: - 'Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.', - notificationsSwitchAccountFailed: - 'Could not switch account. Check your signer, password, or extension and try again.', - 'Show untrusted {type}': 'Показать недоверенные {{type}}', - 'Hide untrusted {type}': 'Скрыть недоверенные {{type}}', - 'Currently hiding {type} from untrusted users.': - 'В настоящее время скрываются {{type}} от недоверенных пользователей.', - 'Currently showing all {type}.': 'В настоящее время отображаются все {{type}}.', - 'Click continue to show all {type}.': 'Нажмите "Продолжить", чтобы показать все {{type}}.', - 'Click continue to hide {type} from untrusted users.': - 'Нажмите "Продолжить", чтобы скрыть {{type}} от недоверенных пользователей.', - 'Trusted users include people you follow and people they follow.': - 'Доверенные пользователи включают людей, на которых вы подписаны, и людей, на которых они подписаны.', - Continue: 'Продолжить', - 'Successfully updated mute list': 'Успешно обновлен список заглушенных пользователей', - 'No pubkeys found from {url}': 'Не найдено pubkeys из {{url}}', - 'Translating...': 'Перевод...', - Translate: 'Перевести', - 'Show original': 'Показать оригинал', - Website: 'Веб-сайт', - 'Hide untrusted notes': 'Скрыть недоверенные заметки', - 'Open in another client': 'Открыть в другом клиенте', - Community: 'Сообщество', - Group: 'Группа', - 'Live event': 'Живое событие', - Article: 'Статья', - Unfavorite: 'Убрать из избранного', - 'Recommended relays': 'Рекомендуемые ретрансляторы', - 'Show recommended relays panel': 'Show recommended relays panel', - 'Display the right-side panel with recommended relays on desktop': - 'Display the right-side panel with recommended relays on desktop', - 'Blossom server URLs': 'URLs сервера Blossom', - 'You need to add at least one blossom server in order to upload media files.': - 'Вам нужно добавить хотя бы один сервер Blossom, чтобы загружать медиафайлы.', - 'Recommended blossom servers': 'Рекомендуемые серверы Blossom', - 'Enter Blossom server URL': 'Введите URL сервера Blossom', - Preferred: 'Предпочтительный', - 'Multiple choice (select one or more)': 'Множественный выбор (выберите один или несколько)', - Vote: 'Голосовать', - '{{number}} votes': '{{number}} голосов', - 'Total votes': 'Всего голосов', - 'Poll has ended': 'Опрос завершён', - 'Poll ends at {{time}}': 'Опрос завершается {{time}}', - 'Load results': 'Загрузить результаты', - 'This is a poll note.': 'Это заметка с опросом.', - 'Unlike regular notes, polls are not widely supported and may not display on other clients.': - 'В отличие от обычных заметок, опросы не получили широкой поддержки и могут не отображаться в других клиентах.', - 'Option {{number}}': 'Вариант {{number}}', - 'Add Option': 'Добавить вариант', - 'Allow multiple choices': 'Разрешить множественный выбор', - 'End Date (optional)': 'Дата окончания (необязательно)', - 'Clear end date': 'Очистить дату окончания', - 'Relay URLs (optional, comma-separated)': 'URL релеев (необязательно, через запятую)', - 'Remove poll': 'Удалить опрос', - 'Refresh results': 'Обновить результаты', - '{{votes}} · {{pct}}%': '{{votes}} · {{pct}}%', - 'See results': 'See results', - 'Zap poll (paid votes)': 'Zap poll (paid votes)', - 'Invalid zap poll': 'Invalid zap poll', - 'You voted on this poll (zap receipt)': 'You voted on this poll (zap receipt)', - 'Poll closed {{time}}': 'Poll closed {{time}}', - 'Closes {{time}}': 'Closes {{time}}', - 'Vote size': 'Vote size', - '{{n}} sats (fixed)': '{{n}} sats (fixed)', - '{{min}}–{{max}} sats': '{{min}}–{{max}} sats', - '≥ {{n}} sats': '≥ {{n}} sats', - '≤ {{n}} sats': '≤ {{n}} sats', - 'Loading tally…': 'Loading tally…', - 'Zap poll no votes yet': - 'No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).', - 'Consensus threshold': 'Consensus threshold', - 'Pay to': 'Pay to', - Recipient: 'Recipient', - Option: 'Option', - 'Select option': 'Select option', - 'Select an option': 'Select an option', - 'Vote with zap': 'Vote with zap', - 'Zap sent': 'Zap sent', - 'Zapping…': 'Zapping…', - 'Refresh tally': 'Refresh tally', - '{{n}} zaps': '{{n}} zaps', - Poll: 'Опрос', - Media: 'медиа', - 'Articles and Publications': 'Articles and Publications', - 'Search articles...': 'Search articles...', - 'Refreshing articles...': 'Refreshing articles...', - 'No articles or publications found': 'No articles or publications found', - 'No articles or publications match your search': - 'No articles or publications match your search', - 'articles and publications': 'articles and publications', - Interests: 'Interests', - Calendar: 'Calendar', - 'No subscribed interests yet.': - 'No subscribed interests yet. Add topics in settings to see them here.', - 'No bookmarked notes with id tags yet.': - 'No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.', - 'No follows or relays to load yet.': 'No follows or relays to load yet.', - 'Nothing to load for this feed.': 'Nothing to load for this feed.', - 'No posts loaded for this feed. Try refreshing.': - 'No posts loaded for this feed. Try refreshing.', - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.': - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.', - 'Per-relay timeline results ({{count}} connections)': - 'Per-relay timeline results ({{count}} connections)', - 'Republish to ...': 'Ретранслировать в ...', - 'All available relays': 'All available relays', - 'All active relays (monitoring list)': 'All active relays (monitoring list)', - 'Successfully republish to all available relays': - 'Successfully republish to all available relays', - 'Failed to republish to all available relays: {{error}}': - 'Failed to republish to all available relays: {{error}}', - 'Successfully republish to all active relays': 'Successfully republish to all active relays', - 'Failed to republish to all active relays: {{error}}': - 'Failed to republish to all active relays: {{error}}', - 'No active relays in monitoring list': 'No active relays in monitoring list', - 'No relay accepted the event': 'No relay accepted the event', - 'No relays available': 'No relays available', - 'No write relays configured': 'No write relays configured', - 'Relay did not accept the event': 'Relay did not accept the event', - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".': - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".', - 'Successfully republish to your write relays': - 'Успешно ретранслировано в ваши ретрансляторы для записи', - 'Failed to republish to your write relays: {{error}}': - 'Не удалось ретранслировать в ваши ретрансляторы для записи: {{error}}', - 'Successfully republish to relay set: {{name}}': - 'Успешно ретранслировано в набор ретрансляторов: {{name}}', - 'Failed to republish to relay set: {{name}}. Error: {{error}}': - 'Не удалось ретранслировать в набор ретрансляторов: {{name}}. Ошибка: {{error}}', - 'Successfully republish to relay: {{url}}': 'Успешно ретранслировано в ретранслятор: {{url}}', - 'Failed to republish to relay: {{url}}. Error: {{error}}': - 'Не удалось ретранслировать в ретранслятор: {{url}}. Ошибка: {{error}}', - 'Write relays': 'Ретрансляторы для записи', - 'No more reactions': 'Больше нет реакций', - 'No reactions yet': 'Пока нет реакций', - 'No more zaps': 'Больше нет запов', - 'No zaps yet': 'Пока нет запов', - 'No more boosts': 'Больше нет бустов', - 'No boosts yet': 'Пока нет бустов', - 'n more boosts': '{{count}} more boosts', - FollowListNotFoundConfirmation: - 'Список подписок не найден. Хотите создать новый? Если вы уже подписывались на пользователей ранее, пожалуйста, НЕ подтверждайте, так как эта операция приведет к потере вашего предыдущего списка подписок.', - MuteListNotFoundConfirmation: - 'Список заблокированных не найден. Хотите создать новый? Если вы уже блокировали пользователей ранее, пожалуйста, НЕ подтверждайте, так как эта операция приведет к потере вашего предыдущего списка заблокированных.', - 'Show NSFW content by default': 'Показывать контент NSFW по умолчанию', - 'Custom emoji management': 'Управление пользовательскими эмодзи', - 'After changing emojis, you may need to refresh the page': - 'После изменения эмодзи может потребоваться обновить страницу', - 'Too many read relays': 'Слишком много релеев для чтения', - 'Too many write relays': 'Слишком много релеев для записи', - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'У вас {{count}} релеев для чтения. Большинство клиентов используют только 2-4 релея, устанавливать больше не нужно.', - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'У вас {{count}} релеев для записи. Большинство клиентов используют только 2-4 релея, устанавливать больше не нужно.', - 'Optimize Relay Settings': 'Оптимизировать настройки релеев', - 'Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.': - 'Ваша текущая конфигурация релеев может быть не оптимальной. Это может затруднить поиск ваших сообщений другими пользователями и привести к неполным уведомлениям.', - 'Optimize Now': 'Оптимизировать сейчас', - 'Maybe Later': 'Возможно, позже', - "Don't remind me again": 'Больше не напоминать', - Posts: 'Посты', - 'Posts (OPs)': 'Posts (OPs)', - 'Kind 1 replies': 'Kind 1 replies', - Comments: 'Comments', - 'Replies & comments': 'Replies & comments', - Articles: 'Статьи', - Highlights: 'Выделения', - 'A note from': 'A note from', - Polls: 'Опросы', - 'Zap polls': 'Zap polls', - 'Voice Posts': 'Голосовые посты', - 'Photo Posts': 'Фото посты', - 'Video Posts': 'Видео посты', - 'Git repositories': 'Git repositories', - 'Git issues': 'Git issues', - 'Git releases': 'Git releases', - 'Git Republic repository': 'Git Republic repository', - 'Git Republic issue': 'Git Republic issue', - 'Git Republic release': 'Git Republic release', - 'Git Republic event': 'Git Republic event', - 'Git Republic': 'Git Republic', - 'Open in Git Republic': 'Open in Git Republic', - 'Pre-release': 'Pre-release', - Draft: 'Draft', - 'Repository release': 'Repository release', - 'New Repository Release': 'New Repository Release', - 'Release notes use the editor below (optional).': - 'Release notes use the editor below (optional).', - 'Repository owner (npub or hex)': 'Repository owner (npub or hex)', - 'Repository id (d-tag)': 'Repository id (d-tag)', - 'Git tag name': 'Git tag name', - 'Tag target (40-char commit hash)': 'Tag target (40-character commit hash)', - '40-character hex SHA-1': '40-character hex SHA-1', - 'Release title': 'Release title', - 'Download URL': 'Download URL', - 'Draft release': 'Draft release', - 'Fill repository release fields': 'Fill in all required repository release fields.', - 'Invalid repository owner pubkey': 'Invalid repository owner (use npub or 64-char hex).', - 'Citations require private relays (NIP-65).': - 'Citations require private outbox relays (NIP-65).', - 'Select All': 'Выбрать все', - 'Clear All': 'Очистить все', - 'Set as default filter': 'Установить как фильтр по умолчанию', - 'Use filter': 'Use filter', - 'See all events': 'See all events', - 'See all events hint': - 'Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.', - 'Use filter hint': 'Only the kinds you select below are requested and shown.', - Apply: 'Применить', - Reset: 'Сбросить', - 'Share something on this Relay': 'Поделиться чем-то на этом релее', - 'Try deleting this note': 'Попробуйте удалить эту заметку', - 'Deletion request sent to {{count}} relays': 'Запрос на удаление отправлен на {{count}} релеев', - 'Suitable Relays': 'Подходящие релея', - 'People, keywords, or relays': 'Люди, ключевые слова или релея', - 'Hide content mentioning muted users': 'Скрыть контент, упоминающий заглушённых пользователей', - 'This note mentions a user you muted': - 'Эта заметка упоминает пользователя, которого вы заглушили', - Filter: 'Фильтр', - 'Feed filter': 'Feed filter', - 'Search loaded posts': 'Search loaded posts', - 'Filter loaded posts placeholder': 'Filter by text in content or tags…', - 'Feed filter author': 'Author', - 'Feed filter author everyone': 'From everyone', - 'Feed filter author me': 'Only from me', - 'Feed filter author npub': 'From user (npub or hex)', - 'Feed filter author npub from prefix': 'from:', - 'Feed filter author npub placeholder': 'npub1… or 64-char hex', - 'Feed filter author me needs login': 'Log in to filter by your pubkey', - 'Within the last': 'Within the last', - 'Time unit': 'Time unit', - Minutes: 'Minutes', - Days: 'Days', - Weeks: 'Weeks', - Months: 'Months', - Years: 'Years', - 'Feed filter client-side hint': - 'Filters only apply to posts already loaded; relays are not queried again.', - 'Feed full search': 'Perform full search', - 'Feed full search running': 'Searching…', - 'Feed full search clear': 'Clear', - 'Feed full search active hint': - 'Showing relay search results. Clear to return to the live feed.', - 'Feed full search need constraint': - 'Add search text, an author filter, or a time range before searching relays.', - 'Feed full search invalid feed': 'This feed cannot run a relay search.', - 'Feed full search failed': 'Relay search failed. Try again.', - 'Feed full search empty': 'No matching posts were found on the queried relays.', - 'No loaded posts match your filters.': 'No loaded posts match your filters.', - 'mentioned you in a note': 'упомянул вас в заметке', - 'quoted your note': 'процитировал вашу заметку', - 'quoted this note': 'Quoted this note', - 'highlighted this note': 'Highlighted this note', - 'cited in article': 'Cited in article', - 'Thread backlinks heading': 'Also quoting this note', - 'Thread backlinks primary section': 'Quotes, highlights & citations', - 'Thread backlinks bookmarks section': 'Bookmarks', - 'Thread backlinks lists section': 'Lists & collections', - 'View full note and thread': 'View full note and thread', - 'labeled this note': 'Labeled this note', - 'reported this note': 'Reported this note', - 'bookmarked this note': 'Bookmarked this note', - 'pinned this note': 'Pinned this note', - 'listed this note': 'Listed this note', - 'bookmark set reference': 'Bookmark set includes this note', - 'curated this note': 'Curated this note', - 'badge award for this note': 'Badge award for this note', - 'referenced this note': 'Referenced this note', - 'Report events heading': 'Moderation reports', - 'voted in your poll': 'проголосовал в вашем опросе', - 'reacted to your note': 'отреагировал на вашу заметку', - 'boosted your note': 'сделал буст вашей заметки', - 'zapped your note': 'заппил вашу заметку', - 'zapped you': 'заппил вас', - zapped: 'zapped', - 'Invalid zap receipt': 'Invalid zap receipt', - 'Zapped note': 'Zapped note', - 'Zapped profile': 'Zapped profile', - 'Zap reply threshold': 'Zap reply threshold', - 'Zaps above this amount will appear as replies in threads': - 'Zaps above this amount will appear as replies in threads', - 'Mark as read': 'Отметить как прочитанное', - Report: 'Пожаловаться', - 'Successfully report': 'Жалоба успешно отправлена', - 'Failed to report': 'Не удалось отправить жалобу', - nudity: 'Обнаженность', - malware: 'Вредоносное ПО', - profanity: 'Ненормативная лексика', - illegal: 'Незаконный контент', - spam: 'Спам', - other: 'Другое', - 'Notification list style': 'Стиль списка уведомлений', - 'See extra info for each notification': - 'Просмотреть дополнительную информацию для каждого уведомления', - 'See more notifications at a glance': 'Увидеть больше уведомлений с первого взгляда', - Detailed: 'Подробный', - 'Submit Relay': 'Отправить релей', - Homepage: 'Домашняя страница', - 'Proof of Work (difficulty {{minPow}})': 'Доказательство работы (сложность {{minPow}})', - 'via {{client}}': 'через {{client}}', - 'Auto-load media': 'Автозагрузка медиа', - Always: 'Всегда', - 'Wi-Fi only': 'Только Wi-Fi', - Never: 'Никогда', - 'Click to load image': 'Нажмите, чтобы загрузить изображение', - 'Click to load media': 'Нажмите, чтобы загрузить медиа', - 'Click to load YouTube video': 'Нажмите, чтобы загрузить видео YouTube', - '{{count}} reviews': '{{count}} отзывов', - 'Write a review': 'Написать отзыв', - 'No reviews yet. Be the first to write one!': - 'Отзывов пока нет. Станьте первым, кто напишет отзыв!', - 'View more reviews': 'Посмотреть больше отзывов', - 'Failed to review': 'Ошибка отзыва', - 'Write a review and pick a star rating': 'Напишите отзыв и выберите звездный рейтинг', - Submit: 'Отправить', - 'Reviews for {{relay}}': 'Отзывы для {{relay}}', - 'No relays selected': 'Ретрансляторы не выбраны', - 'Post to': 'Опубликовать в', - 'Write relays and {{count}} other relays': - 'Ретрансляторы записи и {{count}} других ретрансляторов', - '{{count}} relays': '{{count}} ретрансляторов', - 'Republishing...': 'Ретрансляция...', - 'Trending Notes': 'Популярные заметки', - 'Trending on Your Favorite Relays': 'Trending on Your Favorite Relays', - 'Trending on the Default Relays': 'Trending on the Default Relays', - 'Latest from your follows': 'Latest from your follows', - 'Latest from our recommended follows': 'Latest from our recommended follows', - 'Follows latest page title': 'Latest from follows', - 'Follows latest page description': - 'Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.', - 'Follows latest nav label': 'Follows latest', - 'Loading follow list…': 'Loading follow list…', - 'Could not load recommended follows': 'Could not load recommended follows', - 'Your follow list is empty': 'Your follow list is empty', - 'Loading recent posts from follows…': 'Loading recent posts from follows…', - 'Loading more…': 'Loading more…', - 'No recent posts from this user in the current fetch': - 'No recent posts from this user in the current fetch', - 'Loading trending notes from your relays...': 'Loading trending notes from your relays...', - Sort: 'Sort', - newest: 'newest', - oldest: 'oldest', - 'most popular': 'most popular', - 'least popular': 'least popular', - 'Connected to': 'Подключено к', - 'Disconnect Wallet': 'Отключить кошелёк', - 'Are you absolutely sure?': 'Вы абсолютно уверены?', - 'You will not be able to send zaps to others.': 'Вы не сможете отправлять запы другим.', - Disconnect: 'Отключить', - 'Set up your wallet to send and receive sats!': - 'Настройте свой кошелёк, чтобы отправлять и получать саты!', - 'Set up': 'Настроить', - 'nested events': 'nested events', - 'Loading RSS feeds...': 'Loading RSS feeds...', - 'No RSS feed items available': 'No RSS feed items available', - 'Show or hide the RSS page and sidebar entry': 'Show or hide the RSS page and sidebar entry', - 'Refreshing feeds...': 'Refreshing feeds...', - 'All feeds': 'All feeds', - 'All time': 'All time', - 'Last hour': 'Last hour', - 'Last day': 'Last day', - 'Last week': 'Last week', - 'Last month': 'Last month', - 'Last 24 hours': 'Last 24 hours', - 'Last 48 hours': 'Last 48 hours', - 'Time range': 'Time range', - 'Filter by RSS source': 'Filter by RSS source', - 'No items match your filters': 'No items match your filters', - 'Search...': 'Search...', - '{{count}} feeds': '{{count}} feeds', - 'Toggle filters': 'Toggle filters', - 'Showing {{filtered}} of {{total}} items': 'Showing {{filtered}} of {{total}} items', - Full: 'Full', - Compact: 'Компактный', - Expand: 'Expand', - 'help.title': 'Help', - 'help.tabShortcuts': 'Keyboard shortcuts', - 'help.tabOverview': 'App overview', - 'shortcuts.title': 'Keyboard shortcuts', - 'shortcuts.intro': - 'Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.', - 'shortcuts.sectionApp': 'This app', - 'shortcuts.sectionSearch': 'Search bar', - 'shortcuts.sectionStandard': 'Standard', - 'shortcuts.openHelp': 'Show this help', - 'shortcuts.or': 'or', - 'shortcuts.then': 'then', - 'shortcuts.focusPrimary': - 'Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)', - 'shortcuts.focusSecondary': - 'Focus side panel scroll when it is open (desktop; same keys to scroll)', - 'shortcuts.newNote': 'New note / post (after login if needed)', - 'shortcuts.searchSuggest': 'Move through suggestions', - 'shortcuts.searchDismiss': 'Close search dropdown', - 'shortcuts.tabNavigate': 'Move focus to the next or previous control', - 'shortcuts.activate': 'Activate buttons and many controls', - 'shortcuts.closeOverlays': 'Close dialogs, menus, and the search dropdown', - 'shortcuts.scrollWhenFocused': 'Scroll the focused scrollable area', - 'shortcuts.browserBack': 'Browser back (history)', - 'No spells yet. Create one with the button above.': - 'No spells yet. Create one with the button above.', - 'Loading spells from your relays…': 'Loading spells from your relays…', - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.': - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.', - 'Select a spell…': 'Select a spell…', - 'Spells from follows': 'From people you follow ({{count}})', - 'Other spells': 'Other spells ({{count}})', - 'Select a spell to view its feed.': 'Select a spell to view its feed.', - 'Add another row': 'Add another row', - 'Remove this row': 'Remove this row', - 'One kind number per row (e.g. 1 for notes).': 'One kind number per row (e.g. 1 for notes).', - 'One author per row: $me, $contacts, or hex pubkey / npub.': - 'One author per row: $me, $contacts, or hex pubkey / npub.', - 'One hex event id per row.': 'One hex event id per row.', - 'One wss:// URL per row. Leave empty to use your write relays.': - 'One wss:// URL per row. Leave empty to use your write relays.', - 'One topic per row.': 'One topic per row.', - topic: 'topic', - 'Spell form fields': 'Spell form fields', - 'Counting matching events…': 'Counting matching events…', - 'Edit spell': 'Edit spell', - 'Clone spell': 'Clone spell', - 'Spell cloned': 'Spell cloned', - 'Clone spell intro': - 'This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.', - 'Spell updated': 'Spell updated', - 'Relay URL': 'Relay', - Count: 'Count', - 'Edit spell relays': 'Edit relays', - 'COUNT spell relay errors hint': - 'One or more relays failed or returned an error. You can change the relay list in the spell and save again.', - 'COUNT spell total distinct explanation': - 'Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.', - 'Leave empty to use your write relays.': 'Leave empty to use your write relays.', - 'COUNT spell result explanation': - 'Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.', - 'COUNT spell may be capped by limit': - 'This count may equal your spell limit — there could be more matching events on the network.', - 'Spell count failed. Check relays or try again.': - 'Could not complete the count. Check relays or try again.', - 'REQ returns a feed; COUNT returns a number.': - 'REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.', - listImportManualLabel: 'Pre-fill from event', - listImportFromEventHint: - 'Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.', - listImportManualPlaceholder: '64-char hex, nevent1…, or naddr1…', - listImportLoadManual: 'Apply', - listImportContentSkipped: - 'This event has non-empty content (may include encrypted private items). Only public tags were merged.', - listImportUnsupportedEmoji: - 'This list includes emoji tags (NIP-30); those are not added to the spell filter.', - listImportUnsupportedTag: - 'Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.', - listImportBadATag: 'Could not parse address tag: {{preview}}…', - listImportATagNotFound: 'Could not resolve address tag: {{preview}}…', - listImportATagFailed: 'Failed to resolve address tag: {{preview}}…', - listImportEventNotFound: 'No event found for that reference.', - 'REQ tag filters': 'REQ tag filters', - spellFormTagFiltersLabel: 'Tag filters on matching events', - spellCreateIntro: - 'Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.', - spellFormSectionQueryTitle: 'Spell query', - spellFormSectionQueryHint: - 'This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).', - spellFormSectionMetadataTitle: 'Listing & labels (optional)', - spellFormSectionMetadataBadge: 'Not part of the query', - spellFormSectionMetadataHint: - 'Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.', - spellFormCatalogTopicsLabel: 'Topic labels on this spell (t tags)', - spellTopicsMetadataHint: - 'One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).', - spellTagFiltersHint: - 'Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.', - spellTagFiltersEmpty: 'No tag filters yet. Add rows below or apply an event reference above.', - 'Tag filter letter': 'Tag letter', - 'Filter value': 'Value', - 'Add tag filter': 'Add tag filter', - spellPickerSectionYours: 'Your spells', - 'Failed to remove spell from local storage': 'Failed to remove spell from local storage', - Spells: 'Spells', - 'doublePane.secondaryEmpty': 'Open a note, profile, or settings item to show it here.', - 'doublePane.secondaryEmptyHint': 'Your feed and primary pages stay on the left.', - '(empty)': '(empty)', - '12-hour (AM/PM)': '12-hour (AM/PM)', - '24-hour': '24-hour', - 'A new version is available': 'A new version is available', - 'A short description of the article content': 'A short description of the article content', - AM: 'AM', - 'Access via': 'Access via', - 'Accessed On': 'Accessed On', - 'Accessed on': 'Accessed on', - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.': - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.', - 'Add a relay to block': 'Add a relay to block', - 'Add at least one invitee': 'Add at least one invitee', - 'Add client identifier': 'Add client identifier', - 'Add expiration tags by default': 'Add expiration tags by default', - 'Add quiet tags by default': 'Add quiet tags by default', - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above': - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above', - 'Add the source (where this text is from)': 'Add the source (where this text is from)', - 'Add to favorites': 'Add to favorites', - 'Add {{count}} Selected': 'Add {{count}} Selected', - 'Added at': 'Added at', - 'Added {{count}} relay(s)': 'Added {{count}} relay(s)', - 'Adding...': 'Adding...', - 'Adding…': 'Adding…', - 'Advanced Options': 'Advanced Options', - 'All Topics': 'All Topics', - 'All feeds from OPML file are already added': 'All feeds from OPML file are already added', - 'All items deleted successfully': 'All items deleted successfully', - 'Already blocked': 'Already blocked', - 'Already saved': 'Already saved', - 'Application Recommendations': 'Application Recommendations', - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.': - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.', - 'Are you sure you want to delete all items from this store?': - 'Are you sure you want to delete all items from this store?', - 'Are you sure you want to unmute this user? This will restore the follow button.': - 'Are you sure you want to unmute this user? This will restore the follow button.', - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", - 'Article exported as AsciiDoc': 'Article exported as AsciiDoc', - 'Article exported as Markdown': 'Article exported as Markdown', - 'Article title (optional)': 'Article title (optional)', - articleDTagDefaultHint: - 'Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….', - Audio: 'Audio', - Author: 'Author', - 'Author is required for reading groups': 'Author is required for reading groups', - 'Author name (optional)': 'Author name (optional)', - Authors: 'Authors', - 'Block Relay': 'Block Relay', - 'Blocked Relays': 'Blocked Relays', - 'Blocking...': 'Blocking...', - Blossom: 'Blossom', - Book: 'Book', - 'Brief description of the event': 'Brief description of the event', - 'Brief summary (optional)': 'Brief summary (optional)', - 'Brief summary of the article (optional)': 'Brief summary of the article (optional)', - 'Browse Cache': 'Browse Cache', - 'C-Tag': 'C-Tag', - 'Cache Relays': 'Cache Relays', - 'Cache cleared successfully': 'Cache cleared successfully', - 'Cache refreshed successfully': 'Cache refreshed successfully', - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.': - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.', - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)': - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)', - 'Cache relays saved': 'Cache relays saved', - Cancelled: 'Cancelled', - Chapter: 'Chapter', - 'Chapter Title': 'Chapter Title', - 'Chapter title (optional)': 'Chapter title (optional)', - Citation: 'Citation', - 'Citation title (optional)': 'Citation title (optional)', - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.': - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})', - 'Cleanup Duplicates': 'Cleanup Duplicates', - Clear: 'Clear', - 'Clear Cache': 'Clear Cache', - 'Clear Service Worker': 'Clear Service Worker', - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.': - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.', - 'Click update to get the latest features and improvements': - 'Click update to get the latest features and improvements', - Close: 'Close', - 'Comma or space-separated topics (will be added as t-tags)': - 'Comma or space-separated topics (will be added as t-tags)', - Command: 'Command', - Configure: 'Configure', - 'Connect Wallet': 'Connect Wallet', - 'Console Logs': 'Console Logs', - 'Console logs cleared': 'Console logs cleared', - 'Content is required': 'Content is required', - 'Content must be 5000 characters or less': 'Content must be 5000 characters or less', - Controversial: 'Controversial', - 'Copied!': 'Copied!', - 'Copy to clipboard': 'Copy to clipboard', - 'Create Article': 'Create Article', - 'Create Citation': 'Create Citation', - 'Create Highlight': 'Create Highlight', - 'Create New Thread': 'Create New Thread', - 'Create Poll': 'Create Poll', - 'Create Thread': 'Create Thread', - composeModeKind1: 'Short note (kind 1) — turn off other compose types', - 'Create a Spell': 'Create a Spell', - 'Creating...': 'Creating...', - 'D-Tag': 'D-Tag', - 'D-Tag is required for articles': 'D-Tag is required for articles', - DOI: 'DOI', - 'Date-based (all-day)': 'Date-based (all-day)', - 'Default expiration (months)': 'Default expiration (months)', - 'Default quiet period (days)': 'Default quiet period (days)', - 'Delete All': 'Delete All', - 'Delete item': 'Delete item', - 'Deleted {{count}} event(s)': 'Deleted {{count}} event(s)', - 'Deletion request sent': 'Deletion request sent', - 'Description (content)': 'Description (content)', - 'Digital Object Identifier (optional)': 'Digital Object Identifier (optional)', - 'Disable word wrap': 'Disable word wrap', - 'Discovered Relays': 'Discovered Relays', - 'Discovering relays...': 'Discovering relays...', - Discussion: 'Discussion', - Discussions: 'Discussions', - Downvote: 'Downvote', - 'Edited by': 'Edited by', - Editor: 'Editor', - 'Editor name (optional)': 'Editor name (optional)', - 'Enable word wrap': 'Enable word wrap', - 'End date': 'End date', - 'End date must be after start date': 'End date must be after start date', - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.': - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.', - 'Enter a descriptive title for your thread': 'Enter a descriptive title for your thread', - 'Enter the author name': 'Enter the author name', - 'Enter the book title': 'Enter the book title', - 'Enter the specific text you want to highlight in the main content area above': - 'Enter the specific text you want to highlight in the main content area above', - 'Event IDs (ids)': 'Event IDs (ids)', - 'Event appears to be invalid or corrupted': 'Event appears to be invalid or corrupted', - 'Event has no value data': 'Event has no value data', - 'Event is missing required fields: {{fields}}': 'Event is missing required fields: {{fields}}', - 'Event type': 'Event type', - 'Expiration Tags': 'Expiration Tags', - 'Export OPML': 'Export OPML', - 'Export as AsciiDoc': 'Export as AsciiDoc', - 'Export as Markdown': 'Export as Markdown', - 'External Citation': 'External Citation', - 'External Citation Settings': 'External Citation Settings', - 'Failed to add relay. Please try again.': 'Failed to add relay. Please try again.', - 'Failed to add relays': 'Failed to add relays', - 'Failed to block relay. Please try again.': 'Failed to block relay. Please try again.', - 'Failed to cleanup duplicates': 'Failed to cleanup duplicates', - 'Failed to clear cache': 'Failed to clear cache', - 'Failed to copy': 'Failed to copy', - 'Failed to create relay set. Please try again.': - 'Failed to create relay set. Please try again.', - 'Failed to create thread': 'Failed to create thread', - 'Failed to create thread. Please try a different relay.': - 'Failed to create thread. Please try a different relay.', - 'Failed to delete all items': 'Failed to delete all items', - 'Failed to delete item': 'Failed to delete item', - 'Failed to discover relays': 'Failed to discover relays', - 'Failed to export OPML file': 'Failed to export OPML file', - 'Failed to export article': 'Failed to export article', - 'Failed to import OPML file: {{error}}': 'Failed to import OPML file: {{error}}', - 'Failed to load RSS feeds': 'Failed to load RSS feeds', - 'Failed to load store items': 'Failed to load store items', - 'Failed to mute user privately': 'Failed to mute user privately', - 'Failed to mute user publicly': 'Failed to mute user publicly', - 'Failed to pin note': 'Failed to pin note', - 'Failed to publish post': 'Failed to publish post', - 'Failed to publish reply': 'Failed to publish reply', - 'Failed to publish thread': 'Failed to publish thread', - 'Failed to publish to some relays. Please try again or use different relays.': - 'Failed to publish to some relays. Please try again or use different relays.', - 'Failed to save RSS feeds': 'Failed to save RSS feeds', - 'Failed to save cache relays': 'Failed to save cache relays', - 'Failed to save relay list': 'Failed to save relay list', - 'Failed to unregister service worker: ': 'Failed to unregister service worker: ', - 'Failed to unsubscribe from topic': 'Failed to unsubscribe from topic', - Favorite: 'Favorite', - Fetch: 'Fetch', - 'Fetch once, then stop.': 'Fetch once, then stop.', - 'Filter by': 'Filter by', - 'Flat View': 'Flat View', - 'Font size': 'Font size', - 'Full Quote/Context': 'Full Quote/Context', - 'Full-text search query': 'Full-text search query', - Geohash: 'Geohash', - 'Geohash (optional)': 'Geohash (optional)', - 'Global quiet mode': 'Global quiet mode', - 'Group discussions by topic': 'Group discussions by topic', - 'Grouped View': 'Grouped View', - Groups: 'Groups', - 'Handler {{index}}': 'Handler {{index}}', - 'Hardcopy Citation': 'Hardcopy Citation', - 'Hardcopy Citation Settings': 'Hardcopy Citation Settings', - Hide: 'Hide', - 'Hide interactions on all posts': 'Hide interactions on all posts', - 'Hide interactions on posts with quiet tags': 'Hide interactions on posts with quiet tags', - 'High PoW': 'High PoW', - 'Higher values make your thread harder to mine but more unique.': - 'Higher values make your thread harder to mine but more unique.', - Highlight: 'Highlight', - 'Highlight Settings': 'Highlight Settings', - 'How to Create a Highlight (NIP-84)': 'How to Create a Highlight (NIP-84)', - 'Human-readable spell name': 'Human-readable spell name', - 'Image URL': 'Image URL', - 'Import OPML': 'Import OPML', - 'Imported {{count}} feed(s) from OPML file': 'Imported {{count}} feed(s) from OPML file', - 'In-Browser Cache': 'In-Browser Cache', - Insert: 'Insert', - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).': - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).', - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.': - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.', - 'Insert event or address': 'Insert event or address', - 'Insert mention': 'Insert mention', - 'Internal Citation': 'Internal Citation', - 'Internal Citation Settings': 'Internal Citation Settings', - 'Invalid Event': 'Invalid Event', - 'Invalid Lightning Address': 'Invalid Lightning Address', - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.': - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.', - 'Invalid URL': 'Invalid URL', - 'Invalid content JSON': 'Invalid content JSON', - 'Invalid relay URL': 'Invalid relay URL', - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.': - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.', - 'Item deleted successfully': 'Item deleted successfully', - JSON: 'JSON', - 'Join link': 'Join link', - 'Journal/Publication name (optional)': 'Journal/Publication name (optional)', - Json: 'JSON', - Kinds: 'Kinds', - 'Language Model': 'Language Model', - Large: 'Large', - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link': - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link', - 'Lightning payment failed': 'Lightning payment failed', - Limit: 'Limit', - 'Live feed; keeps updating.': 'Live feed; keeps updating.', - 'Loading more...': 'Loading more...', - 'Loading relays...': 'Loading relays...', - 'Location (optional)': 'Location (optional)', - 'Log in to run this spell (it uses $me or $contacts).': - 'Log in to run this spell (it uses $me or $contacts).', - 'Login failed': 'Login failed', - 'Login to configure RSS feeds': 'Login to configure RSS feeds', - 'Long-form Article': 'Long-form Article', - 'Mailbox relays saved': 'Mailbox relays saved', - 'Mark as NSFW': 'Mark as NSFW', - 'Maximum {{max}} invitees': 'Maximum {{max}} invitees', - 'Maximum {{max}} invitees allowed': 'Maximum {{max}} invitees allowed', - Medium: 'Medium', - Mode: 'Mode', - 'Most Zapped': 'Most Zapped', - 'Move to top': 'Move to top', - 'Multiple choice': 'Multiple choice', - 'Mute failed': 'Mute failed', - NSFW: 'NSFW', - Name: 'Name', - 'Name of the language model used': 'Name of the language model used', - 'New External Citation': 'New External Citation', - 'New Hardcopy Citation': 'New Hardcopy Citation', - 'New Highlight': 'New Highlight', - 'New Internal Citation': 'New Internal Citation', - 'New Long-form Article': 'New Long-form Article', - 'New Poll': 'New Poll', - 'New Discussion': 'New Discussion', - 'New Prompt Citation': 'New Prompt Citation', - 'New Public Message': 'New Public Message', - 'New Wiki Article': 'New Wiki Article', - 'New Wiki Article (Markdown)': 'New Wiki Article (Markdown)', - Newest: 'Newest', - 'No JSON available': 'No JSON available', - 'No RSS feeds found in OPML file': 'No RSS feeds found in OPML file', - 'No cached data found.': 'No cached data found.', - 'No console logs captured yet': 'No console logs captured yet', - 'No events found': 'No events found', - 'No feeds configured. Default feed will be used.': - 'No feeds configured. Default feed will be used.', - 'No feeds to export': 'No feeds to export', - 'No groups available. Join some groups first.': 'No groups available. Join some groups first.', - 'No items in this store.': 'No items in this store.', - 'No items match your search.': 'No items match your search.', - 'No logs match the current filters': 'No logs match the current filters', - 'No posts found': 'No posts found', - 'No posts match your search': 'No posts match your search', - 'No relays available. Please configure relays in settings.': - 'No relays available. Please configure relays in settings.', - 'No service workers or caches found for this app': - 'No service workers or caches found for this app', - 'No users found': 'No users found', - 'No valid RSS feed URLs found in OPML file': 'No valid RSS feed URLs found in OPML file', - 'Note pinned': 'Note pinned', - 'Note unpinned': 'Note unpinned', - Oldest: 'Oldest', - 'Open Timestamp': 'Open Timestamp', - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.': - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.', - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.': - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.', - Optional: 'Optional', - 'Optional image for the event': 'Optional image for the event', - 'Optionally, add the full quote/context to show your highlight within it': - 'Optionally, add the full quote/context to show your highlight within it', - PM: 'PM', - 'Page Range': 'Page Range', - Pages: 'Pages', - 'Paste URL of a GIF': 'Paste URL of a GIF', - 'Paste URL of a meme image': 'Paste URL of a meme image', - 'Paste the entire original passage that contains your highlight': - 'Paste the entire original passage that contains your highlight', - Photo: 'Photo', - 'Picture Note': 'Picture Note', - 'Pin note': 'Pin note', - 'Plain text description of the query': 'Plain text description of the query', - 'Please login to view bookmarks': 'Please login to view bookmarks', - 'Please select a group': 'Please select a group', - 'Please select at least one relay': 'Please select at least one relay', - 'Please set a start date': 'Please set a start date', - 'Poll with no options': 'Poll with no options', - 'Post published to some relays': 'Post published to some relays', - 'Posts will automatically include expiration tags': - 'Posts will automatically include expiration tags', - 'Posts will automatically include quiet tags': 'Posts will automatically include quiet tags', - 'Posts will be quiet for this many days': 'Posts will be quiet for this many days', - 'Posts will expire after this many months': 'Posts will expire after this many months', - 'Processing...': 'Processing...', - 'Profile event not available': 'Profile event not available', - 'Prompt Citation': 'Prompt Citation', - 'Prompt Citation Settings': 'Prompt Citation Settings', - 'Prompt Conversation Script': 'Prompt Conversation Script', - 'Proof of Work': 'Proof of Work', - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post': - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post', - 'Publish to Relays': 'Publish to Relays', - 'Published By': 'Published By', - 'Published In': 'Published In', - 'Published On': 'Published On', - 'Published in': 'Published in', - 'Published on': 'Published on', - 'Publisher name (optional)': 'Publisher name (optional)', - 'Quiet Tags': 'Quiet Tags', - 'RSS Feed': 'RSS Feed', - 'RSS + Web': 'RSS + Web', - 'RSS feed source': 'RSS feed source', - 'All feed sources': 'All feed sources', - 'RSS feed view mode': 'RSS feed view mode', - 'Article URLs': 'Article URLs', - 'Article URLs subtitle': - 'One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.', - 'Article URLs Nostr manual subtitle': - 'Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.', - 'RSS feed column title': 'RSS & linked articles', - 'RSS feed column subtitle': - 'Feed entries and article cards that include at least one item from your subscribed RSS feeds.', - 'RSS timeline': 'RSS timeline', - 'RSS timeline subtitle': - 'Every item from your subscribed feeds, newest first — classic RSS reader.', - URLs: 'URLs', - RSS: 'RSS', - 'No URL-only items yet': 'No URL-only items yet', - 'Respond to this RSS entry': 'Respond to this RSS entry', - 'RSS read-only thread hint': - 'Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.', - 'RSS feed item label': 'RSS', - 'Web URL item label': 'Web URL', - 'URL thread activity': 'URL thread activity', - 'Suppress Clawstr links in RSS previews': 'Hide clawstr.com in RSS and URL feed', - 'Hide local, media & feed URLs from URL cards': - 'Hide local, media, feed, document & XML links from the feed', - 'RSS articles': 'RSS articles', - 'Web comments': 'Web comments', - 'Web highlights': 'Web highlights', - 'In your bookmarks': 'In your bookmarks', - '{{count}} RSS entries for this URL': '{{count}} RSS entries for this URL', - '{{count}} entries for this article URL': '{{count}} entries for this article URL', - 'No comments yet': 'No comments yet', - 'No highlights yet': 'No highlights yet', - 'Showing {{filtered}} of {{total}} entries': 'Showing {{filtered}} of {{total}} entries', - standardRssFeed_spotifeed: 'Spotify playlist (Spotifeed)', - standardRssFeed_youtube: 'YouTube feed', - standardRssFeed_youtubeChannel: 'YouTube channel feed', - standardRssFeed_youtubePlaylist: 'YouTube playlist feed', - standardRssFeed_feedburner: 'FeedBurner', - standardRssFeed_reddit: 'Reddit RSS', - standardRssFeed_substack: 'Substack', - standardRssFeed_medium: 'Medium', - 'RSS Feed Settings': 'RSS Feed Settings', - 'Follow sets': 'Follow sets', - 'Follow sets settings intro': - 'NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.', - 'New follow set': 'New follow set', - 'Edit follow set': 'Edit follow set', - 'No follow sets yet': 'You have not created any follow sets yet.', - 'Follow set saved': 'Follow set saved', - 'Follow set deleted': 'Follow set deleted', - 'Failed to load follow sets': 'Failed to load follow sets', - members: 'members', - 'Optional display title': 'Optional display title', - 'List id (d tag)': 'List id (d tag)', - 'Follow set d tag hint': - 'Stable identifier for this list. It cannot be changed after the first publish.', - 'People in this list': 'People in this list', - 'Delete follow set?': 'Delete this follow set?', - 'Delete follow set confirm': - 'This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.', - 'Remove feed': 'Remove feed', - 'RSS Feeds': 'RSS Feeds', - 'RSS feeds exported to OPML file': 'RSS feeds exported to OPML file', - 'RSS feeds saved': 'RSS feeds saved', - 'Rate limited. Please wait before trying again.': - 'Rate limited. Please wait before trying again.', - 'Reaction published': 'Reaction published', - 'Reaction removed': 'Reaction removed', - 'Read full article': 'Read full article', - 'Reading group entry': 'Reading group entry', - 'Readings Options': 'Readings Options', - Recipients: 'Recipients', - 'Recipients detected from your message:': 'Recipients detected from your message:', - 'Recommended Relays': 'Recommended Relays', - 'Recommended applications for handling events of kind {{kind}}': - 'Recommended applications for handling events of kind {{kind}}', - 'Reference to the cited Nostr event in kind:pubkey:hex format': - 'Reference to the cited Nostr event in kind:pubkey:hex format', - 'Refresh Cache': 'Refresh Cache', - 'Refreshing posts...': 'Refreshing posts...', - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.': - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.', - Relay: 'Relay', - 'Relay Hint': 'Relay Hint', - 'Relay URL (optional)': 'Relay URL (optional)', - 'Relay blocked successfully': 'Relay blocked successfully', - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.': - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.', - 'Relay set options': 'Relay set options', - 'Remove from favorites': 'Remove from favorites', - Rendered: 'Rendered', - 'Reply published': 'Reply published', - 'Reply published to some relays': 'Reply published to some relays', - 'Reply to Public Message': 'Reply to Public Message', - 'Republish to all active relays': 'Republish to all active relays', - 'Republish to all available relays': 'Republish to all available relays', - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.': - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.', - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.': - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.', - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Respect quiet tags': 'Respect quiet tags', - 'Search (NIP-50)': 'Search (NIP-50)', - 'Search by name or npub…': 'Search by name or npub…', - 'Search calendar, publications, wiki…': 'Search calendar, publications, wiki…', - 'Search for user…': 'Search for user…', - 'Search items...': 'Search items...', - 'Search logs...': 'Search logs...', - 'Search notes, threads, long-form…': 'Search notes, threads, long-form…', - 'Search on GifBuddy': 'Search on GifBuddy', - 'Search on Meme Amigo': 'Search on Meme Amigo', - 'Search posts...': 'Search posts...', - 'Search threads by title, content, tags, npub, author...': - 'Search threads by title, content, tags, npub, author...', - 'Searching all available relays...': 'Searching all available relays...', - 'Searching…': 'Searching…', - 'See reference': 'See reference', - 'Select Group': 'Select Group', - 'Select Media Type': 'Select Media Type', - 'Select group...': 'Select group...', - 'Select relays': 'Select relays', - 'Publish relay cap hint': - 'At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Publish relay cap hint with outbox first': - 'At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Select the group where you want to create this discussion.': - 'Select the group where you want to create this discussion.', - 'Select topic...': 'Select topic...', - 'Selected text': 'Selected text', - 'Send Public Message': 'Send Public Message', - 'Send a Lightning payment to this user': 'Send a Lightning payment to this user', - 'Service worker caches cleared. Please reload the page.': - 'Service worker caches cleared. Please reload the page.', - 'Service worker unregistered and caches cleared. Please reload the page.': - 'Service worker unregistered and caches cleared. Please reload the page.', - 'Service worker unregistered. Please reload the page.': - 'Service worker unregistered. Please reload the page.', - 'Share your thoughts, ask questions, or start a discussion...': - 'Share your thoughts, ask questions, or start a discussion...', - 'Short Video Note': 'Short Video Note', - 'Show RSS Feed': 'Show RSS Feed', - 'Show all discussions in a single list': 'Show all discussions in a single list', - 'Show less': 'Show less', - Since: 'Since', - Small: 'Small', - 'Some relays have temporarily disabled writes.': - 'Some relays have temporarily disabled writes.', - Source: 'Source', - 'Spell definition': 'Spell definition', - 'Spell published': 'Spell published', - 'Start date': 'Start date', - 'Start typing to see a preview...': 'Start typing to see a preview...', - 'Subject (Book Title)': 'Subject (Book Title)', - 'Subject (book title) is required for reading groups': - 'Subject (book title) is required for reading groups', - 'Subject / Topics': 'Subject / Topics', - Subscribe: 'Subscribe', - Subscribed: 'Subscribed', - 'Subscribed to topic': 'Subscribed to topic', - 'Subscribed to topic (local)': 'Subscribed to topic (local)', - 'Subscribing...': 'Subscribing...', - Summary: 'Summary', - 'Supported Event Types': 'Supported Event Types', - 'Take a note': 'Take a note', - 'The full prompt conversation (optional)': 'The full prompt conversation (optional)', - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.': - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.', - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.': - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.', - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.': - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.', - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a Nostr event of kind {{kind}}.': - 'This GIF was found in a Nostr event of kind {{kind}}.', - 'This file could be either audio or video. Please select the correct type:': - 'This file could be either audio or video. Please select the correct type:', - 'This store does not contain replaceable events': - 'This store does not contain replaceable events', - 'This will add additional tags for author and subject to help organize reading group discussions.': - 'This will add additional tags for author and subject to help organize reading group discussions.', - 'Thread Content': 'Thread Content', - 'Thread Title': 'Thread Title', - 'Thread creation timed out. Please try again.': 'Thread creation timed out. Please try again.', - 'Thread published': 'Thread published', - 'Threads are organized by topics. Choose a topic that best fits your discussion.': - 'Threads are organized by topics. Choose a topic that best fits your discussion.', - 'Time-based': 'Time-based', - 'Title is required': 'Title is required', - 'Title must be 100 characters or less': 'Title must be 100 characters or less', - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.': - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.', - Top: 'Top', - Topic: 'Topic', - URL: 'URL', - 'URL of the article cover image (optional)': 'URL of the article cover image (optional)', - 'Unique identifier for this article (required)': - 'Unique identifier for this article (required)', - 'Unmute failed': 'Unmute failed', - 'Unpin note': 'Unpin note', - Unsubscribe: 'Unsubscribe', - 'Unsubscribed from topic': 'Unsubscribed from topic', - 'Unsubscribing...': 'Unsubscribing...', - Until: 'Until', - Untitled: 'Untitled', - Update: 'Update', - 'Updating...': 'Updating...', - 'Upload Audio Comment': 'Upload Audio Comment', - 'Upload Audio Message': 'Upload Audio Message', - 'Upload Media': 'Upload Media', - Upvote: 'Upvote', - 'User unmuted': 'User unmuted', - 'Version number (optional)': 'Version number (optional)', - Video: 'Video', - 'Video Note': 'Video Note', - 'Video file': 'Video file', - 'View Console Logs': 'View Console Logs', - 'View JSON': 'View JSON', - 'View cached items in this store.': 'View cached items in this store.', - 'View definition': 'View definition', - 'View details about cached data in IndexedDB stores. Click on a store to view its items.': - 'View details about cached data in IndexedDB stores. Click on a store to view its items.', - 'View on Alexandria': 'View on Alexandria', - 'View on DecentNewsroom': 'View on DecentNewsroom', - 'View on Wikistr': 'View on Wikistr', - 'View recent console logs for debugging': 'View recent console logs for debugging', - 'Voice Comment': 'Voice Comment', - 'Voice Note': 'Voice Note', - 'Voice note or audio file': 'Voice note or audio file', - Volume: 'Volume', - 'Volume number (optional)': 'Volume number (optional)', - 'Vote published': 'Vote published', - 'Vote removed': 'Vote removed', - 'Website where LLM was accessed (optional)': 'Website where LLM was accessed (optional)', - 'Wiki Article (AsciiDoc)': 'Wiki Article (AsciiDoc)', - 'Wiki Article (Markdown)': 'Wiki Article (Markdown)', - 'You can only delete your own notes': 'You can only delete your own notes', - 'You must be logged in to create a thread': 'You must be logged in to create a thread', - 'You need to add at least one media server in order to upload media files.': - 'You need to add at least one media server in order to upload media files.', - 'You need to login first': 'You need to login first', - 'Your account is blocked from posting to this relay.': - 'Your account is blocked from posting to this relay.', - Zap: 'Zap', - 'Zap failed': 'Zap failed', - created_at: 'created_at', - 'e tag of kind 1040 event (optional)': 'e tag of kind 1040 event (optional)', - 'e.g. meetup, conference': 'e.g. meetup, conference', - 'e.g., 123-145 (optional)': 'e.g., 123-145 (optional)', - 'e.g., GPT-4, Claude, etc. (required)': 'e.g., GPT-4, Claude, etc. (required)', - 'e.g., my-article-title': 'e.g., my-article-title', - entries: 'entries', - 'from Bunker': 'from Bunker', - 'from Extension': 'from Extension', - 'from NIP-05': 'from NIP-05', - general: 'general', - 'https://example.com (required)': 'https://example.com (required)', - 'https://example.com/image.jpg': 'https://example.com/image.jpg', - id: 'id', - items: 'items', - kind: 'kind', - 'kind:pubkey:hex format (required)': 'kind:pubkey:hex format (required)', - 'last updated': 'last updated', - matching: 'matching', - naddr: 'naddr', - nevent: 'nevent', - 'nevent1..., naddr1..., note1..., hex ID, or https://...': - 'nevent1..., naddr1..., note1..., hex ID, or https://...', - 'no notes found': 'no notes found', - of: 'of', - 'on note': 'on note', - optional: 'optional', - pubkey: 'pubkey', - 'sent a public message': 'sent a public message', - 'sent you a public message': 'sent you a public message', - 'sent you a public message (along with {{count}} others)': - 'sent you a public message (along with {{count}} others)', - sig: 'sig', - 'started a discussion in {{topic}}': 'started a discussion in {{topic}}', - tags: 'tags', - thread: 'thread', - threads: 'threads', - 'topic1, topic2, topic3': 'topic1, topic2, topic3', - '{{count}} relay(s) selected': '{{count}} relay(s) selected', - '🔞 NSFW 🔞': '🔞 NSFW 🔞', - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).': - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).', - 'Failed to refresh': 'Failed to refresh', - 'Invalid article link.': 'Invalid article link.', - Likes: 'Likes', - 'Loading…': 'Loading…', - 'Missing pubkey': 'Missing pubkey', - 'No RSS feed list found on relays': 'No RSS feed list found on relays', - 'Pinned posts': 'Pinned posts', - 'Publishing...': 'Publishing...', - 'RSS article': 'RSS article', - 'RSS feed list refreshed': 'RSS feed list refreshed', - 'Save or discard your changes before refreshing from relays': - 'Save or discard your changes before refreshing from relays', - 'Suggested topics': 'Suggested topics', - 'Synthetic event (no author)': 'Synthetic event (no author)', - 'Topic is required': 'Topic is required', - 'Type a topic or pick from the list': 'Type a topic or pick from the list', - profileEditorRefreshCacheHint: 'profileEditorRefreshCacheHint', - startupSessionHydrating: 'startupSessionHydrating' + "Searching external relays...": "Searching external relays...", + "This will connect to the author's relays and relay hints": "This will connect to the author's relays and relay hints", + "Note could not be found anywhere": "Note could not be found anywhere", + "Try external relays": "Try external relays", + "Searching...": "Searching...", + "Show relays": "Show relays", + "No external relay hints available": "No external relay hints available", + "External relay search is not available for this link type": "External relay search is not available for this link type.", + "Searched external relays not found": "Searched {{count}} external relays; the note was still not found.", + "no more replies": "больше нет ответов", + "Relay sets": "Наборы ретрансляторов", + "Search for Relays": "Search for Relays", + "Using app default relays": "Using app default relays", + "Following's Favorites": "Избранные ретрансляторы подписчиков", + "no more relays": "больше нет ретрансляторов", + "Favorited by": "Избранные у", + "Post settings": "Настройки публикации", + "Publishing feedback": "Publishing feedback", + "Publish success toasts": "Publish success toasts", + "Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.": "Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.", + "Publish successful": "Publish successful", + "Media upload service": "Служба загрузки медиафайлов", + "Choose a relay": "Выберите ретранслятор", + "no relays found": "ретрансляторы не найдены", + video: "видео", + "Show n new notes": "Показать {{n}} новых заметок", + YouTabName: "Вы", + Bookmark: "Закладка", + "Remove bookmark": "Удалить закладку", + "no bookmarks found": "Закладки не найдены", + "no more bookmarks": "Больше нет закладок", + Bookmarks: "Закладки", + "Follow Packs": "Follow Packs", + "Follow Pack": "Follow Pack", + "Follow pack by": "by", + "In Follow Packs": "In Follow Packs", + "Badge details": "Badge details", + "Issued by": "Issued by", + "Other recipients": "Other recipients", + "No other recipients found": "No other recipients found", + "Recipients could not be loaded": "Recipients could not be loaded", + "View award": "View award", + "Awarded on": "Awarded on", + "Please log in to follow": "Please log in to follow", + "Following All": "Following All", + "Followed {{count}} users": "Followed {{count}} users", + "All available members are already followed or muted": "All available members are already followed or muted", + "You are already following all members of this pack": "You are already following all members of this pack", + "Failed to follow pack": "Failed to follow pack", + "{{count}} profiles": "{{count}} profiles", + "Show more": "Показать больше", + General: "Общие", + Autoplay: "Автовоспроизведение", + "Enable video autoplay on this device": "Включить автовоспроизведение видео на этом устройстве", + "liveActivities.heading": "Live now", + "liveActivities.regionLabel": "Live spaces and streams", + "liveActivities.fromFollow": "From someone you follow", + "liveActivities.goToSlide": "Show live item {{n}}", + "liveActivities.swipeToBrowse": "Swipe left or right on the banner to switch between live activities.", + "liveActivities.viewNoteTitle": "Open this live activity as a note (play in app, links below)", + "liveActivities.openJoinPageTitle": "Open the join page in a new tab (e.g. zap.stream or the room site)", + "liveActivities.settingsToggle": "Live activities banner", + "liveActivities.settingsHint": "Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.", + "Add random relays to every publish": "Random relays in publish list", + "Add random relays to every publish description": "Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.", + relayType_local: "Local", + relayType_relay_list: "Relay list", + relayType_http_relay_list: "HTTP", + "HTTP relays": "HTTP relays", + httpRelaysDescription: "HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.", + "HTTP relays saved": "HTTP relays saved", + "Failed to save HTTP relay list": "Failed to save HTTP relay list", + "HTTP relays must start with https:// or http://": "HTTP relays must start with https:// or http://", + relayType_client_default: "Client default", + relayType_open_from: "Current feed", + relayType_favorite: "Favorite", + relayType_relay_set: "Relay set", + relayType_contextual: "Reply/PM", + relayType_randomly_selected: "Random (optional)", + "Session relays": "Session relays", + "Session relays tab description": "Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish).", + "Session relays preset working": "Working preset relays", + "Session relays preset working hint": "Preset relays (from app defaults) that have not reached 3 publish failures this session.", + "Session relays preset striked": "Striked preset relays", + "Session relays preset striked hint": "Preset relays that have reached 3 publish failures this session and are skipped for the rest of the session.", + "Session relays scored random": "Scored random relays", + "Session relays scored random hint": "Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.", + "Session relays all striked": "All striked relays (any source)", + "Session relays clear strike": "Allow again", + "Session relays clear strike hint": "Remove this relay from the session block list; it will be used again until new connection failures.", + "relaySessionStrikes.bannerWarning": "This relay has {{count}} session strike(s) (limit {{threshold}}) after connection or query failures.", + "relaySessionStrikes.bannerSkipped": "This relay has reached the session failure limit ({{threshold}} strikes) and is skipped for reads and publishes in this tab.", + "relaySessionStrikes.refreshHint": "Use {{refresh}} to clear strikes for this relay and load the feed again.", + successes: "successes", + None: "None", + "Cache & offline storage": "Cache & offline storage", + feedStarting: "Starting feeds and relays… This can take a few seconds after login.", + singleRelayKindFallbackNotice: "This relay returned no events for an open-ended request (no kinds in the filter). The feed below uses your usual kind filter instead.", + refreshCacheButtonExplainer: "Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.", + "eventArchive.sectionTitle": "Notes & feed archive", + "eventArchive.sectionBlurb": "Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.", + "eventArchive.defaultsMobile": "This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).", + "eventArchive.defaultsElectron": "Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.defaultsDesktopWeb": "Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.enablePersist": "Persist feed events to disk", + "eventArchive.maxMb": "Max archive size (MB), blank = default for this device", + "eventArchive.maxEvents": "Max archived events, blank = default", + "eventArchive.sessionLru": "In-memory session cache (event count), blank = default", + "eventArchive.effectiveSummary": "Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.", + "eventArchive.on": "on", + "eventArchive.off": "off", + "eventArchive.apply": "Apply cache settings", + "eventArchive.appliedToast": "Cache settings saved. Session memory updated.", + "Paste or drop media files to upload": "Вставьте или перетащите медиафайлы для загрузки", + Preview: "Предварительный просмотр", + "You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?": "Вы собираетесь опубликовать событие, подписанное [{{eventAuthorName}}]. Вы в данный момент вошли как [{{currentUsername}}]. Вы уверены?", + "Platinum Sponsors": "Платиновые спонсоры", + From: "От", + "Comment on": "Прокомментировать", + "View on njump.me": "Посмотреть на njump.me", + "Hide content from untrusted users": "Скрыть контент от недоверенных пользователей", + "Only show content from your followed users and the users they follow": "Показывать только контент от пользователей, на которых вы подписаны, и от пользователей, на которых они подписаны", + "Followed by": "Подписан на", + "Mute user privately": "Заглушить пользователя приватно", + "Mute user publicly": "Заглушить пользователя публично", + Quotes: "Цитаты", + "Lightning Invoice": "Lightning-счет", + "Bookmark failed": "Не удалось добавить закладку", + "Remove bookmark failed": "Не удалось удалить закладку", + "Removed from bookmarks": "Removed from bookmarks", + "Bookmark not in list": "This bookmark is not in your list (already removed or out of sync).", + "Pin not in list": "This pin is not in your list (already removed or out of sync).", + "Failed to remove pin": "Failed to remove pin", + Translation: "Перевод", + Balance: "Баланс", + characters: "символов", + translateApiKeyDescription: "Вы можете использовать этот API-ключ в любом другом месте, которое поддерживает LibreTranslate. URL сервиса: {{serviceUrl}}", + "Top up": "Пополнить", + "Will receive: {n} characters": "Получите: {{n}} символов", + "Top up {n} sats": "Пополнить на {{n}} сатс", + "Minimum top up is {n} sats": "Минимальное пополнение составляет {{n}} сатс", + Service: "Сервис", + "Reset API key": "Сбросить API-ключ", + "Are you sure you want to reset your API key? This action cannot be undone.": "Вы уверены, что хотите сбросить ваш API-ключ? Это действие не может быть отменено.", + Warning: "Предупреждение", + "Errors & warnings": "Errors & warnings", + "Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.": "Ваш текущий API-ключ станет недействительным немедленно, и любые приложения, использующие его, перестанут работать, пока вы не обновите их новым ключом.", + "Service address": "Адрес сервиса", + Pay: "Оплатить", + interactions: "взаимодействия", + notifications: "уведомления", + notificationsViewAsAccount: "View as", + notificationsViewAsAccountAria: "Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.", + notificationsSwitchAccountFailed: "Could not switch account. Check your signer, password, or extension and try again.", + "Show untrusted {type}": "Показать недоверенные {{type}}", + "Hide untrusted {type}": "Скрыть недоверенные {{type}}", + "Currently hiding {type} from untrusted users.": "В настоящее время скрываются {{type}} от недоверенных пользователей.", + "Currently showing all {type}.": "В настоящее время отображаются все {{type}}.", + "Click continue to show all {type}.": "Нажмите \"Продолжить\", чтобы показать все {{type}}.", + "Click continue to hide {type} from untrusted users.": "Нажмите \"Продолжить\", чтобы скрыть {{type}} от недоверенных пользователей.", + "Trusted users include people you follow and people they follow.": "Доверенные пользователи включают людей, на которых вы подписаны, и людей, на которых они подписаны.", + Continue: "Продолжить", + "Successfully updated mute list": "Успешно обновлен список заглушенных пользователей", + "No pubkeys found from {url}": "Не найдено pubkeys из {{url}}", + "Translating...": "Перевод...", + Translate: "Перевести", + "Show original": "Показать оригинал", + Website: "Веб-сайт", + "Hide untrusted notes": "Скрыть недоверенные заметки", + "Open in another client": "Открыть в другом клиенте", + Community: "Сообщество", + Group: "Группа", + "Live event": "Живое событие", + Article: "Статья", + Unfavorite: "Убрать из избранного", + "Recommended relays": "Рекомендуемые ретрансляторы", + "Show recommended relays panel": "Show recommended relays panel", + "Display the right-side panel with recommended relays on desktop": "Display the right-side panel with recommended relays on desktop", + "Blossom server URLs": "URLs сервера Blossom", + "You need to add at least one blossom server in order to upload media files.": "Вам нужно добавить хотя бы один сервер Blossom, чтобы загружать медиафайлы.", + "Recommended blossom servers": "Рекомендуемые серверы Blossom", + "Enter Blossom server URL": "Введите URL сервера Blossom", + Preferred: "Предпочтительный", + "Multiple choice (select one or more)": "Множественный выбор (выберите один или несколько)", + Vote: "Голосовать", + "{{number}} votes": "{{number}} голосов", + "Total votes": "Всего голосов", + "Poll has ended": "Опрос завершён", + "Poll ends at {{time}}": "Опрос завершается {{time}}", + "Load results": "Загрузить результаты", + "This is a poll note.": "Это заметка с опросом.", + "Unlike regular notes, polls are not widely supported and may not display on other clients.": "В отличие от обычных заметок, опросы не получили широкой поддержки и могут не отображаться в других клиентах.", + "Option {{number}}": "Вариант {{number}}", + "Add Option": "Добавить вариант", + "Remove option": "Remove option", + "Close highlight editor": "Close highlight editor", + "Allow multiple choices": "Разрешить множественный выбор", + "End Date (optional)": "Дата окончания (необязательно)", + "Clear end date": "Очистить дату окончания", + "Relay URLs (optional, comma-separated)": "URL релеев (необязательно, через запятую)", + "Remove poll": "Удалить опрос", + "Refresh results": "Обновить результаты", + "{{votes}} · {{pct}}%": "{{votes}} · {{pct}}%", + "See results": "See results", + "Zap poll (paid votes)": "Zap poll (paid votes)", + "Invalid zap poll": "Invalid zap poll", + "You voted on this poll (zap receipt)": "You voted on this poll (zap receipt)", + "Poll closed {{time}}": "Poll closed {{time}}", + "Closes {{time}}": "Closes {{time}}", + "Vote size": "Vote size", + "{{n}} sats (fixed)": "{{n}} sats (fixed)", + "{{min}}–{{max}} sats": "{{min}}–{{max}} sats", + "≥ {{n}} sats": "≥ {{n}} sats", + "≤ {{n}} sats": "≤ {{n}} sats", + "Loading tally…": "Loading tally…", + "Zap poll no votes yet": "No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).", + "Consensus threshold": "Consensus threshold", + "Pay to": "Pay to", + Recipient: "Recipient", + Option: "Option", + "Select option": "Select option", + "Select an option": "Select an option", + "Vote with zap": "Vote with zap", + "Zap sent": "Zap sent", + "Zapping…": "Zapping…", + "Refresh tally": "Refresh tally", + "{{n}} zaps": "{{n}} zaps", + Poll: "Опрос", + Media: "медиа", + "Articles and Publications": "Articles and Publications", + "Search articles...": "Search articles...", + "Refreshing articles...": "Refreshing articles...", + "No articles or publications found": "No articles or publications found", + "No articles or publications match your search": "No articles or publications match your search", + "articles and publications": "articles and publications", + Interests: "Interests", + Favorites: "Favorites", + Calendar: "Calendar", + "No subscribed interests yet.": "No subscribed interests yet. Add topics in settings to see them here.", + "No bookmarked notes with id tags yet.": "No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.", + "No follows or relays to load yet.": "No follows or relays to load yet.", + "No favorites yet.": "No favorites yet. Add follows, follow sets, interests, or bookmarks.", + "Added from interests": "Added from interests", + "Added from bookmarks list": "Added from bookmarks list", + "Added from your web bookmarks": "Added from your web bookmarks", + "Added from follows and contact lists": "Added from follows and contact lists", + "Added from follows web bookmarks": "Added from follows web bookmarks", + "Nothing to load for this feed.": "Nothing to load for this feed.", + "No posts loaded for this feed. Try refreshing.": "No posts loaded for this feed. Try refreshing.", + "Looking for more events…": "Looking for more events…", + "Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.": "Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.", + "Per-relay timeline results ({{count}} connections)": "Per-relay timeline results ({{count}} connections)", + "Republish to ...": "Ретранслировать в ...", + "All available relays": "All available relays", + "All active relays (monitoring list)": "All active relays (monitoring list)", + "Successfully republish to all available relays": "Successfully republish to all available relays", + "Failed to republish to all available relays: {{error}}": "Failed to republish to all available relays: {{error}}", + "Successfully republish to all active relays": "Successfully republish to all active relays", + "Failed to republish to all active relays: {{error}}": "Failed to republish to all active relays: {{error}}", + "No active relays in monitoring list": "No active relays in monitoring list", + "No relay accepted the event": "No relay accepted the event", + "No relays available": "No relays available", + "No write relays configured": "No write relays configured", + "Relay did not accept the event": "Relay did not accept the event", + "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".": "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".", + "Successfully republish to your write relays": "Успешно ретранслировано в ваши ретрансляторы для записи", + "Failed to republish to your write relays: {{error}}": "Не удалось ретранслировать в ваши ретрансляторы для записи: {{error}}", + "Successfully republish to relay set: {{name}}": "Успешно ретранслировано в набор ретрансляторов: {{name}}", + "Failed to republish to relay set: {{name}}. Error: {{error}}": "Не удалось ретранслировать в набор ретрансляторов: {{name}}. Ошибка: {{error}}", + "Successfully republish to relay: {{url}}": "Успешно ретранслировано в ретранслятор: {{url}}", + "Failed to republish to relay: {{url}}. Error: {{error}}": "Не удалось ретранслировать в ретранслятор: {{url}}. Ошибка: {{error}}", + "Write relays": "Ретрансляторы для записи", + "No more reactions": "Больше нет реакций", + "No reactions yet": "Пока нет реакций", + "No more zaps": "Больше нет запов", + "No zaps yet": "Пока нет запов", + "No more boosts": "Больше нет бустов", + "No boosts yet": "Пока нет бустов", + "n more boosts": "{{count}} more boosts", + FollowListNotFoundConfirmation: "Список подписок не найден. Хотите создать новый? Если вы уже подписывались на пользователей ранее, пожалуйста, НЕ подтверждайте, так как эта операция приведет к потере вашего предыдущего списка подписок.", + MuteListNotFoundConfirmation: "Список заблокированных не найден. Хотите создать новый? Если вы уже блокировали пользователей ранее, пожалуйста, НЕ подтверждайте, так как эта операция приведет к потере вашего предыдущего списка заблокированных.", + "Show NSFW content by default": "Показывать контент NSFW по умолчанию", + "Custom emoji management": "Управление пользовательскими эмодзи", + "After changing emojis, you may need to refresh the page": "После изменения эмодзи может потребоваться обновить страницу", + "Too many read relays": "Слишком много релеев для чтения", + "Too many write relays": "Слишком много релеев для записи", + "You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.": "У вас {{count}} релеев для чтения. Большинство клиентов используют только 2-4 релея, устанавливать больше не нужно.", + "You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.": "У вас {{count}} релеев для записи. Большинство клиентов используют только 2-4 релея, устанавливать больше не нужно.", + "Optimize Relay Settings": "Оптимизировать настройки релеев", + "Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.": "Ваша текущая конфигурация релеев может быть не оптимальной. Это может затруднить поиск ваших сообщений другими пользователями и привести к неполным уведомлениям.", + "Optimize Now": "Оптимизировать сейчас", + "Maybe Later": "Возможно, позже", + "Don't remind me again": "Больше не напоминать", + Posts: "Посты", + "Posts (OPs)": "Posts (OPs)", + "Kind 1 replies": "Kind 1 replies", + Comments: "Comments", + "Replies & comments": "Replies & comments", + Articles: "Статьи", + Highlights: "Выделения", + "A note from": "A note from", + Polls: "Опросы", + "Zap polls": "Zap polls", + "Voice Posts": "Голосовые посты", + "Photo Posts": "Фото посты", + "Video Posts": "Видео посты", + "Git repositories": "Git repositories", + "Git issues": "Git issues", + "Git releases": "Git releases", + "Git Republic repository": "Git Republic repository", + "Git Republic issue": "Git Republic issue", + "Git Republic release": "Git Republic release", + "Git Republic event": "Git Republic event", + "Git Republic": "Git Republic", + "Open in Git Republic": "Open in Git Republic", + "Pre-release": "Pre-release", + Draft: "Draft", + "Repository release": "Repository release", + "New Repository Release": "New Repository Release", + "Release notes use the editor below (optional).": "Release notes use the editor below (optional).", + "Repository owner (npub or hex)": "Repository owner (npub or hex)", + "Repository id (d-tag)": "Repository id (d-tag)", + "Git tag name": "Git tag name", + "Tag target (40-char commit hash)": "Tag target (40-character commit hash)", + "40-character hex SHA-1": "40-character hex SHA-1", + "Release title": "Release title", + "Download URL": "Download URL", + "Draft release": "Draft release", + "Fill repository release fields": "Fill in all required repository release fields.", + "Invalid repository owner pubkey": "Invalid repository owner (use npub or 64-char hex).", + "Citations require private relays (NIP-65).": "Citations require private outbox relays (NIP-65).", + "Select All": "Выбрать все", + "Clear All": "Очистить все", + "Set as default filter": "Установить как фильтр по умолчанию", + "Use filter": "Use filter", + "See all events": "See all events", + "See all events hint": "Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.", + "Use filter hint": "Only the kinds you select below are requested and shown.", + "Advanced event lab": "Advanced editor", + "Advanced lab applyError": "Editor is not ready. Try again.", + "Advanced lab cancel undo": "Cancel and Undo Changes", + "Advanced lab undo checkpoint": "Restore checkpoint", + "Advanced lab undo checkpoint hint": "About every 30 seconds this tab saves the editor (kind, body, tags) in session storage, up to 10 versions. Use this after a translation or bulk edit you want to roll back.", + "Advanced lab undo checkpoint none": "No older checkpoint to restore.", + "Advanced lab undo checkpoint restored": "Editor restored to a saved checkpoint.", + "Advanced lab markup label markdown": "Markdown", + "Advanced lab markup label asciidoc": "AsciiDoc", + "Advanced lab preview": "Preview", + "Advanced lab preview empty": "Nothing to preview yet.", + "Advanced lab markup placeholder markdown": "Note body (Markdown)", + "Advanced lab markup placeholder asciidoc": "Note body (AsciiDoc)", + "Advanced lab tags JSON": "Kind, content, and tags (JSON)", + "Advanced lab json placeholder": "{ \"kind\": 1, \"content\": \"…\", \"tags\": [] }", + "Advanced lab grammar language": "Grammar check language", + "Advanced lab translate": "Translate body", + "Advanced lab translation source": "Source language", + "Advanced lab translation source auto": "Detect automatically", + "Advanced lab translation target": "Target language", + "Advanced lab translation languages loading": "Loading languages from translate service…", + "Advanced lab translation languages empty": "Translate service returned no languages (check Docker / LibreTranslate).", + "Advanced lab translation languages error": "Could not load languages from the translate service.", + "Advanced lab translation same source target": "Source and target language must differ.", + "Show original text": "Show original text", + "Showing original note text": "Showing original text for this note.", + "Translate note": "Translate note", + "Translating note…": "Translating note…", + "Note translated": "Translated to {{language}}.", + "Note translation failed": "Translation failed: {{message}}", + "Read-aloud Piper English voice fallback title": "English voice in use", + "Read-aloud Piper English voice fallback detail": "Piper has no voice model for {{language}}. This session uses the English Piper voice instead; pronunciation may not match the written text.", + "Advanced lab translate not configured": "Translation URL is not set (VITE_TRANSLATE_URL).", + "Advanced lab translate done": "Translation inserted into the editor.", + "Advanced lab use translation read aloud": "Use body for read-aloud (this note)", + "Advanced lab read aloud buffer set": "The next read-aloud for this note will use the current body text (translated if you translated first).", + "Composer JSON tab hint": "Edit the draft as JSON (`kind`, `content`, `tags` only). `kind` must match the note type selected above. Other fields are set when you publish.", + "Composer JSON apply": "Apply JSON", + composerJsonKindMismatch: "JSON kind {{got}} does not match the composer (expected {{expected}}). Change the note type or fix `kind` in JSON.", + composerJsonApplySuccess: "Draft updated from JSON.", + "Advanced lab tb markup tools": "Markup helpers", + "Advanced lab tb headings": "Headings", + "Advanced lab tb headings hint": "Inserts at the cursor; adjust spacing if needed.", + "Advanced lab tb heading placeholder": "Title", + "Advanced lab tb h1": "Heading 1 (#)", + "Advanced lab tb h2": "Heading 2 (##)", + "Advanced lab tb h3": "Heading 3 (###)", + "Advanced lab tb h4": "Heading 4 (####)", + "Advanced lab tb h5": "Heading 5 (#####)", + "Advanced lab tb h6": "Heading 6 (######)", + "Advanced lab tb setextH1": "Setext heading 1 (title + ===)", + "Advanced lab tb setextH2": "Setext heading 2 (title + ---)", + "Advanced lab tb horizontalRule": "Horizontal rule (---)", + "Advanced lab tb horizontalRules": "Horizontal rules", + "Advanced lab tb hrDashes": "Dashes (---)", + "Advanced lab tb hrAsterisks": "Asterisks (***)", + "Advanced lab tb hrUnderscores": "Underscores (___)", + "Advanced lab tb inline": "Inline", + "Advanced lab tb bold": "Bold (** **)", + "Advanced lab tb boldUnderscore": "Bold (__ __)", + "Advanced lab tb italic": "Italic (* *)", + "Advanced lab tb italicUnderscore": "Italic (_ _)", + "Advanced lab tb strike": "Strikethrough (~~ ~~)", + "Advanced lab tb inlineCode": "Inline code (` `)", + "Advanced lab tb link": "Link [text](url)", + "Advanced lab tb linkTitled": "Link with title [text](url \"title\")", + "Advanced lab tb image": "Image ![alt](url)", + "Advanced lab tb imageTitled": "Image with title ![alt](url \"title\")", + "Advanced lab tb hardBreak": "Hard line break (two spaces + newline)", + "Advanced lab tb citations": "Citations (NIP-32)", + "Advanced lab tb citationsHint": "Kinds 30–33. Inserts `[[citation::type::nevent…]]` (Markdown & AsciiDoc).", + "Advanced lab citation dialog title": "Insert citation", + "Advanced lab citation dialog hint": "Search for NIP-32 citation events (internal, external, hardcopy, prompt), then pick one.", + "Advanced lab citation search placeholder": "Search kinds 30–33…", + "Advanced lab citation none": "No citation events found", + "Advanced lab citation kindLabel": "Kind {{kind}}", + "Advanced lab citation type inline": "Inline citation", + "Advanced lab citation type quote": "Block quote citation", + "Advanced lab citation type end": "Endnote citation", + "Advanced lab citation type foot": "Footnote call", + "Advanced lab citation type footEnd": "Footnote + end", + "Advanced lab citation type promptInline": "Prompt (inline)", + "Advanced lab citation type promptEnd": "Prompt (end)", + "Advanced lab tb lists": "Lists", + "Advanced lab tb bulletList": "Bullet list (-)", + "Advanced lab tb bulletListStar": "Bullet list (*)", + "Advanced lab tb orderedList": "Numbered list (1.)", + "Advanced lab tb orderedListStart": "Numbered list (custom start, e.g. 4.)", + "Advanced lab tb taskItem": "Task item (- [ ])", + "Advanced lab tb blocks": "Blocks", + "Advanced lab tb blockquote": "Blockquote (>)", + "Advanced lab tb pipeTable": "Pipe table (3×2 starter)", + "Advanced lab tb footnoteRef": "Footnote reference [^1]", + "Advanced lab tb footnoteDef": "Footnote definition [^1]: …", + "Advanced lab tb codeBlock": "Code block", + "Advanced lab tb codeBlockHint": "Pick a language for syntax highlighting in fenced code.", + "Advanced lab tb filterLanguages": "Filter languages…", + "Advanced lab tb math": "Math (KaTeX)", + "Advanced lab tb mathIntro": "Many readers render $…$ / $$…$$ with KaTeX; check your client.", + "Advanced lab tb mathInline": "Inline math ($…$)", + "Advanced lab tb mathDisplay": "Display math ($$…$$)", + "Advanced lab tb mathCommon": "Common formulas", + "Advanced lab tb katexFrac": "Fraction \\frac{a}{b}", + "Advanced lab tb katexSqrt": "Square root \\sqrt{x}", + "Advanced lab tb katexSum": "Sum \\sum_{i=1}^{n}", + "Advanced lab tb katexInt": "Integral \\int_a^b", + "Advanced lab tb katexMatrix": "2×2 matrix (pmatrix)", + "Advanced lab tb katexCases": "Cases (piecewise)", + "Advanced lab tb mathGreek": "Greek & symbols", + "Advanced lab tb greekAlpha": "alpha", + "Advanced lab tb greekBeta": "beta", + "Advanced lab tb greekGamma": "gamma", + "Advanced lab tb greekDelta": "delta", + "Advanced lab tb greekPi": "pi", + "Advanced lab tb greekTheta": "theta", + "Advanced lab tb greekLambda": "lambda", + "Advanced lab tb greekSigma": "sigma", + "Advanced lab tb greekOmega": "omega", + "Advanced lab tb greekInfty": "infinity", + "Advanced lab tb hrTitle": "Horizontal rule", + "Advanced lab tb adocTitles": "Titles", + "Advanced lab tb adocTitlesHint": "Document header: no empty lines inside the header; the first blank line ends it (https://docs.asciidoctor.org/asciidoc/latest/document/header/).", + "Advanced lab tb documentTitle": "Document title", + "Advanced lab tb sectionTitle": "Section title", + "Advanced lab tb adocLevel0": "Document title (=)", + "Advanced lab tb adocLevel0WithHeader": "Minimal header (title, author, revision, description, keywords, first section)", + "Advanced lab tb adocHeaderAuthorLine": "Author Name ", + "Advanced lab tb adocHeaderRevisionLine": "1.0, 2026-04-15: Draft revision", + "Advanced lab tb adocHeaderAttrsBlock": ":description: Short document summary for metadata\n:keywords: keyword-one, keyword-two, keyword-three", + "Advanced lab tb adocSection1": "Section (==)", + "Advanced lab tb adocSection2": "Subsection (===)", + "Advanced lab tb adocSection3": "Subsubsection (====)", + "Advanced lab tb adocSection4": "Level 5 (=====)", + "Advanced lab tb adocSection5": "Level 6 (======)", + "Advanced lab tb adocBold": "Bold (*bold*)", + "Advanced lab tb adocItalic": "Italic (_italic_)", + "Advanced lab tb adocMono": "Monospace (`mono`)", + "Advanced lab tb adocLink": "Link (link:url[text])", + "Advanced lab tb adocImage": "Image (image::url[alt])", + "Advanced lab tb adocUnordered": "Unordered (* item)", + "Advanced lab tb adocOrdered": "Ordered (. item)", + "Advanced lab tb adocLabeled": "Labeled list (term:: def)", + "Advanced lab tb adocBlocks": "Blocks", + "Advanced lab tb adocQuote": "Quote block (____)", + "Advanced lab tb adocLiteral": "Literal block (....)", + "Advanced lab tb adocNote": "NOTE admonition", + "Advanced lab tb adocTip": "TIP admonition", + "Advanced lab tb adocWarning": "WARNING admonition", + "Advanced lab tb adocSource": "Source / listing", + "Advanced lab tb adocSourceHint": "Inserts a [source,lang] block; replace the sample code.", + "Advanced lab tb adocStem": "STEM / LaTeX", + "Advanced lab tb adocStemHint": "Imwald runs Asciidoctor with stem: latexmath; math becomes \\(...\\) / \\[...\\] and is drawn with KaTeX (not MathJax).", + "Advanced lab tb adocStemInline": "Inline stem:[…]", + "Advanced lab tb adocLatexmathInline": "Inline latexmath:[…]", + "Advanced lab tb adocStemBlock": "Display math ([stem] +++ … +++++)", + "Advanced lab tb adocLineBreak": "Hard line break (space + at line end)", + "Advanced lab tb adocSubscript": "Subscript (~text~)", + "Advanced lab tb adocSuperscript": "Superscript (^text^)", + "Advanced lab tb adocPassthrough": "Inline passthrough (+++ … +++)", + "Advanced lab tb adocFootnote": "Footnote (footnote:[…])", + "Advanced lab tb adocImportant": "IMPORTANT admonition", + "Advanced lab tb adocCaution": "CAUTION admonition", + "Advanced lab tb adocExampleBlock": "Example block ([example])", + "Advanced lab tb adocSidebar": "Sidebar (**** … ****)", + "Advanced lab tb adocListing": "Listing block ([listing] + ----)", + "Advanced lab tb adocOpenBlock": "Open block (-- … --)", + "Advanced lab tb adocStructure": "Structure & media", + "Advanced lab tb adocStructureHint": "Tables, IDs/anchors ([#id] before a block—avoids [[wikilink]] syntax), cross-refs, media (Asciidoctor block macros).", + "Advanced lab tb adocTable": "Table (|=== …)", + "Advanced lab tb adocAnchor": "Block or section ID ([#id])", + "Advanced lab tb adocXref": "Cross reference (<>)", + "Advanced lab tb adocVideo": "Video (video::url[])", + "Advanced lab tb adocAudio": "Audio (audio::url[])", + "Advanced lab tb adocOrderedStart": "Ordered list with [start=n]", + "Advanced lab tb adocComment": "Line comment (//)", + "Advanced lab tb adockbd": "Keyboard (kbd:[…])", + "Advanced lab tb adocMenu": "Menu path (menu:…)", + "Advanced lab tb adocBtn": "Button (btn:[…])", + "Advanced lab tb adocHrTitle": "Thematic break (''')", + Apply: "Применить", + Reset: "Сбросить", + "Share something on this Relay": "Поделиться чем-то на этом релее", + "Try deleting this note": "Попробуйте удалить эту заметку", + "Deletion request sent to {{count}} relays": "Запрос на удаление отправлен на {{count}} релеев", + "Suitable Relays": "Подходящие релея", + "People, keywords, or relays": "Люди, ключевые слова или релея", + "Hide content mentioning muted users": "Скрыть контент, упоминающий заглушённых пользователей", + "This note mentions a user you muted": "Эта заметка упоминает пользователя, которого вы заглушили", + Filter: "Фильтр", + "Feed filter": "Feed filter", + "Search loaded posts": "Search loaded posts", + "Filter loaded posts placeholder": "Filter by text in content or tags…", + "Feed filter author": "Author", + "Feed filter author everyone": "From everyone", + "Feed filter author me": "Only from me", + "Feed filter author npub": "From user (npub or hex)", + "Feed filter author npub from prefix": "from:", + "Feed filter author npub placeholder": "npub1… or 64-char hex", + "Feed filter author me needs login": "Log in to filter by your pubkey", + "Within the last": "Within the last", + "Time unit": "Time unit", + Minutes: "Minutes", + Days: "Days", + Weeks: "Weeks", + Months: "Months", + Years: "Years", + "Feed filter client-side hint": "Filters only apply to posts already loaded; relays are not queried again.", + "Feed full search": "Perform full search", + "Feed full search running": "Searching…", + "Feed full search clear": "Clear", + "Feed full search active hint": "Showing relay search results. Clear to return to the live feed.", + "Feed full search need constraint": "Add search text, an author filter, or a time range before searching relays.", + "Feed full search invalid feed": "This feed cannot run a relay search.", + "Feed full search failed": "Relay search failed. Try again.", + "Feed full search empty": "No matching posts were found on the queried relays.", + "No loaded posts match your filters.": "No loaded posts match your filters.", + "mentioned you in a note": "упомянул вас в заметке", + "quoted your note": "процитировал вашу заметку", + "quoted this note": "Quoted this note", + "highlighted this note": "Highlighted this note", + "cited in article": "Cited in article", + "Thread backlinks heading": "Also quoting this note", + "Thread backlinks primary section": "Quotes, highlights & citations", + "Thread backlinks bookmarks section": "Bookmarks", + "Thread backlinks lists section": "Lists & collections", + "View full note and thread": "View full note and thread", + "labeled this note": "Labeled this note", + "reported this note": "Reported this note", + "bookmarked this note": "Bookmarked this note", + "pinned this note": "Pinned this note", + "listed this note": "Listed this note", + "bookmark set reference": "Bookmark set includes this note", + "curated this note": "Curated this note", + "badge award for this note": "Badge award for this note", + "referenced this note": "Referenced this note", + "Report events heading": "Moderation reports", + "voted in your poll": "проголосовал в вашем опросе", + "reacted to your note": "отреагировал на вашу заметку", + "boosted your note": "сделал буст вашей заметки", + "zapped your note": "заппил вашу заметку", + "zapped you": "заппил вас", + zapped: "zapped", + "Invalid zap receipt": "Invalid zap receipt", + "Zapped note": "Zapped note", + "Zapped profile": "Zapped profile", + "Zap reply threshold": "Zap reply threshold", + "Zaps above this amount will appear as replies in threads": "Zaps above this amount will appear as replies in threads", + "Mark as read": "Отметить как прочитанное", + Report: "Пожаловаться", + "Successfully report": "Жалоба успешно отправлена", + "Failed to report": "Не удалось отправить жалобу", + nudity: "Обнаженность", + malware: "Вредоносное ПО", + profanity: "Ненормативная лексика", + illegal: "Незаконный контент", + spam: "Спам", + other: "Другое", + "Notification list style": "Стиль списка уведомлений", + "See extra info for each notification": "Просмотреть дополнительную информацию для каждого уведомления", + "See more notifications at a glance": "Увидеть больше уведомлений с первого взгляда", + Detailed: "Подробный", + "Submit Relay": "Отправить релей", + Homepage: "Домашняя страница", + "Proof of Work (difficulty {{minPow}})": "Доказательство работы (сложность {{minPow}})", + "via {{client}}": "через {{client}}", + "Auto-load media": "Автозагрузка медиа", + Always: "Всегда", + "Wi-Fi only": "Только Wi-Fi", + Never: "Никогда", + "Click to load image": "Нажмите, чтобы загрузить изображение", + "Click to load media": "Нажмите, чтобы загрузить медиа", + "Click to load YouTube video": "Нажмите, чтобы загрузить видео YouTube", + "{{count}} reviews": "{{count}} отзывов", + "Write a review": "Написать отзыв", + "No reviews yet. Be the first to write one!": "Отзывов пока нет. Станьте первым, кто напишет отзыв!", + "View more reviews": "Посмотреть больше отзывов", + "Failed to review": "Ошибка отзыва", + "Write a review and pick a star rating": "Напишите отзыв и выберите звездный рейтинг", + Submit: "Отправить", + "Reviews for {{relay}}": "Отзывы для {{relay}}", + "No relays selected": "Ретрансляторы не выбраны", + "Post to": "Опубликовать в", + "Write relays and {{count}} other relays": "Ретрансляторы записи и {{count}} других ретрансляторов", + "{{count}} relays": "{{count}} ретрансляторов", + "Republishing...": "Ретрансляция...", + "Trending Notes": "Популярные заметки", + "Trending on Your Favorite Relays": "Trending on Your Favorite Relays", + "Trending on the Default Relays": "Trending on the Default Relays", + "Latest from your follows": "Latest from your follows", + "Latest from our recommended follows": "Latest from our recommended follows", + "Search page title": "Search Nostr", + "Follows latest page title": "Latest from follows", + "Follows latest page description": "Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.", + "Follows latest nav label": "Follows latest", + "Loading follow list…": "Loading follow list…", + "Could not load recommended follows": "Could not load recommended follows", + "Your follow list is empty": "Your follow list is empty", + "Loading recent posts from follows…": "Loading recent posts from follows…", + "Loading more…": "Loading more…", + "No recent posts from this user in the current fetch": "No recent posts from this user in the current fetch", + "Loading trending notes from your relays...": "Loading trending notes from your relays...", + "Trending on Nostr": "Trending on Nostr", + "Home trending slice notice": "This feed includes a trending slice (nostrarchives). Notes that reached you from that relay show “Trending on Nostr” under the card.", + Sort: "Sort", + newest: "newest", + oldest: "oldest", + "most popular": "most popular", + "least popular": "least popular", + "Connected to": "Подключено к", + "Disconnect Wallet": "Отключить кошелёк", + "Are you absolutely sure?": "Вы абсолютно уверены?", + "You will not be able to send zaps to others.": "Вы не сможете отправлять запы другим.", + Disconnect: "Отключить", + "Set up your wallet to send and receive sats!": "Настройте свой кошелёк, чтобы отправлять и получать саты!", + "Set up": "Настроить", + "nested events": "nested events", + "Loading RSS feeds...": "Loading RSS feeds...", + "No RSS feed items available": "No RSS feed items available", + "Show or hide the RSS page and sidebar entry": "Show or hide the RSS page and sidebar entry", + "Refreshing feeds...": "Refreshing feeds...", + "All feeds": "All feeds", + "All time": "All time", + "Last hour": "Last hour", + "Last day": "Last day", + "Last week": "Last week", + "Last month": "Last month", + "Last 24 hours": "Last 24 hours", + "Last 48 hours": "Last 48 hours", + "Time range": "Time range", + "Filter by RSS source": "Filter by RSS source", + "No items match your filters": "No items match your filters", + "Search...": "Search...", + "{{count}} feeds": "{{count}} feeds", + "Toggle filters": "Toggle filters", + "Showing {{filtered}} of {{total}} items": "Showing {{filtered}} of {{total}} items", + Full: "Full", + Compact: "Компактный", + Expand: "Expand", + "help.title": "Help", + "help.tabShortcuts": "Keyboard shortcuts", + "help.tabOverview": "App overview", + "shortcuts.title": "Keyboard shortcuts", + "shortcuts.intro": "Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.", + "shortcuts.sectionApp": "This app", + "shortcuts.sectionSearch": "Search bar", + "shortcuts.sectionStandard": "Standard", + "shortcuts.openHelp": "Show this help", + "shortcuts.or": "or", + "shortcuts.then": "then", + "shortcuts.focusPrimary": "Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)", + "shortcuts.focusSecondary": "Focus side panel scroll when it is open (desktop; same keys to scroll)", + "shortcuts.newNote": "New note / post (after login if needed)", + "shortcuts.searchSuggest": "Move through suggestions", + "shortcuts.searchDismiss": "Close search dropdown", + "shortcuts.tabNavigate": "Move focus to the next or previous control", + "shortcuts.activate": "Activate buttons and many controls", + "shortcuts.closeOverlays": "Close dialogs, menus, and the search dropdown", + "shortcuts.scrollWhenFocused": "Scroll the focused scrollable area", + "shortcuts.browserBack": "Browser back (history)", + "No spells yet. Create one with the button above.": "No spells yet. Create one with the button above.", + "Loading spells from your relays…": "Loading spells from your relays…", + "Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.": "Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.", + "Select a spell…": "Select a spell…", + "Spells from follows": "From people you follow ({{count}})", + "Other spells": "Other spells ({{count}})", + "Select a spell to view its feed.": "Select a spell to view its feed.", + "Add another row": "Add another row", + "Remove this row": "Remove this row", + "One kind number per row (e.g. 1 for notes).": "One kind number per row (e.g. 1 for notes).", + "One author per row: $me, $contacts, or hex pubkey / npub.": "One author per row: $me, $contacts, or hex pubkey / npub.", + "One hex event id per row.": "One hex event id per row.", + "One wss:// URL per row. Leave empty to use your write relays.": "One wss:// URL per row. Leave empty to use your write relays.", + "One topic per row.": "One topic per row.", + topic: "topic", + "Spell form fields": "Spell form fields", + "Counting matching events…": "Counting matching events…", + "Edit spell": "Edit spell", + "Clone spell": "Clone spell", + "Spell cloned": "Spell cloned", + "Clone spell intro": "This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.", + "Spell updated": "Spell updated", + "Relay URL": "Relay", + Count: "Count", + "Edit spell relays": "Edit relays", + "COUNT spell relay errors hint": "One or more relays failed or returned an error. You can change the relay list in the spell and save again.", + "COUNT spell total distinct explanation": "Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.", + "Leave empty to use your write relays.": "Leave empty to use your write relays.", + "COUNT spell result explanation": "Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.", + "COUNT spell may be capped by limit": "This count may equal your spell limit — there could be more matching events on the network.", + "Spell count failed. Check relays or try again.": "Could not complete the count. Check relays or try again.", + "REQ returns a feed; COUNT returns a number.": "REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.", + listImportManualLabel: "Pre-fill from event", + listImportFromEventHint: "Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.", + listImportManualPlaceholder: "64-char hex, nevent1…, or naddr1…", + listImportLoadManual: "Apply", + listImportContentSkipped: "This event has non-empty content (may include encrypted private items). Only public tags were merged.", + listImportUnsupportedEmoji: "This list includes emoji tags (NIP-30); those are not added to the spell filter.", + listImportUnsupportedTag: "Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.", + listImportBadATag: "Could not parse address tag: {{preview}}…", + listImportATagNotFound: "Could not resolve address tag: {{preview}}…", + listImportATagFailed: "Failed to resolve address tag: {{preview}}…", + listImportEventNotFound: "No event found for that reference.", + "REQ tag filters": "REQ tag filters", + spellFormTagFiltersLabel: "Tag filters on matching events", + spellCreateIntro: "Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.", + spellFormSectionQueryTitle: "Spell query", + spellFormSectionQueryHint: "This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).", + spellFormSectionMetadataTitle: "Listing & labels (optional)", + spellFormSectionMetadataBadge: "Not part of the query", + spellFormSectionMetadataHint: "Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.", + spellFormCatalogTopicsLabel: "Topic labels on this spell (t tags)", + spellTopicsMetadataHint: "One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).", + spellTagFiltersHint: "Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.", + spellTagFiltersEmpty: "No tag filters yet. Add rows below or apply an event reference above.", + "Tag filter letter": "Tag letter", + "Filter value": "Value", + "Add tag filter": "Add tag filter", + spellPickerSectionYours: "Your spells", + "Failed to remove spell from local storage": "Failed to remove spell from local storage", + Spells: "Spells", + "doublePane.secondaryEmpty": "Open a note, profile, or settings item to show it here.", + "doublePane.secondaryEmptyHint": "Your feed and primary pages stay on the left.", + "(empty)": "(empty)", + "12-hour (AM/PM)": "12-hour (AM/PM)", + "24-hour": "24-hour", + "A new version is available": "A new version is available", + "A short description of the article content": "A short description of the article content", + AM: "AM", + "Access via": "Access via", + "Accessed On": "Accessed On", + "Accessed on": "Accessed on", + "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.": "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.", + "Add a relay to block": "Add a relay to block", + "Add at least one invitee": "Add at least one invitee", + "Add client identifier": "Add client identifier", + "Add expiration tags by default": "Add expiration tags by default", + "Add quiet tags by default": "Add quiet tags by default", + "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above": "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above", + "Add the source (where this text is from)": "Add the source (where this text is from)", + "Add to favorites": "Add to favorites", + "Add {{count}} Selected": "Add {{count}} Selected", + "Added at": "Added at", + "Added {{count}} relay(s)": "Added {{count}} relay(s)", + "Adding...": "Adding...", + "Adding…": "Adding…", + "Advanced Options": "Advanced Options", + "All Topics": "All Topics", + "All feeds from OPML file are already added": "All feeds from OPML file are already added", + "All items deleted successfully": "All items deleted successfully", + "Already blocked": "Already blocked", + "Already saved": "Already saved", + "Application Recommendations": "Application Recommendations", + "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.": "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.", + "Are you sure you want to delete all items from this store?": "Are you sure you want to delete all items from this store?", + "Are you sure you want to unmute this user? This will restore the follow button.": "Are you sure you want to unmute this user? This will restore the follow button.", + "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", + "Article exported as AsciiDoc": "Article exported as AsciiDoc", + "Article exported as Markdown": "Article exported as Markdown", + "Article title (optional)": "Article title (optional)", + articleDTagDefaultHint: "Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….", + Audio: "Audio", + Author: "Author", + "Author is required for reading groups": "Author is required for reading groups", + "Author name (optional)": "Author name (optional)", + Authors: "Authors", + "Block Relay": "Block Relay", + "Blocked Relays": "Blocked Relays", + "Blocking...": "Blocking...", + Blossom: "Blossom", + Book: "Book", + "Brief description of the event": "Brief description of the event", + "Brief summary (optional)": "Brief summary (optional)", + "Brief summary of the article (optional)": "Brief summary of the article (optional)", + "Browse Cache": "Browse Cache", + "Search cached events...": "Search cached events...", + "No cached events match your search.": "No cached events match your search.", + "Showing first {{count}} cached event matches.": "Showing first {{count}} cached event matches.", + "Open in store": "Open in store", + "Browse cache root description": "View IndexedDB stores, or search all cached Nostr-like events (content, tags, id, pubkey, kind) across stores.", + "Copy event JSON": "Copy event JSON", + "C-Tag": "C-Tag", + "Cache Relays": "Cache Relays", + "Cache cleared successfully": "Cache cleared successfully", + "Cache refreshed successfully": "Cache refreshed successfully", + "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.": "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.", + "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)": "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)", + "Cache relays saved": "Cache relays saved", + Cancelled: "Cancelled", + Chapter: "Chapter", + "Chapter Title": "Chapter Title", + "Chapter title (optional)": "Chapter title (optional)", + Citation: "Citation", + "Citation title (optional)": "Citation title (optional)", + "Clean up duplicate replaceable events? This will keep only the newest version of each event.": "Clean up duplicate replaceable events? This will keep only the newest version of each event.", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}}": "Cleaned up {{deleted}} duplicate entries, kept {{kept}}", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})": "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})", + "Cleanup Duplicates": "Cleanup Duplicates", + Clear: "Clear", + "Clear Cache": "Clear Cache", + "Clear Service Worker": "Clear Service Worker", + "Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.": "Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.", + "Click update to get the latest features and improvements": "Click update to get the latest features and improvements", + Close: "Close", + "Comma or space-separated topics (will be added as t-tags)": "Comma or space-separated topics (will be added as t-tags)", + Command: "Command", + Configure: "Configure", + "Connect Wallet": "Connect Wallet", + "Console Logs": "Console Logs", + "Console logs cleared": "Console logs cleared", + "Content is required": "Content is required", + "Content must be 5000 characters or less": "Content must be 5000 characters or less", + Controversial: "Controversial", + "Copied!": "Copied!", + "Copy to clipboard": "Copy to clipboard", + "Create Article": "Create Article", + "Create Citation": "Create Citation", + "Create Highlight": "Create Highlight", + "Create New Thread": "Create New Thread", + "Create Poll": "Create Poll", + "Create Thread": "Create Thread", + composeModeKind1: "Short note (kind 1) — turn off other compose types", + "Create a Spell": "Create a Spell", + "Creating...": "Creating...", + "D-Tag": "D-Tag", + "D-Tag is required for articles": "D-Tag is required for articles", + DOI: "DOI", + "Date-based (all-day)": "Date-based (all-day)", + "Default expiration (months)": "Default expiration (months)", + "Default quiet period (days)": "Default quiet period (days)", + "Delete All": "Delete All", + "Delete item": "Delete item", + "Deleted {{count}} event(s)": "Deleted {{count}} event(s)", + "Deletion request sent": "Deletion request sent", + "Description (content)": "Description (content)", + "Digital Object Identifier (optional)": "Digital Object Identifier (optional)", + "Disable word wrap": "Disable word wrap", + "Discovered Relays": "Discovered Relays", + "Discovering relays...": "Discovering relays...", + Discussion: "Discussion", + Discussions: "Discussions", + Downvote: "Downvote", + "Edited by": "Edited by", + Editor: "Editor", + "Editor name (optional)": "Editor name (optional)", + "Enable word wrap": "Enable word wrap", + "End date": "End date", + "End date must be after start date": "End date must be after start date", + "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.": "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.", + "Enter a descriptive title for your thread": "Enter a descriptive title for your thread", + "Enter the author name": "Enter the author name", + "Enter the book title": "Enter the book title", + "Enter the specific text you want to highlight in the main content area above": "Enter the specific text you want to highlight in the main content area above", + "Event IDs (ids)": "Event IDs (ids)", + "Event appears to be invalid or corrupted": "Event appears to be invalid or corrupted", + "Event has no value data": "Event has no value data", + "Event is missing required fields: {{fields}}": "Event is missing required fields: {{fields}}", + "Event type": "Event type", + "Expiration Tags": "Expiration Tags", + "Export OPML": "Export OPML", + "Export as AsciiDoc": "Export as AsciiDoc", + "Export as Markdown": "Export as Markdown", + "External Citation": "External Citation", + "External Citation Settings": "External Citation Settings", + "Failed to add relay. Please try again.": "Failed to add relay. Please try again.", + "Failed to add relays": "Failed to add relays", + "Failed to block relay. Please try again.": "Failed to block relay. Please try again.", + "Failed to cleanup duplicates": "Failed to cleanup duplicates", + "Failed to clear cache": "Failed to clear cache", + "Failed to copy": "Failed to copy", + "Failed to create relay set. Please try again.": "Failed to create relay set. Please try again.", + "Failed to create thread": "Failed to create thread", + "Failed to create thread. Please try a different relay.": "Failed to create thread. Please try a different relay.", + "Failed to delete all items": "Failed to delete all items", + "Failed to delete item": "Failed to delete item", + "Failed to discover relays": "Failed to discover relays", + "Failed to export OPML file": "Failed to export OPML file", + "Failed to export article": "Failed to export article", + "Failed to import OPML file: {{error}}": "Failed to import OPML file: {{error}}", + "Failed to load RSS feeds": "Failed to load RSS feeds", + "Failed to load store items": "Failed to load store items", + "Failed to mute user privately": "Failed to mute user privately", + "Failed to mute user publicly": "Failed to mute user publicly", + "Failed to pin note": "Failed to pin note", + "Failed to publish post": "Failed to publish post", + "Failed to publish reply": "Failed to publish reply", + "Failed to publish reaction": "Failed to publish reaction", + "Failed to publish thread": "Failed to publish thread", + "Failed to publish to some relays. Please try again or use different relays.": "Failed to publish to some relays. Please try again or use different relays.", + "Failed to save RSS feeds": "Failed to save RSS feeds", + "Failed to save cache relays": "Failed to save cache relays", + "Failed to save relay list": "Failed to save relay list", + "Failed to unregister service worker: ": "Failed to unregister service worker: ", + "Failed to unsubscribe from topic": "Failed to unsubscribe from topic", + Favorite: "Favorite", + Fetch: "Fetch", + "Fetch once, then stop.": "Fetch once, then stop.", + "Filter by": "Filter by", + "Flat View": "Flat View", + "Font size": "Font size", + "Full Quote/Context": "Full Quote/Context", + "Full-text search query": "Full-text search query", + Geohash: "Geohash", + "Geohash (optional)": "Geohash (optional)", + "Global quiet mode": "Global quiet mode", + "Group discussions by topic": "Group discussions by topic", + "Grouped View": "Grouped View", + Groups: "Groups", + "Handler {{index}}": "Handler {{index}}", + "Hardcopy Citation": "Hardcopy Citation", + "Hardcopy Citation Settings": "Hardcopy Citation Settings", + Hide: "Hide", + "Hide interactions on all posts": "Hide interactions on all posts", + "Hide interactions on posts with quiet tags": "Hide interactions on posts with quiet tags", + "High PoW": "High PoW", + "Higher values make your thread harder to mine but more unique.": "Higher values make your thread harder to mine but more unique.", + Highlight: "Highlight", + "Highlight Settings": "Highlight Settings", + "How to Create a Highlight (NIP-84)": "How to Create a Highlight (NIP-84)", + "Human-readable spell name": "Human-readable spell name", + "Image URL": "Image URL", + "Import OPML": "Import OPML", + "Imported {{count}} feed(s) from OPML file": "Imported {{count}} feed(s) from OPML file", + "In-Browser Cache": "In-Browser Cache", + Insert: "Insert", + "Insert URL into your post and publish to Nostr GIF library (NIP-94).": "Insert URL into your post and publish to Nostr GIF library (NIP-94).", + "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.": "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.", + "Insert event or address": "Insert event or address", + "Insert mention": "Insert mention", + "Internal Citation": "Internal Citation", + "Internal Citation Settings": "Internal Citation Settings", + "Invalid Event": "Invalid Event", + "Invalid Lightning Address": "Invalid Lightning Address", + "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.": "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.", + "Invalid URL": "Invalid URL", + "Invalid content JSON": "Invalid content JSON", + "Invalid relay URL": "Invalid relay URL", + "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.": "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.", + "Item deleted successfully": "Item deleted successfully", + JSON: "JSON", + "Join link": "Join link", + "Journal/Publication name (optional)": "Journal/Publication name (optional)", + Json: "JSON", + Kinds: "Kinds", + "Language Model": "Language Model", + Large: "Large", + "Leave empty for HiveTalk, or paste Zoom / Teams / other link": "Leave empty for HiveTalk, or paste Zoom / Teams / other link", + "Lightning payment failed": "Lightning payment failed", + Limit: "Limit", + "Live feed; keeps updating.": "Live feed; keeps updating.", + "Loading more...": "Loading more...", + "Loading relays...": "Loading relays...", + "Location (optional)": "Location (optional)", + "Log in to run this spell (it uses $me or $contacts).": "Log in to run this spell (it uses $me or $contacts).", + "Login failed": "Login failed", + "nip07.extensionKeyMismatch": "Your browser extension is using a different key on this tab. Switch to the matching key in the extension, or reload the page to apply your extension's current selection.", + "nip07.reloadPage": "Reload page", + "Login to configure RSS feeds": "Login to configure RSS feeds", + "Long-form Article": "Long-form Article", + "Mailbox relays saved": "Mailbox relays saved", + "Mark as NSFW": "Mark as NSFW", + "Maximum {{max}} invitees": "Maximum {{max}} invitees", + "Maximum {{max}} invitees allowed": "Maximum {{max}} invitees allowed", + Medium: "Medium", + Mode: "Mode", + "Most Zapped": "Most Zapped", + "Move to top": "Move to top", + "Multiple choice": "Multiple choice", + "Mute failed": "Mute failed", + NSFW: "NSFW", + Name: "Name", + "Name of the language model used": "Name of the language model used", + "New External Citation": "New External Citation", + "New Hardcopy Citation": "New Hardcopy Citation", + "New Highlight": "New Highlight", + "New Internal Citation": "New Internal Citation", + "New Long-form Article": "New Long-form Article", + "New Poll": "New Poll", + "New Discussion": "New Discussion", + "New Prompt Citation": "New Prompt Citation", + "New Public Message": "New Public Message", + "New Wiki Article": "New Wiki Article", + "New Wiki Article (Markdown)": "New Wiki Article (Markdown)", + Newest: "Newest", + "No JSON available": "No JSON available", + "No RSS feeds found in OPML file": "No RSS feeds found in OPML file", + "No cached data found.": "No cached data found.", + "No console logs captured yet": "No console logs captured yet", + "No events found": "No events found", + "No feeds configured. Default feed will be used.": "No feeds configured. Default feed will be used.", + "No feeds to export": "No feeds to export", + "No groups available. Join some groups first.": "No groups available. Join some groups first.", + "No items in this store.": "No items in this store.", + "No items match your search.": "No items match your search.", + "No logs match the current filters": "No logs match the current filters", + "No posts found": "No posts found", + "No posts match your search": "No posts match your search", + "No relays available. Please configure relays in settings.": "No relays available. Please configure relays in settings.", + "No service workers or caches found for this app": "No service workers or caches found for this app", + "No users found": "No users found", + "No valid RSS feed URLs found in OPML file": "No valid RSS feed URLs found in OPML file", + "Note pinned": "Note pinned", + "Note unpinned": "Note unpinned", + Oldest: "Oldest", + "Open Timestamp": "Open Timestamp", + "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.": "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.", + "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.": "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.", + Optional: "Optional", + "Optional image for the event": "Optional image for the event", + "Optionally, add the full quote/context to show your highlight within it": "Optionally, add the full quote/context to show your highlight within it", + PM: "PM", + "Page Range": "Page Range", + Pages: "Pages", + "Paste URL of a GIF": "Paste URL of a GIF", + "Paste URL of a meme image": "Paste URL of a meme image", + "Paste the entire original passage that contains your highlight": "Paste the entire original passage that contains your highlight", + Photo: "Photo", + "Picture Note": "Picture Note", + "Pin note": "Pin note", + "Plain text description of the query": "Plain text description of the query", + "Please login to view bookmarks": "Please login to view bookmarks", + "Please login to view favorites": "Please login to view favorites", + "Please select a group": "Please select a group", + "Please select at least one relay": "Please select at least one relay", + "Please set a start date": "Please set a start date", + "Poll with no options": "Poll with no options", + "Post published to some relays": "Post published to some relays", + "Posts will automatically include expiration tags": "Posts will automatically include expiration tags", + "Posts will automatically include quiet tags": "Posts will automatically include quiet tags", + "Posts will be quiet for this many days": "Posts will be quiet for this many days", + "Posts will expire after this many months": "Posts will expire after this many months", + "Processing...": "Processing...", + "Profile event not available": "Profile event not available", + "Prompt Citation": "Prompt Citation", + "Prompt Citation Settings": "Prompt Citation Settings", + "Prompt Conversation Script": "Prompt Conversation Script", + "Proof of Work": "Proof of Work", + "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post": "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post", + "Publish to Relays": "Publish to Relays", + "Published By": "Published By", + "Published In": "Published In", + "Published On": "Published On", + "Published in": "Published in", + "Published on": "Published on", + "Publisher name (optional)": "Publisher name (optional)", + "Quiet Tags": "Quiet Tags", + "RSS Feed": "RSS Feed", + "RSS + Web": "RSS + Web", + "RSS feed source": "RSS feed source", + "All feed sources": "All feed sources", + "RSS feed view mode": "RSS feed view mode", + "Article URLs": "Article URLs", + "Article URLs subtitle": "One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.", + "Article URLs Nostr manual subtitle": "Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.", + "RSS feed column title": "RSS & linked articles", + "RSS feed column subtitle": "Feed entries and article cards that include at least one item from your subscribed RSS feeds.", + "RSS timeline": "RSS timeline", + "RSS timeline subtitle": "Every item from your subscribed feeds, newest first — classic RSS reader.", + URLs: "URLs", + RSS: "RSS", + "No URL-only items yet": "No URL-only items yet", + "Respond to this RSS entry": "Respond to this RSS entry", + "RSS read-only thread hint": "Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.", + "RSS feed item label": "RSS", + "Web URL item label": "Web URL", + "URL thread activity": "URL thread activity", + "Suppress Clawstr links in RSS previews": "Hide clawstr.com in RSS and URL feed", + "Hide local, media & feed URLs from URL cards": "Hide local, media, feed, document & XML links from the feed", + "RSS articles": "RSS articles", + "Web comments": "Web comments", + "Web highlights": "Web highlights", + "In your bookmarks": "In your bookmarks", + "{{count}} RSS entries for this URL": "{{count}} RSS entries for this URL", + "{{count}} entries for this article URL": "{{count}} entries for this article URL", + "No comments yet": "No comments yet", + "No highlights yet": "No highlights yet", + "Showing {{filtered}} of {{total}} entries": "Showing {{filtered}} of {{total}} entries", + standardRssFeed_spotifeed: "Spotify playlist (Spotifeed)", + standardRssFeed_youtube: "YouTube feed", + standardRssFeed_youtubeChannel: "YouTube channel feed", + standardRssFeed_youtubePlaylist: "YouTube playlist feed", + standardRssFeed_feedburner: "FeedBurner", + standardRssFeed_reddit: "Reddit RSS", + standardRssFeed_substack: "Substack", + standardRssFeed_medium: "Medium", + "RSS Feed Settings": "RSS Feed Settings", + "Follow sets": "Follow sets", + "Personal Lists": "Personal Lists", + "Personal lists hub intro": "Open mute list, following, bookmarks list, pinned notes, interest topics (kind 10015), your NIP-30 user emoji list (kind 10030), and emoji set packs (kind 30030) on their own pages. Follow sets are below. Web page bookmarks (NIP-B0, kind 39701) are separate—save from an article’s panel or use the Bookmarks spell for a mixed feed.", + "Mute list": "Mute list", + "Following list": "Following list", + "Bookmarks list": "Bookmarks list", + "Pinned notes list": "Pinned notes list", + "Interests list": "Interests list", + "User emoji list": "User emoji list (kind 10030)", + "Emoji sets": "Emoji sets (kind 30030)", + "User emoji list title": "{{username}}'s emoji list", + "User emoji list intro": "NIP-30: inline custom emoji (`emoji` tags) and references to your kind 30030 packs (`a` tags). Publish when you are done editing.", + "User emoji list saved": "Emoji list published", + "User emoji inline section": "Inline emoji", + "User emoji inline empty": "No inline emoji yet. Add a shortcode and image URL below.", + "User emoji inline invalid": "Enter a shortcode and a non-empty image URL.", + "User emoji sets section": "Emoji set references", + "User emoji sets hint": "Add a coordinate in the form 30030:<64-hex pubkey>:, usually one of your own emoji sets from the Emoji sets page.", + "User emoji sets empty": "No emoji set references yet.", + "User emoji set ref invalid": "Invalid coordinate. Use 30030::.", + "User emoji set ref duplicate": "That emoji set is already in the list.", + "Emoji set coordinate": "Emoji set (a tag)", + "Publish changes": "Publish changes", + Shortcode: "Shortcode", + "Emoji sets settings intro": "NIP-30 emoji packs (kind 30030): each set has a `d` tag and `emoji` entries (shortcode + image URL). Publish from the editor dialog.", + "New emoji set": "New emoji set", + "Edit emoji set": "Edit emoji set", + "No emoji sets yet": "You have not created any emoji sets yet.", + "Emoji set saved": "Emoji set saved", + "Emoji set deleted": "Emoji set deleted", + "Failed to load emoji sets": "Failed to load emoji sets", + "emoji entries": "emoji", + "Emoji set d tag hint": "Stable identifier for this pack. It cannot be changed after the first publish.", + "Emoji pack entries": "Emoji in this pack", + "No emoji entries in pack": "No emoji in this pack yet.", + "Delete emoji set?": "Delete this emoji set?", + "Delete emoji set confirm": "This sends a deletion request (kind 5). Relays that accept it will drop the set; others may still show a cached copy.", + "Interests list section subtitle": "Topics you follow for hashtag feeds and the Interests spell. Stored on Nostr as kind 10015 (`t` tags).", + "Interest topic placeholder": "topic or #hashtag", + "Interest list add topic": "Add topic", + "Interest topic invalid": "Enter a valid topic (letters, numbers, hyphens, underscores).", + "No interest topics in list": "No subscribed topics yet. Add one above or subscribe from a hashtag page.", + "username's interest topics": "{{username}}'s interest topics", + "Remove from interest list": "Remove from interest list", + "Personal lists interests spell hint": "For a combined feed of all subscribed topics, use the", + "Interests spell": "Interests spell", + "Personal lists bookmarks spell hint": "For a note feed from NIP-51 bookmarks, use the", + "Bookmarks spell": "Bookmarks spell", + "Pinned notes hint": "Pinned notes: use the note menu (⋯) on a note and choose pin to profile. Pins appear on your profile.", + "Bookmarks list section title": "Bookmarks list", + "Bookmarks list section subtitle": "Events referenced by `e` / `a` tags on your kind 10003 bookmark list (newest first).", + "No entries in bookmark list": "Your bookmark list is empty.", + "View bookmarks as feed in Spells": "View bookmarks as a note feed in Spells", + "Pinned notes list section title": "Pinned notes list", + "Pinned notes list section subtitle": "Events referenced by `e` / `a` tags on your kind 10001 pin list (same order as on your profile).", + "Loading pin list": "Loading pin list…", + "No pinned notes in list": "No pinned notes in your pin list yet.", + "username's bookmarks": "{{username}}'s bookmarks", + "username's pinned notes": "{{username}}'s pinned notes", + "Event not loaded": "Event not loaded", + "No NIP-51 bookmarks or web bookmarks yet.": "No NIP-51 bookmarks or web bookmarks yet.", + "Web bookmarks": "Web bookmarks", + "Web bookmark": "Web bookmark", + "Web bookmarks NIP intro": "Web bookmarks are stored as kind 39701 events, not in your NIP-51 bookmark list.", + "Log in to save web bookmarks": "Log in to save web bookmarks for this page (NIP-B0, kind 39701).", + "Remove web bookmark": "Remove web bookmark", + "No web bookmark for this URL yet": "You have not saved a web bookmark for this URL yet.", + "Page title": "Page title", + "Short description": "Short description", + "Save web bookmark": "Save web bookmark", + "Sign in to publish web bookmark": "Please log in with a signing key to save web bookmarks.", + "Follow sets settings intro": "NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.", + "New follow set": "New follow set", + "Edit follow set": "Edit follow set", + "No follow sets yet": "You have not created any follow sets yet.", + "Follow set saved": "Follow set saved", + "Follow set deleted": "Follow set deleted", + "Failed to load follow sets": "Failed to load follow sets", + members: "members", + "Optional display title": "Optional display title", + "List id (d tag)": "List id (d tag)", + "Follow set d tag hint": "Stable identifier for this list. It cannot be changed after the first publish.", + "People in this list": "People in this list", + "Delete follow set?": "Delete this follow set?", + "Delete follow set confirm": "This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.", + "Clean list": "Clean list", + "Clean this list?": "Clean this list?", + "Clean list confirm": "This will publish a fresh, empty replacement for this list (all entries removed). This cannot be undone.", + "Clean follows list confirm with backup": "Before cleaning your follows (kind 3), the current list snapshot will be published to follows history relays. Then a fresh, empty follows list will be published. Continue?", + "List cleaned": "List cleaned", + "Failed to clean list": "Failed to clean list", + "Remove feed": "Remove feed", + "RSS Feeds": "RSS Feeds", + "RSS feeds exported to OPML file": "RSS feeds exported to OPML file", + "RSS feeds saved": "RSS feeds saved", + "Rate limited. Please wait before trying again.": "Rate limited. Please wait before trying again.", + "Reaction published": "Reaction published", + "Reaction published to some relays": "Reaction published to some relays", + "Reaction removed": "Reaction removed", + "Read full article": "Read full article", + "Reading group entry": "Reading group entry", + "Readings Options": "Readings Options", + Recipients: "Recipients", + "Recipients detected from your message:": "Recipients detected from your message:", + "Recommended Relays": "Recommended Relays", + "Recommended applications for handling events of kind {{kind}}": "Recommended applications for handling events of kind {{kind}}", + "Reference to the cited Nostr event in kind:pubkey:hex format": "Reference to the cited Nostr event in kind:pubkey:hex format", + "Refresh Cache": "Refresh Cache", + "Refreshing posts...": "Refreshing posts...", + "Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.": "Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.", + Relay: "Relay", + "Relay Hint": "Relay Hint", + "Relay URL (optional)": "Relay URL (optional)", + "Relay blocked successfully": "Relay blocked successfully", + "Relay requires authentication for write access. Please try a different relay or contact the relay operator.": "Relay requires authentication for write access. Please try a different relay or contact the relay operator.", + "Relay set options": "Relay set options", + "Remove from favorites": "Remove from favorites", + Rendered: "Rendered", + "Reply published": "Reply published", + "Reply published to some relays": "Reply published to some relays", + "Reply to Public Message": "Reply to Public Message", + "Republish to all active relays": "Republish to all active relays", + "Republish to all available relays": "Republish to all available relays", + "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.": "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.", + "Required: start time or start date. Optional: title, end, location, summary, topics, image.": "Required: start time or start date. Optional: title, end, location, summary, topics, image.", + "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Respect quiet tags": "Respect quiet tags", + "Search (NIP-50)": "Search (NIP-50)", + "Search by name or npub…": "Search by name or npub…", + "Search calendar, publications, wiki…": "Search calendar, publications, wiki…", + "Search for user…": "Search for user…", + "Search items...": "Search items...", + "Search logs...": "Search logs...", + "Search notes, threads, long-form…": "Search notes, threads, long-form…", + "Search on GifBuddy": "Search on GifBuddy", + "Search on Meme Amigo": "Search on Meme Amigo", + "Search posts...": "Search posts...", + "Search threads by title, content, tags, npub, author...": "Search threads by title, content, tags, npub, author...", + "Searching all available relays...": "Searching all available relays...", + "Searching…": "Searching…", + "See reference": "See reference", + "Select Group": "Select Group", + "Select Media Type": "Select Media Type", + "Select group...": "Select group...", + "Select relays": "Select relays", + "Publish relay cap hint": "At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.", + "Publish relay cap hint with outbox first": "At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.", + "Select the group where you want to create this discussion.": "Select the group where you want to create this discussion.", + "Select topic...": "Select topic...", + "Selected text": "Selected text", + "Send Public Message": "Send Public Message", + "Send a Lightning payment to this user": "Send a Lightning payment to this user", + "Service worker caches cleared. Please reload the page.": "Service worker caches cleared. Please reload the page.", + "Service worker unregistered and caches cleared. Please reload the page.": "Service worker unregistered and caches cleared. Please reload the page.", + "Service worker unregistered. Please reload the page.": "Service worker unregistered. Please reload the page.", + "Share your thoughts, ask questions, or start a discussion...": "Share your thoughts, ask questions, or start a discussion...", + "Short Video Note": "Short Video Note", + "Show RSS Feed": "Show RSS Feed", + "Show all discussions in a single list": "Show all discussions in a single list", + "Show less": "Show less", + Since: "Since", + Small: "Small", + "Some relays have temporarily disabled writes.": "Some relays have temporarily disabled writes.", + Source: "Source", + "Spell definition": "Spell definition", + "Spell published": "Spell published", + "Start date": "Start date", + "Start typing to see a preview...": "Start typing to see a preview...", + "Subject (Book Title)": "Subject (Book Title)", + "Subject (book title) is required for reading groups": "Subject (book title) is required for reading groups", + "Subject / Topics": "Subject / Topics", + Subscribe: "Subscribe", + Subscribed: "Subscribed", + "Subscribed to topic": "Subscribed to topic", + "Subscribed to topic (local)": "Subscribed to topic (local)", + "Subscribing...": "Subscribing...", + Summary: "Summary", + "Supported Event Types": "Supported Event Types", + "Take a note": "Take a note", + "The full prompt conversation (optional)": "The full prompt conversation (optional)", + "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.": "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.", + "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.": "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.", + "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.": "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.", + "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a Nostr event of kind {{kind}}.": "This GIF was found in a Nostr event of kind {{kind}}.", + "This file could be either audio or video. Please select the correct type:": "This file could be either audio or video. Please select the correct type:", + "This store does not contain replaceable events": "This store does not contain replaceable events", + "This will add additional tags for author and subject to help organize reading group discussions.": "This will add additional tags for author and subject to help organize reading group discussions.", + "Thread Content": "Thread Content", + "Thread Title": "Thread Title", + "Thread creation timed out. Please try again.": "Thread creation timed out. Please try again.", + "Thread published": "Thread published", + "Threads are organized by topics. Choose a topic that best fits your discussion.": "Threads are organized by topics. Choose a topic that best fits your discussion.", + "Time-based": "Time-based", + "Title is required": "Title is required", + "Title must be 100 characters or less": "Title must be 100 characters or less", + "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.": "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.", + Top: "Top", + Topic: "Topic", + URL: "URL", + "URL of the article cover image (optional)": "URL of the article cover image (optional)", + "Unique identifier for this article (required)": "Unique identifier for this article (required)", + "Unmute failed": "Unmute failed", + "Unpin note": "Unpin note", + Unsubscribe: "Unsubscribe", + "Unsubscribed from topic": "Unsubscribed from topic", + "Unsubscribing...": "Unsubscribing...", + Until: "Until", + Untitled: "Untitled", + Update: "Update", + "Updating...": "Updating...", + "Upload Audio Comment": "Upload Audio Comment", + "Upload Audio Message": "Upload Audio Message", + "Upload Media": "Upload Media", + "Media kind": "Media kind", + "Use image/audio/video note kind for the media URL in the editor": "Use image/audio/video note kind for the media URL in the editor", + "Already publishing as a media note": "Already publishing as a media note", + "No media URL in note — upload or paste a link first": "No media URL in note — upload or paste a link first", + "Cannot infer media type from URL — use Note type → Media Note to upload": "Cannot infer media type from URL — use Note type → Media Note to upload", + "Media kind (disabled): add imeta tags, a media URL, or upload media first": "Media kind (disabled): add imeta tags, a media URL, or upload media first", + Upvote: "Upvote", + "User unmuted": "User unmuted", + "Version number (optional)": "Version number (optional)", + Video: "Video", + "Video Note": "Video Note", + "Video file": "Video file", + "View Console Logs": "View Console Logs", + "View JSON": "View JSON", + "View cached items in this store.": "View cached items in this store.", + "View definition": "View definition", + "View details about cached data in IndexedDB stores. Click on a store to view its items.": "View details about cached data in IndexedDB stores. Click on a store to view its items.", + "View on Alexandria": "View on Alexandria", + "View on DecentNewsroom": "View on DecentNewsroom", + "View on Wikistr": "View on Wikistr", + "View recent console logs for debugging": "View recent console logs for debugging", + "Voice Comment": "Voice Comment", + "Voice Note": "Voice Note", + "Voice note or audio file": "Voice note or audio file", + Volume: "Volume", + "Volume number (optional)": "Volume number (optional)", + "Vote published": "Vote published", + "Vote removed": "Vote removed", + "Website where LLM was accessed (optional)": "Website where LLM was accessed (optional)", + "Wiki Article (AsciiDoc)": "Wiki Article (AsciiDoc)", + "Wiki Article (Markdown)": "Wiki Article (Markdown)", + "You can only delete your own notes": "You can only delete your own notes", + "You must be logged in to create a thread": "You must be logged in to create a thread", + "You need to add at least one media server in order to upload media files.": "You need to add at least one media server in order to upload media files.", + "You need to login first": "You need to login first", + "Your account is blocked from posting to this relay.": "Your account is blocked from posting to this relay.", + Zap: "Zap", + "Zap failed": "Zap failed", + created_at: "created_at", + "e tag of kind 1040 event (optional)": "e tag of kind 1040 event (optional)", + "e.g. meetup, conference": "e.g. meetup, conference", + "e.g., 123-145 (optional)": "e.g., 123-145 (optional)", + "e.g., GPT-4, Claude, etc. (required)": "e.g., GPT-4, Claude, etc. (required)", + "e.g., my-article-title": "e.g., my-article-title", + entries: "entries", + "from Bunker": "from Bunker", + "from Extension": "from Extension", + "from NIP-05": "from NIP-05", + general: "general", + "https://example.com (required)": "https://example.com (required)", + "https://example.com/image.jpg": "https://example.com/image.jpg", + id: "id", + items: "items", + kind: "kind", + "kind:pubkey:hex format (required)": "kind:pubkey:hex format (required)", + "last updated": "last updated", + matching: "matching", + naddr: "naddr", + nevent: "nevent", + "nevent1..., naddr1..., note1..., hex ID, or https://...": "nevent1..., naddr1..., note1..., hex ID, or https://...", + "no notes found": "no notes found", + of: "of", + "on note": "on note", + optional: "optional", + pubkey: "pubkey", + "sent a public message": "sent a public message", + "sent you a public message": "sent you a public message", + "sent you a public message (along with {{count}} others)": "sent you a public message (along with {{count}} others)", + sig: "sig", + "started a discussion in {{topic}}": "started a discussion in {{topic}}", + tags: "tags", + thread: "thread", + threads: "threads", + "topic1, topic2, topic3": "topic1, topic2, topic3", + "{{count}} relay(s) selected": "{{count}} relay(s) selected", + "🔞 NSFW 🔞": "🔞 NSFW 🔞", + "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).": "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).", + "Compressing on your device before upload (large videos can take several minutes)…": "Compressing on your device before upload (large videos can take several minutes)…", + "Failed to refresh": "Failed to refresh", + "Invalid article link.": "Invalid article link.", + Likes: "Likes", + "Loading…": "Loading…", + "Missing pubkey": "Missing pubkey", + "No RSS feed list found on relays": "No RSS feed list found on relays", + "Pinned posts": "Pinned posts", + "Publishing...": "Publishing...", + "RSS article": "RSS article", + "RSS feed list refreshed": "RSS feed list refreshed", + "Save or discard your changes before refreshing from relays": "Save or discard your changes before refreshing from relays", + "Suggested topics": "Suggested topics", + "Synthetic event (no author)": "Synthetic event (no author)", + "Topic is required": "Topic is required", + "Type a topic or pick from the list": "Type a topic or pick from the list", + "Uploading to media server…": "Uploading to media server…", + profileEditorRefreshCacheHint: "profileEditorRefreshCacheHint", + startupSessionHydrating: "startupSessionHydrating", + "AI / LLM prompt citation": "AI / LLM prompt citation", + "AsciiDoc wiki contribution": "AsciiDoc wiki contribution", + "Attach image, audio, or video": "Attach image, audio, or video", + Citations: "Citations", + "Cite from external source": "Cite from external source", + "Cite from private relay": "Cite from private relay", + "Create a voting poll": "Create a voting poll", + "Create custom event": "Create custom event", + "Create event with custom kind": "Create event with custom kind", + "Custom Event": "Custom Event", + "Custom tag…": "Custom tag…", + Dismiss: "Dismiss", + "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.": "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.", + "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).": "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).", + "Failed to rebroadcast entire publication: {{error}}": "Failed to rebroadcast entire publication: {{error}}", + "Feed filter kind": "Feed filter kind", + "Feed filter kind hint": "Feed filter kind hint", + "Feed filter kind invalid": "Feed filter kind invalid", + "Feed filter kind placeholder": "Feed filter kind placeholder", + "Invalid event fields": "Invalid event fields", + "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).": "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).", + "Markdown article (NIP-23)": "Markdown article (NIP-23)", + "Markdown wiki contribution": "Markdown wiki contribution", + "Media Note": "Media Note", + "No publication events found for rebroadcast": "No publication events found for rebroadcast", + "No publication events were accepted by any relay": "No publication events were accepted by any relay", + "Note type": "Note type", + "Offline mode": "Offline mode", + "Only local relays and cached content are available.": "Only local relays and cached content are available.", + "Physical source citation": "Physical source citation", + "Plain text note (kind 1)": "Plain text note (kind 1)", + "Private relay publication": "Private relay publication", + "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).": "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).", + "Public Message": "Public Message", + "Public direct message (kind 4)": "Public direct message (kind 4)", + "Publication Note": "Publication Note", + "Rebroadcast entire publication": "Rebroadcast entire publication", + "Rebroadcast entire publication to ...": "Rebroadcast entire publication to ...", + "Rebroadcasted entire publication": "Rebroadcasted entire publication", + "Rebroadcasting entire publication...": "Rebroadcasting entire publication...", + "Save a quote or passage": "Save a quote or passage", + "Save data": "Save data", + "Set kind, content, and tags, then publish.": "Set kind, content, and tags, then publish.", + "Short Note": "Short Note", + "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.": "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.", + "Slow connection detected": "Slow connection detected", + "Start a discussion thread": "Start a discussion thread", + "This action is only available for publications": "This action is only available for publications", + "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.": "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.", + Thread: "Thread", + "Turn on low-bandwidth mode to reduce data usage.": "Turn on low-bandwidth mode to reduce data usage.", + "Turn on low-bandwidth mode? This will set: {{changes}}.": "Turn on low-bandwidth mode? This will set: {{changes}}.", + "Unsigned experimental kind": "Unsigned experimental kind", + "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.": "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.", + "media loading off": "media loading off", + profileEditorDuplicateSingleton: "profileEditorDuplicateSingleton", + profileEditorEditBannerUrl: "profileEditorEditBannerUrl", + profileEditorEditPictureUrl: "profileEditorEditPictureUrl", + profileEditorImageUrlHint: "profileEditorImageUrlHint", + profileEditorNostrBuildThumbHint: "profileEditorNostrBuildThumbHint", + profileEditorProfileNotLoaded: "profileEditorProfileNotLoaded", + profileEditorTagListHint: "profileEditorTagListHint", + "readOnlySession.hint": "readOnlySession.hint", + "readOnlySession.label": "readOnlySession.label", + "readOnlySession.labelShort": "readOnlySession.labelShort", + "video autoplay off": "video autoplay off", } } diff --git a/src/i18n/locales/th.ts b/src/i18n/locales/th.ts deleted file mode 100644 index 1a4eb096..00000000 --- a/src/i18n/locales/th.ts +++ /dev/null @@ -1,1832 +0,0 @@ -export default { - translation: { - 'Welcome! 🥳': 'ยินดีต้อนรับ! 🥳', - About: 'เกี่ยวกับ', - 'New Note': 'โน้ตใหม่', - Post: 'โพสต์', - Home: 'หน้าหลัก', - Feed: 'Feed', - 'Favorite Relays': 'รีเลย์โปรด', - 'Relay pulse': 'Relay pulse', - 'Relay pulse empty': 'Quiet on your relays in the last hour.', - 'Relay pulse follows': 'Following ({{count}})', - 'Relay pulse others': 'Others ({{count}})', - 'Relay pulse updated': 'Updated {{relative}}', - 'Relay pulse active npubs': 'Active npubs', - 'Relay pulse active npubs hint': - 'Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).', - 'Relay pulse drawer following': 'Following', - 'Relay pulse drawer others': 'Others', - 'Relay pulse drawer no profiles': 'No kind 0 profiles loaded for this sample yet.', - 'See the newest notes from your follows': 'See the newest notes from your follows', - 'All favorite relays': 'รีเลย์โปรดทั้งหมด', - 'Pinned note': 'Pinned note', - 'Relay settings': 'การตั้งค่ารีเลย์', - Settings: 'การตั้งค่า', - 'Account menu': 'Account menu', - SidebarRelays: 'รีเลย์', - Refresh: 'รีเฟรช', - 'refresh.longPressHardReload': 'Long-press: reload app and restore feed cache', - 'link.expandNostrEmbed': 'Show Nostr preview', - Profile: 'โปรไฟล์', - Logout: 'ออกจากระบบ', - Following: 'กำลังติดตาม', - followings: 'กำลังติดตาม', - boosted: 'บูสต์แล้ว', - 'Boosted by:': 'Boosted by:', - 'just now': 'เมื่อสักครู่', - 'n minutes ago': '{{n}} นาทีที่แล้ว', - 'n m': '{{n}}น', - 'n hours ago': '{{n}} ชั่วโมงที่แล้ว', - 'n h': '{{n}}ชม', - 'n days ago': '{{n}} วันที่แล้ว', - 'n d': '{{n}}วัน', - date: '{{timestamp, date}}', - Follow: 'ติดตาม', - Unfollow: 'เลิกติดตาม', - 'Follow failed': 'ติดตามไม่สำเร็จ', - 'Unfollow failed': 'เลิกติดตามไม่สำเร็จ', - 'show new notes': 'แสดงโน้ตใหม่', - 'loading...': 'กำลังโหลด...', - 'Loading...': 'กำลังโหลด...', - 'no more notes': 'ไม่มีโน้ตเพิ่มเติม', - 'calendar entries': 'calendar entries', - 'Loading calendar events...': 'Loading calendar events...', - 'No calendar events found': 'No calendar events found', - 'Calendar events in the next {{count}} months': 'Calendar events in the next {{count}} months', - 'The nostr.band relay appears to be temporarily out of service. Please try again later.': - 'The nostr.band relay appears to be temporarily out of service. Please try again later.', - 'reply to': 'ตอบกลับถึง', - reply: 'ตอบกลับ', - Reply: 'ตอบกลับ', - 'load more older replies': 'โหลดการตอบกลับเพิ่มเติม', - 'Write something...': 'เขียนอะไรบางอย่าง...', - Cancel: 'ยกเลิก', - Mentions: 'การกล่าวถึง', - 'Search for event or address…': 'Search for event or address…', - 'Search notes…': 'Search notes…', - 'No notes found': 'No notes found', - 'Failed to post': 'โพสต์ไม่สำเร็จ', - 'Post successful': 'โพสต์สำเร็จ', - 'Your post has been published': 'โพสต์ของคุณถูกเผยแพร่แล้ว', - Boost: 'บูสต์', - 'Boost published': 'เผยแพร่บูสต์แล้ว', - Quote: 'อ้างอิง', - 'Copy event ID': 'คัดลอก ID เหตุการณ์', - 'Copy user ID': 'คัดลอก ID ผู้ใช้', - 'Send public message': 'Send public message', - 'View raw event': 'ดูเหตุการณ์ดิบ', - 'Edit this event': 'Edit this event', - 'Clone or fork this event': 'Clone or fork this event', - 'Event kind': 'Event kind', - 'Note content': 'Note content', - Publish: 'Publish', - 'Post published': 'Post published', - 'Edit content and tags, then publish a new signed event.': - 'Edit content and tags, then publish a new signed event.', - 'Log in to publish': 'Log in to publish', - 'Set when you publish': 'set when you publish', - 'id and sig are assigned when you publish': 'id and sig are assigned when you publish', - 'Published to some relays only': 'Published to some relays only', - 'Add field': 'Add field', - 'View full profile': 'View full profile', - Like: 'ถูกใจ', - 'switch to light theme': 'เปลี่ยนเป็นธีมสว่าง', - 'switch to dark theme': 'เปลี่ยนเป็นธีมมืด', - 'switch to system theme': 'เปลี่ยนเป็นธีมระบบ', - Note: 'โน้ต', - note: 'โน้ต', - "username's following": 'ผู้ที่ {{username}} กำลังติดตาม', - "username's used relays": 'รีเลย์ที่ {{username}} ใช้งาน', - "username's muted": 'ผู้ที่ {{username}} ปิดเสียง', - Login: 'เข้าสู่ระบบ', - downloadDesktopApp: 'Download app', - 'Please log in to view notifications.': 'Please log in to view notifications.', - 'Follows you': 'ติดตามคุณ', - 'Relay Settings': 'การตั้งค่ารีเลย์', - 'Relays and Storage Settings': 'Relays and Storage Settings', - 'Relay set name': 'ชื่อชุดรีเลย์', - 'Add a new relay set': 'เพิ่มชุดรีเลย์ใหม่', - Add: 'เพิ่ม', - 'n relays': '{{n}} รีเลย์', - Rename: 'เปลี่ยนชื่อ', - 'Copy share link': 'Copy share link', - 'Copy address': 'Copy address', - 'Copy payto URI': 'Copy payto URI', - 'Copied payto address': 'Copied payto address', - 'Copied to clipboard': 'Copied to clipboard', - 'Copied {{label}} address': 'Copied {{label}} address', - 'Lightning payment address – copy to pay via your wallet': - 'Lightning payment address – copy to pay via your wallet', - 'Payment address – copy to use in your wallet or app': - 'Payment address – copy to use in your wallet or app', - 'Click to open payment options': 'Click to open payment options', - 'Click to copy address': 'Click to copy address', - 'Open on website': 'Open on website', - 'Raw profile event': 'Raw profile event', - 'Full profile event': 'Full profile event', - 'Event (JSON)': 'Event (JSON)', - 'Save full profile': 'Save full profile', - 'Add tag': 'Add tag', - 'Remove tag': 'Remove tag', - 'Tag name': 'Tag name', - Value: 'Value', - 'Add value to tag': 'Add value to tag', - 'Remove value': 'Remove value', - 'No tags. Click "Add tag" to add one.': 'No tags. Click "Add tag" to add one.', - 'Profile updated': 'Profile updated', - 'Failed to publish profile': 'Failed to publish profile', - 'Invalid profile JSON': 'Invalid profile JSON', - 'Refresh cache': 'Refresh cache', - 'Force-refresh profile and payment info from relays': - 'Force-refresh profile and payment info from relays', - 'Profile and payment cache refreshed': 'Profile and payment cache refreshed', - 'Failed to refresh cache': 'Failed to refresh cache', - 'Raw payment info event': 'Raw payment info event', - 'Payment info': 'Payment info', - 'Edit payment info': 'Edit payment info', - 'Add payment info': 'Add payment info', - 'No payment info event yet. Click "Add payment info" to create one.': - 'No payment info event yet. Click "Add payment info" to create one.', - 'Content (JSON)': 'Content (JSON)', - Tags: 'Tags', - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])': - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])', - 'Payment info updated': 'Payment info updated', - 'Failed to publish payment info': 'Failed to publish payment info', - 'Invalid tags JSON': 'Invalid tags JSON', - 'Payment methods': 'Payment methods', - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).': - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).', - 'Type (e.g. lightning)': 'Type (e.g. lightning)', - 'Authority (e.g. user@domain.com)': 'Authority (e.g. user@domain.com)', - 'Add payment method': 'Add payment method', - Remove: 'Remove', - 'Additional content (JSON)': 'Additional content (JSON)', - 'Show full event JSON': 'Show full event JSON', - 'Tag list': 'Tag list', - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.': - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.', - 'Tag value': 'Tag value', - 'Saving…': 'Saving…', - 'Share with Imwald': 'แชร์ผ่าน Imwald', - 'Share with Alexandria': 'แชร์ผ่าน Alexandria', - 'Start video call': 'Start video call', - 'Copy call invite link': 'Copy call invite link', - 'Start call about this': 'Start call about this', - 'Send call invite': 'Send call invite', - 'Read this note aloud': 'Read this note aloud', - 'Read-aloud is not supported in this browser': 'Read-aloud is not supported in this browser', - 'Nothing to read aloud': 'Nothing to read aloud', - 'Read-aloud failed': 'Read-aloud failed', - 'Read aloud': 'Read aloud', - 'Read-aloud idle': 'Idle', - 'Preparing read-aloud…': 'Preparing read-aloud…', - 'Requesting audio…': 'Requesting audio…', - 'Loading audio…': 'Loading audio…', - Playing: 'Playing', - Paused: 'Paused', - 'Read-aloud finished': 'Finished', - 'Read-aloud error': 'Error', - 'TTS endpoint': 'TTS endpoint', - 'Using browser speech synthesis': 'Using browser speech synthesis', - 'Read-aloud section progress': 'Section {{current}} of {{total}}', - 'Request sent': 'Request sent', - 'Response received': 'Response received', - 'Playback started': 'Playback started', - Characters: 'Characters', - Pause: 'Pause', - Play: 'Play', - Stop: 'Stop', - 'Read-aloud sections': 'Read-aloud sections', - 'Read-aloud overall progress': 'Overall progress', - 'Read-aloud section done': 'Section {{index}}: finished', - 'Read-aloud section pending': 'Section {{index}}: not started yet', - 'Read-aloud section fetching': 'Section {{index}}: requesting audio', - 'Read-aloud section preparing audio': 'Section {{index}}: loading audio', - 'Read-aloud section playing': 'Section {{index}}: playing', - 'Read-aloud section paused': 'Section {{index}}: paused', - 'Read-aloud legend fetching': 'Requesting audio for this section from the server…', - 'Read-aloud legend buffering': 'Decoding audio for this section…', - 'Read-aloud legend playing': 'Playing this section.', - 'Read-aloud legend paused': 'Playback paused.', - 'Read-aloud Piper fallback notice': - 'Server voice (Piper) could not be used. Playing with your browser voice instead.', - 'Read-aloud Piper fallback detail label': 'Piper error', - 'Read-aloud Piper status region': 'Piper text-to-speech status', - 'Read-aloud Piper status heading': 'Piper (server voice)', - 'Read-aloud Piper skipped notice': - 'No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.', - 'Read-aloud Piper attempt started': - 'Piper was started at {{time}} (this read-aloud used the server first).', - 'Read-aloud Piper endpoint tried': 'URL used: {{url}}', - 'Join the video call': 'Join the video call', - 'Schedule video call': 'Schedule video call', - "You're invited to a scheduled video call.": "You're invited to a scheduled video call.", - 'Create a calendar event and send an invite. The recipient will see the event with a join link.': - 'Create a calendar event and send an invite. The recipient will see the event with a join link.', - 'Schedule a video call': 'Schedule a video call', - 'Create a calendar event and send kind 24 invites to each listed invitee.': - 'Create a calendar event and send kind 24 invites to each listed invitee.', - Invitees: 'Invitees', - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)': - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)', - 'Schedule and send invites': 'Schedule and send invites', - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)': - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)', - 'Scheduled call created and {{count}} invite(s) sent': - 'Scheduled call created and {{count}} invite(s) sent', - 'Join video call': 'Join video call', - 'Scheduled video call': 'Scheduled video call', - 'Video call': 'Video call', - 'Schedule and send invite': 'Schedule and send invite', - 'Scheduling…': 'Scheduling…', - 'Please set a start time': 'Please set a start time', - 'End time must be after start time': 'End time must be after start time', - 'Failed to schedule call': 'Failed to schedule call', - 'Scheduled call created and invite sent': 'Scheduled call created and invite sent', - RSVP: 'RSVP', - 'RSVP: {{status}}': 'RSVP: {{status}}', - Accepted: 'Accepted', - Tentative: 'Tentative', - Declined: 'Declined', - 'You need to log in to RSVP': 'You need to log in to RSVP', - 'RSVP updated': 'RSVP updated', - 'Failed to update RSVP': 'Failed to update RSVP', - Organizer: 'Organizer', - Attendees: 'Attendees', - 'No response': 'No response', - 'Calendar Events': 'Calendar Events', - 'Calendar Event': 'Calendar Event', - 'Schedule in-person meeting': 'Schedule in-person meeting', - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.': - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.', - "You're invited to an in-person meeting.": "You're invited to an in-person meeting.", - 'Meeting created and invite sent': 'Meeting created and invite sent', - 'Failed to create meeting': 'Failed to create meeting', - 'Create and send invite': 'Create and send invite', - 'Creating…': 'Creating…', - 'In-person meeting': 'In-person meeting', - Location: 'Location', - 'Address, venue, or place': 'Address, venue, or place', - Description: 'Description', - 'Optional notes': 'Optional notes', - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.': - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.', - 'Meeting created and {{count}} invite(s) sent': 'Meeting created and {{count}} invite(s) sent', - 'Create and send invites': 'Create and send invites', - Title: 'Title', - Start: 'Start', - End: 'End', - Delete: 'ลบ', - 'Relay already exists': 'รีเลย์มีอยู่แล้ว', - 'invalid relay URL': 'URL รีเลย์ไม่ถูกต้อง', - 'Relay URL…': 'wss://… or relay host', - 'Open relay': 'Open relay', - 'Add a new relay': 'เพิ่มรีเลย์ใหม่', - back: 'ย้อนกลับ', - 'Lost in the void': 'หลงอยู่ในความว่างเปล่า', - 'Carry me home': 'พาฉันกลับบ้าน', - 'no replies': 'ไม่มีการตอบกลับ', - 'Reply to': 'ตอบกลับถึง', - Search: 'ค้นหา', - 'The relays you are connected to do not support search': - 'รีเลย์ที่คุณเชื่อมต่อไม่รองรับการค้นหา', - 'Show more...': 'แสดงเพิ่มเติม...', - 'All users': 'ผู้ใช้ทั้งหมด', - 'Display replies': 'แสดงการตอบกลับ', - Notes: 'โน้ต', - Replies: 'การตอบกลับ', - Gallery: 'แกลเลอรี', - Notifications: 'การแจ้งเตือน', - 'no more notifications': 'ไม่มีการแจ้งเตือนเพิ่มเติม', - 'Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.': - 'การเข้าสู่ระบบด้วยคีย์ส่วนตัวไม่ปลอดภัย แนะนำให้ใช้ส่วนขยายเบราว์เซอร์สำหรับการเข้าสู่ระบบ เช่น alby, nostr-keyx หรือ nos2x หากคุณต้องใช้คีย์ส่วนตัว โปรดตั้งรหัสผ่านเพื่อเข้ารหัสอย่างน้อย', - 'Login with Browser Extension': 'เข้าสู่ระบบด้วยส่วนขยายเบราว์เซอร์', - 'Login with Bunker': 'เข้าสู่ระบบด้วย Bunker', - 'Login with Private Key': 'เข้าสู่ระบบด้วยคีย์ส่วนตัว', - 'Login with npub (read-only)': 'เข้าสู่ระบบด้วย npub (อ่านอย่างเดียว)', - 'reload notes': 'โหลดโน้ตใหม่', - 'Logged in Accounts': 'บัญชีที่เข้าสู่ระบบ', - 'Add an Account': 'เพิ่มบัญชี', - 'More options': 'ตัวเลือกเพิ่มเติม', - 'Add client tag': 'เพิ่มแท็กไคลเอนต์', - 'Show others this was sent via Imwald': 'แสดงให้ผู้อื่นเห็นว่าส่งผ่าน Imwald', - 'Are you sure you want to logout?': 'คุณแน่ใจหรือไม่ว่าต้องการออกจากระบบ?', - 'relay sets': 'ชุดรีเลย์', - edit: 'แก้ไข', - Languages: 'ภาษา', - Theme: 'ธีม', - System: 'ระบบ', - Light: 'สว่าง', - Dark: 'มืด', - Temporary: 'ชั่วคราว', - 'Choose a relay set': 'เลือกชุดรีเลย์', - 'Switch account': 'สลับบัญชี', - Pictures: 'รูปภาพ', - 'Picture note': 'โน้ตรูปภาพ', - 'A special note for picture-first clients like Olas': - 'หมายเหตุพิเศษสำหรับไคลเอนต์ที่เน้นรูปภาพเช่น Olas', - 'Picture note requires images': 'โน้ตรูปภาพต้องมีรูปภาพ', - Relays: 'รีเลย์', - Image: 'รูปภาพ', - 'Upload Image': 'Upload Image', - 'Insert emoji': 'Insert emoji', - 'Insert GIF': 'Insert GIF', - 'Insert meme': 'Insert meme', - 'Search GIFs': 'Search GIFs', - 'Search memes': 'Search memes', - 'Choose a GIF': 'Choose a GIF', - 'Choose a meme': 'Choose a meme', - 'Search GifBuddy for more GIFs': 'Search GifBuddy for more GIFs', - 'Add your own GIFs': 'Add your own GIFs', - 'Add your own meme templates': 'Add your own meme templates', - 'Description (optional, for search)': 'Description (optional, for search)', - 'e.g. happy birthday, thumbs up': 'e.g. happy birthday, thumbs up', - 'e.g. drake, distracted boyfriend': 'e.g. drake, distracted boyfriend', - 'Uploading...': 'Uploading...', - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.': - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.', - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).': - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).', - 'Failed to publish meme template for the picker': - 'Failed to publish meme template for the picker', - '{{name}} is not a GIF file': '{{name}} is not a GIF file', - '{{name}} is not a JPEG, PNG, or WebP file': '{{name}} is not a JPEG, PNG, or WebP file', - 'R & W': 'อ่าน & เขียน', - Read: 'อ่าน', - Write: 'เขียน', - 'Pull relay sets': 'ดึงชุดรีเลย์', - 'Select the relay sets you want to pull': 'เลือกชุดรีเลย์ที่ต้องการดึง', - 'No relay sets found': 'ไม่พบชุดรีเลย์', - 'Pull n relay sets': 'ดึงชุดรีเลย์ {{n}} ชุด', - Pull: 'ดึง', - 'Select all': 'เลือกทั้งหมด', - 'Relay Sets': 'ชุดรีเลย์', - 'Read & Write Relays': 'รีเลย์อ่านและเขียน', - 'read relays description': - 'รีเลย์อ่านใช้สำหรับค้นหาเหตุการณ์เกี่ยวกับคุณ ผู้ใช้อื่นจะเผยแพร่เหตุการณ์ที่ต้องการให้คุณเห็นไปยังรีเลย์อ่านของคุณ', - 'write relays description': - 'รีเลย์เขียนใช้สำหรับเผยแพร่เหตุการณ์ของคุณ ผู้ใช้อื่นจะค้นหาเหตุการณ์ของคุณจากรีเลย์เขียนของคุณ', - 'read & write relays notice': 'จำนวนเซิร์ฟเวอร์อ่านและเขียนควรอยู่ระหว่าง 2 ถึง 4', - "Don't have an account yet?": 'ยังไม่มีบัญชี?', - 'or simply generate a private key': 'หรือสร้างคีย์ส่วนตัว', - 'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.': - 'นี่คือคีย์ส่วนตัว อย่าแบ่งปันกับใคร เก็บไว้ให้ปลอดภัย หากสูญหายจะไม่สามารถกู้คืนได้', - Edit: 'แก้ไข', - Save: 'บันทึก', - 'Display Name': 'ชื่อที่แสดง', - Bio: 'ประวัติ', - 'Nostr Address (NIP-05)': 'ที่อยู่ Nostr (NIP-05)', - 'Invalid NIP-05 address': 'ที่อยู่ NIP-05 ไม่ถูกต้อง', - 'Copy private key': 'คัดลอกคีย์ส่วนตัว', - 'Enter the password to decrypt your ncryptsec': 'กรอกรหัสผ่านเพื่อถอดรหัส ncryptsec ของคุณ', - Back: 'ย้อนกลับ', - 'optional: encrypt nsec': 'ตัวเลือก: เข้ารหัส nsec', - password: 'รหัสผ่าน', - 'Sign up': 'สมัครสมาชิก', - 'Save to': 'บันทึกไปที่', - 'Enter a name for the new relay set': 'กรอกชื่อชุดรีเลย์ใหม่', - 'Save to a new relay set': 'บันทึกไปยังชุดรีเลย์ใหม่', - Mute: 'ปิดเสียง', - Muted: 'ปิดเสียงแล้ว', - Unmute: 'ยกเลิกปิดเสียง', - 'Unmute user': 'ยกเลิกปิดเสียงผู้ใช้', - Block: 'Block', - Unblock: 'Unblock', - blocked: 'blocked', - 'Append n relays': 'เพิ่มรีเลย์ {{n}}', - Append: 'เพิ่ม', - 'Select relays to append': 'เลือกรีเลย์ที่จะเพิ่ม', - 'calculating...': 'กำลังคำนวณ...', - 'Calculate optimal read relays': 'คำนวณรีเลย์อ่านที่เหมาะสม', - 'Login to set': 'เข้าสู่ระบบเพื่อกำหนด', - 'Please login to view following feed': 'กรุณาเข้าสู่ระบบเพื่อดูฟีดที่ติดตาม', - 'Follow set': 'Follow set', - 'Follow set feed empty': - 'This NIP-51 list is empty, was not found, or relays could not load it yet.', - 'Send only to r': 'ส่งเฉพาะไปยัง {{r}}', - 'Send only to these relays': 'ส่งเฉพาะไปยังรีเลย์เหล่านี้', - Explore: 'สำรวจ', - 'Relay reviews': 'รีวิวรีเลย์', - 'Search relays': 'ค้นหารีเลย์', - relayInfoBadgeAuth: 'ยืนยันตัวตน', - relayInfoBadgeSearch: 'ค้นหา', - relayInfoBadgePayment: 'ชำระเงิน', - Operator: 'ผู้ดำเนินการ', - Contact: 'ติดต่อ', - Software: 'ซอฟต์แวร์', - Version: 'เวอร์ชัน', - 'Random Relays': 'รีเลย์สุ่ม', - randomRelaysRefresh: 'รีเฟรช', - 'Explore more': 'สำรวจเพิ่มเติม', - 'Payment page': 'หน้าชำระเงิน', - 'Supported NIPs': 'NIP ที่รองรับ', - 'Relay liveliness (NIP-66)': 'Relay liveliness (NIP-66)', - 'Relay monitor (NIP-66)': 'Relay monitor (NIP-66)', - 'Auth required': 'Auth required', - 'Public (no auth)': 'Public (no auth)', - 'Payment required': 'Payment required', - 'No payment': 'No payment', - 'Writes required': 'Writes required', - 'Writes open': 'Writes open', - 'PoW required': 'PoW required', - 'No PoW': 'No PoW', - 'RTT open': 'RTT open', - 'RTT read': 'RTT read', - 'RTT write': 'RTT write', - 'Supported NIPs (from monitor)': 'Supported NIPs (from monitor)', - 'Last reported by monitor': 'Last reported by monitor', - Network: 'Network', - Type: 'Type', - Topics: 'Topics', - 'Open in a': 'เปิดใน {{a}}', - 'Cannot handle event of kind k': 'ไม่สามารถจัดการเหตุการณ์ประเภท {{k}}', - 'Unsupported event preview': - 'There isn’t a dedicated card for this event type yet. Here’s a readable preview.', - 'No text content in event': 'No text in this event.', - 'Technical details': 'Technical details', - 'Event kind and time': 'Kind {{kind}} · {{time}}', - 'Event kind label': 'Kind {{kind}}', - 'Note kind label line': 'KIND: {{kind}} · {{description}}', - 'Unknown note declared kind tag': 'Tagged kind: {{value}}', - 'Unknown note tagged pubkey': 'Tagged pubkey', - 'Unknown note tagged content': 'Content', - 'Unknown note reference tags': 'Reference tags (e, p, q, a)', - 'Starred spells': 'Starred spells', - 'Spell star add title': 'Star spell (adds to your Nostr bookmarks)', - 'Spell star remove title': 'Unstar spell (removes from your Nostr bookmarks)', - 'Copy JSON': 'Copy JSON', - Verse: 'Verse', - 'Notification reaction summary': 'reacted to this note.', - 'Notification discussion upvote summary': 'upvoted in this discussion.', - 'Notification discussion downvote summary': 'downvoted in this discussion.', - 'Notification boost summary': 'Boosted this note', - 'Notification boost detail': 'The preview above is the original post.', - 'Notification poll vote summary': 'Voted on the poll above.', - 'Notification poll vote options count': '{{count}} option(s) selected', - 'Imwald synthetic event': 'Imwald synthetic event', - '+ Add a URL to this list': 'Add a URL to this list', - 'Add a web URL': 'Add a web URL', - 'Add web URL to feed description': - 'Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.', - 'Add to feed': 'Add to feed', - 'Open any https page in the side panel to reply, react, and discuss on Nostr.': - 'Open any https page in the side panel to reply, react, and discuss on Nostr.', - 'Enter a valid http(s) URL': 'Enter a valid http(s) URL', - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.': - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.', - 'Open in browser': 'Open in browser', - 'Web page': 'Web page', - Open: 'Open', - 'Sorry! The note cannot be found 😔': 'ขออภัย! ไม่พบโน้ต 😔', - 'This user has been muted': 'ผู้ใช้นี้ถูกปิดเสียง', - Wallet: 'กระเป๋าสตางค์', - Sats: 'ซาตส์', - sats: 'ซาตส์', - 'Zap to': 'ส่งซาตส์ไปยัง', - 'Zap n sats': 'ส่ง {{n}} ซาตส์', - zapComment: 'ความคิดเห็น', - 'Default zap amount': 'จำนวนซาตส์เริ่มต้น', - 'Default zap comment': 'ความคิดเห็นเริ่มต้น', - 'Lightning Address (or LNURL)': 'ที่อยู่ Lightning (หรือ LNURL)', - 'Quick zap': 'ส่งซาตส์ด่วน', - 'If enabled, you can zap with a single click. Click and hold for custom amounts': - 'หากเปิดใช้งาน คุณสามารถส่งซาตส์ด้วยคลิกเดียว กดค้างเพื่อกำหนดจำนวนเอง', - All: 'ทั้งหมด', - Reactions: 'ปฏิกิริยา', - Zaps: 'ซาตส์', - Boosts: 'บูสต์', - Badges: 'Badges', - Reports: 'Reports', - 'Enjoying Imwald?': 'ชอบ Imwald ไหม?', - 'Your donation helps me maintain Imwald and make it better! 😊': - 'การบริจาคของคุณช่วยให้ฉันดูแลและพัฒนา Imwald ให้ดีขึ้น! 😊', - 'Earlier notifications': 'การแจ้งเตือนก่อนหน้า', - 'Temporarily display this note': 'แสดงโน้ตนี้ชั่วคราว', - buttonFollowing: 'กำลังติดตาม', - 'Are you sure you want to unfollow this user?': 'คุณแน่ใจหรือไม่ว่าต้องการเลิกติดตามผู้ใช้นี้?', - 'Recent Supporters': 'ผู้สนับสนุนล่าสุด', - 'Seen on': 'เห็นเมื่อ', - 'Temporarily display this reply': 'แสดงการตอบกลับนี้ชั่วคราว', - 'Note not found': 'ไม่พบโน้ต', - 'Invalid embedded note reference': 'Invalid embedded note reference', - embeddedNoteInvalidEmpty: 'This embedded link is empty.', - embeddedNoteInvalidHex: - 'This is not a valid hex event id (expected exactly 64 hexadecimal characters).', - embeddedNoteInvalidBech32: - 'This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.', - embeddedNoteInvalidWrongKind: - 'This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.', - 'The note was not found on your relays or default relays.': - 'The note was not found on your relays or default relays.', - "Try searching author's relays": "Try searching author's relays", - 'Searching external relays...': 'Searching external relays...', - "This will connect to the author's relays and relay hints": - "This will connect to the author's relays and relay hints", - 'Note could not be found anywhere': 'Note could not be found anywhere', - 'Try external relays': 'Try external relays', - 'Searching...': 'Searching...', - 'Show relays': 'Show relays', - 'No external relay hints available': 'No external relay hints available', - 'External relay search is not available for this link type': - 'External relay search is not available for this link type.', - 'Searched external relays not found': - 'Searched {{count}} external relays; the note was still not found.', - 'no more replies': 'ไม่มีการตอบกลับเพิ่มเติม', - 'Relay sets': 'ชุดรีเลย์', - 'Search for Relays': 'Search for Relays', - 'Using app default relays': 'Using app default relays', - "Following's Favorites": 'รายการโปรดของผู้ที่ติดตาม', - 'no more relays': 'ไม่มีรีเลย์เพิ่มเติม', - 'Favorited by': 'ถูกเพิ่มเป็นรายการโปรดโดย', - 'Post settings': 'การตั้งค่าโพสต์', - 'Publishing feedback': 'Publishing feedback', - 'Publish success toasts': 'Publish success toasts', - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.': - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.', - 'Publish successful': 'Publish successful', - 'Media upload service': 'บริการอัปโหลดสื่อ', - 'Choose a relay': 'เลือกรีเลย์', - 'no relays found': 'ไม่พบรีเลย์', - video: 'วิดีโอ', - 'Show n new notes': 'แสดงโน้ตใหม่ {{n}} รายการ', - YouTabName: 'คุณ', - Bookmark: 'บุ๊กมาร์ก', - 'Remove bookmark': 'ลบบุ๊กมาร์ก', - 'no bookmarks found': 'ไม่พบบุ๊กมาร์ก', - 'no more bookmarks': 'ไม่มีบุ๊กมาร์กเพิ่มเติม', - Bookmarks: 'บุ๊กมาร์ก', - 'Follow Packs': 'Follow Packs', - 'Follow Pack': 'Follow Pack', - 'Follow pack by': 'by', - 'In Follow Packs': 'In Follow Packs', - 'Badge details': 'Badge details', - 'Issued by': 'Issued by', - 'Other recipients': 'Other recipients', - 'No other recipients found': 'No other recipients found', - 'Recipients could not be loaded': 'Recipients could not be loaded', - 'View award': 'View award', - 'Awarded on': 'Awarded on', - 'Please log in to follow': 'Please log in to follow', - 'Following All': 'Following All', - 'Followed {{count}} users': 'Followed {{count}} users', - 'All available members are already followed or muted': - 'All available members are already followed or muted', - 'You are already following all members of this pack': - 'You are already following all members of this pack', - 'Failed to follow pack': 'Failed to follow pack', - '{{count}} profiles': '{{count}} profiles', - 'Show more': 'แสดงเพิ่มเติม', - General: 'ทั่วไป', - Autoplay: 'เล่นอัตโนมัติ', - 'Enable video autoplay on this device': 'เปิดใช้งานเล่นวิดีโออัตโนมัติบนอุปกรณ์นี้', - 'liveActivities.heading': 'Live now', - 'liveActivities.regionLabel': 'Live spaces and streams', - 'liveActivities.fromFollow': 'From someone you follow', - 'liveActivities.goToSlide': 'Show live item {{n}}', - 'liveActivities.settingsToggle': 'Live activities banner', - 'liveActivities.settingsHint': - 'Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.', - 'Add random relays to every publish': 'Random relays in publish list', - 'Add random relays to every publish description': - 'Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.', - relayType_local: 'Local', - relayType_relay_list: 'Relay list', - relayType_http_relay_list: 'HTTP', - 'HTTP relays': 'HTTP relays', - httpRelaysDescription: - 'HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.', - 'HTTP relays saved': 'HTTP relays saved', - 'Failed to save HTTP relay list': 'Failed to save HTTP relay list', - 'HTTP relays must start with https:// or http://': - 'HTTP relays must start with https:// or http://', - relayType_client_default: 'Client default', - relayType_open_from: 'Current feed', - relayType_favorite: 'Favorite', - relayType_relay_set: 'Relay set', - relayType_contextual: 'Reply/PM', - relayType_randomly_selected: 'Random (optional)', - 'Session relays': 'Session relays', - 'Session relays tab description': - 'Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish).', - 'Session relays preset working': 'Working preset relays', - 'Session relays preset working hint': - 'Preset relays (from app defaults) that have not reached 3 publish failures this session.', - 'Session relays preset striked': 'Striked preset relays', - 'Session relays preset striked hint': - 'Preset relays that have reached 3 publish failures this session and are skipped for the rest of the session.', - 'Session relays scored random': 'Scored random relays', - 'Session relays scored random hint': - 'Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.', - 'Session relays all striked': 'All striked relays (any source)', - 'Session relays clear strike': 'Allow again', - 'Session relays clear strike hint': - 'Remove this relay from the session block list; it will be used again until new connection failures.', - successes: 'successes', - None: 'None', - 'Cache & offline storage': 'Cache & offline storage', - feedStarting: 'Starting feeds and relays… This can take a few seconds after login.', - refreshCacheButtonExplainer: - 'Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.', - 'eventArchive.sectionTitle': 'Notes & feed archive', - 'eventArchive.sectionBlurb': - 'Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.', - 'eventArchive.defaultsMobile': - 'This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).', - 'eventArchive.defaultsElectron': - 'Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.defaultsDesktopWeb': - 'Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.enablePersist': 'Persist feed events to disk', - 'eventArchive.maxMb': 'Max archive size (MB), blank = default for this device', - 'eventArchive.maxEvents': 'Max archived events, blank = default', - 'eventArchive.sessionLru': 'In-memory session cache (event count), blank = default', - 'eventArchive.effectiveSummary': - 'Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.', - 'eventArchive.on': 'on', - 'eventArchive.off': 'off', - 'eventArchive.apply': 'Apply cache settings', - 'eventArchive.appliedToast': 'Cache settings saved. Session memory updated.', - 'Paste or drop media files to upload': 'วางหรือหย่อนไฟล์สื่อเพื่ออัปโหลด', - Preview: 'ดูตัวอย่าง', - 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'คุณกำลังจะเผยแพร่เหตุการณ์ที่ลงนามโดย [{{eventAuthorName}}] ขณะนี้คุณเข้าสู่ระบบเป็น [{{currentUsername}}] คุณแน่ใจหรือไม่?', - 'Platinum Sponsors': 'ผู้สนับสนุนระดับแพลตินัม', - From: 'จาก', - 'Comment on': 'แสดงความคิดเห็นใน', - 'View on njump.me': 'ดูบน njump.me', - 'Hide content from untrusted users': 'ซ่อนเนื้อหาจากผู้ใช้ที่ไม่น่าเชื่อถือ', - 'Only show content from your followed users and the users they follow': - 'แสดงเฉพาะเนื้อหาจากผู้ใช้ที่คุณติดตามและผู้ใช้ที่พวกเขาติดตาม', - 'Followed by': 'ติดตามโดย', - 'Mute user privately': 'ปิดเสียงผู้ใช้แบบส่วนตัว', - 'Mute user publicly': 'ปิดเสียงผู้ใช้แบบสาธารณะ', - Quotes: 'คำพูด', - 'Lightning Invoice': 'ใบแจ้งหนี้ Lightning', - 'Bookmark failed': 'บุ๊กมาร์กไม่สำเร็จ', - 'Remove bookmark failed': 'ลบบุ๊กมาร์กไม่สำเร็จ', - Translation: 'การแปล', - Balance: 'ยอดคงเหลือ', - characters: 'ตัวอักษร', - translateApiKeyDescription: - 'คุณสามารถใช้ API key นี้กับที่อื่นที่รองรับ LibreTranslate ที่อยู่บริการคือ {{serviceUrl}}', - 'Top up': 'เติมเงิน', - 'Will receive: {n} characters': 'จะได้รับ: {{n}} ตัวอักษร', - 'Top up {n} sats': 'เติมเงิน {{n}} ซาตส์', - 'Minimum top up is {n} sats': 'เติมเงินขั้นต่ำ {{n}} ซาตส์', - Service: 'บริการ', - 'Reset API key': 'รีเซ็ต API key', - 'Are you sure you want to reset your API key? This action cannot be undone.': - 'คุณแน่ใจหรือไม่ว่าต้องการรีเซ็ต API key? การกระทำนี้ไม่สามารถย้อนกลับได้', - Warning: 'คำเตือน', - 'Errors & warnings': 'Errors & warnings', - 'Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.': - 'API key ปัจจุบันของคุณจะใช้ไม่ได้ทันที และแอปพลิเคชันที่ใช้งานจะหยุดทำงานจนกว่าคุณจะอัปเดตด้วยคีย์ใหม่', - 'Service address': 'ที่อยู่บริการ', - Pay: 'ชำระเงิน', - interactions: 'การโต้ตอบ', - notifications: 'การแจ้งเตือน', - notificationsViewAsAccount: 'View as', - notificationsViewAsAccountAria: - 'Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.', - notificationsSwitchAccountFailed: - 'Could not switch account. Check your signer, password, or extension and try again.', - 'Show untrusted {type}': 'แสดง {{type}} ที่ไม่น่าเชื่อถือ', - 'Hide untrusted {type}': 'ซ่อน {{type}} ที่ไม่น่าเชื่อถือ', - 'Currently hiding {type} from untrusted users.': - 'ขณะนี้กำลังซ่อน {{type}} จากผู้ใช้ที่ไม่น่าเชื่อถือ', - 'Currently showing all {type}.': 'ขณะนี้แสดง {{type}} ทั้งหมด', - 'Click continue to show all {type}.': 'คลิกดำเนินการต่อเพื่อแสดง {{type}} ทั้งหมด', - 'Click continue to hide {type} from untrusted users.': - 'คลิกดำเนินการต่อเพื่อซ่อน {{type}} จากผู้ใช้ที่ไม่น่าเชื่อถือ', - 'Trusted users include people you follow and people they follow.': - 'ผู้ใช้ที่เชื่อถือได้รวมถึงผู้ที่คุณติดตามและผู้ที่พวกเขาติดตาม', - Continue: 'ดำเนินการต่อ', - 'Successfully updated mute list': 'อัปเดตรายการปิดเสียงสำเร็จ', - 'No pubkeys found from {url}': 'ไม่พบ pubkeys จาก {{url}}', - 'Translating...': 'กำลังแปล...', - Translate: 'แปล', - 'Show original': 'แสดงต้นฉบับ', - Website: 'เว็บไซต์', - 'Hide untrusted notes': 'ซ่อนโน้ตที่ไม่น่าเชื่อถือ', - 'Open in another client': 'เปิดในไคลเอนต์อื่น', - Community: 'ชุมชน', - Group: 'กลุ่ม', - 'Live event': 'เหตุการณ์สด', - Article: 'บทความ', - Unfavorite: 'เลิกชื่นชอบ', - 'Recommended relays': 'รีเลย์ที่แนะนำ', - 'Show recommended relays panel': 'Show recommended relays panel', - 'Display the right-side panel with recommended relays on desktop': - 'Display the right-side panel with recommended relays on desktop', - 'Blossom server URLs': 'URL ของเซิร์ฟเวอร์ Blossom', - 'You need to add at least one blossom server in order to upload media files.': - 'คุณต้องเพิ่มเซิร์ฟเวอร์ Blossom อย่างน้อยหนึ่งตัวเพื่ออัปโหลดไฟล์สื่อ', - 'Recommended blossom servers': 'เซิร์ฟเวอร์ Blossom ที่แนะนำ', - 'Enter Blossom server URL': 'ป้อน URL ของเซิร์ฟเวอร์ Blossom', - Preferred: 'ที่ชื่นชอบ', - 'Multiple choice (select one or more)': 'ตัวเลือกหลายรายการ (เลือกหนึ่งหรือมากกว่า)', - Vote: 'โหวต', - '{{number}} votes': '{{number}} คะแนน', - 'Total votes': 'คะแนนรวม', - 'Poll has ended': 'การโพลล์สิ้นสุดแล้ว', - 'Poll ends at {{time}}': 'การโพลล์สิ้นสุดเวลา {{time}}', - 'Load results': 'โหลดผลลัพธ์', - 'This is a poll note.': 'นี่คือโน้ตโพลล์', - 'Unlike regular notes, polls are not widely supported and may not display on other clients.': - 'ไม่เหมือนโน้ตธรรมดา โพลล์ไม่ได้รับการสนับสนุนอย่างแพร่หลายและอาจไม่แสดงในไคลเอนต์อื่น', - 'Option {{number}}': 'ตัวเลือก {{number}}', - 'Add Option': 'เพิ่มตัวเลือก', - 'Allow multiple choices': 'อนุญาตให้เลือกหลายรายการ', - 'End Date (optional)': 'วันที่สิ้นสุด (ไม่บังคับ)', - 'Clear end date': 'ล้างวันที่สิ้นสุด', - 'Relay URLs (optional, comma-separated)': 'URL รีเลย์ (ไม่บังคับ, คั่นด้วยจุลภาค)', - 'Remove poll': 'ลบโพลล์', - 'Refresh results': 'รีเฟรชผลลัพธ์', - '{{votes}} · {{pct}}%': '{{votes}} · {{pct}}%', - 'See results': 'See results', - 'Zap poll (paid votes)': 'Zap poll (paid votes)', - 'Invalid zap poll': 'Invalid zap poll', - 'You voted on this poll (zap receipt)': 'You voted on this poll (zap receipt)', - 'Poll closed {{time}}': 'Poll closed {{time}}', - 'Closes {{time}}': 'Closes {{time}}', - 'Vote size': 'Vote size', - '{{n}} sats (fixed)': '{{n}} sats (fixed)', - '{{min}}–{{max}} sats': '{{min}}–{{max}} sats', - '≥ {{n}} sats': '≥ {{n}} sats', - '≤ {{n}} sats': '≤ {{n}} sats', - 'Loading tally…': 'Loading tally…', - 'Zap poll no votes yet': - 'No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).', - 'Consensus threshold': 'Consensus threshold', - 'Pay to': 'Pay to', - Recipient: 'Recipient', - Option: 'Option', - 'Select option': 'Select option', - 'Select an option': 'Select an option', - 'Vote with zap': 'Vote with zap', - 'Zap sent': 'Zap sent', - 'Zapping…': 'Zapping…', - 'Refresh tally': 'Refresh tally', - '{{n}} zaps': '{{n}} zaps', - Poll: 'โพลล์', - Media: 'สื่อ', - 'Articles and Publications': 'Articles and Publications', - 'Search articles...': 'Search articles...', - 'Refreshing articles...': 'Refreshing articles...', - 'No articles or publications found': 'No articles or publications found', - 'No articles or publications match your search': - 'No articles or publications match your search', - 'articles and publications': 'articles and publications', - Interests: 'Interests', - Calendar: 'Calendar', - 'No subscribed interests yet.': - 'No subscribed interests yet. Add topics in settings to see them here.', - 'No bookmarked notes with id tags yet.': - 'No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.', - 'No follows or relays to load yet.': 'No follows or relays to load yet.', - 'Nothing to load for this feed.': 'Nothing to load for this feed.', - 'No posts loaded for this feed. Try refreshing.': - 'No posts loaded for this feed. Try refreshing.', - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.': - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.', - 'Per-relay timeline results ({{count}} connections)': - 'Per-relay timeline results ({{count}} connections)', - 'Republish to ...': 'เผยแพร่ซ้ำไปยัง ...', - 'All available relays': 'All available relays', - 'All active relays (monitoring list)': 'All active relays (monitoring list)', - 'Successfully republish to all available relays': - 'Successfully republish to all available relays', - 'Failed to republish to all available relays: {{error}}': - 'Failed to republish to all available relays: {{error}}', - 'Successfully republish to all active relays': 'Successfully republish to all active relays', - 'Failed to republish to all active relays: {{error}}': - 'Failed to republish to all active relays: {{error}}', - 'No active relays in monitoring list': 'No active relays in monitoring list', - 'No relay accepted the event': 'No relay accepted the event', - 'No relays available': 'No relays available', - 'No write relays configured': 'No write relays configured', - 'Relay did not accept the event': 'Relay did not accept the event', - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".': - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".', - 'Successfully republish to your write relays': 'Successfully republish to your write relays', - 'Failed to republish to your write relays: {{error}}': - 'Failed to republish to your write relays: {{error}}', - 'Successfully republish to relay set: {{name}}': - 'Successfully republish to relay set: {{name}}', - 'Failed to republish to relay set: {{name}}. Error: {{error}}': - 'Failed to republish to relay set: {{name}}. Error: {{error}}', - 'Successfully republish to relay: {{url}}': 'Successfully republish to relay: {{url}}', - 'Failed to republish to relay: {{url}}. Error: {{error}}': - 'Failed to republish to relay: {{url}}. Error: {{error}}', - 'Write relays': 'รีเลย์การเขียน', - 'No more reactions': 'ไม่มีปฏิกิริยาเพิ่มเติม', - 'No reactions yet': 'ยังไม่มีปฏิกิริยา', - 'No more zaps': 'ไม่มีซาตส์เพิ่มเติม', - 'No zaps yet': 'ยังไม่มีซาตส์', - 'No more boosts': 'ไม่มีบูสต์เพิ่มเติม', - 'No boosts yet': 'ยังไม่มีบูสต์', - 'n more boosts': '{{count}} more boosts', - FollowListNotFoundConfirmation: - 'ไม่พบรายการติดตาม คุณต้องการสร้างรายการใหม่หรือไม่? หากคุณเคยติดตามผู้ใช้มาก่อน กรุณาอย่ายืนยัน เพราะการดำเนินการนี้จะทำให้คุณสูญเสียรายการติดตามก่อนหน้านี้', - MuteListNotFoundConfirmation: - 'ไม่พบรายการปิดเสียง คุณต้องการสร้างรายการใหม่หรือไม่? หากคุณเคยปิดเสียงผู้ใช้มาก่อน กรุณาอย่ายืนยัน เพราะการดำเนินการนี้จะทำให้คุณสูญเสียรายการปิดเสียงก่อนหน้านี้', - 'Show NSFW content by default': 'แสดงเนื้อหา NSFW โดยค่าเริ่มต้น', - 'Custom emoji management': 'จัดการอีโมจิที่กำหนดเอง', - 'After changing emojis, you may need to refresh the page': - 'หลังจากเปลี่ยนอีโมจิแล้ว คุณอาจต้องรีเฟรชหน้า', - 'Too many read relays': 'Too many read relays', - 'Too many write relays': 'Too many write relays', - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.', - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.': - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.', - 'Optimize Relay Settings': 'ปรับแต่งการตั้งค่า Relay ให้เหมาะสม', - 'Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.': - 'การตั้งค่า relay ปัจจุบันของคุณอาจไม่เหมาะสม อาจทำให้คนอื่นหาโพสต์ของคุณได้ยากและอาจส่งผลให้การแจ้งเตือนไม่สมบูรณ์', - 'Optimize Now': 'ปรับแต่งตอนนี้', - 'Maybe Later': 'ทีหลังค่อยว่า', - "Don't remind me again": 'ไม่ต้องเตือนอีก', - Posts: 'โพสต์', - 'Posts (OPs)': 'Posts (OPs)', - 'Kind 1 replies': 'Kind 1 replies', - Comments: 'Comments', - 'Replies & comments': 'Replies & comments', - Articles: 'บทความ', - Highlights: 'ไฮไลต์', - 'A note from': 'A note from', - Polls: 'โพล', - 'Zap polls': 'Zap polls', - 'Voice Posts': 'โพสต์เสียง', - 'Photo Posts': 'โพสต์รูปภาพ', - 'Video Posts': 'โพสต์วิดีโอ', - 'Git repositories': 'Git repositories', - 'Git issues': 'Git issues', - 'Git releases': 'Git releases', - 'Git Republic repository': 'Git Republic repository', - 'Git Republic issue': 'Git Republic issue', - 'Git Republic release': 'Git Republic release', - 'Git Republic event': 'Git Republic event', - 'Git Republic': 'Git Republic', - 'Open in Git Republic': 'Open in Git Republic', - 'Pre-release': 'Pre-release', - Draft: 'Draft', - 'Repository release': 'Repository release', - 'New Repository Release': 'New Repository Release', - 'Release notes use the editor below (optional).': - 'Release notes use the editor below (optional).', - 'Repository owner (npub or hex)': 'Repository owner (npub or hex)', - 'Repository id (d-tag)': 'Repository id (d-tag)', - 'Git tag name': 'Git tag name', - 'Tag target (40-char commit hash)': 'Tag target (40-character commit hash)', - '40-character hex SHA-1': '40-character hex SHA-1', - 'Release title': 'Release title', - 'Download URL': 'Download URL', - 'Draft release': 'Draft release', - 'Fill repository release fields': 'Fill in all required repository release fields.', - 'Invalid repository owner pubkey': 'Invalid repository owner (use npub or 64-char hex).', - 'Citations require private relays (NIP-65).': - 'Citations require private outbox relays (NIP-65).', - 'Select All': 'เลือกทั้งหมด', - 'Clear All': 'ล้างทั้งหมด', - 'Set as default filter': 'ตั้งเป็นตัวกรองเริ่มต้น', - 'Use filter': 'Use filter', - 'See all events': 'See all events', - 'See all events hint': - 'Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.', - 'Use filter hint': 'Only the kinds you select below are requested and shown.', - Apply: 'ใช้', - Reset: 'รีเซ็ต', - 'Share something on this Relay': 'แชร์บางอย่างบนรีเลย์นี้', - 'Try deleting this note': 'ลองลบโน้ตนี้ดู', - 'Deletion request sent to {{count}} relays': 'คำขอลบถูกส่งไปยังรีเลย์ {{count}} รายการ', - 'Suitable Relays': 'รีเลย์ที่เหมาะสม', - 'People, keywords, or relays': 'ผู้คน คีย์เวิร์ด หรือรีเลย์', - 'Hide content mentioning muted users': 'ซ่อนเนื้อหาที่กล่าวถึงผู้ใช้ที่ปิดเสียง', - 'This note mentions a user you muted': 'โน้ตนี้กล่าวถึงผู้ใช้ที่คุณปิดเสียง', - Filter: 'ตัวกรอง', - 'Feed filter': 'Feed filter', - 'Search loaded posts': 'Search loaded posts', - 'Filter loaded posts placeholder': 'Filter by text in content or tags…', - 'Feed filter author': 'Author', - 'Feed filter author everyone': 'From everyone', - 'Feed filter author me': 'Only from me', - 'Feed filter author npub': 'From user (npub or hex)', - 'Feed filter author npub from prefix': 'from:', - 'Feed filter author npub placeholder': 'npub1… or 64-char hex', - 'Feed filter author me needs login': 'Log in to filter by your pubkey', - 'Within the last': 'Within the last', - 'Time unit': 'Time unit', - Minutes: 'Minutes', - Days: 'Days', - Weeks: 'Weeks', - Months: 'Months', - Years: 'Years', - 'Feed filter client-side hint': - 'Filters only apply to posts already loaded; relays are not queried again.', - 'Feed full search': 'Perform full search', - 'Feed full search running': 'Searching…', - 'Feed full search clear': 'Clear', - 'Feed full search active hint': - 'Showing relay search results. Clear to return to the live feed.', - 'Feed full search need constraint': - 'Add search text, an author filter, or a time range before searching relays.', - 'Feed full search invalid feed': 'This feed cannot run a relay search.', - 'Feed full search failed': 'Relay search failed. Try again.', - 'Feed full search empty': 'No matching posts were found on the queried relays.', - 'No loaded posts match your filters.': 'No loaded posts match your filters.', - 'mentioned you in a note': 'ได้กล่าวถึงคุณในโน้ต', - 'quoted your note': 'ได้ยกคำพูดจากโน้ตของคุณ', - 'quoted this note': 'Quoted this note', - 'highlighted this note': 'Highlighted this note', - 'cited in article': 'Cited in article', - 'Thread backlinks heading': 'Also quoting this note', - 'Thread backlinks primary section': 'Quotes, highlights & citations', - 'Thread backlinks bookmarks section': 'Bookmarks', - 'Thread backlinks lists section': 'Lists & collections', - 'View full note and thread': 'View full note and thread', - 'labeled this note': 'Labeled this note', - 'reported this note': 'Reported this note', - 'bookmarked this note': 'Bookmarked this note', - 'pinned this note': 'Pinned this note', - 'listed this note': 'Listed this note', - 'bookmark set reference': 'Bookmark set includes this note', - 'curated this note': 'Curated this note', - 'badge award for this note': 'Badge award for this note', - 'referenced this note': 'Referenced this note', - 'Report events heading': 'Moderation reports', - 'voted in your poll': 'ได้โหวตในการสำรวจของคุณ', - 'reacted to your note': 'ได้แสดงปฏิกิริยาต่อโน้ตของคุณ', - 'boosted your note': 'ได้บูสต์โน้ตของคุณ', - 'zapped your note': 'ได้แซปโน้ตของคุณ', - 'zapped you': 'ได้แซปคุณ', - zapped: 'zapped', - 'Invalid zap receipt': 'Invalid zap receipt', - 'Zapped note': 'Zapped note', - 'Zapped profile': 'Zapped profile', - 'Zap reply threshold': 'Zap reply threshold', - 'Zaps above this amount will appear as replies in threads': - 'Zaps above this amount will appear as replies in threads', - 'Mark as read': 'ทำเครื่องหมายว่าอ่านแล้ว', - Report: 'รายงาน', - 'Successfully report': 'รายงานสำเร็จ', - 'Failed to report': 'การรายงานล้มเหลว', - nudity: 'ภาพลามก', - malware: 'มัลแวร์', - profanity: 'คำหยาบคาย', - illegal: 'เนื้อหาผิดกฎหมาย', - spam: 'สแปม', - other: 'อื่นๆ', - 'Notification list style': 'รูปแบบรายการการแจ้งเตือน', - 'See extra info for each notification': 'ดูข้อมูลเพิ่มเติมสำหรับการแจ้งเตือนแต่ละรายการ', - 'See more notifications at a glance': 'ดูการแจ้งเตือนเพิ่มเติมในแวบเดียว', - Detailed: 'รายละเอียด', - 'Submit Relay': 'ส่งรีเลย์', - Homepage: 'หน้าแรก', - 'Proof of Work (difficulty {{minPow}})': 'หลักฐานการทำงาน (ความยาก {{minPow}})', - 'via {{client}}': 'ผ่าน {{client}}', - 'Auto-load media': 'โหลดสื่ออัตโนมัติ', - Always: 'เสมอ', - 'Wi-Fi only': 'Wi-Fi เท่านั้น', - Never: 'ไม่เลย', - 'Click to load image': 'คลิกเพื่อโหลดรูปภาพ', - 'Click to load media': 'คลิกเพื่อโหลดสื่อ', - 'Click to load YouTube video': 'คลิกเพื่อโหลดวิดีโอ YouTube', - '{{count}} reviews': '{{count}} รีวิว', - 'Write a review': 'เขียนรีวิว', - 'No reviews yet. Be the first to write one!': 'ยังไม่มีรีวิว เป็นคนแรกที่เขียนรีวิวสิ!', - 'View more reviews': 'ดูรีวิวเพิ่มเติม', - 'Failed to review': 'รีวิวล้มเหลว', - 'Write a review and pick a star rating': 'เขียนรีวิวและเลือกคะแนนดาว', - Submit: 'ส่ง', - 'Reviews for {{relay}}': 'รีวิวสำหรับ {{relay}}', - 'No relays selected': 'ไม่ได้เลือกรีเลย์', - 'Post to': 'โพสต์ไปยัง', - 'Write relays and {{count}} other relays': 'รีเลย์เขียนและรีเลย์อื่น ๆ {{count}} ตัว', - '{{count}} relays': 'รีเลย์ {{count}} ตัว', - 'Republishing...': 'กำลังเผยแพร่ซ้ำ...', - 'Trending Notes': 'โน้ตยอดนิยม', - 'Trending on Your Favorite Relays': 'Trending on Your Favorite Relays', - 'Trending on the Default Relays': 'Trending on the Default Relays', - 'Latest from your follows': 'Latest from your follows', - 'Latest from our recommended follows': 'Latest from our recommended follows', - 'Follows latest page title': 'Latest from follows', - 'Follows latest page description': - 'Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.', - 'Follows latest nav label': 'Follows latest', - 'Loading follow list…': 'Loading follow list…', - 'Could not load recommended follows': 'Could not load recommended follows', - 'Your follow list is empty': 'Your follow list is empty', - 'Loading recent posts from follows…': 'Loading recent posts from follows…', - 'Loading more…': 'Loading more…', - 'No recent posts from this user in the current fetch': - 'No recent posts from this user in the current fetch', - 'Loading trending notes from your relays...': 'Loading trending notes from your relays...', - Sort: 'Sort', - newest: 'newest', - oldest: 'oldest', - 'most popular': 'most popular', - 'least popular': 'least popular', - 'Connected to': 'เชื่อมต่อกับ', - 'Disconnect Wallet': 'ตัดการเชื่อมต่อกระเป๋าสตางค์', - 'Are you absolutely sure?': 'คุณแน่ใจอย่างยิ่งหรือไม่?', - 'You will not be able to send zaps to others.': 'คุณจะไม่สามารถส่งซาตส์ไปยังผู้อื่นได้', - Disconnect: 'ตัดการเชื่อมต่อ', - 'Set up your wallet to send and receive sats!': 'ตั้งค่ากระเป๋าของคุณเพื่อส่งและรับ sats!', - 'Set up': 'ตั้งค่า', - 'nested events': 'nested events', - 'Loading RSS feeds...': 'Loading RSS feeds...', - 'No RSS feed items available': 'No RSS feed items available', - 'Show or hide the RSS page and sidebar entry': 'Show or hide the RSS page and sidebar entry', - 'Refreshing feeds...': 'Refreshing feeds...', - 'All feeds': 'All feeds', - 'All time': 'All time', - 'Last hour': 'Last hour', - 'Last day': 'Last day', - 'Last week': 'Last week', - 'Last month': 'Last month', - 'Last 24 hours': 'Last 24 hours', - 'Last 48 hours': 'Last 48 hours', - 'Time range': 'Time range', - 'Filter by RSS source': 'Filter by RSS source', - 'No items match your filters': 'No items match your filters', - 'Search...': 'Search...', - '{{count}} feeds': '{{count}} feeds', - 'Toggle filters': 'Toggle filters', - 'Showing {{filtered}} of {{total}} items': 'Showing {{filtered}} of {{total}} items', - Full: 'Full', - Compact: 'กะทัดรัด', - Expand: 'Expand', - 'help.title': 'Help', - 'help.tabShortcuts': 'Keyboard shortcuts', - 'help.tabOverview': 'App overview', - 'shortcuts.title': 'Keyboard shortcuts', - 'shortcuts.intro': - 'Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.', - 'shortcuts.sectionApp': 'This app', - 'shortcuts.sectionSearch': 'Search bar', - 'shortcuts.sectionStandard': 'Standard', - 'shortcuts.openHelp': 'Show this help', - 'shortcuts.or': 'or', - 'shortcuts.then': 'then', - 'shortcuts.focusPrimary': - 'Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)', - 'shortcuts.focusSecondary': - 'Focus side panel scroll when it is open (desktop; same keys to scroll)', - 'shortcuts.newNote': 'New note / post (after login if needed)', - 'shortcuts.searchSuggest': 'Move through suggestions', - 'shortcuts.searchDismiss': 'Close search dropdown', - 'shortcuts.tabNavigate': 'Move focus to the next or previous control', - 'shortcuts.activate': 'Activate buttons and many controls', - 'shortcuts.closeOverlays': 'Close dialogs, menus, and the search dropdown', - 'shortcuts.scrollWhenFocused': 'Scroll the focused scrollable area', - 'shortcuts.browserBack': 'Browser back (history)', - 'No spells yet. Create one with the button above.': - 'No spells yet. Create one with the button above.', - 'Loading spells from your relays…': 'Loading spells from your relays…', - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.': - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.', - 'Select a spell…': 'Select a spell…', - 'Spells from follows': 'From people you follow ({{count}})', - 'Other spells': 'Other spells ({{count}})', - 'Select a spell to view its feed.': 'Select a spell to view its feed.', - 'Add another row': 'Add another row', - 'Remove this row': 'Remove this row', - 'One kind number per row (e.g. 1 for notes).': 'One kind number per row (e.g. 1 for notes).', - 'One author per row: $me, $contacts, or hex pubkey / npub.': - 'One author per row: $me, $contacts, or hex pubkey / npub.', - 'One hex event id per row.': 'One hex event id per row.', - 'One wss:// URL per row. Leave empty to use your write relays.': - 'One wss:// URL per row. Leave empty to use your write relays.', - 'One topic per row.': 'One topic per row.', - topic: 'topic', - 'Spell form fields': 'Spell form fields', - 'Counting matching events…': 'Counting matching events…', - 'Edit spell': 'Edit spell', - 'Clone spell': 'Clone spell', - 'Spell cloned': 'Spell cloned', - 'Clone spell intro': - 'This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.', - 'Spell updated': 'Spell updated', - 'Relay URL': 'Relay', - Count: 'Count', - 'Edit spell relays': 'Edit relays', - 'COUNT spell relay errors hint': - 'One or more relays failed or returned an error. You can change the relay list in the spell and save again.', - 'COUNT spell total distinct explanation': - 'Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.', - 'Leave empty to use your write relays.': 'Leave empty to use your write relays.', - 'COUNT spell result explanation': - 'Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.', - 'COUNT spell may be capped by limit': - 'This count may equal your spell limit — there could be more matching events on the network.', - 'Spell count failed. Check relays or try again.': - 'Could not complete the count. Check relays or try again.', - 'REQ returns a feed; COUNT returns a number.': - 'REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.', - listImportManualLabel: 'Pre-fill from event', - listImportFromEventHint: - 'Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.', - listImportManualPlaceholder: '64-char hex, nevent1…, or naddr1…', - listImportLoadManual: 'Apply', - listImportContentSkipped: - 'This event has non-empty content (may include encrypted private items). Only public tags were merged.', - listImportUnsupportedEmoji: - 'This list includes emoji tags (NIP-30); those are not added to the spell filter.', - listImportUnsupportedTag: - 'Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.', - listImportBadATag: 'Could not parse address tag: {{preview}}…', - listImportATagNotFound: 'Could not resolve address tag: {{preview}}…', - listImportATagFailed: 'Failed to resolve address tag: {{preview}}…', - listImportEventNotFound: 'No event found for that reference.', - 'REQ tag filters': 'REQ tag filters', - spellFormTagFiltersLabel: 'Tag filters on matching events', - spellCreateIntro: - 'Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.', - spellFormSectionQueryTitle: 'Spell query', - spellFormSectionQueryHint: - 'This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).', - spellFormSectionMetadataTitle: 'Listing & labels (optional)', - spellFormSectionMetadataBadge: 'Not part of the query', - spellFormSectionMetadataHint: - 'Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.', - spellFormCatalogTopicsLabel: 'Topic labels on this spell (t tags)', - spellTopicsMetadataHint: - 'One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).', - spellTagFiltersHint: - 'Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.', - spellTagFiltersEmpty: 'No tag filters yet. Add rows below or apply an event reference above.', - 'Tag filter letter': 'Tag letter', - 'Filter value': 'Value', - 'Add tag filter': 'Add tag filter', - spellPickerSectionYours: 'Your spells', - 'Failed to remove spell from local storage': 'Failed to remove spell from local storage', - Spells: 'Spells', - 'doublePane.secondaryEmpty': 'Open a note, profile, or settings item to show it here.', - 'doublePane.secondaryEmptyHint': 'Your feed and primary pages stay on the left.', - '(empty)': '(empty)', - '12-hour (AM/PM)': '12-hour (AM/PM)', - '24-hour': '24-hour', - 'A new version is available': 'A new version is available', - 'A short description of the article content': 'A short description of the article content', - AM: 'AM', - 'Access via': 'Access via', - 'Accessed On': 'Accessed On', - 'Accessed on': 'Accessed on', - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.': - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.', - 'Add a relay to block': 'Add a relay to block', - 'Add at least one invitee': 'Add at least one invitee', - 'Add client identifier': 'Add client identifier', - 'Add expiration tags by default': 'Add expiration tags by default', - 'Add quiet tags by default': 'Add quiet tags by default', - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above': - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above', - 'Add the source (where this text is from)': 'Add the source (where this text is from)', - 'Add to favorites': 'Add to favorites', - 'Add {{count}} Selected': 'Add {{count}} Selected', - 'Added at': 'Added at', - 'Added {{count}} relay(s)': 'Added {{count}} relay(s)', - 'Adding...': 'Adding...', - 'Adding…': 'Adding…', - 'Advanced Options': 'Advanced Options', - 'All Topics': 'All Topics', - 'All feeds from OPML file are already added': 'All feeds from OPML file are already added', - 'All items deleted successfully': 'All items deleted successfully', - 'Already blocked': 'Already blocked', - 'Already saved': 'Already saved', - 'Application Recommendations': 'Application Recommendations', - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.': - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.', - 'Are you sure you want to delete all items from this store?': - 'Are you sure you want to delete all items from this store?', - 'Are you sure you want to unmute this user? This will restore the follow button.': - 'Are you sure you want to unmute this user? This will restore the follow button.', - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", - 'Article exported as AsciiDoc': 'Article exported as AsciiDoc', - 'Article exported as Markdown': 'Article exported as Markdown', - 'Article title (optional)': 'Article title (optional)', - articleDTagDefaultHint: - 'Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….', - Audio: 'Audio', - Author: 'Author', - 'Author is required for reading groups': 'Author is required for reading groups', - 'Author name (optional)': 'Author name (optional)', - Authors: 'Authors', - 'Block Relay': 'Block Relay', - 'Blocked Relays': 'Blocked Relays', - 'Blocking...': 'Blocking...', - Blossom: 'Blossom', - Book: 'Book', - 'Brief description of the event': 'Brief description of the event', - 'Brief summary (optional)': 'Brief summary (optional)', - 'Brief summary of the article (optional)': 'Brief summary of the article (optional)', - 'Browse Cache': 'Browse Cache', - 'C-Tag': 'C-Tag', - 'Cache Relays': 'Cache Relays', - 'Cache cleared successfully': 'Cache cleared successfully', - 'Cache refreshed successfully': 'Cache refreshed successfully', - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.': - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.', - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)': - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)', - 'Cache relays saved': 'Cache relays saved', - Cancelled: 'Cancelled', - Chapter: 'Chapter', - 'Chapter Title': 'Chapter Title', - 'Chapter title (optional)': 'Chapter title (optional)', - Citation: 'Citation', - 'Citation title (optional)': 'Citation title (optional)', - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.': - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})', - 'Cleanup Duplicates': 'Cleanup Duplicates', - Clear: 'Clear', - 'Clear Cache': 'Clear Cache', - 'Clear Service Worker': 'Clear Service Worker', - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.': - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.', - 'Click update to get the latest features and improvements': - 'Click update to get the latest features and improvements', - Close: 'Close', - 'Comma or space-separated topics (will be added as t-tags)': - 'Comma or space-separated topics (will be added as t-tags)', - Command: 'Command', - Configure: 'Configure', - 'Connect Wallet': 'Connect Wallet', - 'Console Logs': 'Console Logs', - 'Console logs cleared': 'Console logs cleared', - 'Content is required': 'Content is required', - 'Content must be 5000 characters or less': 'Content must be 5000 characters or less', - Controversial: 'Controversial', - 'Copied!': 'Copied!', - 'Copy to clipboard': 'Copy to clipboard', - 'Create Article': 'Create Article', - 'Create Citation': 'Create Citation', - 'Create Highlight': 'Create Highlight', - 'Create New Thread': 'Create New Thread', - 'Create Poll': 'Create Poll', - 'Create Thread': 'Create Thread', - composeModeKind1: 'Short note (kind 1) — turn off other compose types', - 'Create a Spell': 'Create a Spell', - 'Creating...': 'Creating...', - 'D-Tag': 'D-Tag', - 'D-Tag is required for articles': 'D-Tag is required for articles', - DOI: 'DOI', - 'Date-based (all-day)': 'Date-based (all-day)', - 'Default expiration (months)': 'Default expiration (months)', - 'Default quiet period (days)': 'Default quiet period (days)', - 'Delete All': 'Delete All', - 'Delete item': 'Delete item', - 'Deleted {{count}} event(s)': 'Deleted {{count}} event(s)', - 'Deletion request sent': 'Deletion request sent', - 'Description (content)': 'Description (content)', - 'Digital Object Identifier (optional)': 'Digital Object Identifier (optional)', - 'Disable word wrap': 'Disable word wrap', - 'Discovered Relays': 'Discovered Relays', - 'Discovering relays...': 'Discovering relays...', - Discussion: 'Discussion', - Discussions: 'Discussions', - Downvote: 'Downvote', - 'Edited by': 'Edited by', - Editor: 'Editor', - 'Editor name (optional)': 'Editor name (optional)', - 'Enable word wrap': 'Enable word wrap', - 'End date': 'End date', - 'End date must be after start date': 'End date must be after start date', - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.': - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.', - 'Enter a descriptive title for your thread': 'Enter a descriptive title for your thread', - 'Enter the author name': 'Enter the author name', - 'Enter the book title': 'Enter the book title', - 'Enter the specific text you want to highlight in the main content area above': - 'Enter the specific text you want to highlight in the main content area above', - 'Event IDs (ids)': 'Event IDs (ids)', - 'Event appears to be invalid or corrupted': 'Event appears to be invalid or corrupted', - 'Event has no value data': 'Event has no value data', - 'Event is missing required fields: {{fields}}': 'Event is missing required fields: {{fields}}', - 'Event type': 'Event type', - 'Expiration Tags': 'Expiration Tags', - 'Export OPML': 'Export OPML', - 'Export as AsciiDoc': 'Export as AsciiDoc', - 'Export as Markdown': 'Export as Markdown', - 'External Citation': 'External Citation', - 'External Citation Settings': 'External Citation Settings', - 'Failed to add relay. Please try again.': 'Failed to add relay. Please try again.', - 'Failed to add relays': 'Failed to add relays', - 'Failed to block relay. Please try again.': 'Failed to block relay. Please try again.', - 'Failed to cleanup duplicates': 'Failed to cleanup duplicates', - 'Failed to clear cache': 'Failed to clear cache', - 'Failed to copy': 'Failed to copy', - 'Failed to create relay set. Please try again.': - 'Failed to create relay set. Please try again.', - 'Failed to create thread': 'Failed to create thread', - 'Failed to create thread. Please try a different relay.': - 'Failed to create thread. Please try a different relay.', - 'Failed to delete all items': 'Failed to delete all items', - 'Failed to delete item': 'Failed to delete item', - 'Failed to discover relays': 'Failed to discover relays', - 'Failed to export OPML file': 'Failed to export OPML file', - 'Failed to export article': 'Failed to export article', - 'Failed to import OPML file: {{error}}': 'Failed to import OPML file: {{error}}', - 'Failed to load RSS feeds': 'Failed to load RSS feeds', - 'Failed to load store items': 'Failed to load store items', - 'Failed to mute user privately': 'Failed to mute user privately', - 'Failed to mute user publicly': 'Failed to mute user publicly', - 'Failed to pin note': 'Failed to pin note', - 'Failed to publish post': 'Failed to publish post', - 'Failed to publish reply': 'Failed to publish reply', - 'Failed to publish thread': 'Failed to publish thread', - 'Failed to publish to some relays. Please try again or use different relays.': - 'Failed to publish to some relays. Please try again or use different relays.', - 'Failed to save RSS feeds': 'Failed to save RSS feeds', - 'Failed to save cache relays': 'Failed to save cache relays', - 'Failed to save relay list': 'Failed to save relay list', - 'Failed to unregister service worker: ': 'Failed to unregister service worker: ', - 'Failed to unsubscribe from topic': 'Failed to unsubscribe from topic', - Favorite: 'Favorite', - Fetch: 'Fetch', - 'Fetch once, then stop.': 'Fetch once, then stop.', - 'Filter by': 'Filter by', - 'Flat View': 'Flat View', - 'Font size': 'Font size', - 'Full Quote/Context': 'Full Quote/Context', - 'Full-text search query': 'Full-text search query', - Geohash: 'Geohash', - 'Geohash (optional)': 'Geohash (optional)', - 'Global quiet mode': 'Global quiet mode', - 'Group discussions by topic': 'Group discussions by topic', - 'Grouped View': 'Grouped View', - Groups: 'Groups', - 'Handler {{index}}': 'Handler {{index}}', - 'Hardcopy Citation': 'Hardcopy Citation', - 'Hardcopy Citation Settings': 'Hardcopy Citation Settings', - Hide: 'Hide', - 'Hide interactions on all posts': 'Hide interactions on all posts', - 'Hide interactions on posts with quiet tags': 'Hide interactions on posts with quiet tags', - 'High PoW': 'High PoW', - 'Higher values make your thread harder to mine but more unique.': - 'Higher values make your thread harder to mine but more unique.', - Highlight: 'Highlight', - 'Highlight Settings': 'Highlight Settings', - 'How to Create a Highlight (NIP-84)': 'How to Create a Highlight (NIP-84)', - 'Human-readable spell name': 'Human-readable spell name', - 'Image URL': 'Image URL', - 'Import OPML': 'Import OPML', - 'Imported {{count}} feed(s) from OPML file': 'Imported {{count}} feed(s) from OPML file', - 'In-Browser Cache': 'In-Browser Cache', - Insert: 'Insert', - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).': - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).', - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.': - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.', - 'Insert event or address': 'Insert event or address', - 'Insert mention': 'Insert mention', - 'Internal Citation': 'Internal Citation', - 'Internal Citation Settings': 'Internal Citation Settings', - 'Invalid Event': 'Invalid Event', - 'Invalid Lightning Address': 'Invalid Lightning Address', - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.': - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.', - 'Invalid URL': 'Invalid URL', - 'Invalid content JSON': 'Invalid content JSON', - 'Invalid relay URL': 'Invalid relay URL', - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.': - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.', - 'Item deleted successfully': 'Item deleted successfully', - JSON: 'JSON', - 'Join link': 'Join link', - 'Journal/Publication name (optional)': 'Journal/Publication name (optional)', - Json: 'JSON', - Kinds: 'Kinds', - 'Language Model': 'Language Model', - Large: 'Large', - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link': - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link', - 'Lightning payment failed': 'Lightning payment failed', - Limit: 'Limit', - 'Live feed; keeps updating.': 'Live feed; keeps updating.', - 'Loading more...': 'Loading more...', - 'Loading relays...': 'Loading relays...', - 'Location (optional)': 'Location (optional)', - 'Log in to run this spell (it uses $me or $contacts).': - 'Log in to run this spell (it uses $me or $contacts).', - 'Login failed': 'Login failed', - 'Login to configure RSS feeds': 'Login to configure RSS feeds', - 'Long-form Article': 'Long-form Article', - 'Mailbox relays saved': 'Mailbox relays saved', - 'Mark as NSFW': 'Mark as NSFW', - 'Maximum {{max}} invitees': 'Maximum {{max}} invitees', - 'Maximum {{max}} invitees allowed': 'Maximum {{max}} invitees allowed', - Medium: 'Medium', - Mode: 'Mode', - 'Most Zapped': 'Most Zapped', - 'Move to top': 'Move to top', - 'Multiple choice': 'Multiple choice', - 'Mute failed': 'Mute failed', - NSFW: 'NSFW', - Name: 'Name', - 'Name of the language model used': 'Name of the language model used', - 'New External Citation': 'New External Citation', - 'New Hardcopy Citation': 'New Hardcopy Citation', - 'New Highlight': 'New Highlight', - 'New Internal Citation': 'New Internal Citation', - 'New Long-form Article': 'New Long-form Article', - 'New Poll': 'New Poll', - 'New Discussion': 'New Discussion', - 'New Prompt Citation': 'New Prompt Citation', - 'New Public Message': 'New Public Message', - 'New Wiki Article': 'New Wiki Article', - 'New Wiki Article (Markdown)': 'New Wiki Article (Markdown)', - Newest: 'Newest', - 'No JSON available': 'No JSON available', - 'No RSS feeds found in OPML file': 'No RSS feeds found in OPML file', - 'No cached data found.': 'No cached data found.', - 'No console logs captured yet': 'No console logs captured yet', - 'No events found': 'No events found', - 'No feeds configured. Default feed will be used.': - 'No feeds configured. Default feed will be used.', - 'No feeds to export': 'No feeds to export', - 'No groups available. Join some groups first.': 'No groups available. Join some groups first.', - 'No items in this store.': 'No items in this store.', - 'No items match your search.': 'No items match your search.', - 'No logs match the current filters': 'No logs match the current filters', - 'No posts found': 'No posts found', - 'No posts match your search': 'No posts match your search', - 'No relays available. Please configure relays in settings.': - 'No relays available. Please configure relays in settings.', - 'No service workers or caches found for this app': - 'No service workers or caches found for this app', - 'No users found': 'No users found', - 'No valid RSS feed URLs found in OPML file': 'No valid RSS feed URLs found in OPML file', - 'Note pinned': 'Note pinned', - 'Note unpinned': 'Note unpinned', - Oldest: 'Oldest', - 'Open Timestamp': 'Open Timestamp', - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.': - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.', - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.': - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.', - Optional: 'Optional', - 'Optional image for the event': 'Optional image for the event', - 'Optionally, add the full quote/context to show your highlight within it': - 'Optionally, add the full quote/context to show your highlight within it', - PM: 'PM', - 'Page Range': 'Page Range', - Pages: 'Pages', - 'Paste URL of a GIF': 'Paste URL of a GIF', - 'Paste URL of a meme image': 'Paste URL of a meme image', - 'Paste the entire original passage that contains your highlight': - 'Paste the entire original passage that contains your highlight', - Photo: 'Photo', - 'Picture Note': 'Picture Note', - 'Pin note': 'Pin note', - 'Plain text description of the query': 'Plain text description of the query', - 'Please login to view bookmarks': 'Please login to view bookmarks', - 'Please select a group': 'Please select a group', - 'Please select at least one relay': 'Please select at least one relay', - 'Please set a start date': 'Please set a start date', - 'Poll with no options': 'Poll with no options', - 'Post published to some relays': 'Post published to some relays', - 'Posts will automatically include expiration tags': - 'Posts will automatically include expiration tags', - 'Posts will automatically include quiet tags': 'Posts will automatically include quiet tags', - 'Posts will be quiet for this many days': 'Posts will be quiet for this many days', - 'Posts will expire after this many months': 'Posts will expire after this many months', - 'Processing...': 'Processing...', - 'Profile event not available': 'Profile event not available', - 'Prompt Citation': 'Prompt Citation', - 'Prompt Citation Settings': 'Prompt Citation Settings', - 'Prompt Conversation Script': 'Prompt Conversation Script', - 'Proof of Work': 'Proof of Work', - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post': - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post', - 'Publish to Relays': 'Publish to Relays', - 'Published By': 'Published By', - 'Published In': 'Published In', - 'Published On': 'Published On', - 'Published in': 'Published in', - 'Published on': 'Published on', - 'Publisher name (optional)': 'Publisher name (optional)', - 'Quiet Tags': 'Quiet Tags', - 'RSS Feed': 'RSS Feed', - 'RSS + Web': 'RSS + Web', - 'RSS feed source': 'RSS feed source', - 'All feed sources': 'All feed sources', - 'RSS feed view mode': 'RSS feed view mode', - 'Article URLs': 'Article URLs', - 'Article URLs subtitle': - 'One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.', - 'Article URLs Nostr manual subtitle': - 'Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.', - 'RSS feed column title': 'RSS & linked articles', - 'RSS feed column subtitle': - 'Feed entries and article cards that include at least one item from your subscribed RSS feeds.', - 'RSS timeline': 'RSS timeline', - 'RSS timeline subtitle': - 'Every item from your subscribed feeds, newest first — classic RSS reader.', - URLs: 'URLs', - RSS: 'RSS', - 'No URL-only items yet': 'No URL-only items yet', - 'Respond to this RSS entry': 'Respond to this RSS entry', - 'RSS read-only thread hint': - 'Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.', - 'RSS feed item label': 'RSS', - 'Web URL item label': 'Web URL', - 'URL thread activity': 'URL thread activity', - 'Suppress Clawstr links in RSS previews': 'Hide clawstr.com in RSS and URL feed', - 'Hide local, media & feed URLs from URL cards': - 'Hide local, media, feed, document & XML links from the feed', - 'RSS articles': 'RSS articles', - 'Web comments': 'Web comments', - 'Web highlights': 'Web highlights', - 'In your bookmarks': 'In your bookmarks', - '{{count}} RSS entries for this URL': '{{count}} RSS entries for this URL', - '{{count}} entries for this article URL': '{{count}} entries for this article URL', - 'No comments yet': 'No comments yet', - 'No highlights yet': 'No highlights yet', - 'Showing {{filtered}} of {{total}} entries': 'Showing {{filtered}} of {{total}} entries', - standardRssFeed_spotifeed: 'Spotify playlist (Spotifeed)', - standardRssFeed_youtube: 'YouTube feed', - standardRssFeed_youtubeChannel: 'YouTube channel feed', - standardRssFeed_youtubePlaylist: 'YouTube playlist feed', - standardRssFeed_feedburner: 'FeedBurner', - standardRssFeed_reddit: 'Reddit RSS', - standardRssFeed_substack: 'Substack', - standardRssFeed_medium: 'Medium', - 'RSS Feed Settings': 'RSS Feed Settings', - 'Follow sets': 'Follow sets', - 'Follow sets settings intro': - 'NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.', - 'New follow set': 'New follow set', - 'Edit follow set': 'Edit follow set', - 'No follow sets yet': 'You have not created any follow sets yet.', - 'Follow set saved': 'Follow set saved', - 'Follow set deleted': 'Follow set deleted', - 'Failed to load follow sets': 'Failed to load follow sets', - members: 'members', - 'Optional display title': 'Optional display title', - 'List id (d tag)': 'List id (d tag)', - 'Follow set d tag hint': - 'Stable identifier for this list. It cannot be changed after the first publish.', - 'People in this list': 'People in this list', - 'Delete follow set?': 'Delete this follow set?', - 'Delete follow set confirm': - 'This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.', - 'Remove feed': 'Remove feed', - 'RSS Feeds': 'RSS Feeds', - 'RSS feeds exported to OPML file': 'RSS feeds exported to OPML file', - 'RSS feeds saved': 'RSS feeds saved', - 'Rate limited. Please wait before trying again.': - 'Rate limited. Please wait before trying again.', - 'Reaction published': 'Reaction published', - 'Reaction removed': 'Reaction removed', - 'Read full article': 'Read full article', - 'Reading group entry': 'Reading group entry', - 'Readings Options': 'Readings Options', - Recipients: 'Recipients', - 'Recipients detected from your message:': 'Recipients detected from your message:', - 'Recommended Relays': 'Recommended Relays', - 'Recommended applications for handling events of kind {{kind}}': - 'Recommended applications for handling events of kind {{kind}}', - 'Reference to the cited Nostr event in kind:pubkey:hex format': - 'Reference to the cited Nostr event in kind:pubkey:hex format', - 'Refresh Cache': 'Refresh Cache', - 'Refreshing posts...': 'Refreshing posts...', - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.': - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.', - Relay: 'Relay', - 'Relay Hint': 'Relay Hint', - 'Relay URL (optional)': 'Relay URL (optional)', - 'Relay blocked successfully': 'Relay blocked successfully', - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.': - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.', - 'Relay set options': 'Relay set options', - 'Remove from favorites': 'Remove from favorites', - Rendered: 'Rendered', - 'Reply published': 'Reply published', - 'Reply published to some relays': 'Reply published to some relays', - 'Reply to Public Message': 'Reply to Public Message', - 'Republish to all active relays': 'Republish to all active relays', - 'Republish to all available relays': 'Republish to all available relays', - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.': - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.', - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.': - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.', - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Respect quiet tags': 'Respect quiet tags', - 'Search (NIP-50)': 'Search (NIP-50)', - 'Search by name or npub…': 'Search by name or npub…', - 'Search calendar, publications, wiki…': 'Search calendar, publications, wiki…', - 'Search for user…': 'Search for user…', - 'Search items...': 'Search items...', - 'Search logs...': 'Search logs...', - 'Search notes, threads, long-form…': 'Search notes, threads, long-form…', - 'Search on GifBuddy': 'Search on GifBuddy', - 'Search on Meme Amigo': 'Search on Meme Amigo', - 'Search posts...': 'Search posts...', - 'Search threads by title, content, tags, npub, author...': - 'Search threads by title, content, tags, npub, author...', - 'Searching all available relays...': 'Searching all available relays...', - 'Searching…': 'Searching…', - 'See reference': 'See reference', - 'Select Group': 'Select Group', - 'Select Media Type': 'Select Media Type', - 'Select group...': 'Select group...', - 'Select relays': 'Select relays', - 'Publish relay cap hint': - 'At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Publish relay cap hint with outbox first': - 'At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Select the group where you want to create this discussion.': - 'Select the group where you want to create this discussion.', - 'Select topic...': 'Select topic...', - 'Selected text': 'Selected text', - 'Send Public Message': 'Send Public Message', - 'Send a Lightning payment to this user': 'Send a Lightning payment to this user', - 'Service worker caches cleared. Please reload the page.': - 'Service worker caches cleared. Please reload the page.', - 'Service worker unregistered and caches cleared. Please reload the page.': - 'Service worker unregistered and caches cleared. Please reload the page.', - 'Service worker unregistered. Please reload the page.': - 'Service worker unregistered. Please reload the page.', - 'Share your thoughts, ask questions, or start a discussion...': - 'Share your thoughts, ask questions, or start a discussion...', - 'Short Video Note': 'Short Video Note', - 'Show RSS Feed': 'Show RSS Feed', - 'Show all discussions in a single list': 'Show all discussions in a single list', - 'Show less': 'Show less', - Since: 'Since', - Small: 'Small', - 'Some relays have temporarily disabled writes.': - 'Some relays have temporarily disabled writes.', - Source: 'Source', - 'Spell definition': 'Spell definition', - 'Spell published': 'Spell published', - 'Start date': 'Start date', - 'Start typing to see a preview...': 'Start typing to see a preview...', - 'Subject (Book Title)': 'Subject (Book Title)', - 'Subject (book title) is required for reading groups': - 'Subject (book title) is required for reading groups', - 'Subject / Topics': 'Subject / Topics', - Subscribe: 'Subscribe', - Subscribed: 'Subscribed', - 'Subscribed to topic': 'Subscribed to topic', - 'Subscribed to topic (local)': 'Subscribed to topic (local)', - 'Subscribing...': 'Subscribing...', - Summary: 'Summary', - 'Supported Event Types': 'Supported Event Types', - 'Take a note': 'Take a note', - 'The full prompt conversation (optional)': 'The full prompt conversation (optional)', - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.': - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.', - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.': - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.', - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.': - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.', - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a Nostr event of kind {{kind}}.': - 'This GIF was found in a Nostr event of kind {{kind}}.', - 'This file could be either audio or video. Please select the correct type:': - 'This file could be either audio or video. Please select the correct type:', - 'This store does not contain replaceable events': - 'This store does not contain replaceable events', - 'This will add additional tags for author and subject to help organize reading group discussions.': - 'This will add additional tags for author and subject to help organize reading group discussions.', - 'Thread Content': 'Thread Content', - 'Thread Title': 'Thread Title', - 'Thread creation timed out. Please try again.': 'Thread creation timed out. Please try again.', - 'Thread published': 'Thread published', - 'Threads are organized by topics. Choose a topic that best fits your discussion.': - 'Threads are organized by topics. Choose a topic that best fits your discussion.', - 'Time-based': 'Time-based', - 'Title is required': 'Title is required', - 'Title must be 100 characters or less': 'Title must be 100 characters or less', - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.': - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.', - Top: 'Top', - Topic: 'Topic', - URL: 'URL', - 'URL of the article cover image (optional)': 'URL of the article cover image (optional)', - 'Unique identifier for this article (required)': - 'Unique identifier for this article (required)', - 'Unmute failed': 'Unmute failed', - 'Unpin note': 'Unpin note', - Unsubscribe: 'Unsubscribe', - 'Unsubscribed from topic': 'Unsubscribed from topic', - 'Unsubscribing...': 'Unsubscribing...', - Until: 'Until', - Untitled: 'Untitled', - Update: 'Update', - 'Updating...': 'Updating...', - 'Upload Audio Comment': 'Upload Audio Comment', - 'Upload Audio Message': 'Upload Audio Message', - 'Upload Media': 'Upload Media', - Upvote: 'Upvote', - 'User unmuted': 'User unmuted', - 'Version number (optional)': 'Version number (optional)', - Video: 'Video', - 'Video Note': 'Video Note', - 'Video file': 'Video file', - 'View Console Logs': 'View Console Logs', - 'View JSON': 'View JSON', - 'View cached items in this store.': 'View cached items in this store.', - 'View definition': 'View definition', - 'View details about cached data in IndexedDB stores. Click on a store to view its items.': - 'View details about cached data in IndexedDB stores. Click on a store to view its items.', - 'View on Alexandria': 'View on Alexandria', - 'View on DecentNewsroom': 'View on DecentNewsroom', - 'View on Wikistr': 'View on Wikistr', - 'View recent console logs for debugging': 'View recent console logs for debugging', - 'Voice Comment': 'Voice Comment', - 'Voice Note': 'Voice Note', - 'Voice note or audio file': 'Voice note or audio file', - Volume: 'Volume', - 'Volume number (optional)': 'Volume number (optional)', - 'Vote published': 'Vote published', - 'Vote removed': 'Vote removed', - 'Website where LLM was accessed (optional)': 'Website where LLM was accessed (optional)', - 'Wiki Article (AsciiDoc)': 'Wiki Article (AsciiDoc)', - 'Wiki Article (Markdown)': 'Wiki Article (Markdown)', - 'You can only delete your own notes': 'You can only delete your own notes', - 'You must be logged in to create a thread': 'You must be logged in to create a thread', - 'You need to add at least one media server in order to upload media files.': - 'You need to add at least one media server in order to upload media files.', - 'You need to login first': 'You need to login first', - 'Your account is blocked from posting to this relay.': - 'Your account is blocked from posting to this relay.', - Zap: 'Zap', - 'Zap failed': 'Zap failed', - created_at: 'created_at', - 'e tag of kind 1040 event (optional)': 'e tag of kind 1040 event (optional)', - 'e.g. meetup, conference': 'e.g. meetup, conference', - 'e.g., 123-145 (optional)': 'e.g., 123-145 (optional)', - 'e.g., GPT-4, Claude, etc. (required)': 'e.g., GPT-4, Claude, etc. (required)', - 'e.g., my-article-title': 'e.g., my-article-title', - entries: 'entries', - 'from Bunker': 'from Bunker', - 'from Extension': 'from Extension', - 'from NIP-05': 'from NIP-05', - general: 'general', - 'https://example.com (required)': 'https://example.com (required)', - 'https://example.com/image.jpg': 'https://example.com/image.jpg', - id: 'id', - items: 'items', - kind: 'kind', - 'kind:pubkey:hex format (required)': 'kind:pubkey:hex format (required)', - 'last updated': 'last updated', - matching: 'matching', - naddr: 'naddr', - nevent: 'nevent', - 'nevent1..., naddr1..., note1..., hex ID, or https://...': - 'nevent1..., naddr1..., note1..., hex ID, or https://...', - 'no notes found': 'no notes found', - of: 'of', - 'on note': 'on note', - optional: 'optional', - pubkey: 'pubkey', - 'sent a public message': 'sent a public message', - 'sent you a public message': 'sent you a public message', - 'sent you a public message (along with {{count}} others)': - 'sent you a public message (along with {{count}} others)', - sig: 'sig', - 'started a discussion in {{topic}}': 'started a discussion in {{topic}}', - tags: 'tags', - thread: 'thread', - threads: 'threads', - 'topic1, topic2, topic3': 'topic1, topic2, topic3', - '{{count}} relay(s) selected': '{{count}} relay(s) selected', - '🔞 NSFW 🔞': '🔞 NSFW 🔞', - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).': - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).', - 'Failed to refresh': 'Failed to refresh', - 'Invalid article link.': 'Invalid article link.', - Likes: 'Likes', - 'Loading…': 'Loading…', - 'Missing pubkey': 'Missing pubkey', - 'No RSS feed list found on relays': 'No RSS feed list found on relays', - 'Pinned posts': 'Pinned posts', - 'Publishing...': 'Publishing...', - 'RSS article': 'RSS article', - 'RSS feed list refreshed': 'RSS feed list refreshed', - 'Save or discard your changes before refreshing from relays': - 'Save or discard your changes before refreshing from relays', - 'Suggested topics': 'Suggested topics', - 'Synthetic event (no author)': 'Synthetic event (no author)', - 'Topic is required': 'Topic is required', - 'Type a topic or pick from the list': 'Type a topic or pick from the list', - profileEditorRefreshCacheHint: 'profileEditorRefreshCacheHint', - startupSessionHydrating: 'startupSessionHydrating' - } -} diff --git a/src/i18n/locales/tr.ts b/src/i18n/locales/tr.ts new file mode 100644 index 00000000..01f091b6 --- /dev/null +++ b/src/i18n/locales/tr.ts @@ -0,0 +1,2010 @@ +export default { + translation: { + // NOTE: Untranslated strings fall back to English. + + "Welcome! 🥳": "Welcome! 🥳", + About: "About", + "New Note": "New Note", + Post: "Post", + Home: "Home", + Feed: "Feed", + "Favorite Relays": "Favorite Relays", + "Relay pulse": "Relay pulse", + "Relay pulse empty": "Quiet on your relays in the last hour.", + "Relay pulse follows": "Following ({{count}})", + "Relay pulse others": "Others ({{count}})", + "Relay pulse updated": "Updated {{relative}}", + "Relay pulse active npubs": "Active npubs", + "Relay pulse active npubs hint": "Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).", + "Relay pulse drawer following": "Following", + "Relay pulse drawer others": "Others", + "Relay pulse drawer no profiles": "No kind 0 profiles loaded for this sample yet.", + "See the newest notes from your follows": "See the newest notes from your follows", + "All favorite relays": "All favorite relays", + "Pinned note": "Pinned note", + "Relay settings": "Relays and Storage Settings", + "Relay auth accepted (NIP-42)": "The relay accepted authentication (NIP-42): {{relay}}{{detailSuffix}}", + "Relay auth rejected (NIP-42)": "The relay rejected authentication (NIP-42): {{relay}} — {{message}}", + "Relay auth error unknown": "Unknown error", + Settings: "Settings", + "Account menu": "Account menu", + SidebarRelays: "Relays", + Refresh: "Refresh", + "refresh.longPressHardReload": "Long-press: reload app and restore feed cache", + "link.expandNostrEmbed": "Show Nostr preview", + Profile: "Profile", + Logout: "Logout", + Following: "Following", + followings: "followings", + boosted: "boosted", + "Boosted by:": "Boosted by:", + "just now": "just now", + "n minutes ago": "{{n}} minutes ago", + "n m": "{{n}}m", + "n hours ago": "{{n}} hours ago", + "n h": "{{n}}h", + "n days ago": "{{n}} days ago", + "n d": "{{n}}d", + date: "{{timestamp, date}}", + Follow: "Follow", + Unfollow: "Unfollow", + "Follow failed": "Follow failed", + "Unfollow failed": "Unfollow failed", + "show new notes": "show new notes", + "loading...": "loading...", + "Loading...": "Loading...", + "no more notes": "no more notes", + "calendar entries": "calendar entries", + "Loading calendar events...": "Loading calendar events...", + "No calendar events found": "No calendar events found", + "Calendar events in the next {{count}} months": "Calendar events in the next {{count}} months", + "The nostr.band relay appears to be temporarily out of service. Please try again later.": "The nostr.band relay appears to be temporarily out of service. Please try again later.", + "reply to": "reply to", + reply: "reply", + Reply: "Reply", + "load more older replies": "load more older replies", + "Write something...": "Write something...", + Cancel: "Cancel", + Mentions: "Mentions", + "Search for event or address…": "Search for event or address…", + "Search notes…": "Search notes…", + "No notes found": "No notes found", + "Failed to post": "Failed to post", + "Post successful": "Post successful", + "Your post has been published": "Your post has been published", + Boost: "Boost", + "Boost published": "Boost published", + Quote: "Quote", + "Copy event ID": "Copy event ID", + "Copy user ID": "Copy user ID", + "Send public message": "Send public message", + "View raw event": "View raw event", + "Edit this event": "Edit this event", + "Clone or fork this event": "Clone or fork this event", + "Event kind": "Event kind", + "Note content": "Note content", + Publish: "Publish", + "Post published": "Post published", + "Edit content and tags, then publish a new signed event.": "Edit content and tags, then publish a new signed event.", + "Log in to publish": "Log in to publish", + "Set when you publish": "set when you publish", + "id and sig are assigned when you publish": "id and sig are assigned when you publish", + "Published to some relays only": "Published to some relays only", + "Add field": "Add field", + "View full profile": "View full profile", + Like: "Like", + "switch to light theme": "switch to light theme", + "switch to dark theme": "switch to dark theme", + "switch to system theme": "switch to system theme", + Note: "Note", + note: "note", + "username's following": "{{username}}'s following", + "username's used relays": "{{username}}'s used relays", + "username's muted": "{{username}}'s muted", + Login: "Login", + downloadDesktopApp: "Download app", + "Please log in to view notifications.": "Please log in to view notifications.", + "Follows you": "Follows you", + "Relay Settings": "Relays and Storage Settings", + "Relays and Storage Settings": "Relays and Storage Settings", + "Relay set name": "Relay set name", + "Add a new relay set": "Add a new relay set", + Add: "Add", + "n relays": "{{n}} relays", + Rename: "Rename", + "Copy share link": "Copy share link", + "Copy address": "Copy address", + "Copy payto URI": "Copy payto URI", + "Copied payto address": "Copied payto address", + "Copied to clipboard": "Copied to clipboard", + "Copied {{label}} address": "Copied {{label}} address", + "Lightning payment address – copy to pay via your wallet": "Lightning payment address – copy to pay via your wallet", + "Payment address – copy to use in your wallet or app": "Payment address – copy to use in your wallet or app", + "Click to open payment options": "Click to open payment options", + "Click to copy address": "Click to copy address", + "Open on website": "Open on website", + "Raw profile event": "Raw profile event", + "Full profile event": "Full profile event", + "Event (JSON)": "Event (JSON)", + "Save full profile": "Save full profile", + "Add tag": "Add tag", + "Remove tag": "Remove tag", + "Tag name": "Tag name", + Value: "Value", + "Add value to tag": "Add value to tag", + "Remove value": "Remove value", + "No tags. Click \"Add tag\" to add one.": "No tags. Click \"Add tag\" to add one.", + "Profile updated": "Profile updated", + "Failed to publish profile": "Failed to publish profile", + "Invalid profile JSON": "Invalid profile JSON", + "Refresh cache": "Refresh cache", + "Force-refresh profile and payment info from relays": "Force-refresh profile and payment info from relays", + "Profile and payment cache refreshed": "Profile and payment cache refreshed", + "Failed to refresh cache": "Failed to refresh cache", + "Raw payment info event": "Raw payment info event", + "Payment info": "Payment info", + "Edit payment info": "Edit payment info", + "Add payment info": "Add payment info", + "No payment info event yet. Click \"Add payment info\" to create one.": "No payment info event yet. Click \"Add payment info\" to create one.", + "Content (JSON)": "Content (JSON)", + Tags: "Tags", + "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])": "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])", + "Payment info updated": "Payment info updated", + "Failed to publish payment info": "Failed to publish payment info", + "Invalid tags JSON": "Invalid tags JSON", + "Payment methods": "Payment methods", + "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).": "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).", + "Type (e.g. lightning)": "Type (e.g. lightning)", + "Authority (e.g. user@domain.com)": "Authority (e.g. user@domain.com)", + "Add payment method": "Add payment method", + Remove: "Remove", + "Additional content (JSON)": "Additional content (JSON)", + "Show full event JSON": "Show full event JSON", + "Tag list": "Tag list", + "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.": "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.", + "Tag value": "Tag value", + "Saving…": "Saving…", + "Share with Imwald": "Share with Imwald", + "Share with Alexandria": "Share with Alexandria", + "Start video call": "Start video call", + "Copy call invite link": "Copy call invite link", + "Start call about this": "Start call about this", + "Send call invite": "Send call invite", + "Read this note aloud": "Read this note aloud", + "Read-aloud is not supported in this browser": "Read-aloud is not supported in this browser", + "Nothing to read aloud": "Nothing to read aloud", + "Read-aloud failed": "Read-aloud failed", + "Read aloud": "Read aloud", + "Read-aloud idle": "Idle", + "Preparing read-aloud…": "Preparing read-aloud…", + "Requesting audio…": "Requesting audio…", + "Loading audio…": "Loading audio…", + "Preparing player…": "Preparing player…", + "Starting stream…": "Starting stream…", + "Loading media…": "Loading media…", + "Buffering…": "Buffering…", + Playing: "Playing", + Paused: "Paused", + "Read-aloud finished": "Finished", + "Read-aloud error": "Error", + "TTS endpoint": "TTS endpoint", + "Using browser speech synthesis": "Using browser speech synthesis", + "Read-aloud section progress": "Section {{current}} of {{total}}", + "Request sent": "Request sent", + "Response received": "Response received", + "Playback started": "Playback started", + Characters: "Characters", + Pause: "Pause", + Play: "Play", + Stop: "Stop", + "Read-aloud sections": "Read-aloud sections", + "Read-aloud overall progress": "Overall progress", + "Read-aloud section done": "Section {{index}}: finished", + "Read-aloud section pending": "Section {{index}}: not started yet", + "Read-aloud section fetching": "Section {{index}}: requesting audio", + "Read-aloud section preparing audio": "Section {{index}}: loading audio", + "Read-aloud section playing": "Section {{index}}: playing", + "Read-aloud section paused": "Section {{index}}: paused", + "Read-aloud legend fetching": "Requesting audio for this section from the server…", + "Read-aloud legend buffering": "Decoding audio for this section…", + "Read-aloud legend playing": "Playing this section.", + "Read-aloud legend paused": "Playback paused.", + "Read-aloud Piper fallback notice": "Server voice (Piper) could not be used. Playing with your browser voice instead.", + "Read-aloud Piper fallback detail label": "Piper error", + "Read-aloud Piper status region": "Piper text-to-speech status", + "Read-aloud Piper status heading": "Piper (server voice)", + "Read-aloud Piper skipped notice": "No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.", + "Read-aloud Piper attempt started": "Piper was started at {{time}} (this read-aloud used the server first).", + "Read-aloud Piper endpoint tried": "URL used: {{url}}", + "Join the video call": "Join the video call", + "Schedule video call": "Schedule video call", + "You're invited to a scheduled video call.": "You're invited to a scheduled video call.", + "Create a calendar event and send an invite. The recipient will see the event with a join link.": "Create a calendar event and send an invite. The recipient will see the event with a join link.", + "Schedule a video call": "Schedule a video call", + "Create a calendar event and send kind 24 invites to each listed invitee.": "Create a calendar event and send kind 24 invites to each listed invitee.", + Invitees: "Invitees", + "Paste nostr:npub1... or nostr:nprofile1... (one or more)": "Paste nostr:npub1... or nostr:nprofile1... (one or more)", + "Schedule and send invites": "Schedule and send invites", + "Add at least one invitee (paste nostr:npub or nostr:nprofile links)": "Add at least one invitee (paste nostr:npub or nostr:nprofile links)", + "Scheduled call created and {{count}} invite(s) sent": "Scheduled call created and {{count}} invite(s) sent", + "Join video call": "Join video call", + "Scheduled video call": "Scheduled video call", + "Video call": "Video call", + "Schedule and send invite": "Schedule and send invite", + "Scheduling…": "Scheduling…", + "Please set a start time": "Please set a start time", + "End time must be after start time": "End time must be after start time", + "Failed to schedule call": "Failed to schedule call", + "Scheduled call created and invite sent": "Scheduled call created and invite sent", + RSVP: "RSVP", + "RSVP: {{status}}": "RSVP: {{status}}", + Accepted: "Accepted", + Tentative: "Tentative", + Declined: "Declined", + "You need to log in to RSVP": "You need to log in to RSVP", + "RSVP updated": "RSVP updated", + "Failed to update RSVP": "Failed to update RSVP", + Organizer: "Organizer", + Attendees: "Attendees", + "No response": "No response", + "Calendar Events": "Calendar Events", + "Calendar Event": "Calendar Event", + "Schedule in-person meeting": "Schedule in-person meeting", + "Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.": "Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.", + "You're invited to an in-person meeting.": "You're invited to an in-person meeting.", + "Meeting created and invite sent": "Meeting created and invite sent", + "Failed to create meeting": "Failed to create meeting", + "Create and send invite": "Create and send invite", + "Creating…": "Creating…", + "In-person meeting": "In-person meeting", + Location: "Location", + "Address, venue, or place": "Address, venue, or place", + Description: "Description", + "Optional notes": "Optional notes", + "Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.": "Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.", + "Meeting created and {{count}} invite(s) sent": "Meeting created and {{count}} invite(s) sent", + "Create and send invites": "Create and send invites", + Title: "Title", + Start: "Start", + End: "End", + Delete: "Delete", + "Relay already exists": "Relay already exists", + "invalid relay URL": "invalid relay URL", + "Relay URL…": "wss://… or relay host", + "Open relay": "Open relay", + "Add a new relay": "Add a new relay", + back: "back", + "Lost in the void": "Lost in the void", + "Carry me home": "Carry me home", + "no replies": "no replies", + "Reply to": "Reply to", + Search: "Search", + "The relays you are connected to do not support search": "The relays you are connected to do not support search", + "Show more...": "Show more...", + "All users": "All users", + "Display replies": "Display replies", + Notes: "Notes", + Replies: "Replies", + Gallery: "Gallery", + Notifications: "Notifications", + "no more notifications": "no more notifications", + "Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.": "Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.", + "Login with Browser Extension": "Login with Browser Extension", + "Login with Bunker": "Login with Bunker", + "Login with Private Key": "Login with Private Key", + "Login with npub (read-only)": "Login with npub (read-only)", + readOnlySession: {"label":"Read-only","labelShort":"R/O","hint":"Browsing without a signing key. Sign in with an extension, nsec, or another method to post, react, and edit."}, + "reload notes": "reload notes", + "Logged in Accounts": "Logged in Accounts", + "Add an Account": "Add an Account", + "More options": "More options", + "Add client tag": "Add client tag", + "Show others this was sent via Imwald": "Show others this was sent via Imwald", + "Are you sure you want to logout?": "Are you sure you want to logout?", + "relay sets": "relay sets", + edit: "edit", + Languages: "Languages", + Theme: "Theme", + System: "System", + Light: "Light", + Dark: "Dark", + Temporary: "Temporary", + "Choose a relay set": "Choose a relay set", + "Switch account": "Switch account", + Pictures: "Pictures", + "Picture note": "Picture note", + "A special note for picture-first clients like Olas": "A special note for picture-first clients like Olas", + "Picture note requires images": "Picture note requires images", + Relays: "Relays", + Image: "Image", + "This image could not be loaded.": "This image could not be loaded.", + "Invalid or unsupported image address.": "Invalid or unsupported image address.", + "Open image link": "Open image link", + "Upload Image": "Upload Image", + "Insert emoji": "Insert emoji", + "Insert GIF": "Insert GIF", + "Insert meme": "Insert meme", + "Search GIFs": "Search GIFs", + "Search memes": "Search memes", + "Choose a GIF": "Choose a GIF", + "Choose a meme": "Choose a meme", + "Search GifBuddy for more GIFs": "Search GifBuddy for more GIFs", + "Add your own GIFs": "Add your own GIFs", + "Add your own meme templates": "Add your own meme templates", + "Description (optional, for search)": "Description (optional, for search)", + "e.g. happy birthday, thumbs up": "e.g. happy birthday, thumbs up", + "e.g. drake, distracted boyfriend": "e.g. drake, distracted boyfriend", + "Uploading...": "Uploading...", + "No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.": "No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.", + "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).": "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).", + "Failed to publish meme template for the picker": "Failed to publish meme template for the picker", + "{{name}} is not a GIF file": "{{name}} is not a GIF file", + "{{name}} is not a JPEG, PNG, or WebP file": "{{name}} is not a JPEG, PNG, or WebP file", + "R & W": "R & W", + Read: "Read", + Write: "Write", + "Pull relay sets": "Pull relay sets", + "Select the relay sets you want to pull": "Select the relay sets you want to pull", + "No relay sets found": "No relay sets found", + "Pull n relay sets": "Pull {{n}} relay sets", + Pull: "Pull", + "Select all": "Select all", + "Relay Sets": "Relay Sets", + "Read & Write Relays": "Read & Write Relays", + "read relays description": "Read relays are used to seek events about you. Other users will publish the events they want you to see to your read relays.", + "write relays description": "Write relays are used to publish your events. Other users will seek your events from your write relays.", + "read & write relays notice": "The number of read and write servers should ideally be kept between 2 and 4.", + "Don't have an account yet?": "Don't have an account yet?", + "or simply generate a private key": "or simply generate a private key", + "This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.": "This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.", + Edit: "Edit", + Save: "Save", + "Display Name": "Display Name", + Bio: "Bio", + "Nostr Address (NIP-05)": "Nostr Address (NIP-05)", + "Invalid NIP-05 address": "Invalid NIP-05 address", + "Copy private key": "Copy private key", + "Enter the password to decrypt your ncryptsec": "Enter the password to decrypt your ncryptsec", + Back: "Back", + "optional: encrypt nsec": "optional: encrypt nsec", + password: "password", + "Sign up": "Sign up", + "Save to": "Save to", + "Enter a name for the new relay set": "Enter a name for the new relay set", + "Save to a new relay set": "Save to a new relay set", + Mute: "Mute", + Muted: "Muted", + Unmute: "Unmute", + "Unmute user": "Unmute user", + Block: "Block", + Unblock: "Unblock", + blocked: "blocked", + "Append n relays": "Append {{n}} relays", + Append: "Append", + "Select relays to append": "Select relays to append", + "calculating...": "calculating...", + "Calculate optimal read relays": "Calculate optimal read relays", + "Login to set": "Login to set", + "Please login to view following feed": "Please login to view following feed", + "Follow set": "Follow set", + "Follow set feed empty": "This NIP-51 list is empty, was not found, or relays could not load it yet.", + "Send only to r": "Send only to {{r}}", + "Send only to these relays": "Send only to these relays", + Explore: "Explore", + "Relay reviews": "Relay reviews", + "Search relays": "Search relays", + relayInfoBadgeAuth: "Auth", + relayInfoBadgeSearch: "Search", + relayInfoBadgePayment: "Payment", + Operator: "Operator", + Contact: "Contact", + Software: "Software", + Version: "Version", + "Random Relays": "Random Relays", + randomRelaysRefresh: "Refresh", + "Explore more": "Explore more", + "Payment page": "Payment page", + "Supported NIPs": "Supported NIPs", + "Relay liveliness (NIP-66)": "Relay liveliness (NIP-66)", + "Relay monitor (NIP-66)": "Relay monitor (NIP-66)", + "Auth required": "Auth required", + "Public (no auth)": "Public (no auth)", + "Payment required": "Payment required", + "No payment": "No payment", + "Writes required": "Writes required", + "Writes open": "Writes open", + "PoW required": "PoW required", + "No PoW": "No PoW", + "RTT open": "RTT open", + "RTT read": "RTT read", + "RTT write": "RTT write", + "Supported NIPs (from monitor)": "Supported NIPs (from monitor)", + "Last reported by monitor": "Last reported by monitor", + Network: "Network", + Type: "Type", + Topics: "Topics", + "Open in a": "Open in {{a}}", + "Cannot handle event of kind k": "Cannot handle event of kind {{k}}", + "Unsupported event preview": "There isn’t a dedicated card for this event type yet. Here’s a readable preview.", + "No text content in event": "No text in this event.", + "Technical details": "Technical details", + "Event kind and time": "Kind {{kind}} · {{time}}", + "Event kind label": "Kind {{kind}}", + "Note kind label line": "KIND: {{kind}} · {{description}}", + "Unknown note declared kind tag": "Tagged kind: {{value}}", + "Unknown note tagged pubkey": "Tagged pubkey", + "Unknown note tagged content": "Content", + "Unknown note reference tags": "Reference tags (e, p, q, a)", + "Starred spells": "Starred spells", + "Spell star add title": "Star spell (adds to your Nostr bookmarks)", + "Spell star remove title": "Unstar spell (removes from your Nostr bookmarks)", + "Copy JSON": "Copy JSON", + Verse: "Verse", + "Notification reaction summary": "reacted to this note.", + "Notification discussion upvote summary": "upvoted in this discussion.", + "Notification discussion downvote summary": "downvoted in this discussion.", + "Notification boost summary": "Boosted this note", + "Notification boost detail": "The preview above is the original post.", + "Notification poll vote summary": "Voted on the poll above.", + "Notification poll vote options count": "{{count}} option(s) selected", + "Imwald synthetic event": "Imwald synthetic event", + "+ Add a URL to this list": "Add a URL to this list", + "Add a web URL": "Add a web URL", + "Add web URL to feed description": "Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.", + "Add to feed": "Add to feed", + "Open any https page in the side panel to reply, react, and discuss on Nostr.": "Open any https page in the side panel to reply, react, and discuss on Nostr.", + "Enter a valid http(s) URL": "Enter a valid http(s) URL", + "Opened by URL — not from your RSS list. Nostr thread is still tied to this link.": "Opened by URL — not from your RSS list. Nostr thread is still tied to this link.", + "Open in browser": "Open in browser", + "liveEvent.zapStreamPlayer": "Live stream (zap.stream)", + liveStreamEmbedSuppressed: "Inline live stream is hidden because your kind filter excludes NIP-53 streams. Open via njump or another client below.", + "liveEvent.hlsPlaybackUnavailable": "Inline playback failed (the stream may be offline, ended, or blocked). You can still open the hosted watch page below.", + "liveEvent.hideFromCarousel": "Hide from carousel", + "liveEvent.showInCarousel": "Show in carousel", + "liveEvent.hideFromCarouselTitle": "Hide this stream in the live carousel (saved in this browser on this device). Click again to show it.", + "liveEvent.showInCarouselTitle": "Show this stream in the live carousel again.", + "Web page": "Web page", + Open: "Open", + "Sorry! The note cannot be found 😔": "Sorry! The note cannot be found 😔", + "This user has been muted": "This user has been muted", + Wallet: "Wallet", + Sats: "Sats", + sats: "sats", + "Zap to": "Zap to", + "Zap n sats": "Zap {{n}} sats", + zapComment: "Comment", + "Default zap amount": "Default zap amount", + "Default zap comment": "Default zap comment", + "Lightning Address (or LNURL)": "Lightning Address (or LNURL)", + "Quick zap": "Quick zap", + "If enabled, you can zap with a single click. Click and hold for custom amounts": "If enabled, you can zap with a single click. Click and hold for custom amounts", + All: "All", + Reactions: "Reactions", + Zaps: "Zaps", + Boosts: "Boosts", + Badges: "Badges", + Reports: "Reports", + "Enjoying Imwald?": "Enjoying Imwald?", + "Your donation helps me maintain Imwald and make it better! 😊": "Your donation helps me maintain Imwald and make it better! 😊", + "Earlier notifications": "Earlier notifications", + "Temporarily display this note": "Temporarily display this note", + buttonFollowing: "Following", + "Are you sure you want to unfollow this user?": "Are you sure you want to unfollow this user?", + "Recent Supporters": "Recent Supporters", + "Seen on": "Seen on", + "Active relays": "Active relays", + "Not connected": "Not connected", + "Relay session striked": "Skipped this session (too many connection failures)", + "More relays": "+{{count}} relays", + "Temporarily display this reply": "Temporarily display this reply", + "Note not found": "Note not found", + "Invalid embedded note reference": "Invalid embedded note reference", + embeddedNoteInvalidEmpty: "This embedded link is empty.", + embeddedNoteInvalidHex: "This is not a valid hex event id (expected exactly 64 hexadecimal characters).", + embeddedNoteInvalidBech32: "This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.", + embeddedNoteInvalidWrongKind: "This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.", + "The note was not found on your relays or default relays.": "The note was not found on your relays or default relays.", + "Try searching author's relays": "Try searching author's relays", + "Searching external relays...": "Searching external relays...", + "This will connect to the author's relays and relay hints": "This will connect to the author's relays and relay hints", + "Note could not be found anywhere": "Note could not be found anywhere", + "Try external relays": "Try external relays", + "Searching...": "Searching...", + "Show relays": "Show relays", + "No external relay hints available": "No external relay hints available", + "External relay search is not available for this link type": "External relay search is not available for this link type.", + "Searched external relays not found": "Searched {{count}} external relays; the note was still not found.", + "no more replies": "no more replies", + "Relay sets": "Relay sets", + "Search for Relays": "Search for Relays", + "Using app default relays": "Using app default relays", + "Following's Favorites": "Following's Favorites", + "no more relays": "no more relays", + "Favorited by": "Favorited by", + "Post settings": "Post settings", + "Publishing feedback": "Publishing feedback", + "Publish success toasts": "Publish success toasts", + "Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.": "Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.", + "Publish successful": "Publish successful", + "Media upload service": "Media upload service", + "Choose a relay": "Choose a relay", + "no relays found": "no relays found", + video: "video", + "Show n new notes": "Show {{n}} new notes", + YouTabName: "You", + Bookmark: "Bookmark", + "Remove bookmark": "Remove bookmark", + "no bookmarks found": "no bookmarks found", + "no more bookmarks": "no more bookmarks", + Bookmarks: "Bookmarks", + "Follow Packs": "Follow Packs", + "Follow Pack": "Follow Pack", + "Follow pack by": "by", + "In Follow Packs": "In Follow Packs", + "Badge details": "Badge details", + "Issued by": "Issued by", + "Other recipients": "Other recipients", + "No other recipients found": "No other recipients found", + "Recipients could not be loaded": "Recipients could not be loaded", + "View award": "View award", + "Awarded on": "Awarded on", + "Please log in to follow": "Please log in to follow", + "Following All": "Following All", + "Followed {{count}} users": "Followed {{count}} users", + "All available members are already followed or muted": "All available members are already followed or muted", + "You are already following all members of this pack": "You are already following all members of this pack", + "Failed to follow pack": "Failed to follow pack", + "{{count}} profiles": "{{count}} profiles", + "Show more": "Show more", + General: "General", + Autoplay: "Autoplay", + "Enable video autoplay on this device": "Enable video autoplay on this device", + "liveActivities.heading": "Live now", + "liveActivities.regionLabel": "Live spaces and streams", + "liveActivities.fromFollow": "From someone you follow", + "liveActivities.goToSlide": "Show live item {{n}}", + "liveActivities.swipeToBrowse": "Swipe left or right on the banner to switch between live activities.", + "liveActivities.viewNoteTitle": "Open this live activity as a note (play in app, links below)", + "liveActivities.openJoinPageTitle": "Open the join page in a new tab (e.g. zap.stream or the room site)", + "liveActivities.settingsToggle": "Live activities banner", + "liveActivities.settingsHint": "Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.", + "Add random relays to every publish": "Random relays in publish list", + "Add random relays to every publish description": "Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.", + relayType_local: "Local", + relayType_relay_list: "Relay list", + relayType_http_relay_list: "HTTP", + "HTTP relays": "HTTP relays", + httpRelaysDescription: "HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.", + "HTTP relays saved": "HTTP relays saved", + "Failed to save HTTP relay list": "Failed to save HTTP relay list", + "HTTP relays must start with https:// or http://": "HTTP relays must start with https:// or http://", + relayType_client_default: "Client default", + relayType_open_from: "Current feed", + relayType_favorite: "Favorite", + relayType_relay_set: "Relay set", + relayType_contextual: "Reply/PM", + relayType_randomly_selected: "Random (optional)", + "Session relays": "Session relays", + "Session relays tab description": "Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish). Striked relays are skipped for reads and publishes until reload.", + "Session relays preset working": "Working preset relays", + "Session relays preset working hint": "Preset relays (from app defaults) that have not reached the session failure threshold (2 failures).", + "Session relays preset striked": "Striked preset relays", + "Session relays preset striked hint": "Preset relays that have reached 2 connection or publish failures this session and are skipped for reads and writes until you reload the app.", + "Session relays scored random": "Scored random relays", + "Session relays scored random hint": "Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.", + "Session relays all striked": "All striked relays (any source)", + "Session relays clear strike": "Allow again", + "Session relays clear strike hint": "Remove this relay from the session block list; it will be used again until new connection failures.", + "relaySessionStrikes.bannerWarning": "This relay has {{count}} session strike(s) (limit {{threshold}}) after connection or query failures.", + "relaySessionStrikes.bannerSkipped": "This relay has reached the session failure limit ({{threshold}} strikes) and is skipped for reads and publishes in this tab.", + "relaySessionStrikes.refreshHint": "Use {{refresh}} to clear strikes for this relay and load the feed again.", + successes: "successes", + None: "None", + "Cache & offline storage": "Cache & offline storage", + feedStarting: "Starting feeds and relays… This can take a few seconds after login.", + singleRelayKindFallbackNotice: "This relay returned no events for an open-ended request (no kinds in the filter). The feed below uses your usual kind filter instead.", + refreshCacheButtonExplainer: "Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.", + "eventArchive.sectionTitle": "Notes & feed archive", + "eventArchive.sectionBlurb": "Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.", + "eventArchive.defaultsMobile": "This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).", + "eventArchive.defaultsElectron": "Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.defaultsDesktopWeb": "Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.enablePersist": "Persist feed events to disk", + "eventArchive.maxMb": "Max archive size (MB), blank = default for this device", + "eventArchive.maxEvents": "Max archived events, blank = default", + "eventArchive.sessionLru": "In-memory session cache (event count), blank = default", + "eventArchive.effectiveSummary": "Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.", + "eventArchive.on": "on", + "eventArchive.off": "off", + "eventArchive.apply": "Apply cache settings", + "eventArchive.appliedToast": "Cache settings saved. Session memory updated.", + "Paste or drop media files to upload": "Paste or drop media files to upload", + Preview: "Preview", + "You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?": "You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?", + "Platinum Sponsors": "Platinum Sponsors", + From: "From", + "Comment on": "Comment on", + "View on njump.me": "View on njump.me", + "Hide content from untrusted users": "Hide content from untrusted users", + "Only show content from your followed users and the users they follow": "Only show content from your followed users and the users they follow", + "Followed by": "Followed by", + "Mute user privately": "Mute user privately", + "Mute user publicly": "Mute user publicly", + Quotes: "Quotes", + "Lightning Invoice": "Lightning Invoice", + "Bookmark failed": "Bookmark failed", + "Remove bookmark failed": "Remove bookmark failed", + "Removed from bookmarks": "Removed from bookmarks", + "Bookmark not in list": "This bookmark is not in your list (already removed or out of sync).", + "Pin not in list": "This pin is not in your list (already removed or out of sync).", + "Failed to remove pin": "Failed to remove pin", + Translation: "Translation", + Balance: "Balance", + characters: "characters", + translateApiKeyDescription: "You can use this API key anywhere else that supports LibreTranslate. The service URL is {{serviceUrl}}", + "Top up": "Top up", + "Will receive: {n} characters": "Will receive: {{n}} characters", + "Top up {n} sats": "Top up {{n}} sats", + "Minimum top up is {n} sats": "Minimum top up is {{n}} sats", + Service: "Service", + "Reset API key": "Reset API key", + "Are you sure you want to reset your API key? This action cannot be undone.": "Are you sure you want to reset your API key? This action cannot be undone.", + Warning: "Warning", + "Errors & warnings": "Errors & warnings", + "Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.": "Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.", + "Service address": "Service address", + Pay: "Pay", + interactions: "interactions", + notifications: "notifications", + notificationsViewAsAccount: "View as", + notificationsViewAsAccountAria: "Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.", + notificationsSwitchAccountFailed: "Could not switch account. Check your signer, password, or extension and try again.", + "Show untrusted {type}": "Show untrusted {{type}}", + "Hide untrusted {type}": "Hide untrusted {{type}}", + "Currently hiding {type} from untrusted users.": "Currently hiding {{type}} from untrusted users.", + "Currently showing all {type}.": "Currently showing all {{type}}.", + "Click continue to show all {type}.": "Click continue to show all {{type}}.", + "Click continue to hide {type} from untrusted users.": "Click continue to hide {{type}} from untrusted users.", + "Trusted users include people you follow and people they follow.": "Trusted users include people you follow and people they follow.", + Continue: "Continue", + "Successfully updated mute list": "Successfully updated mute list", + "No pubkeys found from {url}": "No pubkeys found from {{url}}", + "Translating...": "Translating...", + Translate: "Translate", + "Show original": "Show original", + Website: "Website", + "Hide untrusted notes": "Hide untrusted notes", + "Open in another client": "Open in another client", + Community: "Community", + Group: "Group", + "Live event": "Live event", + Article: "Article", + Unfavorite: "Unfavorite", + "Recommended relays": "Recommended relays", + "Show recommended relays panel": "Show recommended relays panel", + "Display the right-side panel with recommended relays on desktop": "Display the right-side panel with recommended relays on desktop", + "Blossom server URLs": "Blossom server URLs", + "You need to add at least one blossom server in order to upload media files.": "You need to add at least one blossom server in order to upload media files.", + "Recommended blossom servers": "Recommended blossom servers", + "Enter Blossom server URL": "Enter Blossom server URL", + Preferred: "Preferred", + "Multiple choice (select one or more)": "Multiple choice (select one or more)", + Vote: "Vote", + "{{number}} votes": "{{number}} votes", + "Total votes": "Total votes", + "Poll has ended": "Poll has ended", + "Poll ends at {{time}}": "Poll ends at {{time}}", + "Load results": "Load results", + "This is a poll note.": "This is a poll note.", + "Unlike regular notes, polls are not widely supported and may not display on other clients.": "Unlike regular notes, polls are not widely supported and may not display on other clients.", + "Option {{number}}": "Option {{number}}", + "Add Option": "Add Option", + "Remove option": "Remove option", + "Close highlight editor": "Close highlight editor", + "Allow multiple choices": "Allow multiple choices", + "End Date (optional)": "End Date (optional)", + "Clear end date": "Clear end date", + "Relay URLs (optional, comma-separated)": "Relay URLs (optional, comma-separated)", + "Remove poll": "Remove poll", + "Refresh results": "Refresh results", + "{{votes}} · {{pct}}%": "{{votes}} · {{pct}}%", + "See results": "See results", + "Zap poll (paid votes)": "Zap poll (paid votes)", + "Invalid zap poll": "Invalid zap poll", + "You voted on this poll (zap receipt)": "You voted on this poll (zap receipt)", + "Poll closed {{time}}": "Poll closed {{time}}", + "Closes {{time}}": "Closes {{time}}", + "Vote size": "Vote size", + "{{n}} sats (fixed)": "{{n}} sats (fixed)", + "{{min}}–{{max}} sats": "{{min}}–{{max}} sats", + "≥ {{n}} sats": "≥ {{n}} sats", + "≤ {{n}} sats": "≤ {{n}} sats", + "Loading tally…": "Loading tally…", + "Zap poll no votes yet": "No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).", + "Consensus threshold": "Consensus threshold", + "Pay to": "Pay to", + Recipient: "Recipient", + Option: "Option", + "Select option": "Select option", + "Select an option": "Select an option", + "Vote with zap": "Vote with zap", + "Zap sent": "Zap sent", + "Zapping…": "Zapping…", + "Refresh tally": "Refresh tally", + "{{n}} zaps": "{{n}} zaps", + Poll: "Poll", + Media: "Media", + "Articles and Publications": "Articles and Publications", + "Search articles...": "Search articles...", + "Refreshing articles...": "Refreshing articles...", + "No articles or publications found": "No articles or publications found", + "No articles or publications match your search": "No articles or publications match your search", + "articles and publications": "articles and publications", + Interests: "Interests", + Favorites: "Favorites", + Calendar: "Calendar", + "No subscribed interests yet.": "No subscribed interests yet. Add topics in settings to see them here.", + "No bookmarked notes with id tags yet.": "No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.", + "No follows or relays to load yet.": "No follows or relays to load yet.", + "No favorites yet.": "No favorites yet. Add follows, follow sets, interests, or bookmarks.", + "Added from interests": "Added from interests", + "Added from bookmarks list": "Added from bookmarks list", + "Added from your web bookmarks": "Added from your web bookmarks", + "Added from follows and contact lists": "Added from follows and contact lists", + "Added from follows web bookmarks": "Added from follows web bookmarks", + "Nothing to load for this feed.": "Nothing to load for this feed.", + "No posts loaded for this feed. Try refreshing.": "No posts loaded for this feed. Try refreshing.", + "Looking for more events…": "Looking for more events…", + "Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.": "Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.", + "Per-relay timeline results ({{count}} connections)": "Per-relay timeline results ({{count}} connections)", + "Republish to ...": "Republish to ...", + "All available relays": "All available relays", + "All active relays (monitoring list)": "All active relays (monitoring list)", + "Successfully republish to all available relays": "Successfully republish to all available relays", + "Failed to republish to all available relays: {{error}}": "Failed to republish to all available relays: {{error}}", + "Successfully republish to all active relays": "Successfully republish to all active relays", + "Failed to republish to all active relays: {{error}}": "Failed to republish to all active relays: {{error}}", + "No active relays in monitoring list": "No active relays in monitoring list", + "No relay accepted the event": "No relay accepted the event", + "No relays available": "No relays available", + "No write relays configured": "No write relays configured", + "Relay did not accept the event": "Relay did not accept the event", + "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".": "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".", + "Successfully republish to your write relays": "Successfully republish to your write relays", + "Failed to republish to your write relays: {{error}}": "Failed to republish to your write relays: {{error}}", + "Successfully republish to relay set: {{name}}": "Successfully republish to relay set: {{name}}", + "Failed to republish to relay set: {{name}}. Error: {{error}}": "Failed to republish to relay set: {{name}}. Error: {{error}}", + "Successfully republish to relay: {{url}}": "Successfully republish to relay: {{url}}", + "Failed to republish to relay: {{url}}. Error: {{error}}": "Failed to republish to relay: {{url}}. Error: {{error}}", + "Write relays": "Write relays", + "No more reactions": "No more reactions", + "No reactions yet": "No reactions yet", + "No more zaps": "No more zaps", + "No zaps yet": "No zaps yet", + "No more boosts": "No more boosts", + "No boosts yet": "No boosts yet", + "n more boosts": "{{count}} more boosts", + FollowListNotFoundConfirmation: "Follow list not found. Do you want to create a new one? If you have followed users before, please DO NOT confirm as this operation will cause you to lose your previous follow list.", + MuteListNotFoundConfirmation: "Mute list not found. Do you want to create a new one? If you have muted users before, please DO NOT confirm as this operation will cause you to lose your previous mute list.", + "Show NSFW content by default": "Show NSFW content by default", + "Custom emoji management": "Custom emoji management", + "After changing emojis, you may need to refresh the page": "After changing emojis, you may need to refresh the page", + "Too many read relays": "Too many read relays", + "Too many write relays": "Too many write relays", + "You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.": "You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.", + "You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.": "You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.", + "Optimize Relay Settings": "Optimize Relay Settings", + "Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.": "Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.", + "Optimize Now": "Optimize Now", + "Maybe Later": "Maybe Later", + "Don't remind me again": "Don't remind me again", + Posts: "Posts", + "Posts (OPs)": "Posts (OPs)", + "Kind 1 replies": "Kind 1 replies", + Comments: "Comments", + "Replies & comments": "Replies & comments", + Articles: "Articles", + Highlights: "Highlights", + "A note from": "A note from", + Polls: "Polls", + "Zap polls": "Zap polls", + "Voice Posts": "Voice Posts", + "Photo Posts": "Photo Posts", + "Video Posts": "Video Posts", + "Git repositories": "Git repositories", + "Git issues": "Git issues", + "Git releases": "Git releases", + "Git Republic repository": "Git Republic repository", + "Git Republic issue": "Git Republic issue", + "Git Republic release": "Git Republic release", + "Git Republic event": "Git Republic event", + "Git Republic": "Git Republic", + "Open in Git Republic": "Open in Git Republic", + "Pre-release": "Pre-release", + Draft: "Draft", + "Repository release": "Repository release", + "New Repository Release": "New Repository Release", + "Release notes use the editor below (optional).": "Release notes use the editor below (optional).", + "Repository owner (npub or hex)": "Repository owner (npub or hex)", + "Repository id (d-tag)": "Repository id (d-tag)", + "Git tag name": "Git tag name", + "Tag target (40-char commit hash)": "Tag target (40-character commit hash)", + "40-character hex SHA-1": "40-character hex SHA-1", + "Release title": "Release title", + "Download URL": "Download URL", + "Draft release": "Draft release", + "Fill repository release fields": "Fill in all required repository release fields.", + "Invalid repository owner pubkey": "Invalid repository owner (use npub or 64-char hex).", + "Citations require private relays (NIP-65).": "Citations require private outbox relays (NIP-65).", + "Select All": "Select All", + "Clear All": "Clear All", + "Set as default filter": "Set as default filter", + "Use filter": "Use filter", + "See all events": "See all events", + "See all events hint": "Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.", + "Use filter hint": "Only the kinds you select below are requested and shown.", + "Advanced event lab": "Advanced editor", + "Advanced lab applyError": "Editor is not ready. Try again.", + "Advanced lab cancel undo": "Cancel and Undo Changes", + "Advanced lab undo checkpoint": "Restore checkpoint", + "Advanced lab undo checkpoint hint": "About every 30 seconds this tab saves the editor (kind, body, tags) in session storage, up to 10 versions. Use this after a translation or bulk edit you want to roll back.", + "Advanced lab undo checkpoint none": "No older checkpoint to restore.", + "Advanced lab undo checkpoint restored": "Editor restored to a saved checkpoint.", + "Advanced lab markup label markdown": "Markdown", + "Advanced lab markup label asciidoc": "AsciiDoc", + "Advanced lab preview": "Preview", + "Advanced lab preview empty": "Nothing to preview yet.", + "Advanced lab markup placeholder markdown": "Note body (Markdown)", + "Advanced lab markup placeholder asciidoc": "Note body (AsciiDoc)", + "Advanced lab tags JSON": "Kind, content, and tags (JSON)", + "Advanced lab json placeholder": "{ \"kind\": 1, \"content\": \"…\", \"tags\": [] }", + "Advanced lab grammar language": "Grammar check language", + "Advanced lab translate": "Translate body", + "Advanced lab translation source": "Source language", + "Advanced lab translation source auto": "Detect automatically", + "Advanced lab translation target": "Target language", + "Advanced lab translation languages loading": "Loading languages from translate service…", + "Advanced lab translation languages empty": "Translate service returned no languages (check Docker / LibreTranslate).", + "Advanced lab translation languages error": "Could not load languages from the translate service.", + "Advanced lab translation same source target": "Source and target language must differ.", + "Show original text": "Show original text", + "Showing original note text": "Showing original text for this note.", + "Translate note": "Translate note", + "Translating note…": "Translating note…", + "Note translated": "Translated to {{language}}.", + "Note translation failed": "Translation failed: {{message}}", + "Read-aloud Piper English voice fallback title": "English voice in use", + "Read-aloud Piper English voice fallback detail": "Piper has no voice model for {{language}}. This session uses the English Piper voice instead; pronunciation may not match the written text.", + "Advanced lab translate not configured": "Translation URL is not set (VITE_TRANSLATE_URL).", + "Advanced lab translate done": "Translation inserted into the editor.", + "Advanced lab use translation read aloud": "Use body for read-aloud (this note)", + "Advanced lab read aloud buffer set": "The next read-aloud for this note will use the current body text (translated if you translated first).", + "Composer JSON tab hint": "Edit the draft as JSON (`kind`, `content`, `tags` only). `kind` must match the note type selected above. Other fields are set when you publish.", + "Composer JSON apply": "Apply JSON", + composerJsonKindMismatch: "JSON kind {{got}} does not match the composer (expected {{expected}}). Change the note type or fix `kind` in JSON.", + composerJsonApplySuccess: "Draft updated from JSON.", + "Advanced lab tb markup tools": "Markup helpers", + "Advanced lab tb headings": "Headings", + "Advanced lab tb headings hint": "Inserts at the cursor; adjust spacing if needed.", + "Advanced lab tb heading placeholder": "Title", + "Advanced lab tb h1": "Heading 1 (#)", + "Advanced lab tb h2": "Heading 2 (##)", + "Advanced lab tb h3": "Heading 3 (###)", + "Advanced lab tb h4": "Heading 4 (####)", + "Advanced lab tb h5": "Heading 5 (#####)", + "Advanced lab tb h6": "Heading 6 (######)", + "Advanced lab tb setextH1": "Setext heading 1 (title + ===)", + "Advanced lab tb setextH2": "Setext heading 2 (title + ---)", + "Advanced lab tb horizontalRule": "Horizontal rule (---)", + "Advanced lab tb horizontalRules": "Horizontal rules", + "Advanced lab tb hrDashes": "Dashes (---)", + "Advanced lab tb hrAsterisks": "Asterisks (***)", + "Advanced lab tb hrUnderscores": "Underscores (___)", + "Advanced lab tb inline": "Inline", + "Advanced lab tb bold": "Bold (** **)", + "Advanced lab tb boldUnderscore": "Bold (__ __)", + "Advanced lab tb italic": "Italic (* *)", + "Advanced lab tb italicUnderscore": "Italic (_ _)", + "Advanced lab tb strike": "Strikethrough (~~ ~~)", + "Advanced lab tb inlineCode": "Inline code (` `)", + "Advanced lab tb link": "Link [text](url)", + "Advanced lab tb linkTitled": "Link with title [text](url \"title\")", + "Advanced lab tb image": "Image ![alt](url)", + "Advanced lab tb imageTitled": "Image with title ![alt](url \"title\")", + "Advanced lab tb hardBreak": "Hard line break (two spaces + newline)", + "Advanced lab tb citations": "Citations (NIP-32)", + "Advanced lab tb citationsHint": "Kinds 30–33. Inserts `[[citation::type::nevent…]]` (Markdown & AsciiDoc).", + "Advanced lab citation dialog title": "Insert citation", + "Advanced lab citation dialog hint": "Search for NIP-32 citation events (internal, external, hardcopy, prompt), then pick one.", + "Advanced lab citation search placeholder": "Search kinds 30–33…", + "Advanced lab citation none": "No citation events found", + "Advanced lab citation kindLabel": "Kind {{kind}}", + "Advanced lab citation type inline": "Inline citation", + "Advanced lab citation type quote": "Block quote citation", + "Advanced lab citation type end": "Endnote citation", + "Advanced lab citation type foot": "Footnote call", + "Advanced lab citation type footEnd": "Footnote + end", + "Advanced lab citation type promptInline": "Prompt (inline)", + "Advanced lab citation type promptEnd": "Prompt (end)", + "Advanced lab tb lists": "Lists", + "Advanced lab tb bulletList": "Bullet list (-)", + "Advanced lab tb bulletListStar": "Bullet list (*)", + "Advanced lab tb orderedList": "Numbered list (1.)", + "Advanced lab tb orderedListStart": "Numbered list (custom start, e.g. 4.)", + "Advanced lab tb taskItem": "Task item (- [ ])", + "Advanced lab tb blocks": "Blocks", + "Advanced lab tb blockquote": "Blockquote (>)", + "Advanced lab tb pipeTable": "Pipe table (3×2 starter)", + "Advanced lab tb footnoteRef": "Footnote reference [^1]", + "Advanced lab tb footnoteDef": "Footnote definition [^1]: …", + "Advanced lab tb codeBlock": "Code block", + "Advanced lab tb codeBlockHint": "Pick a language for syntax highlighting in fenced code.", + "Advanced lab tb filterLanguages": "Filter languages…", + "Advanced lab tb math": "Math (KaTeX)", + "Advanced lab tb mathIntro": "Many readers render $…$ / $$…$$ with KaTeX; check your client.", + "Advanced lab tb mathInline": "Inline math ($…$)", + "Advanced lab tb mathDisplay": "Display math ($$…$$)", + "Advanced lab tb mathCommon": "Common formulas", + "Advanced lab tb katexFrac": "Fraction \\frac{a}{b}", + "Advanced lab tb katexSqrt": "Square root \\sqrt{x}", + "Advanced lab tb katexSum": "Sum \\sum_{i=1}^{n}", + "Advanced lab tb katexInt": "Integral \\int_a^b", + "Advanced lab tb katexMatrix": "2×2 matrix (pmatrix)", + "Advanced lab tb katexCases": "Cases (piecewise)", + "Advanced lab tb mathGreek": "Greek & symbols", + "Advanced lab tb greekAlpha": "alpha", + "Advanced lab tb greekBeta": "beta", + "Advanced lab tb greekGamma": "gamma", + "Advanced lab tb greekDelta": "delta", + "Advanced lab tb greekPi": "pi", + "Advanced lab tb greekTheta": "theta", + "Advanced lab tb greekLambda": "lambda", + "Advanced lab tb greekSigma": "sigma", + "Advanced lab tb greekOmega": "omega", + "Advanced lab tb greekInfty": "infinity", + "Advanced lab tb hrTitle": "Horizontal rule", + "Advanced lab tb adocTitles": "Titles", + "Advanced lab tb adocTitlesHint": "Document header: no empty lines inside the header; the first blank line ends it (https://docs.asciidoctor.org/asciidoc/latest/document/header/).", + "Advanced lab tb documentTitle": "Document title", + "Advanced lab tb sectionTitle": "Section title", + "Advanced lab tb adocLevel0": "Document title (=)", + "Advanced lab tb adocLevel0WithHeader": "Minimal header (title, author, revision, description, keywords, first section)", + "Advanced lab tb adocHeaderAuthorLine": "Author Name ", + "Advanced lab tb adocHeaderRevisionLine": "1.0, 2026-04-15: Draft revision", + "Advanced lab tb adocHeaderAttrsBlock": ":description: Short document summary for metadata\n:keywords: keyword-one, keyword-two, keyword-three", + "Advanced lab tb adocSection1": "Section (==)", + "Advanced lab tb adocSection2": "Subsection (===)", + "Advanced lab tb adocSection3": "Subsubsection (====)", + "Advanced lab tb adocSection4": "Level 5 (=====)", + "Advanced lab tb adocSection5": "Level 6 (======)", + "Advanced lab tb adocBold": "Bold (*bold*)", + "Advanced lab tb adocItalic": "Italic (_italic_)", + "Advanced lab tb adocMono": "Monospace (`mono`)", + "Advanced lab tb adocLink": "Link (link:url[text])", + "Advanced lab tb adocImage": "Image (image::url[alt])", + "Advanced lab tb adocUnordered": "Unordered (* item)", + "Advanced lab tb adocOrdered": "Ordered (. item)", + "Advanced lab tb adocLabeled": "Labeled list (term:: def)", + "Advanced lab tb adocBlocks": "Blocks", + "Advanced lab tb adocQuote": "Quote block (____)", + "Advanced lab tb adocLiteral": "Literal block (....)", + "Advanced lab tb adocNote": "NOTE admonition", + "Advanced lab tb adocTip": "TIP admonition", + "Advanced lab tb adocWarning": "WARNING admonition", + "Advanced lab tb adocSource": "Source / listing", + "Advanced lab tb adocSourceHint": "Inserts a [source,lang] block; replace the sample code.", + "Advanced lab tb adocStem": "STEM / LaTeX", + "Advanced lab tb adocStemHint": "Imwald runs Asciidoctor with stem: latexmath; math becomes \\(...\\) / \\[...\\] and is drawn with KaTeX (not MathJax).", + "Advanced lab tb adocStemInline": "Inline stem:[…]", + "Advanced lab tb adocLatexmathInline": "Inline latexmath:[…]", + "Advanced lab tb adocStemBlock": "Display math ([stem] +++ … +++++)", + "Advanced lab tb adocLineBreak": "Hard line break (space + at line end)", + "Advanced lab tb adocSubscript": "Subscript (~text~)", + "Advanced lab tb adocSuperscript": "Superscript (^text^)", + "Advanced lab tb adocPassthrough": "Inline passthrough (+++ … +++)", + "Advanced lab tb adocFootnote": "Footnote (footnote:[…])", + "Advanced lab tb adocImportant": "IMPORTANT admonition", + "Advanced lab tb adocCaution": "CAUTION admonition", + "Advanced lab tb adocExampleBlock": "Example block ([example])", + "Advanced lab tb adocSidebar": "Sidebar (**** … ****)", + "Advanced lab tb adocListing": "Listing block ([listing] + ----)", + "Advanced lab tb adocOpenBlock": "Open block (-- … --)", + "Advanced lab tb adocStructure": "Structure & media", + "Advanced lab tb adocStructureHint": "Tables, IDs/anchors ([#id] before a block—avoids [[wikilink]] syntax), cross-refs, media (Asciidoctor block macros).", + "Advanced lab tb adocTable": "Table (|=== …)", + "Advanced lab tb adocAnchor": "Block or section ID ([#id])", + "Advanced lab tb adocXref": "Cross reference (<>)", + "Advanced lab tb adocVideo": "Video (video::url[])", + "Advanced lab tb adocAudio": "Audio (audio::url[])", + "Advanced lab tb adocOrderedStart": "Ordered list with [start=n]", + "Advanced lab tb adocComment": "Line comment (//)", + "Advanced lab tb adockbd": "Keyboard (kbd:[…])", + "Advanced lab tb adocMenu": "Menu path (menu:…)", + "Advanced lab tb adocBtn": "Button (btn:[…])", + "Advanced lab tb adocHrTitle": "Thematic break (''')", + Apply: "Apply", + Reset: "Reset", + "Share something on this Relay": "Share something on this Relay", + "Try deleting this note": "Try deleting this note", + "Deletion request sent to {{count}} relays": "Deletion request sent to {{count}} relays", + "Suitable Relays": "Suitable Relays", + "People, keywords, or relays": "People, keywords, or relays", + "Hide content mentioning muted users": "Hide content mentioning muted users", + "This note mentions a user you muted": "This note mentions a user you muted", + Filter: "Filter", + "Feed filter": "Feed filter", + "Search loaded posts": "Search loaded posts", + "Filter loaded posts placeholder": "Filter by text in content or tags…", + "Feed filter author": "Author", + "Feed filter author everyone": "From everyone", + "Feed filter author me": "Only from me", + "Feed filter author npub": "From user (npub or hex)", + "Feed filter author npub from prefix": "from:", + "Feed filter author npub placeholder": "npub1… or 64-char hex", + "Feed filter author me needs login": "Log in to filter by your pubkey", + "Within the last": "Within the last", + "Time unit": "Time unit", + Minutes: "Minutes", + Days: "Days", + Weeks: "Weeks", + Months: "Months", + Years: "Years", + "Feed filter client-side hint": "Filters only apply to posts already loaded; relays are not queried again.", + "Feed full search": "Perform full search", + "Feed full search running": "Searching…", + "Feed full search clear": "Clear", + "Feed full search active hint": "Showing relay search results. Clear to return to the live feed.", + "Feed full search need constraint": "Add search text, an author filter, or a time range before searching relays.", + "Feed full search invalid feed": "This feed cannot run a relay search.", + "Feed full search failed": "Relay search failed. Try again.", + "Feed full search empty": "No matching posts were found on the queried relays.", + "No loaded posts match your filters.": "No loaded posts match your filters.", + "mentioned you in a note": "mentioned you in a note", + "quoted your note": "quoted your note", + "quoted this note": "Quoted this note", + "highlighted this note": "Highlighted this note", + "cited in article": "Cited in article", + "Thread backlinks heading": "Also quoting this note", + "Thread backlinks primary section": "Quotes, highlights & citations", + "Thread backlinks bookmarks section": "Bookmarks", + "Thread backlinks lists section": "Lists & collections", + "View full note and thread": "View full note and thread", + "labeled this note": "Labeled this note", + "reported this note": "Reported this note", + "bookmarked this note": "Bookmarked this note", + "pinned this note": "Pinned this note", + "listed this note": "Listed this note", + "bookmark set reference": "Bookmark set includes this note", + "curated this note": "Curated this note", + "badge award for this note": "Badge award for this note", + "referenced this note": "Referenced this note", + "Report events heading": "Moderation reports", + "voted in your poll": "voted in your poll", + "reacted to your note": "reacted to your note", + "boosted your note": "boosted your note", + "zapped your note": "zapped your note", + "zapped you": "zapped you", + zapped: "zapped", + "Invalid zap receipt": "Invalid zap receipt", + "Zapped note": "Zapped note", + "Zapped profile": "Zapped profile", + "Zap reply threshold": "Zap reply threshold", + "Zaps above this amount will appear as replies in threads": "Only zap receipts (kind 9735) with at least this many sats are shown in home and relay feeds (with “Zaps” enabled in the kind filter) and listed under notes as zap replies.", + "Mark as read": "Mark as read", + Report: "Report", + "Successfully report": "Successfully reported", + "Failed to report": "Failed to report", + nudity: "Nudity", + malware: "Malware", + profanity: "Profanity", + illegal: "Illegal content", + spam: "Spam", + other: "Other", + "Notification list style": "Notification list style", + "See extra info for each notification": "See extra info for each notification", + "See more notifications at a glance": "See more notifications at a glance", + Detailed: "Detailed", + "Submit Relay": "Submit Relay", + Homepage: "Homepage", + "Proof of Work (difficulty {{minPow}})": "Proof of Work (difficulty {{minPow}})", + "via {{client}}": "via {{client}}", + "Auto-load media": "Auto-load media", + Always: "Always", + "Wi-Fi only": "Wi-Fi only", + Never: "Never", + "Click to load image": "Click to load image", + "Click to load media": "Click to load media", + "Click to load YouTube video": "Click to load YouTube video", + "{{count}} reviews": "{{count}} reviews", + "Write a review": "Write a review", + "No reviews yet. Be the first to write one!": "No reviews yet. Be the first to write one!", + "View more reviews": "View more reviews", + "Failed to review": "Failed to review", + "Write a review and pick a star rating": "Write a review and pick a star rating", + Submit: "Submit", + "Reviews for {{relay}}": "Reviews for {{relay}}", + "No relays selected": "No relays selected", + "Post to": "Post to", + "Write relays and {{count}} other relays": "Write relays and {{count}} other relays", + "{{count}} relays": "{{count}} relays", + "Republishing...": "Republishing...", + "Trending Notes": "Trending Notes", + "Trending on Your Favorite Relays": "Trending on Your Favorite Relays", + "Trending on the Default Relays": "Trending on the Default Relays", + "Latest from your follows": "Latest from your follows", + "Latest from our recommended follows": "Latest from our recommended follows", + "Search page title": "Search Nostr", + "Follows latest page title": "Latest from follows", + "Follows latest page description": "Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.", + "Follows latest nav label": "Follows latest", + "Loading follow list…": "Loading follow list…", + "Could not load recommended follows": "Could not load recommended follows", + "Your follow list is empty": "Your follow list is empty", + "Loading recent posts from follows…": "Loading recent posts from follows…", + "Loading more…": "Loading more…", + "No recent posts from this user in the current fetch": "No recent posts from this user in the current fetch", + "Loading trending notes from your relays...": "Loading trending notes from your relays...", + "Trending on Nostr": "Trending on Nostr", + "Home trending slice notice": "This feed includes a trending slice (nostrarchives). Notes that reached you from that relay show “Trending on Nostr” under the card.", + Sort: "Sort", + newest: "newest", + oldest: "oldest", + "most popular": "most popular", + "least popular": "least popular", + "Connected to": "Connected to", + "Disconnect Wallet": "Disconnect Wallet", + "Are you absolutely sure?": "Are you absolutely sure?", + "You will not be able to send zaps to others.": "You will not be able to send zaps to others.", + Disconnect: "Disconnect", + "Set up your wallet to send and receive sats!": "Set up your wallet to send and receive sats!", + "Set up": "Set up", + "nested events": "nested events", + "Loading RSS feeds...": "Loading RSS feeds...", + "No RSS feed items available": "No RSS feed items available", + "Show or hide the RSS page and sidebar entry": "Show or hide the RSS page and sidebar entry", + "Refreshing feeds...": "Refreshing feeds...", + "All feeds": "All feeds", + "All time": "All time", + "Last hour": "Last hour", + "Last day": "Last day", + "Last week": "Last week", + "Last month": "Last month", + "Last 24 hours": "Last 24 hours", + "Last 48 hours": "Last 48 hours", + "Time range": "Time range", + "Filter by RSS source": "Filter by RSS source", + "No items match your filters": "No items match your filters", + "Search...": "Search...", + "{{count}} feeds": "{{count}} feeds", + "Toggle filters": "Toggle filters", + "Showing {{filtered}} of {{total}} items": "Showing {{filtered}} of {{total}} items", + Full: "Full", + Compact: "Compact", + Expand: "Expand", + "help.title": "Help", + "help.tabShortcuts": "Keyboard shortcuts", + "help.tabOverview": "App overview", + "shortcuts.title": "Keyboard shortcuts", + "shortcuts.intro": "Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.", + "shortcuts.sectionApp": "This app", + "shortcuts.sectionSearch": "Search bar", + "shortcuts.sectionStandard": "Standard", + "shortcuts.openHelp": "Show this help", + "shortcuts.or": "or", + "shortcuts.then": "then", + "shortcuts.focusPrimary": "Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)", + "shortcuts.focusSecondary": "Focus side panel scroll when it is open (desktop; same keys to scroll)", + "shortcuts.newNote": "New note / post (after login if needed)", + "shortcuts.searchSuggest": "Move through suggestions", + "shortcuts.searchDismiss": "Close search dropdown", + "shortcuts.tabNavigate": "Move focus to the next or previous control", + "shortcuts.activate": "Activate buttons and many controls", + "shortcuts.closeOverlays": "Close dialogs, menus, and the search dropdown", + "shortcuts.scrollWhenFocused": "Scroll the focused scrollable area", + "shortcuts.browserBack": "Browser back (history)", + "No spells yet. Create one with the button above.": "No spells yet. Create one with the button above.", + "Loading spells from your relays…": "Loading spells from your relays…", + "Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.": "Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.", + "Select a spell…": "Select a spell…", + "Spells from follows": "From people you follow ({{count}})", + "Other spells": "Other spells ({{count}})", + "Select a spell to view its feed.": "Select a spell to view its feed.", + "Add another row": "Add another row", + "Remove this row": "Remove this row", + "One kind number per row (e.g. 1 for notes).": "One kind number per row (e.g. 1 for notes).", + "One author per row: $me, $contacts, or hex pubkey / npub.": "One author per row: $me, $contacts, or hex pubkey / npub.", + "One hex event id per row.": "One hex event id per row.", + "One wss:// URL per row. Leave empty to use your write relays.": "One wss:// URL per row. Leave empty to use your write relays.", + "One topic per row.": "One topic per row.", + topic: "topic", + "Spell form fields": "Spell form fields", + "Counting matching events…": "Counting matching events…", + "Edit spell": "Edit spell", + "Clone spell": "Clone spell", + "Spell cloned": "Spell cloned", + "Clone spell intro": "This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.", + "Spell updated": "Spell updated", + "Relay URL": "Relay", + Count: "Count", + "Edit spell relays": "Edit relays", + "COUNT spell relay errors hint": "One or more relays failed or returned an error. You can change the relay list in the spell and save again.", + "COUNT spell total distinct explanation": "Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.", + "Leave empty to use your write relays.": "Leave empty to use your write relays.", + "COUNT spell result explanation": "Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.", + "COUNT spell may be capped by limit": "This count may equal your spell limit — there could be more matching events on the network.", + "Spell count failed. Check relays or try again.": "Could not complete the count. Check relays or try again.", + "REQ returns a feed; COUNT returns a number.": "REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.", + listImportManualLabel: "Pre-fill from event", + listImportFromEventHint: "Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.", + listImportManualPlaceholder: "64-char hex, nevent1…, or naddr1…", + listImportLoadManual: "Apply", + listImportContentSkipped: "This event has non-empty content (may include encrypted private items). Only public tags were merged.", + listImportUnsupportedEmoji: "This list includes emoji tags (NIP-30); those are not added to the spell filter.", + listImportUnsupportedTag: "Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.", + listImportBadATag: "Could not parse address tag: {{preview}}…", + listImportATagNotFound: "Could not resolve address tag: {{preview}}…", + listImportATagFailed: "Failed to resolve address tag: {{preview}}…", + listImportEventNotFound: "No event found for that reference.", + "REQ tag filters": "REQ tag filters", + spellFormTagFiltersLabel: "Tag filters on matching events", + spellCreateIntro: "Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.", + spellFormSectionQueryTitle: "Spell query", + spellFormSectionQueryHint: "This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).", + spellFormSectionMetadataTitle: "Listing & labels (optional)", + spellFormSectionMetadataBadge: "Not part of the query", + spellFormSectionMetadataHint: "Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.", + spellFormCatalogTopicsLabel: "Topic labels on this spell (t tags)", + spellTopicsMetadataHint: "One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).", + spellTagFiltersHint: "Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.", + spellTagFiltersEmpty: "No tag filters yet. Add rows below or apply an event reference above.", + "Tag filter letter": "Tag letter", + "Filter value": "Value", + "Add tag filter": "Add tag filter", + spellPickerSectionYours: "Your spells", + "Failed to remove spell from local storage": "Failed to remove spell from local storage", + Spells: "Spells", + "doublePane.secondaryEmpty": "Open a note, profile, or settings item to show it here.", + "doublePane.secondaryEmptyHint": "Your feed and primary pages stay on the left.", + "(empty)": "—", + "12-hour (AM/PM)": "12-hour (AM/PM)", + "24-hour": "24-hour", + "A new version is available": "A new version is available", + "A short description of the article content": "A short description of the article content", + AM: "AM", + "Access via": "Access via", + "Accessed On": "Accessed on", + "Accessed on": "Accessed on", + "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.": "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.", + "Add a relay to block": "Add a relay to block", + "Add at least one invitee": "Add at least one invitee", + "Add client identifier": "Add client identifier", + "Add expiration tags by default": "Add expiration tags by default", + "Add quiet tags by default": "Add quiet tags by default", + "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above": "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above", + "Add the source (where this text is from)": "Add the source (where this text is from)", + "Add to favorites": "Add to favorites", + "Add {{count}} Selected": "Add {{count}} Selected", + "Added at": "Added at", + "Added {{count}} relay(s)": "Added {{count}} relay(s)", + "Adding...": "Adding...", + "Adding…": "Adding…", + "Advanced Options": "Advanced Options", + "All Topics": "All Topics", + "All feeds from OPML file are already added": "All feeds from OPML file are already added", + "All items deleted successfully": "All items deleted successfully", + "Already blocked": "Already blocked", + "Already saved": "Already saved", + "Application Recommendations": "Application Recommendations", + "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.": "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.", + "Are you sure you want to delete all items from this store?": "Are you sure you want to delete all items from this store?", + "Are you sure you want to unmute this user? This will restore the follow button.": "Are you sure you want to unmute this user? This will restore the follow button.", + "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", + "Article exported as AsciiDoc": "Article exported as AsciiDoc", + "Article exported as Markdown": "Article exported as Markdown", + "Article title (optional)": "Article title (optional)", + articleDTagDefaultHint: "Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….", + Audio: "Audio", + Author: "Author", + "Author is required for reading groups": "Author is required for reading groups", + "Author name (optional)": "Author name (optional)", + Authors: "Authors", + "Block Relay": "Block Relay", + "Blocked Relays": "Blocked Relays", + "Blocking...": "Blocking...", + Blossom: "Blossom", + Book: "Book", + "Brief description of the event": "Brief description of the event", + "Brief summary (optional)": "Brief summary (optional)", + "Brief summary of the article (optional)": "Brief summary of the article (optional)", + "Browse Cache": "Browse Cache", + "Search cached events...": "Search cached events...", + "No cached events match your search.": "No cached events match your search.", + "Showing first {{count}} cached event matches.": "Showing first {{count}} cached event matches.", + "Open in store": "Open in store", + "Browse cache root description": "View IndexedDB stores, or search all cached Nostr-like events (content, tags, id, pubkey, kind) across stores.", + "Copy event JSON": "Copy event JSON", + "C-Tag": "C-Tag", + "Cache Relays": "Cache Relays", + "Cache cleared successfully": "Cache cleared successfully", + "Cache refreshed successfully": "Cache refreshed successfully", + "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.": "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.", + "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)": "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)", + "Cache relays saved": "Cache relays saved", + Cancelled: "Cancelled", + Chapter: "Chapter", + "Chapter Title": "Chapter Title", + "Chapter title (optional)": "Chapter title (optional)", + Citation: "Citation", + "Citation title (optional)": "Citation title (optional)", + "Clean up duplicate replaceable events? This will keep only the newest version of each event.": "Clean up duplicate replaceable events? This will keep only the newest version of each event.", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}}": "Cleaned up {{deleted}} duplicate entries, kept {{kept}}", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})": "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})", + "Cleanup Duplicates": "Cleanup Duplicates", + Clear: "Clear", + "Clear Cache": "Clear Cache", + "Clear Service Worker": "Clear Service Worker", + "Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.": "Clear cached data stored in your browser, including IndexedDB events, read-aloud (Piper) audio cache, localStorage settings, and service worker caches.", + "Click update to get the latest features and improvements": "Click update to get the latest features and improvements", + Close: "Close", + "Comma or space-separated topics (will be added as t-tags)": "Comma or space-separated topics (will be added as t-tags)", + Command: "Command", + Configure: "Configure", + "Connect Wallet": "Connect Wallet", + "Console Logs": "Console Logs", + "Console logs cleared": "Console logs cleared", + "Content is required": "Content is required", + "Content must be 5000 characters or less": "Content must be 5000 characters or less", + Controversial: "Controversial", + "Copied!": "Copied!", + "Copy to clipboard": "Copy to clipboard", + "Create Article": "Create Article", + "Create Citation": "Create Citation", + "Create Highlight": "Create Highlight", + "Create New Thread": "Create New Thread", + "Create Poll": "Create Poll", + "Create Thread": "Create Thread", + composeModeKind1: "Short note (kind 1) — turn off other compose types", + "Create a Spell": "Create a Spell", + "Creating...": "Creating...", + "D-Tag": "D-Tag", + "D-Tag is required for articles": "D-Tag is required for articles", + DOI: "DOI", + "Date-based (all-day)": "Date-based (all-day)", + "Default expiration (months)": "Default expiration (months)", + "Default quiet period (days)": "Default quiet period (days)", + "Delete All": "Delete All", + "Delete item": "Delete item", + "Deleted {{count}} event(s)": "Deleted {{count}} event(s)", + "Deletion request sent": "Deletion request sent", + "Description (content)": "Description (content)", + "Digital Object Identifier (optional)": "Digital Object Identifier (optional)", + "Disable word wrap": "Disable word wrap", + "Discovered Relays": "Discovered Relays", + "Discovering relays...": "Discovering relays...", + Discussion: "Discussion", + Discussions: "Discussions", + Downvote: "Downvote", + "Edited by": "Edited by", + Editor: "Editor", + "Editor name (optional)": "Editor name (optional)", + "Enable word wrap": "Enable word wrap", + "End date": "End date", + "End date must be after start date": "End date must be after start date", + "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.": "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.", + "Enter a descriptive title for your thread": "Enter a descriptive title for your thread", + "Enter the author name": "Enter the author name", + "Enter the book title": "Enter the book title", + "Enter the specific text you want to highlight in the main content area above": "Enter the specific text you want to highlight in the main content area above", + "Event IDs (ids)": "Event IDs (ids)", + "Event appears to be invalid or corrupted": "Event appears to be invalid or corrupted", + "Event has no value data": "Event has no value data", + "Event is missing required fields: {{fields}}": "Event is missing required fields: {{fields}}", + "Event type": "Event type", + "Expiration Tags": "Expiration Tags", + "Export OPML": "Export OPML", + "Export as AsciiDoc": "Export as AsciiDoc", + "Export as Markdown": "Export as Markdown", + "External Citation": "External Citation", + "External Citation Settings": "External Citation Settings", + "Failed to add relay. Please try again.": "Failed to add relay. Please try again.", + "Failed to add relays": "Failed to add relays", + "Failed to block relay. Please try again.": "Failed to block relay. Please try again.", + "Failed to cleanup duplicates": "Failed to cleanup duplicates", + "Failed to clear cache": "Failed to clear cache", + "Failed to copy": "Failed to copy", + "Failed to create relay set. Please try again.": "Failed to create relay set. Please try again.", + "Failed to create thread": "Failed to create thread", + "Failed to create thread. Please try a different relay.": "Failed to create thread. Please try a different relay.", + "Failed to delete all items": "Failed to delete all items", + "Failed to delete item": "Failed to delete item", + "Failed to discover relays": "Failed to discover relays", + "Failed to export OPML file": "Failed to export OPML file", + "Failed to export article": "Failed to export article", + "Failed to import OPML file: {{error}}": "Failed to import OPML file: {{error}}", + "Failed to load RSS feeds": "Failed to load RSS feeds", + "Failed to load store items": "Failed to load store items", + "Failed to mute user privately": "Failed to mute user privately", + "Failed to mute user publicly": "Failed to mute user publicly", + "Failed to pin note": "Failed to pin note", + "Failed to publish post": "Failed to publish post", + "Failed to publish reply": "Failed to publish reply", + "Failed to publish reaction": "Failed to publish reaction", + "Failed to publish thread": "Failed to publish thread", + "Failed to publish to some relays. Please try again or use different relays.": "Failed to publish to some relays. Please try again or use different relays.", + "Failed to save RSS feeds": "Failed to save RSS feeds", + "Failed to save cache relays": "Failed to save cache relays", + "Failed to save relay list": "Failed to save relay list", + "Failed to unregister service worker: ": "Failed to unregister service worker: ", + "Failed to unsubscribe from topic": "Failed to unsubscribe from topic", + Favorite: "Favorite", + Fetch: "Fetch", + "Fetch once, then stop.": "Fetch once, then stop.", + "Filter by": "Filter by", + "Flat View": "Flat View", + "Font size": "Font size", + "Full Quote/Context": "Full Quote/Context", + "Full-text search query": "Full-text search query", + Geohash: "Geohash", + "Geohash (optional)": "Geohash (optional)", + "Global quiet mode": "Global quiet mode", + "Group discussions by topic": "Group discussions by topic", + "Grouped View": "Grouped View", + Groups: "Groups", + "Handler {{index}}": "Handler {{index}}", + "Hardcopy Citation": "Hardcopy Citation", + "Hardcopy Citation Settings": "Hardcopy Citation Settings", + Hide: "Hide", + "Hide interactions on all posts": "Hide interactions on all posts", + "Hide interactions on posts with quiet tags": "Hide interactions on posts with quiet tags", + "High PoW": "High PoW", + "Higher values make your thread harder to mine but more unique.": "Higher values make your thread harder to mine but more unique.", + Highlight: "Highlight", + "Highlight Settings": "Highlight Settings", + "How to Create a Highlight (NIP-84)": "How to Create a Highlight (NIP-84)", + "Human-readable spell name": "Human-readable spell name", + "Image URL": "Image URL", + "Import OPML": "Import OPML", + "Imported {{count}} feed(s) from OPML file": "Imported {{count}} feed(s) from OPML file", + "In-Browser Cache": "In-Browser Cache", + Insert: "Insert", + "Insert URL into your post and publish to Nostr GIF library (NIP-94).": "Insert URL into your post and publish to Nostr GIF library (NIP-94).", + "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.": "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.", + "Insert event or address": "Insert event or address", + "Insert mention": "Insert mention", + "Internal Citation": "Internal Citation", + "Internal Citation Settings": "Internal Citation Settings", + "Invalid Event": "Invalid Event", + "Invalid Lightning Address": "Invalid Lightning Address", + "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.": "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.", + "Invalid URL": "Invalid URL", + "Invalid content JSON": "Invalid content JSON", + "Invalid relay URL": "Invalid relay URL", + "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.": "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.", + "Item deleted successfully": "Item deleted successfully", + JSON: "JSON", + "Join link": "Join link", + "Journal/Publication name (optional)": "Journal/Publication name (optional)", + Json: "JSON", + Kinds: "Kinds", + "Language Model": "Language Model", + Large: "Large", + "Leave empty for HiveTalk, or paste Zoom / Teams / other link": "Leave empty for HiveTalk, or paste Zoom / Teams / other link", + "Lightning payment failed": "Lightning payment failed", + Limit: "Limit", + "Live feed; keeps updating.": "Live feed; keeps updating.", + "Loading more...": "Loading more...", + "Loading relays...": "Loading relays...", + "Location (optional)": "Location (optional)", + "Log in to run this spell (it uses $me or $contacts).": "Log in to run this spell (it uses $me or $contacts).", + "Login failed": "Login failed", + "nip07.extensionKeyMismatch": "Your browser extension is using a different key on this tab. Switch to the matching key in the extension, or reload the page to apply your extension's current selection.", + "nip07.reloadPage": "Reload page", + "Login to configure RSS feeds": "Login to configure RSS feeds", + "Long-form Article": "Long-form Article", + "Mailbox relays saved": "Mailbox relays saved", + "Mark as NSFW": "Mark as NSFW", + "Maximum {{max}} invitees": "Maximum {{max}} invitees", + "Maximum {{max}} invitees allowed": "Maximum {{max}} invitees allowed", + Medium: "Medium", + Mode: "Mode", + "Most Zapped": "Most Zapped", + "Move to top": "Move to top", + "Multiple choice": "Multiple choice", + "Mute failed": "Mute failed", + NSFW: "NSFW", + Name: "Name", + "Name of the language model used": "Name of the language model used", + "New External Citation": "New External Citation", + "New Hardcopy Citation": "New Hardcopy Citation", + "New Highlight": "New Highlight", + "New Internal Citation": "New Internal Citation", + "New Long-form Article": "New Long-form Article", + "New Poll": "New Poll", + "New Discussion": "New Discussion", + "New Prompt Citation": "New Prompt Citation", + "New Public Message": "New Public Message", + "New Wiki Article": "New Wiki Article", + "New Wiki Article (Markdown)": "New Wiki Article (Markdown)", + Newest: "Newest", + "No JSON available": "No JSON available", + "No RSS feeds found in OPML file": "No RSS feeds found in OPML file", + "No cached data found.": "No cached data found.", + "No console logs captured yet": "No console logs captured yet", + "No events found": "No events found", + "No feeds configured. Default feed will be used.": "No feeds configured. Default feed will be used.", + "No feeds to export": "No feeds to export", + "No groups available. Join some groups first.": "No groups available. Join some groups first.", + "No items in this store.": "No items in this store.", + "No items match your search.": "No items match your search.", + "No logs match the current filters": "No logs match the current filters", + "No posts found": "No posts found", + "No posts match your search": "No posts match your search", + "No relays available. Please configure relays in settings.": "No relays available. Please configure relays in settings.", + "No service workers or caches found for this app": "No service workers or caches found for this app", + "No users found": "No users found", + "No valid RSS feed URLs found in OPML file": "No valid RSS feed URLs found in OPML file", + "Note pinned": "Note pinned", + "Note unpinned": "Note unpinned", + Oldest: "Oldest", + "Open Timestamp": "Open Timestamp", + "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.": "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.", + "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.": "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.", + Optional: "Optional", + "Optional image for the event": "Optional image for the event", + "Optionally, add the full quote/context to show your highlight within it": "Optionally, add the full quote/context to show your highlight within it", + PM: "PM", + "Page Range": "Page Range", + Pages: "Pages", + "Paste URL of a GIF": "Paste URL of a GIF", + "Paste URL of a meme image": "Paste URL of a meme image", + "Paste the entire original passage that contains your highlight": "Paste the entire original passage that contains your highlight", + Photo: "Photo", + "Picture Note": "Picture Note", + "Pin note": "Pin note", + "Plain text description of the query": "Plain text description of the query", + "Please login to view bookmarks": "Please login to view bookmarks", + "Please login to view favorites": "Please login to view favorites", + "Please select a group": "Please select a group", + "Please select at least one relay": "Please select at least one relay", + "Please set a start date": "Please set a start date", + "Poll with no options": "Poll with no options", + "Post published to some relays": "Post published to some relays", + "Posts will automatically include expiration tags": "Posts will automatically include expiration tags", + "Posts will automatically include quiet tags": "Posts will automatically include quiet tags", + "Posts will be quiet for this many days": "Posts will be quiet for this many days", + "Posts will expire after this many months": "Posts will expire after this many months", + "Processing...": "Processing...", + "Profile event not available": "Profile event not available", + "Prompt Citation": "Prompt Citation", + "Prompt Citation Settings": "Prompt Citation Settings", + "Prompt Conversation Script": "Prompt Conversation Script", + "Proof of Work": "Proof of Work", + "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post": "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post", + "Publish to Relays": "Publish to Relays", + "Published By": "Published By", + "Published In": "Published In", + "Published On": "Published On", + "Published in": "Published in", + "Published on": "Published on", + "Publisher name (optional)": "Publisher name (optional)", + "Quiet Tags": "Quiet Tags", + "RSS Feed": "RSS Feed", + "RSS + Web": "RSS + Web", + "RSS feed source": "RSS feed source", + "All feed sources": "All feed sources", + "RSS feed view mode": "RSS feed view mode", + "Article URLs": "Article URLs", + "Article URLs subtitle": "One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.", + "Article URLs Nostr manual subtitle": "Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.", + "RSS feed column title": "RSS & linked articles", + "RSS feed column subtitle": "Feed entries and article cards that include at least one item from your subscribed RSS feeds.", + "RSS timeline": "RSS timeline", + "RSS timeline subtitle": "Every item from your subscribed feeds, newest first — classic RSS reader.", + URLs: "URLs", + RSS: "RSS", + "No URL-only items yet": "No URL-only items yet", + "Respond to this RSS entry": "Respond to this RSS entry", + "RSS read-only thread hint": "Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.", + "RSS feed item label": "RSS", + "Web URL item label": "Web URL", + "URL thread activity": "URL thread activity", + "Suppress Clawstr links in RSS previews": "Hide clawstr.com in RSS and URL feed", + "Hide local, media & feed URLs from URL cards": "Hide local, media, feed, document & XML links from the feed", + "RSS articles": "RSS articles", + "Web comments": "Web comments", + "Web highlights": "Web highlights", + "In your bookmarks": "In your bookmarks", + "{{count}} RSS entries for this URL": "{{count}} RSS entries for this URL", + "{{count}} entries for this article URL": "{{count}} entries for this article URL", + "No comments yet": "No comments yet", + "No highlights yet": "No highlights yet", + "Showing {{filtered}} of {{total}} entries": "Showing {{filtered}} of {{total}} entries", + standardRssFeed_spotifeed: "Spotify playlist (Spotifeed)", + standardRssFeed_youtube: "YouTube feed", + standardRssFeed_youtubeChannel: "YouTube channel feed", + standardRssFeed_youtubePlaylist: "YouTube playlist feed", + standardRssFeed_feedburner: "FeedBurner", + standardRssFeed_reddit: "Reddit RSS", + standardRssFeed_substack: "Substack", + standardRssFeed_medium: "Medium", + "RSS Feed Settings": "RSS Feed Settings", + "Follow sets": "Follow sets", + "Personal Lists": "Personal Lists", + "Personal lists hub intro": "Open mute list, following, bookmarks list, pinned notes, interest topics (kind 10015), your NIP-30 user emoji list (kind 10030), and emoji set packs (kind 30030) on their own pages. Follow sets are below. Web page bookmarks (NIP-B0, kind 39701) are separate—save from an article’s panel or use the Bookmarks spell for a mixed feed.", + "Mute list": "Mute list", + "Following list": "Following list", + "Bookmarks list": "Bookmarks list", + "Pinned notes list": "Pinned notes list", + "Interests list": "Interests list", + "User emoji list": "User emoji list (kind 10030)", + "Emoji sets": "Emoji sets (kind 30030)", + "User emoji list title": "{{username}}'s emoji list", + "User emoji list intro": "NIP-30: inline custom emoji (`emoji` tags) and references to your kind 30030 packs (`a` tags). Publish when you are done editing.", + "User emoji list saved": "Emoji list published", + "User emoji inline section": "Inline emoji", + "User emoji inline empty": "No inline emoji yet. Add a shortcode and image URL below.", + "User emoji inline invalid": "Enter a shortcode and a non-empty image URL.", + "User emoji sets section": "Emoji set references", + "User emoji sets hint": "Add a coordinate in the form 30030:<64-hex pubkey>:, usually one of your own emoji sets from the Emoji sets page.", + "User emoji sets empty": "No emoji set references yet.", + "User emoji set ref invalid": "Invalid coordinate. Use 30030::.", + "User emoji set ref duplicate": "That emoji set is already in the list.", + "Emoji set coordinate": "Emoji set (a tag)", + "Publish changes": "Publish changes", + Shortcode: "Shortcode", + "Emoji sets settings intro": "NIP-30 emoji packs (kind 30030): each set has a `d` tag and `emoji` entries (shortcode + image URL). Publish from the editor dialog.", + "New emoji set": "New emoji set", + "Edit emoji set": "Edit emoji set", + "No emoji sets yet": "You have not created any emoji sets yet.", + "Emoji set saved": "Emoji set saved", + "Emoji set deleted": "Emoji set deleted", + "Failed to load emoji sets": "Failed to load emoji sets", + "emoji entries": "emoji", + "Emoji set d tag hint": "Stable identifier for this pack. It cannot be changed after the first publish.", + "Emoji pack entries": "Emoji in this pack", + "No emoji entries in pack": "No emoji in this pack yet.", + "Delete emoji set?": "Delete this emoji set?", + "Delete emoji set confirm": "This sends a deletion request (kind 5). Relays that accept it will drop the set; others may still show a cached copy.", + "Interests list section subtitle": "Topics you follow for hashtag feeds and the Interests spell. Stored on Nostr as kind 10015 (`t` tags).", + "Interest topic placeholder": "topic or #hashtag", + "Interest list add topic": "Add topic", + "Interest topic invalid": "Enter a valid topic (letters, numbers, hyphens, underscores).", + "No interest topics in list": "No subscribed topics yet. Add one above or subscribe from a hashtag page.", + "username's interest topics": "{{username}}'s interest topics", + "Remove from interest list": "Remove from interest list", + "Personal lists interests spell hint": "For a combined feed of all subscribed topics, use the", + "Interests spell": "Interests spell", + "Personal lists bookmarks spell hint": "For a note feed from NIP-51 bookmarks, use the", + "Bookmarks spell": "Bookmarks spell", + "Pinned notes hint": "Pinned notes: use the note menu (⋯) on a note and choose pin to profile. Pins appear on your profile.", + "Bookmarks list section title": "Bookmarks list", + "Bookmarks list section subtitle": "Events referenced by `e` / `a` tags on your kind 10003 bookmark list (newest first).", + "No entries in bookmark list": "Your bookmark list is empty.", + "View bookmarks as feed in Spells": "View bookmarks as a note feed in Spells", + "Pinned notes list section title": "Pinned notes list", + "Pinned notes list section subtitle": "Events referenced by `e` / `a` tags on your kind 10001 pin list (same order as on your profile).", + "Loading pin list": "Loading pin list…", + "No pinned notes in list": "No pinned notes in your pin list yet.", + "username's bookmarks": "{{username}}'s bookmarks", + "username's pinned notes": "{{username}}'s pinned notes", + "Event not loaded": "Event not loaded", + "No NIP-51 bookmarks or web bookmarks yet.": "No NIP-51 bookmarks or web bookmarks yet.", + "Web bookmarks": "Web bookmarks", + "Web bookmark": "Web bookmark", + "Web bookmarks NIP intro": "Web bookmarks are stored as kind 39701 events, not in your NIP-51 bookmark list.", + "Log in to save web bookmarks": "Log in to save web bookmarks for this page (NIP-B0, kind 39701).", + "Remove web bookmark": "Remove web bookmark", + "No web bookmark for this URL yet": "You have not saved a web bookmark for this URL yet.", + "Page title": "Page title", + "Short description": "Short description", + "Save web bookmark": "Save web bookmark", + "Sign in to publish web bookmark": "Please log in with a signing key to save web bookmarks.", + "Follow sets settings intro": "NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.", + "New follow set": "New follow set", + "Edit follow set": "Edit follow set", + "No follow sets yet": "You have not created any follow sets yet.", + "Follow set saved": "Follow set saved", + "Follow set deleted": "Follow set deleted", + "Failed to load follow sets": "Failed to load follow sets", + members: "members", + "Optional display title": "Optional display title", + "List id (d tag)": "List id (d tag)", + "Follow set d tag hint": "Stable identifier for this list. It cannot be changed after the first publish.", + "People in this list": "People in this list", + "Delete follow set?": "Delete this follow set?", + "Delete follow set confirm": "This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.", + "Clean list": "Clean list", + "Clean this list?": "Clean this list?", + "Clean list confirm": "This will publish a fresh, empty replacement for this list (all entries removed). This cannot be undone.", + "Clean follows list confirm with backup": "Before cleaning your follows (kind 3), the current list snapshot will be published to follows history relays. Then a fresh, empty follows list will be published. Continue?", + "List cleaned": "List cleaned", + "Failed to clean list": "Failed to clean list", + "Remove feed": "Remove feed", + "RSS Feeds": "RSS Feeds", + "RSS feeds exported to OPML file": "RSS feeds exported to OPML file", + "RSS feeds saved": "RSS feeds saved", + "Rate limited. Please wait before trying again.": "Rate limited. Please wait before trying again.", + "Reaction published": "Reaction published", + "Reaction published to some relays": "Reaction published to some relays", + "Reaction removed": "Reaction removed", + "Read full article": "Read full article", + "Reading group entry": "Reading group entry", + "Readings Options": "Readings Options", + Recipients: "Recipients", + "Recipients detected from your message:": "Recipients detected from your message:", + "Recommended Relays": "Recommended Relays", + "Recommended applications for handling events of kind {{kind}}": "Recommended applications for handling events of kind {{kind}}", + "Reference to the cited Nostr event in kind:pubkey:hex format": "Reference to the cited Nostr event in kind:pubkey:hex format", + "Refresh Cache": "Refresh Cache", + "Refreshing posts...": "Refreshing posts...", + "Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.": "Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.", + Relay: "Relay", + "Relay Hint": "Relay Hint", + "Relay URL (optional)": "Relay URL (optional)", + "Relay blocked successfully": "Relay blocked successfully", + "Relay requires authentication for write access. Please try a different relay or contact the relay operator.": "Relay requires authentication for write access. Please try a different relay or contact the relay operator.", + "Relay set options": "Relay set options", + "Remove from favorites": "Remove from favorites", + Rendered: "Rendered", + "Reply published": "Reply published", + "Reply published to some relays": "Reply published to some relays", + "Reply to Public Message": "Reply to Public Message", + "Republish to all active relays": "Republish to all active relays", + "Republish to all available relays": "Republish to all available relays", + "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.": "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.", + "Required: start time or start date. Optional: title, end, location, summary, topics, image.": "Required: start time or start date. Optional: title, end, location, summary, topics, image.", + "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Respect quiet tags": "Respect quiet tags", + "Search (NIP-50)": "Search (NIP-50)", + "Search by name or npub…": "Search by name or npub…", + "Search calendar, publications, wiki…": "Search calendar, publications, wiki…", + "Search for user…": "Search for user…", + "Search items...": "Search items...", + "Search logs...": "Search logs...", + "Search notes, threads, long-form…": "Search notes, threads, long-form…", + "Search on GifBuddy": "Search on GifBuddy", + "Search on Meme Amigo": "Search on Meme Amigo", + "Search posts...": "Search posts...", + "Search threads by title, content, tags, npub, author...": "Search threads by title, content, tags, npub, author...", + "Searching all available relays...": "Searching all available relays...", + "Searching…": "Searching…", + "See reference": "See reference", + "Select Group": "Select Group", + "Select Media Type": "Select Media Type", + "Select group...": "Select group...", + "Select relays": "Select relays", + "Publish relay cap hint": "At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.", + "Publish relay cap hint with outbox first": "At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.", + "Select the group where you want to create this discussion.": "Select the group where you want to create this discussion.", + "Select topic...": "Select topic...", + "Selected text": "Selected text", + "Send Public Message": "Send Public Message", + "Send a Lightning payment to this user": "Send a Lightning payment to this user", + "Service worker caches cleared. Please reload the page.": "Service worker caches cleared. Please reload the page.", + "Service worker unregistered and caches cleared. Please reload the page.": "Service worker unregistered and caches cleared. Please reload the page.", + "Service worker unregistered. Please reload the page.": "Service worker unregistered. Please reload the page.", + "Share your thoughts, ask questions, or start a discussion...": "Share your thoughts, ask questions, or start a discussion...", + "Short Video Note": "Short Video Note", + "Show RSS Feed": "Show RSS Feed", + "Show all discussions in a single list": "Show all discussions in a single list", + "Show less": "Show less", + Since: "Since", + Small: "Small", + "Some relays have temporarily disabled writes.": "Some relays have temporarily disabled writes.", + Source: "Source", + "Spell definition": "Spell definition", + "Spell published": "Spell published", + "Start date": "Start date", + "Start typing to see a preview...": "Start typing to see a preview...", + "Subject (Book Title)": "Subject (Book Title)", + "Subject (book title) is required for reading groups": "Subject (book title) is required for reading groups", + "Subject / Topics": "Subject / Topics", + Subscribe: "Subscribe", + Subscribed: "Subscribed", + "Subscribed to topic": "Subscribed to topic", + "Subscribed to topic (local)": "Subscribed to topic (local)", + "Subscribing...": "Subscribing...", + Summary: "Summary", + "Supported Event Types": "Supported Event Types", + "Take a note": "Take a note", + "The full prompt conversation (optional)": "The full prompt conversation (optional)", + "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.": "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.", + "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.": "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.", + "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.": "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.", + "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a Nostr event of kind {{kind}}.": "This GIF was found in a Nostr event of kind {{kind}}.", + "This file could be either audio or video. Please select the correct type:": "This file could be either audio or video. Please select the correct type:", + "This store does not contain replaceable events": "This store does not contain replaceable events", + "This will add additional tags for author and subject to help organize reading group discussions.": "This will add additional tags for author and subject to help organize reading group discussions.", + "Thread Content": "Thread Content", + "Thread Title": "Thread Title", + "Thread creation timed out. Please try again.": "Thread creation timed out. Please try again.", + "Thread published": "Thread published", + "Threads are organized by topics. Choose a topic that best fits your discussion.": "Threads are organized by topics. Choose a topic that best fits your discussion.", + "Time-based": "Time-based", + "Title is required": "Title is required", + "Title must be 100 characters or less": "Title must be 100 characters or less", + "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.": "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.", + Top: "Top", + Topic: "Topic", + URL: "URL", + "URL of the article cover image (optional)": "URL of the article cover image (optional)", + "Unique identifier for this article (required)": "Unique identifier for this article (required)", + "Unmute failed": "Unmute failed", + "Unpin note": "Unpin note", + Unsubscribe: "Unsubscribe", + "Unsubscribed from topic": "Unsubscribed from topic", + "Unsubscribing...": "Unsubscribing...", + Until: "Until", + Untitled: "Untitled", + Update: "Update", + "Updating...": "Updating...", + "Upload Audio Comment": "Upload Audio Comment", + "Upload Audio Message": "Upload Audio Message", + "Upload Media": "Upload Media", + "Media kind": "Media kind", + "Use image/audio/video note kind for the media URL in the editor": "Use image/audio/video note kind for the media URL in the editor", + "Already publishing as a media note": "Already publishing as a media note", + "No media URL in note — upload or paste a link first": "No media URL in note — upload or paste a link first", + "Cannot infer media type from URL — use Note type → Media Note to upload": "Cannot infer media type from URL — use Note type → Media Note to upload", + "Media kind (disabled): add imeta tags, a media URL, or upload media first": "Media kind (disabled): add imeta tags, a media URL, or upload media first", + Upvote: "Upvote", + "User unmuted": "User unmuted", + "Version number (optional)": "Version number (optional)", + Video: "Video", + "Video Note": "Video Note", + "Video file": "Video file", + "View Console Logs": "View Console Logs", + "View JSON": "View JSON", + "View cached items in this store.": "View cached items in this store.", + "View definition": "View definition", + "View details about cached data in IndexedDB stores. Click on a store to view its items.": "View IndexedDB stores, or search all cached Nostr-like events (content, tags, id, pubkey, kind) across stores.", + "View on Alexandria": "View on Alexandria", + "View on DecentNewsroom": "View on DecentNewsroom", + "View on Wikistr": "View on Wikistr", + "View recent console logs for debugging": "View recent console logs for debugging", + "Voice Comment": "Voice Comment", + "Voice Note": "Voice Note", + "Voice note or audio file": "Voice note or audio file", + Volume: "Volume", + "Volume number (optional)": "Volume number (optional)", + "Vote published": "Vote published", + "Vote removed": "Vote removed", + "Website where LLM was accessed (optional)": "Website where LLM was accessed (optional)", + "Wiki Article (AsciiDoc)": "Wiki Article (AsciiDoc)", + "Wiki Article (Markdown)": "Wiki Article (Markdown)", + "You can only delete your own notes": "You can only delete your own notes", + "You must be logged in to create a thread": "You must be logged in to create a thread", + "You need to add at least one media server in order to upload media files.": "You need to add at least one media server in order to upload media files.", + "You need to login first": "You need to login first", + "Your account is blocked from posting to this relay.": "Your account is blocked from posting to this relay.", + Zap: "Zap", + "Zap failed": "Zap failed", + created_at: "created_at", + "e tag of kind 1040 event (optional)": "e tag of kind 1040 event (optional)", + "e.g. meetup, conference": "e.g. meetup, conference", + "e.g., 123-145 (optional)": "e.g., 123-145 (optional)", + "e.g., GPT-4, Claude, etc. (required)": "e.g., GPT-4, Claude, etc. (required)", + "e.g., my-article-title": "e.g., my-article-title", + entries: "entries", + "from Bunker": "from Bunker", + "from Extension": "from Extension", + "from NIP-05": "from NIP-05", + general: "general", + "https://example.com (required)": "https://example.com (required)", + "https://example.com/image.jpg": "https://example.com/image.jpg", + id: "id", + items: "items", + kind: "kind", + "kind:pubkey:hex format (required)": "kind:pubkey:hex format (required)", + "last updated": "last updated", + matching: "matching", + naddr: "naddr", + nevent: "nevent", + "nevent1..., naddr1..., note1..., hex ID, or https://...": "nevent1..., naddr1..., note1..., hex ID, or https://...", + "no notes found": "no notes found", + of: "of", + "on note": "on note", + optional: "optional", + pubkey: "pubkey", + "sent a public message": "sent a public message", + "sent you a public message": "sent you a public message", + "sent you a public message (along with {{count}} others)": "sent you a public message (along with {{count}} others)", + sig: "sig", + "started a discussion in {{topic}}": "started a discussion in {{topic}}", + tags: "tags", + thread: "thread", + threads: "threads", + "topic1, topic2, topic3": "topic1, topic2, topic3", + "{{count}} relay(s) selected": "{{count}} relay(s) selected", + "🔞 NSFW 🔞": "🔞 NSFW 🔞", + "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).": "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).", + "Compressing on your device before upload (large videos can take several minutes)…": "Compressing on your device before upload (large videos can take several minutes)…", + "Failed to refresh": "Failed to refresh", + "Invalid article link.": "Invalid article link.", + Likes: "Likes", + "Loading…": "Loading…", + "Missing pubkey": "Missing pubkey", + "No RSS feed list found on relays": "No RSS feed list found on relays", + "Pinned posts": "Pinned posts", + "Publishing...": "Publishing...", + "RSS article": "RSS article", + "RSS feed list refreshed": "RSS feed list refreshed", + "Save or discard your changes before refreshing from relays": "Save or discard your changes before refreshing from relays", + "Suggested topics": "Suggested topics", + "Synthetic event (no author)": "Synthetic event (no author)", + "Topic is required": "Topic is required", + "Type a topic or pick from the list": "Type a topic or pick from the list", + "Uploading to media server…": "Uploading to media server…", + profileEditorRefreshCacheHint: "profileEditorRefreshCacheHint", + startupSessionHydrating: "startupSessionHydrating", + "AI / LLM prompt citation": "AI / LLM prompt citation", + "AsciiDoc wiki contribution": "AsciiDoc wiki contribution", + "Attach image, audio, or video": "Attach image, audio, or video", + Citations: "Citations", + "Cite from external source": "Cite from external source", + "Cite from private relay": "Cite from private relay", + "Create a voting poll": "Create a voting poll", + "Create custom event": "Create custom event", + "Create event with custom kind": "Create event with custom kind", + "Custom Event": "Custom Event", + "Custom tag…": "Custom tag…", + Dismiss: "Dismiss", + "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.": "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.", + "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).": "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).", + "Failed to rebroadcast entire publication: {{error}}": "Failed to rebroadcast entire publication: {{error}}", + "Feed filter kind": "Feed filter kind", + "Feed filter kind hint": "Feed filter kind hint", + "Feed filter kind invalid": "Feed filter kind invalid", + "Feed filter kind placeholder": "Feed filter kind placeholder", + "Invalid event fields": "Invalid event fields", + "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).": "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).", + "Markdown article (NIP-23)": "Markdown article (NIP-23)", + "Markdown wiki contribution": "Markdown wiki contribution", + "Media Note": "Media Note", + "No publication events found for rebroadcast": "No publication events found for rebroadcast", + "No publication events were accepted by any relay": "No publication events were accepted by any relay", + "Note type": "Note type", + "Offline mode": "Offline mode", + "Only local relays and cached content are available.": "Only local relays and cached content are available.", + "Physical source citation": "Physical source citation", + "Plain text note (kind 1)": "Plain text note (kind 1)", + "Private relay publication": "Private relay publication", + "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).": "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).", + "Public Message": "Public Message", + "Public direct message (kind 4)": "Public direct message (kind 4)", + "Publication Note": "Publication Note", + "Rebroadcast entire publication": "Rebroadcast entire publication", + "Rebroadcast entire publication to ...": "Rebroadcast entire publication to ...", + "Rebroadcasted entire publication": "Rebroadcasted entire publication", + "Rebroadcasting entire publication...": "Rebroadcasting entire publication...", + "Save a quote or passage": "Save a quote or passage", + "Save data": "Save data", + "Set kind, content, and tags, then publish.": "Set kind, content, and tags, then publish.", + "Short Note": "Short Note", + "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.": "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.", + "Slow connection detected": "Slow connection detected", + "Start a discussion thread": "Start a discussion thread", + "This action is only available for publications": "This action is only available for publications", + "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.": "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.", + Thread: "Thread", + "Turn on low-bandwidth mode to reduce data usage.": "Turn on low-bandwidth mode to reduce data usage.", + "Turn on low-bandwidth mode? This will set: {{changes}}.": "Turn on low-bandwidth mode? This will set: {{changes}}.", + "Unsigned experimental kind": "Unsigned experimental kind", + "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.": "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.", + "media loading off": "media loading off", + profileEditorDuplicateSingleton: "profileEditorDuplicateSingleton", + profileEditorEditBannerUrl: "profileEditorEditBannerUrl", + profileEditorEditPictureUrl: "profileEditorEditPictureUrl", + profileEditorImageUrlHint: "profileEditorImageUrlHint", + profileEditorNostrBuildThumbHint: "profileEditorNostrBuildThumbHint", + profileEditorProfileNotLoaded: "profileEditorProfileNotLoaded", + profileEditorTagListHint: "profileEditorTagListHint", + "readOnlySession.hint": "readOnlySession.hint", + "readOnlySession.label": "readOnlySession.label", + "readOnlySession.labelShort": "readOnlySession.labelShort", + "video autoplay off": "video autoplay off", + } +} diff --git a/src/i18n/locales/zh.ts b/src/i18n/locales/zh.ts index 90ef0f41..1d13df71 100644 --- a/src/i18n/locales/zh.ts +++ b/src/i18n/locales/zh.ts @@ -1,1877 +1,2010 @@ export default { translation: { - 'Welcome! 🥳': '来都来了', - About: '关于', - 'New Note': '发布新笔记', - Post: '发布笔记', - Home: '主页', - Feed: 'Feed', - 'Favorite Relays': '收藏的服务器', - 'Relay pulse': 'Relay pulse', - 'Relay pulse empty': 'Quiet on your relays in the last hour.', - 'Relay pulse follows': 'Following ({{count}})', - 'Relay pulse others': 'Others ({{count}})', - 'Relay pulse updated': 'Updated {{relative}}', - 'Relay pulse active npubs': 'Active npubs', - 'Relay pulse active npubs hint': - 'Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).', - 'Relay pulse drawer following': 'Following', - 'Relay pulse drawer others': 'Others', - 'Relay pulse drawer no profiles': 'No kind 0 profiles loaded for this sample yet.', - 'See the newest notes from your follows': 'See the newest notes from your follows', - 'All favorite relays': '所有收藏服务器', - 'Pinned note': 'Pinned note', - 'Relay settings': '服务器设置', - Settings: '设置', - 'Account menu': 'Account menu', - SidebarRelays: '服务器', - Refresh: '刷新列表', - 'refresh.longPressHardReload': 'Long-press: reload app and restore feed cache', - 'link.expandNostrEmbed': 'Show Nostr preview', - Profile: '个人资料', - Logout: '退出登录', - Following: '关注', - followings: '关注', - boosted: '已助推', - 'Boosted by:': 'Boosted by:', - 'just now': '刚刚', - 'n minutes ago': '{{n}} 分钟前', - 'n m': '{{n}}分', - 'n hours ago': '{{n}} 小时前', - 'n h': '{{n}}时', - 'n days ago': '{{n}} 天前', - 'n d': '{{n}}天', - date: '{{timestamp, date}}', - Follow: '关注', - Unfollow: '取消关注', - 'Follow failed': '关注失败', - 'Unfollow failed': '取消关注失败', - 'show new notes': '显示新笔记', - 'loading...': '加载中...', - 'Loading...': '加载中...', - 'no more notes': '到底了', - 'calendar entries': 'calendar entries', - 'Loading calendar events...': 'Loading calendar events...', - 'No calendar events found': 'No calendar events found', - 'Calendar events in the next {{count}} months': 'Calendar events in the next {{count}} months', - 'The nostr.band relay appears to be temporarily out of service. Please try again later.': - 'The nostr.band relay appears to be temporarily out of service. Please try again later.', - 'reply to': '回复', - reply: '回复', - Reply: '回复', - 'load more older replies': '加载更多早期回复', - 'Write something...': '写点什么...', - Cancel: '取消', - Mentions: '提及', - 'Search for event or address…': 'Search for event or address…', - 'Search notes…': 'Search notes…', - 'No notes found': 'No notes found', - 'Failed to post': '发布失败', - 'Post successful': '发布成功', - 'Your post has been published': '您的笔记已发布', - Boost: '助推', - 'Boost published': '助推已发布', - Quote: '引用', - 'Copy event ID': '复制事件 ID', - 'Copy user ID': '复制用户 ID', - 'Send public message': 'Send public message', - 'View raw event': '查看原始事件', - 'Edit this event': 'Edit this event', - 'Clone or fork this event': 'Clone or fork this event', - 'Event kind': 'Event kind', - 'Note content': 'Note content', - Publish: 'Publish', - 'Post published': 'Post published', - 'Edit content and tags, then publish a new signed event.': - 'Edit content and tags, then publish a new signed event.', - 'Log in to publish': 'Log in to publish', - 'Set when you publish': 'set when you publish', - 'id and sig are assigned when you publish': 'id and sig are assigned when you publish', - 'Published to some relays only': 'Published to some relays only', - 'Add field': 'Add field', - 'View full profile': 'View full profile', - Like: '点赞', - 'switch to light theme': '切换到浅色主题', - 'switch to dark theme': '切换到深色主题', - 'switch to system theme': '切换到系统主题', - Note: '笔记', - note: '笔记', - "username's following": '{{username}} 的关注', - "username's used relays": '{{username}} 使用的服务器', - "username's muted": '{{username}} 屏蔽的用户', - Login: '登录', - downloadDesktopApp: 'Download app', - 'Please log in to view notifications.': 'Please log in to view notifications.', - 'Follows you': '关注了你', - 'Relay Settings': '服务器设置', - 'Relays and Storage Settings': 'Relays and Storage Settings', - 'Relay set name': '服务器组名', - 'Add a new relay set': '添加新的服务器组', - Add: '添加', - 'n relays': '{{n}} 个服务器', - Rename: '重命名', - 'Copy share link': 'Copy share link', - 'Copy address': 'Copy address', - 'Copy payto URI': 'Copy payto URI', - 'Copied payto address': 'Copied payto address', - 'Copied to clipboard': 'Copied to clipboard', - 'Copied {{label}} address': 'Copied {{label}} address', - 'Lightning payment address – copy to pay via your wallet': - 'Lightning payment address – copy to pay via your wallet', - 'Payment address – copy to use in your wallet or app': - 'Payment address – copy to use in your wallet or app', - 'Click to open payment options': 'Click to open payment options', - 'Click to copy address': 'Click to copy address', - 'Open on website': 'Open on website', - 'Raw profile event': 'Raw profile event', - 'Full profile event': 'Full profile event', - 'Event (JSON)': 'Event (JSON)', - 'Save full profile': 'Save full profile', - 'Add tag': 'Add tag', - 'Remove tag': 'Remove tag', - 'Tag name': 'Tag name', - Value: 'Value', - 'Add value to tag': 'Add value to tag', - 'Remove value': 'Remove value', - 'No tags. Click "Add tag" to add one.': 'No tags. Click "Add tag" to add one.', - 'Profile updated': 'Profile updated', - 'Failed to publish profile': 'Failed to publish profile', - 'Invalid profile JSON': 'Invalid profile JSON', - 'Refresh cache': 'Refresh cache', - 'Force-refresh profile and payment info from relays': - 'Force-refresh profile and payment info from relays', - 'Profile and payment cache refreshed': 'Profile and payment cache refreshed', - 'Failed to refresh cache': 'Failed to refresh cache', - 'Raw payment info event': 'Raw payment info event', - 'Payment info': 'Payment info', - 'Edit payment info': 'Edit payment info', - 'Add payment info': 'Add payment info', - 'No payment info event yet. Click "Add payment info" to create one.': - 'No payment info event yet. Click "Add payment info" to create one.', - 'Content (JSON)': 'Content (JSON)', - Tags: 'Tags', - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])': - 'Tags (JSON array of arrays, e.g. [["payto","lightning","user@domain.com"]])', - 'Payment info updated': 'Payment info updated', - 'Failed to publish payment info': 'Failed to publish payment info', - 'Invalid tags JSON': 'Invalid tags JSON', - 'Payment methods': 'Payment methods', - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).': - 'NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).', - 'Type (e.g. lightning)': 'Type (e.g. lightning)', - 'Authority (e.g. user@domain.com)': 'Authority (e.g. user@domain.com)', - 'Add payment method': 'Add payment method', - Remove: 'Remove', - 'Additional content (JSON)': 'Additional content (JSON)', - 'Show full event JSON': 'Show full event JSON', - 'Tag list': 'Tag list', - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.': - 'Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.', - 'Tag value': 'Tag value', - 'Saving…': 'Saving…', - 'Share with Imwald': '通过Imwald分享', - 'Share with Alexandria': '通过Alexandria分享', - 'Start video call': 'Start video call', - 'Copy call invite link': 'Copy call invite link', - 'Start call about this': 'Start call about this', - 'Send call invite': 'Send call invite', - 'Read this note aloud': 'Read this note aloud', - 'Read-aloud is not supported in this browser': 'Read-aloud is not supported in this browser', - 'Nothing to read aloud': 'Nothing to read aloud', - 'Read-aloud failed': 'Read-aloud failed', - 'Read aloud': 'Read aloud', - 'Read-aloud idle': 'Idle', - 'Preparing read-aloud…': 'Preparing read-aloud…', - 'Requesting audio…': 'Requesting audio…', - 'Loading audio…': 'Loading audio…', - Playing: 'Playing', - Paused: 'Paused', - 'Read-aloud finished': 'Finished', - 'Read-aloud error': 'Error', - 'TTS endpoint': 'TTS endpoint', - 'Using browser speech synthesis': 'Using browser speech synthesis', - 'Read-aloud section progress': 'Section {{current}} of {{total}}', - 'Request sent': 'Request sent', - 'Response received': 'Response received', - 'Playback started': 'Playback started', - Characters: 'Characters', - Pause: 'Pause', - Play: 'Play', - Stop: 'Stop', - 'Read-aloud sections': 'Read-aloud sections', - 'Read-aloud overall progress': 'Overall progress', - 'Read-aloud section done': 'Section {{index}}: finished', - 'Read-aloud section pending': 'Section {{index}}: not started yet', - 'Read-aloud section fetching': 'Section {{index}}: requesting audio', - 'Read-aloud section preparing audio': 'Section {{index}}: loading audio', - 'Read-aloud section playing': 'Section {{index}}: playing', - 'Read-aloud section paused': 'Section {{index}}: paused', - 'Read-aloud legend fetching': 'Requesting audio for this section from the server…', - 'Read-aloud legend buffering': 'Decoding audio for this section…', - 'Read-aloud legend playing': 'Playing this section.', - 'Read-aloud legend paused': 'Playback paused.', - 'Read-aloud Piper fallback notice': - 'Server voice (Piper) could not be used. Playing with your browser voice instead.', - 'Read-aloud Piper fallback detail label': 'Piper error', - 'Read-aloud Piper status region': 'Piper text-to-speech status', - 'Read-aloud Piper status heading': 'Piper (server voice)', - 'Read-aloud Piper skipped notice': - 'No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.', - 'Read-aloud Piper attempt started': - 'Piper was started at {{time}} (this read-aloud used the server first).', - 'Read-aloud Piper endpoint tried': 'URL used: {{url}}', - 'Join the video call': 'Join the video call', - 'Schedule video call': 'Schedule video call', + // NOTE: Untranslated strings fall back to English. + + "Welcome! 🥳": "来都来了", + About: "关于", + "New Note": "发布新笔记", + Post: "发布笔记", + Home: "主页", + Feed: "Feed", + "Favorite Relays": "收藏的服务器", + "Relay pulse": "Relay pulse", + "Relay pulse empty": "Quiet on your relays in the last hour.", + "Relay pulse follows": "Following ({{count}})", + "Relay pulse others": "Others ({{count}})", + "Relay pulse updated": "Updated {{relative}}", + "Relay pulse active npubs": "Active npubs", + "Relay pulse active npubs hint": "Kind 0 profiles for pubkeys seen on your favorite relays in the last hour (same sample as Relay pulse).", + "Relay pulse drawer following": "Following", + "Relay pulse drawer others": "Others", + "Relay pulse drawer no profiles": "No kind 0 profiles loaded for this sample yet.", + "See the newest notes from your follows": "See the newest notes from your follows", + "All favorite relays": "所有收藏服务器", + "Pinned note": "Pinned note", + "Relay settings": "服务器设置", + "Relay auth accepted (NIP-42)": "The relay accepted authentication (NIP-42): {{relay}}{{detailSuffix}}", + "Relay auth rejected (NIP-42)": "The relay rejected authentication (NIP-42): {{relay}} — {{message}}", + "Relay auth error unknown": "Unknown error", + Settings: "设置", + "Account menu": "Account menu", + SidebarRelays: "服务器", + Refresh: "刷新列表", + "refresh.longPressHardReload": "Long-press: reload app and restore feed cache", + "link.expandNostrEmbed": "Show Nostr preview", + Profile: "个人资料", + Logout: "退出登录", + Following: "关注", + followings: "关注", + boosted: "已助推", + "Boosted by:": "Boosted by:", + "just now": "刚刚", + "n minutes ago": "{{n}} 分钟前", + "n m": "{{n}}分", + "n hours ago": "{{n}} 小时前", + "n h": "{{n}}时", + "n days ago": "{{n}} 天前", + "n d": "{{n}}天", + date: "{{timestamp, date}}", + Follow: "关注", + Unfollow: "取消关注", + "Follow failed": "关注失败", + "Unfollow failed": "取消关注失败", + "show new notes": "显示新笔记", + "loading...": "加载中...", + "Loading...": "加载中...", + "no more notes": "到底了", + "calendar entries": "calendar entries", + "Loading calendar events...": "Loading calendar events...", + "No calendar events found": "No calendar events found", + "Calendar events in the next {{count}} months": "Calendar events in the next {{count}} months", + "The nostr.band relay appears to be temporarily out of service. Please try again later.": "The nostr.band relay appears to be temporarily out of service. Please try again later.", + "reply to": "回复", + reply: "回复", + Reply: "回复", + "load more older replies": "加载更多早期回复", + "Write something...": "写点什么...", + Cancel: "取消", + Mentions: "提及", + "Search for event or address…": "Search for event or address…", + "Search notes…": "Search notes…", + "No notes found": "No notes found", + "Failed to post": "发布失败", + "Post successful": "发布成功", + "Your post has been published": "您的笔记已发布", + Boost: "助推", + "Boost published": "助推已发布", + Quote: "引用", + "Copy event ID": "复制事件 ID", + "Copy user ID": "复制用户 ID", + "Send public message": "Send public message", + "View raw event": "查看原始事件", + "Edit this event": "Edit this event", + "Clone or fork this event": "Clone or fork this event", + "Event kind": "Event kind", + "Note content": "Note content", + Publish: "Publish", + "Post published": "Post published", + "Edit content and tags, then publish a new signed event.": "Edit content and tags, then publish a new signed event.", + "Log in to publish": "Log in to publish", + "Set when you publish": "set when you publish", + "id and sig are assigned when you publish": "id and sig are assigned when you publish", + "Published to some relays only": "Published to some relays only", + "Add field": "Add field", + "View full profile": "View full profile", + Like: "点赞", + "switch to light theme": "切换到浅色主题", + "switch to dark theme": "切换到深色主题", + "switch to system theme": "切换到系统主题", + Note: "笔记", + note: "笔记", + "username's following": "{{username}} 的关注", + "username's used relays": "{{username}} 使用的服务器", + "username's muted": "{{username}} 屏蔽的用户", + Login: "登录", + downloadDesktopApp: "Download app", + "Please log in to view notifications.": "Please log in to view notifications.", + "Follows you": "关注了你", + "Relay Settings": "服务器设置", + "Relays and Storage Settings": "Relays and Storage Settings", + "Relay set name": "服务器组名", + "Add a new relay set": "添加新的服务器组", + Add: "添加", + "n relays": "{{n}} 个服务器", + Rename: "重命名", + "Copy share link": "Copy share link", + "Copy address": "Copy address", + "Copy payto URI": "Copy payto URI", + "Copied payto address": "Copied payto address", + "Copied to clipboard": "Copied to clipboard", + "Copied {{label}} address": "Copied {{label}} address", + "Lightning payment address – copy to pay via your wallet": "Lightning payment address – copy to pay via your wallet", + "Payment address – copy to use in your wallet or app": "Payment address – copy to use in your wallet or app", + "Click to open payment options": "Click to open payment options", + "Click to copy address": "Click to copy address", + "Open on website": "Open on website", + "Raw profile event": "Raw profile event", + "Full profile event": "Full profile event", + "Event (JSON)": "Event (JSON)", + "Save full profile": "Save full profile", + "Add tag": "Add tag", + "Remove tag": "Remove tag", + "Tag name": "Tag name", + Value: "Value", + "Add value to tag": "Add value to tag", + "Remove value": "Remove value", + "No tags. Click \"Add tag\" to add one.": "No tags. Click \"Add tag\" to add one.", + "Profile updated": "Profile updated", + "Failed to publish profile": "Failed to publish profile", + "Invalid profile JSON": "Invalid profile JSON", + "Refresh cache": "Refresh cache", + "Force-refresh profile and payment info from relays": "Force-refresh profile and payment info from relays", + "Profile and payment cache refreshed": "Profile and payment cache refreshed", + "Failed to refresh cache": "Failed to refresh cache", + "Raw payment info event": "Raw payment info event", + "Payment info": "Payment info", + "Edit payment info": "Edit payment info", + "Add payment info": "Add payment info", + "No payment info event yet. Click \"Add payment info\" to create one.": "No payment info event yet. Click \"Add payment info\" to create one.", + "Content (JSON)": "Content (JSON)", + Tags: "Tags", + "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])": "Tags (JSON array of arrays, e.g. [[\"payto\",\"lightning\",\"user@domain.com\"]])", + "Payment info updated": "Payment info updated", + "Failed to publish payment info": "Failed to publish payment info", + "Invalid tags JSON": "Invalid tags JSON", + "Payment methods": "Payment methods", + "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).": "NIP-A3 payto tags: type (e.g. lightning) and authority (e.g. user@domain.com).", + "Type (e.g. lightning)": "Type (e.g. lightning)", + "Authority (e.g. user@domain.com)": "Authority (e.g. user@domain.com)", + "Add payment method": "Add payment method", + Remove: "Remove", + "Additional content (JSON)": "Additional content (JSON)", + "Show full event JSON": "Show full event JSON", + "Tag list": "Tag list", + "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.": "Profile event tags (e.g. lud16, nip05, website). Saved with kind 0.", + "Tag value": "Tag value", + "Saving…": "Saving…", + "Share with Imwald": "通过Imwald分享", + "Share with Alexandria": "通过Alexandria分享", + "Start video call": "Start video call", + "Copy call invite link": "Copy call invite link", + "Start call about this": "Start call about this", + "Send call invite": "Send call invite", + "Read this note aloud": "Read this note aloud", + "Read-aloud is not supported in this browser": "Read-aloud is not supported in this browser", + "Nothing to read aloud": "Nothing to read aloud", + "Read-aloud failed": "Read-aloud failed", + "Read aloud": "Read aloud", + "Read-aloud idle": "Idle", + "Preparing read-aloud…": "Preparing read-aloud…", + "Requesting audio…": "Requesting audio…", + "Loading audio…": "Loading audio…", + "Preparing player…": "Preparing player…", + "Starting stream…": "Starting stream…", + "Loading media…": "Loading media…", + "Buffering…": "Buffering…", + Playing: "Playing", + Paused: "Paused", + "Read-aloud finished": "Finished", + "Read-aloud error": "Error", + "TTS endpoint": "TTS endpoint", + "Using browser speech synthesis": "Using browser speech synthesis", + "Read-aloud section progress": "Section {{current}} of {{total}}", + "Request sent": "Request sent", + "Response received": "Response received", + "Playback started": "Playback started", + Characters: "Characters", + Pause: "Pause", + Play: "Play", + Stop: "Stop", + "Read-aloud sections": "Read-aloud sections", + "Read-aloud overall progress": "Overall progress", + "Read-aloud section done": "Section {{index}}: finished", + "Read-aloud section pending": "Section {{index}}: not started yet", + "Read-aloud section fetching": "Section {{index}}: requesting audio", + "Read-aloud section preparing audio": "Section {{index}}: loading audio", + "Read-aloud section playing": "Section {{index}}: playing", + "Read-aloud section paused": "Section {{index}}: paused", + "Read-aloud legend fetching": "Requesting audio for this section from the server…", + "Read-aloud legend buffering": "Decoding audio for this section…", + "Read-aloud legend playing": "Playing this section.", + "Read-aloud legend paused": "Playback paused.", + "Read-aloud Piper fallback notice": "Server voice (Piper) could not be used. Playing with your browser voice instead.", + "Read-aloud Piper fallback detail label": "Piper error", + "Read-aloud Piper status region": "Piper text-to-speech status", + "Read-aloud Piper status heading": "Piper (server voice)", + "Read-aloud Piper skipped notice": "No Piper URL is configured for this app (see VITE_READ_ALOUD_TTS_URL). Only the browser voice is used — the server was not contacted.", + "Read-aloud Piper attempt started": "Piper was started at {{time}} (this read-aloud used the server first).", + "Read-aloud Piper endpoint tried": "URL used: {{url}}", + "Join the video call": "Join the video call", + "Schedule video call": "Schedule video call", "You're invited to a scheduled video call.": "You're invited to a scheduled video call.", - 'Create a calendar event and send an invite. The recipient will see the event with a join link.': - 'Create a calendar event and send an invite. The recipient will see the event with a join link.', - 'Schedule a video call': 'Schedule a video call', - 'Create a calendar event and send kind 24 invites to each listed invitee.': - 'Create a calendar event and send kind 24 invites to each listed invitee.', - Invitees: 'Invitees', - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)': - 'Paste nostr:npub1... or nostr:nprofile1... (one or more)', - 'Schedule and send invites': 'Schedule and send invites', - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)': - 'Add at least one invitee (paste nostr:npub or nostr:nprofile links)', - 'Scheduled call created and {{count}} invite(s) sent': - 'Scheduled call created and {{count}} invite(s) sent', - 'Join video call': 'Join video call', - 'Scheduled video call': 'Scheduled video call', - 'Video call': 'Video call', - 'Schedule and send invite': 'Schedule and send invite', - 'Scheduling…': 'Scheduling…', - 'Please set a start time': 'Please set a start time', - 'End time must be after start time': 'End time must be after start time', - 'Failed to schedule call': 'Failed to schedule call', - 'Scheduled call created and invite sent': 'Scheduled call created and invite sent', - RSVP: 'RSVP', - 'RSVP: {{status}}': 'RSVP: {{status}}', - Accepted: 'Accepted', - Tentative: 'Tentative', - Declined: 'Declined', - 'You need to log in to RSVP': 'You need to log in to RSVP', - 'RSVP updated': 'RSVP updated', - 'Failed to update RSVP': 'Failed to update RSVP', - Organizer: 'Organizer', - Attendees: 'Attendees', - 'No response': 'No response', - 'Calendar Events': 'Calendar Events', - 'Calendar Event': 'Calendar Event', - 'Schedule in-person meeting': 'Schedule in-person meeting', - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.': - 'Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.', + "Create a calendar event and send an invite. The recipient will see the event with a join link.": "Create a calendar event and send an invite. The recipient will see the event with a join link.", + "Schedule a video call": "Schedule a video call", + "Create a calendar event and send kind 24 invites to each listed invitee.": "Create a calendar event and send kind 24 invites to each listed invitee.", + Invitees: "Invitees", + "Paste nostr:npub1... or nostr:nprofile1... (one or more)": "Paste nostr:npub1... or nostr:nprofile1... (one or more)", + "Schedule and send invites": "Schedule and send invites", + "Add at least one invitee (paste nostr:npub or nostr:nprofile links)": "Add at least one invitee (paste nostr:npub or nostr:nprofile links)", + "Scheduled call created and {{count}} invite(s) sent": "Scheduled call created and {{count}} invite(s) sent", + "Join video call": "Join video call", + "Scheduled video call": "Scheduled video call", + "Video call": "Video call", + "Schedule and send invite": "Schedule and send invite", + "Scheduling…": "Scheduling…", + "Please set a start time": "Please set a start time", + "End time must be after start time": "End time must be after start time", + "Failed to schedule call": "Failed to schedule call", + "Scheduled call created and invite sent": "Scheduled call created and invite sent", + RSVP: "RSVP", + "RSVP: {{status}}": "RSVP: {{status}}", + Accepted: "Accepted", + Tentative: "Tentative", + Declined: "Declined", + "You need to log in to RSVP": "You need to log in to RSVP", + "RSVP updated": "RSVP updated", + "Failed to update RSVP": "Failed to update RSVP", + Organizer: "Organizer", + Attendees: "Attendees", + "No response": "No response", + "Calendar Events": "Calendar Events", + "Calendar Event": "Calendar Event", + "Schedule in-person meeting": "Schedule in-person meeting", + "Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.": "Create a calendar event and send an invite. No video link — for real-life meetups, conferences, etc.", "You're invited to an in-person meeting.": "You're invited to an in-person meeting.", - 'Meeting created and invite sent': 'Meeting created and invite sent', - 'Failed to create meeting': 'Failed to create meeting', - 'Create and send invite': 'Create and send invite', - 'Creating…': 'Creating…', - 'In-person meeting': 'In-person meeting', - Location: 'Location', - 'Address, venue, or place': 'Address, venue, or place', - Description: 'Description', - 'Optional notes': 'Optional notes', - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.': - 'Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.', - 'Meeting created and {{count}} invite(s) sent': 'Meeting created and {{count}} invite(s) sent', - 'Create and send invites': 'Create and send invites', - Title: 'Title', - Start: 'Start', - End: 'End', - Delete: '删除', - 'Relay already exists': '服务器已存在', - 'invalid relay URL': '无效的服务器地址', - 'Relay URL…': 'wss://… or relay host', - 'Open relay': 'Open relay', - 'Add a new relay': '添加新的服务器', - back: '返回', - 'Lost in the void': '迷失在虚空中', - 'Carry me home': '带我回家', - 'no replies': '暂无回复', - 'Reply to': '回复', - Search: '搜索', - 'The relays you are connected to do not support search': '您连接的服务器不支持搜索', - 'Show more...': '查看更多...', - 'All users': '所有用户', - 'Display replies': '显示回复', - Notes: '笔记', - Replies: '回复', - Gallery: '画廊', - Notifications: '通知', - 'no more notifications': '到底了', - 'Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.': - '使用私钥登录不安全。建议使用浏览器插件登录,如 alby、nostr-keyx 或 nos2x。如果必须使用私钥,请至少设置一个密码进行加密。', - 'Login with Browser Extension': '浏览器插件登录', - 'Login with Bunker': 'Bunker 登录', - 'Login with Private Key': '私钥登录', - 'Login with npub (read-only)': '使用 npub 登录(只读)', - 'reload notes': '重新加载笔记', - 'Logged in Accounts': '已登录账户', - 'Add an Account': '添加账户', - 'More options': '更多选项', - 'Add client tag': '添加客户端标签', - 'Show others this was sent via Imwald': '告诉别人这是通过 Imwald 发送的', - 'Are you sure you want to logout?': '确定要退出登录吗?', - 'relay sets': '服务器组', - edit: '编辑', - Languages: '语言', - Theme: '主题', - System: '系统', - Light: '浅色', - Dark: '深色', - Temporary: '临时', - 'Choose a relay set': '选择一个服务器组', - 'Switch account': '切换账户', - Pictures: '图片', - 'Picture note': '图片笔记', - 'A special note for picture-first clients like Olas': - '一种可以在图片优先客户端 (如 Olas) 中显示的特殊笔记', - 'Picture note requires images': '图片笔记需要有图片', - Relays: '服务器', - Image: '图片', - 'Upload Image': 'Upload Image', - 'Insert emoji': 'Insert emoji', - 'Insert GIF': 'Insert GIF', - 'Insert meme': 'Insert meme', - 'Search GIFs': 'Search GIFs', - 'Search memes': 'Search memes', - 'Choose a GIF': 'Choose a GIF', - 'Choose a meme': 'Choose a meme', - 'Search GifBuddy for more GIFs': 'Search GifBuddy for more GIFs', - 'Add your own GIFs': 'Add your own GIFs', - 'Add your own meme templates': 'Add your own meme templates', - 'Description (optional, for search)': 'Description (optional, for search)', - 'e.g. happy birthday, thumbs up': 'e.g. happy birthday, thumbs up', - 'e.g. drake, distracted boyfriend': 'e.g. drake, distracted boyfriend', - 'Uploading...': 'Uploading...', - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.': - 'No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.', - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).': - 'No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).', - 'Failed to publish meme template for the picker': - 'Failed to publish meme template for the picker', - '{{name}} is not a GIF file': '{{name}} is not a GIF file', - '{{name}} is not a JPEG, PNG, or WebP file': '{{name}} is not a JPEG, PNG, or WebP file', - 'R & W': '读写', - Read: '只读', - Write: '只写', - 'Pull relay sets': '拉取服务器组', - 'Select the relay sets you want to pull': '选择要拉取的服务器组', - 'No relay sets found': '未找到服务器组', - 'Pull n relay sets': '拉取 {{n}} 个服务器组', - Pull: '拉取', - 'Select all': '全选', - 'Relay Sets': '服务器组', - 'Read & Write Relays': '读写服务器', - 'read relays description': - '读服务器用于寻找与您有关的事件。其他用户会将想要你看到的事件发布到您的读服务器。', - 'write relays description': - '写服务器用于发布您的事件。其他用户会从您的写服务器寻找您发布的事件。', - 'read & write relays notice': '读服务器和写服务器的数量都应尽量保持在 2 到 4 个之间。', - "Don't have an account yet?": '还没有账户?', - 'or simply generate a private key': '或者简单生成一个私钥', - 'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.': - '这是私钥,请勿与他人分享。请妥善保管,否则将无法找回。', - Edit: '编辑', - Save: '保存', - 'Display Name': '昵称', - Bio: '简介', - 'Nostr Address (NIP-05)': 'Nostr 地址 (NIP-05)', - 'Invalid NIP-05 address': '无效的 NIP-05 地址', - 'Copy private key': '复制私钥', - 'Enter the password to decrypt your ncryptsec': '输入密码以解密您的 ncryptsec', - Back: '返回', - 'optional: encrypt nsec': '可选: 加密 nsec', - password: '密码', - 'Sign up': '注册', - 'Save to': '保存到', - 'Enter a name for the new relay set': '输入新服务器组的名称', - 'Save to a new relay set': '保存到新服务器组', - Mute: '屏蔽', - Muted: '已屏蔽', - Unmute: '取消屏蔽', - 'Unmute user': '取消屏蔽用户', - Block: 'Block', - Unblock: 'Unblock', - blocked: 'blocked', - 'Append n relays': '追加 {{n}} 个服务器', - Append: '追加', - 'Select relays to append': '选择要追加的服务器', - 'calculating...': '计算中...', - 'Calculate optimal read relays': '计算最佳读服务器', - 'Login to set': '登录后设置', - 'Please login to view following feed': '请登录以查看关注动态', - 'Follow set': 'Follow set', - 'Follow set feed empty': - 'This NIP-51 list is empty, was not found, or relays could not load it yet.', - 'Send only to r': '只发送到 {{r}}', - 'Send only to these relays': '只发送到这些服务器', - Explore: '探索', - 'Relay reviews': '中继评价', - 'Search relays': '搜索服务器', - relayInfoBadgeAuth: '需登陆', - relayInfoBadgeSearch: '支持搜索', - relayInfoBadgePayment: '需付费', - Operator: '管理员', - Contact: '联系方式', - Software: '软件', - Version: '版本', - 'Random Relays': '随机服务器', - randomRelaysRefresh: '换一批', - 'Explore more': '探索更多', - 'Payment page': '付款页面', - 'Supported NIPs': '支持的 NIP', - 'Relay liveliness (NIP-66)': 'Relay liveliness (NIP-66)', - 'Relay monitor (NIP-66)': 'Relay monitor (NIP-66)', - 'Auth required': 'Auth required', - 'Public (no auth)': 'Public (no auth)', - 'Payment required': 'Payment required', - 'No payment': 'No payment', - 'Writes required': 'Writes required', - 'Writes open': 'Writes open', - 'PoW required': 'PoW required', - 'No PoW': 'No PoW', - 'RTT open': 'RTT open', - 'RTT read': 'RTT read', - 'RTT write': 'RTT write', - 'Supported NIPs (from monitor)': 'Supported NIPs (from monitor)', - 'Last reported by monitor': 'Last reported by monitor', - Network: 'Network', - Type: 'Type', - Topics: 'Topics', - 'Open in a': '在 {{a}} 中打开', - 'Cannot handle event of kind k': '无法处理类型为 {{k}} 的事件', - 'Unsupported event preview': - 'There isn’t a dedicated card for this event type yet. Here’s a readable preview.', - 'No text content in event': 'No text in this event.', - 'Technical details': 'Technical details', - 'Event kind and time': 'Kind {{kind}} · {{time}}', - 'Event kind label': 'Kind {{kind}}', - 'Note kind label line': 'KIND: {{kind}} · {{description}}', - 'Unknown note declared kind tag': 'Tagged kind: {{value}}', - 'Unknown note tagged pubkey': 'Tagged pubkey', - 'Unknown note tagged content': 'Content', - 'Unknown note reference tags': 'Reference tags (e, p, q, a)', - 'Starred spells': 'Starred spells', - 'Spell star add title': 'Star spell (adds to your Nostr bookmarks)', - 'Spell star remove title': 'Unstar spell (removes from your Nostr bookmarks)', - 'Copy JSON': 'Copy JSON', - Verse: 'Verse', - 'Notification reaction summary': 'reacted to this note.', - 'Notification discussion upvote summary': 'upvoted in this discussion.', - 'Notification discussion downvote summary': 'downvoted in this discussion.', - 'Notification boost summary': 'Boosted this note', - 'Notification boost detail': 'The preview above is the original post.', - 'Notification poll vote summary': 'Voted on the poll above.', - 'Notification poll vote options count': '{{count}} option(s) selected', - 'Imwald synthetic event': 'Imwald synthetic event', - '+ Add a URL to this list': 'Add a URL to this list', - 'Add a web URL': 'Add a web URL', - 'Add web URL to feed description': - 'Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.', - 'Add to feed': 'Add to feed', - 'Open any https page in the side panel to reply, react, and discuss on Nostr.': - 'Open any https page in the side panel to reply, react, and discuss on Nostr.', - 'Enter a valid http(s) URL': 'Enter a valid http(s) URL', - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.': - 'Opened by URL — not from your RSS list. Nostr thread is still tied to this link.', - 'Open in browser': 'Open in browser', - 'Web page': 'Web page', - Open: 'Open', - 'Sorry! The note cannot be found 😔': '抱歉!找不到该笔记 😔', - 'This user has been muted': '该用户已被屏蔽', - Wallet: '钱包', - Sats: '聪', - sats: '聪', - 'Zap to': '打闪给', - 'Zap n sats': '打闪 {{n}} 聪', - zapComment: '附言', - 'Default zap amount': '默认打闪金额', - 'Default zap comment': '默认打闪附言', - 'Lightning Address (or LNURL)': '闪电地址 (或 LNURL)', - 'Quick zap': '快速打闪', - 'If enabled, you can zap with a single click. Click and hold for custom amounts': - '如果启用,您单击即可打闪。长按以设置自定义金额', - All: '全部', - Reactions: '互动', - Zaps: '打闪', - Boosts: '助推', - Badges: 'Badges', - Reports: 'Reports', - 'Enjoying Imwald?': '喜欢 Imwald 吗?', - 'Your donation helps me maintain Imwald and make it better! 😊': - '您的捐赠帮助我维护 Imwald 并使其更好!😊', - 'Earlier notifications': '更早的通知', - 'Temporarily display this note': '临时显示此笔记', - buttonFollowing: '已关注', - 'Are you sure you want to unfollow this user?': '确定要取消关注此用户吗?', - 'Recent Supporters': '最近的支持者', - 'Seen on': '来自', - 'Temporarily display this reply': '临时显示此回复', - 'Note not found': '未找到该笔记', - 'Invalid embedded note reference': 'Invalid embedded note reference', - embeddedNoteInvalidEmpty: 'This embedded link is empty.', - embeddedNoteInvalidHex: - 'This is not a valid hex event id (expected exactly 64 hexadecimal characters).', - embeddedNoteInvalidBech32: - 'This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.', - embeddedNoteInvalidWrongKind: - 'This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.', - 'The note was not found on your relays or default relays.': - 'The note was not found on your relays or default relays.', + "Meeting created and invite sent": "Meeting created and invite sent", + "Failed to create meeting": "Failed to create meeting", + "Create and send invite": "Create and send invite", + "Creating…": "Creating…", + "In-person meeting": "In-person meeting", + Location: "Location", + "Address, venue, or place": "Address, venue, or place", + Description: "Description", + "Optional notes": "Optional notes", + "Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.": "Create a calendar event for a real-life meetup and send kind 24 invites to each invitee.", + "Meeting created and {{count}} invite(s) sent": "Meeting created and {{count}} invite(s) sent", + "Create and send invites": "Create and send invites", + Title: "Title", + Start: "Start", + End: "End", + Delete: "删除", + "Relay already exists": "服务器已存在", + "invalid relay URL": "无效的服务器地址", + "Relay URL…": "wss://… or relay host", + "Open relay": "Open relay", + "Add a new relay": "添加新的服务器", + back: "返回", + "Lost in the void": "迷失在虚空中", + "Carry me home": "带我回家", + "no replies": "暂无回复", + "Reply to": "回复", + Search: "搜索", + "The relays you are connected to do not support search": "您连接的服务器不支持搜索", + "Show more...": "查看更多...", + "All users": "所有用户", + "Display replies": "显示回复", + Notes: "笔记", + Replies: "回复", + Gallery: "画廊", + Notifications: "通知", + "no more notifications": "到底了", + "Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.": "使用私钥登录不安全。建议使用浏览器插件登录,如 alby、nostr-keyx 或 nos2x。如果必须使用私钥,请至少设置一个密码进行加密。", + "Login with Browser Extension": "浏览器插件登录", + "Login with Bunker": "Bunker 登录", + "Login with Private Key": "私钥登录", + "Login with npub (read-only)": "使用 npub 登录(只读)", + readOnlySession: {"label":"Read-only","labelShort":"R/O","hint":"Browsing without a signing key. Sign in with an extension, nsec, or another method to post, react, and edit."}, + "reload notes": "重新加载笔记", + "Logged in Accounts": "已登录账户", + "Add an Account": "添加账户", + "More options": "更多选项", + "Add client tag": "添加客户端标签", + "Show others this was sent via Imwald": "告诉别人这是通过 Imwald 发送的", + "Are you sure you want to logout?": "确定要退出登录吗?", + "relay sets": "服务器组", + edit: "编辑", + Languages: "语言", + Theme: "主题", + System: "系统", + Light: "浅色", + Dark: "深色", + Temporary: "临时", + "Choose a relay set": "选择一个服务器组", + "Switch account": "切换账户", + Pictures: "图片", + "Picture note": "图片笔记", + "A special note for picture-first clients like Olas": "一种可以在图片优先客户端 (如 Olas) 中显示的特殊笔记", + "Picture note requires images": "图片笔记需要有图片", + Relays: "服务器", + Image: "图片", + "This image could not be loaded.": "This image could not be loaded.", + "Invalid or unsupported image address.": "Invalid or unsupported image address.", + "Open image link": "Open image link", + "Upload Image": "Upload Image", + "Insert emoji": "Insert emoji", + "Insert GIF": "Insert GIF", + "Insert meme": "Insert meme", + "Search GIFs": "Search GIFs", + "Search memes": "Search memes", + "Choose a GIF": "Choose a GIF", + "Choose a meme": "Choose a meme", + "Search GifBuddy for more GIFs": "Search GifBuddy for more GIFs", + "Add your own GIFs": "Add your own GIFs", + "Add your own meme templates": "Add your own meme templates", + "Description (optional, for search)": "Description (optional, for search)", + "e.g. happy birthday, thumbs up": "e.g. happy birthday, thumbs up", + "e.g. drake, distracted boyfriend": "e.g. drake, distracted boyfriend", + "Uploading...": "Uploading...", + "No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.": "No GIFs found. Try searching or add your own. GIFs come from Nostr kind 1063 (NIP-94) events on GIF relays.", + "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).": "No meme templates found. Try searching or open Meme Amigo. The grid only lists kind 1063 (NIP-94) files tagged memeamigo (not random photos from notes).", + "Failed to publish meme template for the picker": "Failed to publish meme template for the picker", + "{{name}} is not a GIF file": "{{name}} is not a GIF file", + "{{name}} is not a JPEG, PNG, or WebP file": "{{name}} is not a JPEG, PNG, or WebP file", + "R & W": "读写", + Read: "只读", + Write: "只写", + "Pull relay sets": "拉取服务器组", + "Select the relay sets you want to pull": "选择要拉取的服务器组", + "No relay sets found": "未找到服务器组", + "Pull n relay sets": "拉取 {{n}} 个服务器组", + Pull: "拉取", + "Select all": "全选", + "Relay Sets": "服务器组", + "Read & Write Relays": "读写服务器", + "read relays description": "读服务器用于寻找与您有关的事件。其他用户会将想要你看到的事件发布到您的读服务器。", + "write relays description": "写服务器用于发布您的事件。其他用户会从您的写服务器寻找您发布的事件。", + "read & write relays notice": "读服务器和写服务器的数量都应尽量保持在 2 到 4 个之间。", + "Don't have an account yet?": "还没有账户?", + "or simply generate a private key": "或者简单生成一个私钥", + "This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.": "这是私钥,请勿与他人分享。请妥善保管,否则将无法找回。", + Edit: "编辑", + Save: "保存", + "Display Name": "昵称", + Bio: "简介", + "Nostr Address (NIP-05)": "Nostr 地址 (NIP-05)", + "Invalid NIP-05 address": "无效的 NIP-05 地址", + "Copy private key": "复制私钥", + "Enter the password to decrypt your ncryptsec": "输入密码以解密您的 ncryptsec", + Back: "返回", + "optional: encrypt nsec": "可选: 加密 nsec", + password: "密码", + "Sign up": "注册", + "Save to": "保存到", + "Enter a name for the new relay set": "输入新服务器组的名称", + "Save to a new relay set": "保存到新服务器组", + Mute: "屏蔽", + Muted: "已屏蔽", + Unmute: "取消屏蔽", + "Unmute user": "取消屏蔽用户", + Block: "Block", + Unblock: "Unblock", + blocked: "blocked", + "Append n relays": "追加 {{n}} 个服务器", + Append: "追加", + "Select relays to append": "选择要追加的服务器", + "calculating...": "计算中...", + "Calculate optimal read relays": "计算最佳读服务器", + "Login to set": "登录后设置", + "Please login to view following feed": "请登录以查看关注动态", + "Follow set": "Follow set", + "Follow set feed empty": "This NIP-51 list is empty, was not found, or relays could not load it yet.", + "Send only to r": "只发送到 {{r}}", + "Send only to these relays": "只发送到这些服务器", + Explore: "探索", + "Relay reviews": "中继评价", + "Search relays": "搜索服务器", + relayInfoBadgeAuth: "需登陆", + relayInfoBadgeSearch: "支持搜索", + relayInfoBadgePayment: "需付费", + Operator: "管理员", + Contact: "联系方式", + Software: "软件", + Version: "版本", + "Random Relays": "随机服务器", + randomRelaysRefresh: "换一批", + "Explore more": "探索更多", + "Payment page": "付款页面", + "Supported NIPs": "支持的 NIP", + "Relay liveliness (NIP-66)": "Relay liveliness (NIP-66)", + "Relay monitor (NIP-66)": "Relay monitor (NIP-66)", + "Auth required": "Auth required", + "Public (no auth)": "Public (no auth)", + "Payment required": "Payment required", + "No payment": "No payment", + "Writes required": "Writes required", + "Writes open": "Writes open", + "PoW required": "PoW required", + "No PoW": "No PoW", + "RTT open": "RTT open", + "RTT read": "RTT read", + "RTT write": "RTT write", + "Supported NIPs (from monitor)": "Supported NIPs (from monitor)", + "Last reported by monitor": "Last reported by monitor", + Network: "Network", + Type: "Type", + Topics: "Topics", + "Open in a": "在 {{a}} 中打开", + "Cannot handle event of kind k": "无法处理类型为 {{k}} 的事件", + "Unsupported event preview": "There isn’t a dedicated card for this event type yet. Here’s a readable preview.", + "No text content in event": "No text in this event.", + "Technical details": "Technical details", + "Event kind and time": "Kind {{kind}} · {{time}}", + "Event kind label": "Kind {{kind}}", + "Note kind label line": "KIND: {{kind}} · {{description}}", + "Unknown note declared kind tag": "Tagged kind: {{value}}", + "Unknown note tagged pubkey": "Tagged pubkey", + "Unknown note tagged content": "Content", + "Unknown note reference tags": "Reference tags (e, p, q, a)", + "Starred spells": "Starred spells", + "Spell star add title": "Star spell (adds to your Nostr bookmarks)", + "Spell star remove title": "Unstar spell (removes from your Nostr bookmarks)", + "Copy JSON": "Copy JSON", + Verse: "Verse", + "Notification reaction summary": "reacted to this note.", + "Notification discussion upvote summary": "upvoted in this discussion.", + "Notification discussion downvote summary": "downvoted in this discussion.", + "Notification boost summary": "Boosted this note", + "Notification boost detail": "The preview above is the original post.", + "Notification poll vote summary": "Voted on the poll above.", + "Notification poll vote options count": "{{count}} option(s) selected", + "Imwald synthetic event": "Imwald synthetic event", + "+ Add a URL to this list": "Add a URL to this list", + "Add a web URL": "Add a web URL", + "Add web URL to feed description": "Adds a card to this feed. Open the page from the card when you want to read, reply, react, or highlight.", + "Add to feed": "Add to feed", + "Open any https page in the side panel to reply, react, and discuss on Nostr.": "Open any https page in the side panel to reply, react, and discuss on Nostr.", + "Enter a valid http(s) URL": "Enter a valid http(s) URL", + "Opened by URL — not from your RSS list. Nostr thread is still tied to this link.": "Opened by URL — not from your RSS list. Nostr thread is still tied to this link.", + "Open in browser": "Open in browser", + "liveEvent.zapStreamPlayer": "Live stream (zap.stream)", + liveStreamEmbedSuppressed: "Inline live stream is hidden because your kind filter excludes NIP-53 streams. Open via njump or another client below.", + "liveEvent.hlsPlaybackUnavailable": "Inline playback failed (the stream may be offline, ended, or blocked). You can still open the hosted watch page below.", + "liveEvent.hideFromCarousel": "Hide from carousel", + "liveEvent.showInCarousel": "Show in carousel", + "liveEvent.hideFromCarouselTitle": "Hide this stream in the live carousel (saved in this browser on this device). Click again to show it.", + "liveEvent.showInCarouselTitle": "Show this stream in the live carousel again.", + "Web page": "Web page", + Open: "Open", + "Sorry! The note cannot be found 😔": "抱歉!找不到该笔记 😔", + "This user has been muted": "该用户已被屏蔽", + Wallet: "钱包", + Sats: "聪", + sats: "聪", + "Zap to": "打闪给", + "Zap n sats": "打闪 {{n}} 聪", + zapComment: "附言", + "Default zap amount": "默认打闪金额", + "Default zap comment": "默认打闪附言", + "Lightning Address (or LNURL)": "闪电地址 (或 LNURL)", + "Quick zap": "快速打闪", + "If enabled, you can zap with a single click. Click and hold for custom amounts": "如果启用,您单击即可打闪。长按以设置自定义金额", + All: "全部", + Reactions: "互动", + Zaps: "打闪", + Boosts: "助推", + Badges: "Badges", + Reports: "Reports", + "Enjoying Imwald?": "喜欢 Imwald 吗?", + "Your donation helps me maintain Imwald and make it better! 😊": "您的捐赠帮助我维护 Imwald 并使其更好!😊", + "Earlier notifications": "更早的通知", + "Temporarily display this note": "临时显示此笔记", + buttonFollowing: "已关注", + "Are you sure you want to unfollow this user?": "确定要取消关注此用户吗?", + "Recent Supporters": "最近的支持者", + "Seen on": "来自", + "Active relays": "Active relays", + "Not connected": "Not connected", + "Relay session striked": "Skipped this session (too many connection failures)", + "More relays": "+{{count}} relays", + "Temporarily display this reply": "临时显示此回复", + "Note not found": "未找到该笔记", + "Invalid embedded note reference": "Invalid embedded note reference", + embeddedNoteInvalidEmpty: "This embedded link is empty.", + embeddedNoteInvalidHex: "This is not a valid hex event id (expected exactly 64 hexadecimal characters).", + embeddedNoteInvalidBech32: "This is not a valid Nostr id (bech32 decode failed). It may be mistyped or truncated.", + embeddedNoteInvalidWrongKind: "This is a {{type}} id. Embedded notes must use note1, nevent1, naddr1, or 64-character hex.", + "The note was not found on your relays or default relays.": "The note was not found on your relays or default relays.", "Try searching author's relays": "Try searching author's relays", - 'Searching external relays...': 'Searching external relays...', - "This will connect to the author's relays and relay hints": - "This will connect to the author's relays and relay hints", - 'Note could not be found anywhere': 'Note could not be found anywhere', - 'Try external relays': 'Try external relays', - 'Searching...': 'Searching...', - 'Show relays': 'Show relays', - 'No external relay hints available': 'No external relay hints available', - 'External relay search is not available for this link type': - 'External relay search is not available for this link type.', - 'Searched external relays not found': - 'Searched {{count}} external relays; the note was still not found.', - 'no more replies': '没有更多回复了', - 'Relay sets': '服务器组', - 'Search for Relays': 'Search for Relays', - 'Using app default relays': 'Using app default relays', - "Following's Favorites": '关注人的收藏', - 'no more relays': '没有更多服务器了', - 'Favorited by': '收藏自', - 'Post settings': '发布设置', - 'Publishing feedback': 'Publishing feedback', - 'Publish success toasts': 'Publish success toasts', - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.': - 'Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.', - 'Publish successful': 'Publish successful', - 'Media upload service': '媒体上传服务', - 'Choose a relay': '选择一个服务器', - 'no relays found': '未找到服务器', - video: '视频', - 'Show n new notes': '显示 {{n}} 条新笔记', - YouTabName: '与你', - Bookmark: '收藏', - 'Remove bookmark': '取消收藏', - 'no bookmarks found': '暂无收藏', - 'no more bookmarks': '到底了', - Bookmarks: '收藏', - 'Follow Packs': 'Follow Packs', - 'Follow Pack': 'Follow Pack', - 'Follow pack by': 'by', - 'In Follow Packs': 'In Follow Packs', - 'Badge details': 'Badge details', - 'Issued by': 'Issued by', - 'Other recipients': 'Other recipients', - 'No other recipients found': 'No other recipients found', - 'Recipients could not be loaded': 'Recipients could not be loaded', - 'View award': 'View award', - 'Awarded on': 'Awarded on', - 'Please log in to follow': 'Please log in to follow', - 'Following All': 'Following All', - 'Followed {{count}} users': 'Followed {{count}} users', - 'All available members are already followed or muted': - 'All available members are already followed or muted', - 'You are already following all members of this pack': - 'You are already following all members of this pack', - 'Failed to follow pack': 'Failed to follow pack', - '{{count}} profiles': '{{count}} profiles', - 'Show more': '显示更多', - General: '常规', - Autoplay: '自动播放', - 'Enable video autoplay on this device': '在此设备上启用视频自动播放', - 'liveActivities.heading': 'Live now', - 'liveActivities.regionLabel': 'Live spaces and streams', - 'liveActivities.fromFollow': 'From someone you follow', - 'liveActivities.goToSlide': 'Show live item {{n}}', - 'liveActivities.settingsToggle': 'Live activities banner', - 'liveActivities.settingsHint': - 'Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.', - 'Add random relays to every publish': 'Random relays in publish list', - 'Add random relays to every publish description': - 'Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.', - relayType_local: 'Local', - relayType_relay_list: 'Relay list', - relayType_http_relay_list: 'HTTP', - 'HTTP relays': 'HTTP relays', - httpRelaysDescription: - 'HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.', - 'HTTP relays saved': 'HTTP relays saved', - 'Failed to save HTTP relay list': 'Failed to save HTTP relay list', - 'HTTP relays must start with https:// or http://': - 'HTTP relays must start with https:// or http://', - relayType_client_default: 'Client default', - relayType_open_from: 'Current feed', - relayType_favorite: 'Favorite', - relayType_relay_set: 'Relay set', - relayType_contextual: 'Reply/PM', - relayType_randomly_selected: 'Random (optional)', - 'Session relays': 'Session relays', - 'Session relays tab description': - 'Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish).', - 'Session relays preset working': 'Working preset relays', - 'Session relays preset working hint': - 'Preset relays (from app defaults) that have not reached 3 publish failures this session.', - 'Session relays preset striked': 'Striked preset relays', - 'Session relays preset striked hint': - 'Preset relays that have reached 3 publish failures this session and are skipped for the rest of the session.', - 'Session relays scored random': 'Scored random relays', - 'Session relays scored random hint': - 'Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.', - 'Session relays all striked': 'All striked relays (any source)', - 'Session relays clear strike': 'Allow again', - 'Session relays clear strike hint': - 'Remove this relay from the session block list; it will be used again until new connection failures.', - successes: 'successes', - None: 'None', - 'Cache & offline storage': 'Cache & offline storage', - feedStarting: 'Starting feeds and relays… This can take a few seconds after login.', - refreshCacheButtonExplainer: - 'Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.', - 'eventArchive.sectionTitle': 'Notes & feed archive', - 'eventArchive.sectionBlurb': - 'Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.', - 'eventArchive.defaultsMobile': - 'This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).', - 'eventArchive.defaultsElectron': - 'Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.defaultsDesktopWeb': - 'Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.', - 'eventArchive.enablePersist': 'Persist feed events to disk', - 'eventArchive.maxMb': 'Max archive size (MB), blank = default for this device', - 'eventArchive.maxEvents': 'Max archived events, blank = default', - 'eventArchive.sessionLru': 'In-memory session cache (event count), blank = default', - 'eventArchive.effectiveSummary': - 'Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.', - 'eventArchive.on': 'on', - 'eventArchive.off': 'off', - 'eventArchive.apply': 'Apply cache settings', - 'eventArchive.appliedToast': 'Cache settings saved. Session memory updated.', - 'Paste or drop media files to upload': '支持粘贴或拖放媒体文件进行上传', - Preview: '预览', - 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - '您即将发布一条由 [{{eventAuthorName}}] 签名的事件。您当前以 [{{currentUsername}}] 登录。确定吗?', - 'Platinum Sponsors': '白金赞助商', - From: '来自', - 'Comment on': '评论于', - 'View on njump.me': '在 njump.me 上查看', - 'Hide content from untrusted users': '隐藏不受信任用户的内容', - 'Only show content from your followed users and the users they follow': - '仅显示您关注的用户及其关注的用户的内容', - 'Followed by': '关注者', - 'Mute user privately': '悄悄屏蔽', - 'Mute user publicly': '公开屏蔽', - Quotes: '引用', - 'Lightning Invoice': '闪电发票', - 'Bookmark failed': '收藏失败', - 'Remove bookmark failed': '取消收藏失败', - Translation: '翻译', - Balance: '余额', - characters: '字符', - translateApiKeyDescription: - '您可以在任何支持 LibreTranslate 的地方使用此 API key。服务地址是 {{serviceUrl}}', - 'Top up': '充值', - 'Will receive: {n} characters': '将获得: {{n}} 字符', - 'Top up {n} sats': '充值 {{n}} 聪', - 'Minimum top up is {n} sats': '最低充值金额为 {{n}} 聪', - Service: '服务', - 'Reset API key': '重置 API key', - 'Are you sure you want to reset your API key? This action cannot be undone.': - '您确定要重置您的 API key?此操作无法撤销。', - Warning: '警告', - 'Errors & warnings': 'Errors & warnings', - 'Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.': - '您当前的 API key 将立即失效,任何使用它的应用程序将停止工作,直到您用新 key 更新它们。', - 'Service address': '服务地址', - Pay: '支付', - interactions: '互动', - notifications: '通知', - notificationsViewAsAccount: 'View as', - notificationsViewAsAccountAria: - 'Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.', - notificationsSwitchAccountFailed: - 'Could not switch account. Check your signer, password, or extension and try again.', - 'Show untrusted {type}': '显示不受信任的{{type}}', - 'Hide untrusted {type}': '隐藏不受信任的{{type}}', - 'Currently hiding {type} from untrusted users.': '当前隐藏来自不受信任用户的{{type}}。', - 'Currently showing all {type}.': '当前显示所有{{type}}。', - 'Click continue to show all {type}.': '点击继续显示所有{{type}}。', - 'Click continue to hide {type} from untrusted users.': - '点击继续隐藏来自不受信任用户的{{type}}。', - 'Trusted users include people you follow and people they follow.': - '受信任的用户包括您关注的人和他们关注的人。', - Continue: '继续', - 'Successfully updated mute list': '成功更新屏蔽列表', - 'No pubkeys found from {url}': '在 {{url}} 中未找到 pubkeys', - 'Translating...': '翻译中...', - Translate: '翻译', - 'Show original': '显示原文', - Website: '网站', - 'Hide untrusted notes': '隐藏不受信任的笔记', - 'Open in another client': '在其他客户端打开', - Community: '社区', - Group: '群组', - 'Live event': '直播', - Article: '文章', - Unfavorite: '取消收藏', - 'Recommended relays': '推荐服务器', - 'Show recommended relays panel': 'Show recommended relays panel', - 'Display the right-side panel with recommended relays on desktop': - 'Display the right-side panel with recommended relays on desktop', - 'Blossom server URLs': 'Blossom 服务器地址', - 'You need to add at least one blossom server in order to upload media files.': - '您需要添加至少一个 Blossom 服务器才能上传媒体文件。', - 'Recommended blossom servers': '推荐的 Blossom 服务器', - 'Enter Blossom server URL': '输入 Blossom 服务器 URL', - Preferred: '首选', - 'Multiple choice (select one or more)': '多选 (选择一个或多个)', - Vote: '投票', - '{{number}} votes': '{{number}} 次投票', - 'Total votes': '总票数', - 'Poll has ended': '投票已结束', - 'Poll ends at {{time}}': '投票结束时间:{{time}}', - 'Load results': '加载结果', - 'This is a poll note.': '这是一个投票帖子。', - 'Unlike regular notes, polls are not widely supported and may not display on other clients.': - '与普通帖子不同,投票功能暂时没有得到广泛的支持,可能无法在其他客户端中显示。', - 'Option {{number}}': '选项 {{number}}', - 'Add Option': '添加选项', - 'Allow multiple choices': '允许多选', - 'End Date (optional)': '结束日期(可选)', - 'Clear end date': '清除结束日期', - 'Relay URLs (optional, comma-separated)': '中继服务器 URL(可选,逗号分隔)', - 'Remove poll': '移除投票', - 'Refresh results': '刷新结果', - '{{votes}} · {{pct}}%': '{{votes}} · {{pct}}%', - 'See results': 'See results', - 'Zap poll (paid votes)': 'Zap poll (paid votes)', - 'Invalid zap poll': 'Invalid zap poll', - 'You voted on this poll (zap receipt)': 'You voted on this poll (zap receipt)', - 'Poll closed {{time}}': 'Poll closed {{time}}', - 'Closes {{time}}': 'Closes {{time}}', - 'Vote size': 'Vote size', - '{{n}} sats (fixed)': '{{n}} sats (fixed)', - '{{min}}–{{max}} sats': '{{min}}–{{max}} sats', - '≥ {{n}} sats': '≥ {{n}} sats', - '≤ {{n}} sats': '≤ {{n}} sats', - 'Loading tally…': 'Loading tally…', - 'Zap poll no votes yet': - 'No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).', - 'Consensus threshold': 'Consensus threshold', - 'Pay to': 'Pay to', - Recipient: 'Recipient', - Option: 'Option', - 'Select option': 'Select option', - 'Select an option': 'Select an option', - 'Vote with zap': 'Vote with zap', - 'Zap sent': 'Zap sent', - 'Zapping…': 'Zapping…', - 'Refresh tally': 'Refresh tally', - '{{n}} zaps': '{{n}} zaps', - Poll: '投票', - Media: '媒体', - 'Articles and Publications': 'Articles and Publications', - 'Search articles...': 'Search articles...', - 'Refreshing articles...': 'Refreshing articles...', - 'No articles or publications found': 'No articles or publications found', - 'No articles or publications match your search': - 'No articles or publications match your search', - 'articles and publications': 'articles and publications', - Interests: 'Interests', - Calendar: 'Calendar', - 'No subscribed interests yet.': - 'No subscribed interests yet. Add topics in settings to see them here.', - 'No bookmarked notes with id tags yet.': - 'No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.', - 'No follows or relays to load yet.': 'No follows or relays to load yet.', - 'Nothing to load for this feed.': 'Nothing to load for this feed.', - 'No posts loaded for this feed. Try refreshing.': - 'No posts loaded for this feed. Try refreshing.', - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.': - 'Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.', - 'Per-relay timeline results ({{count}} connections)': - 'Per-relay timeline results ({{count}} connections)', - 'Republish to ...': '重新发布到 ...', - 'All available relays': 'All available relays', - 'All active relays (monitoring list)': 'All active relays (monitoring list)', - 'Successfully republish to all available relays': - 'Successfully republish to all available relays', - 'Failed to republish to all available relays: {{error}}': - 'Failed to republish to all available relays: {{error}}', - 'Successfully republish to all active relays': 'Successfully republish to all active relays', - 'Failed to republish to all active relays: {{error}}': - 'Failed to republish to all active relays: {{error}}', - 'No active relays in monitoring list': 'No active relays in monitoring list', - 'No relay accepted the event': 'No relay accepted the event', - 'No relays available': 'No relays available', - 'No write relays configured': 'No write relays configured', - 'Relay did not accept the event': 'Relay did not accept the event', - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".': - 'Only {{count}} relay(s) accepted the event; at least 5 required for "all active relays".', - 'Successfully republish to your write relays': '成功重新发布到您的写服务器', - 'Failed to republish to your write relays: {{error}}': '重新发布到您的写服务器失败: {{error}}', - 'Successfully republish to relay set: {{name}}': '成功重新发布到服务器组: {{name}}', - 'Failed to republish to relay set: {{name}}. Error: {{error}}': - '重新发布到服务器组: {{name}} 失败。错误: {{error}}', - 'Successfully republish to relay: {{url}}': '成功重新发布到服务器: {{url}}', - 'Failed to republish to relay: {{url}}. Error: {{error}}': - '重新发布到服务器: {{url}} 失败。错误: {{error}}', - 'Write relays': '写服务器', - 'No more reactions': '没有更多互动了', - 'No reactions yet': '暂无互动', - 'No more zaps': '没有更多打闪了', - 'No zaps yet': '暂无打闪', - 'No more boosts': '没有更多助推了', - 'No boosts yet': '暂无助推', - 'n more boosts': '{{count}} more boosts', - FollowListNotFoundConfirmation: - '未找到关注列表。你想创建一个新的吗?如果你之前已经关注了用户,请不要确认,因为此操作会导致你丢失之前的关注列表。', - MuteListNotFoundConfirmation: - '未找到屏蔽列表。你想创建一个新的吗?如果你之前已经屏蔽了用户,请不要确认,因为此操作会导致你丢失之前的屏蔽列表。', - 'Show NSFW content by default': '默认显示 NSFW 内容', - 'Custom emoji management': '自定义表情符号管理', - 'After changing emojis, you may need to refresh the page': '更改表情符号后,您可能需要刷新页面', - 'Too many read relays': '读取中继过多', - 'Too many write relays': '写入中继过多', - 'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.': - '您有 {{count}} 个读取中继。大多数客户端只使用 2-4 个中继,设置更多是不必要的。', - 'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.': - '您有 {{count}} 个写入中继。大多数客户端只使用 2-4 个中继,设置更多是不必要的。', - 'Optimize Relay Settings': '优化中继设置', - 'Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.': - '您当前的中继配置可能不是最优的。这可能导致其他人难以找到您发布的内容,也可能导致您无法获取完整的通知列表。', - 'Optimize Now': '立即优化', - 'Maybe Later': '稍后处理', - "Don't remind me again": '不再提醒', - Posts: '帖子', - 'Posts (OPs)': 'Posts (OPs)', - 'Kind 1 replies': 'Kind 1 replies', - Comments: 'Comments', - 'Replies & comments': 'Replies & comments', - Articles: '文章', - Highlights: '高亮', - 'A note from': 'A note from', - Polls: '投票', - 'Zap polls': 'Zap polls', - 'Voice Posts': '语音帖子', - 'Photo Posts': '图片帖子', - 'Video Posts': '视频帖子', - 'Git repositories': 'Git repositories', - 'Git issues': 'Git issues', - 'Git releases': 'Git releases', - 'Git Republic repository': 'Git Republic repository', - 'Git Republic issue': 'Git Republic issue', - 'Git Republic release': 'Git Republic release', - 'Git Republic event': 'Git Republic event', - 'Git Republic': 'Git Republic', - 'Open in Git Republic': 'Open in Git Republic', - 'Pre-release': 'Pre-release', - Draft: 'Draft', - 'Repository release': 'Repository release', - 'New Repository Release': 'New Repository Release', - 'Release notes use the editor below (optional).': - 'Release notes use the editor below (optional).', - 'Repository owner (npub or hex)': 'Repository owner (npub or hex)', - 'Repository id (d-tag)': 'Repository id (d-tag)', - 'Git tag name': 'Git tag name', - 'Tag target (40-char commit hash)': 'Tag target (40-character commit hash)', - '40-character hex SHA-1': '40-character hex SHA-1', - 'Release title': 'Release title', - 'Download URL': 'Download URL', - 'Draft release': 'Draft release', - 'Fill repository release fields': 'Fill in all required repository release fields.', - 'Invalid repository owner pubkey': 'Invalid repository owner (use npub or 64-char hex).', - 'Citations require private relays (NIP-65).': - 'Citations require private outbox relays (NIP-65).', - 'Select All': '全选', - 'Clear All': '清空', - 'Set as default filter': '设为默认过滤器', - 'Use filter': 'Use filter', - 'See all events': 'See all events', - 'See all events hint': - 'Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.', - 'Use filter hint': 'Only the kinds you select below are requested and shown.', - Apply: '应用', - Reset: '重置', - 'Share something on this Relay': '在此服务器上分享点什么', - 'Try deleting this note': '尝试删除此笔记', - 'Deletion request sent to {{count}} relays': '删除请求已发送到 {{count}} 个服务器', - 'Suitable Relays': '适合的服务器', - 'People, keywords, or relays': '用户、关键词或服务器', - 'Hide content mentioning muted users': '隐藏提及已屏蔽用户的内容', - 'This note mentions a user you muted': '此笔记提及了您已屏蔽的用户', - Filter: '过滤器', - 'Feed filter': 'Feed filter', - 'Search loaded posts': 'Search loaded posts', - 'Filter loaded posts placeholder': 'Filter by text in content or tags…', - 'Feed filter author': 'Author', - 'Feed filter author everyone': 'From everyone', - 'Feed filter author me': 'Only from me', - 'Feed filter author npub': 'From user (npub or hex)', - 'Feed filter author npub from prefix': 'from:', - 'Feed filter author npub placeholder': 'npub1… or 64-char hex', - 'Feed filter author me needs login': 'Log in to filter by your pubkey', - 'Within the last': 'Within the last', - 'Time unit': 'Time unit', - Minutes: 'Minutes', - Days: 'Days', - Weeks: 'Weeks', - Months: 'Months', - Years: 'Years', - 'Feed filter client-side hint': - 'Filters only apply to posts already loaded; relays are not queried again.', - 'Feed full search': 'Perform full search', - 'Feed full search running': 'Searching…', - 'Feed full search clear': 'Clear', - 'Feed full search active hint': - 'Showing relay search results. Clear to return to the live feed.', - 'Feed full search need constraint': - 'Add search text, an author filter, or a time range before searching relays.', - 'Feed full search invalid feed': 'This feed cannot run a relay search.', - 'Feed full search failed': 'Relay search failed. Try again.', - 'Feed full search empty': 'No matching posts were found on the queried relays.', - 'No loaded posts match your filters.': 'No loaded posts match your filters.', - 'mentioned you in a note': '在笔记中提及了您', - 'quoted your note': '引用了您的笔记', - 'quoted this note': 'Quoted this note', - 'highlighted this note': 'Highlighted this note', - 'cited in article': 'Cited in article', - 'Thread backlinks heading': 'Also quoting this note', - 'Thread backlinks primary section': 'Quotes, highlights & citations', - 'Thread backlinks bookmarks section': 'Bookmarks', - 'Thread backlinks lists section': 'Lists & collections', - 'View full note and thread': 'View full note and thread', - 'labeled this note': 'Labeled this note', - 'reported this note': 'Reported this note', - 'bookmarked this note': 'Bookmarked this note', - 'pinned this note': 'Pinned this note', - 'listed this note': 'Listed this note', - 'bookmark set reference': 'Bookmark set includes this note', - 'curated this note': 'Curated this note', - 'badge award for this note': 'Badge award for this note', - 'referenced this note': 'Referenced this note', - 'Report events heading': 'Moderation reports', - 'voted in your poll': '在您的投票中投票', - 'reacted to your note': '对您的笔记做出了反应', - 'boosted your note': '助推了您的笔记', - 'zapped your note': '打闪了您的笔记', - 'zapped you': '给您打闪', - zapped: 'zapped', - 'Invalid zap receipt': 'Invalid zap receipt', - 'Zapped note': 'Zapped note', - 'Zapped profile': 'Zapped profile', - 'Zap reply threshold': 'Zap reply threshold', - 'Zaps above this amount will appear as replies in threads': - 'Zaps above this amount will appear as replies in threads', - 'Mark as read': '标记为已读', - Report: '举报', - 'Successfully report': '举报成功', - 'Failed to report': '举报失败', - nudity: '色情内容', - malware: '恶意软件', - profanity: '亵渎言论', - illegal: '违法内容', - spam: '垃圾信息', - other: '其他', - 'Notification list style': '通知列表样式', - 'See extra info for each notification': '查看每条通知的详细信息', - 'See more notifications at a glance': '一目了然地查看更多通知', - Detailed: '详细', - 'Submit Relay': '提交服务器', - Homepage: '主页', - 'Proof of Work (difficulty {{minPow}})': '工作量证明 (难度 {{minPow}})', - 'via {{client}}': '来自 {{client}}', - 'Auto-load media': '自动加载媒体文件', - Always: '始终', - 'Wi-Fi only': '仅WiFi', - Never: '从不', - 'Click to load image': '点击加载图片', - 'Click to load media': '点击加载音视频', - 'Click to load YouTube video': '点击加载 YouTube 视频', - '{{count}} reviews': '{{count}} 条评价', - 'Write a review': '写评价', - 'No reviews yet. Be the first to write one!': '还没有评价,成为第一个评价的人吧!', - 'View more reviews': '查看更多评价', - 'Failed to review': '评价失败', - 'Write a review and pick a star rating': '写下评价并选择星级评分', - Submit: '提交', - 'Reviews for {{relay}}': '关于 {{relay}} 的评价', - 'No relays selected': '未选择服务器', - 'Post to': '发布到', - 'Write relays and {{count}} other relays': '写服务器和其他 {{count}} 个服务器', - '{{count}} relays': '{{count}} 个服务器', - 'Republishing...': '正在重新发布...', - 'Trending Notes': '热门笔记', - 'Trending on Your Favorite Relays': 'Trending on Your Favorite Relays', - 'Trending on the Default Relays': 'Trending on the Default Relays', - 'Latest from your follows': 'Latest from your follows', - 'Latest from our recommended follows': 'Latest from our recommended follows', - 'Follows latest page title': 'Latest from follows', - 'Follows latest page description': - 'Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.', - 'Follows latest nav label': 'Follows latest', - 'Loading follow list…': 'Loading follow list…', - 'Could not load recommended follows': 'Could not load recommended follows', - 'Your follow list is empty': 'Your follow list is empty', - 'Loading recent posts from follows…': 'Loading recent posts from follows…', - 'Loading more…': 'Loading more…', - 'No recent posts from this user in the current fetch': - 'No recent posts from this user in the current fetch', - 'Loading trending notes from your relays...': 'Loading trending notes from your relays...', - Sort: 'Sort', - newest: 'newest', - oldest: 'oldest', - 'most popular': 'most popular', - 'least popular': 'least popular', - 'Connected to': '已连接到', - 'Disconnect Wallet': '断开钱包连接', - 'Are you absolutely sure?': '您确定吗?', - 'You will not be able to send zaps to others.': '您将无法向他人发送打闪。', - Disconnect: '断开连接', - 'Set up your wallet to send and receive sats!': '设置你的钱包以发送和接收 sats!', - 'Set up': '去设置', - 'nested events': 'nested events', - 'Loading RSS feeds...': 'Loading RSS feeds...', - 'No RSS feed items available': 'No RSS feed items available', - 'Show or hide the RSS page and sidebar entry': 'Show or hide the RSS page and sidebar entry', - 'Refreshing feeds...': 'Refreshing feeds...', - 'All feeds': 'All feeds', - 'All time': 'All time', - 'Last hour': 'Last hour', - 'Last day': 'Last day', - 'Last week': 'Last week', - 'Last month': 'Last month', - 'Last 24 hours': 'Last 24 hours', - 'Last 48 hours': 'Last 48 hours', - 'Time range': 'Time range', - 'Filter by RSS source': 'Filter by RSS source', - 'No items match your filters': 'No items match your filters', - 'Search...': 'Search...', - '{{count}} feeds': '{{count}} feeds', - 'Toggle filters': 'Toggle filters', - 'Showing {{filtered}} of {{total}} items': 'Showing {{filtered}} of {{total}} items', - Full: 'Full', - Compact: '紧凑', - Expand: 'Expand', - 'help.title': 'Help', - 'help.tabShortcuts': 'Keyboard shortcuts', - 'help.tabOverview': 'App overview', - 'shortcuts.title': 'Keyboard shortcuts', - 'shortcuts.intro': - 'Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.', - 'shortcuts.sectionApp': 'This app', - 'shortcuts.sectionSearch': 'Search bar', - 'shortcuts.sectionStandard': 'Standard', - 'shortcuts.openHelp': 'Show this help', - 'shortcuts.or': 'or', - 'shortcuts.then': 'then', - 'shortcuts.focusPrimary': - 'Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)', - 'shortcuts.focusSecondary': - 'Focus side panel scroll when it is open (desktop; same keys to scroll)', - 'shortcuts.newNote': 'New note / post (after login if needed)', - 'shortcuts.searchSuggest': 'Move through suggestions', - 'shortcuts.searchDismiss': 'Close search dropdown', - 'shortcuts.tabNavigate': 'Move focus to the next or previous control', - 'shortcuts.activate': 'Activate buttons and many controls', - 'shortcuts.closeOverlays': 'Close dialogs, menus, and the search dropdown', - 'shortcuts.scrollWhenFocused': 'Scroll the focused scrollable area', - 'shortcuts.browserBack': 'Browser back (history)', - 'No spells yet. Create one with the button above.': - 'No spells yet. Create one with the button above.', - 'Loading spells from your relays…': 'Loading spells from your relays…', - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.': - 'Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.', - 'Select a spell…': 'Select a spell…', - 'Spells from follows': 'From people you follow ({{count}})', - 'Other spells': 'Other spells ({{count}})', - 'Select a spell to view its feed.': 'Select a spell to view its feed.', - 'Add another row': 'Add another row', - 'Remove this row': 'Remove this row', - 'One kind number per row (e.g. 1 for notes).': 'One kind number per row (e.g. 1 for notes).', - 'One author per row: $me, $contacts, or hex pubkey / npub.': - 'One author per row: $me, $contacts, or hex pubkey / npub.', - 'One hex event id per row.': 'One hex event id per row.', - 'One wss:// URL per row. Leave empty to use your write relays.': - 'One wss:// URL per row. Leave empty to use your write relays.', - 'One topic per row.': 'One topic per row.', - topic: 'topic', - 'Spell form fields': 'Spell form fields', - 'Counting matching events…': 'Counting matching events…', - 'Edit spell': 'Edit spell', - 'Clone spell': 'Clone spell', - 'Spell cloned': 'Spell cloned', - 'Clone spell intro': - 'This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.', - 'Spell updated': 'Spell updated', - 'Relay URL': 'Relay', - Count: 'Count', - 'Edit spell relays': 'Edit relays', - 'COUNT spell relay errors hint': - 'One or more relays failed or returned an error. You can change the relay list in the spell and save again.', - 'COUNT spell total distinct explanation': - 'Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.', - 'Leave empty to use your write relays.': 'Leave empty to use your write relays.', - 'COUNT spell result explanation': - 'Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.', - 'COUNT spell may be capped by limit': - 'This count may equal your spell limit — there could be more matching events on the network.', - 'Spell count failed. Check relays or try again.': - 'Could not complete the count. Check relays or try again.', - 'REQ returns a feed; COUNT returns a number.': - 'REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.', - listImportManualLabel: 'Pre-fill from event', - listImportFromEventHint: - 'Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.', - listImportManualPlaceholder: '64-char hex, nevent1…, or naddr1…', - listImportLoadManual: 'Apply', - listImportContentSkipped: - 'This event has non-empty content (may include encrypted private items). Only public tags were merged.', - listImportUnsupportedEmoji: - 'This list includes emoji tags (NIP-30); those are not added to the spell filter.', - listImportUnsupportedTag: - 'Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.', - listImportBadATag: 'Could not parse address tag: {{preview}}…', - listImportATagNotFound: 'Could not resolve address tag: {{preview}}…', - listImportATagFailed: 'Failed to resolve address tag: {{preview}}…', - listImportEventNotFound: 'No event found for that reference.', - 'REQ tag filters': 'REQ tag filters', - spellFormTagFiltersLabel: 'Tag filters on matching events', - spellCreateIntro: - 'Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.', - spellFormSectionQueryTitle: 'Spell query', - spellFormSectionQueryHint: - 'This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).', - spellFormSectionMetadataTitle: 'Listing & labels (optional)', - spellFormSectionMetadataBadge: 'Not part of the query', - spellFormSectionMetadataHint: - 'Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.', - spellFormCatalogTopicsLabel: 'Topic labels on this spell (t tags)', - spellTopicsMetadataHint: - 'One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).', - spellTagFiltersHint: - 'Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.', - spellTagFiltersEmpty: 'No tag filters yet. Add rows below or apply an event reference above.', - 'Tag filter letter': 'Tag letter', - 'Filter value': 'Value', - 'Add tag filter': 'Add tag filter', - spellPickerSectionYours: 'Your spells', - 'Failed to remove spell from local storage': 'Failed to remove spell from local storage', - Spells: 'Spells', - 'doublePane.secondaryEmpty': 'Open a note, profile, or settings item to show it here.', - 'doublePane.secondaryEmptyHint': 'Your feed and primary pages stay on the left.', - '(empty)': '(empty)', - '12-hour (AM/PM)': '12-hour (AM/PM)', - '24-hour': '24-hour', - 'A new version is available': 'A new version is available', - 'A short description of the article content': 'A short description of the article content', - AM: 'AM', - 'Access via': 'Access via', - 'Accessed On': 'Accessed On', - 'Accessed on': 'Accessed on', - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.': - 'Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.', - 'Add a relay to block': 'Add a relay to block', - 'Add at least one invitee': 'Add at least one invitee', - 'Add client identifier': 'Add client identifier', - 'Add expiration tags by default': 'Add expiration tags by default', - 'Add quiet tags by default': 'Add quiet tags by default', - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above': - 'Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above', - 'Add the source (where this text is from)': 'Add the source (where this text is from)', - 'Add to favorites': 'Add to favorites', - 'Add {{count}} Selected': 'Add {{count}} Selected', - 'Added at': 'Added at', - 'Added {{count}} relay(s)': 'Added {{count}} relay(s)', - 'Adding...': 'Adding...', - 'Adding…': 'Adding…', - 'Advanced Options': 'Advanced Options', - 'All Topics': 'All Topics', - 'All feeds from OPML file are already added': 'All feeds from OPML file are already added', - 'All items deleted successfully': 'All items deleted successfully', - 'Already blocked': 'Already blocked', - 'Already saved': 'Already saved', - 'Application Recommendations': 'Application Recommendations', - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.': - 'Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.', - 'Are you sure you want to delete all items from this store?': - 'Are you sure you want to delete all items from this store?', - 'Are you sure you want to unmute this user? This will restore the follow button.': - 'Are you sure you want to unmute this user? This will restore the follow button.', - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": - "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", - 'Article exported as AsciiDoc': 'Article exported as AsciiDoc', - 'Article exported as Markdown': 'Article exported as Markdown', - 'Article title (optional)': 'Article title (optional)', - articleDTagDefaultHint: - 'Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….', - Audio: 'Audio', - Author: 'Author', - 'Author is required for reading groups': 'Author is required for reading groups', - 'Author name (optional)': 'Author name (optional)', - Authors: 'Authors', - 'Block Relay': 'Block Relay', - 'Blocked Relays': 'Blocked Relays', - 'Blocking...': 'Blocking...', - Blossom: 'Blossom', - Book: 'Book', - 'Brief description of the event': 'Brief description of the event', - 'Brief summary (optional)': 'Brief summary (optional)', - 'Brief summary of the article (optional)': 'Brief summary of the article (optional)', - 'Browse Cache': 'Browse Cache', - 'C-Tag': 'C-Tag', - 'Cache Relays': 'Cache Relays', - 'Cache cleared successfully': 'Cache cleared successfully', - 'Cache refreshed successfully': 'Cache refreshed successfully', - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.': - 'Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.', - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)': - 'Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)', - 'Cache relays saved': 'Cache relays saved', - Cancelled: 'Cancelled', - Chapter: 'Chapter', - 'Chapter Title': 'Chapter Title', - 'Chapter title (optional)': 'Chapter title (optional)', - Citation: 'Citation', - 'Citation title (optional)': 'Citation title (optional)', - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.': - 'Clean up duplicate replaceable events? This will keep only the newest version of each event.', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}}', - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})': - 'Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})', - 'Cleanup Duplicates': 'Cleanup Duplicates', - Clear: 'Clear', - 'Clear Cache': 'Clear Cache', - 'Clear Service Worker': 'Clear Service Worker', - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.': - 'Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.', - 'Click update to get the latest features and improvements': - 'Click update to get the latest features and improvements', - Close: 'Close', - 'Comma or space-separated topics (will be added as t-tags)': - 'Comma or space-separated topics (will be added as t-tags)', - Command: 'Command', - Configure: 'Configure', - 'Connect Wallet': 'Connect Wallet', - 'Console Logs': 'Console Logs', - 'Console logs cleared': 'Console logs cleared', - 'Content is required': 'Content is required', - 'Content must be 5000 characters or less': 'Content must be 5000 characters or less', - Controversial: 'Controversial', - 'Copied!': 'Copied!', - 'Copy to clipboard': 'Copy to clipboard', - 'Create Article': 'Create Article', - 'Create Citation': 'Create Citation', - 'Create Highlight': 'Create Highlight', - 'Create New Thread': 'Create New Thread', - 'Create Poll': 'Create Poll', - 'Create Thread': 'Create Thread', - composeModeKind1: 'Short note (kind 1) — turn off other compose types', - 'Create a Spell': 'Create a Spell', - 'Creating...': 'Creating...', - 'D-Tag': 'D-Tag', - 'D-Tag is required for articles': 'D-Tag is required for articles', - DOI: 'DOI', - 'Date-based (all-day)': 'Date-based (all-day)', - 'Default expiration (months)': 'Default expiration (months)', - 'Default quiet period (days)': 'Default quiet period (days)', - 'Delete All': 'Delete All', - 'Delete item': 'Delete item', - 'Deleted {{count}} event(s)': 'Deleted {{count}} event(s)', - 'Deletion request sent': 'Deletion request sent', - 'Description (content)': 'Description (content)', - 'Digital Object Identifier (optional)': 'Digital Object Identifier (optional)', - 'Disable word wrap': 'Disable word wrap', - 'Discovered Relays': 'Discovered Relays', - 'Discovering relays...': 'Discovering relays...', - Discussion: 'Discussion', - Discussions: 'Discussions', - Downvote: 'Downvote', - 'Edited by': 'Edited by', - Editor: 'Editor', - 'Editor name (optional)': 'Editor name (optional)', - 'Enable word wrap': 'Enable word wrap', - 'End date': 'End date', - 'End date must be after start date': 'End date must be after start date', - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.': - 'Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.', - 'Enter a descriptive title for your thread': 'Enter a descriptive title for your thread', - 'Enter the author name': 'Enter the author name', - 'Enter the book title': 'Enter the book title', - 'Enter the specific text you want to highlight in the main content area above': - 'Enter the specific text you want to highlight in the main content area above', - 'Event IDs (ids)': 'Event IDs (ids)', - 'Event appears to be invalid or corrupted': 'Event appears to be invalid or corrupted', - 'Event has no value data': 'Event has no value data', - 'Event is missing required fields: {{fields}}': 'Event is missing required fields: {{fields}}', - 'Event type': 'Event type', - 'Expiration Tags': 'Expiration Tags', - 'Export OPML': 'Export OPML', - 'Export as AsciiDoc': 'Export as AsciiDoc', - 'Export as Markdown': 'Export as Markdown', - 'External Citation': 'External Citation', - 'External Citation Settings': 'External Citation Settings', - 'Failed to add relay. Please try again.': 'Failed to add relay. Please try again.', - 'Failed to add relays': 'Failed to add relays', - 'Failed to block relay. Please try again.': 'Failed to block relay. Please try again.', - 'Failed to cleanup duplicates': 'Failed to cleanup duplicates', - 'Failed to clear cache': 'Failed to clear cache', - 'Failed to copy': 'Failed to copy', - 'Failed to create relay set. Please try again.': - 'Failed to create relay set. Please try again.', - 'Failed to create thread': 'Failed to create thread', - 'Failed to create thread. Please try a different relay.': - 'Failed to create thread. Please try a different relay.', - 'Failed to delete all items': 'Failed to delete all items', - 'Failed to delete item': 'Failed to delete item', - 'Failed to discover relays': 'Failed to discover relays', - 'Failed to export OPML file': 'Failed to export OPML file', - 'Failed to export article': 'Failed to export article', - 'Failed to import OPML file: {{error}}': 'Failed to import OPML file: {{error}}', - 'Failed to load RSS feeds': 'Failed to load RSS feeds', - 'Failed to load store items': 'Failed to load store items', - 'Failed to mute user privately': 'Failed to mute user privately', - 'Failed to mute user publicly': 'Failed to mute user publicly', - 'Failed to pin note': 'Failed to pin note', - 'Failed to publish post': 'Failed to publish post', - 'Failed to publish reply': 'Failed to publish reply', - 'Failed to publish thread': 'Failed to publish thread', - 'Failed to publish to some relays. Please try again or use different relays.': - 'Failed to publish to some relays. Please try again or use different relays.', - 'Failed to save RSS feeds': 'Failed to save RSS feeds', - 'Failed to save cache relays': 'Failed to save cache relays', - 'Failed to save relay list': 'Failed to save relay list', - 'Failed to unregister service worker: ': 'Failed to unregister service worker: ', - 'Failed to unsubscribe from topic': 'Failed to unsubscribe from topic', - Favorite: 'Favorite', - Fetch: 'Fetch', - 'Fetch once, then stop.': 'Fetch once, then stop.', - 'Filter by': 'Filter by', - 'Flat View': 'Flat View', - 'Font size': 'Font size', - 'Full Quote/Context': 'Full Quote/Context', - 'Full-text search query': 'Full-text search query', - Geohash: 'Geohash', - 'Geohash (optional)': 'Geohash (optional)', - 'Global quiet mode': 'Global quiet mode', - 'Group discussions by topic': 'Group discussions by topic', - 'Grouped View': 'Grouped View', - Groups: 'Groups', - 'Handler {{index}}': 'Handler {{index}}', - 'Hardcopy Citation': 'Hardcopy Citation', - 'Hardcopy Citation Settings': 'Hardcopy Citation Settings', - Hide: 'Hide', - 'Hide interactions on all posts': 'Hide interactions on all posts', - 'Hide interactions on posts with quiet tags': 'Hide interactions on posts with quiet tags', - 'High PoW': 'High PoW', - 'Higher values make your thread harder to mine but more unique.': - 'Higher values make your thread harder to mine but more unique.', - Highlight: 'Highlight', - 'Highlight Settings': 'Highlight Settings', - 'How to Create a Highlight (NIP-84)': 'How to Create a Highlight (NIP-84)', - 'Human-readable spell name': 'Human-readable spell name', - 'Image URL': 'Image URL', - 'Import OPML': 'Import OPML', - 'Imported {{count}} feed(s) from OPML file': 'Imported {{count}} feed(s) from OPML file', - 'In-Browser Cache': 'In-Browser Cache', - Insert: 'Insert', - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).': - 'Insert URL into your post and publish to Nostr GIF library (NIP-94).', - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.': - 'Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.', - 'Insert event or address': 'Insert event or address', - 'Insert mention': 'Insert mention', - 'Internal Citation': 'Internal Citation', - 'Internal Citation Settings': 'Internal Citation Settings', - 'Invalid Event': 'Invalid Event', - 'Invalid Lightning Address': 'Invalid Lightning Address', - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.': - 'Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.', - 'Invalid URL': 'Invalid URL', - 'Invalid content JSON': 'Invalid content JSON', - 'Invalid relay URL': 'Invalid relay URL', - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.': - 'Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.', - 'Item deleted successfully': 'Item deleted successfully', - JSON: 'JSON', - 'Join link': 'Join link', - 'Journal/Publication name (optional)': 'Journal/Publication name (optional)', - Json: 'JSON', - Kinds: 'Kinds', - 'Language Model': 'Language Model', - Large: 'Large', - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link': - 'Leave empty for HiveTalk, or paste Zoom / Teams / other link', - 'Lightning payment failed': 'Lightning payment failed', - Limit: 'Limit', - 'Live feed; keeps updating.': 'Live feed; keeps updating.', - 'Loading more...': 'Loading more...', - 'Loading relays...': 'Loading relays...', - 'Location (optional)': 'Location (optional)', - 'Log in to run this spell (it uses $me or $contacts).': - 'Log in to run this spell (it uses $me or $contacts).', - 'Login failed': 'Login failed', - 'Login to configure RSS feeds': 'Login to configure RSS feeds', - 'Long-form Article': 'Long-form Article', - 'Mailbox relays saved': 'Mailbox relays saved', - 'Mark as NSFW': 'Mark as NSFW', - 'Maximum {{max}} invitees': 'Maximum {{max}} invitees', - 'Maximum {{max}} invitees allowed': 'Maximum {{max}} invitees allowed', - Medium: 'Medium', - Mode: 'Mode', - 'Most Zapped': 'Most Zapped', - 'Move to top': 'Move to top', - 'Multiple choice': 'Multiple choice', - 'Mute failed': 'Mute failed', - NSFW: 'NSFW', - Name: 'Name', - 'Name of the language model used': 'Name of the language model used', - 'New External Citation': 'New External Citation', - 'New Hardcopy Citation': 'New Hardcopy Citation', - 'New Highlight': 'New Highlight', - 'New Internal Citation': 'New Internal Citation', - 'New Long-form Article': 'New Long-form Article', - 'New Poll': 'New Poll', - 'New Discussion': 'New Discussion', - 'New Prompt Citation': 'New Prompt Citation', - 'New Public Message': 'New Public Message', - 'New Wiki Article': 'New Wiki Article', - 'New Wiki Article (Markdown)': 'New Wiki Article (Markdown)', - Newest: 'Newest', - 'No JSON available': 'No JSON available', - 'No RSS feeds found in OPML file': 'No RSS feeds found in OPML file', - 'No cached data found.': 'No cached data found.', - 'No console logs captured yet': 'No console logs captured yet', - 'No events found': 'No events found', - 'No feeds configured. Default feed will be used.': - 'No feeds configured. Default feed will be used.', - 'No feeds to export': 'No feeds to export', - 'No groups available. Join some groups first.': 'No groups available. Join some groups first.', - 'No items in this store.': 'No items in this store.', - 'No items match your search.': 'No items match your search.', - 'No logs match the current filters': 'No logs match the current filters', - 'No posts found': 'No posts found', - 'No posts match your search': 'No posts match your search', - 'No relays available. Please configure relays in settings.': - 'No relays available. Please configure relays in settings.', - 'No service workers or caches found for this app': - 'No service workers or caches found for this app', - 'No users found': 'No users found', - 'No valid RSS feed URLs found in OPML file': 'No valid RSS feed URLs found in OPML file', - 'Note pinned': 'Note pinned', - 'Note unpinned': 'Note unpinned', - Oldest: 'Oldest', - 'Open Timestamp': 'Open Timestamp', - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.': - 'Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.', - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.': - 'Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.', - Optional: 'Optional', - 'Optional image for the event': 'Optional image for the event', - 'Optionally, add the full quote/context to show your highlight within it': - 'Optionally, add the full quote/context to show your highlight within it', - PM: 'PM', - 'Page Range': 'Page Range', - Pages: 'Pages', - 'Paste URL of a GIF': 'Paste URL of a GIF', - 'Paste URL of a meme image': 'Paste URL of a meme image', - 'Paste the entire original passage that contains your highlight': - 'Paste the entire original passage that contains your highlight', - Photo: 'Photo', - 'Picture Note': 'Picture Note', - 'Pin note': 'Pin note', - 'Plain text description of the query': 'Plain text description of the query', - 'Please login to view bookmarks': 'Please login to view bookmarks', - 'Please select a group': 'Please select a group', - 'Please select at least one relay': 'Please select at least one relay', - 'Please set a start date': 'Please set a start date', - 'Poll with no options': 'Poll with no options', - 'Post published to some relays': 'Post published to some relays', - 'Posts will automatically include expiration tags': - 'Posts will automatically include expiration tags', - 'Posts will automatically include quiet tags': 'Posts will automatically include quiet tags', - 'Posts will be quiet for this many days': 'Posts will be quiet for this many days', - 'Posts will expire after this many months': 'Posts will expire after this many months', - 'Processing...': 'Processing...', - 'Profile event not available': 'Profile event not available', - 'Prompt Citation': 'Prompt Citation', - 'Prompt Citation Settings': 'Prompt Citation Settings', - 'Prompt Conversation Script': 'Prompt Conversation Script', - 'Proof of Work': 'Proof of Work', - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post': - 'Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post', - 'Publish to Relays': 'Publish to Relays', - 'Published By': 'Published By', - 'Published In': 'Published In', - 'Published On': 'Published On', - 'Published in': 'Published in', - 'Published on': 'Published on', - 'Publisher name (optional)': 'Publisher name (optional)', - 'Quiet Tags': 'Quiet Tags', - 'RSS Feed': 'RSS Feed', - 'RSS + Web': 'RSS + Web', - 'RSS feed source': 'RSS feed source', - 'All feed sources': 'All feed sources', - 'RSS feed view mode': 'RSS feed view mode', - 'Article URLs': 'Article URLs', - 'Article URLs subtitle': - 'One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.', - 'Article URLs Nostr manual subtitle': - 'Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.', - 'RSS feed column title': 'RSS & linked articles', - 'RSS feed column subtitle': - 'Feed entries and article cards that include at least one item from your subscribed RSS feeds.', - 'RSS timeline': 'RSS timeline', - 'RSS timeline subtitle': - 'Every item from your subscribed feeds, newest first — classic RSS reader.', - URLs: 'URLs', - RSS: 'RSS', - 'No URL-only items yet': 'No URL-only items yet', - 'Respond to this RSS entry': 'Respond to this RSS entry', - 'RSS read-only thread hint': - 'Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.', - 'RSS feed item label': 'RSS', - 'Web URL item label': 'Web URL', - 'URL thread activity': 'URL thread activity', - 'Suppress Clawstr links in RSS previews': 'Hide clawstr.com in RSS and URL feed', - 'Hide local, media & feed URLs from URL cards': - 'Hide local, media, feed, document & XML links from the feed', - 'RSS articles': 'RSS articles', - 'Web comments': 'Web comments', - 'Web highlights': 'Web highlights', - 'In your bookmarks': 'In your bookmarks', - '{{count}} RSS entries for this URL': '{{count}} RSS entries for this URL', - '{{count}} entries for this article URL': '{{count}} entries for this article URL', - 'No comments yet': 'No comments yet', - 'No highlights yet': 'No highlights yet', - 'Showing {{filtered}} of {{total}} entries': 'Showing {{filtered}} of {{total}} entries', - standardRssFeed_spotifeed: 'Spotify playlist (Spotifeed)', - standardRssFeed_youtube: 'YouTube feed', - standardRssFeed_youtubeChannel: 'YouTube channel feed', - standardRssFeed_youtubePlaylist: 'YouTube playlist feed', - standardRssFeed_feedburner: 'FeedBurner', - standardRssFeed_reddit: 'Reddit RSS', - standardRssFeed_substack: 'Substack', - standardRssFeed_medium: 'Medium', - 'RSS Feed Settings': 'RSS Feed Settings', - 'Follow sets': 'Follow sets', - 'Personal Lists': '个人列表', - 'Personal lists hub intro': - '静音列表、关注的人、NIP-51 书签、置顶、兴趣主题(kind 10015)、NIP-30 用户表情列表(kind 10030)与表情包(kind 30030)。网页书签(NIP-B0,kind 39701)另计:可在文章侧栏保存,或在「咒语」里打开书签流同时查看笔记书签与网页书签。', - 'User emoji list': '用户表情列表(kind 10030)', - 'Emoji sets': '表情包(kind 30030)', - 'User emoji list title': '{{username}} 的表情列表', - 'User emoji list intro': - 'NIP-30:内联自定义表情(`emoji` 标签)与指向 kind 30030 包的引用(`a` 标签)。编辑完成后点击发布。', - 'User emoji list saved': '表情列表已发布', - 'User emoji inline section': '内联表情', - 'User emoji inline empty': '尚无内联表情。在下方填写短码与图片 URL。', - 'User emoji inline invalid': '请填写短码和非空的图片 URL。', - 'User emoji sets section': '表情包引用', - 'User emoji sets hint': '坐标格式:30030:<64 位十六进制公钥>:,通常为本账户在「表情包」页面创建的集合。', - 'User emoji sets empty': '尚无表情包引用。', - 'User emoji set ref invalid': '坐标无效。请使用 30030:<公钥>:。', - 'User emoji set ref duplicate': '该表情包已在列表中。', - 'Emoji set coordinate': '表情包(a 标签)', - 'Publish changes': '发布更改', - Shortcode: '短码', - 'Emoji sets settings intro': - 'NIP-30 表情包(kind 30030):每个集合有 `d` 标签与若干 `emoji`(短码 + 图片 URL)。在编辑对话框中保存并发布。', - 'New emoji set': '新建表情包', - 'Edit emoji set': '编辑表情包', - 'No emoji sets yet': '尚未创建表情包。', - 'Emoji set saved': '表情包已保存', - 'Emoji set deleted': '表情包已删除', - 'Failed to load emoji sets': '加载表情包失败', - 'emoji entries': '个表情', - 'Emoji set d tag hint': '集合的稳定标识,首次发布后不可更改。', - 'Emoji pack entries': '包内表情', - 'No emoji entries in pack': '包内尚无表情。', - 'Delete emoji set?': '删除此表情包?', - 'Delete emoji set confirm': '将发送删除请求(kind 5)。接受的中继会移除该集合;其他客户端可能仍显示缓存副本。', - 'Mute list': '静音列表', - 'Following list': '关注列表', - 'Bookmarks spell': '书签咒语', - 'Pinned notes hint': - '置顶笔记:在笔记菜单(⋯)中选择置顶到资料。置顶会显示在你的个人资料上。', - 'No NIP-51 bookmarks or web bookmarks yet.': '尚无 NIP-51 书签或网页书签。', - 'Web bookmarks': '网页书签', - 'Web bookmark': '网页书签', - 'Web bookmarks NIP intro': '网页书签以 kind 39701 事件存储,不在 NIP-51 书签列表中。', - 'Log in to save web bookmarks': '请登录以保存此页的网页书签(NIP-B0,kind 39701)。', - 'Remove web bookmark': '移除网页书签', - 'No web bookmark for this URL yet': '你尚未为此 URL 保存网页书签。', - 'Page title': '页面标题', - 'Short description': '简短描述', - 'Save web bookmark': '保存网页书签', - 'Sign in to publish web bookmark': '请使用可签名密钥登录以保存网页书签。', - 'Follow sets settings intro': - 'NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.', - 'New follow set': 'New follow set', - 'Edit follow set': 'Edit follow set', - 'No follow sets yet': 'You have not created any follow sets yet.', - 'Follow set saved': 'Follow set saved', - 'Follow set deleted': 'Follow set deleted', - 'Failed to load follow sets': 'Failed to load follow sets', - members: 'members', - 'Optional display title': 'Optional display title', - 'List id (d tag)': 'List id (d tag)', - 'Follow set d tag hint': - 'Stable identifier for this list. It cannot be changed after the first publish.', - 'People in this list': 'People in this list', - 'Delete follow set?': 'Delete this follow set?', - 'Delete follow set confirm': - 'This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.', - 'Remove feed': 'Remove feed', - 'RSS Feeds': 'RSS Feeds', - 'RSS feeds exported to OPML file': 'RSS feeds exported to OPML file', - 'RSS feeds saved': 'RSS feeds saved', - 'Rate limited. Please wait before trying again.': - 'Rate limited. Please wait before trying again.', - 'Reaction published': 'Reaction published', - 'Reaction removed': 'Reaction removed', - 'Read full article': 'Read full article', - 'Reading group entry': 'Reading group entry', - 'Readings Options': 'Readings Options', - Recipients: 'Recipients', - 'Recipients detected from your message:': 'Recipients detected from your message:', - 'Recommended Relays': 'Recommended Relays', - 'Recommended applications for handling events of kind {{kind}}': - 'Recommended applications for handling events of kind {{kind}}', - 'Reference to the cited Nostr event in kind:pubkey:hex format': - 'Reference to the cited Nostr event in kind:pubkey:hex format', - 'Refresh Cache': 'Refresh Cache', - 'Refreshing posts...': 'Refreshing posts...', - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.': - 'Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.', - Relay: 'Relay', - 'Relay Hint': 'Relay Hint', - 'Relay URL (optional)': 'Relay URL (optional)', - 'Relay blocked successfully': 'Relay blocked successfully', - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.': - 'Relay requires authentication for write access. Please try a different relay or contact the relay operator.', - 'Relay set options': 'Relay set options', - 'Remove from favorites': 'Remove from favorites', - Rendered: 'Rendered', - 'Reply published': 'Reply published', - 'Reply published to some relays': 'Reply published to some relays', - 'Reply to Public Message': 'Reply to Public Message', - 'Republish to all active relays': 'Republish to all active relays', - 'Republish to all available relays': 'Republish to all available relays', - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.': - 'Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.', - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.': - 'Required: start time or start date. Optional: title, end, location, summary, topics, image.', - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.': - 'Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.', - 'Respect quiet tags': 'Respect quiet tags', - 'Search (NIP-50)': 'Search (NIP-50)', - 'Search by name or npub…': 'Search by name or npub…', - 'Search calendar, publications, wiki…': 'Search calendar, publications, wiki…', - 'Search for user…': 'Search for user…', - 'Search items...': 'Search items...', - 'Search logs...': 'Search logs...', - 'Search notes, threads, long-form…': 'Search notes, threads, long-form…', - 'Search on GifBuddy': 'Search on GifBuddy', - 'Search on Meme Amigo': 'Search on Meme Amigo', - 'Search posts...': 'Search posts...', - 'Search threads by title, content, tags, npub, author...': - 'Search threads by title, content, tags, npub, author...', - 'Searching all available relays...': 'Searching all available relays...', - 'Searching…': 'Searching…', - 'See reference': 'See reference', - 'Select Group': 'Select Group', - 'Select Media Type': 'Select Media Type', - 'Select group...': 'Select group...', - 'Select relays': 'Select relays', - 'Publish relay cap hint': - 'At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Publish relay cap hint with outbox first': - 'At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.', - 'Select the group where you want to create this discussion.': - 'Select the group where you want to create this discussion.', - 'Select topic...': 'Select topic...', - 'Selected text': 'Selected text', - 'Send Public Message': 'Send Public Message', - 'Send a Lightning payment to this user': 'Send a Lightning payment to this user', - 'Service worker caches cleared. Please reload the page.': - 'Service worker caches cleared. Please reload the page.', - 'Service worker unregistered and caches cleared. Please reload the page.': - 'Service worker unregistered and caches cleared. Please reload the page.', - 'Service worker unregistered. Please reload the page.': - 'Service worker unregistered. Please reload the page.', - 'Share your thoughts, ask questions, or start a discussion...': - 'Share your thoughts, ask questions, or start a discussion...', - 'Short Video Note': 'Short Video Note', - 'Show RSS Feed': 'Show RSS Feed', - 'Show all discussions in a single list': 'Show all discussions in a single list', - 'Show less': 'Show less', - Since: 'Since', - Small: 'Small', - 'Some relays have temporarily disabled writes.': - 'Some relays have temporarily disabled writes.', - Source: 'Source', - 'Spell definition': 'Spell definition', - 'Spell published': 'Spell published', - 'Start date': 'Start date', - 'Start typing to see a preview...': 'Start typing to see a preview...', - 'Subject (Book Title)': 'Subject (Book Title)', - 'Subject (book title) is required for reading groups': - 'Subject (book title) is required for reading groups', - 'Subject / Topics': 'Subject / Topics', - Subscribe: 'Subscribe', - Subscribed: 'Subscribed', - 'Subscribed to topic': 'Subscribed to topic', - 'Subscribed to topic (local)': 'Subscribed to topic (local)', - 'Subscribing...': 'Subscribing...', - Summary: 'Summary', - 'Supported Event Types': 'Supported Event Types', - 'Take a note': 'Take a note', - 'The full prompt conversation (optional)': 'The full prompt conversation (optional)', - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.': - 'The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.', - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.': - 'These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.', - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.': - 'This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.', - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.': - 'This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.', - 'This GIF was found in a Nostr event of kind {{kind}}.': - 'This GIF was found in a Nostr event of kind {{kind}}.', - 'This file could be either audio or video. Please select the correct type:': - 'This file could be either audio or video. Please select the correct type:', - 'This store does not contain replaceable events': - 'This store does not contain replaceable events', - 'This will add additional tags for author and subject to help organize reading group discussions.': - 'This will add additional tags for author and subject to help organize reading group discussions.', - 'Thread Content': 'Thread Content', - 'Thread Title': 'Thread Title', - 'Thread creation timed out. Please try again.': 'Thread creation timed out. Please try again.', - 'Thread published': 'Thread published', - 'Threads are organized by topics. Choose a topic that best fits your discussion.': - 'Threads are organized by topics. Choose a topic that best fits your discussion.', - 'Time-based': 'Time-based', - 'Title is required': 'Title is required', - 'Title must be 100 characters or less': 'Title must be 100 characters or less', - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.': - 'To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.', - Top: 'Top', - Topic: 'Topic', - URL: 'URL', - 'URL of the article cover image (optional)': 'URL of the article cover image (optional)', - 'Unique identifier for this article (required)': - 'Unique identifier for this article (required)', - 'Unmute failed': 'Unmute failed', - 'Unpin note': 'Unpin note', - Unsubscribe: 'Unsubscribe', - 'Unsubscribed from topic': 'Unsubscribed from topic', - 'Unsubscribing...': 'Unsubscribing...', - Until: 'Until', - Untitled: 'Untitled', - Update: 'Update', - 'Updating...': 'Updating...', - 'Upload Audio Comment': 'Upload Audio Comment', - 'Upload Audio Message': 'Upload Audio Message', - 'Upload Media': 'Upload Media', - Upvote: 'Upvote', - 'User unmuted': 'User unmuted', - 'Version number (optional)': 'Version number (optional)', - Video: 'Video', - 'Video Note': 'Video Note', - 'Video file': 'Video file', - 'View Console Logs': 'View Console Logs', - 'View JSON': 'View JSON', - 'View cached items in this store.': 'View cached items in this store.', - 'View definition': 'View definition', - 'View details about cached data in IndexedDB stores. Click on a store to view its items.': - 'View details about cached data in IndexedDB stores. Click on a store to view its items.', - 'View on Alexandria': 'View on Alexandria', - 'View on DecentNewsroom': 'View on DecentNewsroom', - 'View on Wikistr': 'View on Wikistr', - 'View recent console logs for debugging': 'View recent console logs for debugging', - 'Voice Comment': 'Voice Comment', - 'Voice Note': 'Voice Note', - 'Voice note or audio file': 'Voice note or audio file', - Volume: 'Volume', - 'Volume number (optional)': 'Volume number (optional)', - 'Vote published': 'Vote published', - 'Vote removed': 'Vote removed', - 'Website where LLM was accessed (optional)': 'Website where LLM was accessed (optional)', - 'Wiki Article (AsciiDoc)': 'Wiki Article (AsciiDoc)', - 'Wiki Article (Markdown)': 'Wiki Article (Markdown)', - 'You can only delete your own notes': 'You can only delete your own notes', - 'You must be logged in to create a thread': 'You must be logged in to create a thread', - 'You need to add at least one media server in order to upload media files.': - 'You need to add at least one media server in order to upload media files.', - 'You need to login first': 'You need to login first', - 'Your account is blocked from posting to this relay.': - 'Your account is blocked from posting to this relay.', - Zap: 'Zap', - 'Zap failed': 'Zap failed', - created_at: 'created_at', - 'e tag of kind 1040 event (optional)': 'e tag of kind 1040 event (optional)', - 'e.g. meetup, conference': 'e.g. meetup, conference', - 'e.g., 123-145 (optional)': 'e.g., 123-145 (optional)', - 'e.g., GPT-4, Claude, etc. (required)': 'e.g., GPT-4, Claude, etc. (required)', - 'e.g., my-article-title': 'e.g., my-article-title', - entries: 'entries', - 'from Bunker': 'from Bunker', - 'from Extension': 'from Extension', - 'from NIP-05': 'from NIP-05', - general: 'general', - 'https://example.com (required)': 'https://example.com (required)', - 'https://example.com/image.jpg': 'https://example.com/image.jpg', - id: 'id', - items: 'items', - kind: 'kind', - 'kind:pubkey:hex format (required)': 'kind:pubkey:hex format (required)', - 'last updated': 'last updated', - matching: 'matching', - naddr: 'naddr', - nevent: 'nevent', - 'nevent1..., naddr1..., note1..., hex ID, or https://...': - 'nevent1..., naddr1..., note1..., hex ID, or https://...', - 'no notes found': 'no notes found', - of: 'of', - 'on note': 'on note', - optional: 'optional', - pubkey: 'pubkey', - 'sent a public message': 'sent a public message', - 'sent you a public message': 'sent you a public message', - 'sent you a public message (along with {{count}} others)': - 'sent you a public message (along with {{count}} others)', - sig: 'sig', - 'started a discussion in {{topic}}': 'started a discussion in {{topic}}', - tags: 'tags', - thread: 'thread', - threads: 'threads', - 'topic1, topic2, topic3': 'topic1, topic2, topic3', - '{{count}} relay(s) selected': '{{count}} relay(s) selected', - '🔞 NSFW 🔞': '🔞 NSFW 🔞', - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).': - 'Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).', - 'Failed to refresh': 'Failed to refresh', - 'Invalid article link.': 'Invalid article link.', - Likes: 'Likes', - 'Loading…': 'Loading…', - 'Missing pubkey': 'Missing pubkey', - 'No RSS feed list found on relays': 'No RSS feed list found on relays', - 'Pinned posts': 'Pinned posts', - 'Publishing...': 'Publishing...', - 'RSS article': 'RSS article', - 'RSS feed list refreshed': 'RSS feed list refreshed', - 'Save or discard your changes before refreshing from relays': - 'Save or discard your changes before refreshing from relays', - 'Suggested topics': 'Suggested topics', - 'Synthetic event (no author)': 'Synthetic event (no author)', - 'Topic is required': 'Topic is required', - 'Type a topic or pick from the list': 'Type a topic or pick from the list', - profileEditorRefreshCacheHint: 'profileEditorRefreshCacheHint', - startupSessionHydrating: 'startupSessionHydrating' + "Searching external relays...": "Searching external relays...", + "This will connect to the author's relays and relay hints": "This will connect to the author's relays and relay hints", + "Note could not be found anywhere": "Note could not be found anywhere", + "Try external relays": "Try external relays", + "Searching...": "Searching...", + "Show relays": "Show relays", + "No external relay hints available": "No external relay hints available", + "External relay search is not available for this link type": "External relay search is not available for this link type.", + "Searched external relays not found": "Searched {{count}} external relays; the note was still not found.", + "no more replies": "没有更多回复了", + "Relay sets": "服务器组", + "Search for Relays": "Search for Relays", + "Using app default relays": "Using app default relays", + "Following's Favorites": "关注人的收藏", + "no more relays": "没有更多服务器了", + "Favorited by": "收藏自", + "Post settings": "发布设置", + "Publishing feedback": "Publishing feedback", + "Publish success toasts": "Publish success toasts", + "Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.": "Show green notifications when posts, replies, reactions, and other publishes succeed. When off, a small checkmark appears briefly at the bottom-right instead. Errors and failures still use a toast.", + "Publish successful": "Publish successful", + "Media upload service": "媒体上传服务", + "Choose a relay": "选择一个服务器", + "no relays found": "未找到服务器", + video: "视频", + "Show n new notes": "显示 {{n}} 条新笔记", + YouTabName: "与你", + Bookmark: "收藏", + "Remove bookmark": "取消收藏", + "no bookmarks found": "暂无收藏", + "no more bookmarks": "到底了", + Bookmarks: "收藏", + "Follow Packs": "Follow Packs", + "Follow Pack": "Follow Pack", + "Follow pack by": "by", + "In Follow Packs": "In Follow Packs", + "Badge details": "Badge details", + "Issued by": "Issued by", + "Other recipients": "Other recipients", + "No other recipients found": "No other recipients found", + "Recipients could not be loaded": "Recipients could not be loaded", + "View award": "View award", + "Awarded on": "Awarded on", + "Please log in to follow": "Please log in to follow", + "Following All": "Following All", + "Followed {{count}} users": "Followed {{count}} users", + "All available members are already followed or muted": "All available members are already followed or muted", + "You are already following all members of this pack": "You are already following all members of this pack", + "Failed to follow pack": "Failed to follow pack", + "{{count}} profiles": "{{count}} profiles", + "Show more": "显示更多", + General: "常规", + Autoplay: "自动播放", + "Enable video autoplay on this device": "在此设备上启用视频自动播放", + "liveActivities.heading": "Live now", + "liveActivities.regionLabel": "Live spaces and streams", + "liveActivities.fromFollow": "From someone you follow", + "liveActivities.goToSlide": "Show live item {{n}}", + "liveActivities.swipeToBrowse": "Swipe left or right on the banner to switch between live activities.", + "liveActivities.viewNoteTitle": "Open this live activity as a note (play in app, links below)", + "liveActivities.openJoinPageTitle": "Open the join page in a new tab (e.g. zap.stream or the room site)", + "liveActivities.settingsToggle": "Live activities banner", + "liveActivities.settingsHint": "Shows NIP-53 live rooms (audio/video spaces) from your relays. Updates on a quarter-hour schedule and when the app finishes its initial session warm-up.", + "Add random relays to every publish": "Random relays in publish list", + "Add random relays to every publish description": "Adds {{n}} random public relays from the NIP-66 lively list (preferring monitors that reported a write RTT) to the publish relay list. When ON, they are selected by default; when OFF, they appear in the list but are unchecked so you can optionally include them.", + relayType_local: "Local", + relayType_relay_list: "Relay list", + relayType_http_relay_list: "HTTP", + "HTTP relays": "HTTP relays", + httpRelaysDescription: "HTTPS index relays (e.g. REST /api/events/filter). Same read/write/both roles as mailbox relays; stored as kind 10243. Clear the list and save to publish an empty list.", + "HTTP relays saved": "HTTP relays saved", + "Failed to save HTTP relay list": "Failed to save HTTP relay list", + "HTTP relays must start with https:// or http://": "HTTP relays must start with https:// or http://", + relayType_client_default: "Client default", + relayType_open_from: "Current feed", + relayType_favorite: "Favorite", + relayType_relay_set: "Relay set", + relayType_contextual: "Reply/PM", + relayType_randomly_selected: "Random (optional)", + "Session relays": "Session relays", + "Session relays tab description": "Relay logic for this session: working and striked preset relays, and scored random relays (used to prefer faster, proven relays when adding random relays to publish).", + "Session relays preset working": "Working preset relays", + "Session relays preset working hint": "Preset relays (from app defaults) that have not reached 3 publish failures this session.", + "Session relays preset striked": "Striked preset relays", + "Session relays preset striked hint": "Preset relays that have reached 3 publish failures this session and are skipped for the rest of the session.", + "Session relays scored random": "Scored random relays", + "Session relays scored random hint": "Relays that have accepted at least one publish this session; used to prefer faster relays when picking random relays. Sorted by average latency.", + "Session relays all striked": "All striked relays (any source)", + "Session relays clear strike": "Allow again", + "Session relays clear strike hint": "Remove this relay from the session block list; it will be used again until new connection failures.", + "relaySessionStrikes.bannerWarning": "This relay has {{count}} session strike(s) (limit {{threshold}}) after connection or query failures.", + "relaySessionStrikes.bannerSkipped": "This relay has reached the session failure limit ({{threshold}} strikes) and is skipped for reads and publishes in this tab.", + "relaySessionStrikes.refreshHint": "Use {{refresh}} to clear strikes for this relay and load the feed again.", + successes: "successes", + None: "None", + "Cache & offline storage": "Cache & offline storage", + feedStarting: "Starting feeds and relays… This can take a few seconds after login.", + singleRelayKindFallbackNotice: "This relay returned no events for an open-ended request (no kinds in the filter). The feed below uses your usual kind filter instead.", + refreshCacheButtonExplainer: "Refresh Cache runs an IndexedDB upgrade check, re-fetches your relay lists and profile-related events from the network (same work as the automatic startup sync), syncs kind-5 deletions into tombstones and removes deleted items from the local cache, then refreshes the store counts below.", + "eventArchive.sectionTitle": "Notes & feed archive", + "eventArchive.sectionBlurb": "Keeps notes, reactions, and timeline order on disk so feeds can load offline or on slow links. Replaceable data (profiles, relay lists, publications) stays in its existing stores — this archive only fills gaps for “firehose” events.", + "eventArchive.defaultsMobile": "This device profile uses small defaults: about {{lru}} events in memory, ~{{mb}} MB / {{ev}} archived events (reactions/zaps drop first).", + "eventArchive.defaultsElectron": "Desktop app defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.defaultsDesktopWeb": "Desktop browser defaults: ~{{lru}} in-memory events, ~{{mb}} MB / {{ev}} archived events.", + "eventArchive.enablePersist": "Persist feed events to disk", + "eventArchive.maxMb": "Max archive size (MB), blank = default for this device", + "eventArchive.maxEvents": "Max archived events, blank = default", + "eventArchive.sessionLru": "In-memory session cache (event count), blank = default", + "eventArchive.effectiveSummary": "Currently: ~{{mb}} MB budget, {{events}} events, {{lru}} session LRU.", + "eventArchive.on": "on", + "eventArchive.off": "off", + "eventArchive.apply": "Apply cache settings", + "eventArchive.appliedToast": "Cache settings saved. Session memory updated.", + "Paste or drop media files to upload": "支持粘贴或拖放媒体文件进行上传", + Preview: "预览", + "You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?": "您即将发布一条由 [{{eventAuthorName}}] 签名的事件。您当前以 [{{currentUsername}}] 登录。确定吗?", + "Platinum Sponsors": "白金赞助商", + From: "来自", + "Comment on": "评论于", + "View on njump.me": "在 njump.me 上查看", + "Hide content from untrusted users": "隐藏不受信任用户的内容", + "Only show content from your followed users and the users they follow": "仅显示您关注的用户及其关注的用户的内容", + "Followed by": "关注者", + "Mute user privately": "悄悄屏蔽", + "Mute user publicly": "公开屏蔽", + Quotes: "引用", + "Lightning Invoice": "闪电发票", + "Bookmark failed": "收藏失败", + "Remove bookmark failed": "取消收藏失败", + "Removed from bookmarks": "Removed from bookmarks", + "Bookmark not in list": "This bookmark is not in your list (already removed or out of sync).", + "Pin not in list": "This pin is not in your list (already removed or out of sync).", + "Failed to remove pin": "Failed to remove pin", + Translation: "翻译", + Balance: "余额", + characters: "字符", + translateApiKeyDescription: "您可以在任何支持 LibreTranslate 的地方使用此 API key。服务地址是 {{serviceUrl}}", + "Top up": "充值", + "Will receive: {n} characters": "将获得: {{n}} 字符", + "Top up {n} sats": "充值 {{n}} 聪", + "Minimum top up is {n} sats": "最低充值金额为 {{n}} 聪", + Service: "服务", + "Reset API key": "重置 API key", + "Are you sure you want to reset your API key? This action cannot be undone.": "您确定要重置您的 API key?此操作无法撤销。", + Warning: "警告", + "Errors & warnings": "Errors & warnings", + "Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.": "您当前的 API key 将立即失效,任何使用它的应用程序将停止工作,直到您用新 key 更新它们。", + "Service address": "服务地址", + Pay: "支付", + interactions: "互动", + notifications: "通知", + notificationsViewAsAccount: "View as", + notificationsViewAsAccountAria: "Switch stored account. Notifications, replies, zaps, reactions, and boosts use this account.", + notificationsSwitchAccountFailed: "Could not switch account. Check your signer, password, or extension and try again.", + "Show untrusted {type}": "显示不受信任的{{type}}", + "Hide untrusted {type}": "隐藏不受信任的{{type}}", + "Currently hiding {type} from untrusted users.": "当前隐藏来自不受信任用户的{{type}}。", + "Currently showing all {type}.": "当前显示所有{{type}}。", + "Click continue to show all {type}.": "点击继续显示所有{{type}}。", + "Click continue to hide {type} from untrusted users.": "点击继续隐藏来自不受信任用户的{{type}}。", + "Trusted users include people you follow and people they follow.": "受信任的用户包括您关注的人和他们关注的人。", + Continue: "继续", + "Successfully updated mute list": "成功更新屏蔽列表", + "No pubkeys found from {url}": "在 {{url}} 中未找到 pubkeys", + "Translating...": "翻译中...", + Translate: "翻译", + "Show original": "显示原文", + Website: "网站", + "Hide untrusted notes": "隐藏不受信任的笔记", + "Open in another client": "在其他客户端打开", + Community: "社区", + Group: "群组", + "Live event": "直播", + Article: "文章", + Unfavorite: "取消收藏", + "Recommended relays": "推荐服务器", + "Show recommended relays panel": "Show recommended relays panel", + "Display the right-side panel with recommended relays on desktop": "Display the right-side panel with recommended relays on desktop", + "Blossom server URLs": "Blossom 服务器地址", + "You need to add at least one blossom server in order to upload media files.": "您需要添加至少一个 Blossom 服务器才能上传媒体文件。", + "Recommended blossom servers": "推荐的 Blossom 服务器", + "Enter Blossom server URL": "输入 Blossom 服务器 URL", + Preferred: "首选", + "Multiple choice (select one or more)": "多选 (选择一个或多个)", + Vote: "投票", + "{{number}} votes": "{{number}} 次投票", + "Total votes": "总票数", + "Poll has ended": "投票已结束", + "Poll ends at {{time}}": "投票结束时间:{{time}}", + "Load results": "加载结果", + "This is a poll note.": "这是一个投票帖子。", + "Unlike regular notes, polls are not widely supported and may not display on other clients.": "与普通帖子不同,投票功能暂时没有得到广泛的支持,可能无法在其他客户端中显示。", + "Option {{number}}": "选项 {{number}}", + "Add Option": "添加选项", + "Remove option": "Remove option", + "Close highlight editor": "Close highlight editor", + "Allow multiple choices": "允许多选", + "End Date (optional)": "结束日期(可选)", + "Clear end date": "清除结束日期", + "Relay URLs (optional, comma-separated)": "中继服务器 URL(可选,逗号分隔)", + "Remove poll": "移除投票", + "Refresh results": "刷新结果", + "{{votes}} · {{pct}}%": "{{votes}} · {{pct}}%", + "See results": "See results", + "Zap poll (paid votes)": "Zap poll (paid votes)", + "Invalid zap poll": "Invalid zap poll", + "You voted on this poll (zap receipt)": "You voted on this poll (zap receipt)", + "Poll closed {{time}}": "Poll closed {{time}}", + "Closes {{time}}": "Closes {{time}}", + "Vote size": "Vote size", + "{{n}} sats (fixed)": "{{n}} sats (fixed)", + "{{min}}–{{max}} sats": "{{min}}–{{max}} sats", + "≥ {{n}} sats": "≥ {{n}} sats", + "≤ {{n}} sats": "≤ {{n}} sats", + "Loading tally…": "Loading tally…", + "Zap poll no votes yet": "No zap votes found on the relays we queried (try Refresh tally, or votes may live on other relays).", + "Consensus threshold": "Consensus threshold", + "Pay to": "Pay to", + Recipient: "Recipient", + Option: "Option", + "Select option": "Select option", + "Select an option": "Select an option", + "Vote with zap": "Vote with zap", + "Zap sent": "Zap sent", + "Zapping…": "Zapping…", + "Refresh tally": "Refresh tally", + "{{n}} zaps": "{{n}} zaps", + Poll: "投票", + Media: "媒体", + "Articles and Publications": "Articles and Publications", + "Search articles...": "Search articles...", + "Refreshing articles...": "Refreshing articles...", + "No articles or publications found": "No articles or publications found", + "No articles or publications match your search": "No articles or publications match your search", + "articles and publications": "articles and publications", + Interests: "Interests", + Favorites: "Favorites", + Calendar: "Calendar", + "No subscribed interests yet.": "No subscribed interests yet. Add topics in settings to see them here.", + "No bookmarked notes with id tags yet.": "No bookmarked notes with id tags yet. Only classic (e-tag) bookmarks load in this feed.", + "No follows or relays to load yet.": "No follows or relays to load yet.", + "No favorites yet.": "No favorites yet. Add follows, follow sets, interests, or bookmarks.", + "Added from interests": "Added from interests", + "Added from bookmarks list": "Added from bookmarks list", + "Added from your web bookmarks": "Added from your web bookmarks", + "Added from follows and contact lists": "Added from follows and contact lists", + "Added from follows web bookmarks": "Added from follows web bookmarks", + "Nothing to load for this feed.": "Nothing to load for this feed.", + "No posts loaded for this feed. Try refreshing.": "No posts loaded for this feed. Try refreshing.", + "Looking for more events…": "Looking for more events…", + "Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.": "Relays returned no events for this feed. They may be offline, slow, or not indexing these notes.", + "Per-relay timeline results ({{count}} connections)": "Per-relay timeline results ({{count}} connections)", + "Republish to ...": "重新发布到 ...", + "All available relays": "All available relays", + "All active relays (monitoring list)": "All active relays (monitoring list)", + "Successfully republish to all available relays": "Successfully republish to all available relays", + "Failed to republish to all available relays: {{error}}": "Failed to republish to all available relays: {{error}}", + "Successfully republish to all active relays": "Successfully republish to all active relays", + "Failed to republish to all active relays: {{error}}": "Failed to republish to all active relays: {{error}}", + "No active relays in monitoring list": "No active relays in monitoring list", + "No relay accepted the event": "No relay accepted the event", + "No relays available": "No relays available", + "No write relays configured": "No write relays configured", + "Relay did not accept the event": "Relay did not accept the event", + "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".": "Only {{count}} relay(s) accepted the event; at least 5 required for \"all active relays\".", + "Successfully republish to your write relays": "成功重新发布到您的写服务器", + "Failed to republish to your write relays: {{error}}": "重新发布到您的写服务器失败: {{error}}", + "Successfully republish to relay set: {{name}}": "成功重新发布到服务器组: {{name}}", + "Failed to republish to relay set: {{name}}. Error: {{error}}": "重新发布到服务器组: {{name}} 失败。错误: {{error}}", + "Successfully republish to relay: {{url}}": "成功重新发布到服务器: {{url}}", + "Failed to republish to relay: {{url}}. Error: {{error}}": "重新发布到服务器: {{url}} 失败。错误: {{error}}", + "Write relays": "写服务器", + "No more reactions": "没有更多互动了", + "No reactions yet": "暂无互动", + "No more zaps": "没有更多打闪了", + "No zaps yet": "暂无打闪", + "No more boosts": "没有更多助推了", + "No boosts yet": "暂无助推", + "n more boosts": "{{count}} more boosts", + FollowListNotFoundConfirmation: "未找到关注列表。你想创建一个新的吗?如果你之前已经关注了用户,请不要确认,因为此操作会导致你丢失之前的关注列表。", + MuteListNotFoundConfirmation: "未找到屏蔽列表。你想创建一个新的吗?如果你之前已经屏蔽了用户,请不要确认,因为此操作会导致你丢失之前的屏蔽列表。", + "Show NSFW content by default": "默认显示 NSFW 内容", + "Custom emoji management": "自定义表情符号管理", + "After changing emojis, you may need to refresh the page": "更改表情符号后,您可能需要刷新页面", + "Too many read relays": "读取中继过多", + "Too many write relays": "写入中继过多", + "You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.": "您有 {{count}} 个读取中继。大多数客户端只使用 2-4 个中继,设置更多是不必要的。", + "You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.": "您有 {{count}} 个写入中继。大多数客户端只使用 2-4 个中继,设置更多是不必要的。", + "Optimize Relay Settings": "优化中继设置", + "Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.": "您当前的中继配置可能不是最优的。这可能导致其他人难以找到您发布的内容,也可能导致您无法获取完整的通知列表。", + "Optimize Now": "立即优化", + "Maybe Later": "稍后处理", + "Don't remind me again": "不再提醒", + Posts: "帖子", + "Posts (OPs)": "Posts (OPs)", + "Kind 1 replies": "Kind 1 replies", + Comments: "Comments", + "Replies & comments": "Replies & comments", + Articles: "文章", + Highlights: "高亮", + "A note from": "A note from", + Polls: "投票", + "Zap polls": "Zap polls", + "Voice Posts": "语音帖子", + "Photo Posts": "图片帖子", + "Video Posts": "视频帖子", + "Git repositories": "Git repositories", + "Git issues": "Git issues", + "Git releases": "Git releases", + "Git Republic repository": "Git Republic repository", + "Git Republic issue": "Git Republic issue", + "Git Republic release": "Git Republic release", + "Git Republic event": "Git Republic event", + "Git Republic": "Git Republic", + "Open in Git Republic": "Open in Git Republic", + "Pre-release": "Pre-release", + Draft: "Draft", + "Repository release": "Repository release", + "New Repository Release": "New Repository Release", + "Release notes use the editor below (optional).": "Release notes use the editor below (optional).", + "Repository owner (npub or hex)": "Repository owner (npub or hex)", + "Repository id (d-tag)": "Repository id (d-tag)", + "Git tag name": "Git tag name", + "Tag target (40-char commit hash)": "Tag target (40-character commit hash)", + "40-character hex SHA-1": "40-character hex SHA-1", + "Release title": "Release title", + "Download URL": "Download URL", + "Draft release": "Draft release", + "Fill repository release fields": "Fill in all required repository release fields.", + "Invalid repository owner pubkey": "Invalid repository owner (use npub or 64-char hex).", + "Citations require private relays (NIP-65).": "Citations require private outbox relays (NIP-65).", + "Select All": "全选", + "Clear All": "清空", + "Set as default filter": "设为默认过滤器", + "Use filter": "Use filter", + "See all events": "See all events", + "See all events hint": "Feed requests omit kind filters and every kind is shown (still subject to relay limits and other feed rules). For testing new event kinds.", + "Use filter hint": "Only the kinds you select below are requested and shown.", + "Advanced event lab": "Advanced editor", + "Advanced lab applyError": "Editor is not ready. Try again.", + "Advanced lab cancel undo": "Cancel and Undo Changes", + "Advanced lab undo checkpoint": "Restore checkpoint", + "Advanced lab undo checkpoint hint": "About every 30 seconds this tab saves the editor (kind, body, tags) in session storage, up to 10 versions. Use this after a translation or bulk edit you want to roll back.", + "Advanced lab undo checkpoint none": "No older checkpoint to restore.", + "Advanced lab undo checkpoint restored": "Editor restored to a saved checkpoint.", + "Advanced lab markup label markdown": "Markdown", + "Advanced lab markup label asciidoc": "AsciiDoc", + "Advanced lab preview": "Preview", + "Advanced lab preview empty": "Nothing to preview yet.", + "Advanced lab markup placeholder markdown": "Note body (Markdown)", + "Advanced lab markup placeholder asciidoc": "Note body (AsciiDoc)", + "Advanced lab tags JSON": "Kind, content, and tags (JSON)", + "Advanced lab json placeholder": "{ \"kind\": 1, \"content\": \"…\", \"tags\": [] }", + "Advanced lab grammar language": "Grammar check language", + "Advanced lab translate": "Translate body", + "Advanced lab translation source": "Source language", + "Advanced lab translation source auto": "Detect automatically", + "Advanced lab translation target": "Target language", + "Advanced lab translation languages loading": "Loading languages from translate service…", + "Advanced lab translation languages empty": "Translate service returned no languages (check Docker / LibreTranslate).", + "Advanced lab translation languages error": "Could not load languages from the translate service.", + "Advanced lab translation same source target": "Source and target language must differ.", + "Show original text": "Show original text", + "Showing original note text": "Showing original text for this note.", + "Translate note": "Translate note", + "Translating note…": "Translating note…", + "Note translated": "Translated to {{language}}.", + "Note translation failed": "Translation failed: {{message}}", + "Read-aloud Piper English voice fallback title": "English voice in use", + "Read-aloud Piper English voice fallback detail": "Piper has no voice model for {{language}}. This session uses the English Piper voice instead; pronunciation may not match the written text.", + "Advanced lab translate not configured": "Translation URL is not set (VITE_TRANSLATE_URL).", + "Advanced lab translate done": "Translation inserted into the editor.", + "Advanced lab use translation read aloud": "Use body for read-aloud (this note)", + "Advanced lab read aloud buffer set": "The next read-aloud for this note will use the current body text (translated if you translated first).", + "Composer JSON tab hint": "Edit the draft as JSON (`kind`, `content`, `tags` only). `kind` must match the note type selected above. Other fields are set when you publish.", + "Composer JSON apply": "Apply JSON", + composerJsonKindMismatch: "JSON kind {{got}} does not match the composer (expected {{expected}}). Change the note type or fix `kind` in JSON.", + composerJsonApplySuccess: "Draft updated from JSON.", + "Advanced lab tb markup tools": "Markup helpers", + "Advanced lab tb headings": "Headings", + "Advanced lab tb headings hint": "Inserts at the cursor; adjust spacing if needed.", + "Advanced lab tb heading placeholder": "Title", + "Advanced lab tb h1": "Heading 1 (#)", + "Advanced lab tb h2": "Heading 2 (##)", + "Advanced lab tb h3": "Heading 3 (###)", + "Advanced lab tb h4": "Heading 4 (####)", + "Advanced lab tb h5": "Heading 5 (#####)", + "Advanced lab tb h6": "Heading 6 (######)", + "Advanced lab tb setextH1": "Setext heading 1 (title + ===)", + "Advanced lab tb setextH2": "Setext heading 2 (title + ---)", + "Advanced lab tb horizontalRule": "Horizontal rule (---)", + "Advanced lab tb horizontalRules": "Horizontal rules", + "Advanced lab tb hrDashes": "Dashes (---)", + "Advanced lab tb hrAsterisks": "Asterisks (***)", + "Advanced lab tb hrUnderscores": "Underscores (___)", + "Advanced lab tb inline": "Inline", + "Advanced lab tb bold": "Bold (** **)", + "Advanced lab tb boldUnderscore": "Bold (__ __)", + "Advanced lab tb italic": "Italic (* *)", + "Advanced lab tb italicUnderscore": "Italic (_ _)", + "Advanced lab tb strike": "Strikethrough (~~ ~~)", + "Advanced lab tb inlineCode": "Inline code (` `)", + "Advanced lab tb link": "Link [text](url)", + "Advanced lab tb linkTitled": "Link with title [text](url \"title\")", + "Advanced lab tb image": "Image ![alt](url)", + "Advanced lab tb imageTitled": "Image with title ![alt](url \"title\")", + "Advanced lab tb hardBreak": "Hard line break (two spaces + newline)", + "Advanced lab tb citations": "Citations (NIP-32)", + "Advanced lab tb citationsHint": "Kinds 30–33. Inserts `[[citation::type::nevent…]]` (Markdown & AsciiDoc).", + "Advanced lab citation dialog title": "Insert citation", + "Advanced lab citation dialog hint": "Search for NIP-32 citation events (internal, external, hardcopy, prompt), then pick one.", + "Advanced lab citation search placeholder": "Search kinds 30–33…", + "Advanced lab citation none": "No citation events found", + "Advanced lab citation kindLabel": "Kind {{kind}}", + "Advanced lab citation type inline": "Inline citation", + "Advanced lab citation type quote": "Block quote citation", + "Advanced lab citation type end": "Endnote citation", + "Advanced lab citation type foot": "Footnote call", + "Advanced lab citation type footEnd": "Footnote + end", + "Advanced lab citation type promptInline": "Prompt (inline)", + "Advanced lab citation type promptEnd": "Prompt (end)", + "Advanced lab tb lists": "Lists", + "Advanced lab tb bulletList": "Bullet list (-)", + "Advanced lab tb bulletListStar": "Bullet list (*)", + "Advanced lab tb orderedList": "Numbered list (1.)", + "Advanced lab tb orderedListStart": "Numbered list (custom start, e.g. 4.)", + "Advanced lab tb taskItem": "Task item (- [ ])", + "Advanced lab tb blocks": "Blocks", + "Advanced lab tb blockquote": "Blockquote (>)", + "Advanced lab tb pipeTable": "Pipe table (3×2 starter)", + "Advanced lab tb footnoteRef": "Footnote reference [^1]", + "Advanced lab tb footnoteDef": "Footnote definition [^1]: …", + "Advanced lab tb codeBlock": "Code block", + "Advanced lab tb codeBlockHint": "Pick a language for syntax highlighting in fenced code.", + "Advanced lab tb filterLanguages": "Filter languages…", + "Advanced lab tb math": "Math (KaTeX)", + "Advanced lab tb mathIntro": "Many readers render $…$ / $$…$$ with KaTeX; check your client.", + "Advanced lab tb mathInline": "Inline math ($…$)", + "Advanced lab tb mathDisplay": "Display math ($$…$$)", + "Advanced lab tb mathCommon": "Common formulas", + "Advanced lab tb katexFrac": "Fraction \\frac{a}{b}", + "Advanced lab tb katexSqrt": "Square root \\sqrt{x}", + "Advanced lab tb katexSum": "Sum \\sum_{i=1}^{n}", + "Advanced lab tb katexInt": "Integral \\int_a^b", + "Advanced lab tb katexMatrix": "2×2 matrix (pmatrix)", + "Advanced lab tb katexCases": "Cases (piecewise)", + "Advanced lab tb mathGreek": "Greek & symbols", + "Advanced lab tb greekAlpha": "alpha", + "Advanced lab tb greekBeta": "beta", + "Advanced lab tb greekGamma": "gamma", + "Advanced lab tb greekDelta": "delta", + "Advanced lab tb greekPi": "pi", + "Advanced lab tb greekTheta": "theta", + "Advanced lab tb greekLambda": "lambda", + "Advanced lab tb greekSigma": "sigma", + "Advanced lab tb greekOmega": "omega", + "Advanced lab tb greekInfty": "infinity", + "Advanced lab tb hrTitle": "Horizontal rule", + "Advanced lab tb adocTitles": "Titles", + "Advanced lab tb adocTitlesHint": "Document header: no empty lines inside the header; the first blank line ends it (https://docs.asciidoctor.org/asciidoc/latest/document/header/).", + "Advanced lab tb documentTitle": "Document title", + "Advanced lab tb sectionTitle": "Section title", + "Advanced lab tb adocLevel0": "Document title (=)", + "Advanced lab tb adocLevel0WithHeader": "Minimal header (title, author, revision, description, keywords, first section)", + "Advanced lab tb adocHeaderAuthorLine": "Author Name ", + "Advanced lab tb adocHeaderRevisionLine": "1.0, 2026-04-15: Draft revision", + "Advanced lab tb adocHeaderAttrsBlock": ":description: Short document summary for metadata\n:keywords: keyword-one, keyword-two, keyword-three", + "Advanced lab tb adocSection1": "Section (==)", + "Advanced lab tb adocSection2": "Subsection (===)", + "Advanced lab tb adocSection3": "Subsubsection (====)", + "Advanced lab tb adocSection4": "Level 5 (=====)", + "Advanced lab tb adocSection5": "Level 6 (======)", + "Advanced lab tb adocBold": "Bold (*bold*)", + "Advanced lab tb adocItalic": "Italic (_italic_)", + "Advanced lab tb adocMono": "Monospace (`mono`)", + "Advanced lab tb adocLink": "Link (link:url[text])", + "Advanced lab tb adocImage": "Image (image::url[alt])", + "Advanced lab tb adocUnordered": "Unordered (* item)", + "Advanced lab tb adocOrdered": "Ordered (. item)", + "Advanced lab tb adocLabeled": "Labeled list (term:: def)", + "Advanced lab tb adocBlocks": "Blocks", + "Advanced lab tb adocQuote": "Quote block (____)", + "Advanced lab tb adocLiteral": "Literal block (....)", + "Advanced lab tb adocNote": "NOTE admonition", + "Advanced lab tb adocTip": "TIP admonition", + "Advanced lab tb adocWarning": "WARNING admonition", + "Advanced lab tb adocSource": "Source / listing", + "Advanced lab tb adocSourceHint": "Inserts a [source,lang] block; replace the sample code.", + "Advanced lab tb adocStem": "STEM / LaTeX", + "Advanced lab tb adocStemHint": "Imwald runs Asciidoctor with stem: latexmath; math becomes \\(...\\) / \\[...\\] and is drawn with KaTeX (not MathJax).", + "Advanced lab tb adocStemInline": "Inline stem:[…]", + "Advanced lab tb adocLatexmathInline": "Inline latexmath:[…]", + "Advanced lab tb adocStemBlock": "Display math ([stem] +++ … +++++)", + "Advanced lab tb adocLineBreak": "Hard line break (space + at line end)", + "Advanced lab tb adocSubscript": "Subscript (~text~)", + "Advanced lab tb adocSuperscript": "Superscript (^text^)", + "Advanced lab tb adocPassthrough": "Inline passthrough (+++ … +++)", + "Advanced lab tb adocFootnote": "Footnote (footnote:[…])", + "Advanced lab tb adocImportant": "IMPORTANT admonition", + "Advanced lab tb adocCaution": "CAUTION admonition", + "Advanced lab tb adocExampleBlock": "Example block ([example])", + "Advanced lab tb adocSidebar": "Sidebar (**** … ****)", + "Advanced lab tb adocListing": "Listing block ([listing] + ----)", + "Advanced lab tb adocOpenBlock": "Open block (-- … --)", + "Advanced lab tb adocStructure": "Structure & media", + "Advanced lab tb adocStructureHint": "Tables, IDs/anchors ([#id] before a block—avoids [[wikilink]] syntax), cross-refs, media (Asciidoctor block macros).", + "Advanced lab tb adocTable": "Table (|=== …)", + "Advanced lab tb adocAnchor": "Block or section ID ([#id])", + "Advanced lab tb adocXref": "Cross reference (<>)", + "Advanced lab tb adocVideo": "Video (video::url[])", + "Advanced lab tb adocAudio": "Audio (audio::url[])", + "Advanced lab tb adocOrderedStart": "Ordered list with [start=n]", + "Advanced lab tb adocComment": "Line comment (//)", + "Advanced lab tb adockbd": "Keyboard (kbd:[…])", + "Advanced lab tb adocMenu": "Menu path (menu:…)", + "Advanced lab tb adocBtn": "Button (btn:[…])", + "Advanced lab tb adocHrTitle": "Thematic break (''')", + Apply: "应用", + Reset: "重置", + "Share something on this Relay": "在此服务器上分享点什么", + "Try deleting this note": "尝试删除此笔记", + "Deletion request sent to {{count}} relays": "删除请求已发送到 {{count}} 个服务器", + "Suitable Relays": "适合的服务器", + "People, keywords, or relays": "用户、关键词或服务器", + "Hide content mentioning muted users": "隐藏提及已屏蔽用户的内容", + "This note mentions a user you muted": "此笔记提及了您已屏蔽的用户", + Filter: "过滤器", + "Feed filter": "Feed filter", + "Search loaded posts": "Search loaded posts", + "Filter loaded posts placeholder": "Filter by text in content or tags…", + "Feed filter author": "Author", + "Feed filter author everyone": "From everyone", + "Feed filter author me": "Only from me", + "Feed filter author npub": "From user (npub or hex)", + "Feed filter author npub from prefix": "from:", + "Feed filter author npub placeholder": "npub1… or 64-char hex", + "Feed filter author me needs login": "Log in to filter by your pubkey", + "Within the last": "Within the last", + "Time unit": "Time unit", + Minutes: "Minutes", + Days: "Days", + Weeks: "Weeks", + Months: "Months", + Years: "Years", + "Feed filter client-side hint": "Filters only apply to posts already loaded; relays are not queried again.", + "Feed full search": "Perform full search", + "Feed full search running": "Searching…", + "Feed full search clear": "Clear", + "Feed full search active hint": "Showing relay search results. Clear to return to the live feed.", + "Feed full search need constraint": "Add search text, an author filter, or a time range before searching relays.", + "Feed full search invalid feed": "This feed cannot run a relay search.", + "Feed full search failed": "Relay search failed. Try again.", + "Feed full search empty": "No matching posts were found on the queried relays.", + "No loaded posts match your filters.": "No loaded posts match your filters.", + "mentioned you in a note": "在笔记中提及了您", + "quoted your note": "引用了您的笔记", + "quoted this note": "Quoted this note", + "highlighted this note": "Highlighted this note", + "cited in article": "Cited in article", + "Thread backlinks heading": "Also quoting this note", + "Thread backlinks primary section": "Quotes, highlights & citations", + "Thread backlinks bookmarks section": "Bookmarks", + "Thread backlinks lists section": "Lists & collections", + "View full note and thread": "View full note and thread", + "labeled this note": "Labeled this note", + "reported this note": "Reported this note", + "bookmarked this note": "Bookmarked this note", + "pinned this note": "Pinned this note", + "listed this note": "Listed this note", + "bookmark set reference": "Bookmark set includes this note", + "curated this note": "Curated this note", + "badge award for this note": "Badge award for this note", + "referenced this note": "Referenced this note", + "Report events heading": "Moderation reports", + "voted in your poll": "在您的投票中投票", + "reacted to your note": "对您的笔记做出了反应", + "boosted your note": "助推了您的笔记", + "zapped your note": "打闪了您的笔记", + "zapped you": "给您打闪", + zapped: "zapped", + "Invalid zap receipt": "Invalid zap receipt", + "Zapped note": "Zapped note", + "Zapped profile": "Zapped profile", + "Zap reply threshold": "Zap reply threshold", + "Zaps above this amount will appear as replies in threads": "Zaps above this amount will appear as replies in threads", + "Mark as read": "标记为已读", + Report: "举报", + "Successfully report": "举报成功", + "Failed to report": "举报失败", + nudity: "色情内容", + malware: "恶意软件", + profanity: "亵渎言论", + illegal: "违法内容", + spam: "垃圾信息", + other: "其他", + "Notification list style": "通知列表样式", + "See extra info for each notification": "查看每条通知的详细信息", + "See more notifications at a glance": "一目了然地查看更多通知", + Detailed: "详细", + "Submit Relay": "提交服务器", + Homepage: "主页", + "Proof of Work (difficulty {{minPow}})": "工作量证明 (难度 {{minPow}})", + "via {{client}}": "来自 {{client}}", + "Auto-load media": "自动加载媒体文件", + Always: "始终", + "Wi-Fi only": "仅WiFi", + Never: "从不", + "Click to load image": "点击加载图片", + "Click to load media": "点击加载音视频", + "Click to load YouTube video": "点击加载 YouTube 视频", + "{{count}} reviews": "{{count}} 条评价", + "Write a review": "写评价", + "No reviews yet. Be the first to write one!": "还没有评价,成为第一个评价的人吧!", + "View more reviews": "查看更多评价", + "Failed to review": "评价失败", + "Write a review and pick a star rating": "写下评价并选择星级评分", + Submit: "提交", + "Reviews for {{relay}}": "关于 {{relay}} 的评价", + "No relays selected": "未选择服务器", + "Post to": "发布到", + "Write relays and {{count}} other relays": "写服务器和其他 {{count}} 个服务器", + "{{count}} relays": "{{count}} 个服务器", + "Republishing...": "正在重新发布...", + "Trending Notes": "热门笔记", + "Trending on Your Favorite Relays": "Trending on Your Favorite Relays", + "Trending on the Default Relays": "Trending on the Default Relays", + "Latest from your follows": "Latest from your follows", + "Latest from our recommended follows": "Latest from our recommended follows", + "Search page title": "Search Nostr", + "Follows latest page title": "Latest from follows", + "Follows latest page description": "Recent notes from accounts you follow (or a curated list when not signed in), using their outbox relays merged with your favorites. Expand a row for notes or open the profile from the row.", + "Follows latest nav label": "Follows latest", + "Loading follow list…": "Loading follow list…", + "Could not load recommended follows": "Could not load recommended follows", + "Your follow list is empty": "Your follow list is empty", + "Loading recent posts from follows…": "Loading recent posts from follows…", + "Loading more…": "Loading more…", + "No recent posts from this user in the current fetch": "No recent posts from this user in the current fetch", + "Loading trending notes from your relays...": "Loading trending notes from your relays...", + "Trending on Nostr": "Trending on Nostr", + "Home trending slice notice": "This feed includes a trending slice (nostrarchives). Notes that reached you from that relay show “Trending on Nostr” under the card.", + Sort: "Sort", + newest: "newest", + oldest: "oldest", + "most popular": "most popular", + "least popular": "least popular", + "Connected to": "已连接到", + "Disconnect Wallet": "断开钱包连接", + "Are you absolutely sure?": "您确定吗?", + "You will not be able to send zaps to others.": "您将无法向他人发送打闪。", + Disconnect: "断开连接", + "Set up your wallet to send and receive sats!": "设置你的钱包以发送和接收 sats!", + "Set up": "去设置", + "nested events": "nested events", + "Loading RSS feeds...": "Loading RSS feeds...", + "No RSS feed items available": "No RSS feed items available", + "Show or hide the RSS page and sidebar entry": "Show or hide the RSS page and sidebar entry", + "Refreshing feeds...": "Refreshing feeds...", + "All feeds": "All feeds", + "All time": "All time", + "Last hour": "Last hour", + "Last day": "Last day", + "Last week": "Last week", + "Last month": "Last month", + "Last 24 hours": "Last 24 hours", + "Last 48 hours": "Last 48 hours", + "Time range": "Time range", + "Filter by RSS source": "Filter by RSS source", + "No items match your filters": "No items match your filters", + "Search...": "Search...", + "{{count}} feeds": "{{count}} feeds", + "Toggle filters": "Toggle filters", + "Showing {{filtered}} of {{total}} items": "Showing {{filtered}} of {{total}} items", + Full: "Full", + Compact: "紧凑", + Expand: "Expand", + "help.title": "Help", + "help.tabShortcuts": "Keyboard shortcuts", + "help.tabOverview": "App overview", + "shortcuts.title": "Keyboard shortcuts", + "shortcuts.intro": "Shortcuts for this app and common browsing. Modifier combos are Shift+Alt+key (Option+Shift+key on macOS); either modifier order works when typing.", + "shortcuts.sectionApp": "This app", + "shortcuts.sectionSearch": "Search bar", + "shortcuts.sectionStandard": "Standard", + "shortcuts.openHelp": "Show this help", + "shortcuts.or": "or", + "shortcuts.then": "then", + "shortcuts.focusPrimary": "Focus main column scroll (desktop; then arrow keys, Page Up/Down, Home/End)", + "shortcuts.focusSecondary": "Focus side panel scroll when it is open (desktop; same keys to scroll)", + "shortcuts.newNote": "New note / post (after login if needed)", + "shortcuts.searchSuggest": "Move through suggestions", + "shortcuts.searchDismiss": "Close search dropdown", + "shortcuts.tabNavigate": "Move focus to the next or previous control", + "shortcuts.activate": "Activate buttons and many controls", + "shortcuts.closeOverlays": "Close dialogs, menus, and the search dropdown", + "shortcuts.scrollWhenFocused": "Scroll the focused scrollable area", + "shortcuts.browserBack": "Browser back (history)", + "No spells yet. Create one with the button above.": "No spells yet. Create one with the button above.", + "Loading spells from your relays…": "Loading spells from your relays…", + "Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.": "Could not run this spell. Check that it has a valid REQ/COUNT command, or add write relays in settings.", + "Select a spell…": "Select a spell…", + "Spells from follows": "From people you follow ({{count}})", + "Other spells": "Other spells ({{count}})", + "Select a spell to view its feed.": "Select a spell to view its feed.", + "Add another row": "Add another row", + "Remove this row": "Remove this row", + "One kind number per row (e.g. 1 for notes).": "One kind number per row (e.g. 1 for notes).", + "One author per row: $me, $contacts, or hex pubkey / npub.": "One author per row: $me, $contacts, or hex pubkey / npub.", + "One hex event id per row.": "One hex event id per row.", + "One wss:// URL per row. Leave empty to use your write relays.": "One wss:// URL per row. Leave empty to use your write relays.", + "One topic per row.": "One topic per row.", + topic: "topic", + "Spell form fields": "Spell form fields", + "Counting matching events…": "Counting matching events…", + "Edit spell": "Edit spell", + "Clone spell": "Clone spell", + "Spell cloned": "Spell cloned", + "Clone spell intro": "This spell is preloaded from another author’s definition. Change anything you like, then save to publish a new spell signed with your account.", + "Spell updated": "Spell updated", + "Relay URL": "Relay", + Count: "Count", + "Edit spell relays": "Edit relays", + "COUNT spell relay errors hint": "One or more relays failed or returned an error. You can change the relay list in the spell and save again.", + "COUNT spell total distinct explanation": "Distinct matching event IDs across all relays that responded successfully (duplicates across relays removed). Each relay only returns up to the filter limit.", + "Leave empty to use your write relays.": "Leave empty to use your write relays.", + "COUNT spell result explanation": "Distinct events returned for this filter (merged from your spell relays and default write relays, duplicates removed). Relays only return up to the filter limit.", + "COUNT spell may be capped by limit": "This count may equal your spell limit — there could be more matching events on the network.", + "Spell count failed. Check relays or try again.": "Could not complete the count. Check relays or try again.", + "REQ returns a feed; COUNT returns a number.": "REQ: scrollable feed (choose live Feed or one-shot Fetch below). COUNT: a single number, no feed.", + listImportManualLabel: "Pre-fill from event", + listImportFromEventHint: "Supported tags are merged into the form (e, p, t, relay, r, a where possible). Non-empty content is skipped; encrypted private items are not read. You may see notices for unmapped tags.", + listImportManualPlaceholder: "64-char hex, nevent1…, or naddr1…", + listImportLoadManual: "Apply", + listImportContentSkipped: "This event has non-empty content (may include encrypted private items). Only public tags were merged.", + listImportUnsupportedEmoji: "This list includes emoji tags (NIP-30); those are not added to the spell filter.", + listImportUnsupportedTag: "Tags of type “{{tag}}” ({{count}}) are not mapped to spell filters yet.", + listImportBadATag: "Could not parse address tag: {{preview}}…", + listImportATagNotFound: "Could not resolve address tag: {{preview}}…", + listImportATagFailed: "Failed to resolve address tag: {{preview}}…", + listImportEventNotFound: "No event found for that reference.", + "REQ tag filters": "REQ tag filters", + spellFormTagFiltersLabel: "Tag filters on matching events", + spellCreateIntro: "Spells are saved relay filters (NIP-A7). The “Spell query” section is the real definition; the dashed box at the bottom is only for names, descriptions, and catalog labels. Use $me for your pubkey and $contacts for your follow list when executing.", + spellFormSectionQueryTitle: "Spell query", + spellFormSectionQueryHint: "This block is the actual spell definition: it becomes the Nostr REQ/COUNT filter (kinds, authors, time range, tag filters on matching events, relays, etc.).", + spellFormSectionMetadataTitle: "Listing & labels (optional)", + spellFormSectionMetadataBadge: "Not part of the query", + spellFormSectionMetadataHint: "Name, description, and topic labels are only for display and spell pickers. They are not used when the spell fetches events.", + spellFormCatalogTopicsLabel: "Topic labels on this spell (t tags)", + spellTopicsMetadataHint: "One topic per row. To filter which notes you see, use “REQ tag filters” in the spell query above (letter “t”).", + spellTagFiltersHint: "Optional filters on subscribed events (NIP-01 single-letter tags). Example: letter “t”, values “bitcoin”.", + spellTagFiltersEmpty: "No tag filters yet. Add rows below or apply an event reference above.", + "Tag filter letter": "Tag letter", + "Filter value": "Value", + "Add tag filter": "Add tag filter", + spellPickerSectionYours: "Your spells", + "Failed to remove spell from local storage": "Failed to remove spell from local storage", + Spells: "Spells", + "doublePane.secondaryEmpty": "Open a note, profile, or settings item to show it here.", + "doublePane.secondaryEmptyHint": "Your feed and primary pages stay on the left.", + "(empty)": "(empty)", + "12-hour (AM/PM)": "12-hour (AM/PM)", + "24-hour": "24-hour", + "A new version is available": "A new version is available", + "A short description of the article content": "A short description of the article content", + AM: "AM", + "Access via": "Access via", + "Accessed On": "Accessed On", + "Accessed on": "Accessed on", + "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.": "Add RSS feed URLs to subscribe to. If no feeds are configured, the default feed will be used.", + "Add a relay to block": "Add a relay to block", + "Add at least one invitee": "Add at least one invitee", + "Add client identifier": "Add client identifier", + "Add expiration tags by default": "Add expiration tags by default", + "Add quiet tags by default": "Add quiet tags by default", + "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above": "Add recipients using nostr: mentions (e.g., nostr:npub1...) or the recipient selector above", + "Add the source (where this text is from)": "Add the source (where this text is from)", + "Add to favorites": "Add to favorites", + "Add {{count}} Selected": "Add {{count}} Selected", + "Added at": "Added at", + "Added {{count}} relay(s)": "Added {{count}} relay(s)", + "Adding...": "Adding...", + "Adding…": "Adding…", + "Advanced Options": "Advanced Options", + "All Topics": "All Topics", + "All feeds from OPML file are already added": "All feeds from OPML file are already added", + "All items deleted successfully": "All items deleted successfully", + "Already blocked": "Already blocked", + "Already saved": "Already saved", + "Application Recommendations": "Application Recommendations", + "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.": "Are you sure you want to clear all cached data? This will delete all stored events and settings from your browser.", + "Are you sure you want to delete all items from this store?": "Are you sure you want to delete all items from this store?", + "Are you sure you want to unmute this user? This will restore the follow button.": "Are you sure you want to unmute this user? This will restore the follow button.", + "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.": "Are you sure you want to unregister the service worker? This will clear this app's service worker caches and you will need to reload the page.", + "Article exported as AsciiDoc": "Article exported as AsciiDoc", + "Article exported as Markdown": "Article exported as Markdown", + "Article title (optional)": "Article title (optional)", + articleDTagDefaultHint: "Optional. If empty, the d-tag defaults to a type-specific prefix plus a Unix timestamp (seconds), e.g. longform-article-…, wiki-article-…, wiki-markdown-…, publication-content-….", + Audio: "Audio", + Author: "Author", + "Author is required for reading groups": "Author is required for reading groups", + "Author name (optional)": "Author name (optional)", + Authors: "Authors", + "Block Relay": "Block Relay", + "Blocked Relays": "Blocked Relays", + "Blocking...": "Blocking...", + Blossom: "Blossom", + Book: "Book", + "Brief description of the event": "Brief description of the event", + "Brief summary (optional)": "Brief summary (optional)", + "Brief summary of the article (optional)": "Brief summary of the article (optional)", + "Browse Cache": "Browse Cache", + "Search cached events...": "Search cached events...", + "No cached events match your search.": "No cached events match your search.", + "Showing first {{count}} cached event matches.": "Showing first {{count}} cached event matches.", + "Open in store": "Open in store", + "Browse cache root description": "View IndexedDB stores, or search all cached Nostr-like events (content, tags, id, pubkey, kind) across stores.", + "Copy event JSON": "Copy event JSON", + "C-Tag": "C-Tag", + "Cache Relays": "Cache Relays", + "Cache cleared successfully": "Cache cleared successfully", + "Cache refreshed successfully": "Cache refreshed successfully", + "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.": "Cache relays are used to store and retrieve events locally. These relays are merged with your inbox and outbox relays.", + "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)": "Cache relays must be local network URLs only (e.g., ws://localhost:4869 or ws://127.0.0.1:4869)", + "Cache relays saved": "Cache relays saved", + Cancelled: "Cancelled", + Chapter: "Chapter", + "Chapter Title": "Chapter Title", + "Chapter title (optional)": "Chapter title (optional)", + Citation: "Citation", + "Citation title (optional)": "Citation title (optional)", + "Clean up duplicate replaceable events? This will keep only the newest version of each event.": "Clean up duplicate replaceable events? This will keep only the newest version of each event.", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}}": "Cleaned up {{deleted}} duplicate entries, kept {{kept}}", + "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})": "Cleaned up {{deleted}} duplicate entries, kept {{kept}} (total items after cleanup: {{total}})", + "Cleanup Duplicates": "Cleanup Duplicates", + Clear: "Clear", + "Clear Cache": "Clear Cache", + "Clear Service Worker": "Clear Service Worker", + "Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.": "Clear cached data stored in your browser, including IndexedDB events, localStorage settings, and service worker caches.", + "Click update to get the latest features and improvements": "Click update to get the latest features and improvements", + Close: "Close", + "Comma or space-separated topics (will be added as t-tags)": "Comma or space-separated topics (will be added as t-tags)", + Command: "Command", + Configure: "Configure", + "Connect Wallet": "Connect Wallet", + "Console Logs": "Console Logs", + "Console logs cleared": "Console logs cleared", + "Content is required": "Content is required", + "Content must be 5000 characters or less": "Content must be 5000 characters or less", + Controversial: "Controversial", + "Copied!": "Copied!", + "Copy to clipboard": "Copy to clipboard", + "Create Article": "Create Article", + "Create Citation": "Create Citation", + "Create Highlight": "Create Highlight", + "Create New Thread": "Create New Thread", + "Create Poll": "Create Poll", + "Create Thread": "Create Thread", + composeModeKind1: "Short note (kind 1) — turn off other compose types", + "Create a Spell": "Create a Spell", + "Creating...": "Creating...", + "D-Tag": "D-Tag", + "D-Tag is required for articles": "D-Tag is required for articles", + DOI: "DOI", + "Date-based (all-day)": "Date-based (all-day)", + "Default expiration (months)": "Default expiration (months)", + "Default quiet period (days)": "Default quiet period (days)", + "Delete All": "Delete All", + "Delete item": "Delete item", + "Deleted {{count}} event(s)": "Deleted {{count}} event(s)", + "Deletion request sent": "Deletion request sent", + "Description (content)": "Description (content)", + "Digital Object Identifier (optional)": "Digital Object Identifier (optional)", + "Disable word wrap": "Disable word wrap", + "Discovered Relays": "Discovered Relays", + "Discovering relays...": "Discovering relays...", + Discussion: "Discussion", + Discussions: "Discussions", + Downvote: "Downvote", + "Edited by": "Edited by", + Editor: "Editor", + "Editor name (optional)": "Editor name (optional)", + "Enable word wrap": "Enable word wrap", + "End date": "End date", + "End date must be after start date": "End date must be after start date", + "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.": "Enter a Nostr event identifier (nevent, naddr, note, or hex ID) OR a web URL (https://). Not both.", + "Enter a descriptive title for your thread": "Enter a descriptive title for your thread", + "Enter the author name": "Enter the author name", + "Enter the book title": "Enter the book title", + "Enter the specific text you want to highlight in the main content area above": "Enter the specific text you want to highlight in the main content area above", + "Event IDs (ids)": "Event IDs (ids)", + "Event appears to be invalid or corrupted": "Event appears to be invalid or corrupted", + "Event has no value data": "Event has no value data", + "Event is missing required fields: {{fields}}": "Event is missing required fields: {{fields}}", + "Event type": "Event type", + "Expiration Tags": "Expiration Tags", + "Export OPML": "Export OPML", + "Export as AsciiDoc": "Export as AsciiDoc", + "Export as Markdown": "Export as Markdown", + "External Citation": "External Citation", + "External Citation Settings": "External Citation Settings", + "Failed to add relay. Please try again.": "Failed to add relay. Please try again.", + "Failed to add relays": "Failed to add relays", + "Failed to block relay. Please try again.": "Failed to block relay. Please try again.", + "Failed to cleanup duplicates": "Failed to cleanup duplicates", + "Failed to clear cache": "Failed to clear cache", + "Failed to copy": "Failed to copy", + "Failed to create relay set. Please try again.": "Failed to create relay set. Please try again.", + "Failed to create thread": "Failed to create thread", + "Failed to create thread. Please try a different relay.": "Failed to create thread. Please try a different relay.", + "Failed to delete all items": "Failed to delete all items", + "Failed to delete item": "Failed to delete item", + "Failed to discover relays": "Failed to discover relays", + "Failed to export OPML file": "Failed to export OPML file", + "Failed to export article": "Failed to export article", + "Failed to import OPML file: {{error}}": "Failed to import OPML file: {{error}}", + "Failed to load RSS feeds": "Failed to load RSS feeds", + "Failed to load store items": "Failed to load store items", + "Failed to mute user privately": "Failed to mute user privately", + "Failed to mute user publicly": "Failed to mute user publicly", + "Failed to pin note": "Failed to pin note", + "Failed to publish post": "Failed to publish post", + "Failed to publish reply": "Failed to publish reply", + "Failed to publish reaction": "Failed to publish reaction", + "Failed to publish thread": "Failed to publish thread", + "Failed to publish to some relays. Please try again or use different relays.": "Failed to publish to some relays. Please try again or use different relays.", + "Failed to save RSS feeds": "Failed to save RSS feeds", + "Failed to save cache relays": "Failed to save cache relays", + "Failed to save relay list": "Failed to save relay list", + "Failed to unregister service worker: ": "Failed to unregister service worker: ", + "Failed to unsubscribe from topic": "Failed to unsubscribe from topic", + Favorite: "Favorite", + Fetch: "Fetch", + "Fetch once, then stop.": "Fetch once, then stop.", + "Filter by": "Filter by", + "Flat View": "Flat View", + "Font size": "Font size", + "Full Quote/Context": "Full Quote/Context", + "Full-text search query": "Full-text search query", + Geohash: "Geohash", + "Geohash (optional)": "Geohash (optional)", + "Global quiet mode": "Global quiet mode", + "Group discussions by topic": "Group discussions by topic", + "Grouped View": "Grouped View", + Groups: "Groups", + "Handler {{index}}": "Handler {{index}}", + "Hardcopy Citation": "Hardcopy Citation", + "Hardcopy Citation Settings": "Hardcopy Citation Settings", + Hide: "Hide", + "Hide interactions on all posts": "Hide interactions on all posts", + "Hide interactions on posts with quiet tags": "Hide interactions on posts with quiet tags", + "High PoW": "High PoW", + "Higher values make your thread harder to mine but more unique.": "Higher values make your thread harder to mine but more unique.", + Highlight: "Highlight", + "Highlight Settings": "Highlight Settings", + "How to Create a Highlight (NIP-84)": "How to Create a Highlight (NIP-84)", + "Human-readable spell name": "Human-readable spell name", + "Image URL": "Image URL", + "Import OPML": "Import OPML", + "Imported {{count}} feed(s) from OPML file": "Imported {{count}} feed(s) from OPML file", + "In-Browser Cache": "In-Browser Cache", + Insert: "Insert", + "Insert URL into your post and publish to Nostr GIF library (NIP-94).": "Insert URL into your post and publish to Nostr GIF library (NIP-94).", + "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.": "Insert URL into your post and publish kind 1063 (NIP-94) with hashtag memeamigo for discoverability.", + "Insert event or address": "Insert event or address", + "Insert mention": "Insert mention", + "Internal Citation": "Internal Citation", + "Internal Citation Settings": "Internal Citation Settings", + "Invalid Event": "Invalid Event", + "Invalid Lightning Address": "Invalid Lightning Address", + "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.": "Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.", + "Invalid URL": "Invalid URL", + "Invalid content JSON": "Invalid content JSON", + "Invalid relay URL": "Invalid relay URL", + "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.": "Invalid source. Please enter a note ID, nevent, naddr, hex ID, or URL.", + "Item deleted successfully": "Item deleted successfully", + JSON: "JSON", + "Join link": "Join link", + "Journal/Publication name (optional)": "Journal/Publication name (optional)", + Json: "JSON", + Kinds: "Kinds", + "Language Model": "Language Model", + Large: "Large", + "Leave empty for HiveTalk, or paste Zoom / Teams / other link": "Leave empty for HiveTalk, or paste Zoom / Teams / other link", + "Lightning payment failed": "Lightning payment failed", + Limit: "Limit", + "Live feed; keeps updating.": "Live feed; keeps updating.", + "Loading more...": "Loading more...", + "Loading relays...": "Loading relays...", + "Location (optional)": "Location (optional)", + "Log in to run this spell (it uses $me or $contacts).": "Log in to run this spell (it uses $me or $contacts).", + "Login failed": "Login failed", + "nip07.extensionKeyMismatch": "Your browser extension is using a different key on this tab. Switch to the matching key in the extension, or reload the page to apply your extension's current selection.", + "nip07.reloadPage": "Reload page", + "Login to configure RSS feeds": "Login to configure RSS feeds", + "Long-form Article": "Long-form Article", + "Mailbox relays saved": "Mailbox relays saved", + "Mark as NSFW": "Mark as NSFW", + "Maximum {{max}} invitees": "Maximum {{max}} invitees", + "Maximum {{max}} invitees allowed": "Maximum {{max}} invitees allowed", + Medium: "Medium", + Mode: "Mode", + "Most Zapped": "Most Zapped", + "Move to top": "Move to top", + "Multiple choice": "Multiple choice", + "Mute failed": "Mute failed", + NSFW: "NSFW", + Name: "Name", + "Name of the language model used": "Name of the language model used", + "New External Citation": "New External Citation", + "New Hardcopy Citation": "New Hardcopy Citation", + "New Highlight": "New Highlight", + "New Internal Citation": "New Internal Citation", + "New Long-form Article": "New Long-form Article", + "New Poll": "New Poll", + "New Discussion": "New Discussion", + "New Prompt Citation": "New Prompt Citation", + "New Public Message": "New Public Message", + "New Wiki Article": "New Wiki Article", + "New Wiki Article (Markdown)": "New Wiki Article (Markdown)", + Newest: "Newest", + "No JSON available": "No JSON available", + "No RSS feeds found in OPML file": "No RSS feeds found in OPML file", + "No cached data found.": "No cached data found.", + "No console logs captured yet": "No console logs captured yet", + "No events found": "No events found", + "No feeds configured. Default feed will be used.": "No feeds configured. Default feed will be used.", + "No feeds to export": "No feeds to export", + "No groups available. Join some groups first.": "No groups available. Join some groups first.", + "No items in this store.": "No items in this store.", + "No items match your search.": "No items match your search.", + "No logs match the current filters": "No logs match the current filters", + "No posts found": "No posts found", + "No posts match your search": "No posts match your search", + "No relays available. Please configure relays in settings.": "No relays available. Please configure relays in settings.", + "No service workers or caches found for this app": "No service workers or caches found for this app", + "No users found": "No users found", + "No valid RSS feed URLs found in OPML file": "No valid RSS feed URLs found in OPML file", + "Note pinned": "Note pinned", + "Note unpinned": "Note unpinned", + Oldest: "Oldest", + "Open Timestamp": "Open Timestamp", + "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.": "Opens in a new tab. Copy a GIF URL there, then paste below. If this picker closed, click “Insert GIF” again to paste.", + "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.": "Opens in a new tab. Copy an image URL there, then paste below. If this picker closed, click “Insert meme” again to paste.", + Optional: "Optional", + "Optional image for the event": "Optional image for the event", + "Optionally, add the full quote/context to show your highlight within it": "Optionally, add the full quote/context to show your highlight within it", + PM: "PM", + "Page Range": "Page Range", + Pages: "Pages", + "Paste URL of a GIF": "Paste URL of a GIF", + "Paste URL of a meme image": "Paste URL of a meme image", + "Paste the entire original passage that contains your highlight": "Paste the entire original passage that contains your highlight", + Photo: "Photo", + "Picture Note": "Picture Note", + "Pin note": "Pin note", + "Plain text description of the query": "Plain text description of the query", + "Please login to view bookmarks": "Please login to view bookmarks", + "Please login to view favorites": "Please login to view favorites", + "Please select a group": "Please select a group", + "Please select at least one relay": "Please select at least one relay", + "Please set a start date": "Please set a start date", + "Poll with no options": "Poll with no options", + "Post published to some relays": "Post published to some relays", + "Posts will automatically include expiration tags": "Posts will automatically include expiration tags", + "Posts will automatically include quiet tags": "Posts will automatically include quiet tags", + "Posts will be quiet for this many days": "Posts will be quiet for this many days", + "Posts will expire after this many months": "Posts will expire after this many months", + "Processing...": "Processing...", + "Profile event not available": "Profile event not available", + "Prompt Citation": "Prompt Citation", + "Prompt Citation Settings": "Prompt Citation Settings", + "Prompt Conversation Script": "Prompt Conversation Script", + "Proof of Work": "Proof of Work", + "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post": "Publish kind 1063 (NIP-94) for this GIF and insert the URL into your post", + "Publish to Relays": "Publish to Relays", + "Published By": "Published By", + "Published In": "Published In", + "Published On": "Published On", + "Published in": "Published in", + "Published on": "Published on", + "Publisher name (optional)": "Publisher name (optional)", + "Quiet Tags": "Quiet Tags", + "RSS Feed": "RSS Feed", + "RSS + Web": "RSS + Web", + "RSS feed source": "RSS feed source", + "All feed sources": "All feed sources", + "RSS feed view mode": "RSS feed view mode", + "Article URLs": "Article URLs", + "Article URLs subtitle": "One card per link: URLs from Nostr relays (you and people you follow) plus any RSS hit. No RSS row yet → web preview card.", + "Article URLs Nostr manual subtitle": "Article URLs with no subscribed-feed items yet — from Nostr relay discovery or links you added. Anything that already has feed items appears under RSS.", + "RSS feed column title": "RSS & linked articles", + "RSS feed column subtitle": "Feed entries and article cards that include at least one item from your subscribed RSS feeds.", + "RSS timeline": "RSS timeline", + "RSS timeline subtitle": "Every item from your subscribed feeds, newest first — classic RSS reader.", + URLs: "URLs", + RSS: "RSS", + "No URL-only items yet": "No URL-only items yet", + "Respond to this RSS entry": "Respond to this RSS entry", + "RSS read-only thread hint": "Nostr replies, zaps, and highlights are hidden here. Use this to add the article to your URL feed and respond there.", + "RSS feed item label": "RSS", + "Web URL item label": "Web URL", + "URL thread activity": "URL thread activity", + "Suppress Clawstr links in RSS previews": "Hide clawstr.com in RSS and URL feed", + "Hide local, media & feed URLs from URL cards": "Hide local, media, feed, document & XML links from the feed", + "RSS articles": "RSS articles", + "Web comments": "Web comments", + "Web highlights": "Web highlights", + "In your bookmarks": "In your bookmarks", + "{{count}} RSS entries for this URL": "{{count}} RSS entries for this URL", + "{{count}} entries for this article URL": "{{count}} entries for this article URL", + "No comments yet": "No comments yet", + "No highlights yet": "No highlights yet", + "Showing {{filtered}} of {{total}} entries": "Showing {{filtered}} of {{total}} entries", + standardRssFeed_spotifeed: "Spotify playlist (Spotifeed)", + standardRssFeed_youtube: "YouTube feed", + standardRssFeed_youtubeChannel: "YouTube channel feed", + standardRssFeed_youtubePlaylist: "YouTube playlist feed", + standardRssFeed_feedburner: "FeedBurner", + standardRssFeed_reddit: "Reddit RSS", + standardRssFeed_substack: "Substack", + standardRssFeed_medium: "Medium", + "RSS Feed Settings": "RSS Feed Settings", + "Follow sets": "Follow sets", + "Personal Lists": "个人列表", + "Personal lists hub intro": "静音列表、关注的人、NIP-51 书签、置顶、兴趣主题(kind 10015)、NIP-30 用户表情列表(kind 10030)与表情包(kind 30030)。网页书签(NIP-B0,kind 39701)另计:可在文章侧栏保存,或在「咒语」里打开书签流同时查看笔记书签与网页书签。", + "Mute list": "静音列表", + "Following list": "关注列表", + "Bookmarks list": "Bookmarks list", + "Pinned notes list": "Pinned notes list", + "Interests list": "Interests list", + "User emoji list": "用户表情列表(kind 10030)", + "Emoji sets": "表情包(kind 30030)", + "User emoji list title": "{{username}} 的表情列表", + "User emoji list intro": "NIP-30:内联自定义表情(`emoji` 标签)与指向 kind 30030 包的引用(`a` 标签)。编辑完成后点击发布。", + "User emoji list saved": "表情列表已发布", + "User emoji inline section": "内联表情", + "User emoji inline empty": "尚无内联表情。在下方填写短码与图片 URL。", + "User emoji inline invalid": "请填写短码和非空的图片 URL。", + "User emoji sets section": "表情包引用", + "User emoji sets hint": "坐标格式:30030:<64 位十六进制公钥>:,通常为本账户在「表情包」页面创建的集合。", + "User emoji sets empty": "尚无表情包引用。", + "User emoji set ref invalid": "坐标无效。请使用 30030:<公钥>:。", + "User emoji set ref duplicate": "该表情包已在列表中。", + "Emoji set coordinate": "表情包(a 标签)", + "Publish changes": "发布更改", + Shortcode: "短码", + "Emoji sets settings intro": "NIP-30 表情包(kind 30030):每个集合有 `d` 标签与若干 `emoji`(短码 + 图片 URL)。在编辑对话框中保存并发布。", + "New emoji set": "新建表情包", + "Edit emoji set": "编辑表情包", + "No emoji sets yet": "尚未创建表情包。", + "Emoji set saved": "表情包已保存", + "Emoji set deleted": "表情包已删除", + "Failed to load emoji sets": "加载表情包失败", + "emoji entries": "个表情", + "Emoji set d tag hint": "集合的稳定标识,首次发布后不可更改。", + "Emoji pack entries": "包内表情", + "No emoji entries in pack": "包内尚无表情。", + "Delete emoji set?": "删除此表情包?", + "Delete emoji set confirm": "将发送删除请求(kind 5)。接受的中继会移除该集合;其他客户端可能仍显示缓存副本。", + "Interests list section subtitle": "Topics you follow for hashtag feeds and the Interests spell. Stored on Nostr as kind 10015 (`t` tags).", + "Interest topic placeholder": "topic or #hashtag", + "Interest list add topic": "Add topic", + "Interest topic invalid": "Enter a valid topic (letters, numbers, hyphens, underscores).", + "No interest topics in list": "No subscribed topics yet. Add one above or subscribe from a hashtag page.", + "username's interest topics": "{{username}}'s interest topics", + "Remove from interest list": "Remove from interest list", + "Personal lists interests spell hint": "For a combined feed of all subscribed topics, use the", + "Interests spell": "Interests spell", + "Personal lists bookmarks spell hint": "For a note feed from NIP-51 bookmarks, use the", + "Bookmarks spell": "书签咒语", + "Pinned notes hint": "置顶笔记:在笔记菜单(⋯)中选择置顶到资料。置顶会显示在你的个人资料上。", + "Bookmarks list section title": "Bookmarks list", + "Bookmarks list section subtitle": "Events referenced by `e` / `a` tags on your kind 10003 bookmark list (newest first).", + "No entries in bookmark list": "Your bookmark list is empty.", + "View bookmarks as feed in Spells": "View bookmarks as a note feed in Spells", + "Pinned notes list section title": "Pinned notes list", + "Pinned notes list section subtitle": "Events referenced by `e` / `a` tags on your kind 10001 pin list (same order as on your profile).", + "Loading pin list": "Loading pin list…", + "No pinned notes in list": "No pinned notes in your pin list yet.", + "username's bookmarks": "{{username}}'s bookmarks", + "username's pinned notes": "{{username}}'s pinned notes", + "Event not loaded": "Event not loaded", + "No NIP-51 bookmarks or web bookmarks yet.": "尚无 NIP-51 书签或网页书签。", + "Web bookmarks": "网页书签", + "Web bookmark": "网页书签", + "Web bookmarks NIP intro": "网页书签以 kind 39701 事件存储,不在 NIP-51 书签列表中。", + "Log in to save web bookmarks": "请登录以保存此页的网页书签(NIP-B0,kind 39701)。", + "Remove web bookmark": "移除网页书签", + "No web bookmark for this URL yet": "你尚未为此 URL 保存网页书签。", + "Page title": "页面标题", + "Short description": "简短描述", + "Save web bookmark": "保存网页书签", + "Sign in to publish web bookmark": "请使用可签名密钥登录以保存网页书签。", + "Follow sets settings intro": "NIP-51 follow sets (kind 30000) group people for custom feeds (for example in Spells). Lists are published to your NIP-65 outboxes and profile discovery relays.", + "New follow set": "New follow set", + "Edit follow set": "Edit follow set", + "No follow sets yet": "You have not created any follow sets yet.", + "Follow set saved": "Follow set saved", + "Follow set deleted": "Follow set deleted", + "Failed to load follow sets": "Failed to load follow sets", + members: "members", + "Optional display title": "Optional display title", + "List id (d tag)": "List id (d tag)", + "Follow set d tag hint": "Stable identifier for this list. It cannot be changed after the first publish.", + "People in this list": "People in this list", + "Delete follow set?": "Delete this follow set?", + "Delete follow set confirm": "This sends a deletion request (kind 5) for the list. Relays that accept it will drop the list; other clients may still show a cached copy until they refresh.", + "Clean list": "Clean list", + "Clean this list?": "Clean this list?", + "Clean list confirm": "This will publish a fresh, empty replacement for this list (all entries removed). This cannot be undone.", + "Clean follows list confirm with backup": "Before cleaning your follows (kind 3), the current list snapshot will be published to follows history relays. Then a fresh, empty follows list will be published. Continue?", + "List cleaned": "List cleaned", + "Failed to clean list": "Failed to clean list", + "Remove feed": "Remove feed", + "RSS Feeds": "RSS Feeds", + "RSS feeds exported to OPML file": "RSS feeds exported to OPML file", + "RSS feeds saved": "RSS feeds saved", + "Rate limited. Please wait before trying again.": "Rate limited. Please wait before trying again.", + "Reaction published": "Reaction published", + "Reaction published to some relays": "Reaction published to some relays", + "Reaction removed": "Reaction removed", + "Read full article": "Read full article", + "Reading group entry": "Reading group entry", + "Readings Options": "Readings Options", + Recipients: "Recipients", + "Recipients detected from your message:": "Recipients detected from your message:", + "Recommended Relays": "Recommended Relays", + "Recommended applications for handling events of kind {{kind}}": "Recommended applications for handling events of kind {{kind}}", + "Reference to the cited Nostr event in kind:pubkey:hex format": "Reference to the cited Nostr event in kind:pubkey:hex format", + "Refresh Cache": "Refresh Cache", + "Refreshing posts...": "Refreshing posts...", + "Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.": "Relative: 7d, 24h, 1w, 1mo, 1y. Or Unix timestamp.", + Relay: "Relay", + "Relay Hint": "Relay Hint", + "Relay URL (optional)": "Relay URL (optional)", + "Relay blocked successfully": "Relay blocked successfully", + "Relay requires authentication for write access. Please try a different relay or contact the relay operator.": "Relay requires authentication for write access. Please try a different relay or contact the relay operator.", + "Relay set options": "Relay set options", + "Remove from favorites": "Remove from favorites", + Rendered: "Rendered", + "Reply published": "Reply published", + "Reply published to some relays": "Reply published to some relays", + "Reply to Public Message": "Reply to Public Message", + "Republish to all active relays": "Republish to all active relays", + "Republish to all available relays": "Republish to all available relays", + "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.": "Required: start (or start date), invitees. Optional: title, end, location, summary, topics, image.", + "Required: start time or start date. Optional: title, end, location, summary, topics, image.": "Required: start time or start date. Optional: title, end, location, summary, topics, image.", + "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time, invitees. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.": "Required: start time. Join link defaults to HiveTalk. Optional: title, end, summary, topics, image.", + "Respect quiet tags": "Respect quiet tags", + "Search (NIP-50)": "Search (NIP-50)", + "Search by name or npub…": "Search by name or npub…", + "Search calendar, publications, wiki…": "Search calendar, publications, wiki…", + "Search for user…": "Search for user…", + "Search items...": "Search items...", + "Search logs...": "Search logs...", + "Search notes, threads, long-form…": "Search notes, threads, long-form…", + "Search on GifBuddy": "Search on GifBuddy", + "Search on Meme Amigo": "Search on Meme Amigo", + "Search posts...": "Search posts...", + "Search threads by title, content, tags, npub, author...": "Search threads by title, content, tags, npub, author...", + "Searching all available relays...": "Searching all available relays...", + "Searching…": "Searching…", + "See reference": "See reference", + "Select Group": "Select Group", + "Select Media Type": "Select Media Type", + "Select group...": "Select group...", + "Select relays": "Select relays", + "Publish relay cap hint": "At most {{max}} relays are contacted per publish. Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted; lower-priority checks are skipped first if you exceed the cap. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.", + "Publish relay cap hint with outbox first": "At most {{max}} relays per publish. Your NIP-65 write relay(s) use {{reservedSlots}} of those slots first (merged ahead of this picker; they may also appear checked below). Of the {{selected}} relay(s) you checked here, {{selectedContacted}} will be contacted. Session-blocked relays are skipped. See console [PublishEvent] for the exact list.", + "Select the group where you want to create this discussion.": "Select the group where you want to create this discussion.", + "Select topic...": "Select topic...", + "Selected text": "Selected text", + "Send Public Message": "Send Public Message", + "Send a Lightning payment to this user": "Send a Lightning payment to this user", + "Service worker caches cleared. Please reload the page.": "Service worker caches cleared. Please reload the page.", + "Service worker unregistered and caches cleared. Please reload the page.": "Service worker unregistered and caches cleared. Please reload the page.", + "Service worker unregistered. Please reload the page.": "Service worker unregistered. Please reload the page.", + "Share your thoughts, ask questions, or start a discussion...": "Share your thoughts, ask questions, or start a discussion...", + "Short Video Note": "Short Video Note", + "Show RSS Feed": "Show RSS Feed", + "Show all discussions in a single list": "Show all discussions in a single list", + "Show less": "Show less", + Since: "Since", + Small: "Small", + "Some relays have temporarily disabled writes.": "Some relays have temporarily disabled writes.", + Source: "Source", + "Spell definition": "Spell definition", + "Spell published": "Spell published", + "Start date": "Start date", + "Start typing to see a preview...": "Start typing to see a preview...", + "Subject (Book Title)": "Subject (Book Title)", + "Subject (book title) is required for reading groups": "Subject (book title) is required for reading groups", + "Subject / Topics": "Subject / Topics", + Subscribe: "Subscribe", + Subscribed: "Subscribed", + "Subscribed to topic": "Subscribed to topic", + "Subscribed to topic (local)": "Subscribed to topic (local)", + "Subscribing...": "Subscribing...", + Summary: "Summary", + "Supported Event Types": "Supported Event Types", + "Take a note": "Take a note", + "The full prompt conversation (optional)": "The full prompt conversation (optional)", + "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.": "The main editor above should contain only the text you want to highlight. This field should contain the full quote or paragraph for context.", + "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.": "These relays were found from your NIP-05 identifier and signer. You can add them to your relay list.", + "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.": "This GIF comes from kind 1063 (NIP-94 file metadata). Choosing it still publishes your own kind 1063 to your write relays (and fast write relays as fallback) so your relays index the URL.", + "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1 note. Notes are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.": "This GIF was found in a kind 1111 comment. Comments are not NIP-94 GIF index entries; publish kind 1063 yourself if you want it discoverable as file metadata.", + "This GIF was found in a Nostr event of kind {{kind}}.": "This GIF was found in a Nostr event of kind {{kind}}.", + "This file could be either audio or video. Please select the correct type:": "This file could be either audio or video. Please select the correct type:", + "This store does not contain replaceable events": "This store does not contain replaceable events", + "This will add additional tags for author and subject to help organize reading group discussions.": "This will add additional tags for author and subject to help organize reading group discussions.", + "Thread Content": "Thread Content", + "Thread Title": "Thread Title", + "Thread creation timed out. Please try again.": "Thread creation timed out. Please try again.", + "Thread published": "Thread published", + "Threads are organized by topics. Choose a topic that best fits your discussion.": "Threads are organized by topics. Choose a topic that best fits your discussion.", + "Time-based": "Time-based", + "Title is required": "Title is required", + "Title must be 100 characters or less": "Title must be 100 characters or less", + "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.": "To translate notes and other content, use your browser’s built-in translation. For example: right-click the page and choose “Translate to…”, or use the translate icon in the address bar.", + Top: "Top", + Topic: "Topic", + URL: "URL", + "URL of the article cover image (optional)": "URL of the article cover image (optional)", + "Unique identifier for this article (required)": "Unique identifier for this article (required)", + "Unmute failed": "Unmute failed", + "Unpin note": "Unpin note", + Unsubscribe: "Unsubscribe", + "Unsubscribed from topic": "Unsubscribed from topic", + "Unsubscribing...": "Unsubscribing...", + Until: "Until", + Untitled: "Untitled", + Update: "Update", + "Updating...": "Updating...", + "Upload Audio Comment": "Upload Audio Comment", + "Upload Audio Message": "Upload Audio Message", + "Upload Media": "Upload Media", + "Media kind": "Media kind", + "Use image/audio/video note kind for the media URL in the editor": "Use image/audio/video note kind for the media URL in the editor", + "Already publishing as a media note": "Already publishing as a media note", + "No media URL in note — upload or paste a link first": "No media URL in note — upload or paste a link first", + "Cannot infer media type from URL — use Note type → Media Note to upload": "Cannot infer media type from URL — use Note type → Media Note to upload", + "Media kind (disabled): add imeta tags, a media URL, or upload media first": "Media kind (disabled): add imeta tags, a media URL, or upload media first", + Upvote: "Upvote", + "User unmuted": "User unmuted", + "Version number (optional)": "Version number (optional)", + Video: "Video", + "Video Note": "Video Note", + "Video file": "Video file", + "View Console Logs": "View Console Logs", + "View JSON": "View JSON", + "View cached items in this store.": "View cached items in this store.", + "View definition": "View definition", + "View details about cached data in IndexedDB stores. Click on a store to view its items.": "View details about cached data in IndexedDB stores. Click on a store to view its items.", + "View on Alexandria": "View on Alexandria", + "View on DecentNewsroom": "View on DecentNewsroom", + "View on Wikistr": "View on Wikistr", + "View recent console logs for debugging": "View recent console logs for debugging", + "Voice Comment": "Voice Comment", + "Voice Note": "Voice Note", + "Voice note or audio file": "Voice note or audio file", + Volume: "Volume", + "Volume number (optional)": "Volume number (optional)", + "Vote published": "Vote published", + "Vote removed": "Vote removed", + "Website where LLM was accessed (optional)": "Website where LLM was accessed (optional)", + "Wiki Article (AsciiDoc)": "Wiki Article (AsciiDoc)", + "Wiki Article (Markdown)": "Wiki Article (Markdown)", + "You can only delete your own notes": "You can only delete your own notes", + "You must be logged in to create a thread": "You must be logged in to create a thread", + "You need to add at least one media server in order to upload media files.": "You need to add at least one media server in order to upload media files.", + "You need to login first": "You need to login first", + "Your account is blocked from posting to this relay.": "Your account is blocked from posting to this relay.", + Zap: "Zap", + "Zap failed": "Zap failed", + created_at: "created_at", + "e tag of kind 1040 event (optional)": "e tag of kind 1040 event (optional)", + "e.g. meetup, conference": "e.g. meetup, conference", + "e.g., 123-145 (optional)": "e.g., 123-145 (optional)", + "e.g., GPT-4, Claude, etc. (required)": "e.g., GPT-4, Claude, etc. (required)", + "e.g., my-article-title": "e.g., my-article-title", + entries: "entries", + "from Bunker": "from Bunker", + "from Extension": "from Extension", + "from NIP-05": "from NIP-05", + general: "general", + "https://example.com (required)": "https://example.com (required)", + "https://example.com/image.jpg": "https://example.com/image.jpg", + id: "id", + items: "items", + kind: "kind", + "kind:pubkey:hex format (required)": "kind:pubkey:hex format (required)", + "last updated": "last updated", + matching: "matching", + naddr: "naddr", + nevent: "nevent", + "nevent1..., naddr1..., note1..., hex ID, or https://...": "nevent1..., naddr1..., note1..., hex ID, or https://...", + "no notes found": "no notes found", + of: "of", + "on note": "on note", + optional: "optional", + pubkey: "pubkey", + "sent a public message": "sent a public message", + "sent you a public message": "sent you a public message", + "sent you a public message (along with {{count}} others)": "sent you a public message (along with {{count}} others)", + sig: "sig", + "started a discussion in {{topic}}": "started a discussion in {{topic}}", + tags: "tags", + thread: "thread", + threads: "threads", + "topic1, topic2, topic3": "topic1, topic2, topic3", + "{{count}} relay(s) selected": "{{count}} relay(s) selected", + "🔞 NSFW 🔞": "🔞 NSFW 🔞", + "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).": "Choose a suggested topic or type your own. It becomes a normalized tag (e.g. my-topic).", + "Compressing on your device before upload (large videos can take several minutes)…": "Compressing on your device before upload (large videos can take several minutes)…", + "Failed to refresh": "Failed to refresh", + "Invalid article link.": "Invalid article link.", + Likes: "Likes", + "Loading…": "Loading…", + "Missing pubkey": "Missing pubkey", + "No RSS feed list found on relays": "No RSS feed list found on relays", + "Pinned posts": "Pinned posts", + "Publishing...": "Publishing...", + "RSS article": "RSS article", + "RSS feed list refreshed": "RSS feed list refreshed", + "Save or discard your changes before refreshing from relays": "Save or discard your changes before refreshing from relays", + "Suggested topics": "Suggested topics", + "Synthetic event (no author)": "Synthetic event (no author)", + "Topic is required": "Topic is required", + "Type a topic or pick from the list": "Type a topic or pick from the list", + "Uploading to media server…": "Uploading to media server…", + profileEditorRefreshCacheHint: "profileEditorRefreshCacheHint", + startupSessionHydrating: "startupSessionHydrating", + "AI / LLM prompt citation": "AI / LLM prompt citation", + "AsciiDoc wiki contribution": "AsciiDoc wiki contribution", + "Attach image, audio, or video": "Attach image, audio, or video", + Citations: "Citations", + "Cite from external source": "Cite from external source", + "Cite from private relay": "Cite from private relay", + "Create a voting poll": "Create a voting poll", + "Create custom event": "Create custom event", + "Create event with custom kind": "Create event with custom kind", + "Custom Event": "Custom Event", + "Custom tag…": "Custom tag…", + Dismiss: "Dismiss", + "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.": "Enter a valid event kind: 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}}.", + "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).": "Enter a valid event kind: integer 0–{{maxSigned}}, or {{unsignedMin}}–{{unsignedMax}} (unsigned experiment).", + "Failed to rebroadcast entire publication: {{error}}": "Failed to rebroadcast entire publication: {{error}}", + "Feed filter kind": "Feed filter kind", + "Feed filter kind hint": "Feed filter kind hint", + "Feed filter kind invalid": "Feed filter kind invalid", + "Feed filter kind placeholder": "Feed filter kind placeholder", + "Invalid event fields": "Invalid event fields", + "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).": "Kind must be an integer from 0 to {{maxSigned}}, or from {{unsignedMin}} to {{unsignedMax}} (unsigned experiment).", + "Markdown article (NIP-23)": "Markdown article (NIP-23)", + "Markdown wiki contribution": "Markdown wiki contribution", + "Media Note": "Media Note", + "No publication events found for rebroadcast": "No publication events found for rebroadcast", + "No publication events were accepted by any relay": "No publication events were accepted by any relay", + "Note type": "Note type", + "Offline mode": "Offline mode", + "Only local relays and cached content are available.": "Only local relays and cached content are available.", + "Physical source citation": "Physical source citation", + "Plain text note (kind 1)": "Plain text note (kind 1)", + "Private relay publication": "Private relay publication", + "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).": "Proof of work is not supported for unsigned experimental kinds ({{min}}–{{max}}).", + "Public Message": "Public Message", + "Public direct message (kind 4)": "Public direct message (kind 4)", + "Publication Note": "Publication Note", + "Rebroadcast entire publication": "Rebroadcast entire publication", + "Rebroadcast entire publication to ...": "Rebroadcast entire publication to ...", + "Rebroadcasted entire publication": "Rebroadcasted entire publication", + "Rebroadcasting entire publication...": "Rebroadcasting entire publication...", + "Save a quote or passage": "Save a quote or passage", + "Save data": "Save data", + "Set kind, content, and tags, then publish.": "Set kind, content, and tags, then publish.", + "Short Note": "Short Note", + "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.": "Signed: 0–{{maxSigned}}. Unsigned experiment (empty sig): {{unsignedMin}}–{{unsignedMax}}.", + "Slow connection detected": "Slow connection detected", + "Start a discussion thread": "Start a discussion thread", + "This action is only available for publications": "This action is only available for publications", + "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.": "This kind is published with an empty signature. Normal Nostr relays will reject it, and these events are not portable on the open network. Only use relays that explicitly support this experiment and authenticate you (for example with NIP-42 AUTH) before accepting writes.", + Thread: "Thread", + "Turn on low-bandwidth mode to reduce data usage.": "Turn on low-bandwidth mode to reduce data usage.", + "Turn on low-bandwidth mode? This will set: {{changes}}.": "Turn on low-bandwidth mode? This will set: {{changes}}.", + "Unsigned experimental kind": "Unsigned experimental kind", + "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.": "Unsigned experimental kind: `sig` will be empty at publish; `id` is still the standard event hash. Not accepted by normal relays. Relays that allow this should authenticate you (e.g. NIP-42 AUTH) before writes.", + "media loading off": "media loading off", + profileEditorDuplicateSingleton: "profileEditorDuplicateSingleton", + profileEditorEditBannerUrl: "profileEditorEditBannerUrl", + profileEditorEditPictureUrl: "profileEditorEditPictureUrl", + profileEditorImageUrlHint: "profileEditorImageUrlHint", + profileEditorNostrBuildThumbHint: "profileEditorNostrBuildThumbHint", + profileEditorProfileNotLoaded: "profileEditorProfileNotLoaded", + profileEditorTagListHint: "profileEditorTagListHint", + "readOnlySession.hint": "readOnlySession.hint", + "readOnlySession.label": "readOnlySession.label", + "readOnlySession.labelShort": "readOnlySession.labelShort", + "video autoplay off": "video autoplay off", } } diff --git a/src/lib/language-display-meta.test.ts b/src/lib/language-display-meta.test.ts new file mode 100644 index 00000000..30bb0e5c --- /dev/null +++ b/src/lib/language-display-meta.test.ts @@ -0,0 +1,22 @@ +import { describe, expect, it } from 'vitest' +import { getLanguageDisplayParts, languageSelectSingleLine } from '@/lib/language-display-meta' + +describe('getLanguageDisplayParts', () => { + it('uses the static map for German', () => { + const p = getLanguageDisplayParts('de') + expect(p.codeLabel).toBe('de') + expect(p.englishName).toBe('German') + expect(p.nativeName).toBe('Deutsch') + }) + + it('uses regional map entries for LanguageTool-style tags', () => { + const p = getLanguageDisplayParts('de-DE') + expect(p.englishName).toBe('German (Germany)') + expect(p.nativeName).toBe('Deutsch (Deutschland)') + }) + + it('formats a single-line label', () => { + expect(languageSelectSingleLine('tr')).toContain('Turkish') + expect(languageSelectSingleLine('tr')).toContain('Türkçe') + }) +}) diff --git a/src/lib/language-display-meta.ts b/src/lib/language-display-meta.ts new file mode 100644 index 00000000..619f142b --- /dev/null +++ b/src/lib/language-display-meta.ts @@ -0,0 +1,285 @@ +/** + * Canonical ISO-639-style language labels (English + endonym) for selection UI. + * {@link getLanguageDisplayParts} falls back to `Intl.DisplayNames` when a code is missing here. + * + * JSX: {@link LanguageSelectOptionLines} in `language-select-option-lines.tsx` (this file stays `.ts` + * so extensionless imports resolve cleanly under Vite). + */ +import { normalizeTranslateLangCode } from '@/lib/translate-client' + +/** Lowercase keys: ISO 639-1 base, or BCP47 tag for regional overrides. */ +export const LANGUAGE_TRIPLE_BY_LOWER_KEY: Record = + Object.fromEntries( + ( + [ + ['en', 'English', 'English'], + ['de', 'German', 'Deutsch'], + ['fr', 'French', 'Français'], + ['es', 'Spanish', 'español'], + ['it', 'Italian', 'italiano'], + ['pt', 'Portuguese', 'português'], + ['pt-br', 'Portuguese (Brazil)', 'português (Brasil)'], + ['pt-pt', 'Portuguese (Portugal)', 'português (Portugal)'], + ['pl', 'Polish', 'polski'], + ['ru', 'Russian', 'русский'], + ['uk', 'Ukrainian', 'українська'], + ['nl', 'Dutch', 'Nederlands'], + ['sv', 'Swedish', 'svenska'], + ['da', 'Danish', 'dansk'], + ['no', 'Norwegian', 'norsk'], + ['nb', 'Norwegian Bokmål', 'norsk bokmål'], + ['nn', 'Norwegian Nynorsk', 'nynorsk'], + ['fi', 'Finnish', 'suomi'], + ['el', 'Greek', 'Ελληνικά'], + ['tr', 'Turkish', 'Türkçe'], + ['ar', 'Arabic', 'العربية'], + ['he', 'Hebrew', 'עברית'], + ['hi', 'Hindi', 'हिन्दी'], + ['ja', 'Japanese', '日本語'], + ['ko', 'Korean', '한국어'], + ['zh', 'Chinese', '中文'], + ['zh-cn', 'Chinese (Simplified)', '简体中文'], + ['zh-tw', 'Chinese (Traditional)', '繁體中文'], + ['zh-hans', 'Chinese (Simplified)', '简体中文'], + ['zh-hant', 'Chinese (Traditional)', '繁體中文'], + ['fa', 'Persian', 'فارسی'], + ['th', 'Thai', 'ไทย'], + ['vi', 'Vietnamese', 'Tiếng Việt'], + ['ro', 'Romanian', 'română'], + ['cs', 'Czech', 'čeština'], + ['sk', 'Slovak', 'slovenčina'], + ['hu', 'Hungarian', 'magyar'], + ['sl', 'Slovenian', 'slovenščina'], + ['hr', 'Croatian', 'hrvatski'], + ['sr', 'Serbian', 'српски'], + ['bg', 'Bulgarian', 'български'], + ['lt', 'Lithuanian', 'lietuvių'], + ['lv', 'Latvian', 'latviešu'], + ['et', 'Estonian', 'eesti'], + ['ca', 'Catalan', 'català'], + ['gl', 'Galician', 'galego'], + ['tl', 'Tagalog', 'Tagalog'], + ['id', 'Indonesian', 'Bahasa Indonesia'], + ['ms', 'Malay', 'Bahasa Melayu'], + ['ta', 'Tamil', 'தமிழ்'], + ['te', 'Telugu', 'తెలుగు'], + ['mr', 'Marathi', 'मराठी'], + ['bn', 'Bengali', 'বাংলা'], + ['gu', 'Gujarati', 'ગુજરાતી'], + ['kn', 'Kannada', 'ಕನ್ನಡ'], + ['ml', 'Malayalam', 'മലയാളം'], + ['pa', 'Punjabi', 'ਪੰਜਾਬੀ'], + ['or', 'Odia', 'ଓଡ଼ିଆ'], + ['as', 'Assamese', 'অসমীয়া'], + ['ne', 'Nepali', 'नेपाली'], + ['si', 'Sinhala', 'සිංහල'], + ['lo', 'Lao', 'ລາວ'], + ['km', 'Khmer', 'ខ្មែរ'], + ['my', 'Burmese', 'မြန်မာ'], + ['ka', 'Georgian', 'ქართული'], + ['hy', 'Armenian', 'հայերեն'], + ['az', 'Azerbaijani', 'azərbaycan'], + ['kk', 'Kazakh', 'қазақ тілі'], + ['mn', 'Mongolian', 'монгол'], + ['af', 'Afrikaans', 'Afrikaans'], + ['sw', 'Swahili', 'Kiswahili'], + ['zu', 'Zulu', 'isiZulu'], + ['xh', 'Xhosa', 'isiXhosa'], + ['yo', 'Yoruba', 'Yorùbá'], + ['ig', 'Igbo', 'Igbo'], + ['ha', 'Hausa', 'Hausa'], + ['so', 'Somali', 'Soomaali'], + ['am', 'Amharic', 'አማርኛ'], + ['ti', 'Tigrinya', 'ትግርኛ'], + ['om', 'Oromo', 'Afaan Oromoo'], + ['sn', 'Shona', 'chiShona'], + ['rw', 'Kinyarwanda', 'Kinyarwanda'], + ['mg', 'Malagasy', 'Malagasy'], + ['ny', 'Chichewa', 'Chichewa'], + ['eo', 'Esperanto', 'Esperanto'], + ['lb', 'Luxembourgish', 'Lëtzebuergesch'], + ['br', 'Breton', 'brezhoneg'], + ['cy', 'Welsh', 'Cymraeg'], + ['ga', 'Irish', 'Gaeilge'], + ['gd', 'Scottish Gaelic', 'Gàidhlig'], + ['mt', 'Maltese', 'Malti'], + ['is', 'Icelandic', 'íslenska'], + ['fo', 'Faroese', 'føroyskt'], + ['tk', 'Turkmen', 'Türkmençe'], + ['uz', 'Uzbek', 'oʻzbekcha'], + ['ky', 'Kyrgyz', 'кыргызча'], + ['tg', 'Tajik', 'тоҷикӣ'], + ['ps', 'Pashto', 'پښتو'], + ['sd', 'Sindhi', 'سنڌي'], + ['ur', 'Urdu', 'اردو'], + ['ckb', 'Central Kurdish', 'کوردی'], + ['ku', 'Kurdish', 'Kurdî'], + ['yi', 'Yiddish', 'ייִדיש'], + ['jv', 'Javanese', 'Basa Jawa'], + ['su', 'Sundanese', 'Basa Sunda'], + ['en-us', 'English (United States)', 'English (United States)'], + ['en-gb', 'English (United Kingdom)', 'English (United Kingdom)'], + ['de-de', 'German (Germany)', 'Deutsch (Deutschland)'], + ['de-at', 'German (Austria)', 'Deutsch (Österreich)'], + ['de-ch', 'German (Switzerland)', 'Deutsch (Schweiz)'], + ['fr-fr', 'French (France)', 'français (France)'], + ['fr-ca', 'French (Canada)', 'français (Canada)'], + ['es-es', 'Spanish (Spain)', 'español (España)'], + ['es-mx', 'Spanish (Mexico)', 'español (México)'], + ['it-it', 'Italian (Italy)', 'italiano (Italia)'], + ['ru-ru', 'Russian (Russia)', 'русский (Россия)'], + ['pl-pl', 'Polish (Poland)', 'polski (Polska)'], + ['ja-jp', 'Japanese (Japan)', '日本語 (日本)'], + ['ko-kr', 'Korean (South Korea)', '한국어 (대한민국)'], + ['cs-cz', 'Czech (Czechia)', 'čeština (Česko)'], + ['sk-sk', 'Slovak (Slovakia)', 'slovenčina (Slovensko)'], + ['uk-ua', 'Ukrainian (Ukraine)', 'українська (Україна)'], + ['da-dk', 'Danish (Denmark)', 'dansk (Danmark)'], + ['fi-fi', 'Finnish (Finland)', 'suomi (Suomi)'], + ['el-gr', 'Greek (Greece)', 'Ελληνικά (Ελλάδα)'], + ['th-th', 'Thai (Thailand)', 'ไทย (ประเทศไทย)'], + ['vi-vn', 'Vietnamese (Vietnam)', 'Tiếng Việt (Việt Nam)'], + ['ro-ro', 'Romanian (Romania)', 'română (România)'], + ['sl-si', 'Slovenian (Slovenia)', 'slovenščina (Slovenija)'], + ['hr-hr', 'Croatian (Croatia)', 'hrvatski (Hrvatska)'], + ['bg-bg', 'Bulgarian (Bulgaria)', 'български (България)'], + ['lt-lt', 'Lithuanian (Lithuania)', 'lietuvių (Lietuva)'], + ['lv-lv', 'Latvian (Latvia)', 'latviešu (Latvija)'], + ['et-ee', 'Estonian (Estonia)', 'eesti (Eesti)'], + ['ca-es', 'Catalan (Spain)', 'català (Espanya)'], + ['gl-es', 'Galician (Spain)', 'galego (España)'], + ['tl-ph', 'Tagalog (Philippines)', 'Tagalog (Pilipinas)'], + ['ms-my', 'Malay (Malaysia)', 'Bahasa Melayu (Malaysia)'], + ['ta-in', 'Tamil (India)', 'தமிழ் (இந்தியா)'], + ['te-in', 'Telugu (India)', 'తెలుగు (భారతదేశం)'], + ['mr-in', 'Marathi (India)', 'मराठी (भारत)'], + ['bn-bd', 'Bengali (Bangladesh)', 'বাংলা (বাংলাদেশ)'], + ['gu-in', 'Gujarati (India)', 'ગુજરાતી (ભારત)'], + ['kn-in', 'Kannada (India)', 'ಕನ್ನಡ (ಭಾರತ)'], + ['ml-in', 'Malayalam (India)', 'മലയാളം (ഇന്ത്യ)'], + ['pa-in', 'Punjabi (India)', 'ਪੰਜਾਬੀ (ਭਾਰਤ)'], + ['or-in', 'Odia (India)', 'ଓଡ଼ିଆ (ଭାରତ)'], + ['as-in', 'Assamese (India)', 'অসমীয়া (ভাৰত)'], + ['ne-np', 'Nepali (Nepal)', 'नेपाली (नेपाल)'], + ['si-lk', 'Sinhala (Sri Lanka)', 'සිංහල (ශ්‍රී ලංකාව)'], + ['lo-la', 'Lao (Laos)', 'ລາວ (ລາວ)'], + ['km-kh', 'Khmer (Cambodia)', 'ខ្មែរ (កម្ពុជា)'], + ['my-mm', 'Burmese (Myanmar)', 'မြန်မာ (မြန်မာ)'], + ['ka-ge', 'Georgian (Georgia)', 'ქართული (საქართველო)'], + ['hy-am', 'Armenian (Armenia)', 'հայերեն (Հայաստան)'], + ['kk-kz', 'Kazakh (Kazakhstan)', 'қазақ тілі (Қазақстан)'], + ['mn-mn', 'Mongolian (Mongolia)', 'монгол (Монгол)'], + ['so-so', 'Somali (Somalia)', 'Soomaali (Soomaaliya)'], + ['om-et', 'Oromo (Ethiopia)', 'Afaan Oromoo (Itoophiyaa)'], + ['sn-zw', 'Shona (Zimbabwe)', 'chiShona (Zimbabwe)'], + ['mg-mg', 'Malagasy (Madagascar)', 'Malagasy (Madagasikara)'], + ['ny-mw', 'Chichewa (Malawi)', 'Chichewa (Malaŵi)'], + ['br-fr', 'Breton (France)', 'brezhoneg (Frañs)'], + ['cy-gb', 'Welsh (United Kingdom)', 'Cymraeg (Y Deyrnas Unedig)'], + ['ga-ie', 'Irish (Ireland)', 'Gaeilge (Éire)'], + ['gd-gb', 'Scottish Gaelic (United Kingdom)', 'Gàidhlig (An Rìoghachd Aonaichte)'], + ['mt-mt', 'Maltese (Malta)', 'Malti (Malta)'], + ['is-is', 'Icelandic (Iceland)', 'íslenska (Ísland)'], + ['fo-fo', 'Faroese (Faroe Islands)', 'føroyskt (Føroyar)'], + ['tk-tm', 'Turkmen (Turkmenistan)', 'Türkmençe (Türkmenistan)'], + ['uz-uz', 'Uzbek (Uzbekistan)', 'oʻzbekcha (Oʻzbekiston)'], + ['ky-kg', 'Kyrgyz (Kyrgyzstan)', 'кыргызча (Кыргызстан)'], + ['tg-tj', 'Tajik (Tajikistan)', 'тоҷикӣ (Тоҷикистон)'], + ['ps-af', 'Pashto (Afghanistan)', 'پښتو (افغانستان)'], + ['sd-in', 'Sindhi (India)', 'سنڌي (انڊيا)'], + ['ur-pk', 'Urdu (Pakistan)', 'اردو (پاکستان)'], + ['ckb-iq', 'Central Kurdish (Iraq)', 'کوردی (عێراق)'], + ['kmr-latn', 'Northern Kurdish (Latin)', 'Kurdî (Latînî)'], + ['yi-001', 'Yiddish', 'ייִדיש'], + ['jv-latn', 'Javanese (Latin)', 'Basa Jawa (Latin)'], + ['su-latn', 'Sundanese (Latin)', 'Basa Sunda (Latin)'], + ['ar-sa', 'Arabic (Saudi Arabia)', 'العربية (المملكة العربية السعودية)'], + ['he-il', 'Hebrew (Israel)', 'עברית (ישראל)'], + ['tr-tr', 'Turkish (Türkiye)', 'Türkçe (Türkiye)'], + ['nl-nl', 'Dutch (Netherlands)', 'Nederlands (Nederland)'], + ['sv-se', 'Swedish (Sweden)', 'svenska (Sverige)'], + ['nb-no', 'Norwegian Bokmål (Norway)', 'norsk bokmål (Norge)'], + ['eu', 'Basque', 'euskara'], + ['sq', 'Albanian', 'shqip'], + ['mk', 'Macedonian', 'македонски'], + ['bs', 'Bosnian', 'bosanski'], + ['me', 'Montenegrin', 'crnogorski'], + ['be', 'Belarusian', 'беларуская'], + ['la', 'Latin', 'Latina'], + ['grc', 'Ancient Greek', 'Ἑλληνικά'], + ['haw', 'Hawaiian', 'ʻŌlelo Hawaiʻi'], + ['mi', 'Māori', 'te reo Māori'], + ['sa', 'Sanskrit', 'संस्कृतम्'], + ['bo', 'Tibetan', 'བོད་སྐད་'], + ['ug', 'Uyghur', 'ئۇيغۇرچە'], + ['dz', 'Dzongkha', 'རྫོང་ཁ'], + ['nn-no', 'Norwegian Nynorsk (Norway)', 'nynorsk (Noreg)'] + ] as [string, string, string][] + ).map(([k, e, n]) => [k, { english: e, native: n }] as const) + ) as Record + +function intlEnglish(tag: string): string { + try { + return new Intl.DisplayNames('en', { type: 'language' }).of(tag.replace(/_/gu, '-')) ?? tag + } catch { + return tag + } +} + +function intlNative(tag: string): string { + const bcp = tag.replace(/_/gu, '-') + try { + const v = new Intl.DisplayNames([bcp], { type: 'language' }).of(bcp) + if (v) return v + const loc = bcp.split('-')[0] ?? bcp + return new Intl.DisplayNames([loc], { type: 'language' }).of(loc) ?? intlEnglish(tag) + } catch { + return intlEnglish(tag) + } +} + +function mapLookupKeys(normalizedLower: string): string[] { + const keys: string[] = [normalizedLower] + const base = normalizedLower.split(/-/u)[0] ?? normalizedLower + if (base !== normalizedLower) keys.push(base) + return keys +} + +export type LanguageDisplayParts = { + /** ISO / BCP47 / service tag shown in UI (normalized Libre style or LT tag). */ + codeLabel: string + englishName: string + nativeName: string +} + +/** + * @param tag LibreTranslate `code`, LanguageTool tag (e.g. `de-DE`), or UI locale (`en`). + */ +export function getLanguageDisplayParts(tag: string): LanguageDisplayParts { + const raw = tag.trim() + if (raw.toLowerCase() === 'auto') { + return { codeLabel: 'auto', englishName: 'Detect language', nativeName: 'Detect language' } + } + const normalized = normalizeTranslateLangCode(raw) + const lower = normalized.toLowerCase().replace(/_/gu, '-') + const codeLabel = lower + + for (const k of mapLookupKeys(lower)) { + const hit = LANGUAGE_TRIPLE_BY_LOWER_KEY[k] + if (hit) { + return { codeLabel, englishName: hit.english, nativeName: hit.native } + } + } + + return { + codeLabel, + englishName: intlEnglish(lower), + nativeName: intlNative(lower) + } +} + +/** One line: `de — German — Deutsch` */ +export function languageSelectSingleLine(tag: string): string { + const p = getLanguageDisplayParts(tag) + return `${p.codeLabel} — ${p.englishName} — ${p.nativeName}` +} diff --git a/src/lib/language-select-option-lines.tsx b/src/lib/language-select-option-lines.tsx new file mode 100644 index 00000000..1a040fb9 --- /dev/null +++ b/src/lib/language-select-option-lines.tsx @@ -0,0 +1,33 @@ +import type { ReactElement } from 'react' +import { getLanguageDisplayParts } from '@/lib/language-display-meta' +import { cn } from '@/lib/utils' + +type LinesProps = { + tag: string + /** Tighter layout for nested menus */ + compact?: boolean + className?: string +} + +/** Three-line block: code (mono) · English · native — for `SelectItem` / menus. */ +export function LanguageSelectOptionLines({ tag, compact, className }: LinesProps): ReactElement { + const p = getLanguageDisplayParts(tag) + return ( +
+ + {p.codeLabel} + + + {p.englishName} + + + {p.nativeName} + +
+ ) +} diff --git a/src/lib/languagetool-language-order.test.ts b/src/lib/languagetool-language-order.test.ts index 8606c87e..a4fb9389 100644 --- a/src/lib/languagetool-language-order.test.ts +++ b/src/lib/languagetool-language-order.test.ts @@ -1,9 +1,10 @@ import { describe, expect, it } from 'vitest' import { - buildLanguageToolPreferenceList, pickLanguageToolCodeForTranslateTarget, + translateCodeHasLanguageToolPairing, translateTargetToLanguageToolCode } from '@/lib/languagetool-language-order' +import { buildLabLanguageToolPreferenceList } from '@/lib/trinity-languages' describe('translateTargetToLanguageToolCode', () => { it('maps ISO codes to LT variants', () => { @@ -13,19 +14,37 @@ describe('translateTargetToLanguageToolCode', () => { }) }) +describe('translateCodeHasLanguageToolPairing', () => { + it('is true for mapped translate codes', () => { + expect(translateCodeHasLanguageToolPairing('tr')).toBe(true) + expect(translateCodeHasLanguageToolPairing('ja')).toBe(true) + }) + it('is false for unknown codes', () => { + expect(translateCodeHasLanguageToolPairing('zz')).toBe(false) + }) +}) + describe('pickLanguageToolCodeForTranslateTarget', () => { - it('returns mapped code when it appears in ltList', () => { - const lt = buildLanguageToolPreferenceList('en') - expect(pickLanguageToolCodeForTranslateTarget('ja', lt)).toBe('ja-JP') + it('returns mapped code when it appears in lab LT list', () => { + const lt = buildLabLanguageToolPreferenceList('en', [ + { code: 'de', name: 'German' }, + { code: 'fr', name: 'French' } + ]) + expect(pickLanguageToolCodeForTranslateTarget('de', lt)).toBe('de-DE') }) }) -describe('buildLanguageToolPreferenceList', () => { - it('puts client language first then en-US then de-DE', () => { - const list = buildLanguageToolPreferenceList('de') +describe('buildLabLanguageToolPreferenceList', () => { + it('puts client language first then en-US then LT codes from translate options', () => { + const list = buildLabLanguageToolPreferenceList('de', [ + { code: 'fr', name: 'French' }, + { code: 'es', name: 'Spanish' } + ]) expect(list[0]).toBe('de-DE') expect(list[1]).toBe('en-US') expect(list.includes('de-DE')).toBe(true) expect(list.indexOf('en-US')).toBe(1) + expect(list.includes('fr-FR')).toBe(true) + expect(list.includes('es')).toBe(true) }) }) diff --git a/src/lib/languagetool-language-order.ts b/src/lib/languagetool-language-order.ts index c4c74f17..a7df6193 100644 --- a/src/lib/languagetool-language-order.ts +++ b/src/lib/languagetool-language-order.ts @@ -128,6 +128,14 @@ export function translateTargetToLanguageToolCode(translateCode: string): string return 'en-US' } +/** True when this LibreTranslate-style code has an explicit `LT_ALIASES` mapping (not unknown→`en-US`). */ +export function translateCodeHasLanguageToolPairing(translateCode: string): boolean { + const n = normalizeTranslateLangCode(translateCode).toLowerCase().replace(/_/gu, '-') + const base = n.split(/-/u)[0] ?? n + return Object.prototype.hasOwnProperty.call(LT_ALIASES, n) || + Object.prototype.hasOwnProperty.call(LT_ALIASES, base) +} + /** Prefer a code present in `ltList` (lab grammar dropdown) when possible. */ export function pickLanguageToolCodeForTranslateTarget( translateCode: string, diff --git a/src/lib/note-translation-display.ts b/src/lib/note-translation-display.ts index 55a8e025..a1f17ae4 100644 --- a/src/lib/note-translation-display.ts +++ b/src/lib/note-translation-display.ts @@ -1,9 +1,11 @@ -import type { TLanguage } from '@/i18n' import type { Event } from 'nostr-tools' import { useSyncExternalStore } from 'react' export type NoteTranslationEntry = { - lang: TLanguage + /** LibreTranslate `target` code (from `/languages`). */ + lang: string + /** Human label from the translate service (read-aloud fallback when not an app UI locale). */ + langLabel?: string content: string /** When present, replaces or inserts a `title` tag (articles, discussions, web bookmarks). */ title?: string diff --git a/src/lib/piper-voice-for-app-language.ts b/src/lib/piper-voice-for-app-language.ts deleted file mode 100644 index 53af94e1..00000000 --- a/src/lib/piper-voice-for-app-language.ts +++ /dev/null @@ -1,32 +0,0 @@ -import type { TLanguage } from '@/i18n' - -/** - * Piper voice ids aligned with the default Wyoming / `piper-tts-proxy` stock models - * (see `services/piper-tts-proxy/server.ts` `getVoiceForLanguage`). - * App locales without a dedicated model use {@link PIPER_FALLBACK_ENGLISH_VOICE}. - */ -const PIPER_VOICE_BY_APP_LANGUAGE: Partial> = { - en: 'en_US-lessac-medium', - de: 'de_DE-thorsten-medium', - fr: 'fr_FR-siwis-medium', - es: 'es_ES-davefx-medium', - ru: 'ru_RU-ruslan-medium', - zh: 'zh_CN-huayan-medium', - pl: 'pl_PL-darkman-medium' -} - -export const PIPER_FALLBACK_ENGLISH_VOICE = 'en_US-lessac-medium' - -export function getPiperVoiceForChosenLanguage(lang: TLanguage): { - voice: string - usedEnglishVoiceFallback: boolean -} { - const v = PIPER_VOICE_BY_APP_LANGUAGE[lang] - if (v) { - return { voice: v, usedEnglishVoiceFallback: false } - } - return { - voice: PIPER_FALLBACK_ENGLISH_VOICE, - usedEnglishVoiceFallback: lang !== 'en' - } -} diff --git a/src/lib/read-aloud.ts b/src/lib/read-aloud.ts index f771c0df..63f41d64 100644 --- a/src/lib/read-aloud.ts +++ b/src/lib/read-aloud.ts @@ -1,7 +1,7 @@ import { ExtendedKind, READ_ALOUD_TTS_URL } from '@/constants' import i18n, { LocalizedLanguageNames, normalizeToSupportedAppLanguage, type TLanguage } from '@/i18n' import { getNoteTranslation } from '@/lib/note-translation-display' -import { getPiperVoiceForChosenLanguage } from '@/lib/piper-voice-for-app-language' +import { getPiperVoiceForChosenLanguage, isTrinityLanguageCode } from '@/lib/trinity-languages' import { takeReadAloudTranslationForEvent } from '@/lib/read-aloud-translation-override' import { buildPiperTtsCacheKey, @@ -705,12 +705,15 @@ export async function speakNoteReadAloud(event: Event): Promise const title = readAloudTitleFromEvent(event) - const chosenReadAloudLang: TLanguage = + const chosenReadAloudLang: string = persistedTranslation?.lang ?? normalizeToSupportedAppLanguage(i18n.language || 'en') const { voice: piperVoice, usedEnglishVoiceFallback } = getPiperVoiceForChosenLanguage(chosenReadAloudLang) const piperVoiceRequestedLanguageName = usedEnglishVoiceFallback - ? LocalizedLanguageNames[chosenReadAloudLang] + ? (persistedTranslation?.langLabel ?? + (isTrinityLanguageCode(chosenReadAloudLang) + ? LocalizedLanguageNames[chosenReadAloudLang] + : chosenReadAloudLang)) : '' if (READ_ALOUD_TTS_URL) { diff --git a/src/lib/translate-note-for-menu.ts b/src/lib/translate-note-for-menu.ts index 7b02851b..7926838f 100644 --- a/src/lib/translate-note-for-menu.ts +++ b/src/lib/translate-note-for-menu.ts @@ -5,17 +5,11 @@ import { type AdvancedLabMarkupMode } from '@/lib/advanced-lab-markup-protect' import { getLongFormArticleMetadataFromEvent } from '@/lib/event-metadata' -import type { TLanguage } from '@/i18n' +import { normalizeTranslateLangCode } from '@/lib/translate-client' import type { Event } from 'nostr-tools' const CHUNK_MAX = 2500 -/** Map app UI locale codes to LibreTranslate `target` codes where they differ. */ -export function translateTargetFromAppLanguage(code: TLanguage): string { - if (code === 'pt-BR' || code === 'pt-PT') return 'pt' - return code -} - function looksLikeStringifiedJsonObject(content: string): boolean { const trimmed = content.trim() if ( @@ -74,11 +68,14 @@ async function translateLongProtectedBody( return blocks.join('\n') } +/** + * @param targetCode LibreTranslate target as returned by `/languages` (e.g. `tr`, `zh-CN`). + */ export async function translateNoteForDisplay( event: Event, - appLang: TLanguage + targetCode: string ): Promise<{ content: string; title?: string }> { - const target = translateTargetFromAppLanguage(appLang) + const target = normalizeTranslateLangCode(targetCode) const markupMode: AdvancedLabMarkupMode = isAsciidocMarkupKind(event.kind) ? 'asciidoc' : 'markdown' const meta = getLongFormArticleMetadataFromEvent(event) const origTitle = meta.title?.trim() diff --git a/src/lib/trinity-languages.test.ts b/src/lib/trinity-languages.test.ts new file mode 100644 index 00000000..abdf4ac9 --- /dev/null +++ b/src/lib/trinity-languages.test.ts @@ -0,0 +1,21 @@ +import { describe, expect, it } from 'vitest' +import { filterTranslateLanguagesWithLanguageToolPairing } from '@/lib/trinity-languages' + +describe('filterTranslateLanguagesWithLanguageToolPairing', () => { + it('dedupes by LanguageTool grammar code and prefers shorter API codes', () => { + const list = filterTranslateLanguagesWithLanguageToolPairing([ + { code: 'zh-CN', name: 'Chinese (Simplified)' }, + { code: 'zh', name: 'Chinese' }, + { code: 'de', name: 'German' } + ]) + expect(list.map((l) => l.code).sort()).toEqual(['de', 'zh']) + }) + + it('drops codes with no LT pairing', () => { + const list = filterTranslateLanguagesWithLanguageToolPairing([ + { code: 'en', name: 'English' }, + { code: 'zz-fake', name: 'Fake' } + ]) + expect(list.map((l) => l.code)).toEqual(['en']) + }) +}) diff --git a/src/lib/trinity-languages.ts b/src/lib/trinity-languages.ts new file mode 100644 index 00000000..8d227535 --- /dev/null +++ b/src/lib/trinity-languages.ts @@ -0,0 +1,154 @@ +/** + * Piper “native” voices: codes with an entry in `TRINITY_PIPER_VOICE` match `getVoiceForLanguage` in + * `services/piper-tts-proxy/server.ts`. Read-aloud uses {@link getPiperVoiceForChosenLanguage}: native + * Piper for those codes, **English Piper** for every other translate target. + * + * **Translate UIs** (note menu, Advanced lab) list languages from LibreTranslate `/languages` that also + * have an explicit LanguageTool mapping (`translateCodeHasLanguageToolPairing` in + * `languagetool-language-order.ts`). That avoids offering targets LT cannot pair with, and avoids + * showing “Turkish” when your LibreTranslate image has no `tr` Argos model (the API would error). + */ +import type { TranslateLanguageOption } from '@/lib/translate-client' +import { normalizeTranslateLangCode } from '@/lib/translate-client' +import { + translateCodeHasLanguageToolPairing, + translateTargetToLanguageToolCode +} from '@/lib/languagetool-language-order' + +export const TRINITY_LANGUAGE_CODES = [ + 'en', + 'de', + 'fr', + 'es', + 'ru', + 'zh', + 'pl', + 'nl', + 'cs', + 'tr' +] as const + +export type TrinityLanguageCode = (typeof TRINITY_LANGUAGE_CODES)[number] + +const TRINITY_SET = new Set(TRINITY_LANGUAGE_CODES) + +/** Piper voice ids — same as `services/piper-tts-proxy/server.ts` `voiceMap`. */ +export const TRINITY_PIPER_VOICE: Record = { + en: 'en_US-lessac-medium', + de: 'de_DE-thorsten-medium', + fr: 'fr_FR-siwis-medium', + es: 'es_ES-davefx-medium', + ru: 'ru_RU-ruslan-medium', + zh: 'zh_CN-huayan-medium', + pl: 'pl_PL-darkman-medium', + nl: 'nl_NL-mls-medium', + cs: 'cs_CZ-jirka-medium', + tr: 'tr_TR-dfki-medium' +} + +export const TRINITY_FALLBACK_ENGLISH_VOICE = TRINITY_PIPER_VOICE.en + +/** Native autonyms / labels for **app UI** locales (General settings); not the full translate menu. */ +export const TRINITY_LANGUAGE_DISPLAY_NAMES: { [K in TrinityLanguageCode]: string } = { + en: 'English', + de: 'Deutsch', + fr: 'Français', + es: 'Español', + ru: 'Русский', + zh: '简体中文', + pl: 'Polski', + nl: 'Nederlands', + cs: 'Čeština', + tr: 'Türkçe' +} + +export function isTrinityLanguageCode(s: string): s is TrinityLanguageCode { + return TRINITY_SET.has(s as TrinityLanguageCode) +} + +/** Map browser / i18next tag to a trinity app locale (defaults to `en`). */ +export function normalizeBrowserLangToTrinityCode(lng: string): TrinityLanguageCode { + const raw = lng.trim().toLowerCase() + const first = raw.split(/[-_]/u)[0] ?? 'en' + if (isTrinityLanguageCode(first)) return first + if (isTrinityLanguageCode(raw)) return raw as TrinityLanguageCode + return 'en' +} + +/** LibreTranslate `target` / `source` code (after normalization). */ +export function trinityTranslateTarget(code: string): string { + return normalizeTranslateLangCode(code) +} + +/** LanguageTool `language` parameter for grammar. */ +export function trinityLanguageToolCode(code: string): string { + return translateTargetToLanguageToolCode(code) +} + +/** + * LibreTranslate `/languages` entries that have an explicit LT mapping, deduped by LT grammar code + * (one row per LanguageTool language; prefers shorter API codes like `zh` over `zh-CN`). + */ +export function filterTranslateLanguagesWithLanguageToolPairing( + list: TranslateLanguageOption[] +): TranslateLanguageOption[] { + const withPairing = list.filter((l) => translateCodeHasLanguageToolPairing(l.code)) + const byLt = new Map() + for (const l of withPairing) { + const lt = translateTargetToLanguageToolCode(l.code) + const prev = byLt.get(lt) + if (!prev || l.code.trim().length < prev.code.trim().length) { + byLt.set(lt, l) + } + } + return Array.from(byLt.values()).sort((a, b) => + a.name.localeCompare(b.name, undefined, { sensitivity: 'base' }) + ) +} + +export function getPiperVoiceForTrinityLanguage(lang: TrinityLanguageCode): { + voice: string + usedEnglishVoiceFallback: boolean +} { + return { + voice: TRINITY_PIPER_VOICE[lang], + usedEnglishVoiceFallback: false + } +} + +/** Native Piper when we ship a voice; otherwise English Piper (read-aloud / lab). */ +export function getPiperVoiceForChosenLanguage(lang: string): { + voice: string + usedEnglishVoiceFallback: boolean +} { + if (isTrinityLanguageCode(lang)) { + return getPiperVoiceForTrinityLanguage(lang) + } + return { + voice: TRINITY_FALLBACK_ENGLISH_VOICE, + usedEnglishVoiceFallback: lang !== 'en' + } +} + +/** + * LanguageTool `language` dropdown for the lab: UI language’s LT code, `en-US`, then one entry per + * translate target (from the filtered LibreTranslate list). + */ +export function buildLabLanguageToolPreferenceList( + i18nLanguage: string | undefined, + translateLangs: readonly TranslateLanguageOption[] +): string[] { + const ordered: string[] = [] + const push = (c: string) => { + if (!ordered.includes(c)) ordered.push(c) + } + const raw = (i18nLanguage ?? 'en').trim() || 'en' + push(translateTargetToLanguageToolCode(raw)) + push('en-US') + const extras = translateLangs.map((l) => translateTargetToLanguageToolCode(l.code)) + extras.sort((a, b) => a.localeCompare(b)) + for (const c of extras) { + push(c) + } + return ordered +} diff --git a/src/pages/secondary/GeneralSettingsPage/index.tsx b/src/pages/secondary/GeneralSettingsPage/index.tsx index cd3a0db2..65d73457 100644 --- a/src/pages/secondary/GeneralSettingsPage/index.tsx +++ b/src/pages/secondary/GeneralSettingsPage/index.tsx @@ -8,7 +8,8 @@ import { NOTIFICATION_LIST_STYLE, RANDOM_PUBLISH_RELAY_COUNT } from '@/constants' -import { changeAppLanguage, LocalizedLanguageNames, TLanguage } from '@/i18n' +import { changeAppLanguage, SUPPORTED_APP_LANGUAGE_CODES, TLanguage } from '@/i18n' +import { LanguageSelectOptionLines } from '@/lib/language-select-option-lines' import SecondaryPageLayout from '@/layouts/SecondaryPageLayout' import { usePrimaryNoteView } from '@/contexts/primary-note-view-context' import { cn, isSupportCheckConnectionType } from '@/lib/utils' @@ -78,13 +79,13 @@ const GeneralSettingsPage = forwardRef(({ index, hideTitlebar = false }: { index {t('Languages')}