From 35b6261e12f87c42d41a248df9ca60369a400a88 Mon Sep 17 00:00:00 2001 From: Kieran Date: Tue, 12 Sep 2023 21:58:37 +0000 Subject: [PATCH] chore: Update translations --- packages/app/public/bench.html | 2 +- packages/app/public/index.html | 2 +- packages/app/src/Cache/GiftWrapCache.ts | 2 +- packages/app/src/Element/CashuNuts.tsx | 2 +- packages/app/src/Element/DM.tsx | 6 +++- packages/app/src/Element/FollowButton.tsx | 2 +- packages/app/src/Element/Nip5Service.tsx | 4 +-- packages/app/src/Element/Note.tsx | 6 ++-- packages/app/src/Element/NoteCreator.css | 3 +- packages/app/src/Element/NoteCreator.tsx | 10 +++--- packages/app/src/Element/NoteFooter.tsx | 2 +- packages/app/src/Element/Poll.tsx | 32 ++++++++++++------- packages/app/src/Element/PubkeyList.tsx | 2 +- packages/app/src/Element/ReBroadcaster.tsx | 6 ++-- packages/app/src/Element/Reactions.tsx | 2 +- packages/app/src/Element/Relay.tsx | 4 +-- packages/app/src/Element/SendSats.tsx | 2 +- packages/app/src/Element/Thread.tsx | 8 ++--- packages/app/src/Element/Timeline.tsx | 4 +-- packages/app/src/Element/TimelineFollows.tsx | 8 ++--- packages/app/src/Element/ZapstrEmbed.tsx | 2 +- packages/app/src/Feed/BadgesFeed.ts | 6 ++-- packages/app/src/Feed/FeedReactions.ts | 2 +- packages/app/src/Feed/FollowersFeed.ts | 2 +- packages/app/src/Feed/LoginFeed.ts | 6 ++-- packages/app/src/Feed/ThreadFeed.ts | 8 ++--- packages/app/src/Feed/TimelineFeed.ts | 4 +-- packages/app/src/Hooks/useImgProxy.ts | 2 +- .../app/src/Hooks/useInteractionCache.tsx | 2 +- packages/app/src/Hooks/useLogin.tsx | 2 +- packages/app/src/Login/MultiAccountStore.ts | 2 +- packages/app/src/Nip05/ServiceProvider.ts | 2 +- .../app/src/Nip05/SnortServiceProvider.ts | 2 +- packages/app/src/Pages/ErrorPage.tsx | 2 +- packages/app/src/Pages/Layout.tsx | 4 +-- packages/app/src/Pages/LoginPage.tsx | 8 ++--- packages/app/src/Pages/Notifications.tsx | 6 ++-- packages/app/src/Pages/ProfilePage.tsx | 4 +-- packages/app/src/Pages/ZapPool.tsx | 2 +- packages/app/src/Pages/settings/Accounts.tsx | 2 +- .../src/Pages/settings/handle/LNAddress.tsx | 2 +- .../app/src/Pages/settings/wallet/Cashu.tsx | 2 +- .../app/src/Pages/settings/wallet/LNC.tsx | 2 +- .../app/src/Pages/settings/wallet/LNDHub.tsx | 2 +- .../app/src/Pages/settings/wallet/NWC.tsx | 2 +- packages/app/src/SnortApi.ts | 4 +-- packages/app/src/SnortUtils/index.ts | 8 ++--- packages/app/src/Toaster.tsx | 2 +- packages/app/src/Upload/VoidCat.ts | 2 +- packages/app/src/Wallet/Cashu.ts | 2 +- packages/app/src/Wallet/LNCWallet.ts | 2 +- packages/app/src/Wallet/NostrWalletConnect.ts | 2 +- packages/app/src/Wallet/WebLN.ts | 2 +- packages/app/src/Wallet/index.ts | 2 +- packages/app/src/ZapPoolController.ts | 2 +- packages/app/src/benchmarks.ts | 4 +-- packages/app/src/chat/index.ts | 14 ++++---- packages/app/src/chat/nip24.ts | 6 ++-- packages/app/src/chat/nip29.ts | 4 +-- packages/app/src/chat/nip4.ts | 17 ++++++---- packages/app/src/index.tsx | 2 +- packages/app/src/translations/af_ZA.json | 3 ++ packages/app/src/translations/ar_SA.json | 3 ++ packages/app/src/translations/az_AZ.json | 3 ++ packages/app/src/translations/ca_ES.json | 3 ++ packages/app/src/translations/cs_CZ.json | 3 ++ packages/app/src/translations/da_DK.json | 3 ++ packages/app/src/translations/de_DE.json | 13 +++++--- packages/app/src/translations/el_GR.json | 3 ++ packages/app/src/translations/en.json | 2 +- packages/app/src/translations/es_ES.json | 3 ++ packages/app/src/translations/fa_IR.json | 3 ++ packages/app/src/translations/fi_FI.json | 3 ++ packages/app/src/translations/fr_FR.json | 3 ++ packages/app/src/translations/he_IL.json | 3 ++ packages/app/src/translations/hr_HR.json | 3 ++ packages/app/src/translations/hu_HU.json | 3 ++ packages/app/src/translations/id_ID.json | 3 ++ packages/app/src/translations/it_IT.json | 3 ++ packages/app/src/translations/ja_JP.json | 3 ++ packages/app/src/translations/ko_KR.json | 3 ++ packages/app/src/translations/nl_NL.json | 3 ++ packages/app/src/translations/no_NO.json | 3 ++ packages/app/src/translations/pa_IN.json | 3 ++ packages/app/src/translations/pl_PL.json | 3 ++ packages/app/src/translations/pt_BR.json | 3 ++ packages/app/src/translations/pt_PT.json | 3 ++ packages/app/src/translations/ro_RO.json | 3 ++ packages/app/src/translations/ru_RU.json | 3 ++ packages/app/src/translations/sr_SP.json | 3 ++ packages/app/src/translations/sv_SE.json | 3 ++ packages/app/src/translations/sw_KE.json | 3 ++ packages/app/src/translations/ta_IN.json | 3 ++ packages/app/src/translations/th_TH.json | 3 ++ packages/app/src/translations/tr_TR.json | 3 ++ packages/app/src/translations/uk_UA.json | 3 ++ packages/app/src/translations/vi_VN.json | 3 ++ packages/app/src/translations/zh_CN.json | 3 ++ packages/app/src/translations/zh_TW.json | 3 ++ 99 files changed, 257 insertions(+), 130 deletions(-) diff --git a/packages/app/public/bench.html b/packages/app/public/bench.html index 2b34969f..95159cd9 100644 --- a/packages/app/public/bench.html +++ b/packages/app/public/bench.html @@ -1,4 +1,4 @@ - + diff --git a/packages/app/public/index.html b/packages/app/public/index.html index ee84c3b7..b5a13832 100644 --- a/packages/app/public/index.html +++ b/packages/app/public/index.html @@ -1,4 +1,4 @@ - + diff --git a/packages/app/src/Cache/GiftWrapCache.ts b/packages/app/src/Cache/GiftWrapCache.ts index 71e82b45..67f00b91 100644 --- a/packages/app/src/Cache/GiftWrapCache.ts +++ b/packages/app/src/Cache/GiftWrapCache.ts @@ -38,7 +38,7 @@ export class GiftWrapCache extends RefreshFeedCache { } catch (e) { console.debug(e, v); } - }) + }), ) ) .filter(a => a !== undefined) diff --git a/packages/app/src/Element/CashuNuts.tsx b/packages/app/src/Element/CashuNuts.tsx index 8674657b..4e124e38 100644 --- a/packages/app/src/Element/CashuNuts.tsx +++ b/packages/app/src/Element/CashuNuts.tsx @@ -26,7 +26,7 @@ export default function CashuNuts({ token }: { token: string }) { e.stopPropagation(); const lnurl = profile?.lud16 ?? ""; const url = `https://redeem.cashu.me?token=${encodeURIComponent(token)}&lightning=${encodeURIComponent( - lnurl + lnurl, )}&autopay=yes`; window.open(url, "_blank"); } diff --git a/packages/app/src/Element/DM.tsx b/packages/app/src/Element/DM.tsx index cc0b9c3f..b9a4c5e7 100644 --- a/packages/app/src/Element/DM.tsx +++ b/packages/app/src/Element/DM.tsx @@ -58,7 +58,11 @@ export default function DM(props: DMProps) {
{sender()} - {content ? : } + {content ? ( + + ) : ( + + )}
diff --git a/packages/app/src/Element/FollowButton.tsx b/packages/app/src/Element/FollowButton.tsx index 64a1dc38..c2cb0e54 100644 --- a/packages/app/src/Element/FollowButton.tsx +++ b/packages/app/src/Element/FollowButton.tsx @@ -34,7 +34,7 @@ export default function FollowButton(props: FollowButtonProps) { if (publisher) { const ev = await publisher.contactList( follows.item.filter(a => a !== pubkey), - relays.item + relays.item, ); System.BroadcastEvent(ev); } diff --git a/packages/app/src/Element/Nip5Service.tsx b/packages/app/src/Element/Nip5Service.tsx index 19318901..5a389c44 100644 --- a/packages/app/src/Element/Nip5Service.tsx +++ b/packages/app/src/Element/Nip5Service.tsx @@ -261,9 +261,7 @@ export default function Nip5Service(props: Nip05ServiceProps) { />  @ 
)} diff --git a/packages/app/src/Element/Note.tsx b/packages/app/src/Element/Note.tsx index db857738..85deb9dc 100644 --- a/packages/app/src/Element/Note.tsx +++ b/packages/app/src/Element/Note.tsx @@ -135,7 +135,7 @@ export function NoteInner(props: NoteProps) { { [Reaction.Positive]: [] as TaggedNostrEvent[], [Reaction.Negative]: [] as TaggedNostrEvent[], - } + }, ); return { [Reaction.Positive]: dedupeByPubkey(result[Reaction.Positive]), @@ -150,7 +150,7 @@ export function NoteInner(props: NoteProps) { ...getReactions(related, ev.id, EventKind.TextNote).filter(e => e.tags.some(tagFilterOfTextRepost(e, ev.id))), ...getReactions(related, ev.id, EventKind.Repost), ]), - [related, ev] + [related, ev], ); const zaps = useMemo(() => { const sortedZaps = getReactions(related, ev.id, EventKind.ZapReceipt) @@ -241,7 +241,7 @@ export function NoteInner(props: NoteProps) { function goToEvent( e: React.MouseEvent, eTarget: TaggedNostrEvent, - isTargetAllowed: boolean = e.target === e.currentTarget + isTargetAllowed: boolean = e.target === e.currentTarget, ) { if (!isTargetAllowed || opt?.canClick === false) { return; diff --git a/packages/app/src/Element/NoteCreator.css b/packages/app/src/Element/NoteCreator.css index e879558e..44417017 100644 --- a/packages/app/src/Element/NoteCreator.css +++ b/packages/app/src/Element/NoteCreator.css @@ -2,7 +2,8 @@ border: 1px solid transparent; border-radius: 12px; box-shadow: 0px 0px 6px 1px rgba(182, 108, 156, 0.3); - background: linear-gradient(var(--gray-superdark), var(--gray-superdark)) padding-box, + background: + linear-gradient(var(--gray-superdark), var(--gray-superdark)) padding-box, linear-gradient(90deg, #ef9644, #fd7c49, #ff5e58, #ff3b70, #ff088e, #eb00b1, #c31ed5, #7b41f6) border-box; } diff --git a/packages/app/src/Element/NoteCreator.tsx b/packages/app/src/Element/NoteCreator.tsx index d9a5ab85..3ea2e7dd 100644 --- a/packages/app/src/Element/NoteCreator.tsx +++ b/packages/app/src/Element/NoteCreator.tsx @@ -76,8 +76,8 @@ export function NoteCreator() { setError( formatMessage({ defaultMessage: "Invalid LNURL", - }) - ) + }), + ), ); return; } @@ -256,9 +256,9 @@ export function NoteCreator() { ? false : // otherwise return selectedCustomRelays with target relay added / removed a.filter(el => - el === r ? e.target.checked : !selectedCustomRelays || selectedCustomRelays.includes(el) - ) - ) + el === r ? e.target.checked : !selectedCustomRelays || selectedCustomRelays.includes(el), + ), + ), ) } /> diff --git a/packages/app/src/Element/NoteFooter.tsx b/packages/app/src/Element/NoteFooter.tsx index 6e74f1f1..068c8ac5 100644 --- a/packages/app/src/Element/NoteFooter.tsx +++ b/packages/app/src/Element/NoteFooter.tsx @@ -71,7 +71,7 @@ export default function NoteFooter(props: NoteFooterProps) { }, { captureEvent: true, - } + }, ); function hasReacted(emoji: string) { diff --git a/packages/app/src/Element/Poll.tsx b/packages/app/src/Element/Poll.tsx index 0e660f5b..15c4d617 100644 --- a/packages/app/src/Element/Poll.tsx +++ b/packages/app/src/Element/Poll.tsx @@ -51,15 +51,15 @@ export default function Poll(props: PollProps) { }, { amount, - } - ) + }, + ), ); } setVoting(opt); const r = Object.keys(relays.item); const zap = await publisher.zap(amount * 1000, props.ev.pubkey, r, props.ev.id, undefined, eb => - eb.tag(["poll_option", opt.toString()]) + eb.tag(["poll_option", opt.toString()]), ); const lnurl = props.ev.tags.find(a => a[0] === "zap")?.[1] || pollerProfile?.lud16 || pollerProfile?.lud06; @@ -72,7 +72,7 @@ export default function Poll(props: PollProps) { throw new Error( formatMessage({ defaultMessage: "Can't vote because LNURL service does not support zaps", - }) + }), ); } @@ -89,7 +89,7 @@ export default function Poll(props: PollProps) { setError( formatMessage({ defaultMessage: "Failed to send vote", - }) + }), ); } } finally { @@ -117,10 +117,18 @@ export default function Poll(props: PollProps) { }} /> -
@@ -130,8 +138,10 @@ export default function Poll(props: PollProps) { const zapsOnOption = props.zaps.filter(b => b.pollOption === opt); const total = (() => { switch (tallyBy) { - case "zaps": return zapsOnOption.reduce((acc, v) => (acc += v.amount), 0); - case "pubkeys": return new Set(zapsOnOption.map(a => unwrap(a.sender))).size; + case "zaps": + return zapsOnOption.reduce((acc, v) => (acc += v.amount), 0); + case "pubkeys": + return new Set(zapsOnOption.map(a => unwrap(a.sender))).size; } })(); const weight = totalVotes === 0 ? 0 : total / totalVotes; diff --git a/packages/app/src/Element/PubkeyList.tsx b/packages/app/src/Element/PubkeyList.tsx index 17648433..8a5d14df 100644 --- a/packages/app/src/Element/PubkeyList.tsx +++ b/packages/app/src/Element/PubkeyList.tsx @@ -34,7 +34,7 @@ export default function PubkeyList({ ev, className }: { ev: NostrEvent; classNam pk, Object.keys(login.relays.item), undefined, - `Zap from ${hexToBech32("note", ev.id)}` + `Zap from ${hexToBech32("note", ev.id)}`, ); const invoice = await svc.getInvoice(amtSend, undefined, zap); if (invoice.pr) { diff --git a/packages/app/src/Element/ReBroadcaster.tsx b/packages/app/src/Element/ReBroadcaster.tsx index b3ad9dab..53029aeb 100644 --- a/packages/app/src/Element/ReBroadcaster.tsx +++ b/packages/app/src/Element/ReBroadcaster.tsx @@ -55,9 +55,9 @@ export function ReBroadcaster() { ? false : // otherwise return selectedCustomRelays with target relay added / removed a.filter(el => - el === r ? e.target.checked : !selectedCustomRelays || selectedCustomRelays.includes(el) - ) - ) + el === r ? e.target.checked : !selectedCustomRelays || selectedCustomRelays.includes(el), + ), + ), ) } /> diff --git a/packages/app/src/Element/Reactions.tsx b/packages/app/src/Element/Reactions.tsx index cd755b26..076089c2 100644 --- a/packages/app/src/Element/Reactions.tsx +++ b/packages/app/src/Element/Reactions.tsx @@ -60,7 +60,7 @@ const Reactions = ({ show, setShow, positive, negative, reposts, zaps }: Reactio value: 3, }, ] - : [] + : [], ); const [tab, setTab] = useState(tabs[0]); diff --git a/packages/app/src/Element/Relay.tsx b/packages/app/src/Element/Relay.tsx index 1fca237a..0de4d288 100644 --- a/packages/app/src/Element/Relay.tsx +++ b/packages/app/src/Element/Relay.tsx @@ -22,7 +22,7 @@ export default function Relay(props: RelayProps) { const navigate = useNavigate(); const login = useLogin(); const relaySettings = unwrap( - login.relays.item[props.addr] ?? System.Sockets.find(a => a.address === props.addr)?.settings ?? {} + login.relays.item[props.addr] ?? System.Sockets.find(a => a.address === props.addr)?.settings ?? {}, ); const state = useRelayState(props.addr); const name = useMemo(() => getRelayName(props.addr), [props.addr]); @@ -34,7 +34,7 @@ export default function Relay(props: RelayProps) { ...login.relays.item, [props.addr]: o, }, - unixNowMs() + unixNowMs(), ); } diff --git a/packages/app/src/Element/SendSats.tsx b/packages/app/src/Element/SendSats.tsx index 368095d9..1c0823f0 100644 --- a/packages/app/src/Element/SendSats.tsx +++ b/packages/app/src/Element/SendSats.tsx @@ -285,7 +285,7 @@ export default function SendSats(props: SendSatsProps) { {makeTab(ZapType.AnonZap, )} {makeTab( ZapType.NonZap, - + , )}
diff --git a/packages/app/src/Element/Thread.tsx b/packages/app/src/Element/Thread.tsx index ee6512b5..73532db7 100644 --- a/packages/app/src/Element/Thread.tsx +++ b/packages/app/src/Element/Thread.tsx @@ -243,7 +243,7 @@ export default function Thread() { if (t?.root?.key === "a" && t?.root?.value) { const parsed = t.root.value.split(":"); replyTo = thread.data?.find( - a => a.kind === Number(parsed[0]) && a.pubkey === parsed[1] && findTag(a, "d") === parsed[2] + a => a.kind === Number(parsed[0]) && a.pubkey === parsed[1] && findTag(a, "d") === parsed[2], )?.id; } if (replyTo) { @@ -264,7 +264,7 @@ export default function Thread() { thread.data?.find( ne => ne.id === currentId || - (link.type === NostrPrefix.Address && findTag(ne, "d") === currentId && ne.pubkey === link.author) + (link.type === NostrPrefix.Address && findTag(ne, "d") === currentId && ne.pubkey === link.author), ) ?? (location.state && "sig" in location.state ? (location.state as TaggedNostrEvent) : undefined); if (currentNote) { const currentThread = EventExt.extractThread(currentNote); @@ -280,7 +280,7 @@ export default function Thread() { if (replyTo.key === "a" && replyTo.value) { const parsed = replyTo.value.split(":"); return thread.data?.find( - a => a.kind === Number(parsed[0]) && a.pubkey === parsed[1] && findTag(a, "d") === parsed[2] + a => a.kind === Number(parsed[0]) && a.pubkey === parsed[1] && findTag(a, "d") === parsed[2], ); } if (replyTo.value) { @@ -348,7 +348,7 @@ export default function Thread() { notes={replies} related={getAllReactions( thread.data, - replies.map(a => a.id) + replies.map(a => a.id), )} chains={chains} onNavigate={navigateThread} diff --git a/packages/app/src/Element/Timeline.tsx b/packages/app/src/Element/Timeline.tsx index acdd1221..0b5c545a 100644 --- a/packages/app/src/Element/Timeline.tsx +++ b/packages/app/src/Element/Timeline.tsx @@ -47,7 +47,7 @@ const Timeline = (props: TimelineProps) => { ?.filter(a => (props.postsOnly ? !a.tags.some(b => b[0] === "e") : true)) .filter(a => props.ignoreModeration || !isMuted(a.pubkey)); }, - [props.postsOnly, muted, props.ignoreModeration] + [props.postsOnly, muted, props.ignoreModeration], ); const mainFeed = useMemo(() => { @@ -60,7 +60,7 @@ const Timeline = (props: TimelineProps) => { (id: u256) => { return (feed.related ?? []).filter(a => findTag(a, "e") === id); }, - [feed.related] + [feed.related], ); const liveStreams = useMemo(() => { return (feed.main ?? []).filter(a => a.kind === EventKind.LiveEvent && findTag(a, "status") === "live"); diff --git a/packages/app/src/Element/TimelineFollows.tsx b/packages/app/src/Element/TimelineFollows.tsx index 8866a285..c9649968 100644 --- a/packages/app/src/Element/TimelineFollows.tsx +++ b/packages/app/src/Element/TimelineFollows.tsx @@ -28,11 +28,11 @@ const TimelineFollows = (props: TimelineFollowsProps) => { const [latest, setLatest] = useState(unixNow()); const feed = useSyncExternalStore( cb => FollowsFeed.hook(cb, "*"), - () => FollowsFeed.snapshot() + () => FollowsFeed.snapshot(), ); const reactions = useReactions( "follows-feed-reactions", - feed.map(a => a.id) + feed.map(a => a.id), ); const system = useContext(SnortContext); const login = useLogin(); @@ -48,7 +48,7 @@ const TimelineFollows = (props: TimelineFollowsProps) => { ?.filter(a => (props.postsOnly ? !a.tags.some(b => b[0] === "e") : true)) .filter(a => !isMuted(a.pubkey) && login.follows.item.includes(a.pubkey)); }, - [props.postsOnly, muted, login.follows.timestamp] + [props.postsOnly, muted, login.follows.timestamp], ); const mainFeed = useMemo(() => { @@ -63,7 +63,7 @@ const TimelineFollows = (props: TimelineFollowsProps) => { (id: u256) => { return (reactions?.data ?? []).filter(a => findTag(a, "e") === id); }, - [reactions] + [reactions], ); const liveStreams = useMemo(() => { diff --git a/packages/app/src/Element/ZapstrEmbed.tsx b/packages/app/src/Element/ZapstrEmbed.tsx index 844b5b67..fa112e8a 100644 --- a/packages/app/src/Element/ZapstrEmbed.tsx +++ b/packages/app/src/Element/ZapstrEmbed.tsx @@ -17,7 +17,7 @@ export default function ZapstrEmbed({ ev }: { ev: NostrEvent }) { ev.tags.find(a => a[0] === "d")?.[1] ?? "", undefined, ev.kind, - ev.pubkey + ev.pubkey, ); return ( <> diff --git a/packages/app/src/Feed/BadgesFeed.ts b/packages/app/src/Feed/BadgesFeed.ts index d6905c5d..d180f160 100644 --- a/packages/app/src/Feed/BadgesFeed.ts +++ b/packages/app/src/Feed/BadgesFeed.ts @@ -23,7 +23,7 @@ export default function useProfileBadges(pubkey?: HexKey) { if (profileBadges.data) { return chunks( profileBadges.data.tags.filter(t => t[0] === "a" || t[0] === "e"), - 2 + 2, ).reduce((acc, [a, e]) => { return { ...acc, @@ -44,7 +44,7 @@ export default function useProfileBadges(pubkey?: HexKey) { } return acc; }, - { pubkeys: [], ds: [] } as BadgeAwards + { pubkeys: [], ds: [] } as BadgeAwards, ) as BadgeAwards; }, [profile]); @@ -77,7 +77,7 @@ export default function useProfileBadges(pubkey?: HexKey) { }) .filter( ({ award, badge }) => - badge && award.pubkey === badge.pubkey && award.tags.find(t => t[0] === "p" && t[1] === pubkey) + badge && award.pubkey === badge.pubkey && award.tags.find(t => t[0] === "p" && t[1] === pubkey), ) .map(({ badge }) => unwrap(badge)); } diff --git a/packages/app/src/Feed/FeedReactions.ts b/packages/app/src/Feed/FeedReactions.ts index cd32b57a..5faaeb00 100644 --- a/packages/app/src/Feed/FeedReactions.ts +++ b/packages/app/src/Feed/FeedReactions.ts @@ -13,7 +13,7 @@ export function useReactions(subId: string, ids: Array, others?: (rb: Re .kinds( pref.enableReactions ? [EventKind.Reaction, EventKind.Repost, EventKind.ZapReceipt] - : [EventKind.ZapReceipt, EventKind.Repost] + : [EventKind.ZapReceipt, EventKind.Repost], ) .tag("e", ids); } diff --git a/packages/app/src/Feed/FollowersFeed.ts b/packages/app/src/Feed/FollowersFeed.ts index 84544a29..e8b5c289 100644 --- a/packages/app/src/Feed/FollowersFeed.ts +++ b/packages/app/src/Feed/FollowersFeed.ts @@ -14,7 +14,7 @@ export default function useFollowersFeed(pubkey?: HexKey) { const followers = useMemo(() => { const contactLists = followersFeed.data?.filter( - a => a.kind === EventKind.ContactList && a.tags.some(b => b[0] === "p" && b[1] === pubkey) + a => a.kind === EventKind.ContactList && a.tags.some(b => b[0] === "p" && b[1] === pubkey), ); return [...new Set(contactLists?.map(a => a.pubkey))]; }, [followersFeed, pubkey]); diff --git a/packages/app/src/Feed/LoginFeed.ts b/packages/app/src/Feed/LoginFeed.ts index 8eceb79f..f1eda0d6 100644 --- a/packages/app/src/Feed/LoginFeed.ts +++ b/packages/app/src/Feed/LoginFeed.ts @@ -85,7 +85,7 @@ export default function useLoginFeed() { Nip4Chats.onEvent(loginFeed.data); const subs = loginFeed.data.filter( - a => a.kind === EventKind.SnortSubscriptions && a.pubkey === bech32ToHex(SnortPubKey) + a => a.kind === EventKind.SnortSubscriptions && a.pubkey === bech32ToHex(SnortPubKey), ); Promise.all( subs.map(async a => { @@ -97,7 +97,7 @@ export default function useLoginFeed() { ...ex, } as SubscriptionEvent; } - }) + }), ).then(a => addSubscription(login, ...a.filter(a => a !== undefined).map(unwrap))); } }, [loginFeed, publisher]); @@ -106,7 +106,7 @@ export default function useLoginFeed() { useEffect(() => { if (loginFeed.data) { const replies = loginFeed.data.filter( - a => a.kind === EventKind.TextNote && !isMuted(a.pubkey) && a.created_at > readNotifications + a => a.kind === EventKind.TextNote && !isMuted(a.pubkey) && a.created_at > readNotifications, ); replies.forEach(async nx => { const n = await makeNotification(nx); diff --git a/packages/app/src/Feed/ThreadFeed.ts b/packages/app/src/Feed/ThreadFeed.ts index 6603bd2d..8fe289a2 100644 --- a/packages/app/src/Feed/ThreadFeed.ts +++ b/packages/app/src/Feed/ThreadFeed.ts @@ -35,11 +35,11 @@ export default function useThreadFeed(link: NostrLink) { .kinds( pref.enableReactions ? [EventKind.Reaction, EventKind.TextNote, EventKind.Repost, EventKind.ZapReceipt] - : [EventKind.TextNote, EventKind.ZapReceipt, EventKind.Repost] + : [EventKind.TextNote, EventKind.ZapReceipt, EventKind.Repost], ) .tag( "e", - allEvents.map(a => a.id) + allEvents.map(a => a.id), ); } if (trackingATags.length > 0) { @@ -50,7 +50,7 @@ export default function useThreadFeed(link: NostrLink) { .authors(parsed.map(a => a[1])) .tag( "d", - parsed.map(a => a[2]) + parsed.map(a => a[2]), ); sub.withFilter().tag("a", trackingATags); } @@ -85,7 +85,7 @@ export default function useThreadFeed(link: NostrLink) { id: b[1], relay: b[2], }; - }) + }), ) .flat(); const eTagsMissing = eTags.filter(a => !mainNotes.some(b => b.id === a.id)); diff --git a/packages/app/src/Feed/TimelineFeed.ts b/packages/app/src/Feed/TimelineFeed.ts index ea45ede4..6feb29da 100644 --- a/packages/app/src/Feed/TimelineFeed.ts +++ b/packages/app/src/Feed/TimelineFeed.ts @@ -43,7 +43,7 @@ export default function useTimelineFeed(subject: TimelineSubject, options: Timel .kinds( subject.type === "profile_keyword" ? [EventKind.SetMetadata] - : [EventKind.TextNote, EventKind.Repost, EventKind.Polls] + : [EventKind.TextNote, EventKind.Repost, EventKind.Polls], ); if (subject.relay) { @@ -149,7 +149,7 @@ export default function useTimelineFeed(subject: TimelineSubject, options: Timel .map(a => unwrap(a)[1]); const repostsByKind1 = main.data .filter( - a => (a.kind === EventKind.Repost || a.kind === EventKind.TextNote) && a.tags.some(tagFilterOfTextRepost(a)) + a => (a.kind === EventKind.Repost || a.kind === EventKind.TextNote) && a.tags.some(tagFilterOfTextRepost(a)), ) .map(a => a.tags.find(tagFilterOfTextRepost(a))) .filter(a => a) diff --git a/packages/app/src/Hooks/useImgProxy.ts b/packages/app/src/Hooks/useImgProxy.ts index 090fa4f4..2f1a04cd 100644 --- a/packages/app/src/Hooks/useImgProxy.ts +++ b/packages/app/src/Hooks/useImgProxy.ts @@ -21,7 +21,7 @@ export default function useImgProxy() { const result = hmacSha256( utils.hexToBytes(unwrap(settings).key), utils.hexToBytes(unwrap(settings).salt), - te.encode(u) + te.encode(u), ); return urlSafe(base64.encode(result)); } diff --git a/packages/app/src/Hooks/useInteractionCache.tsx b/packages/app/src/Hooks/useInteractionCache.tsx index ab73a99c..64cc8122 100644 --- a/packages/app/src/Hooks/useInteractionCache.tsx +++ b/packages/app/src/Hooks/useInteractionCache.tsx @@ -15,7 +15,7 @@ export function useInteractionCache(pubkey?: HexKey, event?: u256) { const data = useSyncExternalStore( c => InteractionCache.hook(c, id), - () => InteractionCache.snapshot().find(a => a.id === id) + () => InteractionCache.snapshot().find(a => a.id === id), ) || EmptyInteraction; return { data: data, diff --git a/packages/app/src/Hooks/useLogin.tsx b/packages/app/src/Hooks/useLogin.tsx index b4ffedff..cf3a205e 100644 --- a/packages/app/src/Hooks/useLogin.tsx +++ b/packages/app/src/Hooks/useLogin.tsx @@ -4,6 +4,6 @@ import { useSyncExternalStore } from "react"; export default function useLogin() { return useSyncExternalStore( s => LoginStore.hook(s), - () => LoginStore.snapshot() + () => LoginStore.snapshot(), ); } diff --git a/packages/app/src/Login/MultiAccountStore.ts b/packages/app/src/Login/MultiAccountStore.ts index 3c35ec22..1b25a66c 100644 --- a/packages/app/src/Login/MultiAccountStore.ts +++ b/packages/app/src/Login/MultiAccountStore.ts @@ -96,7 +96,7 @@ export class MultiAccountStore extends ExternalStore { type: LoginSessionType, relays?: Record, remoteSignerRelays?: Array, - privateKey?: string + privateKey?: string, ) { if (this.#accounts.has(key)) { throw new Error("Already logged in with this pubkey"); diff --git a/packages/app/src/Nip05/ServiceProvider.ts b/packages/app/src/Nip05/ServiceProvider.ts index 610d4ed5..eda71371 100644 --- a/packages/app/src/Nip05/ServiceProvider.ts +++ b/packages/app/src/Nip05/ServiceProvider.ts @@ -97,7 +97,7 @@ export class ServiceProvider { path: string, method?: "GET" | string, body?: unknown, - headers?: { [key: string]: string } + headers?: { [key: string]: string }, ): Promise { try { const rsp = await fetch(`${this.url}${path}`, { diff --git a/packages/app/src/Nip05/SnortServiceProvider.ts b/packages/app/src/Nip05/SnortServiceProvider.ts index d6efa314..f4de626a 100644 --- a/packages/app/src/Nip05/SnortServiceProvider.ts +++ b/packages/app/src/Nip05/SnortServiceProvider.ts @@ -54,7 +54,7 @@ export default class SnortServiceProvider extends ServiceProvider { path: string, method?: "GET" | string, body?: unknown, - headers?: { [key: string]: string } + headers?: { [key: string]: string }, ): Promise { const auth = await this.#publisher.generic(eb => { eb.kind(EventKind.HttpAuthentication); diff --git a/packages/app/src/Pages/ErrorPage.tsx b/packages/app/src/Pages/ErrorPage.tsx index 687c068d..b3fcb541 100644 --- a/packages/app/src/Pages/ErrorPage.tsx +++ b/packages/app/src/Pages/ErrorPage.tsx @@ -25,7 +25,7 @@ const ErrorPage = () => { {JSON.stringify( error instanceof Error ? { name: error.name, message: error.message, stack: error.stack } : error, undefined, - " " + " ", )} } diff --git a/packages/app/src/Pages/Layout.tsx b/packages/app/src/Pages/Layout.tsx index 1df8c604..a428f941 100644 --- a/packages/app/src/Pages/Layout.tsx +++ b/packages/app/src/Pages/Layout.tsx @@ -89,7 +89,7 @@ export default function Layout() { useEffect(() => { const osTheme = window.matchMedia("(prefers-color-scheme: light)"); setTheme( - preferences.theme === "system" && osTheme.matches ? "light" : preferences.theme === "light" ? "light" : "dark" + preferences.theme === "system" && osTheme.matches ? "light" : preferences.theme === "light" ? "light" : "dark", ); osTheme.onchange = e => { @@ -174,7 +174,7 @@ const AccountHeader = () => { const hasNotifications = useMemo( () => latestNotification > readNotifications, - [latestNotification, readNotifications] + [latestNotification, readNotifications], ); const unreadDms = useMemo(() => (publicKey ? 0 : 0), [publicKey]); diff --git a/packages/app/src/Pages/LoginPage.tsx b/packages/app/src/Pages/LoginPage.tsx index 66befb99..2ebbb1ed 100644 --- a/packages/app/src/Pages/LoginPage.tsx +++ b/packages/app/src/Pages/LoginPage.tsx @@ -22,7 +22,7 @@ import { delay } from "SnortUtils"; declare global { interface Window { - plausible?: (tag: string) => void + plausible?: (tag: string) => void; } } @@ -61,7 +61,7 @@ const Artwork: Array = [ export async function getNip05PubKey(addr: string): Promise { const [username, domain] = addr.split("@"); const rsp = await fetch( - `https://${domain}/.well-known/nostr.json?name=${encodeURIComponent(username.toLocaleLowerCase())}` + `https://${domain}/.well-known/nostr.json?name=${encodeURIComponent(username.toLocaleLowerCase())}`, ); if (rsp.ok) { const data = await rsp.json(); @@ -109,7 +109,7 @@ export default function LoginPage() { setError( formatMessage({ defaultMessage: "Unknown login error", - }) + }), ); } console.error(e); @@ -118,7 +118,7 @@ export default function LoginPage() { async function makeRandomKey() { await generateNewLogin(); - window.plausible?.("Generate Account") + window.plausible?.("Generate Account"); navigate("/new"); } diff --git a/packages/app/src/Pages/Notifications.tsx b/packages/app/src/Pages/Notifications.tsx index 7af56025..23cefcd7 100644 --- a/packages/app/src/Pages/Notifications.tsx +++ b/packages/app/src/Pages/Notifications.tsx @@ -75,7 +75,7 @@ export default function NotificationsPage() { const notifications = useSyncExternalStore( c => Notifications.hook(c, "*"), - () => Notifications.snapshot() + () => Notifications.snapshot(), ); const timeKey = (ev: NostrEvent) => { @@ -119,7 +119,7 @@ function NotificationGroup({ evs }: { evs: Array }) { return zap.anonZap ? "anon" : zap.sender ?? a.pubkey; } return a.pubkey; - }) + }), ); const firstPubkey = pubkeys[0]; const firstPubkeyProfile = useUserProfile(inView ? (firstPubkey === "anon" ? "" : firstPubkey) : ""); @@ -213,7 +213,7 @@ function NotificationGroup({ evs }: { evs: Array }) { pubkeys.length - 1, firstPubkey === "anon" ? formatMessage({ defaultMessage: "Anon" }) - : getDisplayName(firstPubkeyProfile, firstPubkey) + : getDisplayName(firstPubkeyProfile, firstPubkey), )} )} diff --git a/packages/app/src/Pages/ProfilePage.tsx b/packages/app/src/Pages/ProfilePage.tsx index 434b816b..b5655eec 100644 --- a/packages/app/src/Pages/ProfilePage.tsx +++ b/packages/app/src/Pages/ProfilePage.tsx @@ -221,7 +221,7 @@ export default function ProfilePage() { } as { [key: string]: Tab }; const [tab, setTab] = useState(ProfileTab.Notes); const optionalTabs = [ProfileTab.Zaps, ProfileTab.Relays, ProfileTab.Bookmarks, ProfileTab.Muted].filter(a => - unwrap(a) + unwrap(a), ) as Tab[]; const horizontalScroll = useHorizontalScroll(); @@ -433,7 +433,7 @@ export default function ProfilePage() { type: TLVEntryType.Author, length: 64, value: id, - })}` + })}`, ) }> diff --git a/packages/app/src/Pages/ZapPool.tsx b/packages/app/src/Pages/ZapPool.tsx index f6703ee3..26664371 100644 --- a/packages/app/src/Pages/ZapPool.tsx +++ b/packages/app/src/Pages/ZapPool.tsx @@ -73,7 +73,7 @@ export default function ZapPoolPage() { const login = useLogin(); const zapPool = useSyncExternalStore( c => ZapPoolController.hook(c), - () => ZapPoolController.snapshot() + () => ZapPoolController.snapshot(), ); const { wallet } = useWallet(); diff --git a/packages/app/src/Pages/settings/Accounts.tsx b/packages/app/src/Pages/settings/Accounts.tsx index 9ad66696..ce113010 100644 --- a/packages/app/src/Pages/settings/Accounts.tsx +++ b/packages/app/src/Pages/settings/Accounts.tsx @@ -27,7 +27,7 @@ export default function AccountsPage() { setError( formatMessage({ defaultMessage: "Unknown login error", - }) + }), ); } console.error(e); diff --git a/packages/app/src/Pages/settings/handle/LNAddress.tsx b/packages/app/src/Pages/settings/handle/LNAddress.tsx index 562dc571..0cad952a 100644 --- a/packages/app/src/Pages/settings/handle/LNAddress.tsx +++ b/packages/app/src/Pages/settings/handle/LNAddress.tsx @@ -29,7 +29,7 @@ export default function LNForwardAddress({ handle }: { handle: ManageHandle }) { setError( formatMessage({ defaultMessage: "Invalid LNURL", - }) + }), ); return; } diff --git a/packages/app/src/Pages/settings/wallet/Cashu.tsx b/packages/app/src/Pages/settings/wallet/Cashu.tsx index 5a2f4efa..e1a6d411 100644 --- a/packages/app/src/Pages/settings/wallet/Cashu.tsx +++ b/packages/app/src/Pages/settings/wallet/Cashu.tsx @@ -39,7 +39,7 @@ const ConnectCashu = () => { setError( formatMessage({ defaultMessage: "Unknown error", - }) + }), ); } } diff --git a/packages/app/src/Pages/settings/wallet/LNC.tsx b/packages/app/src/Pages/settings/wallet/LNC.tsx index d33fa9fe..64c66d21 100644 --- a/packages/app/src/Pages/settings/wallet/LNC.tsx +++ b/packages/app/src/Pages/settings/wallet/LNC.tsx @@ -32,7 +32,7 @@ const ConnectLNC = () => { setError( formatMessage({ defaultMessage: "Unknown error", - }) + }), ); } } diff --git a/packages/app/src/Pages/settings/wallet/LNDHub.tsx b/packages/app/src/Pages/settings/wallet/LNDHub.tsx index b33462ec..d2c20f44 100644 --- a/packages/app/src/Pages/settings/wallet/LNDHub.tsx +++ b/packages/app/src/Pages/settings/wallet/LNDHub.tsx @@ -37,7 +37,7 @@ const ConnectLNDHub = () => { setError( formatMessage({ defaultMessage: "Unknown error", - }) + }), ); } } diff --git a/packages/app/src/Pages/settings/wallet/NWC.tsx b/packages/app/src/Pages/settings/wallet/NWC.tsx index 921d6c59..41419615 100644 --- a/packages/app/src/Pages/settings/wallet/NWC.tsx +++ b/packages/app/src/Pages/settings/wallet/NWC.tsx @@ -37,7 +37,7 @@ const ConnectNostrWallet = () => { setError( formatMessage({ defaultMessage: "Unknown error", - }) + }), ); } } diff --git a/packages/app/src/SnortApi.ts b/packages/app/src/SnortApi.ts index a69f71e6..f29a529e 100644 --- a/packages/app/src/SnortApi.ts +++ b/packages/app/src/SnortApi.ts @@ -88,7 +88,7 @@ export default class SnortApi { path: string, method?: "GET" | string, body?: { [key: string]: string }, - headers?: { [key: string]: string } + headers?: { [key: string]: string }, ): Promise { if (!this.#publisher) { throw new Error("Publisher not set"); @@ -110,7 +110,7 @@ export default class SnortApi { path: string, method?: "GET" | string, body?: { [key: string]: string }, - headers?: { [key: string]: string } + headers?: { [key: string]: string }, ): Promise { const rsp = await fetch(`${this.#url}${path}`, { method: method, diff --git a/packages/app/src/SnortUtils/index.ts b/packages/app/src/SnortUtils/index.ts index 242b516f..65062b2a 100644 --- a/packages/app/src/SnortUtils/index.ts +++ b/packages/app/src/SnortUtils/index.ts @@ -50,7 +50,7 @@ export async function openFile(): Promise { } }, 300); }, - { once: true } + { once: true }, ); }); } @@ -209,7 +209,7 @@ export function dedupeByPubkey(events: TaggedNostrEvent[]) { list: [...list, ev], }; }, - { list: [], seen: new Set([]) } + { list: [], seen: new Set([]) }, ); return deduped.list as TaggedNostrEvent[]; } @@ -226,7 +226,7 @@ export function dedupeById(events: Array) { list: [...list, ev], }; }, - { list: [], seen: new Set([]) } + { list: [], seen: new Set([]) }, ); return deduped.list as Array; } @@ -487,7 +487,7 @@ export function kvToObject(o: string, sep?: string) { return [match[1], match[2]]; } return []; - }) + }), ) as T; } diff --git a/packages/app/src/Toaster.tsx b/packages/app/src/Toaster.tsx index eecb85ca..1d45a177 100644 --- a/packages/app/src/Toaster.tsx +++ b/packages/app/src/Toaster.tsx @@ -39,7 +39,7 @@ export const Toastore = new ToasterSlots(); export default function Toaster() { const toast = useSyncExternalStore( c => Toastore.hook(c), - () => Toastore.snapshot() + () => Toastore.snapshot(), ); return ( diff --git a/packages/app/src/Upload/VoidCat.ts b/packages/app/src/Upload/VoidCat.ts index 8eb8a11a..0fe5e010 100644 --- a/packages/app/src/Upload/VoidCat.ts +++ b/packages/app/src/Upload/VoidCat.ts @@ -12,7 +12,7 @@ import { magnetURIDecode } from "SnortUtils"; export default async function VoidCatUpload( file: File | Blob, filename: string, - publisher?: EventPublisher + publisher?: EventPublisher, ): Promise { const api = new VoidApi(VoidCatHost); const uploader = api.getUploader(file); diff --git a/packages/app/src/Wallet/Cashu.ts b/packages/app/src/Wallet/Cashu.ts index 541e65ba..b88dc13c 100644 --- a/packages/app/src/Wallet/Cashu.ts +++ b/packages/app/src/Wallet/Cashu.ts @@ -57,6 +57,6 @@ export interface NutStashBackup { mints: [ { mintURL: string; - } + }, ]; } diff --git a/packages/app/src/Wallet/LNCWallet.ts b/packages/app/src/Wallet/LNCWallet.ts index 342dfec8..6093289e 100644 --- a/packages/app/src/Wallet/LNCWallet.ts +++ b/packages/app/src/Wallet/LNCWallet.ts @@ -126,7 +126,7 @@ export class LNCWallet implements LNWallet { err => { this.#log(err); reject(err); - } + }, ); }); } diff --git a/packages/app/src/Wallet/NostrWalletConnect.ts b/packages/app/src/Wallet/NostrWalletConnect.ts index d2d1113d..5930e60d 100644 --- a/packages/app/src/Wallet/NostrWalletConnect.ts +++ b/packages/app/src/Wallet/NostrWalletConnect.ts @@ -182,7 +182,7 @@ export class NostrConnectWallet implements LNWallet { ], () => { // ignored - } + }, ); await this.#conn.SendAsync(evCommand); return await new Promise((resolve, reject) => { diff --git a/packages/app/src/Wallet/WebLN.ts b/packages/app/src/Wallet/WebLN.ts index e9708277..68db4212 100644 --- a/packages/app/src/Wallet/WebLN.ts +++ b/packages/app/src/Wallet/WebLN.ts @@ -84,7 +84,7 @@ export class WebLNWallet implements LNWallet { await window.webln?.makeInvoice({ amount: req.amount, defaultMemo: req.memo, - }) + }), ); if (rsp) { const invoice = prToWalletInvoice(rsp.paymentRequest); diff --git a/packages/app/src/Wallet/index.ts b/packages/app/src/Wallet/index.ts index ad8a01dd..cb5b98e0 100644 --- a/packages/app/src/Wallet/index.ts +++ b/packages/app/src/Wallet/index.ts @@ -248,7 +248,7 @@ window.document.addEventListener("close", () => { export function useWallet() { const wallet = useSyncExternalStore( h => Wallets.hook(h), - () => Wallets.snapshot() + () => Wallets.snapshot(), ); useEffect(() => { if (wallet.wallet?.isReady() === false && wallet.wallet.canAutoLogin()) { diff --git a/packages/app/src/ZapPoolController.ts b/packages/app/src/ZapPoolController.ts index 0695b5d7..617933bc 100644 --- a/packages/app/src/ZapPoolController.ts +++ b/packages/app/src/ZapPoolController.ts @@ -54,7 +54,7 @@ class ZapPool extends ExternalStore> { Toastore.push({ element: `Sent ${amtSend.toLocaleString()} sats to ${getDisplayName( profile, - x.pubkey + x.pubkey, )} from your zap pool`, expire: unixNow() + 10, icon: "zap", diff --git a/packages/app/src/benchmarks.ts b/packages/app/src/benchmarks.ts index fa7e8fbe..1b6acb80 100644 --- a/packages/app/src/benchmarks.ts +++ b/packages/app/src/benchmarks.ts @@ -51,7 +51,7 @@ const testGetDiff = (q: QueryOptimizer) => { kinds: [1, 2, 3, 4, 5], authors: randomPubkeys, }, - ] + ], ); }; const testFlatMerge = (q: QueryOptimizer) => { @@ -59,7 +59,7 @@ const testFlatMerge = (q: QueryOptimizer) => { q.expandFilter({ kinds: [1, 6, 7, 6969], authors: randomPubkeys, - }) + }), ); }; const testCompress = (q: QueryOptimizer) => { diff --git a/packages/app/src/chat/index.ts b/packages/app/src/chat/index.ts index f29f9122..d6b9326a 100644 --- a/packages/app/src/chat/index.ts +++ b/packages/app/src/chat/index.ts @@ -116,7 +116,7 @@ export function createChatLink(type: ChatType, ...params: Array) { type: TLVEntryType.Author, length: params[0].length, value: params[0], - } as TLVEntry + } as TLVEntry, )}`; } case ChatType.PrivateDirectMessage: { @@ -127,7 +127,7 @@ export function createChatLink(type: ChatType, ...params: Array) { type: TLVEntryType.Author, length: params[0].length, value: params[0], - } as TLVEntry + } as TLVEntry, )}`; } case ChatType.PrivateGroupChat: { @@ -139,8 +139,8 @@ export function createChatLink(type: ChatType, ...params: Array) { type: TLVEntryType.Author, length: a.length, value: a, - } as TLVEntry) - ) + }) as TLVEntry, + ), )}`; } } @@ -161,14 +161,14 @@ export function useNip4Chat() { const { publicKey } = useLogin(); return useSyncExternalStore( c => Nip4Chats.hook(c), - () => Nip4Chats.snapshot(publicKey) + () => Nip4Chats.snapshot(publicKey), ); } export function useNip29Chat() { return useSyncExternalStore( c => Nip29Chats.hook(c), - () => Nip29Chats.snapshot() + () => Nip29Chats.snapshot(), ); } @@ -176,7 +176,7 @@ export function useNip24Chat() { const { publicKey } = useLogin(); return useSyncExternalStore( c => Nip24Chats.hook(c), - () => Nip24Chats.snapshot(publicKey) + () => Nip24Chats.snapshot(publicKey), ); } diff --git a/packages/app/src/chat/nip24.ts b/packages/app/src/chat/nip24.ts index 9344e6fb..6281a6b7 100644 --- a/packages/app/src/chat/nip24.ts +++ b/packages/app/src/chat/nip24.ts @@ -39,8 +39,8 @@ export class Nip24ChatSystem extends ExternalStore> implements ChatS value: v, type: TLVEntryType.Author, length: v.length, - } as TLVEntry) - ) + }) as TLVEntry, + ), ); }; return dedupe(messages.map(a => chatId(a))).map(a => { @@ -72,7 +72,7 @@ export class Nip24ChatSystem extends ExternalStore> implements ChatS } as { t: number; title: string | undefined; - } + }, ); return { type: ChatType.PrivateDirectMessage, diff --git a/packages/app/src/chat/nip29.ts b/packages/app/src/chat/nip29.ts index 956472e7..261f7e86 100644 --- a/packages/app/src/chat/nip29.ts +++ b/packages/app/src/chat/nip29.ts @@ -46,12 +46,12 @@ export class Nip29ChatSystem extends ExternalStore> implements ChatS .map(a => a.tags.find(b => b[0] === "g")) .filter(a => a !== undefined) .map(a => unwrap(a)) - .map(a => `${a[2]}${a[1]}`) + .map(a => `${a[2]}${a[1]}`), ); return groups.map(g => { const [relay, channel] = g.split("/", 2); const messages = allMessages.filter( - a => `${a.tags.find(b => b[0] === "g")?.[2]}${a.tags.find(b => b[0] === "g")?.[1]}` === g + a => `${a.tags.find(b => b[0] === "g")?.[2]}${a.tags.find(b => b[0] === "g")?.[1]}` === g, ); const lastRead = lastReadInChat(g); return { diff --git a/packages/app/src/chat/nip4.ts b/packages/app/src/chat/nip4.ts index c766ba5a..f011d575 100644 --- a/packages/app/src/chat/nip4.ts +++ b/packages/app/src/chat/nip4.ts @@ -34,7 +34,7 @@ export class Nip4ChatSystem extends ExternalStore> implements ChatSy const dms = this.#cache.snapshot(); const dmSince = dms.reduce( (acc, v) => (v.created_at > acc && v.kind === EventKind.DirectMessage ? (acc = v.created_at) : acc), - 0 + 0, ); this.#log("Loading DMS since %s", new Date(dmSince * 1000)); @@ -49,12 +49,15 @@ export class Nip4ChatSystem extends ExternalStore> implements ChatSy listChats(pk: string): Chat[] { const myDms = this.#nip4Events(); - const chats = myDms.reduce((acc, v) => { - const chatId = inChatWith(v, pk); - acc[chatId] ??= []; - acc[chatId].push(v); - return acc; - }, {} as Record>); + const chats = myDms.reduce( + (acc, v) => { + const chatId = inChatWith(v, pk); + acc[chatId] ??= []; + acc[chatId].push(v); + return acc; + }, + {} as Record>, + ); return [...Object.entries(chats)].map(([k, v]) => Nip4ChatSystem.createChatObj(k, v)); } diff --git a/packages/app/src/index.tsx b/packages/app/src/index.tsx index b0885162..e2c7dfd5 100644 --- a/packages/app/src/index.tsx +++ b/packages/app/src/index.tsx @@ -212,5 +212,5 @@ root.render( - + , ); diff --git a/packages/app/src/translations/af_ZA.json b/packages/app/src/translations/af_ZA.json index 6850017d..e1b96dd4 100644 --- a/packages/app/src/translations/af_ZA.json +++ b/packages/app/src/translations/af_ZA.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs is one of the first NIP-05 providers in the space and offers a good collection of domains at reasonable prices", "4Z3t5i": "Use imgproxy to compress images", "4rYCjn": "Note to Self", + "5BVs2e": "zap", "5JcXdV": "Create Account", "5oTnfy": "Buy Handle", "5rOdPG": "Once you setup your key manager extension and generated a key, you can follow our new users flow to setup your profile and help you find some interesting people on Nostr to follow.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} days", "rrfdTe": "This is the same technology which is used by Bitcoin and has been proven to be extremely secure.", "rudscU": "Failed to load follows, please try again later", + "sUNhQE": "user", "sWnYKw": "Snort is designed to have a similar experience to Twitter.", "svOoEH": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.", "tOdNiY": "Dark", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "This note has been marked as sensitive, click here to reveal", "x82IOl": "Mute", + "xIcAOU": "Votes by {type}", "xIoGG9": "Go to", "xJ9n2N": "Your public key", "xKflGN": "{username}''s Follows on Nostr", diff --git a/packages/app/src/translations/ar_SA.json b/packages/app/src/translations/ar_SA.json index 05105187..d6780eed 100644 --- a/packages/app/src/translations/ar_SA.json +++ b/packages/app/src/translations/ar_SA.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs هي من أوائل مزودي NIP-05 وتقدم مجموعة من المعرفات بأسعار معقولة", "4Z3t5i": "استخدم imgproxy لضغط الصور", "4rYCjn": "ملاحظة خاصة", + "5BVs2e": "zap", "5JcXdV": "Create Account", "5oTnfy": "شراء معرف", "5rOdPG": "بمجرد إعداد ملحق مدير المفاتيح الخاص بك وإنشاء مفتاح، يمكنك المضي لإعداد ملفك الشخصي وسنساعدك في العثور على بعض الحسابات التي قد تثير اهتمامك على نوستر.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} أيام", "rrfdTe": "هذه نفس التقنية التي تستخدم في البتكوين وثبت أنها آمنة للغاية.", "rudscU": "فشل تحميل ما يلي ، يرجى المحاولة مرة أخرى في وقت لاحق", + "sUNhQE": "user", "sWnYKw": "تم تصميم سنورت للحصول على تجربة مماثلة لتويتر.", "svOoEH": "غير مسموح بانتحال الأسماء والشخصيات. يحتفظ سنورت وشركاؤنا بالحق في الغاء معرّف التوثيق الخاص بك (وليس حسابك - لا يمكن لأحد أن يفعل ذلك) لانتهاك هذه القاعدة.", "tOdNiY": "داكن", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "تم وضع علامة على هذه الملاحظة على أنها حساسة، انقر هنا للعرض", "x82IOl": "كتم", + "xIcAOU": "Votes by {type}", "xIoGG9": "اذهب إلى", "xJ9n2N": "مفتاحك العام", "xKflGN": "يتابع {username} على نوستر", diff --git a/packages/app/src/translations/az_AZ.json b/packages/app/src/translations/az_AZ.json index 6b0dde09..2ff08c18 100644 --- a/packages/app/src/translations/az_AZ.json +++ b/packages/app/src/translations/az_AZ.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs məkanda ilk NIP-05 provayderlərindən biridir və münasib qiymətlərlə yaxşı domen kolleksiyası təklif edir", "4Z3t5i": "Şəkilləri sıxmaq üçün imgproxy istifadə edin", "4rYCjn": "Özünə Qeyd", + "5BVs2e": "zap", "5JcXdV": "Hesab yaradın", "5oTnfy": "Buy Handle", "5rOdPG": "Açar menecer artırmanızı quraşdırdıqdan və açar yaratdıqdan sonra profilinizi qurmaq və izləmək üçün Nostr-da bəzi maraqlı insanları tapmaqda sizə kömək etmək üçün yeni istifadəçilər axınımızı izləyə bilərsiniz.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} days", "rrfdTe": "This is the same technology which is used by Bitcoin and has been proven to be extremely secure.", "rudscU": "Failed to load follows, please try again later", + "sUNhQE": "user", "sWnYKw": "Snort is designed to have a similar experience to Twitter.", "svOoEH": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.", "tOdNiY": "Dark", @@ -422,6 +424,7 @@ "x/Fx2P": "Bütün zaplarınızın bir hissəsini vəsait hovuzuna bölməklə istifadə etdiyiniz xidmətləri maliyyələşdirin!", "x/q8d5": "Bu qeyd həssas olaraq qeyd edilib, aşkar etmək üçün bura klikləyin", "x82IOl": "Səssiz", + "xIcAOU": "Votes by {type}", "xIoGG9": "Get", "xJ9n2N": "Sizin açıq açarınız", "xKflGN": "{username}'nin Nostr-da İzləmələri", diff --git a/packages/app/src/translations/ca_ES.json b/packages/app/src/translations/ca_ES.json index 6850017d..e1b96dd4 100644 --- a/packages/app/src/translations/ca_ES.json +++ b/packages/app/src/translations/ca_ES.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs is one of the first NIP-05 providers in the space and offers a good collection of domains at reasonable prices", "4Z3t5i": "Use imgproxy to compress images", "4rYCjn": "Note to Self", + "5BVs2e": "zap", "5JcXdV": "Create Account", "5oTnfy": "Buy Handle", "5rOdPG": "Once you setup your key manager extension and generated a key, you can follow our new users flow to setup your profile and help you find some interesting people on Nostr to follow.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} days", "rrfdTe": "This is the same technology which is used by Bitcoin and has been proven to be extremely secure.", "rudscU": "Failed to load follows, please try again later", + "sUNhQE": "user", "sWnYKw": "Snort is designed to have a similar experience to Twitter.", "svOoEH": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.", "tOdNiY": "Dark", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "This note has been marked as sensitive, click here to reveal", "x82IOl": "Mute", + "xIcAOU": "Votes by {type}", "xIoGG9": "Go to", "xJ9n2N": "Your public key", "xKflGN": "{username}''s Follows on Nostr", diff --git a/packages/app/src/translations/cs_CZ.json b/packages/app/src/translations/cs_CZ.json index 6850017d..e1b96dd4 100644 --- a/packages/app/src/translations/cs_CZ.json +++ b/packages/app/src/translations/cs_CZ.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs is one of the first NIP-05 providers in the space and offers a good collection of domains at reasonable prices", "4Z3t5i": "Use imgproxy to compress images", "4rYCjn": "Note to Self", + "5BVs2e": "zap", "5JcXdV": "Create Account", "5oTnfy": "Buy Handle", "5rOdPG": "Once you setup your key manager extension and generated a key, you can follow our new users flow to setup your profile and help you find some interesting people on Nostr to follow.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} days", "rrfdTe": "This is the same technology which is used by Bitcoin and has been proven to be extremely secure.", "rudscU": "Failed to load follows, please try again later", + "sUNhQE": "user", "sWnYKw": "Snort is designed to have a similar experience to Twitter.", "svOoEH": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.", "tOdNiY": "Dark", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "This note has been marked as sensitive, click here to reveal", "x82IOl": "Mute", + "xIcAOU": "Votes by {type}", "xIoGG9": "Go to", "xJ9n2N": "Your public key", "xKflGN": "{username}''s Follows on Nostr", diff --git a/packages/app/src/translations/da_DK.json b/packages/app/src/translations/da_DK.json index 6850017d..e1b96dd4 100644 --- a/packages/app/src/translations/da_DK.json +++ b/packages/app/src/translations/da_DK.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs is one of the first NIP-05 providers in the space and offers a good collection of domains at reasonable prices", "4Z3t5i": "Use imgproxy to compress images", "4rYCjn": "Note to Self", + "5BVs2e": "zap", "5JcXdV": "Create Account", "5oTnfy": "Buy Handle", "5rOdPG": "Once you setup your key manager extension and generated a key, you can follow our new users flow to setup your profile and help you find some interesting people on Nostr to follow.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} days", "rrfdTe": "This is the same technology which is used by Bitcoin and has been proven to be extremely secure.", "rudscU": "Failed to load follows, please try again later", + "sUNhQE": "user", "sWnYKw": "Snort is designed to have a similar experience to Twitter.", "svOoEH": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.", "tOdNiY": "Dark", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "This note has been marked as sensitive, click here to reveal", "x82IOl": "Mute", + "xIcAOU": "Votes by {type}", "xIoGG9": "Go to", "xJ9n2N": "Your public key", "xKflGN": "{username}''s Follows on Nostr", diff --git a/packages/app/src/translations/de_DE.json b/packages/app/src/translations/de_DE.json index 82468f63..3fadac17 100644 --- a/packages/app/src/translations/de_DE.json +++ b/packages/app/src/translations/de_DE.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs ist einer der ersten NIP-05 Anbieter und bietet eine gute Auswahl von Domains zu fairen Preisen", "4Z3t5i": "Verwende imgproxy um Bilder zu komprimieren", "4rYCjn": "Notiz an mich selbst", + "5BVs2e": "zap", "5JcXdV": "Konto erstellen", "5oTnfy": "Handle kaufen", "5rOdPG": "Sobald du deine Erweiterung für die Schlüsselverwaltung eingerichtet und einen Schlüssel generiert hast, kannst du unserem Prozess für neue Benutzer folgen, um dein Profil einzurichten und einige interessante Leute auf Nostr zu finden, denen du folgen kannst.", @@ -63,7 +64,7 @@ "7+Domh": "Notes", "7BX/yC": "Konto wechseln", "7hp70g": "NIP-05", - "7xzTiH": "{action} zu {target}", + "7xzTiH": "{action} an {target}", "8/vBbP": "Reposts ({n})", "89q5wc": "Reposts bestätigen", "8QDesP": "Zap {n} sats", @@ -82,7 +83,7 @@ "Adk34V": "Profil erstellen", "Ai8VHU": "Unbegrenzte Note Speicherung auf Snort Relais", "AkCxS/": "Grund", - "AnLrRC": "Ohne Zap", + "AnLrRC": "Nicht-Zap", "AyGauy": "Anmelden", "B4C47Y": "Name ist zu kurz", "B6+XJy": "hat gezappt", @@ -167,7 +168,7 @@ "KoFlZg": "Mint-URL eingeben", "LF5kYT": "Weitere Verbindungen", "LXxsbk": "Anonym", - "LgbKvU": "Kommentieren", + "LgbKvU": "Kommentar", "Lu5/Bj": "In Zapstr öffnen", "Lw+I+J": "{n,plural,=0{{name} zappte} other{{name} & {n} andere zappten}}", "M3Oirc": "Debug Menüs", @@ -349,7 +350,7 @@ "lsNFM1": "Klicken, um Inhalt von {link} zu laden", "lvlPhZ": "Lightning Zahlungsanforderung bezahlen", "mErPop": "Es sieht so aus, als hättest du keine, checke {link} um eine zu kaufen!", - "mH91FY": "Jeder Mitwirkende erhält einen Anteil aller Spenden und NIP-05-Bestellungen. Die Aufteilung können Sie unten sehen", + "mH91FY": "Jeder Mitwirkende erhält einen Anteil aller Spenden und NIP-05-Bestellungen. Die Aufteilung kannst du unten sehen", "mKAr6h": "Allen folgen", "mKh2HS": "Datei-Upload-Dienst", "mKhgP9": "{n,plural,=0{} =1{hat gezappt} other{haben gezappt}}", @@ -374,7 +375,7 @@ "p4N05H": "Hochladen", "p85Uwy": "Aktive Abonnements", "pI+77w": "Herunterladbare Backups von Snort Relais", - "puLNUJ": "Pin", + "puLNUJ": "Anheften", "pzTOmv": "Follower", "qD9EUF": "E-Mail <> DM Brücke für deine Snort Nostr-Adresse", "qDwvZ4": "Unbekannter Fehler", @@ -392,6 +393,7 @@ "rmdsT4": "{n} Tage", "rrfdTe": "Dies ist die gleiche Technologie, die auch von Bitcoin verwendet wird, und sich als äußerst sicher erwiesen hat.", "rudscU": "Abonnements konnten nicht geladen werden, bitte versuchen Sie es später erneut", + "sUNhQE": "user", "sWnYKw": "Snort wurde darauf konzipiert ein Twitter ähnliches Erlebnis zu bieten.", "svOoEH": "Namens-Squatting und Impersonation sind nicht erlaubt. Snort und unsere Partner behalten sich das Recht vor, bei einem Verstoß gegen diese Regel dein Handle zu löschen (nicht dein Konto - das kann dir niemand wegnehmen).", "tOdNiY": "Dunkel", @@ -422,6 +424,7 @@ "x/Fx2P": "Unterstütze die von dir genutzten Dienste, indem du einen Teil deiner Zaps in einen Spendenpool einzahlst!", "x/q8d5": "Dieser Beitrag wurde als sensibel markiert, klicken Sie hier um den Inhalt zu zeigen", "x82IOl": "Stummschalten", + "xIcAOU": "Votes by {type}", "xIoGG9": "Gehe zu", "xJ9n2N": "Dein öffentlicher Schlüssel", "xKflGN": "{username}''s folgt auf Nostr", diff --git a/packages/app/src/translations/el_GR.json b/packages/app/src/translations/el_GR.json index 6850017d..e1b96dd4 100644 --- a/packages/app/src/translations/el_GR.json +++ b/packages/app/src/translations/el_GR.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs is one of the first NIP-05 providers in the space and offers a good collection of domains at reasonable prices", "4Z3t5i": "Use imgproxy to compress images", "4rYCjn": "Note to Self", + "5BVs2e": "zap", "5JcXdV": "Create Account", "5oTnfy": "Buy Handle", "5rOdPG": "Once you setup your key manager extension and generated a key, you can follow our new users flow to setup your profile and help you find some interesting people on Nostr to follow.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} days", "rrfdTe": "This is the same technology which is used by Bitcoin and has been proven to be extremely secure.", "rudscU": "Failed to load follows, please try again later", + "sUNhQE": "user", "sWnYKw": "Snort is designed to have a similar experience to Twitter.", "svOoEH": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.", "tOdNiY": "Dark", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "This note has been marked as sensitive, click here to reveal", "x82IOl": "Mute", + "xIcAOU": "Votes by {type}", "xIoGG9": "Go to", "xJ9n2N": "Your public key", "xKflGN": "{username}''s Follows on Nostr", diff --git a/packages/app/src/translations/en.json b/packages/app/src/translations/en.json index bce731cf..e1b96dd4 100644 --- a/packages/app/src/translations/en.json +++ b/packages/app/src/translations/en.json @@ -443,4 +443,4 @@ "zjJZBd": "You're ready!", "zonsdq": "Failed to load LNURL service", "zvCDao": "Automatically show latest notes" -} \ No newline at end of file +} diff --git a/packages/app/src/translations/es_ES.json b/packages/app/src/translations/es_ES.json index 13b7985b..b8a65071 100644 --- a/packages/app/src/translations/es_ES.json +++ b/packages/app/src/translations/es_ES.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plbes es uno de los primeros proveedores de NIP-05 y ofrece una buena colección de dominios a precios razonables.", "4Z3t5i": "Usar imgproxy para comprimir imágenes", "4rYCjn": "Mensajes guardados", + "5BVs2e": "zap", "5JcXdV": "Crear una cuenta", "5oTnfy": "Comprar Handle", "5rOdPG": "Una vez configurada la extensión del gestor de claves y generada una clave, puedes seguir nuestro flujo de nuevos usuarios para configurar tu perfil y ayudarte a encontrar gente interesante en Nostr.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} días", "rrfdTe": "Esta es la misma tecnología que usa Bitcoin y ha demostrado ser extremadamente segura.", "rudscU": "Error al cargar seguidos, inténtalo más tarde", + "sUNhQE": "user", "sWnYKw": "Snort está diseñado para tener una experience similar a Twitter.", "svOoEH": "Ocupar nombres y hacerse pasar por terceros no está permitido. Snort y nuestros socios se reservan el derecho de terminar tu identificador (no tu cuenta, nadie te la puede arrebatar) si violas ésta norma.", "tOdNiY": "Oscuro", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "Esta nota ha sido marcada como sensible, haz clic aquí para revelarla", "x82IOl": "Silenciar", + "xIcAOU": "Votes by {type}", "xIoGG9": "Ir a", "xJ9n2N": "Tu clave pública", "xKflGN": "Seguidos de {username} en Nostr", diff --git a/packages/app/src/translations/fa_IR.json b/packages/app/src/translations/fa_IR.json index 98a765e3..a10bdc5b 100644 --- a/packages/app/src/translations/fa_IR.json +++ b/packages/app/src/translations/fa_IR.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs یکی از اولین فراهم کنندگان NIP-05 در این محیط است و مجموعه خوبی از دامین ها را با قیمت مناسب ارائه می کند", "4Z3t5i": "از imgproxy برای فشرده سازی تصویر استفاده کنید", "4rYCjn": "یادداشت برای خود", + "5BVs2e": "zap", "5JcXdV": "ساخت حساب کاربری", "5oTnfy": "خرید شناسه", "5rOdPG": "هنگامی که افزونه مدیریت کلید خود را راه‌اندازی کنید و یک کلید بسازید،می توانید روند کاربر جدید را پی بگیرید تا نمایه خود را راه بیندازید، و نیز به شما کمک می کند تا افراد مورد علاقه تان را در ناستر برای دنبال کردن بیابید.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} روز", "rrfdTe": "این همان تکنولوژی است که در بیتکوین استفاده شده و اثبات شده که به شدت امن است.", "rudscU": "بارگیری دنبال شوندگان انجام نشد ، لطفاً بعداً دوباره امتحان کنید", + "sUNhQE": "user", "sWnYKw": "اسنورت طوری طراحی شده تا تجربه مشابه توییتر ارائه دهد.", "svOoEH": "جعل نام و جعل هویت مجاز نیست. در صورت سرپیچی، اسنورت و شرکا حق دارند شناسه کاربریتان را لغو کنند (نه حساب کاربریتان - هیچ کس نمیتواند آن را از شما بگیرد).", "tOdNiY": "تاریک", @@ -422,6 +424,7 @@ "x/Fx2P": "با تقسیم بخشی از زپ های خود و اختصاص آن به استخر زپ، خدماتی را که استفاده می کنید تامین مالی نمایید!", "x/q8d5": "این یادداشت به عنوان حساس علامت گذاری شده است، اینجا کلیک کنید تا آشکار شود", "x82IOl": "بيصدا", + "xIcAOU": "Votes by {type}", "xIoGG9": "برو به", "xJ9n2N": "کلید عمومی شما", "xKflGN": "دنبال شوندگان {username} در ناستر", diff --git a/packages/app/src/translations/fi_FI.json b/packages/app/src/translations/fi_FI.json index 7208e839..f4026296 100644 --- a/packages/app/src/translations/fi_FI.json +++ b/packages/app/src/translations/fi_FI.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs on yksi ensimmäisistä NIP-05-tarjoajista alalla ja tarjoaa kohtuuhintaisia verkkotunnuksia", "4Z3t5i": "Käytä imgproxya pakataksesi kuvat", "4rYCjn": "Muistiinpano itselle", + "5BVs2e": "zap", "5JcXdV": "Luo tili", "5oTnfy": "Osta käyttäjätunnus", "5rOdPG": "Kun olet määrittänyt avainhallintaohjelman ja generoinut avaimen, voit seurata uusille käyttäjille tarkoitettua opasta määrittääksesi profiilisi ja löytääksesi kiinnostavia henkilöitä seurattavaksi Nostrissa.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} päivää", "rrfdTe": "Tämä käyttää samaa teknologiaa kuin Bitcoin ja on osoittautunut erittäin turvalliseksi.", "rudscU": "Seurannan lataaminen epäonnistui, yritä myöhemmin uudelleen", + "sUNhQE": "user", "sWnYKw": "Snort on suunniteltu tarjoamaan Twitterin kaltainen käyttökokemus", "svOoEH": "Nimien hamstraus ja identiteettivarkaus eivät ole sallittua. Snort ja kumppanimme pidättävät oikeuden lopettaa käyttäjätunnuksesi (ei tiliäsi - sitä kukaan ei voi ottaa pois) tämän säännön rikkomisesta.", "tOdNiY": "Tumma", @@ -422,6 +424,7 @@ "x/Fx2P": "Tue käyttämiesi palveluiden kehitystä jakamalla osa zapeistasi rahastoon!", "x/q8d5": "Tämä viesti on merkitty arkaluontoiseksi, napsauta tästä nähdäksesi sisällön", "x82IOl": "Mykistä", + "xIcAOU": "Votes by {type}", "xIoGG9": "Siirry", "xJ9n2N": "Julkinen avaimesi", "xKflGN": "{username}''n seuranta Nostrissa", diff --git a/packages/app/src/translations/fr_FR.json b/packages/app/src/translations/fr_FR.json index 6227b8c8..8dd4582a 100644 --- a/packages/app/src/translations/fr_FR.json +++ b/packages/app/src/translations/fr_FR.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs est l'un des premiers fournisseurs NIP-05 dans l'espace et offre une bonne collection de domaines à des prix raisonnables", "4Z3t5i": "Utiliser imgproxy pour compresser les images", "4rYCjn": "Note à Soi-même", + "5BVs2e": "zap", "5JcXdV": "Créer un compte", "5oTnfy": "Acheter Identifiant", "5rOdPG": "Une fois que vous avez configuré votre extension de gestionnaire de clés et généré une clé, vous pouvez suivre notre flux d'utilisateurs pour configurer votre profil et vous aider à trouver des personnes intéressantes à suivre sur Nostr.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} jours", "rrfdTe": "Il s'agit de la même technologie que celle utilisée par Bitcoin et qui s'est avérée extrêmement sécurisée.", "rudscU": "Échec du chargement des suivis, veuillez réessayer plus tard", + "sUNhQE": "user", "sWnYKw": "Snort est conçu pour avoir une expérience similaire à Twitter.", "svOoEH": "Le squattage de noms et l'usurpation d'identité ne sont pas autorisés. Snort et nos partenaires se réservent le droit de résilier votre identifiant (pas votre compte - personne ne peut le retirer) pour avoir enfreint cette règle.", "tOdNiY": "Sombre", @@ -422,6 +424,7 @@ "x/Fx2P": "Financez les services que vous utilisez en fractionnant une partie de tous vos zaps en un ensemble de fonds !", "x/q8d5": "Cette note a été marquée comme sensible, cliquez ici pour la révéler", "x82IOl": "Mode Sourdine", + "xIcAOU": "Votes by {type}", "xIoGG9": "Aller à", "xJ9n2N": "Votre clé publique", "xKflGN": "{username}'' suit sur Nostr", diff --git a/packages/app/src/translations/he_IL.json b/packages/app/src/translations/he_IL.json index 6850017d..e1b96dd4 100644 --- a/packages/app/src/translations/he_IL.json +++ b/packages/app/src/translations/he_IL.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs is one of the first NIP-05 providers in the space and offers a good collection of domains at reasonable prices", "4Z3t5i": "Use imgproxy to compress images", "4rYCjn": "Note to Self", + "5BVs2e": "zap", "5JcXdV": "Create Account", "5oTnfy": "Buy Handle", "5rOdPG": "Once you setup your key manager extension and generated a key, you can follow our new users flow to setup your profile and help you find some interesting people on Nostr to follow.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} days", "rrfdTe": "This is the same technology which is used by Bitcoin and has been proven to be extremely secure.", "rudscU": "Failed to load follows, please try again later", + "sUNhQE": "user", "sWnYKw": "Snort is designed to have a similar experience to Twitter.", "svOoEH": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.", "tOdNiY": "Dark", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "This note has been marked as sensitive, click here to reveal", "x82IOl": "Mute", + "xIcAOU": "Votes by {type}", "xIoGG9": "Go to", "xJ9n2N": "Your public key", "xKflGN": "{username}''s Follows on Nostr", diff --git a/packages/app/src/translations/hr_HR.json b/packages/app/src/translations/hr_HR.json index 75679a5c..fe44f883 100644 --- a/packages/app/src/translations/hr_HR.json +++ b/packages/app/src/translations/hr_HR.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs je jedan od prvih NIP-05 pružatelja usluge u svemiru i nudi široku kolekciju domena po razumnim cijenama", "4Z3t5i": "Koristi imgproxy za komprimiranje slika", "4rYCjn": "Bilješka sebi", + "5BVs2e": "zap", "5JcXdV": "Kreiraj Račun", "5oTnfy": "Kupi Nadimak", "5rOdPG": "Jednom kad postavite ekstenziju za upravljanje ključevima i izgenerirate svoj ključ, možete zapratiti naš predložak za nove korisnike kako biste postavili svoj profil i kako bismo Vam pomogli pronaći zanimljive ljude na Nostr-u za praćenje.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} dana", "rrfdTe": "Ovo je ista tehnologija koja je korištena od strane Bitcoina te je dokazana kao iznimno sigurna.", "rudscU": "Učitavanje pratitelja neuspješno, molimo pokušajte ponovno kasnije", + "sUNhQE": "user", "sWnYKw": "Snort je dizajniran kako bi pružio slično iskustvo kao i Twitter.", "svOoEH": "Nije dopušteno lažno predstavljanje i imitiranje. Snort i naši partneri zadržavaju pravo ukinuti vaš nadimak (ne Vaš račun - nitko Vam to ne može oduzeti) zbog kršenja ovog pravila.", "tOdNiY": "Tamno", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "Ova bilješka označena je kao osjetljiva, kliknite ovdje da je otkrijete", "x82IOl": "Utišaj", + "xIcAOU": "Votes by {type}", "xIoGG9": "Idi na", "xJ9n2N": "Vaš javni ključ", "xKflGN": "{username}'ova praćenja na Nostr-u", diff --git a/packages/app/src/translations/hu_HU.json b/packages/app/src/translations/hu_HU.json index 62161ed3..aaf2f6a6 100644 --- a/packages/app/src/translations/hu_HU.json +++ b/packages/app/src/translations/hu_HU.json @@ -50,6 +50,7 @@ "4Vmpt4": "A Nostr Plebs-ék az egyik legelső megfelelő feltételekkel és árakkal NIP-05 azonosítást biztosító szolgáltató", "4Z3t5i": "Az imgproxy használata a képek tömörítéséhez", "4rYCjn": "Jegyzet magamnak", + "5BVs2e": "zap", "5JcXdV": "Fiók létrehozása", "5oTnfy": "Azonosító vásárlása", "5rOdPG": "Miután beállítottad a kulcskezelő bővítményt és egy kulcsot létrehoztál, folytathatod az új felhasználói folyamatunkat, hogy profilodat beállítsd. Segítségével a Nostr-án néhány érdekes személyt megtalálhatsz, akiket ezekután egy kattintással követni is tudsz.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} napok", "rrfdTe": "Ez a technológia ugyanaz, mint amivel a tökéletes biztonságát a Bitcoin is sikeresen bizonyította.", "rudscU": "Hiba a követők betöltésénél, kérlek próbáld később", + "sUNhQE": "user", "sWnYKw": "Snort úgy lett tervezve, hogy hasonló élményt nyújtson mint a Twitter.", "svOoEH": "Az engedély nélküli névfoglalás vagy megszemélyesítés nem engedélyezett. A szabályok megszegéséért, a Snort és partnerei fenntartják maguknak a jogot, hogy azonnal töröljék az azonosítót (nem a fiókot, mert azt nem lehet).", "tOdNiY": "Sötét", @@ -422,6 +424,7 @@ "x/Fx2P": "Finanszírozza az Ön által használt szolgáltatásokat úgy, hogy az összes zaps-ek egy részét egy támogatói gyűjtőbe osztja fel!", "x/q8d5": "Ez a bejegyzés érzékenynek lett minősítve, a megjelenítéshez kattints ide", "x82IOl": "Némítás", + "xIcAOU": "Votes by {type}", "xIoGG9": "Menj ide", "xJ9n2N": "A te publikus kulcsod", "xKflGN": "{username} a Nostr-án követ", diff --git a/packages/app/src/translations/id_ID.json b/packages/app/src/translations/id_ID.json index b3e94d55..46ad7c09 100644 --- a/packages/app/src/translations/id_ID.json +++ b/packages/app/src/translations/id_ID.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs adalah salah satu penyedia NIP-05 pertama di ruang ini dan menawarkan koleksi domain yang bagus dengan harga terjangkau", "4Z3t5i": "Gunakan imgproxy untuk mengkompresi gambar", "4rYCjn": "Catatan untuk diri sendiri", + "5BVs2e": "zap", "5JcXdV": "Create Account", "5oTnfy": "Buy Handle", "5rOdPG": "Once you setup your key manager extension and generated a key, you can follow our new users flow to setup your profile and help you find some interesting people on Nostr to follow.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} days", "rrfdTe": "Ini adalah teknologi yang sama yang digunakan oleh Bitcoin dan telah terbukti sangat aman.", "rudscU": "Gagal memuat yang diikuti, harap coba lagi nanti", + "sUNhQE": "user", "sWnYKw": "Snort dirancang untuk memiliki pengalaman yang mirip dengan Twitter.", "svOoEH": "Penyerobotan nama dan peniruan identitas tidak diperbolehkan. Snort dan mitra kami berhak menghentikan pegangan Anda (bukan akun Anda - tidak ada yang dapat mengambilnya) karena melanggar peraturan ini.", "tOdNiY": "Gelap", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "This note has been marked as sensitive, click here to reveal", "x82IOl": "Bisukan", + "xIcAOU": "Votes by {type}", "xIoGG9": "Pergi ke", "xJ9n2N": "kunci publik Anda", "xKflGN": "Yang diikuti {username} di Nostr", diff --git a/packages/app/src/translations/it_IT.json b/packages/app/src/translations/it_IT.json index f51e832e..ae80ed5c 100644 --- a/packages/app/src/translations/it_IT.json +++ b/packages/app/src/translations/it_IT.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs è uno dei primi provider NIP-05 e offre una grande collezione di domini a prezzi ragionevoli", "4Z3t5i": "Utilizza imgproxy per comprimere le immagini", "4rYCjn": "Note personali", + "5BVs2e": "zap", "5JcXdV": "Crea Account", "5oTnfy": "Acquista Handle", "5rOdPG": "Dopo aver configurato l'estensione per la gestione delle chiavi e generata una chiave, puoi seguire il nostro percorso per nuovi utenti per configurare il tuo profilo. Ti aiuterà a trovare persone interessanti da seguire su Nostr.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} giorni", "rrfdTe": "Questa è la stessa tecnologia che viene utilizzata dai Bitcoin, ed è stata dimostrata essere estremamente sicura.", "rudscU": "Salvataggio non riuscito. Riprova più tardi", + "sUNhQE": "user", "sWnYKw": "Snort è stato progettato per avere un'esperienza simile a Twitter.", "svOoEH": "Non è consentito lo squatting e l'impersonazione. Snort e i nostri partner si riservano il diritto di terminare il tuo handle (non il tuo account - nessuno può toccarlo) per aver violato questa regola.", "tOdNiY": "Scuro", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "Questa nota è stata contrassegnata come sensibile, clicca qui per rivelarla", "x82IOl": "Silenzia", + "xIcAOU": "Votes by {type}", "xIoGG9": "Vai a", "xJ9n2N": "La tua chiave pubblica", "xKflGN": "Seguito da {username} su Nostr", diff --git a/packages/app/src/translations/ja_JP.json b/packages/app/src/translations/ja_JP.json index b00dbfd2..80b53311 100644 --- a/packages/app/src/translations/ja_JP.json +++ b/packages/app/src/translations/ja_JP.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebsは宇宙で最初のNIP-05プロバイダのひとつで、豊富なドメインをリーズナブルな価格で提供します", "4Z3t5i": "imgproxyを使って画像を圧縮します", "4rYCjn": "自分用メモ", + "5BVs2e": "zap", "5JcXdV": "アカウントを作成する", "5oTnfy": "ハンドルを購入する", "5rOdPG": "キーマネージャー拡張機能をセットアップして鍵を生成したら、新しいユーザーフローに従ってプロフィールを設定し、Nostrにいる興味深い人を見つけることができます。", @@ -392,6 +393,7 @@ "rmdsT4": "{n}日", "rrfdTe": "これはビットコインで使われているのと同じ技術で、非常に安全であることが証明されています。", "rudscU": "フォローの読み込みに失敗しました。後でやり直してください", + "sUNhQE": "user", "sWnYKw": "SnortはTwitterに似た体験ができるようにデザインされています。", "svOoEH": "サイバースクワッティングとなりすましは禁止されています。ルールに抵触した場合、Snortとパートナーはハンドルを停止する権利を保有します。(アカウントではありません。それは誰にも取り上げることはできません。)", "tOdNiY": "ダーク", @@ -422,6 +424,7 @@ "x/Fx2P": "利用しているサービスへ支援するため、自分のザップの一部をプールに集めましょう!", "x/q8d5": "この投稿はセンシティブとしてマークされています。ここをクリックして表示します", "x82IOl": "ミュート", + "xIcAOU": "Votes by {type}", "xIoGG9": "開く:", "xJ9n2N": "公開鍵", "xKflGN": "{username}のNostrでのフォロー", diff --git a/packages/app/src/translations/ko_KR.json b/packages/app/src/translations/ko_KR.json index 6850017d..e1b96dd4 100644 --- a/packages/app/src/translations/ko_KR.json +++ b/packages/app/src/translations/ko_KR.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs is one of the first NIP-05 providers in the space and offers a good collection of domains at reasonable prices", "4Z3t5i": "Use imgproxy to compress images", "4rYCjn": "Note to Self", + "5BVs2e": "zap", "5JcXdV": "Create Account", "5oTnfy": "Buy Handle", "5rOdPG": "Once you setup your key manager extension and generated a key, you can follow our new users flow to setup your profile and help you find some interesting people on Nostr to follow.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} days", "rrfdTe": "This is the same technology which is used by Bitcoin and has been proven to be extremely secure.", "rudscU": "Failed to load follows, please try again later", + "sUNhQE": "user", "sWnYKw": "Snort is designed to have a similar experience to Twitter.", "svOoEH": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.", "tOdNiY": "Dark", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "This note has been marked as sensitive, click here to reveal", "x82IOl": "Mute", + "xIcAOU": "Votes by {type}", "xIoGG9": "Go to", "xJ9n2N": "Your public key", "xKflGN": "{username}''s Follows on Nostr", diff --git a/packages/app/src/translations/nl_NL.json b/packages/app/src/translations/nl_NL.json index 79407a81..13113eb5 100644 --- a/packages/app/src/translations/nl_NL.json +++ b/packages/app/src/translations/nl_NL.json @@ -50,6 +50,7 @@ "4Vmpt4": "NostrPlebs is een van de eerste Nostr NIP-05 providers en biedt een goede verzameling domeinen aan tegen redelijke prijzen", "4Z3t5i": "Gebruik imgproxy om foto's te comprimeren", "4rYCjn": "Notitie aan mijzelf", + "5BVs2e": "zap", "5JcXdV": "Account aanmaken", "5oTnfy": "Koop Account-Naam", "5rOdPG": "Zodra je de key manager extensie hebt geïnstalleerd en een key hebt gegenereerd kunt u onze Nieuwe Account Flow gebruiken om uw profiel in te stellen en interessante Nostr accounts vinden om te volgen.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} dagen", "rrfdTe": "Dit is dezelfde technologie die door het Bitcoin netwerk wordt gebruikt en waarvan veiligheid is bewezen.", "rudscU": "Fout bij het laden van de volgers, probeer het later opnieuw", + "sUNhQE": "user", "sWnYKw": "Snort is ontworpen om een soortgelijke ervaring als Twitter te hebben.", "svOoEH": "Naam-squatting en imitatie is niet aangeraden. Snort en onze partners behouden zich het recht om uw Nostr adres identifier te beëindigen (lees: enkel de geldigheid van uw identifier, dus niet uw account - niemand kan deze wegnemen) voor het schenden van deze regel.", "tOdNiY": "Donker thema", @@ -422,6 +424,7 @@ "x/Fx2P": "Ondersteun diensten die je gebruikt door een deel van je zaps in een pot geld te splitsen!", "x/q8d5": "Deze notitie is gemarkeerd als gevoelig, klik hier om te onthullen", "x82IOl": "Dempen", + "xIcAOU": "Votes by {type}", "xIoGG9": "Ga naar", "xJ9n2N": "Uw publieke sleutel", "xKflGN": "{username}'s Volglijst op Nostr", diff --git a/packages/app/src/translations/no_NO.json b/packages/app/src/translations/no_NO.json index 6850017d..e1b96dd4 100644 --- a/packages/app/src/translations/no_NO.json +++ b/packages/app/src/translations/no_NO.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs is one of the first NIP-05 providers in the space and offers a good collection of domains at reasonable prices", "4Z3t5i": "Use imgproxy to compress images", "4rYCjn": "Note to Self", + "5BVs2e": "zap", "5JcXdV": "Create Account", "5oTnfy": "Buy Handle", "5rOdPG": "Once you setup your key manager extension and generated a key, you can follow our new users flow to setup your profile and help you find some interesting people on Nostr to follow.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} days", "rrfdTe": "This is the same technology which is used by Bitcoin and has been proven to be extremely secure.", "rudscU": "Failed to load follows, please try again later", + "sUNhQE": "user", "sWnYKw": "Snort is designed to have a similar experience to Twitter.", "svOoEH": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.", "tOdNiY": "Dark", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "This note has been marked as sensitive, click here to reveal", "x82IOl": "Mute", + "xIcAOU": "Votes by {type}", "xIoGG9": "Go to", "xJ9n2N": "Your public key", "xKflGN": "{username}''s Follows on Nostr", diff --git a/packages/app/src/translations/pa_IN.json b/packages/app/src/translations/pa_IN.json index 6850017d..e1b96dd4 100644 --- a/packages/app/src/translations/pa_IN.json +++ b/packages/app/src/translations/pa_IN.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs is one of the first NIP-05 providers in the space and offers a good collection of domains at reasonable prices", "4Z3t5i": "Use imgproxy to compress images", "4rYCjn": "Note to Self", + "5BVs2e": "zap", "5JcXdV": "Create Account", "5oTnfy": "Buy Handle", "5rOdPG": "Once you setup your key manager extension and generated a key, you can follow our new users flow to setup your profile and help you find some interesting people on Nostr to follow.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} days", "rrfdTe": "This is the same technology which is used by Bitcoin and has been proven to be extremely secure.", "rudscU": "Failed to load follows, please try again later", + "sUNhQE": "user", "sWnYKw": "Snort is designed to have a similar experience to Twitter.", "svOoEH": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.", "tOdNiY": "Dark", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "This note has been marked as sensitive, click here to reveal", "x82IOl": "Mute", + "xIcAOU": "Votes by {type}", "xIoGG9": "Go to", "xJ9n2N": "Your public key", "xKflGN": "{username}''s Follows on Nostr", diff --git a/packages/app/src/translations/pl_PL.json b/packages/app/src/translations/pl_PL.json index 6850017d..e1b96dd4 100644 --- a/packages/app/src/translations/pl_PL.json +++ b/packages/app/src/translations/pl_PL.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs is one of the first NIP-05 providers in the space and offers a good collection of domains at reasonable prices", "4Z3t5i": "Use imgproxy to compress images", "4rYCjn": "Note to Self", + "5BVs2e": "zap", "5JcXdV": "Create Account", "5oTnfy": "Buy Handle", "5rOdPG": "Once you setup your key manager extension and generated a key, you can follow our new users flow to setup your profile and help you find some interesting people on Nostr to follow.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} days", "rrfdTe": "This is the same technology which is used by Bitcoin and has been proven to be extremely secure.", "rudscU": "Failed to load follows, please try again later", + "sUNhQE": "user", "sWnYKw": "Snort is designed to have a similar experience to Twitter.", "svOoEH": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.", "tOdNiY": "Dark", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "This note has been marked as sensitive, click here to reveal", "x82IOl": "Mute", + "xIcAOU": "Votes by {type}", "xIoGG9": "Go to", "xJ9n2N": "Your public key", "xKflGN": "{username}''s Follows on Nostr", diff --git a/packages/app/src/translations/pt_BR.json b/packages/app/src/translations/pt_BR.json index 2f14e3d5..5680857f 100644 --- a/packages/app/src/translations/pt_BR.json +++ b/packages/app/src/translations/pt_BR.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs é um dos primeiros provedores NIP-05 e oferece uma boa coleção de domínios a preços razoáveis", "4Z3t5i": "Usar imgproxy para comprimir imagens", "4rYCjn": "Nota pessoal", + "5BVs2e": "zap", "5JcXdV": "Criar conta", "5oTnfy": "Comprar Identificador", "5rOdPG": "Após configurar sua extensão para gerenciamento de chaves e gerar uma chave, você poderá acompanhar o nosso novo fluxo de usuários para configurar seu perfil e encontrar algumas pessoas interessantes no Nostr para seguir.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} dia(s)", "rrfdTe": "Essa é a mesma tecnologia que é usada pelo Bitcoin e provou ser extremamente segura.", "rudscU": "Falha ao carregar, por favor, tente novamente mais tarde", + "sUNhQE": "user", "sWnYKw": "O Snort foi projetado para ter uma experiência parecida com o Twitter.", "svOoEH": "Práticas como Name-Squatting e assunção de identidade alheia não são permitidas. O Snort e nossos parceiros reservam-se o direito de encerrar seu identificador por violar tais regras.", "tOdNiY": "Noturno", @@ -422,6 +424,7 @@ "x/Fx2P": "Financie os serviços que você utiliza dividindo uma parte de todos os seus zaps em uma reserva de fundos!", "x/q8d5": "Essa nota foi marcada como sensível, clique aqui para vê-la", "x82IOl": "Silenciar", + "xIcAOU": "Votes by {type}", "xIoGG9": "Ir para", "xJ9n2N": "Sua chave pública", "xKflGN": "{username} segue no Nostr", diff --git a/packages/app/src/translations/pt_PT.json b/packages/app/src/translations/pt_PT.json index 6850017d..e1b96dd4 100644 --- a/packages/app/src/translations/pt_PT.json +++ b/packages/app/src/translations/pt_PT.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs is one of the first NIP-05 providers in the space and offers a good collection of domains at reasonable prices", "4Z3t5i": "Use imgproxy to compress images", "4rYCjn": "Note to Self", + "5BVs2e": "zap", "5JcXdV": "Create Account", "5oTnfy": "Buy Handle", "5rOdPG": "Once you setup your key manager extension and generated a key, you can follow our new users flow to setup your profile and help you find some interesting people on Nostr to follow.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} days", "rrfdTe": "This is the same technology which is used by Bitcoin and has been proven to be extremely secure.", "rudscU": "Failed to load follows, please try again later", + "sUNhQE": "user", "sWnYKw": "Snort is designed to have a similar experience to Twitter.", "svOoEH": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.", "tOdNiY": "Dark", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "This note has been marked as sensitive, click here to reveal", "x82IOl": "Mute", + "xIcAOU": "Votes by {type}", "xIoGG9": "Go to", "xJ9n2N": "Your public key", "xKflGN": "{username}''s Follows on Nostr", diff --git a/packages/app/src/translations/ro_RO.json b/packages/app/src/translations/ro_RO.json index 6850017d..e1b96dd4 100644 --- a/packages/app/src/translations/ro_RO.json +++ b/packages/app/src/translations/ro_RO.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs is one of the first NIP-05 providers in the space and offers a good collection of domains at reasonable prices", "4Z3t5i": "Use imgproxy to compress images", "4rYCjn": "Note to Self", + "5BVs2e": "zap", "5JcXdV": "Create Account", "5oTnfy": "Buy Handle", "5rOdPG": "Once you setup your key manager extension and generated a key, you can follow our new users flow to setup your profile and help you find some interesting people on Nostr to follow.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} days", "rrfdTe": "This is the same technology which is used by Bitcoin and has been proven to be extremely secure.", "rudscU": "Failed to load follows, please try again later", + "sUNhQE": "user", "sWnYKw": "Snort is designed to have a similar experience to Twitter.", "svOoEH": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.", "tOdNiY": "Dark", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "This note has been marked as sensitive, click here to reveal", "x82IOl": "Mute", + "xIcAOU": "Votes by {type}", "xIoGG9": "Go to", "xJ9n2N": "Your public key", "xKflGN": "{username}''s Follows on Nostr", diff --git a/packages/app/src/translations/ru_RU.json b/packages/app/src/translations/ru_RU.json index 6a4cadad..eed8bce9 100644 --- a/packages/app/src/translations/ru_RU.json +++ b/packages/app/src/translations/ru_RU.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs является одним из первых сервисов NIP-05 и предлагает хорошую коллекцию доменов по приемлемым ценам", "4Z3t5i": "Использовать imgproxy для сжатия изображений", "4rYCjn": "Заметка самому себе", + "5BVs2e": "zap", "5JcXdV": "Создать аккаунт", "5oTnfy": "Приобрести хэндл", "5rOdPG": "После того как Вы настроили расширение для управления ключами и сгенерировали ключ, Вы можете последовать нашему гиду для новичков, чтобы настроить свой профиль и найти интересных людей, заслуживающих подписки на Nostr.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} дней", "rrfdTe": "Это та же технология, которая используется Биткоином и доказала свою исключительную безопасность.", "rudscU": "Не удалось загрузить подписки, повторите попытку позже", + "sUNhQE": "user", "sWnYKw": "Snort разработан таким образом, чтобы работать аналогично Twitter.", "svOoEH": "Присвоение имен и выдача себя за других пользователей не допускается. Snort и наши партнеры оставляют за собой право удалить Вашу учетную запись (не аккаунт - его никто не может отнять) за нарушение этого правила.", "tOdNiY": "Тёмная", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "Эта заметка была помечена как деликатная, нажмите здесь, чтобы раскрыть ее", "x82IOl": "Заглушить", + "xIcAOU": "Votes by {type}", "xIoGG9": "Перейти", "xJ9n2N": "Ваш публичный ключ", "xKflGN": "Подписки {username} на Nostr", diff --git a/packages/app/src/translations/sr_SP.json b/packages/app/src/translations/sr_SP.json index 6850017d..e1b96dd4 100644 --- a/packages/app/src/translations/sr_SP.json +++ b/packages/app/src/translations/sr_SP.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs is one of the first NIP-05 providers in the space and offers a good collection of domains at reasonable prices", "4Z3t5i": "Use imgproxy to compress images", "4rYCjn": "Note to Self", + "5BVs2e": "zap", "5JcXdV": "Create Account", "5oTnfy": "Buy Handle", "5rOdPG": "Once you setup your key manager extension and generated a key, you can follow our new users flow to setup your profile and help you find some interesting people on Nostr to follow.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} days", "rrfdTe": "This is the same technology which is used by Bitcoin and has been proven to be extremely secure.", "rudscU": "Failed to load follows, please try again later", + "sUNhQE": "user", "sWnYKw": "Snort is designed to have a similar experience to Twitter.", "svOoEH": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.", "tOdNiY": "Dark", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "This note has been marked as sensitive, click here to reveal", "x82IOl": "Mute", + "xIcAOU": "Votes by {type}", "xIoGG9": "Go to", "xJ9n2N": "Your public key", "xKflGN": "{username}''s Follows on Nostr", diff --git a/packages/app/src/translations/sv_SE.json b/packages/app/src/translations/sv_SE.json index 7b34085c..1331b4ce 100644 --- a/packages/app/src/translations/sv_SE.json +++ b/packages/app/src/translations/sv_SE.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs är en av de första NIP-05 leverantörerna och erbjuder en bra samling domäner till rimliga priser", "4Z3t5i": "Använd imgproxy för att komprimera bilder", "4rYCjn": "Anteckning till mig själv", + "5BVs2e": "zap", "5JcXdV": "Skapa konto", "5oTnfy": "Köp Namn", "5rOdPG": "När du har konfigurerat din nyckelmanagers tillägg och genererat en nyckel, du kan följa vårat nya användarflöde för att ställa in din profil och hjälpa dig att hitta några intressanta personer på Nostr att följa.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} dagar", "rrfdTe": "Detta är samma teknik som används av Bitcoin och har visat sig vara extremt säker.", "rudscU": "Det gick inte att ladda följande, försök igen senare", + "sUNhQE": "user", "sWnYKw": "Snort är utformat för att ha en liknande upplevelse som Twitter.", "svOoEH": "Namnslåss och personifiering är inte tillåtet. Snort och våra partners förbehåller sig rätten att avsluta ditt handle (inte ditt konto - ingen kan ta bort det) för att du bryter mot denna regel.", "tOdNiY": "Mörkt", @@ -422,6 +424,7 @@ "x/Fx2P": "Finansiera de tjänster som du använder genom att dela upp en del av alla dina zaps i en pool med pengar!", "x/q8d5": "Denna anteckning har markerats som känslig, klicka här för att visa", "x82IOl": "Tysta", + "xIcAOU": "Votes by {type}", "xIoGG9": "Gå till", "xJ9n2N": "Din publika nyckel", "xKflGN": "{username}'s Följer på Nostr", diff --git a/packages/app/src/translations/sw_KE.json b/packages/app/src/translations/sw_KE.json index fb22ad2d..0fc305ef 100644 --- a/packages/app/src/translations/sw_KE.json +++ b/packages/app/src/translations/sw_KE.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs ni mmoja wa watoa huduma wa kwanza wa NIP-05 kwenye nafasi na inatoa mkusanyiko mzuri wa vikoa kwa bei nzuri", "4Z3t5i": "Tumia imgproxy kubana picha", "4rYCjn": "Kumbuka mwenyewe", + "5BVs2e": "zap", "5JcXdV": "Tengeneza akaunti", "5oTnfy": "Nunua Tambulisho", "5rOdPG": "Mara tu unapoweka kiendelezi cha kidhibiti chako cha ufunguo na kuunda ufunguo, unaweza kufuata mtiririko wa watumiaji wetu wapya ili kusanidi wasifu wako na kukusaidia kupata watu wanaovutia kwenye Nostr wa kufuata.", @@ -392,6 +393,7 @@ "rmdsT4": "siku {n}", "rrfdTe": "Hii ni teknolojia sawa ambayo hutumiwa na Bitcoin na imethibitishwa kuwa salama sana.", "rudscU": "Imeshindwa kupakia wafuasi, tafadhali jaribu tena baadaye", + "sUNhQE": "user", "sWnYKw": "Snort imeundwa ili kuwa na matumizi sawa na Twitter.", "svOoEH": "Kuchuchumaa majina na uigaji hakuruhusiwi. Koroma na washirika wetu wana haki ya kusitisha mpini wako (sio akaunti yako - hakuna mtu anayeweza kuuondoa) kwa kukiuka sheria hii.", "tOdNiY": "Giza", @@ -422,6 +424,7 @@ "x/Fx2P": "Fundisha huduma unazotumia kwa kugawanya sehemu ya zap zako zote kwenye kundi la fedha!", "x/q8d5": "Dokezo hili limetiwa alama kuwa nyeti, bofya hapa ili kufichua", "x82IOl": "Nyamazisha", + "xIcAOU": "Votes by {type}", "xIoGG9": "Enda kwa", "xJ9n2N": "Ufunguo wako wa umma", "xKflGN": "{username}''s Inafuata kwenye Nostr", diff --git a/packages/app/src/translations/ta_IN.json b/packages/app/src/translations/ta_IN.json index cdfbfa53..8628ec21 100644 --- a/packages/app/src/translations/ta_IN.json +++ b/packages/app/src/translations/ta_IN.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs முதல் NIP-05 வழங்குநர்களில் ஒன்றாகும். மேலும், இது நியாயமான விலையில் டொமைன்களின் நல்ல தொகுப்பை வழங்குகிறது", "4Z3t5i": "படங்களை சுருக்க imgproxy உபயோகிக்கவும்", "4rYCjn": "சுய குறிப்பு", + "5BVs2e": "zap", "5JcXdV": "கணக்கை உருவாக்கு", "5oTnfy": "பயனர் பெயரை வாங்கவும்", "5rOdPG": "உங்கள் சாவி மேலாளர் நீட்டிப்பை அமைத்து, ஒரு சாவியை உருவாக்கியதும், உங்கள் சுயவிவரத்தை அமைப்பதற்கு, எங்கள் 'புதிய பயனர்களின் ஓட்டத்தை' நீங்கள் பின்பற்றலாம். பிறகு, நீங்கள் பின்தொடருவதற்கு நாஸ்டரில் சுவாரஸ்யமான சிலரைக் கண்டறியலாம்.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} நாட்கள்", "rrfdTe": "பிட்காயினால் பயன்படுத்தப்படும் அதே தொழில்நுட்பம் இது மிகவும் பாதுகாப்பானது என்று நிரூபிக்கப்பட்டுள்ளது.", "rudscU": "பித்தொடர்வுகளை ஏற்றுவதில் தோல்வி, பிறகு முயற்சிக்கவும்", + "sUNhQE": "user", "sWnYKw": "ட்விட்டரைப் போன்ற அனுபவத்தைப் பெறும் வகையில் ஸ்நார்ட் வடிவமைக்கப்பட்டுள்ளது.", "svOoEH": "பெயர் குந்துதல் மற்றும் ஆள்மாறாட்டம் அனுமதிக்கப்படாது. இந்த விதியை மீறியதற்காக உங்கள் பயனர் அடையாளத்தை(உங்கள் கணக்கு அல்ல - அதை யாரும் எடுத்துச் செல்ல முடியாது) துண்டிக்கும் உரிமையை ஸ்நார்ட் மற்றும் எங்கள் கூட்டாளர்களுக்கு உள்ளது.", "tOdNiY": "இருள்", @@ -422,6 +424,7 @@ "x/Fx2P": "நீங்கள் பயன்படுத்தும் சேவைக்குக் நன்கொடை அளிக்கலாம் - உங்கள் zap-களின் ஒரு பகுதியை நிதியத்தில் சேர்ப்பதன் வழியாக!", "x/q8d5": "இந்தக் குறிப்பு உணர்திறன் வாய்ந்ததாகக் குறிக்கப்பட்டுள்ளது, வெளிப்படுத்த இங்கே கிளிக் செய்யவும்", "x82IOl": "ஒலியடக்கு", + "xIcAOU": "Votes by {type}", "xIoGG9": "செல்", "xJ9n2N": "உங்கள் பொது சாவி", "xKflGN": "நாஸ்டர் இல் {username} ஐப் பின்தொடர்வோர்", diff --git a/packages/app/src/translations/th_TH.json b/packages/app/src/translations/th_TH.json index 4cd95741..e0b07ecb 100644 --- a/packages/app/src/translations/th_TH.json +++ b/packages/app/src/translations/th_TH.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs เป็นหนึ่งในผู้ให้บริการ NIP-05 รายแรก ๆ ในพื้นที่นี้ และเสนอชุดโดเมนที่ดีในราคาที่สมเหตุสมผล", "4Z3t5i": "ใช้ imgproxy เพื่อบีบอัดรูปภาพ", "4rYCjn": "หมายเหตุถึงตนเอง", + "5BVs2e": "zap", "5JcXdV": "สร้างบัญชี", "5oTnfy": "รหัสการซื้อ", "5rOdPG": "เมื่อคุณตั้งค่า extension ตัวจัดการ key และสร้าง key แล้ว คุณสามารถติดตามผู้ใช้ใหม่ของเราเพื่อตั้งค่าโปรไฟล์ของคุณและช่วยคุณค้นหาคนที่น่าสนใจบน Nostr เพื่อติดตาม", @@ -392,6 +393,7 @@ "rmdsT4": "{n} days", "rrfdTe": "นี่คือเทคโนโลยีเดียวกันกับที่บิตคอยน์ใช้และได้รับการพิสูจน์แล้วว่าปลอดภัยอย่างยิ่ง", "rudscU": "ไม่สามารถโหลดผู้ที่คุณติดตามได้ โปรดลองอีกครั้งภายหลัง", + "sUNhQE": "user", "sWnYKw": "Snort ได้รับการออกแบบให้มีประสบการณ์คล้ายกับ Twitter", "svOoEH": "ไม่อนุญาติให้มีการตั้งชื่อตัดหน้าหรือการปลอมเป็นคนอื่น Snort และพันธมิตรของเราขอสงวนสิทธิ์ในการยกเลิกการเข้าถึงของคุณ (ไม่ใช่บัญชีของคุณ - ไม่มีใครสามารถเอาสิ่งนั้นออกไปได้) สำหรับการละเมิดกฎนี้", "tOdNiY": "มืด", @@ -422,6 +424,7 @@ "x/Fx2P": "จัดหาเงินทุนให้กับบริการที่คุณใช้โดยแบ่งส่วนของ zaps ทั้งหมดของคุณออกเป็นกองทุน!", "x/q8d5": "โน้ตนี้นี้ถูกทำเครื่องหมายว่าละเอียดอ่อน คลิกที่นี่เพื่อเปิด", "x82IOl": "ปิดการมองเห็น", + "xIcAOU": "Votes by {type}", "xIoGG9": "ไปยัง", "xJ9n2N": "Public key ของคุณ", "xKflGN": "ติดตาม {username}''s ได้ที่ Nostr", diff --git a/packages/app/src/translations/tr_TR.json b/packages/app/src/translations/tr_TR.json index 6850017d..e1b96dd4 100644 --- a/packages/app/src/translations/tr_TR.json +++ b/packages/app/src/translations/tr_TR.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs is one of the first NIP-05 providers in the space and offers a good collection of domains at reasonable prices", "4Z3t5i": "Use imgproxy to compress images", "4rYCjn": "Note to Self", + "5BVs2e": "zap", "5JcXdV": "Create Account", "5oTnfy": "Buy Handle", "5rOdPG": "Once you setup your key manager extension and generated a key, you can follow our new users flow to setup your profile and help you find some interesting people on Nostr to follow.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} days", "rrfdTe": "This is the same technology which is used by Bitcoin and has been proven to be extremely secure.", "rudscU": "Failed to load follows, please try again later", + "sUNhQE": "user", "sWnYKw": "Snort is designed to have a similar experience to Twitter.", "svOoEH": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.", "tOdNiY": "Dark", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "This note has been marked as sensitive, click here to reveal", "x82IOl": "Mute", + "xIcAOU": "Votes by {type}", "xIoGG9": "Go to", "xJ9n2N": "Your public key", "xKflGN": "{username}''s Follows on Nostr", diff --git a/packages/app/src/translations/uk_UA.json b/packages/app/src/translations/uk_UA.json index 6850017d..e1b96dd4 100644 --- a/packages/app/src/translations/uk_UA.json +++ b/packages/app/src/translations/uk_UA.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs is one of the first NIP-05 providers in the space and offers a good collection of domains at reasonable prices", "4Z3t5i": "Use imgproxy to compress images", "4rYCjn": "Note to Self", + "5BVs2e": "zap", "5JcXdV": "Create Account", "5oTnfy": "Buy Handle", "5rOdPG": "Once you setup your key manager extension and generated a key, you can follow our new users flow to setup your profile and help you find some interesting people on Nostr to follow.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} days", "rrfdTe": "This is the same technology which is used by Bitcoin and has been proven to be extremely secure.", "rudscU": "Failed to load follows, please try again later", + "sUNhQE": "user", "sWnYKw": "Snort is designed to have a similar experience to Twitter.", "svOoEH": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.", "tOdNiY": "Dark", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "This note has been marked as sensitive, click here to reveal", "x82IOl": "Mute", + "xIcAOU": "Votes by {type}", "xIoGG9": "Go to", "xJ9n2N": "Your public key", "xKflGN": "{username}''s Follows on Nostr", diff --git a/packages/app/src/translations/vi_VN.json b/packages/app/src/translations/vi_VN.json index 6850017d..e1b96dd4 100644 --- a/packages/app/src/translations/vi_VN.json +++ b/packages/app/src/translations/vi_VN.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs is one of the first NIP-05 providers in the space and offers a good collection of domains at reasonable prices", "4Z3t5i": "Use imgproxy to compress images", "4rYCjn": "Note to Self", + "5BVs2e": "zap", "5JcXdV": "Create Account", "5oTnfy": "Buy Handle", "5rOdPG": "Once you setup your key manager extension and generated a key, you can follow our new users flow to setup your profile and help you find some interesting people on Nostr to follow.", @@ -392,6 +393,7 @@ "rmdsT4": "{n} days", "rrfdTe": "This is the same technology which is used by Bitcoin and has been proven to be extremely secure.", "rudscU": "Failed to load follows, please try again later", + "sUNhQE": "user", "sWnYKw": "Snort is designed to have a similar experience to Twitter.", "svOoEH": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.", "tOdNiY": "Dark", @@ -422,6 +424,7 @@ "x/Fx2P": "Fund the services that you use by splitting a portion of all your zaps into a pool of funds!", "x/q8d5": "This note has been marked as sensitive, click here to reveal", "x82IOl": "Mute", + "xIcAOU": "Votes by {type}", "xIoGG9": "Go to", "xJ9n2N": "Your public key", "xKflGN": "{username}''s Follows on Nostr", diff --git a/packages/app/src/translations/zh_CN.json b/packages/app/src/translations/zh_CN.json index 6023e80c..acd541e6 100644 --- a/packages/app/src/translations/zh_CN.json +++ b/packages/app/src/translations/zh_CN.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs 是该领域首批 NIP-05 提供商之一,以合理的价格提供大量域名", "4Z3t5i": "使用 imgproxy 压缩图片", "4rYCjn": "自用笔记", + "5BVs2e": "zap", "5JcXdV": "创建帐户", "5oTnfy": "购买代号", "5rOdPG": "一旦你设置了你的密钥管理器扩展程序并生成了密钥, 你就可以使用我们的新用户流程来设置你的个人档案,并帮助你在 Nostr 找到一些有趣的人关注。", @@ -392,6 +393,7 @@ "rmdsT4": "{n} 天", "rrfdTe": "这与比特币使用的技术相同,并已被证明非常安全。", "rudscU": "加载关注失败,请稍后重试", + "sUNhQE": "user", "sWnYKw": "Snort 旨在提供类似推特的体验。", "svOoEH": "不允许抢注和冒充。 Snort 和我们的合作伙伴保留因违反此规则而终止你的代号(不是你的帐户 - 没有人可以拿走它)的权利。", "tOdNiY": "深色", @@ -422,6 +424,7 @@ "x/Fx2P": "将部分打闪分配到资金库来资助你使用的服务!", "x/q8d5": "此条笔记已标记为敏感内容,点击此处显示", "x82IOl": "静音", + "xIcAOU": "Votes by {type}", "xIoGG9": "前往", "xJ9n2N": "你的公钥", "xKflGN": "{username} 在 Nostr 上的关注", diff --git a/packages/app/src/translations/zh_TW.json b/packages/app/src/translations/zh_TW.json index 9a8c55d2..5f31c4bd 100644 --- a/packages/app/src/translations/zh_TW.json +++ b/packages/app/src/translations/zh_TW.json @@ -50,6 +50,7 @@ "4Vmpt4": "Nostr Plebs 是該領域首批 NIP-05 供應商之一,以合理的價格提供大量域名", "4Z3t5i": "使用 imgproxy 壓縮圖片", "4rYCjn": "自用筆記", + "5BVs2e": "zap", "5JcXdV": "創建帳戶", "5oTnfy": "購買代號", "5rOdPG": "一旦你設置了你的密鑰管理器擴展程序並生成了密鑰,你就可以使用我們的新用戶流程來設置你的個人檔案,並幫助你在 nostr 上找到一些有趣的人關注。", @@ -392,6 +393,7 @@ "rmdsT4": "{n}天", "rrfdTe": "這與比特幣使用的技術系統,並已被證明非常安全。", "rudscU": "加載關注失敗,請稍候重試", + "sUNhQE": "user", "sWnYKw": "Snort 旨在提供類似推特的體驗。", "svOoEH": "不允許搶註和冒充。Snort 和我們的合作夥伴保留因違反此規則而終止你的代號(不是你的帳戶 - 沒有人可以拿走它)的權利。", "tOdNiY": "深色", @@ -422,6 +424,7 @@ "x/Fx2P": "將部份打閃分配到資金庫來資助你使用的服務!", "x/q8d5": "此條筆記被標記為敏感內容,點擊此處顯示", "x82IOl": "静音", + "xIcAOU": "Votes by {type}", "xIoGG9": "前往", "xJ9n2N": "你的公鑰", "xKflGN": "{username} 在 nostr 的關注",